/* Let the work remain the subject: intact photographs, readable type, direct routes. */
.pro-primary{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);margin-inline-start:auto;margin-inline-end:2rem}
.pro-primary a{color:#1b1b1f;text-decoration:none;font:500 .85rem/1.3 var(--font-body);white-space:nowrap;padding:14px 0;position:relative}
.pro-primary a::after{content:'';position:absolute;bottom:5px;inset-inline:0;height:3px;background:#c8ff2e;transform:scaleX(0);transform-origin:left;transition:transform .22s}
.pro-primary a:hover::after,.pro-primary a[aria-current]::after{transform:scaleX(1)}
.topbar .topbar-tools{flex-shrink:0}
.motion-project .motion-project-image{position:absolute;inset:0;display:block;overflow:hidden}
.motion-project .motion-project-image img{width:100%;height:100%;max-width:none;object-fit:cover;transform:translate3d(var(--image-x,0px),var(--image-y,0px),0) scale(calc(var(--project-zoom,1)*1.035));transition:transform .25s ease-out}
.motion-project .motion-image-link{position:absolute;inset-inline-end:22px;bottom:22px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f9f6f0;color:#1b1b1f;font-size:25px;transition:background .2s,transform .2s}
.motion-project-image:hover .motion-image-link{background:#c8ff2e;transform:rotate(-8deg)}
.motion-project-copy h3{color:#fbf8f4!important;max-width:12ch}
.motion-project-copy .motion-case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem}
.motion-project-copy .motion-case-actions a{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:.7rem;line-height:1.4}
.motion-project-copy .motion-try{font:500 .8rem/1.4 var(--font-body);text-decoration:none;color:#f8f4ec!important;border:1px solid #77766c;padding:.6rem .85rem}
.motion-project-copy .motion-try:hover{border-color:#c8ff2e;background:#ffffff0a}
.motion-project .motion-visual-index{pointer-events:none;z-index:2}
.cinema-journey .green-transit .train-skip{position:absolute;z-index:6;top:calc(var(--motion-index-height,110px) + 16px);inset-inline-end:5%;display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;padding:.6rem 1rem;background:#fbf8f4;color:#1b1b1f!important;border:1px solid #1b1b1f30;text-decoration:none;font:500 .8rem/1.4 var(--font-body)}
.train-skip:hover{background:#c8ff2e!important}
.train-track{position:absolute;z-index:6;bottom:0;inset-inline:0;height:3px;background:#f8f4ec35;pointer-events:none}
.train-track i{display:block;width:100%;height:100%;background:#c8ff2e;transform:scaleX(var(--train-progress,0));transform-origin:left}
[dir=rtl] .train-track i{transform-origin:right}
.pm-screen video[hidden]{display:none!important}
/* The global light-page heading rule must not erase dark prototype titles. */
body.page-mode #main .phone-top h3{color:var(--brand-paper)}
.page[data-page] .phone .recap li span:last-child{color:var(--brand-ink)}
.page>.view{animation:pro-page-in .35s ease both}
@keyframes pro-page-in{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #526b12;outline-offset:5px}
.motion-project a:focus-visible,.train-skip:focus-visible{outline:3px solid #c8ff2e;outline-offset:-5px}
@media(min-width:1000px){
 .topbar #nav,.topbar .burger,.topbar .topbar-tools>[data-book]{display:none!important}
 .topbar{gap:clamp(1rem,2vw,2rem)}
 .pro-primary{gap:clamp(.9rem,1.6vw,1.6rem);margin-inline-end:0}
}
@media(max-width:999px){
 .pro-primary{display:none}
 .topbar #nav{display:none;position:absolute;inset:100% 0 auto;flex-direction:column;padding:1rem 5%;max-height:75svh;overflow:auto;background:var(--brand-paper);border-bottom:1px solid var(--brand-line)}
 .topbar #nav.open{display:flex}
 .topbar .burger{display:flex}
}
@media(max-width:900px){
 .motion-portfolio .folio-index>.bot-container{display:flex;width:100%;max-width:none;overflow-x:auto;overscroll-behavior-x:contain;padding:0 14px;gap:0;scrollbar-width:thin;align-items:stretch}
 .motion-portfolio .folio-index a{flex:0 0 auto;min-height:52px;padding:.75rem .9rem;white-space:nowrap}
 .motion-portfolio .folio-index .motion-pause{flex:0 0 auto;margin:0;min-height:52px;white-space:nowrap;align-self:stretch}
}
/* On touch layouts, help and booking must not cover forms or demo controls. */
@media(max-width:820px){
 #concierge-fab{position:static;width:max-content;max-width:88%;margin:1.5rem auto .75rem;animation:none}
 #concierge-fab .fab-label{display:inline}
 #sticky-cta{position:static;padding:1rem 6% calc(1.5rem + env(safe-area-inset-bottom));background:var(--brand-paper)}
 #sticky-cta .btn{max-width:100%;white-space:normal;text-align:center}
}
@media(min-width:901px) and (min-height:760px){.motion-cinema .motion-project{margin-bottom:28svh}.motion-cinema .motion-project:last-child{margin-bottom:0}}
@media(max-width:600px){.cinema-journey .green-transit .train-skip{top:calc(var(--motion-index-height,110px) + 12px);inset-inline-end:18px;font-size:.75rem}.motion-project-copy .motion-case-actions{gap:.75rem}.motion-project-copy h3{max-width:15ch}}
@media(prefers-reduced-motion:reduce){.page>.view{animation:none}.motion-project-image img,.motion-image-link,.pro-primary a::after{transition:none!important;transform:none!important}}
.portfolio-motion-paused .motion-project-image img{transition:none}

/* Studio interface ownership: commercial actions, editorial density, access. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar .topbar-tools>[data-book]{display:inline-flex!important;background:var(--brand-ink);color:var(--brand-paper);white-space:nowrap;min-height:44px}
.pro-primary a::after{background:var(--brand-ink);height:1px}
#concierge-fab{background:var(--brand-paper);color:var(--brand-ink);border:1px solid var(--brand-line);box-shadow:none}
#concierge-fab .fab-mark{font-family:var(--font-script);background:transparent;color:var(--brand-ink);font-size:2rem;width:42px;letter-spacing:0}
body.portfolio-mode #concierge-fab{display:flex!important}
body.portfolio-mode #sticky-cta{display:none!important}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.contact .contact-side{grid-column:1;grid-row:1;position:sticky;top:100px}
.contact #contact-form{grid-column:2;grid-row:1}
.contact .journey-details{grid-column:2;grid-row:2}
.contact .contact-book{padding:0 0 2rem;border:0;border-bottom:1px solid var(--brand-line);background:transparent}
.contact .contact-write-title{font:500 clamp(1.8rem,3vw,2.8rem)/1.1 var(--font-display);margin:0 0 1.5rem}
.page[data-page=contact] .page-head{padding-bottom:2rem}
.page[data-page=offers] .page-head{padding-bottom:2rem}
.page[data-page=offers] .service-editions{gap:2rem}
.page[data-page=offers] .service-edition{padding:1.5rem 0;border-width:1px 0 0;background:transparent}
.page[data-page=offers] .service-edition.featured{border-top:2px solid var(--brand-ink)}
.concierge{max-height:calc(100svh - 28px);overflow:auto;color:var(--brand-ink);background:var(--brand-paper)}
.concierge .q,.concierge h2{font:500 1.6rem/1.12 var(--font-display);margin:1rem 0}
.concierge-step{font:400 .75rem var(--font-mono);color:var(--brand-muted);margin:.75rem 0}
.concierge .choices.concierge-sectors{max-height:36svh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.concierge input[type=search]{width:100%;font:400 1rem var(--font-body);padding:.75rem;border:1px solid var(--brand-muted);border-radius:0;background:var(--brand-paper);color:var(--brand-ink)}
.concierge .choice{background:var(--brand-paper);border:1px solid var(--brand-line);color:var(--brand-ink);min-height:48px}
.concierge .choice:hover,.concierge .choice:focus-visible{background:var(--brand-nude);border-color:var(--brand-ink)}
.concierge [hidden]{display:none!important}
.concierge .actions{display:flex;flex-wrap:wrap;gap:.8rem}
.concierge .price{font:500 1.5rem var(--font-display);color:var(--brand-ink)}
.concierge p{line-height:1.6}
.concierge .dots,.concierge .ymark{display:none}
.concierge .result [style]{color:var(--brand-ink)!important}
.folio-index .motion-pause{background:transparent!important;color:var(--brand-ink)!important;border-color:var(--brand-line)!important}
.train-track{background:var(--brand-line)}.train-track i{background:var(--brand-ink)}
.suite-signature,.pm-signature{font-family:var(--font-script)}
.btn-solid{background:var(--brand-ink);color:var(--brand-paper);border-color:var(--brand-ink)}
.btn-solid:hover{background:var(--brand-nude);color:var(--brand-ink)}
[data-acid-target]{background:var(--brand-acid)!important;color:var(--brand-ink)!important;border-color:var(--brand-ink)!important}
body.page-mode :is(input,select,textarea):focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}
@media(max-width:1100px){.topbar{padding-inline:4%;gap:.8rem}.pro-primary{gap:.9rem}.pro-primary a{font-size:.8125rem}.topbar .wordmark-name{font-size:1rem}}
@media(max-width:820px){.contact{grid-template-columns:1fr;gap:2rem}.contact .contact-side,.contact #contact-form,.contact .journey-details{grid-column:auto;grid-row:auto;position:static}.contact .contact-side .what{margin-bottom:0}.topbar .topbar-tools>[data-book]{font-size:.75rem;padding:.5rem .65rem}.topbar-tools{gap:.65rem}.topbar .wordmark-name{font-size:.95rem}#concierge-fab{position:static} .concierge{inset:auto 12px 12px;width:auto;max-width:none}.page-head .suite-head-grid{gap:1rem}.page-head{padding-top:2.5rem}.page-head h1{font-size:clamp(2.5rem,10vw,4.2rem)}}
@media(max-width:400px){.topbar .topbar-tools>[data-book]{display:none!important}.topbar .lang{gap:.35rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.page>.view{animation:none}}
/* A carriage with a real camera, and legible HTML chapters. */
.cinema-journey .green-transit.metro-journey{height:300svh;background:#ede7de;color:var(--ink)}
.cinema-journey .metro-journey .green-transit-stage{position:sticky;top:0;height:100svh;min-height:620px;isolation:isolate}
.metro-canvas-host{position:absolute;inset:0;z-index:0}
.cinema-journey .metro-journey .green-gates,.cinema-journey .metro-journey .green-transit-still,.cinema-journey .metro-journey .green-transit-caption{display:none!important}
.cinema-journey .metro-journey .green-transit-inner{position:absolute;inset:auto auto 2rem 3.5%;min-height:0;max-width:350px;padding:1.3rem 1.5rem;text-align:start;background:#fbf8f4ef;border:1px solid #1b1b1f20;opacity:1;transform:none;display:block;z-index:3;pointer-events:auto}
.cinema-journey .metro-journey .green-destination{color:var(--muted);font-size:11px;margin:0 0 .4rem}
.cinema-journey .metro-journey .green-transit-inner h2{font-size:clamp(36px,4vw,58px);margin:0 0 .4rem;color:var(--ink)}
.cinema-journey .metro-journey .green-transit-inner>p:not(.green-destination){font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 .7rem}
.cinema-journey .metro-journey .green-project-link{display:inline-block;color:var(--ink);font:500 14px/1.4 var(--font-body);border-bottom:1px solid var(--ink);padding:.4rem 0;text-decoration:none}
.metro-stations{position:absolute;inset:auto 3.5% 2rem auto;z-index:4;display:flex;gap:8px}
.metro-stations button{border:1px solid #1b1b1f30;background:var(--paper);color:var(--ink);min-height:48px;padding:10px 16px;font:500 13px var(--font-body);cursor:pointer;display:flex;gap:12px;align-items:center}
.metro-stations button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.metro-stations button span{font-family:var(--font-mono);font-size:11px}
[dir=rtl] .metro-journey .green-transit-inner{left:auto;right:3.5%}
[dir=rtl] .metro-stations{left:3.5%;right:auto}
@media(max-width:700px){.cinema-journey .green-transit.metro-journey{height:235svh}.cinema-journey .metro-journey .green-transit-stage{min-height:580px}.cinema-journey .metro-journey .green-transit-inner{inset:auto 18px 78px;max-width:310px;padding:1rem 1.2rem}.metro-stations{inset:auto 18px 18px!important;justify-content:center}.metro-stations button{padding:10px;flex:1;justify-content:center}.cinema-journey .metro-journey .green-transit-inner>p:not(.green-destination){font-size:15px}}
@media(prefers-reduced-motion:reduce){.cinema-journey .green-transit.metro-journey{height:100svh;min-height:650px}.cinema-journey .metro-journey .green-transit-stage{position:relative}.metro-stations{flex-wrap:wrap}}
/* Evidence carries the same typographic discipline as the work. */
.folio-intro h2{font:400 clamp(36px,4.6vw,66px)/1.04 var(--font-display);letter-spacing:-.025em;max-width:17ch;margin:0}
.folio-intro>div>p{font-size:18px;line-height:1.65;max-width:44ch;margin:0 0 1rem}
.studio-offer-copy{max-width:48ch;font-size:18px;line-height:1.65;margin:1.2rem 0 1.7rem}
.studio-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:4rem 0;border-top:1px solid var(--line)}
.studio-case-grid h2,.studio-case-cta h2{font:400 clamp(32px,3.8vw,58px)/1.1 var(--font-display);margin:0}
.studio-case p,.studio-catalogue p{font-size:17px;line-height:1.7}
.studio-case .eyebrow,.studio-catalogue .eyebrow{font-size:12px;line-height:1.5}
.studio-decisions{border-top:1px solid var(--line);padding:2rem 0 4rem}.studio-decisions article{display:grid;grid-template-columns:50px 1fr;gap:2rem;border-bottom:1px solid var(--line);padding:1.3rem 0;align-items:baseline}.studio-decisions article>span{font:400 24px var(--font-display)}.studio-decisions h3{font:400 clamp(23px,2.5vw,34px)/1.25 var(--font-display);margin:0;max-width:42ch}
.build-inspector{margin-top:2rem;border-block:1px solid var(--line);padding:1rem 0}.build-inspector summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font:500 16px var(--font-body)}.build-inspector summary:after{content:'+'}.build-inspector[open] summary:after{content:'−'}.build-inspector dl{display:grid;grid-template-columns:100px 1fr;gap:1rem;font-size:14px;line-height:1.7}.build-inspector dd{margin:0;color:var(--muted)}
.studio-review{padding:3rem 0;border-top:1px solid var(--line)}.studio-review>div{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.studio-review article{padding:2rem;background:var(--nude)}.studio-review article+article{background:var(--paper);border:1px solid var(--ink)}.studio-review h3{font:400 30px var(--font-display);margin:0}.studio-case-cta{padding:4rem 0 7rem}.studio-case-cta a{margin:1.5rem 1.5rem 0 0}
.studio-catalogue h2{font:400 clamp(34px,4vw,64px)/1.1 var(--font-display);max-width:18ch;margin:0 0 1.2rem}.studio-pack-list{margin:2rem 0}.studio-pack-list details{border-top:1px solid var(--line)}.studio-pack-list details:last-child{border-bottom:1px solid var(--line)}.studio-pack-list summary{display:flex;gap:2rem;align-items:center;cursor:pointer;min-height:88px;padding:1rem 0}.studio-pack-list summary:after{content:'+';font-size:24px}.studio-pack-list details[open] summary:after{content:'−'}.studio-pack-list summary>span{font:400 28px var(--font-display)}.studio-pack-list summary h3{margin:0;flex:1;font:400 30px var(--font-display)}.studio-pack-list summary small{font:400 13px var(--font-mono)}.studio-pack-list ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem;padding:0 0 1.7rem 4rem;margin:0;font-size:16px;line-height:1.6}.studio-human{font-style:italic}
@media(max-width:650px){.studio-case-grid,.studio-review>div{grid-template-columns:1fr;gap:2rem}.studio-case-grid{padding:2.5rem 0}.studio-pack-list summary{gap:14px}.studio-pack-list summary h3{font-size:25px}.studio-pack-list ul{grid-template-columns:1fr;padding-inline-start:2.5rem}.studio-case .page-head h1{font-size:44px}.studio-review article{padding:1.4rem}.folio-intro>div>p{font-size:17px}}
/* Readable mobile hero with an intentional, shorter scroll choreography. */
@media(max-width:650px){.cinema-journey .scratch-hero-home.motion-hero{height:165svh;min-height:1150px}.cinema-journey .motion-hero-sticky{height:100svh;min-height:720px}}
@media(min-width:821px){.metro-stations{inset-inline-end:260px}.concierge-fab{bottom:20px}}
/* Explicit legibility tokens also apply in dark OS appearance. */
.studio-case,.studio-catalogue,.metro-journey{--ink:var(--brand-ink);--paper:var(--brand-paper);--nude:var(--brand-nude);--muted:var(--brand-muted);--line:var(--brand-line);color:var(--brand-ink)}

.studio-case .page-head .lead{margin-top:1.4rem}
/* Keep chapters clear of the caption and concierge at intermediate widths. */
@media(min-width:701px) and (max-width:1200px){
 .cinema-journey .metro-journey .green-transit-inner{bottom:100px}
 .metro-stations{inset-inline-start:3.5%;inset-inline-end:auto;bottom:24px}
}
@media(min-width:1201px){.metro-stations{inset-inline-end:330px}}

body.studio-hero-visible #concierge-fab{visibility:hidden;pointer-events:none}

/* A personal invitation, signed in ink. Motion plays once or on deliberate focus. */
body.page-mode #concierge-fab[data-signature-ready]{
 width:max-content;max-width:calc(100vw - 32px);height:auto;box-sizing:border-box;
 gap:13px;padding:4px 21px 4px 12px;min-height:66px;justify-content:center;align-items:center;
 background:transparent;color:#292521;border:0;border-radius:0;
 box-shadow:none;backdrop-filter:none;
 transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
body.page-mode #concierge-fab[data-signature-ready]:is(:hover,:focus-visible){
 background:transparent;border-color:transparent;box-shadow:none;
}
body.page-mode #concierge-fab[data-signature-ready]:focus-visible{outline:2px solid #53631e;outline-offset:5px}
body.page-mode #concierge-fab[data-signature-ready] .fab-mark{
 position:relative;display:block;flex:0 0 104px;width:104px;height:58px;
 overflow:visible;border-radius:0;background:none;color:#292521;
 font-family:var(--font-script);letter-spacing:0;direction:ltr;
}
body.page-mode #concierge-fab[data-signature-ready] .fab-signature-ink{
 position:absolute;inset:0;display:block;white-space:nowrap;
 font:400 62px/.97 var(--font-script);letter-spacing:-1.7px;text-align:center;
 transform:rotate(-7deg);transform-origin:50% 70%;
}
body.page-mode #concierge-fab[data-signature-ready] .fab-signature-flourish{
 position:absolute;inset:0;width:104px;height:58px;overflow:visible;pointer-events:none;
}
body.page-mode #concierge-fab[data-signature-ready] .fab-signature-flourish path{
 stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;
 stroke-dasharray:1;stroke-dashoffset:0;
}
body.page-mode #concierge-fab[data-signature-ready] .fab-signature-flourish circle{fill:#b9e837}
body.page-mode #concierge-fab[data-signature-ready] .fab-label{
 position:static;display:block;flex:0 1 auto;width:auto;height:auto;max-width:25ch;
 overflow:visible;clip-path:none;white-space:normal;
 color:#292521;font:550 14px/1.4 var(--font-body);letter-spacing:0;
}
body.page-mode #concierge .concierge-card{
 color:#292521;background:#fcfaf6;border:1px solid #29252126;border-top:2px solid #b9e837;
 border-radius:20px;box-shadow:0 18px 65px -28px #29252155;
}
body.page-mode #concierge :is(.concierge-head strong,.concierge-head span,.q,h2){color:#292521}
body.page-mode #concierge :is(p,.concierge-step,.choice small,.btn-link){color:#655d54}
body.page-mode #concierge .choice{color:#292521;border-color:#29252126;background:#fcfaf6;border-radius:12px}
body.page-mode #concierge .choice:is(:hover,:focus-visible){border-color:#727c45;background:#f1f2e7}
body.page-mode #concierge input[type=search]{border-radius:10px;color:#292521;background:#fffdf8;border-color:#81766a}
body.page-mode #concierge .concierge-head img{border-color:#d7cfbf}
@media(max-width:820px){
 body.page-mode #concierge-fab[data-signature-ready]{width:68px;min-height:54px;height:54px;padding:0;gap:0;border-radius:16px}
 body.page-mode #concierge-fab[data-signature-ready] .fab-mark{flex-basis:104px;transform:scale(.58);transform-origin:center}
 body.page-mode #concierge-fab[data-signature-ready] .fab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
 body.page-mode #concierge-fab[data-signature-ready]{transition:none;animation:none}
}
