/* Shared editorial rhythm, retaining the approved typography and palette. */
:root{--content:1440px;--section-space:clamp(48px,6vw,88px);--reading:#4b4b4b}
.container{max-width:var(--content)}
.header{border-bottom:1px solid var(--line)}
.nav{font-size:13px}.nav a{min-height:44px;display:inline-flex;align-items:center}
.page-body{padding-block:var(--section-space)}
.page-hero{padding-bottom:48px}.page-hero h1{margin-block:48px 28px}
.page-hero p{max-width:52ch}
.breadcrumb a{min-height:32px;display:inline-flex;align-items:center}
.section-title,.intro h2,.services h2,.about h2{text-wrap:balance}
.intro-copy p,.editorial-copy p,.case-copy p,.service-detail p{color:var(--reading);font-size:16px;line-height:1.8}
.text-link{min-height:44px;align-items:center;padding-block:10px;margin-top:20px}
.contact-button{min-height:48px;transition:background .18s,color .18s}
.contact-copy p{font-size:16px;line-height:1.75}
.contact{padding-block:56px}.contact h2{font-size:clamp(60px,8vw,112px)}
.contact-copy{max-width:34ch}.contact-top{align-items:center}
.footer{padding-block:24px;border-top:1px solid var(--line);margin-top:24px}
.footer-nav{font-size:12px;gap:24px}.footer-nav a,.footer>a:last-child{display:inline-flex;align-items:center;min-height:44px}
.footer p{font-size:11px}
.brands-end .text-link{min-height:44px}.brands h2{font-size:13px}
.brand-logos a{border-radius:2px;transition:background .18s}
.brand-logos a:hover{background:#e9e9e4}.brand-logos a:focus-visible{outline-offset:-3px}
.brand-logos li:focus-within{overflow:hidden}
.service-menu{gap:8px 24px}.service-menu a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
.service-detail{gap:8%;padding-block:56px}.service-detail h2{max-width:18ch;text-wrap:balance}
.plain-list li{line-height:1.65}.process h3{font-weight:600}.process p{font-size:15px}
.editorial-copy p{max-width:55ch}.career dd{font-size:15px;line-height:1.8}
.about-opening .portrait img{object-position:center 65%}
.contact-layout{gap:8%}.direct-contact>p{font-size:16px}.contact-note{margin-top:16px}
.contact-guide p{font-size:15px}.faq{max-width:960px}.faq details p{font-size:15px;line-height:1.8}
.faq summary{font-size:clamp(19px,2vw,26px);letter-spacing:-.025em}
/* Project pages: clear evidence, an index, and a consistent reading column. */
.case-hero h1{font-size:clamp(54px,7.4vw,104px);max-width:20ch}
.case-hero p{font-size:clamp(16px,1.5vw,20px)}
.case-overview{grid-template-columns:minmax(220px,.55fr) minmax(0,1.3fr);gap:9%;padding-block:0 64px;align-items:start}
.case-sidebar{position:sticky;top:112px;align-self:start}
.case-sidebar>h2{font-size:13px;font-weight:700}.case-sidebar>p{font-size:13px;line-height:1.8;margin-block:12px}
.case-sidebar .brand-case-art{min-height:140px;padding:24px;margin-bottom:32px;background:#eeeee9;border:0}
.case-sidebar .brand-case-art img{max-width:85%;max-height:76px}
.case-sidebar .brand-case-art .logo-samsung{height:180px;width:180px;max-height:none;margin-block:-45px}
.case-sidebar .brand-case-art .logo-crucial{width:180px}
.case-sidebar .brand-case-art .logo-n3{width:85px;height:76px}
.case-sidebar .brand-case-art .logo-ghc{width:220px}
.case-sidebar .brand-case-art .logo-blf{width:170px}
.case-result{padding-bottom:24px;margin-bottom:24px}.case-result strong{font-size:clamp(44px,4.7vw,64px)}
.case-index{display:grid;gap:0;border-top:1px solid var(--line);margin-top:28px;padding-top:12px}
.case-index a{font-size:12px;line-height:1.5;min-height:40px;padding-block:10px;display:flex;gap:14px}
.case-index span{color:var(--wine);font-variant-numeric:tabular-nums}.case-index a:hover{text-decoration:underline;text-underline-offset:4px}
.case-section{border-top:1px solid var(--line);padding-top:28px;margin-top:36px;scroll-margin-top:112px}
.case-section:first-child{margin-top:0}.case-copy .case-section h2{font-size:clamp(26px,2.8vw,36px);line-height:1.2;margin:0 0 22px;letter-spacing:-.04em;text-wrap:balance}
.case-copy p{max-width:62ch;margin-bottom:18px}.case-copy p:last-child{margin-bottom:0}
.case-section-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--wine);display:block;margin-bottom:16px}
.case-image{padding:32px;margin-bottom:56px}.case-image img{max-height:580px;object-fit:contain;box-shadow:none}.case-image figcaption{margin-top:20px;font-size:12px}
.case-next{padding-block:28px 0}.case-next a{min-height:44px;display:inline-flex;align-items:center;font-size:clamp(24px,3vw,36px)}
@media(max-width:900px){.case-overview{gap:7%;grid-template-columns:220px minmax(0,1fr)}.case-sidebar{top:108px}.case-index a{font-size:11px}.header{padding-inline:24px}.nav{gap:20px}}
@media(max-width:600px){
 .header{padding-inline:22px}.nav a{min-height:48px}.page-hero{padding:22px 24px 34px}.page-hero h1{margin-block:32px 22px;font-size:clamp(48px,13vw,76px)}
 .case-hero h1{font-size:12vw}.brand-bacheff h1{font-size:10.5vw}.breadcrumb{font-size:11px;gap:8px}
 .page-body{padding-block:40px}.intro-copy p,.editorial-copy p,.case-copy p,.service-detail p{font-size:15px;line-height:1.8}
 .case-overview{grid-template-columns:1fr;gap:36px;padding-bottom:40px}.case-sidebar{position:static}
 .case-sidebar .brand-case-art{min-height:120px;margin-bottom:24px}.case-sidebar .brand-case-art img{max-width:65%}
 .case-result strong{font-size:48px}.case-index{display:none}.case-section{margin-top:32px;padding-top:24px;scroll-margin-top:96px}
 .case-section-label{margin-bottom:12px}.case-copy .case-section h2{font-size:29px;margin-bottom:18px}
 .case-image{padding:16px;margin-bottom:32px}.case-image img{max-height:360px}.case-image figcaption{font-size:11px;line-height:1.6}
 .contact{padding:36px 24px}.contact h2{font-size:17vw}.contact-top{align-items:start;gap:24px}.contact-copy p{font-size:15px}
 .footer{gap:12px 20px}.footer-nav{gap:12px 24px}.footer p{line-height:1.7}.service-detail{padding-block:40px;gap:18px}
 .service-menu{gap:8px 16px}.service-menu a{font-size:12px}.plain-list li{font-size:14px}.brands-end p{font-size:12px;text-align:center}
 .career dd{font-size:14px}.faq summary{font-size:20px;line-height:1.4;padding-block:22px}.faq details p{padding-right:0;font-size:14px}
}
@media(prefers-reduced-motion:reduce){a,button{transition:none!important}}
.case-sidebar .brand-case-art{display:flex;align-items:center;justify-content:center}.case-next a{gap:12px}@media(min-width:901px) and (max-height:800px){.case-sidebar{max-height:calc(100svh - 136px);overflow-y:auto;scrollbar-width:thin}}
.service-answers{margin-bottom:56px}.service-answers-wrap{padding-block:24px 48px}.faq p a,.case-author a,.profile-links a{text-decoration:underline;text-underline-offset:4px}.case-author{font-size:12px;color:var(--muted);margin:0 0 28px}.profile-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px!important}.profile-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.campaign-date{font-size:12px!important}.service-answers h2{font-size:clamp(30px,4vw,48px)}
