/* Shared, readable type and dedicated portfolio pages. */
.intro-seen .entrance{display:none!important}.intro-seen body.entrance-open{position:static;overflow:auto}
.mono,.studio-copy .mono,.portfolio-caption .mono,.preview-credit,.dialog-body .description,.photo-caption,.entrance-top,.entrance-bottom{font-size:13px;line-height:1.6}
.entrance-invite{font-size:14px}.pause-motion{font-size:13px;min-height:44px;padding:10px 14px}nav a,.works-toggle{font-size:16px}.menu-toggle{min-height:44px}
.person{display:block}.person .person-role{font-size:13px;color:var(--sun);margin-bottom:18px}.person .person-bio{font-size:19px;line-height:1.6;color:var(--paper);max-width:540px;margin-top:24px}.person h3{font-size:clamp(34px,4vw,62px)}.person-portfolio{font-size:14px}.studio-copy{display:none}.people{margin-top:65px}.studio h2{max-width:1000px}
.portfolio-links{margin-top:55px;border-top:1px solid var(--ink)}.portfolio-links>a{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:25px;border-bottom:1px solid var(--rule);padding:34px 0;transition:background .2s}.portfolio-links>a:hover{background:var(--sun)}.portfolio-links strong{font-size:clamp(28px,4vw,65px);letter-spacing:-.055em}.door-arrow{font-size:35px}.short-contact{background:var(--sun)}.short-contact>a{font-size:clamp(50px,8vw,120px);font-weight:900;letter-spacing:-.07em;line-height:1}.gallery-page{min-height:80vh;padding-top:85px}.gallery-page-head{max-width:1200px;margin-bottom:70px}.gallery-page h1{font-size:clamp(54px,7.5vw,120px);line-height:.94;letter-spacing:-.065em;margin:0 0 35px;max-width:1000px}.gallery-page-head>p:last-child{font-size:clamp(19px,2vw,27px);line-height:1.5;max-width:800px}.portfolio-switch{position:static;display:flex;background:transparent;color:var(--ink);justify-content:start;gap:35px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:60px;padding:5px 0}.portfolio-switch a{min-height:48px;padding:16px 0}.portfolio-switch a[aria-current]{color:var(--ink);box-shadow:inset 0 -4px var(--sun)}.portfolio-switch a:hover{color:var(--ink)}
body[data-page=contact] .contact{min-height:calc(100svh - 96px)}.page-transit{position:fixed;inset:0;z-index:150;background:var(--paper);display:grid;place-items:center;pointer-events:all}.page-transit-o{width:110px;height:110px;border:30px solid var(--sun);border-radius:50%;animation:transit .3s ease-in-out both}@keyframes transit{from{transform:translateX(-20px) scale(.6)}to{transform:translateX(0) scale(1)}}
@media(max-width:600px){.mono,.studio-copy .mono,.portfolio-caption .mono,.preview-credit{font-size:13px}.section{padding-top:65px;padding-bottom:65px}.person .person-bio{font-size:18px}.portfolio-links>a{grid-template-columns:1fr auto;gap:16px}.portfolio-links>a>.mono{grid-column:1/-1}.portfolio-links strong{font-size:34px}.gallery-page h1{font-size:52px}.gallery-page-head{margin-bottom:40px}.portfolio-switch{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:40px}.portfolio-switch a{font-size:14px}.portfolio-caption h4{font-size:18px}.portfolio-item:nth-child(n){grid-column:1/-1}.experience-detail{font-size:18px!important}.experience-strip{font-size:13px!important}.footer{gap:24px}.entrance-top,.entrance-bottom{font-size:12px}.entrance-invite{font-size:14px}.dialog-actions>button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.page-transit-o{animation:none}}

/* Keep the brand mark in its own space, with strong, readable copy. */
.studio{color:#FFFFFF}.studio>h2,.studio>.eyebrow,.studio .person-bio{color:#FFFFFF;opacity:1}
.services .section-top,.service-list,.gallery-page-head,.portfolio-switch,.editorial-grid,.preview-credit,.portfolio-doors>h2,.portfolio-doors>.eyebrow,.portfolio-links{position:relative;z-index:1}
.services .section-top>p{color:#000000;font-size:20px;font-weight:500;line-height:1.5}
.studio.orbit-visible .section-orbit{opacity:1}
.gallery-page .gallery-page-head{padding-right:clamp(230px,25vw,380px);max-width:none;min-height:310px}
.gallery-page .section-orbit{width:clamp(230px,25vw,360px);border-width:clamp(64px,7vw,100px);right:var(--gutter);top:95px;opacity:1;transform:none;animation:galleryOrbit 7s ease-in-out infinite}
.gallery-page h1{font-size:clamp(48px,6vw,96px)}
.gallery-page .portfolio-switch{gap:40px}.portfolio-switch a{position:relative;padding-left:25px}
.portfolio-switch a[aria-current]{box-shadow:none}.portfolio-switch a[aria-current]:before{content:'';position:absolute;left:0;top:50%;width:14px;height:14px;border:5px solid var(--sun);border-radius:50%;box-sizing:border-box;transform:translateY(-50%)}
.portfolio-image .zoom-mark{transform:none;width:48px;height:48px;border:2px solid var(--ink);color:var(--ink)}
.gallery-page .preview-credit{color:#45423B;font-weight:600}
@keyframes galleryOrbit{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(14px) scale(.96,1.04)}}
@media(max-width:650px){.gallery-page .gallery-page-head{padding-right:0;padding-top:190px;min-height:0}.gallery-page .section-orbit{width:160px;border-width:45px;top:35px;right:var(--gutter)}.gallery-page h1{font-size:52px}.gallery-page .portfolio-switch{gap:22px}.portfolio-switch a{padding-left:20px}.services .section-top>p{font-size:19px}.portfolio-image .zoom-mark{width:44px;height:44px}.studio>h2,.studio>.eyebrow{max-width:100%}}
@media(prefers-reduced-motion:reduce){.gallery-page .section-orbit{animation:none}}
/* Home: say what the studio does before the brand promise. */
.experience-home h1{white-space:pre-line;font-size:clamp(38px,3.9vw,67px);line-height:1.03;letter-spacing:-.05em}
.experience-home h1::first-line{color:var(--paper)}
.experience-lead{font-size:clamp(21px,1.85vw,28px);line-height:1.4;max-width:570px}
.experience-detail{font-size:17px;line-height:1.65;max-width:550px}
@media(max-width:650px){.experience-home h1{font-size:clamp(32px,8.2vw,52px)}.experience-lead{font-size:21px}.experience-copy{padding-top:40px}.experience-copy .eyebrow{font-size:12px}}

/* Brand promise first; the offer and experience get their own space. */
.experience-home h1{font-size:clamp(44px,4.8vw,82px);line-height:.97;letter-spacing:-.065em}
.experience-lead{white-space:pre-line;font-size:clamp(23px,2vw,30px);max-width:530px}
.home-offer{padding-top:120px;padding-bottom:140px;background:var(--paper)}
.home-offer-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end;position:relative;z-index:1}
.home-offer h2{white-space:pre-line;font-size:clamp(42px,5.3vw,88px);line-height:.99;letter-spacing:-.055em}
.home-offer-grid>p{font-size:clamp(23px,2.1vw,32px);line-height:1.4;margin:0;max-width:570px}
.offer-orbit{position:absolute;width:250px;aspect-ratio:1;border:72px solid var(--sun);border-radius:50%;right:-110px;top:-140px;animation:galleryOrbit 7s ease-in-out infinite}
.home-experience{background:var(--sun);padding-top:85px;padding-bottom:95px}
.experience-facts{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.experience-facts h2{font-size:clamp(35px,4.4vw,72px);line-height:1.02;letter-spacing:-.055em;white-space:pre-line}
.experience-facts p{font-size:clamp(20px,1.8vw,28px);line-height:1.4;margin:28px 0 0;max-width:460px}
@media(max-width:800px){.home-offer-grid{grid-template-columns:1fr;gap:40px}.home-offer-grid>p{max-width:620px}.experience-facts{grid-template-columns:1fr;gap:48px}.experience-facts>div+div{border-top:1px solid #00000044;padding-top:40px}}
@media(max-width:650px){.experience-home h1{font-size:clamp(42px,10.4vw,66px)}.experience-lead{font-size:24px}.home-offer{padding-top:75px;padding-bottom:80px}.home-offer h2{font-size:clamp(31px,7.5vw,49px)}.home-offer-grid>p{font-size:24px}.experience-facts h2{font-size:clamp(35px,8.5vw,55px)}.home-experience{padding-top:65px;padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.offer-orbit{animation:none}}

/* Explain the studio before visitors enter. */
.entrance-offer{display:block;max-width:630px;margin-top:30px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(19px,2.2vw,29px);font-weight:600;line-height:1.3;text-align:center;text-wrap:balance;text-shadow:0 2px 16px #000,0 1px 4px #000}
.entrance-invite{margin-top:22px}
@media(max-width:650px){.entrance-offer{font-size:20px;max-width:330px;margin-top:26px}.entrance-invite{margin-top:22px}.contact .email{font-size:clamp(22px,6.4vw,32px)}}
@media(max-height:550px) and (min-width:651px){.entrance-brand{padding:50px 9vw}.entrance-brand .wordmark{max-height:42svh;width:auto;max-width:65vw}.entrance-offer{font-size:18px;margin-top:15px}.entrance-invite{margin-top:12px}}
