/* Editorial art direction layered over the shared site system. */
.premium{overflow-x:clip}
.cinematic-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:min(900px,100svh);min-height:min(900px,100vh);overflow:hidden;padding:calc(var(--hh) + 110px) 0 92px;background:#111b27}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,15,22,.78) 0%,rgba(8,15,22,.43) 48%,rgba(8,15,22,.08) 100%),linear-gradient(0deg,rgba(8,15,22,.53),transparent 50%)}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:heroReveal 1.5s ease both}
.hero-video{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;pointer-events:none;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-video.is-playing{opacity:1}
@keyframes heroReveal{from{transform:scale(1.045);opacity:.7}to{transform:scale(1);opacity:1}}
.cinematic-copy{position:relative;z-index:3;width:100%;padding-right:calc(var(--gutter) + var(--cop))}
.cinematic-copy .eyebrow,.detail-hero .eyebrow{color:var(--copper-2);text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}
.cinematic-copy h1{max-width:18ch;margin-top:24px;font-weight:400;font-size:clamp(3.5rem,7vw,7rem);line-height:.96;letter-spacing:-.045em}
.detail-hero .h-page{max-width:24ch;font-size:clamp(2.2rem,4.2vw,4rem);line-height:1.08}
.cinematic-copy h1 em{color:#e4b58d;font-style:normal}
.hero-intro{max-width:47ch;margin-top:28px;color:#eee8df;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.65}
.cinematic-copy .hero-actions{margin-top:34px}
.hero-film-link{text-decoration:none;color:var(--ivory);border-bottom:1px solid rgba(239,232,220,.35);padding:8px 0}
.sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid rgba(239,232,220,.42);border-radius:2px;background:rgba(13,24,40,.42);color:var(--ivory);font:inherit;font-size:.82rem;cursor:pointer;transition:background .25s,border-color .25s}
.sound-toggle:hover{background:rgba(211,148,98,.22);border-color:var(--copper-2)}
.hero-bottom{position:absolute;z-index:4;bottom:26px;left:var(--gutter);right:calc(var(--gutter) + var(--cop));display:flex;justify-content:space-between;gap:18px;color:rgba(239,232,220,.76);font-size:.73rem;letter-spacing:.045em}
.hero-bottom a{text-decoration:none}
.light-section{background:#f0ece5;color:#152233}
.light-section .muted,.light-section .sec-head>p{color:#637080}
.eyebrow{margin-bottom:14px;color:var(--copper-2);font-size:.76rem;text-transform:uppercase;letter-spacing:.15em}
.visual-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.visual-service{min-width:0;color:inherit;text-decoration:none;background:#e8e2d8;overflow:hidden}
.service-image{aspect-ratio:4/5;overflow:hidden;background:#ddd5c9}
.editorial-image img,.service-image img{display:block;width:100%;height:auto;object-fit:cover}
.service-image img{height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.visual-service:hover .service-image img{transform:scale(1.035)}
.service-caption{position:relative;padding:24px 24px 30px;min-height:184px}
.service-caption>span:first-child{font-size:.73rem;letter-spacing:.1em;color:#8b674d}
.service-caption h3{margin-top:9px;font-size:1.55rem;font-weight:350}
.service-caption p{max-width:32ch;margin-top:7px;color:#53606d;font-size:.92rem;line-height:1.55}
.service-arrow{position:absolute;right:22px;top:23px;font-size:1.2rem}
.service-extras{display:grid;grid-template-columns:1fr 1fr;margin-top:42px;border-top:1px solid #c9c2b7}
.service-extras a{display:flex;justify-content:space-between;padding:20px 4px;border-bottom:1px solid #c9c2b7;text-decoration:none}
.service-extras a+a{margin-left:24px}
.media-disclosure,.editorial-image figcaption{margin-top:12px;color:#75808b;font-size:.76rem;line-height:1.5}
.visual-services+.media-disclosure{margin-top:20px}
.editorial-image{margin:0 auto;max-width:1240px;padding-left:var(--gutter);padding-right:calc(var(--gutter) + var(--cop))}
.editorial-image img{max-height:680px;object-fit:cover;object-position:center 55%}
.detail-hero{padding-bottom:72px}
.detail-hero .h-page{margin-top:16px}
.detail-hero .lede{margin-top:22px}
.prose{max-width:68ch;color:var(--ivory-2)}
.prose>*+*{margin-top:18px}
.prose ul{padding-left:1.2em}
.prose li+li{margin-top:9px}
.closing{background:#b77d56;color:#101c2a}
.closing .eyebrow,.closing .lede{color:#253040}
.closing h2{max-width:18ch;font-size:clamp(2.5rem,5.3vw,4.8rem)}
.closing .btn-solid{background:#142238;color:#f2e9dc;border-color:#142238}
.film{margin:0}
.film video{width:100%;max-height:74vh;aspect-ratio:16/9;object-fit:cover;background:#070d14}
.film figcaption{max-width:85ch;margin-top:14px;color:var(--mist);font-size:.82rem}
.partner-section{background:#142238}
.partner-section .note{margin-top:22px;padding-left:16px;border-left:1px solid var(--copper-2);font-size:.86rem;color:var(--mist)}
.intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d1c9bd;border:1px solid #d1c9bd}
.intent-grid a{display:block;min-height:205px;padding:30px;background:#f0ece5;color:#172436;text-decoration:none;transition:background .25s}
.intent-grid a:hover{background:#e5ddd1}
.intent-grid span{font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:#86664c}
.intent-grid h3{margin-top:22px;font-size:1.55rem}
.intent-grid p{margin-top:7px;color:#637080}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;counter-reset:step}
.steps li{border-top:1px solid var(--line-2);padding-top:21px;counter-increment:step}
.steps li::before{content:"0" counter(step);color:var(--copper-2);font-size:.78rem;letter-spacing:.1em}
.steps h3{margin-top:14px}
.steps p{margin-top:8px;color:var(--mist);font-size:.95rem}
.desktop-contact{position:fixed;z-index:54;right:calc(var(--gutter) + var(--cop));bottom:26px;display:flex;align-items:center;gap:24px;padding:12px 14px 12px 19px;border:1px solid rgba(239,232,220,.2);background:rgba(13,24,40,.94);color:var(--ivory);box-shadow:0 12px 35px rgba(0,0,0,.22);backdrop-filter:blur(16px);opacity:0;transform:translateY(12px);transition:opacity .35s,transform .35s}
.desktop-contact.is-visible{opacity:1;transform:translateY(0)}
.desktop-contact>span{font-size:.82rem;color:var(--ivory-2)}
.desktop-contact>a{display:inline-flex;align-items:center;gap:14px;min-height:40px;padding:0 15px;background:var(--copper-2);color:#142238;text-decoration:none;font-size:.84rem}
.desktop-contact[hidden]{display:none}
.peyush-profile{background:#e9e1d5;color:#172436}
.profile-wrap{display:grid;grid-template-columns:clamp(140px,20vw,250px) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:start}
.profile-monogram{display:grid;place-items:center;aspect-ratio:4/5;background:linear-gradient(145deg,#26394c,#111d2b);color:#e5b98f;font-size:clamp(3.4rem,8vw,7rem);font-weight:400;letter-spacing:-.07em}
.profile-copy{max-width:760px}
.profile-copy h2{font-size:clamp(2.8rem,6vw,5rem);color:#142238}
.profile-role{margin:9px 0 28px;color:#916445;font-size:1.08rem}
.profile-copy>p:not(.eyebrow):not(.profile-role):not(.note){max-width:65ch;color:#4f5b68}
.profile-expertise{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:28px 0;background:#c9beaf;border:1px solid #c9beaf}
.profile-expertise span{padding:15px 17px;background:#eee8df;color:#273748;font-size:.9rem}
.profile-copy .note{margin:25px 0;color:#6d7780;font-size:.84rem;line-height:1.65}
.btn-outline{border-color:#8a6044;color:#223144}
.btn-outline:hover{background:#d39462;color:#142238}
.buyer-faq{max-width:900px;border-top:1px solid #c9c2b7}
.buyer-faq details{border-bottom:1px solid #c9c2b7;color:#172436}
.buyer-faq summary{position:relative;display:block;padding:22px 50px 22px 2px;cursor:pointer;list-style:none;font-size:1.08rem}
.buyer-faq summary::-webkit-details-marker{display:none}
.buyer-faq summary::after{content:"+";position:absolute;right:8px;top:17px;color:#956445;font-size:1.55rem;font-weight:300}
.buyer-faq details[open] summary::after{content:"−"}
.buyer-faq .faq-answer{max-width:72ch;padding:0 38px 22px 2px;color:#52606e;line-height:1.7}
.buyer-faq .faq-answer p{margin:0}
.mobile-contact{display:none}
@media(max-width:760px){
 .cop{display:none}
 .desktop-contact{display:none!important}
 .profile-wrap{grid-template-columns:1fr;gap:24px}
 .profile-monogram{width:118px;aspect-ratio:1;border-radius:50%;font-size:3.4rem}
 .profile-expertise{grid-template-columns:1fr 1fr}
 .cinematic-hero{min-height:780px;min-height:90svh;padding-top:calc(var(--hh) + 120px);padding-bottom:112px}
 .hero-media::after{background:linear-gradient(0deg,rgba(8,15,22,.82),rgba(8,15,22,.18) 80%),linear-gradient(90deg,rgba(8,15,22,.25),transparent)}
 .cinematic-copy h1{font-size:clamp(3.5rem,15vw,6.3rem)}
 .hero-bottom{bottom:17px;display:grid;grid-template-columns:1fr auto;font-size:.66rem}
 .hero-bottom span:last-child{grid-column:1/-1}
 .visual-services{grid-template-columns:1fr;gap:14px}
 .visual-service{display:grid;grid-template-columns:44% 1fr;align-items:stretch}
 .service-image{aspect-ratio:1/1.12}
 .service-caption{align-self:center;padding:20px 16px;min-height:0}
 .service-caption h3{font-size:1.25rem}
 .service-caption p{font-size:.85rem}
 .service-extras{grid-template-columns:1fr}
 .service-extras a+a{margin:0}
 .editorial-image{padding-left:var(--gutter);padding-right:var(--gutter)}
 .intent-grid{grid-template-columns:1fr}
 .intent-grid a{min-height:175px;padding:23px}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
 .mobile-contact{position:fixed;z-index:55;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:1px;padding:5px;background:rgba(13,24,40,.94);border:1px solid var(--line-2);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.25)}
 .mobile-contact a{flex:1;min-height:46px;display:grid;place-items:center;background:var(--copper-2);color:#111b27;text-decoration:none;font-size:.88rem}
 .mobile-contact a+a{background:transparent;color:var(--ivory)}
 body.premium{padding-bottom:78px}
}
@media(max-width:420px){.visual-service{grid-template-columns:40% 1fr}.service-caption{padding:16px 12px}.service-caption p{font-size:.8rem}.hero-actions{gap:14px}.hero-actions .btn{padding-inline:21px}}
@media(prefers-reduced-motion:reduce){.hero-media img{animation:none}.hero-video{display:none}.service-image img{transition:none}}
/* Keep text proportions natural across the Helvetica / Calibri system stack. */
.premium{font-variation-settings:normal}
.premium :is(h1,h2,h3,h4,p,a,button,li,label,input,select,textarea,dd,dt,summary,figcaption){font-variation-settings:normal!important}
.premium :is(h1,h2,h3,h4,.h-display,.h-page,.h2,.statement,.lede,.row h3,.plan h3,.card h3,.post h3,.cta-band h2){font-weight:400}
.visual-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-image{position:relative;aspect-ratio:16/10;background:#d8d0c5}
.service-image .service-video,.service-image .service-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-image .service-video{z-index:1;opacity:0;transition:opacity .85s ease-in-out}
.service-image .service-video.is-playing{opacity:1}
.service-image .service-poster{transition:opacity .85s ease-in-out}
.service-image:has(.service-video.is-playing) .service-poster{opacity:0}
.visual-service{display:block}
.service-caption{min-height:160px}
.detail-motion{display:block;width:100%;aspect-ratio:16/9;max-height:72vh;object-fit:cover;background:#0d1828}
.wrap>.motion-figure{max-width:none;margin:0;padding-left:0;padding-right:0}
.motion-figure figcaption{max-width:90ch}
@media(max-width:760px){.visual-services{grid-template-columns:1fr;gap:16px}.visual-service{display:grid;grid-template-columns:44% 1fr}.service-image{aspect-ratio:1/1}.service-caption{min-height:0}}

.editorial-image video{display:block;width:100%;max-height:680px;object-fit:cover;background:#101923}.lift-film figcaption{max-width:76ch}

/* Project concepts: keep every card on one measured grid, independent of the
   wide editorial-image treatment used by service-page feature photography. */
.work{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;align-items:start;padding:0}
.work>li{min-width:0}
.work .card{height:100%;padding-bottom:22px;border-bottom:1px solid rgba(239,232,220,.18)}
.work .editorial-image{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;background:#182536}
.work .editorial-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/10;object-fit:cover;object-position:center}
.work .editorial-image figcaption{min-height:3.2em;margin:10px 0 0;color:#a8b0ba;font-size:.72rem;line-height:1.45}
.work .card h3{margin-top:14px;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.2;letter-spacing:-.02em}
.work .card .meta{margin-top:8px;line-height:1.5}
.filters{gap:9px;margin-bottom:36px}
@media(max-width:980px){.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}}
@media(max-width:620px){.work{grid-template-columns:1fr;gap:30px}.work .card{padding-bottom:20px}.work .editorial-image figcaption{min-height:0}}

/* Give the five service stories a deliberate, balanced editorial rhythm. */
.visual-services{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.visual-services>.visual-service{grid-column:span 2}
.visual-services>.visual-service:nth-child(4),.visual-services>.visual-service:nth-child(5){grid-column:span 3}
.visual-services .service-image{aspect-ratio:16/10}
.visual-services .service-caption{min-height:152px;padding:22px 24px 26px}
.visual-services .service-caption h3{max-width:18ch;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.18;letter-spacing:-.025em}
.visual-services .service-caption p{max-width:38ch}
@media(max-width:980px){.visual-services{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.visual-services>.visual-service{grid-column:span 2}.visual-services>.visual-service:nth-child(5){grid-column:2/span 2}}
@media(max-width:760px){.visual-services{grid-template-columns:1fr;gap:18px}.visual-services>.visual-service,.visual-services>.visual-service:nth-child(4),.visual-services>.visual-service:nth-child(5){grid-column:1}.visual-services .service-image{aspect-ratio:16/9}.visual-services .service-caption{min-height:0;padding:20px 18px 23px}}

/* Refined conversion states: confident, calm, and easy to act on. */
.desktop-contact{border-color:rgba(211,148,98,.34);box-shadow:0 16px 48px rgba(0,0,0,.28)}
.desktop-contact>a{transition:background-color .25s,color .25s}
.desktop-contact>a:hover{background:#e6b383;color:#101b29}
.filters{position:static;width:max-content;max-width:100%;padding:8px;border:1px solid rgba(239,232,220,.1);background:rgba(13,24,40,.92)}
.filter{min-height:40px}
@media(max-width:760px){.filters{position:static;width:100%;overflow:auto;flex-wrap:nowrap}.filter{flex:none}}

.cabin-section{background:#101b29;color:#f3eee6}
.cabin-section .sec-head{align-items:end}
.cabin-section .sec-head>p{color:#c2beb7}
.cabin-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 54px}
.cabin-nav a{padding:11px 17px;border:1px solid rgba(243,238,230,.25);border-radius:99px;color:#f3eee6;text-decoration:none;font-size:.88rem;transition:background .2s ease,border-color .2s ease}
.cabin-nav a:hover,.cabin-nav a:focus-visible{background:#bd936d;border-color:#bd936d;color:#111b27}
.cabin-category{scroll-margin-top:100px;margin-top:50px}
.cabin-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid rgba(243,238,230,.23)}
.cabin-category-heading span{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#d5ac85}
.cabin-category-heading p{margin:0;color:#c2beb7;font-size:.92rem}
.cabin-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.cabin-card{margin:0;min-width:0;background:#192534}
.cabin-card-image{aspect-ratio:3/5;overflow:hidden;background:#e9e5df}
.cabin-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.cabin-card:hover .cabin-card-image img{transform:scale(1.035)}
.cabin-card figcaption{display:flex;flex-direction:column;gap:5px;padding:14px 15px 16px}
.cabin-card figcaption span{font-size:.77rem;color:#c2beb7}
.cabin-card figcaption strong{font-size:.96rem;font-weight:500;letter-spacing:.02em}
.cabin-gallery-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.cabin-card-landscape{grid-column:span 2}
.cabin-card-landscape .cabin-card-image{aspect-ratio:16/10}
.cabin-note{max-width:95ch;margin:35px 0 0;color:#c2beb7;font-size:.84rem;line-height:1.65}
.cabin-more{margin-top:16px}
.cabin-more summary{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(243,238,230,.32);color:#f3eee6;font-size:.9rem;cursor:pointer;list-style:none}
.cabin-more summary::-webkit-details-marker{display:none}
.cabin-more summary::after{content:'＋';margin-left:12px;color:#d5ac85}
.cabin-more[open] summary::after{content:'−'}
.cabin-more .cabin-gallery{margin-top:16px}
@media(max-width:900px){.cabin-gallery,.cabin-gallery-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cabin-category{margin-top:40px}}
@media(max-width:560px){.cabin-section .sec-head{display:block}.cabin-section .sec-head>p{margin-top:16px}.cabin-nav{margin-bottom:36px}.cabin-category-heading{display:block}.cabin-category-heading p{margin-top:9px}.cabin-gallery{gap:10px}.cabin-card figcaption{padding:11px 10px 13px}.cabin-card figcaption strong{font-size:.87rem}.cabin-gallery-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-card-landscape{grid-column:span 2}.cabin-card-landscape .cabin-card-image{aspect-ratio:4/3}}
