/* Quiet motion strengthens the existing composition. */
.motion-visual{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1);transform-origin:center;backface-visibility:hidden}
.service-art{display:block;overflow:hidden;border-radius:14px}
.service-card:focus-within{outline:2px solid var(--lav);outline-offset:5px}
.text-link span,.button span{display:inline-block;transition:transform .25s ease}
.text-link:hover span,.button:hover span{transform:translate(2px,-2px)}
.business-jump[aria-current="location"]{box-shadow:inset 0 -4px 0 var(--ink)}
.starting-tabs button:focus-visible,.audience-tabs button:focus-visible{outline:3px solid var(--lav);outline-offset:3px;z-index:2}
/* Flexible containment and touch targets for all page families. */
main,section,.shell,figure{min-width:0}
.detail-hero-grid>*,.detail-intro>*,.outcome-grid>*,.chapter-grid>*,.founder-grid>*,.what-hero-layout>*,.contact-layout>*{min-width:0}
.field input,.field select,.field textarea{font-size:16px}
.menu-toggle,.button{min-height:44px}.nav-links.open>a{min-height:44px}
@media(hover:none){.service-card:hover,.business-jump:hover,.button:hover{transform:none}.motion-visual{transform:none}}
@media(min-width:1800px){.hero-inner{padding-top:62px}.hero h1{max-width:1000px}.shell{max-width:1440px}}
@media(max-width:1100px){.nav-links{max-height:calc(100svh - 76px);overflow-y:auto;overscroll-behavior:contain}.nav-links.open{animation:menuIn .22s ease-out}.nav-links>a{padding-block:13px}}
@keyframes menuIn{from{opacity:.5;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.detail-hero-grid{grid-template-columns:1fr;gap:30px}.detail-visual{height:320px;min-height:0;max-width:640px}.detail-hero h1{font-size:clamp(3.5rem,8vw,6rem)}.chapter-3 .scenario-list{grid-template-columns:1fr;gap:0}.chapter-3 .scenario-list li{display:grid;grid-template-columns:36px 1fr;gap:16px;border-bottom:1px solid var(--hair)}.chapter-3 .scenario-list li>span{margin:0}.what-hero-layout{gap:6%}}
@media(max-width:760px){.hero-disciplines span{font-size:.75rem;letter-spacing:.08em}.service-card p{font-size:1rem;line-height:1.4}.service-card .service-link{min-height:190px}.footer-main p{max-width:100%}.hero-bottom{gap:12px}.hero-bottom .button{padding:14px 18px}.about-peek h2{line-height:1.14}.detail-hero h1{font-size:clamp(3rem,9vw,5rem)}}
@media(max-width:560px){.nav-links{max-height:calc(100svh - 68px)}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:15px;align-items:center;padding:15px 0}.service-card img{width:100%;height:130px;object-fit:cover}.service-card .service-link{min-height:0;padding:4px 0;gap:9px}.service-card h3{font-size:1.6rem;white-space:normal;line-height:1.1}.service-card p{font-size:1rem;line-height:1.4}.hero h1{font-size:clamp(2.65rem,10.4vw,4rem)}.hero-inner{height:auto}.hero-lead{font-size:1.05rem}.hero-bottom{flex-direction:row;flex-wrap:wrap}.hero-bottom .button{font-size:.8rem;gap:16px}.hero-disciplines .shell{gap:15px 9px}.hero-disciplines span{font-size:.72rem;letter-spacing:.04em}.detail-hero h1{font-size:clamp(2.7rem,10vw,4.4rem)}.detail-visual{height:250px}.detail-work li{gap:12px}.search-text-only h2{font-size:clamp(2rem,8vw,3.5rem)}.founder-copy h2{font-size:clamp(2.8rem,10vw,4.5rem)}.footer-links a{font-size:1rem;padding-block:9px}.contact-actions .button{max-width:100%;white-space:normal}}
@media(max-width:359px){.shell{width:calc(100% - 32px)}.brand img{width:155px}.service-card{grid-template-columns:78px minmax(0,1fr);gap:12px}.service-card img{height:120px}.service-card h3{font-size:1.4rem}.contact-copy h2,.about-peek h2{font-size:2.45rem}.hero-bottom .button{gap:12px}.contact-form-wrap{padding:18px}.contact-page-form{padding:18px}.business-jump strong{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-visual{transform:none!important}.nav-links.open{animation:none}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:761px) and (max-height:800px){.hero{height:auto;min-height:690px}.hero-inner{height:auto;min-height:690px;padding-top:42px;padding-bottom:44px}.hero h1{font-size:clamp(3.75rem,6.6vw,6.7rem)}}
.detail-hero h1,.page-hero h1,.founder-copy h2{overflow-wrap:anywhere}

/* Handwritten studio accent matches the hero signature. */
.about-peek-side .script-note{color:#795BC8}

/* Keep iOS controls and directional arrows in the site palette. */
.menu-toggle{color:var(--ink);-webkit-appearance:none;appearance:none}

/* The same handwritten accent on Home and every interior page. */
.script-note{display:block;width:fit-content;font-family:"Segoe Print","Bradley Hand","Snell Roundhand","Apple Chancery",cursive;font-style:italic;font-weight:400;line-height:1.18;letter-spacing:-.07em;transform:rotate(-3deg)}
.script-note::after{content:"";display:block;width:62%;height:1px;margin:0 0 0 auto;background:linear-gradient(90deg,transparent,var(--lav),var(--acid));transform:rotate(-2deg);opacity:.7}

.studio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}.studio-actions .text-link{margin-top:15px}.founder-section{scroll-margin-top:28px}

.founder-quote{margin:28px 0 0;padding:20px 0 20px 23px;border-left:3px solid var(--acid);max-width:630px}.founder-copy .founder-quote p{font-size:clamp(1.12rem,1.45vw,1.35rem);line-height:1.45;font-weight:450;letter-spacing:-.015em;margin:0 0 13px}.founder-quote cite{font:400 .76rem/1.4 var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}

/* WHO: let the soft background reach the viewport edge while content stays aligned. */
.who-page .who-hero{background:none;isolation:isolate}
.who-page .who-hero::before{content:"";position:absolute;inset:0 50%;width:100vw;transform:translateX(-50%);background:radial-gradient(ellipse at 80% 20%,#a78bfa30,transparent 58%);z-index:-1;pointer-events:none}
.who-page .who-hero h1,.who-page .studio-statement h2,.who-page .founder-copy h2{max-width:100%;overflow-wrap:normal;word-break:normal}
@media(max-width:760px){.who-page .who-hero h1{font-size:clamp(2.4rem,8.2vw,4.2rem);line-height:1.02}.who-page .who-hero .hero-tail{min-width:0}.who-page .who-hero .script-note{max-width:100%;white-space:normal}.who-page .studio-statement>div:last-child{padding-left:18px}.who-page .founder-grid{min-width:0}}
@media(max-width:400px){.who-page .who-hero h1{font-size:clamp(2.1rem,8vw,3rem)}.who-page .studio-statement h2{font-size:clamp(2.2rem,9vw,3.2rem)}}

/* Legal pages share the existing identity, with readable text and a quiet index. */
.legal-hero{padding-top:clamp(64px,8vw,110px);padding-bottom:48px;border-bottom:1px solid var(--hair)}
.legal-hero h1{font-size:clamp(2.6rem,6vw,6rem);line-height:1.04;letter-spacing:-.055em;margin:24px 0;max-width:100%;overflow-wrap:break-word}
.legal-hero>p{font-size:clamp(1.1rem,2vw,1.35rem);max-width:650px;line-height:1.5}
.legal-date{display:block;font: .78rem var(--mono);margin-top:28px;color:#51555a}
.legal-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,780px);gap:clamp(40px,7vw,110px);padding-top:48px;padding-bottom:96px;justify-content:space-between}
.legal-contents{align-self:start;position:sticky;top:110px;font-size:1rem}.legal-contents strong{font-weight:500;display:block;margin-bottom:18px}
.legal-contents nav{display:grid;gap:10px}.legal-contents a{color:inherit;line-height:1.45;padding:4px 0}.legal-contents a:hover{text-decoration:underline;text-decoration-color:var(--acid);text-underline-offset:5px}
.legal-copy{min-width:0}.legal-review{background:#fff;border:1px solid var(--hair);border-left:4px solid var(--acid);border-radius:14px;padding:24px;margin-bottom:40px;font-size:1rem;line-height:1.5}.legal-review strong{font-weight:500}.legal-review p{margin:8px 0 0}
.legal-section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--hair);scroll-margin-top:110px}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:0 0 20px}.legal-section p,.legal-section li{font-size:1.0625rem;line-height:1.7;overflow-wrap:anywhere}.legal-section p{margin:0 0 18px}.legal-section p:last-child{margin-bottom:0}.legal-section ul{padding-left:22px}.legal-section li{padding-left:5px;margin-bottom:18px}.legal-section a,.contact-form .form-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal-section strong{font-weight:600}
.footer-bottom .legal-links{display:flex;gap:20px;flex-wrap:wrap}.legal-links a{color:inherit;text-transform:none;text-decoration:underline;text-underline-offset:4px;font:inherit;line-height:1.5}
@media(max-width:760px){.legal-layout{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:64px}.legal-contents{position:static;border-bottom:1px solid var(--hair);padding-bottom:24px}.legal-contents nav{grid-template-columns:1fr 1fr;gap:8px 20px}.legal-contents a{font-size:1rem}.legal-review{padding:20px}.legal-hero{padding-top:48px;padding-bottom:32px}.footer-bottom .legal-links{display:flex;margin-top:14px}.legal-section{scroll-margin-top:85px}}
@media(max-width:400px){.legal-contents nav{grid-template-columns:1fr}.legal-hero h1{font-size:2.5rem}}

/* Self-hosted expressive handwriting shared by all pages. */
@font-face{font-family:"POSSIBLD Hand";src:url("fonts/caveat.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
.script-note{font-family:"POSSIBLD Hand",cursive;font-style:normal;font-weight:700;letter-spacing:-.025em;line-height:1.12;transform:rotate(-5deg)}
.script-note::after{height:3px;width:70%;border-radius:80% 20% 60% 30%;background:currentColor;opacity:.85;transform:rotate(-4deg)}
/* Mobile hero: preserve visible film and iridescent colour. */
@media(max-width:760px){
 .hero:has(#heroTitle){min-height:700px;background-color:var(--paper)}
 .hero:has(#heroTitle) .hero-media{display:block;inset:0;width:100%;height:100%;object-position:62% center;opacity:1}
 .hero:has(#heroTitle) .hero-wash{background:linear-gradient(180deg,rgba(246,247,248,.82) 0%,rgba(246,247,248,.68) 28%,rgba(246,247,248,.32) 53%,rgba(246,247,248,.1) 77%,rgba(246,247,248,.22) 100%)}
 .hero:has(#heroTitle) .hero-inner{min-height:700px;padding-top:64px;padding-bottom:30px}
 .hero #heroTitle{font-size:clamp(2.8rem,11.7vw,5.2rem);line-height:.98;letter-spacing:-.065em;margin:32px 0 25px;max-width:100%}
 .hero:has(#heroTitle) .hero-lead{max-width:340px;text-shadow:0 1px 8px rgba(246,247,248,.85)}
 .hero:has(#heroTitle) .hero-script{display:block;font-size:2rem;margin:0 0 16px 4px}
 .hero:has(#heroTitle) .hero-micro-bottom{margin-top:auto;margin-bottom:0;text-shadow:0 1px 6px var(--paper)}
}
