/* Motion edition: progressive enhancement, never hides readable copy. */
/* Editorial polish: consistent baselines and a calmer text rhythm. */
.manifesto-detail p,.founder-body p,.fact p{ text-wrap:pretty; }
.wordmarks{align-items:start}
.wordmarks b{line-height:1.5}
.photo-caption{font-size:11px;letter-spacing:.07em}
.footer-bottom{align-items:center}
@media(min-width:1001px){
 .founder-photo{padding-top:52px}
 .fact{min-height:140px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px}
 .services-intro p{padding-bottom:6px}
 .manifesto-detail{padding-top:12px}
}
/* Preserve the 1440px composition instead of stretching on wide displays. */
@media(min-width:1441px){
 .section-pad,.site-header,.principles,.site-footer{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}
 .hero{max-width:1440px;padding-left:72px;padding-right:72px}
 .hero-lockup{gap:43px}.hero-title{font-size:124px}
 .hero-title .line-indent{margin-left:58px}.hero-title .line-accent{margin-left:144px}
 .section-pad{padding-top:115px;padding-bottom:115px}
 .manifesto-copy,.proof-grid{gap:100px}.services-intro{gap:100px}.founder{gap:100px}.design-copy{gap:100px}
 .display-copy{font-size:76px}.founder-content h2{font-size:81px}
 .proof-quote{font-size:58px}.fact strong{font-size:65px}
 .service-name{font-size:45px}.contact-title{font-size:98px}
 .principles span{font-size:28px}
}
/* Original headline proportions and responsive indentation. */
/* Scale lettering and indents together to clear the existing arch. */
.hero-title{font-size:clamp(5.4rem,11.5vw,12.6rem);line-height:.75;letter-spacing:-.045em;width:max-content;max-width:100%;z-index:2}
.hero-title .line{white-space:nowrap}
.hero-title .line-indent{margin-left:7vw}
.hero-title .line-accent{margin-left:29vw;color:#ab804c;font-style:italic}
.approach-accent{color:#ab804c}
.hero-lockup{grid-template-columns:1fr;position:relative;min-height:580px}
.hero-art{position:absolute;right:8%;top:50%;translate:0 -50%;width:34%;opacity:1;pointer-events:auto}
@media(min-width:981px){
 .hero-title{font-size:clamp(86px,9vw,130px)}
 .hero-title .line-indent{margin-left:.609em}
 .hero-title .line-accent{margin-left:2.522em}
}
@media(max-width:980px){
 .hero-art{right:3%}
 .hero-title{font-size:clamp(56px,9vw,130px)}
 .hero-title .line-indent{margin-left:.609em}.hero-title .line-accent{margin-left:2.522em}
 .approach-accent{max-width:none;margin-left:0;position:relative;left:calc(100% + 8px);translate:-100% 0}
}
@media(max-width:640px){
 .hero-title{font-size:clamp(4.45rem,22vw,7rem);line-height:.77}
 .hero-title{width:100%;min-width:0}
 .hero-title .line:not(.line-accent){font-size:.8em}
 .hero-title .line-indent{margin-left:6vw}
 .hero-title .line-accent{width:max-content;margin-left:0;position:relative;left:calc(100% + 8px);translate:-100% 0}
 .hero-lockup{min-height:0;grid-template-columns:minmax(0,1fr)}
 .hero-art{position:relative;top:auto;right:auto;translate:none;width:76%;justify-self:center;opacity:1;pointer-events:auto}
}
.site-header::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.desktop-nav a{transition:color .25s}.desktop-nav a[aria-current="location"]{color:var(--accent)}
.approach-steps article{transition:border-color .35s}.approach-steps article:hover,.approach-steps article:focus-within{border-color:var(--accent)}
.step-symbol{transition:transform .4s var(--ease)}.approach-steps article:hover .step-symbol{transform:translate(3px,-3px)}
.service-item summary{transition:background-color .3s}.service-item summary:hover{background:rgba(205,157,115,.045)}
.service-toggle{transition:border-color .3s,background-color .3s}.service-item summary:hover .service-toggle{background:#493e2e;border-color:var(--copper)}
.contact-button{transition:border-color .3s}.contact-button:hover{border-color:var(--copper)}
.specimen-card{transition:transform .4s var(--ease)}.specimen-card:hover{transform:rotate(0deg)}
.cap-tag{transition:transform .3s var(--ease),border-color .3s,color .3s}.cap-tag:hover{transform:rotate(0deg) translateY(-3px);border-color:var(--accent);color:var(--ink)}
.cap-tag span{transition:transform .2s}.cap-tag:hover span{transform:translate(2px,-2px)}
.hero-mark{transition:transform .7s var(--ease);transform:translate(var(--art-x,0px),var(--art-y,0px)) rotate(-4deg)}
@keyframes section-arrive{from{opacity:.3;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-arrive{from{opacity:.65;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes label-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .hero-title{animation:none}.hero-title .line{animation:section-arrive 1.2s var(--ease) both}
 .hero-title .line:nth-child(2){animation-delay:.14s}.hero-title .line:nth-child(3){animation-delay:.28s}
 .hero-art{animation:section-arrive 1.3s .18s var(--ease) both}
 .hero-art .art-coordinate,.hero-art figcaption span,.hero-kicker span{opacity:0;animation:label-fade 2.6s ease 1.1s forwards}
 .motion-arrive{animation:section-arrive 1.1s var(--ease) both;animation-delay:var(--entrance-delay,0ms)}
 .service-item[open] .service-panel{animation:panel-arrive .45s var(--ease) both}
}
@media(prefers-reduced-motion:reduce){.hero-mark{transform:rotate(-4deg)}.site-header::after{display:none}}
