/* Studio revision: the original stylesheet remains the functional baseline. */
.surface-frame[data-reveal="smooth"] .surface-labels>span:first-child,.surface-frame[data-reveal="rough"] .surface-labels>span:last-child{visibility:hidden}
.surface-study{padding:90px 4.6% 65px;max-width:1800px;margin:auto}.surface-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.surface-heading h2{font-size:clamp(34px,3.7vw,60px);margin-top:23px}.surface-heading h2 em{color:var(--olive)}.surface-heading>p{font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:5px}.surface-frame{--split:50%;height:560px;position:relative;overflow:hidden;background:#b9b7b0;isolation:isolate}.surface-frame canvas,.surface-backup,.surface-backup img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.surface-frame canvas{opacity:0;pointer-events:none}.surface-ready canvas{opacity:1}.surface-ready .surface-backup{visibility:hidden}.surface-backup-rough{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.surface-labels{position:absolute;top:28px;left:30px;right:30px;display:flex;justify-content:space-between;gap:30px;pointer-events:none;z-index:2}.surface-labels>span{font-size:13px;line-height:1.5;color:#fff;background:#272b27de;padding:12px 16px;border:1px solid #ffffff20;max-width:46%}.surface-labels small{display:block;letter-spacing:1.6px;font-size:8px;margin-bottom:6px;color:#d9d0bd}.surface-labels>span:last-child{text-align:right}.surface-divider{position:absolute;inset:0 auto 0 var(--split);width:1px;background:#fff9;pointer-events:none;z-index:2}.surface-divider>span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid #fff;background:#282d28e8;color:#fff;box-shadow:0 4px 25px #0003;border-radius:50%;display:grid;place-items:center;font-size:27px;font-family:Arial,sans-serif}.surface-frame .surface-slider{position:absolute;inset:95px 0 110px;width:100%;height:calc(100% - 205px);padding:0;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:3;appearance:none;border:0;min-height:58px;background:transparent}.surface-slider::-webkit-slider-thumb{appearance:none;width:0;height:58px}.surface-slider::-moz-range-thumb{width:0;border:0;height:58px}.surface-slider::-moz-range-track{background:transparent;border:0}.surface-frame:has(.surface-slider:focus-visible) .surface-divider>span{outline:3px solid #232b23;outline-offset:5px;background:#f5edda;color:#222a22}.surface-frame:has(.surface-slider:hover) .surface-divider>span{background:#f5edda;color:#222a22}.surface-frame:has(.surface-slider:active) .surface-divider>span{box-shadow:0 0 0 8px #ffffff40}.surface-foot{position:absolute;bottom:0;left:0;right:0;min-height:95px;background:linear-gradient(transparent,#282c28e6);padding:38px 30px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;z-index:4;pointer-events:none;color:#fff}.surface-foot p{font-size:9px;letter-spacing:1.1px;line-height:1.7}.surface-foot p>span{font-size:23px;margin-left:10px;vertical-align:middle}.surface-foot small{display:block;font-size:11px;letter-spacing:0;color:#e9e7df}.surface-foot button{pointer-events:auto;flex-shrink:0;background:#272b27;border:1px solid #ece7d280;color:#fff;padding:12px 16px;min-height:44px;font-size:11px}.surface-foot button:hover{background:#ede3cf;color:#252b24}.surface-foot button:focus-visible{outline-color:#fff}.surface-caption{display:flex;justify-content:space-between;gap:25px;margin-top:16px;color:var(--muted);font-size:10px;line-height:1.7}.surface-caption p:last-child{max-width:480px;text-align:right}
@media(max-width:760px){.surface-study{padding:60px 6% 30px}.surface-heading{display:block;margin-bottom:24px}.surface-heading h2{font-size:37px;line-height:1.15;letter-spacing:-1.4px}.surface-heading h2 em{display:block}.surface-heading>p{margin-top:20px;font-size:12px}.surface-frame{height:510px}.surface-labels{left:12px;right:12px;top:16px;gap:12px}.surface-labels>span{padding:9px 10px;font-size:11px;max-width:48%}.surface-labels small{font-size:7px;letter-spacing:.5px}.surface-foot{padding:36px 16px 18px;display:block}.surface-foot p{font-size:8px;letter-spacing:.6px}.surface-foot small{font-size:10px}.surface-foot button{margin-top:12px;font-size:10px;min-height:44px}.surface-frame .surface-slider{bottom:145px;height:calc(100% - 240px)}.surface-caption{display:block;font-size:9px}.surface-caption p:last-child{text-align:left;margin-top:8px}.surface-divider>span{width:52px;height:52px}}
:root{--paper:#eeeae2;--ink:#282924;--muted:#646359;--line:#cfc9bd;--olive:#6d6148;--panel:#e1dbce;--dark:#24251f;--on-dark:#f4efe4}
.header{position:absolute;top:0;left:4.6%;right:4.6%;margin:0;height:100px;border-color:#ffffff2a;color:#f1eee6;z-index:4}.brand-mark>span{color:#c8b58d}.brand-word{font-size:16px;letter-spacing:4px}.brand-word>span{font-size:8px;letter-spacing:2.8px}.header nav{gap:38px;font-size:13px}.header nav a:hover{border-color:#d5c5a5}.header-cta{font-size:12px;border-bottom:1px solid #ffffff60;padding:8px 0}.theme-button{color:#f1eee6;border-color:#ffffff40}.theme-button:hover{background:#ffffff18}.header a:focus-visible,.header button:focus-visible{outline-color:#d5c5a5}
.hero{max-width:none;display:grid;grid-template-columns:45% 55%;gap:0;padding:0;background:#20231f;color:#f2eee5;min-height:850px;height:min(980px,100svh);isolation:isolate;overflow:hidden}.hero-copy{padding:160px 0 125px 10.2%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero .eyebrow{font-size:10px;letter-spacing:2px;color:#cbc4b5;white-space:nowrap}.location-dot{background:#c5b38e}.hero h1{font-size:clamp(70px,6.6vw,116px);line-height:.99;letter-spacing:-5px;font-weight:400;margin:34px 0 27px;white-space:normal}.hero h1 em{font-family:Georgia,serif;font-size:1.16em;letter-spacing:-5px;color:#d7c5a2;line-height:.95}.hero-description{max-width:410px;color:#d1cfc5;font-size:14px;line-height:1.8}.hero-actions{gap:30px;margin-top:31px}.hero .button-primary{background:#d5c4a2;color:#24261f;border-color:#d5c4a2;min-height:56px;padding:15px 23px;font-size:12px}.hero .button-primary:hover{background:#ede1c6;color:#191c17}.hero .button-primary:focus-visible{outline-color:#f6e7c9}.hero .text-link{font-size:12px;color:#e2ded2;border-bottom-color:#ffffff40}.hero .text-link:hover{color:#d5c4a2}.commercial-link{margin-top:27px;color:#c1bfb3;font-size:11px}.hero-art{position:relative;height:100%;margin:0;background:#393c30}.scene-frame{height:100%;width:100%;background:#8c8370!important;position:relative}.scene-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#20231f 0%,#20231f36 13%,transparent 32%),linear-gradient(0deg,#171c16b3 0%,transparent 21%,transparent 83%,#20231f50)}.scene-fallback{object-fit:cover}.scene-corner{display:none}.scene-note{left:auto;right:6%;bottom:154px;color:#f4eddb;z-index:1;font-size:10px;line-height:1.8;letter-spacing:1.8px}.scene-note-line{background:#dfceaa;width:36px}.scene-controls{z-index:1;bottom:75px;left:9%;right:8%;color:#f1e7d1;font-size:9px;letter-spacing:.3px}.scene-controls button{color:#f1e7d1;border-color:#d7c5a26b;font-size:10px;min-height:34px}.scene-controls button:hover{color:#fff}.art-caption{position:absolute;top:125px;right:8%;left:12%;color:#f1e7d1;z-index:1;font-size:8px;letter-spacing:1.8px}.hero-bottom{position:absolute;bottom:0;left:4.6%;right:4.6%;margin:0;padding:26px 0;border-top:1px solid #ffffff30;border-bottom:0;z-index:3;font-size:9px;letter-spacing:2px}.hero-bottom>a{font-size:11px}.section{padding:110px 7%}.manifesto{padding-top:105px;padding-bottom:80px;border-bottom:1px solid var(--line)}.manifesto h2{font-size:clamp(35px,4.6vw,76px);line-height:1.12;margin:37px 0 45px;letter-spacing:-2px;max-width:1150px}.manifesto h2 em{color:var(--olive)}.manifesto-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.manifesto-monogram{font-size:60px;font-weight:400;letter-spacing:-5px;color:var(--olive)}.manifesto-bottom p{max-width:470px;font-size:14px;line-height:1.85;color:var(--muted)}h2{font-size:clamp(36px,4.1vw,64px);line-height:1.1;font-weight:400;letter-spacing:-2px}.section-heading{grid-template-columns:1fr 1.8fr;margin-bottom:54px}.section-heading .eyebrow{font-size:10px}.service-grid{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:475px;padding:43px;background:transparent;border-right:1px solid var(--line)}.service-card.commercial{background:#dcd5c7;color:#282924;border-right:0}.service-card h3{font-size:42px;line-height:1.12;letter-spacing:-1.8px}.service-card>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:340px}.service-card .text-link{font-size:13px}.service-card>.eyebrow{margin-top:85px;font-size:9px}.card-index{font-family:Georgia,serif;font-size:26px;color:var(--olive)}.line-art{opacity:.5;right:40px;top:45px}.commercial-art{opacity:.6}.commercial-art i{background:linear-gradient(90deg,#4f5141,#91917b)}.commercial .text-link:hover{color:#706043}.work{padding-top:5px}.portfolio-pending{padding:35px 0}.portfolio-pending h3{font-size:24px}.portfolio-pending p{font-size:14px;line-height:1.8}.approach{padding-top:100px;padding-bottom:100px;background:#232720}.approach h2{font-size:clamp(35px,3.7vw,60px)}.approach h2 em{color:#d7c5a2}.steps li{padding:31px 0}.steps h3{font-size:22px}.steps p{font-size:14px}.approach-intro>p:not(.eyebrow){font-size:14px;line-height:1.9}.support h2{font-size:clamp(38px,4.2vw,68px)}.contact{background:#e5dfd2}.contact h2{font-size:clamp(48px,5.1vw,80px)}.contact-intro>p:not(.eyebrow){font-size:15px}.contact-note p{font-size:12px}.contact form label{font-size:12px}input,select,textarea{font-size:14px;line-height:1.7}.contact .button-primary{min-height:56px}.form-hint{font-size:12px}.footer-brand{font-size:16px}.preview-note{font-size:10px}html[data-theme="dark"]{--paper:#20231f;--ink:#eee9dd;--muted:#bebcae;--line:#484a3d;--olive:#d2be97;--panel:#30352a;--dark:#151a14}html[data-theme="dark"] .commercial{background:#30372b;color:#eee9dd}html[data-theme="dark"] .contact{background:#292e24}html[data-theme="dark"] .hero .button-primary{background:#d5c4a2;color:#24261f}html[data-theme="dark"] .hero .button-primary:hover{background:#ede1c6}html[data-theme="dark"] .commercial-art i{background:linear-gradient(90deg,#7d826a,#c4c5ac)}html[data-theme="dark"] .commercial .text-link:hover{color:#d5c4a2}
@media(min-width:1800px){.hero-copy{padding-left:max(80px,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.hero{min-height:780px;height:90svh;grid-template-columns:47% 53%}.hero-copy{padding-left:9.7%;padding-top:145px}.hero h1{font-size:7.5vw;letter-spacing:-3.5px}.hero h1 em{letter-spacing:-3.5px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-description{font-size:12px;max-width:330px}.hero-actions{gap:20px;flex-wrap:wrap}.hero .button-primary{gap:20px}.hero .text-link{font-size:11px}.scene-note{font-size:8px;letter-spacing:1px;bottom:160px;right:7%}.scene-controls{bottom:80px;left:12%;font-size:8px}.scene-controls>span{max-width:100px;text-align:right}.art-caption{font-size:7px;letter-spacing:.7px}.section{padding:80px 6%}.work{padding-top:0}.service-card{padding:30px}.service-card h3{font-size:34px}}
@media(max-width:760px){.header{height:80px;left:6%;right:6%}.brand-word{font-size:12px;letter-spacing:2px}.brand-word>span{font-size:6px;letter-spacing:2px}.header-cta{font-size:10px;gap:10px}.header-actions{gap:13px}.hero{display:block;height:auto;min-height:0;padding:0;overflow:hidden}.hero-copy{padding:120px 6% 40px;min-height:610px;justify-content:flex-start;background:#20231f}.hero .eyebrow{font-size:8px;letter-spacing:1.25px;white-space:normal}.hero h1{font-size:clamp(64px,13.3vw,88px);letter-spacing:-3px;margin:30px 0 26px;line-height:.98}.hero h1 em{letter-spacing:-3.5px}.hero-description{font-size:12px;max-width:100%;line-height:1.9}.hero-description br{display:none}.hero-actions{gap:23px;margin-top:28px;flex-wrap:nowrap}.hero .button-primary{font-size:11px;padding:13px 17px;min-height:50px;gap:20px}.hero .text-link{font-size:11px;gap:12px}.commercial-link{font-size:10px;margin-top:25px}.hero-art{height:510px;margin:0}.scene-frame{height:100%}.scene-frame::after{background:linear-gradient(0deg,#171c16cc,transparent 26%),linear-gradient(180deg,#20231f 0%,transparent 15%)}.art-caption{top:35px;left:6%;right:6%;font-size:7px}.scene-note{bottom:135px;right:6%;font-size:8px}.scene-controls{bottom:75px;left:6%;right:6%}.scene-controls button{font-size:9px}.scene-controls>span{max-width:none;font-size:8px}.hero-bottom{left:6%;right:6%;padding:23px 0;font-size:6px;letter-spacing:1px;gap:16px}.hero-bottom>a{font-size:9px;gap:8px}.section{padding:66px 6%}.manifesto h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:28px 0 30px}.manifesto-bottom{align-items:flex-start;gap:25px}.manifesto-monogram{font-size:40px;letter-spacing:-3px;flex-shrink:0}.manifesto-bottom p{font-size:12px;line-height:1.8}.section-heading h2{font-size:38px;margin-top:24px}.section-heading{margin-bottom:30px}.service-grid{border:0;gap:0}.service-card{border:0;border-top:1px solid var(--line);padding:29px 0 35px;min-height:400px}.service-card.commercial{padding:30px 24px}.service-card>.eyebrow{margin-top:62px}.service-card h3{font-size:35px}.service-card>p:not(.eyebrow){font-size:13px}.line-art{right:15px}.commercial-art{right:20px;top:35px;gap:10px}.commercial-art i{height:120px;width:18px}.work{padding-top:10px}.portfolio-pending h3{font-size:20px}.portfolio-pending p{font-size:12px}.approach h2{font-size:38px;line-height:1.15}.steps h3{font-size:21px}.steps p{font-size:13px}.support h2{font-size:39px}.contact h2{font-size:57px}.contact-intro>p:not(.eyebrow){font-size:14px}.contact-note p{font-size:11px}.form-hint{font-size:11px}}
/* Audit revision */
.line-art,.commercial-art{display:none}.service-card>.eyebrow{margin-top:45px}.service-card{min-height:420px}.service-card h3{max-width:450px}.manifesto{padding-bottom:65px}.scene-controls{flex-wrap:wrap;column-gap:22px;row-gap:2px}.scene-controls>span{flex-basis:100%;margin-top:5px;opacity:.75}.scene-controls #light-toggle{font-size:11px;color:#fff1d0;border-bottom-color:#e8d2a4}.precision{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:90px;padding-bottom:110px;border-bottom:1px solid var(--line)}.precision h2{margin:30px 0;font-size:clamp(36px,4vw,65px);line-height:1.13}.precision-intro>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:14px;line-height:1.9}.precision .text-link{margin-top:25px}.precision-list{padding-top:22px}.precision-list article{padding:27px 0;border-top:1px solid var(--line)}.precision-list article:last-child{border-bottom:1px solid var(--line)}.precision-list article>span{font-size:9px;letter-spacing:1.7px;color:var(--olive)}.precision-list h3{font-size:25px;letter-spacing:-.6px;margin:17px 0 13px}.precision-list p{max-width:420px;font-size:14px;line-height:1.85;color:var(--muted)}.questions{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;border-bottom:1px solid var(--line)}.questions h2{margin-top:30px;font-size:clamp(36px,3.5vw,56px)}.question-list details{border-top:1px solid var(--line)}.question-list details:last-child{border-bottom:1px solid var(--line)}.question-list summary{cursor:pointer;list-style:none;padding:27px 35px 27px 0;position:relative;font-size:17px;line-height:1.5}.question-list summary::-webkit-details-marker{display:none}.question-list summary::after{content:'+';position:absolute;right:0;top:25px;font:24px Georgia,serif;color:var(--olive)}.question-list details[open] summary::after{content:'−'}.question-list summary:hover{color:var(--olive)}.question-list summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px}.question-list p{font-size:14px;line-height:1.9;color:var(--muted);padding:0 30px 26px 0;max-width:550px}.contact-note{max-width:390px}.scene-controls button:focus-visible{outline-color:#f6e7c9}
@media(max-width:760px){.precision,.questions{grid-template-columns:1fr;gap:30px}.precision{padding-top:60px;padding-bottom:60px}.precision h2{font-size:42px}.precision-list{padding-top:0}.precision-list h3{font-size:23px}.precision-list p{font-size:13px}.questions h2{font-size:38px}.question-list summary{font-size:16px;padding:23px 30px 23px 0}.question-list p{font-size:13px}.service-card{min-height:350px}.service-card>.eyebrow{margin-top:35px}.scene-controls{bottom:75px}.scene-controls #light-toggle{font-size:10px}.scene-controls>span{max-width:none;text-align:left}}
/* Approved photographic surface comparison. Shared crop preserves the wipe alignment. */
.surface-photo{height:auto;aspect-ratio:1672/941}
.surface-photo-layers,.surface-photo-layers img{position:absolute;inset:0;width:100%;height:100%}
.surface-photo-layers img{object-fit:cover;object-position:left center}
.surface-photo-rough{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.surface-photo .surface-slider{inset:0;width:100%;height:100%}
.surface-photo .surface-labels{top:22px;left:22px;right:22px}
.surface-photo .surface-labels>span{background:#242820d9}
.surface-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:25px 0;border-bottom:1px solid var(--line)}
.surface-summary p{font-size:13px;line-height:1.8}.surface-summary p>span{color:var(--muted);font-size:12px}
.surface-summary .text-link{flex-shrink:0;font-size:13px}
@media(max-width:760px){.surface-photo{height:auto;aspect-ratio:4/5}.surface-photo .surface-labels{left:10px;right:10px;top:12px;gap:10px}.surface-photo .surface-labels>span{font-size:10px;padding:8px;max-width:47%}.surface-photo .surface-labels small{font-size:7px;letter-spacing:.3px}.surface-summary{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 0}.surface-summary p{font-size:12px}.surface-summary p>span{font-size:11px}.surface-summary .text-link{font-size:12px}}

/* Path-traced hero stills: light crossfade and gentle pointer parallax */
.scene-renders{position:absolute;inset:-2.5%;opacity:0;transform:translate3d(calc(var(--px,0) * -1.1%),calc(var(--py,0) * -.7%),0) scale(1.035);transition:opacity .7s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.scene-frame.has-renders .scene-renders{opacity:1;transform:translate3d(calc(var(--px,0) * -1.1%),calc(var(--py,0) * -.7%),0) scale(1)}
.scene-frame.has-renders .scene-fallback{visibility:hidden}
.scene-render{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 58%;transition:opacity .9s ease}
.scene-render[data-light="diffuse"]{opacity:0}
.scene-frame[data-light="diffuse"] .scene-render[data-light="diffuse"]{opacity:1}
.scene-frame.motion-paused .scene-renders{transition:opacity .7s ease}
@media (prefers-reduced-motion: reduce){.scene-renders,.scene-render{transition:none}}

/* Contacts and messenger hand-off */
.contact-channels{border-top:1px solid var(--line);margin-top:42px;padding-top:24px;max-width:390px}
.contact-phone{display:inline-block;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s ease-out}
.contact-phone:hover{border-bottom-color:currentColor}
.contact-ways{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 16px}
.contact-ways a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:12px;transition:background .18s ease-out,border-color .18s ease-out}
.contact-ways a:hover{background:var(--panel);border-color:var(--ink)}
.contact-phone:focus-visible,.contact-ways a:focus-visible,.footer-contact a:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.send-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}
.send-actions .button{gap:20px}
.button-secondary{background:transparent;color:var(--ink);border-color:var(--ink);min-height:56px;padding:15px 23px}
.button-secondary:hover{background:var(--ink);color:var(--paper)}
.footer-contact{width:100%;font-size:11px}
.footer-contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.footer-contact a:hover{border-bottom-color:currentColor}
@media(max-width:760px){.contact-channels{max-width:100%;margin-top:25px}.send-actions .button{width:100%}}
/* Personal introduction */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;border-bottom:1px solid var(--line)}
.about h2{font-size:clamp(42px,5vw,72px);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:28px 0}
.about-greeting{font-size:24px;color:var(--olive);margin:30px 0 16px}
.about-location{font-size:14px;line-height:1.7;color:var(--muted);max-width:32ch}
.about-copy{padding-top:4px;max-width:62ch;font-size:15px;line-height:1.75;color:var(--muted)}
.about-copy p{margin:0 0 22px}
.about-copy .about-lead{font-size:clamp(20px,1.8vw,26px);line-height:1.5;color:var(--ink)}
.about-services{padding:0;margin:24px 0;list-style:none;border-top:1px solid var(--line)}
.about-services li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.about-copy .text-link{display:inline-flex;min-height:44px;align-items:center;gap:24px;color:var(--ink)}
.about-copy .text-link:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
@media(max-width:760px){.about{grid-template-columns:1fr;gap:28px}.about h2{letter-spacing:-1px;margin:22px 0}.about-greeting{font-size:22px;margin:22px 0 12px}.about-location{max-width:none;margin-bottom:0}.about-copy{font-size:15px}.about-copy .about-lead{font-size:20px}}
/* Portfolio */
.portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;margin-top:20px}
.portfolio-group{min-width:0}
.portfolio-group-wide{grid-column:1/-1}
.portfolio-description{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 24px;max-width:78ch}
.portfolio-group h3{display:flex;align-items:baseline;gap:12px;font-size:clamp(22px,2vw,28px);font-weight:400;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.portfolio-group h3 span{font-size:11px;color:var(--muted);letter-spacing:1px}
.portfolio-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portfolio-group-wide .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-grid-single{grid-template-columns:1fr}
.portfolio-item{display:block;color:var(--ink);text-decoration:none}
.portfolio-item img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--panel);transition:filter .25s ease-out}
.portfolio-grid-single .portfolio-item img{aspect-ratio:4/5;max-height:500px;object-fit:cover}
.portfolio-group-wide#work-warehouse .portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#work-warehouse .portfolio-item img,#work-office .portfolio-item img,#work-retail .portfolio-item img{aspect-ratio:1;object-fit:contain}
.portfolio-item span{display:block;font-size:12px;color:var(--muted);margin-top:10px;line-height:1.45}
.portfolio-item:hover img{filter:brightness(1.06) contrast(1.03)}
.portfolio-item:hover span{color:var(--ink)}
.portfolio-item:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;color:#eee9dd}
.lightbox::backdrop{background:rgba(14,16,13,.92)}
.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.lightbox img{max-width:min(92vw,1600px);max-height:82vh;object-fit:contain}
.lightbox p{margin:0;font-size:13px;line-height:1.5;color:#cfcabd;max-width:80vw;text-align:center}
.lightbox button{position:absolute;background:rgba(0,0,0,.35);color:#eee9dd;border:1px solid rgba(238,233,221,.3);width:48px;height:48px;font-size:22px;cursor:pointer}
.lightbox button:hover{background:rgba(0,0,0,.6)}
.lightbox button:focus-visible{outline:2px solid #f6e7c9;outline-offset:2px}
.lightbox-close{top:18px;right:18px}
.lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:760px){.portfolio{grid-template-columns:1fr;gap:44px}.portfolio-grid,.portfolio-group-wide .portfolio-grid,.portfolio-group-wide#work-warehouse .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-grid-single{grid-template-columns:1fr}.portfolio-description{font-size:14px;margin-bottom:18px}.portfolio-item span{font-size:12px;margin-top:7px}.lightbox img{max-height:70vh}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none}}
/* Supplied SA brush monogram; the header keeps its dark background in both themes. */
.case-review{margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-review summary{position:relative;list-style:none;cursor:pointer;padding:16px 30px 16px 0;font-size:15px;line-height:1.6;color:var(--ink)}
.case-review summary::-webkit-details-marker{display:none}
.case-review summary::after{content:'+';position:absolute;right:3px;top:16px;color:var(--olive)}
.case-review[open] summary::after{content:'−'}
.case-review summary:hover{color:var(--olive)}
.case-review summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.case-review-body{padding:0 0 8px}
.case-review h4{font-size:17px;font-weight:400;margin:12px 0 8px}
.case-review p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 20px}
@media(max-width:760px){.case-review p,.case-review summary{font-size:14px}}
.selected-work{border-bottom:1px solid var(--line)}
.selected-work-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
.selected-work-heading h2{font-size:clamp(30px,3.4vw,48px)}
.selected-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.selected-work-card{display:block;color:var(--ink);text-decoration:none;min-width:0}
.selected-work-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--panel);transition:filter .2s}
.selected-work-card:not(:first-child) img{object-fit:contain}
.selected-work-card h3{font-weight:400;font-size:23px;margin:20px 0 10px}
.selected-work-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 14px}
.selected-work-card span{font-size:13px;color:var(--olive)}
.selected-work-card:hover img{filter:brightness(1.08)}
.selected-work-card:hover span{text-decoration:underline;text-underline-offset:4px}
.selected-work-card:focus-visible{outline:2px solid var(--olive);outline-offset:6px}
.support-scope{list-style:none;padding:0;margin:32px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.support-scope li{border-top:1px solid var(--line);padding-top:18px}
.support-scope h3{font-size:20px;font-weight:400;margin:0 0 10px}
.support-scope p{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.support>div>p.support-lead{font-size:18px;line-height:1.65;max-width:65ch}
.hero-copy>.commercial-link{display:block;width:fit-content;line-height:1.6}
@media(max-width:760px){
  .hero-copy>.eyebrow{font-size:11px;line-height:1.7;letter-spacing:1px}
  .hero-copy>.hero-description{font-size:15px;line-height:1.7}
  .hero-copy>.commercial-link{font-size:13px;padding:8px 0;margin-top:8px}
  .selected-work-heading{display:block;margin-bottom:24px}
  .selected-work-heading>.text-link{display:inline-block;margin-top:18px}
  .selected-work-grid{grid-template-columns:1fr;gap:22px}
  .selected-work-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding-top:20px}
  .selected-work-card img{aspect-ratio:4/5}
  .selected-work-card h3{font-size:19px;margin:0 0 8px}
  .selected-work-card p{font-size:14px;line-height:1.6;margin-bottom:10px}
  .support-scope{grid-template-columns:1fr;gap:22px}
  .support>div>p.support-lead{font-size:16px}
}
.brand-logo{display:block;width:50px;height:58px;object-fit:contain;flex:none}
.quick-nav{display:none}
#brief-result:focus{outline:2px solid var(--olive);outline-offset:6px}
.send-actions .button{text-align:left;line-height:1.5}
@media(max-width:760px){
  :root{scroll-padding-top:24px;scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  .quick-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;top:auto;bottom:0;left:0;right:0;z-index:10;background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:0 10px env(safe-area-inset-bottom,0px)}
  .quick-nav a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px 3px;font-size:12px;white-space:nowrap}
  .quick-nav a:hover,.quick-nav a:active{background:var(--panel);color:var(--olive)}
  .quick-nav a:focus-visible{outline:2px solid var(--olive);outline-offset:-4px}
}
@media(max-width:760px){.brand-logo{width:38px;height:44px}.brand{gap:10px}}
