/* Fine Intent — three photographic worlds, one restrained motion language. */
:root{--fi-ease:cubic-bezier(.22,.75,.16,1);--fi-ivory:#eee8dc;--fi-carbon:#171916;--fi-copper:#c68e70}
.service-choices{position:relative;padding:85px 4vw 100px;background:var(--bg);color:var(--ink)}.aperture-seam{position:absolute;inset:0 0 auto;height:60px;overflow:hidden;pointer-events:none}.aperture-seam i{position:absolute;inset:0 47% 0 -8%;background:var(--fi-copper);opacity:.5;transform:skewX(-28deg) translateX(calc(var(--aperture,1)*-110%))}.aperture-seam i+i{inset:0 -8% 0 53%;background:var(--ink);opacity:.2;transform:skewX(-28deg) translateX(calc(var(--aperture,1)*110%))}
.choices-intro{display:grid;grid-template-columns:1.8fr 1fr;gap:7vw;align-items:end;margin-bottom:65px}.choices-intro h2{font-size:clamp(42px,4.6vw,68px);line-height:1.03;max-width:850px}.choices-intro>p{font-size:15px;line-height:1.65;color:var(--muted);max-width:350px;padding-bottom:5px}
.route-grid{display:grid;grid-template-columns:1.03fr 1.22fr 1fr;gap:3vw;align-items:start}.route{min-width:0;display:block}.route-leads{margin-top:90px}.route-web{margin-top:32px}.route-scene{position:relative;overflow:hidden;background:var(--fi-carbon);color:var(--fi-ivory);isolation:isolate}.route-scene>img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--fi-ease);display:block}.gallery-sunglasses{aspect-ratio:.89;clip-path:polygon(0 0,100% 0,100% 94%,93% 100%,0 100%)}.gallery-sunglasses>img{object-position:52% 50%}.gallery-automotive{aspect-ratio:1.53}.gallery-automotive>img{object-position:62% center}.gallery-architecture{aspect-ratio:.78}.gallery-architecture>img{object-position:69% center}.gallery-object{position:absolute;left:25px;top:25px;font-size:12px;color:#333128}.gallery-query{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:14px;background:#101512cf;border:1px solid #eee8dc42}.gallery-query b{font-size:21px;font-weight:400}.gallery-stay{position:absolute;left:23px;top:23px;font-size:30px;letter-spacing:-.045em;text-shadow:0 1px 10px #0006}.gallery-stay i{font-size:12px;font-style:normal;letter-spacing:0;margin-left:7px}.route:hover .route-scene>img{transform:scale(1.045)}.route-copy{padding-top:23px}.route h3{font-size:clamp(26px,2.4vw,37px);font-weight:450;letter-spacing:-.045em}.route p{font-size:14px;line-height:1.6;color:var(--muted);max-width:340px;margin:15px 0 20px}.route-link{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.route-link b{font-size:24px;font-weight:400}
/* Agency framing stays outside the fictional subjects. */
.design-intro,.campaign-intro{padding:105px 4vw 42px}.design-heading,.campaign-heading{display:grid;grid-template-columns:1.45fr .7fr;gap:19px 6vw;align-items:start}.design-heading .back-link,.campaign-heading .back-link{grid-column:1/-1;margin:0 0 6px}.design-heading>.eyebrow,.campaign-heading>.eyebrow{grid-column:1/-1;margin:0}.design-heading h1,.campaign-heading h1{grid-column:1;grid-row:3/span 2;font-size:clamp(54px,5.8vw,86px);line-height:.98;letter-spacing:-.06em;font-weight:450}.design-heading>p:not(.eyebrow),.campaign-heading>p:not(.eyebrow){grid-column:2;font-size:16px;line-height:1.65;max-width:390px;color:var(--muted)}.design-heading .landing-actions,.campaign-heading .landing-actions{grid-column:2;display:flex;gap:12px;flex-wrap:wrap;margin:0}.design-heading .cta,.campaign-heading .cta{font-size:12px;padding:15px 17px;min-height:49px;gap:24px}
/* Hospitality is a working concept website, with its own identity. */
.hospitality-lab{margin:0 4vw 75px}.concept-toolbar{padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}.concept-toolbar>p{font-size:11px;line-height:1.5;color:var(--muted)}.view-controls{display:flex;gap:5px;flex-shrink:0}.view-controls button{padding:10px 16px;min-height:42px;font-size:12px;border:1px solid var(--line);color:var(--muted)}.view-controls button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.view-controls button:focus-visible{outline:2px solid var(--fi-copper);outline-offset:3px}.hospitality-stage{display:flex;justify-content:center;align-items:flex-start;min-height:1170px;background:linear-gradient(125deg,#23251f,#12140f);padding:30px 0;overflow:hidden}.stay-site{width:1200px;max-width:100%;flex-shrink:0;container-type:inline-size;background:#e8e1d5;color:#292c24;box-shadow:0 25px 60px #0005}.stay-site[data-view=tablet]{width:740px}.stay-site[data-view=mobile]{width:390px}.stay-site a:focus-visible,.stay-site button:focus-visible{outline:2px solid #dfb696;outline-offset:4px}.stay-hero{position:relative;height:620px;isolation:isolate;color:#f5f0e4;overflow:hidden}.stay-photo,.stay-shade{position:absolute;inset:0;z-index:-2}.stay-photo img{height:100%;width:100%;object-fit:cover;object-position:60% center;display:block}.stay-shade{z-index:-1;background:linear-gradient(90deg,#171c1863,transparent 70%),linear-gradient(#151b1380,transparent 45%,#171b1840)}.stay-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 40px;height:90px;border-bottom:1px solid #f5f0e464}.stay-logo{font-size:30px;letter-spacing:-.04em;white-space:nowrap}.stay-logo span{font-size:12px;letter-spacing:0;margin-left:8px}.stay-nav>nav{display:flex;gap:33px;align-items:center}.stay-nav>nav a{font-size:13px;padding:12px 0}.stay-nav>nav a:last-child{border-bottom:1px solid #f5f0e485}.stay-nav>nav a span{margin-left:26px}.stay-menu-toggle{display:none;min-height:44px;color:inherit;font-size:12px}.stay-menu-toggle span{margin-left:25px;font-size:22px}.stay-menu{position:absolute;z-index:5;top:78px;left:22px;right:22px;background:#20271eef;padding:17px 23px;display:flex;flex-direction:column}.stay-menu a{padding:15px 0;display:flex;justify-content:space-between;border-bottom:1px solid #f5f0e42a;font-size:17px}.stay-hero-copy{position:absolute;left:40px;top:160px}.stay-hero-copy>p{font-size:9px;letter-spacing:.14em;margin-bottom:28px}.stay-hero-copy h2{font-size:clamp(63px,8.5cqw,102px);line-height:.9;font-weight:400;letter-spacing:-.06em}.stay-explore{display:flex;align-items:center;justify-content:space-between;gap:60px;max-width:260px;margin-top:38px;font-size:12px;border-bottom:1px solid #f5f0e485;padding:12px 0}.stay-explore span{font-size:24px}.stay-location{position:absolute;right:40px;bottom:34px;font-size:11px;line-height:1.6;text-align:right}.stay-editorial{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding:45px 40px}.stay-editorial article{scroll-margin-top:95px;min-width:0}.stay-editorial article>p:first-child{font-size:9px;letter-spacing:.13em;margin-bottom:22px;color:#66685d}.stay-editorial h3{font-size:42px;font-weight:400;letter-spacing:-.045em;line-height:1}.stay-editorial article>p:not(:first-child){font-size:13px;line-height:1.6;max-width:310px;margin-top:22px;color:#66685d}.stay-editorial article>a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a9a596;font-size:12px;margin-top:22px;padding:10px 0;max-width:270px}.stay-editorial article>a span{font-size:22px}.stay-journal-image{height:120px;overflow:hidden;margin-bottom:18px}.stay-journal-image img{width:100%;height:100%;object-fit:cover;object-position:75% 64%;display:block}.stay-editorial article+article h3{font-size:27px}.stay-editorial article+article>p:last-child{margin-top:10px}
@container (max-width:850px){.stay-nav{margin:0 30px;height:80px}.stay-nav>nav{display:none}.stay-menu-toggle{display:block}.stay-hero{height:620px}.stay-photo img{object-position:62% center}.stay-hero-copy{left:30px;top:170px}.stay-hero-copy h2{font-size:clamp(64px,11cqw,85px)}.stay-location{right:30px}.stay-editorial{padding:35px 30px;gap:8%}.stay-editorial h3{font-size:37px}.stay-journal-image{height:110px}}
@container (max-width:540px){.stay-nav{margin:0 23px;height:78px}.stay-logo{font-size:27px}.stay-hero{height:610px}.stay-photo img{object-position:63% center}.stay-shade{background:linear-gradient(90deg,#151c1960,transparent),linear-gradient(#151c1980,transparent 55%,#151c1959)}.stay-hero-copy{left:24px;right:24px;top:160px}.stay-hero-copy>p{font-size:8px;margin-bottom:26px}.stay-hero-copy h2{font-size:clamp(43px,14.3cqw,75px);line-height:.94;max-width:360px}.stay-explore{margin-top:32px;max-width:none;width:100%;padding:16px 0;font-size:12px}.stay-location{bottom:28px;right:24px;font-size:10px}.stay-editorial{grid-template-columns:1fr;gap:38px;padding:35px 24px}.stay-editorial article+article{padding-top:30px;border-top:1px solid #bdb6a7}.stay-editorial article>p:first-child{margin-bottom:18px}.stay-editorial h3{font-size:40px}.stay-journal-image{height:155px}.stay-editorial article>a{max-width:none}.stay-editorial article>p:not(:first-child){max-width:none}}
/* A photograph becomes a commerce surface in one bounded movement. */
.scene-world{margin:0 4vw 75px;position:relative;isolation:isolate}.scene-world figcaption{font-size:11px;color:var(--muted);padding:17px 0;border-bottom:1px solid var(--line)}.commerce-canvas{position:relative;height:570px;overflow:hidden;background:#e8dfcf;color:#26291f;isolation:isolate}.commerce-visual{position:absolute;inset:-50px 0;display:block;transform:translateX(0) scale(1);transition:transform 1200ms var(--fi-ease);z-index:-1}.commerce-visual img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block}.commerce-origin{position:absolute;left:42px;bottom:38px;transition:transform 350ms var(--fi-ease),opacity 250ms var(--fi-ease)}.commerce-origin>p{font-size:9px;letter-spacing:.14em;margin-bottom:14px}.commerce-origin h2{font-size:58px;font-weight:400;line-height:.9;letter-spacing:-.05em}.scene-start{position:absolute;right:35px;bottom:35px;display:flex;justify-content:space-between;align-items:center;gap:40px;min-height:58px;padding:17px 23px;font-size:13px;transition:transform 300ms var(--fi-ease),opacity 250ms var(--fi-ease)}.scene-start span{font-size:24px}.commerce-start{background:#21251e;color:#f3eee2}.scene-world button:focus-visible{outline:2px solid var(--fi-copper);outline-offset:4px}.scene-panel{position:absolute;z-index:3;transition:transform 1000ms var(--fi-ease),opacity 300ms var(--fi-ease);transition-delay:180ms;transform:translateX(105%);opacity:0}.commerce-panel{right:25px;top:25px;bottom:25px;width:34%;padding:35px;background:#f3eee3;box-shadow:-25px 15px 55px #27291d20;display:flex;flex-direction:column;justify-content:space-between}.world-eyebrow{font-size:9px;letter-spacing:.13em;color:#68685b}.commerce-detail h2{font-size:52px;font-weight:400;line-height:1;letter-spacing:-.055em;margin:25px 0}.product-material{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding-bottom:20px;border-bottom:1px solid #b9b4a5}.product-material>span{color:#737265}.commerce-order{transition:transform 400ms var(--fi-ease),opacity 350ms var(--fi-ease);transition-delay:700ms;transform:translateY(28px);opacity:0}.commerce-order h3{font-size:24px;font-weight:400;letter-spacing:-.025em}.scene-panel dl{margin-top:19px}.scene-panel dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #c7c1b2;font-size:12px;padding:13px 0;line-height:1.35}.scene-panel dt{color:#747265}.scene-panel dd{margin:0;text-align:right}.study-note{font-size:10px;line-height:1.6;color:#757468;margin-top:18px}.scene-reset{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;border-top:1px solid #b5b0a0;margin-top:23px;padding-top:14px;min-height:45px}.scene-reset span{font-size:24px}.commerce-world[data-open=true] .commerce-visual{transform:translateX(-13%) scale(.92)}.scene-world[data-open=true] .scene-panel{transform:translateX(0);opacity:1}.scene-world[data-open=true] .scene-start{transform:translateY(75px);opacity:0;pointer-events:none}.commerce-world[data-open=true] .commerce-origin{transform:translateY(80px);opacity:0}.commerce-world[data-open=true] .commerce-order{transform:translateY(0);opacity:1}
/* Search opens into the campaign, then resolves into an enquiry. */
.drive-canvas{position:relative;height:640px;overflow:hidden;background:#171d18;color:#f1ecdf;isolation:isolate}.drive-visual{position:absolute;inset:-5%;z-index:-2;clip-path:polygon(27% 0,100% 0,100% 100%,16% 100%);transition:transform 1250ms var(--fi-ease),clip-path 950ms var(--fi-ease);transform:translateX(0) scale(1);display:block}.drive-visual img{height:100%;width:100%;object-fit:cover;object-position:63% center;display:block}.drive-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#121a1859,transparent 60%);pointer-events:none}.drive-origin{position:absolute;left:40px;top:36px;transition:transform 500ms var(--fi-ease),opacity 300ms var(--fi-ease)}.drive-query{display:flex;align-items:center;gap:14px;border:1px solid #eae5d95c;padding:16px 19px;background:#171d19cc;max-width:365px}.drive-query svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3}.drive-query p{font-size:12px}.drive-query>span{font-size:22px;margin-left:18px}.drive-origin h2{font-size:clamp(62px,6.7vw,98px);line-height:.91;letter-spacing:-.06em;font-weight:400;margin-top:45px}.drive-start{background:#e4b698;color:#1c211a}.drive-panel{right:28px;top:30px;bottom:30px;width:31%;padding:35px;background:#e9e4d6;color:#25291f;box-shadow:-20px 15px 60px #0003;display:flex;flex-direction:column}.drive-source{font-size:11px;color:#6d6e60;border-bottom:1px solid #b8b7a6;padding-bottom:25px}.drive-panel h2{font-size:clamp(42px,4.7vw,66px);font-weight:400;line-height:.94;letter-spacing:-.055em;margin-top:35px}.drive-panel dl{margin-top:35px}.drive-panel dl>div{padding:17px 0}.drive-panel .scene-reset{margin-top:auto}.drive-world[data-open=true] .drive-visual{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translateX(-9%) scale(1.035)}.drive-world[data-open=true] .drive-origin{transform:translateX(-70px);opacity:0;pointer-events:none}
html.scrolled body:has(.campaign-intro) header,html.scrolled body:has(.design-intro) header{background:var(--bg)}
@media(min-width:701px) and (max-width:1100px){.choices-intro{grid-template-columns:1.5fr 1fr;gap:40px}.choices-intro h2{font-size:52px}.route-grid{gap:24px}.route-leads{margin-top:60px}.gallery-query{left:10px;right:10px;bottom:10px;font-size:9px;padding:11px}.route h3{font-size:27px}.gallery-stay{font-size:24px;left:17px}.design-heading,.campaign-heading{grid-template-columns:1.2fr 1fr;gap:20px 35px}.design-heading h1,.campaign-heading h1{font-size:clamp(49px,5.7vw,69px)}.commerce-panel{width:42%;padding:27px}.commerce-detail h2{font-size:44px}.commerce-world[data-open=true] .commerce-visual{transform:translateX(-20%) scale(.92)}.drive-panel{width:39%;padding:27px}.drive-origin h2{font-size:68px}.drive-query{max-width:340px;padding:15px}.drive-world[data-open=true] .drive-visual{transform:translateX(-15%) scale(1.035)}.hospitality-stage{padding:20px 0}.concept-toolbar>p{max-width:290px}}
@media(max-width:700px){.service-choices{padding:55px 20px 55px}.aperture-seam{display:none}.choices-intro{display:block;margin-bottom:35px}.choices-intro h2{font-size:40px;line-height:1.05}.choices-intro>p{font-size:14px;margin-top:23px}.route-grid{display:block}.route,.route-leads,.route-web{margin:0 0 40px}.route-commerce{margin-right:30px}.route-leads{margin-left:18px}.route-web{margin-right:15px}.gallery-sunglasses{aspect-ratio:1.1}.gallery-automotive{aspect-ratio:1.3}.gallery-architecture{aspect-ratio:1.1}.route-copy{padding-top:20px}.route h3{font-size:32px}.route p{font-size:14px;margin:12px 0}.route-link{padding:12px 0}.gallery-object{left:18px;top:18px}.gallery-query{left:14px;right:14px;bottom:14px}.design-intro,.campaign-intro{padding:92px 20px 32px}.design-heading,.campaign-heading{display:block}.design-heading .back-link,.campaign-heading .back-link{margin-bottom:20px}.design-heading>.eyebrow,.campaign-heading>.eyebrow{margin-bottom:22px}.design-heading h1,.campaign-heading h1{font-size:clamp(43px,12.4vw,67px);margin-bottom:25px}.design-heading>p:not(.eyebrow),.campaign-heading>p:not(.eyebrow){font-size:15px}.design-heading .landing-actions,.campaign-heading .landing-actions{margin-top:24px;gap:10px}.design-heading .cta,.campaign-heading .cta{font-size:11px;gap:10px;padding:14px;flex:1}.hospitality-lab{margin:0 0 45px}.concept-toolbar{padding:17px 20px;display:block}.concept-toolbar>p{font-size:10px;max-width:300px}.view-controls{display:none}.hospitality-stage{padding:0;min-height:0}.stay-site{width:100%!important;box-shadow:none}.scene-world{margin:0 0 42px}.scene-world figcaption{margin:0 20px;padding:15px 0;font-size:10px}.commerce-canvas{height:700px}.commerce-visual{inset:0 0 auto;height:350px;transition:transform 800ms var(--fi-ease)}.commerce-visual img{object-fit:cover;object-position:center center}.commerce-origin{left:25px;bottom:auto;top:28px}.commerce-origin h2{font-size:43px}.commerce-origin>p{font-size:8px}.commerce-start{right:22px;left:22px;bottom:27px}.scene-start{font-size:12px;min-height:56px}.commerce-canvas:after{content:"";position:absolute;left:0;right:0;top:390px;height:200px;background:linear-gradient(#e8dfcf00,#e8dfcf 20%);z-index:-1}.commerce-world[data-open=true] .commerce-visual{transform:translateY(-25px) scale(1)}.scene-panel{transition:transform 850ms var(--fi-ease),opacity 300ms var(--fi-ease);transition-delay:120ms;transform:translateY(105%)}.commerce-panel{top:auto;left:18px;right:18px;bottom:18px;width:auto;min-height:385px;padding:25px;box-shadow:0 -20px 40px #27291d1c}.commerce-detail h2{font-size:36px;margin:16px 0}.product-material{font-size:12px;padding-bottom:16px}.commerce-order h3{font-size:22px;margin-top:23px}.commerce-order dl{margin-top:10px}.commerce-order dl>div{padding:10px 0;font-size:11px}.study-note{font-size:10px;margin-top:13px}.scene-reset{margin-top:16px;padding-top:12px;min-height:43px}.commerce-order{transition-delay:600ms}.drive-canvas{height:820px}.drive-visual{inset:0;height:360px;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);transform:none}.drive-visual img{object-position:60% center}.drive-origin{left:22px;right:22px;top:25px}.drive-query{padding:14px;gap:10px;max-width:none}.drive-query p{font-size:11px}.drive-query>span{margin-left:auto;font-size:20px}.drive-origin h2{font-size:58px;margin-top:36px}.drive-start{left:22px;right:22px;bottom:27px}.drive-panel{top:auto;left:18px;right:18px;bottom:18px;width:auto;height:455px;padding:25px;box-shadow:0 -20px 50px #0003}.drive-source{font-size:10px;padding-bottom:18px}.drive-panel h2{font-size:45px;line-height:.94;margin-top:24px}.drive-panel dl{margin-top:20px}.drive-panel dl>div{font-size:12px;padding:13px 0}.drive-world[data-open=true] .drive-visual{transform:translateY(-25px) scale(1.02)}.drive-world[data-open=true] .drive-origin{transform:translateY(-70px)}.scene-world[data-open=true] .scene-panel{transform:none}.route:hover .route-scene>img{transform:none}}
@media(prefers-reduced-motion:reduce){.aperture-seam{display:none}.scene-world *,.route-scene>img{transition:none!important}}html.paused .aperture-seam{display:none}html.paused .scene-world *{transition:none!important}
/* The concept opens as one architectural plane, then offers a second live state. */
.concept-toolbar{position:sticky;top:64px;z-index:7;background:var(--bg)}.hospitality-stage{min-height:1110px}.stay-hero-copy{right:25%}.stay-hero-copy h2{max-width:720px}.stay-photo{transition:transform 1300ms var(--fi-ease),clip-path 1100ms var(--fi-ease);transform:scale(1);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.stay-nav{transition:opacity 600ms var(--fi-ease);transition-delay:240ms}.stay-hero-copy h2{transition:transform 1100ms var(--fi-ease),clip-path 950ms var(--fi-ease)}.concept-armed:not(.concept-ready) .stay-photo{transform:scale(1.08) translateX(2%);clip-path:polygon(16% 0,100% 0,100% 100%,5% 100%)}.concept-armed:not(.concept-ready) .stay-nav{opacity:0}.concept-armed:not(.concept-ready) .stay-hero-copy h2{transform:translateX(-65px);clip-path:inset(0 0 0 100%)}
.stay-space{display:grid;grid-template-columns:.8fr 1.2fr;padding:45px 40px;gap:45px;min-height:425px;scroll-margin-top:140px}.space-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.space-tabs{display:flex;gap:20px;margin-bottom:35px}.space-tabs button{font-size:11px;min-height:35px;padding:7px 0;color:#797969;border-bottom:1px solid transparent}.space-tabs button[aria-pressed=true]{color:#282c22;border-color:#585e4b}.space-kicker{font-size:9px;letter-spacing:.12em;color:#6a6d5e;margin-bottom:19px}.space-copy h3{font-size:clamp(35px,3.5cqw,47px);line-height:.98;font-weight:400;letter-spacing:-.045em}.space-description{font-size:13px;line-height:1.6;max-width:250px;margin-top:21px;color:#6a6d5e}.space-copy>a{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:260px;padding:12px 0;border-bottom:1px solid #a6ac97;font-size:12px;margin-top:auto}.space-copy>a span{font-size:23px}.space-window{position:relative;overflow:hidden;min-height:340px;background:#747564;color:#f1ecdF;isolation:isolate}.space-window>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% 68%;transform:scale(1.15);transition:transform 1100ms var(--fi-ease),object-position 1100ms var(--fi-ease);z-index:-2}.space-window:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#151b13aa);z-index:-1}.space-caption{position:absolute;left:23px;top:23px;font-size:10px;text-shadow:0 1px 10px #0008}.space-toggle{position:absolute;left:23px;right:23px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:45px;font-size:12px;border-bottom:1px solid #eee8dc85;padding:12px 0;color:inherit}.space-toggle span{font-size:23px}.stay-space[data-detail=material] .space-window>img{transform:scale(2.3);object-position:92% 64%;transform-origin:85% 60%}
/* The same pair is inspected, selected and carried into the summary. */
.commerce-panel{justify-content:flex-start;overflow:hidden}.commerce-inspect{margin-top:24px}.specimen-tabs{display:flex;gap:25px;border-bottom:1px solid #c5bfb0}.specimen-tabs button{font-size:12px;padding:8px 0 12px;min-height:38px;color:#777567;border-bottom:1px solid transparent}.specimen-tabs button[aria-pressed=true]{color:#292c22;border-color:#292c22}.specimen-window{position:relative;height:135px;overflow:hidden;margin-top:18px;background:#ddd4c4}.specimen-window>img{height:100%;width:100%;object-fit:cover;object-position:48% 50%;transform:scale(1.7);transform-origin:49% 47%;transition:transform 850ms var(--fi-ease),transform-origin 850ms var(--fi-ease)}.specimen-window[data-detail=lens]>img{transform:scale(2.7);transform-origin:44% 64%}.specimen-caption{position:absolute;left:13px;bottom:12px;background:#f4eee2e6;padding:6px 9px;color:#36382e;font-size:10px}.commerce-continue{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;font-size:12px;padding:15px 0;border-top:1px solid #b5b0a0;margin-top:22px;min-height:48px}.commerce-continue span{font-size:24px}.commerce-order{margin-top:auto;transition-delay:0ms}.commerce-order[hidden],.commerce-inspect[hidden]{display:none!important}.commerce-world[data-stage=checkout] .commerce-visual{transform:translateX(-15%) scale(.88)}
@container(max-width:850px){.stay-space{padding:35px 30px;gap:28px;grid-template-columns:.9fr 1.1fr}.space-window{min-height:340px}.space-copy h3{font-size:35px}.space-tabs{margin-bottom:27px}.stay-hero-copy{right:25%}.stay-hero-copy h2{max-width:570px}}
@container(max-width:540px){.stay-space{display:flex;flex-direction:column;padding:32px 24px;gap:28px}.space-copy{display:block}.space-copy h3{font-size:42px}.space-kicker{margin-bottom:16px}.space-description{max-width:none;margin-top:18px}.space-copy>a{max-width:none;margin-top:17px}.space-window{min-height:290px}.space-tabs{margin-bottom:26px}.space-window>img{object-position:72% center}.stay-hero-copy{right:24px}.stay-hero-copy h2{max-width:95%;font-size:clamp(44px,14.2cqw,72px)}.space-caption{font-size:9px}}
@media(max-width:700px){.concept-toolbar{position:relative;top:auto}.hospitality-stage{min-height:0}.commerce-panel{min-height:390px}.commerce-inspect{margin-top:15px}.specimen-window{height:100px;margin-top:12px}.commerce-continue{margin-top:15px}.commerce-world[data-stage=checkout] .commerce-visual{transform:translateY(-25px) scale(1)}.commerce-world[data-stage=detail] .commerce-origin{opacity:0}.commerce-order{margin-top:auto}.concept-armed:not(.concept-ready) .stay-photo{clip-path:none;transform:scale(1.025)}.concept-armed:not(.concept-ready) .stay-hero-copy h2{clip-path:none;transform:none}.concept-armed:not(.concept-ready) .stay-nav{opacity:1}}
@media(prefers-reduced-motion:reduce){.hospitality-lab *{transition:none!important}}html.paused .hospitality-lab *{transition:none!important}
/* Service scope reads as one concise editorial section, without deck-style boxes. */
.specialist-moment{padding:75px 4vw 85px}.specialist-moment .moment-sticky{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start;margin:0}.specialist-moment .moment-copy{position:relative;top:auto;max-width:530px}.specialist-moment .moment-copy h2{font-size:clamp(39px,4.3vw,64px);line-height:1.03;margin:0 0 25px}.specialist-moment .moment-copy>p{font-size:16px;line-height:1.65;color:var(--muted);max-width:450px}.specialist-moment .moment-steps{display:block}.specialist-moment .moment-steps article,.specialist-moment .moment-steps article:nth-child(2n){display:grid;grid-template-columns:155px 1fr;gap:25px;min-height:0;padding:23px 0;border:0;border-top:1px solid var(--line);background:none;box-shadow:none;transform:none}.specialist-moment .moment-steps article:last-child{border-bottom:1px solid var(--line)}.specialist-moment .moment-steps article:before,.specialist-moment .moment-steps article:after{content:none}.specialist-moment .scope-label{font-size:15px;font-weight:450;line-height:1.4;letter-spacing:-.02em;margin:0;text-transform:none;color:var(--ink)}.specialist-moment .scope-detail{font-size:15px;line-height:1.65;margin:0;color:var(--muted);font-weight:400;letter-spacing:0;max-width:370px}.specialist-cta h2{max-width:850px}.specialist-cta{padding-block:75px}
@media(max-width:1000px) and (min-width:701px){.specialist-moment .moment-sticky{grid-template-columns:1fr;gap:35px}.specialist-moment .moment-copy{max-width:650px}.specialist-moment .moment-steps article{grid-template-columns:190px 1fr}.specialist-moment .scope-detail{max-width:600px}}
@media(max-width:700px){.specialist-moment{padding:50px 20px}.specialist-moment .moment-sticky{display:block}.specialist-moment .moment-copy{margin-bottom:32px}.specialist-moment .moment-copy h2{font-size:38px;margin-bottom:20px}.specialist-moment .moment-copy>p{font-size:15px}.specialist-moment .moment-steps article,.specialist-moment .moment-steps article:nth-child(2n){display:block;padding:20px 0}.specialist-moment .scope-label{font-size:17px;margin-bottom:9px}.specialist-moment .scope-detail{font-size:14px}.specialist-cta{padding:55px 20px}.specialist-cta h2{font-size:43px}}

/* Final chapter: one material surface joins the enquiry and footer. */
body:has(.hero){--closing-paper:#e8e2d6;--closing-surface:#f3eee4;--closing-ink:#282c24;--closing-muted:#64695d;--closing-line:#b7b9ab}
body:has(.hero) .close-work-type{position:relative;background:var(--bg);color:var(--ink);padding:105px 4vw 120px}
body:has(.hero) .close-work-type .close-copy{grid-template-columns:1.12fr .88fr;gap:7vw;align-items:center}
body:has(.hero) .close-copy h2{font-size:clamp(60px,6.8vw,104px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:690px}
body:has(.hero) .close-work-type .truth-list{border-color:var(--line);grid-row:auto}
body:has(.hero) .close-work-type .truth-list li{padding:24px 0;border-color:var(--line)}
body:has(.hero) .truth-list h3{font-size:23px}
body:has(.hero) .close-work-type .truth-list p{color:var(--muted);font-size:14px;max-width:410px}
body:has(.hero) .close-work-type:after{content:"";position:absolute;left:4vw;bottom:0;width:1px;height:72px;background:var(--muted);opacity:.6}
body:has(.hero) .war-contact{background:var(--closing-paper);color:var(--closing-ink);padding:100px 4vw 65px;--muted:var(--closing-muted);--line:var(--closing-line)}
body:has(.hero) .war-contact:before{inset:0 auto auto -35px;width:125px;height:40px;background:var(--bg);transform:skewX(-28deg);z-index:0;pointer-events:none}
body:has(.hero) .war-contact:after{content:"";position:absolute;top:0;left:4vw;width:1px;height:65px;background:var(--closing-muted);opacity:.6;transform:scaleY(1);transform-origin:top;transition:transform 750ms var(--fi-ease)}
body:has(.hero) .war-contact.chapter-armed:not(.closing-ready):after{transform:scaleY(0)}
body:has(.hero) .contact-glass{position:relative;max-width:none;padding:0;grid-template-columns:1fr 1.05fr;gap:7vw;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body:has(.hero) .contact-lead{padding-top:20px}
body:has(.hero) .contact-lead h2{font-size:clamp(58px,6.6vw,102px);line-height:.97;letter-spacing:-.055em;margin:0 0 30px;max-width:620px}
body:has(.hero) .contact-lead>p:not(.eyebrow){color:var(--closing-muted);max-width:370px;font-size:15px}
body:has(.hero) .contact-choice{margin-top:45px;gap:22px}
body:has(.hero) .war-contact #briefForm{padding:38px;background:var(--closing-surface);border:1px solid #cdcbbd;align-self:start}
body:has(.hero) .war-contact .form-grid{gap:26px 30px;margin-bottom:28px}
body:has(.hero) .war-contact .form-grid input,body:has(.hero) .war-contact .form-grid select,body:has(.hero) .war-contact .form-grid textarea{color:var(--closing-ink);border-color:#9a9f8f;font-size:16px}
body:has(.hero) .war-contact .form-grid option{background:var(--closing-surface)}
body:has(.hero) .war-contact .form-bottom{align-items:flex-start;flex-direction:column;gap:24px}
body:has(.hero) .war-contact .form-bottom p{color:var(--closing-muted)}
body:has(.hero) .war-contact .form-bottom .cta{width:100%;justify-content:space-between;min-height:58px}
body:has(.hero) .war-contact .cta{background:var(--closing-ink);border-color:var(--closing-ink);color:var(--closing-surface)}
body:has(.hero) .war-contact .cta:hover{background:transparent;color:var(--closing-ink)}
body:has(.hero) .war-contact .contact-choice .cta{background:transparent;color:var(--closing-ink);border:0;border-bottom:1px solid #999f8e;padding:12px 0;width:100%;max-width:310px;justify-content:space-between}
body:has(.hero) .war-contact .contact-choice .cta:hover{border-color:var(--closing-ink)}
body:has(.hero) footer{background:var(--closing-paper);color:var(--closing-ink);padding:35px 4vw 26px;--muted:var(--closing-muted);--line:var(--closing-line)}
body:has(.hero) .footer-top{border-top:1px solid var(--closing-line);padding-top:35px;gap:32px}
body:has(.hero) .footer-paths{border-color:var(--closing-line)}
/* The hero cut releases the gallery as one surface, once. */
.service-choices{--aperture:1}
.aperture-seam i{transition:transform 1000ms var(--fi-ease)}
.service-choices.chapter-armed:not(.gallery-ready){--aperture:0}
.service-choices .choices-intro{transition:transform 950ms var(--fi-ease)}
.service-choices.chapter-armed:not(.gallery-ready) .choices-intro{transform:translateY(24px)}
/* Reflow is isolated to the existing concept; no page-wide layout animation. */
.stay-site{contain:layout style}
@media(max-width:1100px){body:has(.hero) .close-work-type .close-copy{grid-template-columns:1fr 1fr;gap:5vw}body:has(.hero) .close-copy h2{font-size:clamp(55px,6.4vw,75px)}body:has(.hero) .contact-glass{gap:5vw}body:has(.hero) .war-contact #briefForm{padding:28px}body:has(.hero) .contact-lead h2{font-size:clamp(54px,6.5vw,77px)}body:has(.hero) .war-contact .form-grid{grid-template-columns:1fr;gap:22px}}
@media(max-width:900px){body:has(.hero) .close-work-type .close-copy,body:has(.hero) .contact-glass{grid-template-columns:1fr;gap:48px}body:has(.hero) .close-work-type .truth-list{grid-column:1}body:has(.hero) .close-copy h2{font-size:72px;max-width:620px}body:has(.hero) .contact-lead h2{font-size:76px;max-width:650px}body:has(.hero) .war-contact .form-grid{grid-template-columns:1fr 1fr}body:has(.hero) .contact-lead{padding:0}}
@media(max-width:700px){body:has(.hero) .close-work-type{padding:55px 20px 82px}body:has(.hero) .close-work-type .close-copy{gap:28px}body:has(.hero) .close-copy h2{font-size:clamp(44px,12.3vw,72px)}body:has(.hero) .truth-list h3{font-size:21px}body:has(.hero) .close-work-type .truth-list li{padding:21px 0}body:has(.hero) .close-work-type:after{left:20px;height:42px}body:has(.hero) .war-contact{padding:68px 20px 35px}body:has(.hero) .war-contact:before{width:93px;height:25px}body:has(.hero) .war-contact:after{left:20px;height:38px}body:has(.hero) .contact-glass{gap:36px}body:has(.hero) .contact-lead h2{font-size:clamp(50px,13.4vw,76px);max-width:500px;margin-bottom:23px}body:has(.hero) .contact-choice{margin-top:27px;gap:17px}body:has(.hero) .contact-choice .text-link{width:auto}body:has(.hero) .war-contact #briefForm{padding:27px 22px}body:has(.hero) .war-contact .form-grid{grid-template-columns:1fr;gap:24px}body:has(.hero) footer{padding:20px 20px 24px}body:has(.hero) .footer-top{padding-top:28px;gap:24px}.service-choices .choices-intro{transition:none;transform:none!important}}
@media(prefers-reduced-motion:reduce){.service-choices .choices-intro,.war-contact:after{transition:none!important;transform:none!important}}
html.paused .service-choices .choices-intro,html.paused .war-contact:after{transition:none;transform:none}

/* The enquiry aperture is a moving plane, rather than a repainted image mask. */
.scene-world:focus-visible{outline:2px solid var(--fi-copper);outline-offset:6px}
.drive-visual,.drive-world[data-open=true] .drive-visual{clip-path:none;transition:transform 1250ms var(--fi-ease)}
.drive-canvas:before{content:"";position:absolute;z-index:-1;left:-18%;top:-10%;bottom:-10%;width:42%;background:#171d18;transform:skewX(-14deg);transform-origin:center;transition:transform 950ms var(--fi-ease);pointer-events:none}
.drive-world[data-open=true] .drive-canvas:before{transform:translateX(-110%) skewX(-14deg)}
@media(max-width:700px){.drive-canvas:before{height:360px;bottom:auto;top:0;left:-26%;width:38%;transform:skewX(-12deg)}.drive-world[data-open=true] .drive-canvas:before{transform:translateX(-110%) skewX(-12deg)}}
@media(prefers-reduced-motion:reduce){.drive-canvas:before{transition:none!important}}html.paused .drive-canvas:before{transition:none!important}

/* Capabilities, stated plainly on one compact graphite surface. */
.platform-band{margin:0 4vw;padding:30px 34px;display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:center;position:relative;isolation:isolate;background:linear-gradient(125deg,#1b1e1b,#111411 72%);color:#eee8dc;border:1px solid #393e35;box-shadow:inset 0 1px 0 #ffffff09,0 12px 28px #0000000c}
.platform-band:before{content:"";position:absolute;left:-1px;top:30px;width:1px;height:40px;background:var(--fi-copper);opacity:.8}
.platform-band h2{font-size:22px;line-height:1.25;letter-spacing:-.025em;font-weight:450;max-width:190px}
.platform-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid #41453b;border-left:1px solid #41453b}
.platform-list li{position:relative;grid-column:span 3;min-height:49px;padding:16px;display:flex;align-items:center;border-bottom:1px solid #41453b;border-right:1px solid #41453b;font-size:12px;line-height:1.4;color:#c0c4b9;background:linear-gradient(145deg,#ffffff03,transparent);transition:background-color 200ms,color 200ms;cursor:default}
.platform-list li:nth-child(-n+3){grid-column:span 4;font-size:21px;letter-spacing:-.035em;color:#eee8dc;min-height:65px}
.platform-list li:after{content:"";position:absolute;left:16px;bottom:-1px;height:1px;width:28px;background:var(--fi-copper);opacity:0;transition:opacity 200ms}
@media(hover:hover){.platform-list li:hover{background-color:#ffffff04;color:#f3eee4}.platform-list li:hover:after{opacity:.85}}
.platform-list li:active{background-color:#ffffff07;color:#f3eee4}.platform-list li:active:after{opacity:.85}
@media(max-width:1100px){.platform-band{grid-template-columns:170px 1fr;gap:24px;padding:25px}.platform-band h2{font-size:21px}.platform-list li{padding:13px;font-size:11px}.platform-list li:nth-child(-n+3){font-size:20px}}
@media(max-width:900px){.platform-band{display:block;padding:27px}.platform-band h2{max-width:none;margin-bottom:24px}.platform-list li{font-size:12px}}
@media(max-width:700px){.platform-band{margin:0 20px;padding:25px 21px}.platform-band h2{font-size:22px;margin-bottom:22px}.platform-list{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-list li,.platform-list li:nth-child(-n+3){grid-column:span 1;min-height:61px;font-size:13px;letter-spacing:0;padding:14px 12px}.platform-list li:first-child{grid-column:span 2;font-size:18px;min-height:58px}.platform-list li:nth-child(2),.platform-list li:nth-child(3){font-size:18px}.platform-list li:after{left:12px}.platform-band:before{top:27px;height:30px}}
/* The concept responds as a real site: crop, menu and detail form one movement. */
.stay-photo img{transition:transform 850ms var(--fi-ease);transform:scale(1);transform-origin:70% 50%}
.stay-menu-toggle span{display:inline-block;transition:transform 260ms var(--fi-ease)}
.stay-menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
.stay-menu{border:1px solid #e9e4d62b;box-shadow:0 14px 32px #10140e33}
.stay-menu a{transition:padding-left 200ms var(--fi-ease),color 200ms}.stay-menu a:hover,.stay-menu a:focus-visible{padding-left:6px;color:#dfb696}
.view-controls button{position:relative;transition:background-color 200ms,border-color 200ms,color 200ms}
.view-controls button:hover{border-color:var(--fi-copper)}
.stay-space{overflow:hidden}
.space-window{--space-crop:65% 68%;transform-origin:right center;transition:transform 850ms var(--fi-ease),opacity 550ms var(--fi-ease)}
.stay-space.chapter-armed:not(.detail-ready) .space-window{transform:translateX(32px) scaleX(.965);opacity:.86}
.space-window>img,.stay-space[data-detail=material] .space-window>img{object-position:var(--space-crop);transform-origin:85% 60%;transition:transform 950ms var(--fi-ease)}
.stay-space[data-detail=material] .space-window>img{transform:translateX(-4%) scale(2.3)}
.stay-hero:focus,.stay-space:focus{outline:none}
.stay-hero:focus-visible .stay-nav,.stay-space:focus-visible .space-tabs{outline:2px solid #8c654d;outline-offset:7px}
@container(max-width:850px){.stay-photo img{transform:translateX(-1.5%) scale(1.04)}}
@container(max-width:540px){.stay-photo img{transform:translateX(-3%) scale(1.075)}.space-window{--space-crop:72% center}}
@media(hover:none),(pointer:coarse){.stay-menu a:hover{padding-left:0}.space-window{transition-duration:450ms}}
@media(prefers-reduced-motion:reduce){.platform-list li,.platform-list li:after{transition:none}.stay-space.chapter-armed:not(.detail-ready) .space-window{transform:none;opacity:1}}
html.paused .platform-list li,html.paused .platform-list li:after{transition:none}
/* Leave the opening film's wordmark clear on phones without changing its crop. */
@media(max-width:700px){.hero{height:calc(100svh + 64px);min-height:884px}.hero-art{bottom:264px}}

/* Scroll is the clock for the hospitality chapter; no timed entrance competes. */
.hospitality-lab .stay-photo,.hospitality-lab .stay-photo img,.hospitality-lab .stay-nav,.hospitality-lab .stay-hero-copy h2,.hospitality-lab .space-window{transition:none}
.hospitality-lab .stay-photo,.hospitality-lab .stay-hero-copy h2{clip-path:none}
.hospitality-lab .stay-hero-copy h2{transform-origin:left top}
.hospitality-lab .space-window>img{transition:transform 320ms var(--fi-ease)}
.hospitality-lab[data-story=full] .concept-toolbar{top:80px}
.hospitality-lab[data-story=full] .hospitality-stage{position:relative;display:block;min-height:0;height:calc(var(--story-height) + var(--story-range));padding:0;overflow:visible}
.hospitality-lab[data-story=full] .stay-site{position:sticky;top:var(--story-top);height:var(--story-height);margin-inline:auto;overflow:hidden;isolation:isolate}
.hospitality-lab[data-story=full] .stay-hero{height:var(--story-height)}
.hospitality-lab[data-story=full] .stay-hero-copy>p,.hospitality-lab[data-story=full] .stay-explore,.hospitality-lab[data-story=full] .stay-location{opacity:var(--story-support,1)}
.hospitality-lab[data-story=full] .stay-space{position:absolute;inset:0 0 auto;height:calc(var(--story-height) - var(--story-header));min-height:0;grid-template-columns:1fr 1.05fr;padding:24px 32px;gap:32px;background:#e8e1d5;overflow:hidden;border-top:1px solid #f5f0e455}
.hospitality-lab[data-story=full] .space-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;align-content:center;align-items:start}
.hospitality-lab[data-story=full] .space-tabs{grid-column:1/-1;margin:0}
.hospitality-lab[data-story=full] .space-kicker{grid-column:1;grid-row:2;margin:0}
.hospitality-lab[data-story=full] .space-copy h3{grid-column:1;grid-row:3}
.hospitality-lab[data-story=full] .space-description{grid-column:2;grid-row:2/span 2;margin:0;align-self:center}
.hospitality-lab[data-story=full] .space-copy>a{grid-column:1/-1;margin:6px 0 0;max-width:none}
.hospitality-lab[data-story=full] .space-window{min-height:0;height:100%}
.hospitality-lab[data-story=full] .space-caption{top:18px;left:18px}
.hospitality-lab[data-story=full] .space-toggle{left:18px;right:18px;bottom:14px}
@media(prefers-reduced-motion:reduce){.hospitality-lab .space-window>img{transition:none!important}}
