/* Shared responsive public website styles. */
header .brand,header nav a,header nav button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}header nav a{padding:8px 2px}header nav button{white-space:nowrap}
.brief-form .service-checks label{min-height:44px;padding:8px 10px;border:1px solid var(--line);cursor:pointer;gap:10px}
.brief-form .service-checks label:has(input:checked){background:var(--surface);border-color:var(--ink)}
.brief-form .service-checks label:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.story :focus-visible,.service-process :focus-visible{outline-color:var(--bg)}
.preview-notice a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.brief-summary textarea{margin-top:18px;width:100%;font:16px Space}
@media(max-width:700px){.brief-summary .pill{display:flex;width:100%;justify-content:center;margin-right:0}.brief-form .service-checks{gap:10px}}
.skip-main{position:fixed;top:8px;left:8px;z-index:30;padding:14px;background:var(--ink);color:var(--bg);transform:translateY(-180%)}.skip-main:focus{transform:none}
header{height:78px}html{scroll-padding-top:96px}p{line-height:1.65}h1,h2,h3{overflow-wrap:break-word}.hero-secondary{display:block;margin:18px auto;font-size:13px;color:var(--muted)}
.hero .hero-photo,.floating:hover .hero-photo,.floating:focus-visible .hero-photo,.photo-card:hover img,.photo-card:focus-visible img{filter:grayscale(1)}
.section-wrap,.all-services{padding:80px 6%;border-top:1px solid var(--line)}.section-heading{max-width:720px;margin-bottom:35px}.section-heading h2{font-size:clamp(34px,4.5vw,62px);line-height:1.08;letter-spacing:-.055em;margin:20px 0}.section-heading>p{color:var(--muted);font-size:17px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{display:block;position:relative;background:var(--bg);padding:32px;min-height:270px;transition:background .2s}.service-card:hover{background:var(--surface)}.service-icon{display:block;width:48px;height:48px;margin-bottom:30px}.service-card .eyebrow{color:var(--muted);font-size:10px}.service-card h3{font-size:25px;line-height:1.2;letter-spacing:-.04em;max-width:280px;margin:14px 0}.service-card p{font-size:14px;color:var(--muted);max-width:300px;margin:0}.card-arrow{position:absolute;right:25px;top:28px;font-size:25px}
.reveal-ready{transition:translate .45s,background .2s}.reveal-ready:not(.revealed){translate:0 12px}.revealed{translate:0 0}
.service-hero{padding:36px 6% 85px;position:relative;overflow:hidden}.back-link{font:11px Mono;display:inline-block;margin-bottom:50px;padding:10px 0}.service-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}.service-heading h1{font-size:clamp(44px,6.8vw,94px);line-height:.99;letter-spacing:-.06em;margin:25px 0;max-width:860px}.service-promise{font-size:21px;color:var(--muted);max-width:650px;margin:25px 0 30px}.service-emblem{position:relative;aspect-ratio:1;display:grid;place-content:center;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle at 32% 20%,var(--surface),var(--bg) 55%,#9a9aa32b);max-width:360px;width:100%;margin:auto;box-shadow:20px 25px 50px #0000000b}.service-emblem:before{content:'';position:absolute;inset:20px;border:1px solid var(--line);border-radius:50%;transform:rotateX(45deg) rotate(-25deg)}.service-emblem .service-icon{width:105px;height:105px;margin:0 auto 25px}.service-emblem .eyebrow{text-align:center;color:var(--muted)}
.scope-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:30px}.scope-columns h3{font-size:25px;letter-spacing:-.03em;margin-top:0}.scope-columns ul{padding-left:20px;line-height:1.8;color:var(--muted)}.scope-note{font-size:13px;color:var(--muted);margin-top:30px;max-width:830px}.audience{font-size:15px!important}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.portfolio-item{display:block;border:1px solid var(--line);padding:0;background:var(--surface);color:var(--ink);text-align:left;overflow:hidden}.portfolio-item img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;filter:grayscale(1)}.portfolio-item>span{display:block;position:relative;padding:24px}.portfolio-item small{font:10px Mono;color:var(--muted)}.portfolio-item strong{display:block;font-size:25px;letter-spacing:-.035em;margin-top:12px;padding-right:25px}.portfolio-item b{position:absolute;right:22px;top:23px;font-size:23px;font-weight:400}
.service-process{background:var(--ink);color:var(--bg)}.service-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;list-style:none;padding:0;margin:0}.service-process li{border-top:1px solid #8888;padding-top:25px}.service-process li>span{font:11px Mono;opacity:.65}.service-process h3{font-size:25px;margin:18px 0}.service-process p{opacity:.8;font-size:15px}
.faq details{border-top:1px solid var(--line);padding:22px 0;max-width:950px}.faq summary{font-size:20px;cursor:pointer;line-height:1.5}.faq details p{color:var(--muted);max-width:800px;font-size:16px}
.brief-form{max-width:950px}.preview-notice{border-left:2px solid var(--ink);padding:4px 0 4px 20px;margin:25px 0 35px}.preview-notice strong{font-size:21px}.preview-notice p,.draft-note{color:var(--muted);font-size:14px}.brief-form legend{font-size:19px}.brief-form legend span{font:10px Mono;display:block;color:var(--muted);margin-top:8px}.brief-form small{color:var(--muted);font-size:12px}.brief-form .service-checks{gap:14px 25px}.brief-form .service-checks label{font:15px Space}.brief-form .form-grid{gap:22px;margin:35px 0}.brief-form label{font:16px Space;line-height:1.4}.brief-form input,.brief-form textarea{border-radius:2px}.conditional-fields{display:grid;gap:25px;margin-top:30px}.brief-form .pill{margin-right:8px}.form-status{color:var(--muted);font-size:14px;min-height:22px}.brief-summary{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.brief-summary dl{display:grid;grid-template-columns:160px 1fr;gap:15px}.brief-summary dt{font:12px Mono;color:var(--muted)}.brief-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.contact-page{max-width:1200px;margin:auto;border-top:0}.contact-page h1{font-size:clamp(45px,7vw,90px);letter-spacing:-.06em;line-height:1.04}.contact-page h1 span{color:var(--muted)}
.media-viewer{width:min(1050px,calc(100% - 32px));max-width:1050px;max-height:90svh;padding:22px;border-radius:4px;transform:none}.viewer-top,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.viewer-top button{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:50%}.viewer-image{display:block;max-width:100%;width:100%;max-height:62svh;object-fit:contain;margin:20px 0;filter:grayscale(1)}.viewer-image.original-color{filter:none}.viewer-caption{color:var(--muted);font-size:13px;max-width:650px}.viewer-bottom .pill{flex-shrink:0;font-size:12px}.privacy-page{max-width:950px;margin:auto;border-top:0}.privacy-page h1{font-size:clamp(40px,6vw,75px);letter-spacing:-.055em}.privacy-page h2{font-size:26px;margin-top:40px}.privacy-page p{color:var(--muted)}
@media(max-width:1000px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-heading{gap:30px}.service-emblem{max-width:280px}.service-process ol{gap:25px}}
@media(max-width:700px){header{height:72px}nav{gap:12px}.section-wrap,.all-services{padding:55px 5%}.section-heading>p{font-size:15px}.section-heading h2{font-size:36px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:25px}.service-card .service-icon{width:38px;height:38px;margin-bottom:20px}.service-card h3{font-size:25px}.service-card p{max-width:none}.service-hero{padding:25px 5% 55px}.back-link{margin-bottom:25px}.service-heading{grid-template-columns:1fr;gap:35px}.service-heading h1{font-size:clamp(42px,11vw,65px)}.service-promise{font-size:18px}.service-emblem{max-width:190px}.service-emblem .service-icon{width:65px;height:65px;margin-bottom:15px}.scope-columns{grid-template-columns:1fr;gap:20px}.portfolio-grid{grid-template-columns:1fr;gap:20px}.service-process ol{grid-template-columns:1fr}.service-process h3{font-size:23px}.faq summary{font-size:18px}.brief-form .service-checks,.brief-form .form-grid{grid-template-columns:1fr}.brief-form label{font-size:15px}.brief-summary dl{grid-template-columns:1fr;gap:8px}.brief-summary dd{margin-bottom:12px}.viewer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.viewer-image{max-height:55svh}.media-viewer{padding:16px}.gallery{display:none}.hero-secondary{display:none}.hero h1{font-size:32px}footer{font-size:10px}.contact-page h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{translate:0 0!important;transition:none}}
