/* Isolated concept. The current homepage and shared assets remain unchanged. */
.atmosphere-concept{background:#061d2a;color:#edf3f4}
.cloud-arrival{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden;background:linear-gradient(155deg,#dbe8ec 0%,#f5f6f2 46%,#b7cdd8 100%);animation:arrival-clear 2.4s cubic-bezier(.3,0,.2,1) forwards}
.cloud-field{position:absolute;inset:-30%;background:radial-gradient(ellipse at 15% 60%,#fff 0%,#ffffffb0 15%,transparent 43%),radial-gradient(ellipse at 85% 30%,#ffffffec 0%,#eaf0f2aa 24%,transparent 49%),radial-gradient(ellipse at 45% 80%,#fff 0%,transparent 45%);filter:blur(28px);animation:cloud-part 2.4s ease-out forwards}
.cloud-field-front{transform:rotate(180deg);opacity:.75;animation-direction:reverse;filter:blur(45px)}
.arrival-mark{position:absolute;inset:0;display:flex;flex-direction:column;gap:26px;align-items:center;justify-content:center;animation:mark-clear 2.4s ease forwards}
.arrival-mark img{width:100px;height:80px;object-fit:contain;filter:brightness(0);opacity:.7}
.arrival-mark span{font:400 10px/1.4 'Manrope',sans-serif;letter-spacing:.38em;color:#284452}
@keyframes cloud-part{to{transform:translate3d(-9%,-8%,0) scale(1.15)}}
@keyframes arrival-clear{0%,25%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes mark-clear{0%,20%{opacity:0;transform:translateY(8px)}35%,50%{opacity:1;transform:translateY(0)}85%,100%{opacity:0;transform:translateY(-12px)}}
.cloud-arrival.is-dismissed{display:none}
.atmosphere-concept .descent-stage{height:165svh;position:relative;background:#061d2a}
.atmosphere-concept .reel-hero{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden}
.ocean-descent{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--depth,0);background:linear-gradient(180deg,#1b677b55 0%,#0a3449e8 25%,#061d2a 90%);will-change:opacity}
.surface-light{position:absolute;left:-10%;right:-10%;top:-20%;height:46%;background:radial-gradient(ellipse at 50% 15%,#d9f7f8aa, #65aabc44 42%,transparent 68%);filter:blur(18px);transform:translateY(calc(var(--depth,0) * -35%))}
.depth-rays{position:absolute;inset:0;background:conic-gradient(from 155deg at 55% -25%,transparent 0deg,#8ec6d50a 8deg,transparent 15deg,#a8e4ee0d 22deg,transparent 29deg,#bceaf80a 34deg,transparent 40deg);mask-image:linear-gradient(#000,transparent 90%)}
.atmosphere-concept .reel-copy,.atmosphere-concept .reel-bottom{opacity:calc(1 - var(--depth,0) * 1.6);transform:translateY(calc(var(--depth,0) * -25px))}
.atmosphere-concept .cinema-intro{position:relative;background:radial-gradient(ellipse at 55% -50%,#1c5366 0%,transparent 65%),#061d2a;padding-top:85px;padding-bottom:90px;color:#e5eff1}
.atmosphere-concept .cinema-intro>div p{color:#a9c0ca}
.atmosphere-concept .cinema-intro>.chapter-kicker{color:#8daab8}
.atmosphere-concept .client-ticker{background:#061d2a;padding-bottom:60px}
.atmosphere-concept .world-split{background:#061d2a;padding:0 3vw 3vw;gap:18px}
.atmosphere-concept .world-path{min-height:480px;height:70svh}
.atmosphere-concept .selected-carousel{background:#061d2a}
.atmosphere-concept .cinema-contact,.atmosphere-concept footer{background:#061d2a}
.concept-return{position:fixed;z-index:105;bottom:18px;right:22px;padding:10px 14px;background:#0a2230db;backdrop-filter:blur(12px);border:1px solid #b0d0db44;color:#e4eff3;font:400 10px/1.4 'Manrope',sans-serif;letter-spacing:.02em;border-radius:2px}
.concept-return span{margin-left:14px}
@media(max-width:700px){.atmosphere-concept .descent-stage{height:145svh}.atmosphere-concept .reel-hero{min-height:520px}.atmosphere-concept .world-split{padding:0 0 30px;gap:3px}.atmosphere-concept .cinema-intro{padding-top:50px;padding-bottom:50px}.atmosphere-concept .world-path{height:60svh;min-height:410px}.concept-return{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.cloud-arrival{display:none}.atmosphere-concept .descent-stage{height:auto}.atmosphere-concept .reel-hero{position:relative}.ocean-descent{opacity:0}.atmosphere-concept .reel-copy,.atmosphere-concept .reel-bottom{opacity:1;transform:none}}
.atmosphere-concept .cinema-intro{margin-top:-48svh;z-index:2;background:linear-gradient(180deg,transparent,#061d2a 90px);padding-top:140px}
@media(max-width:700px){.atmosphere-concept .cinema-intro{margin-top:-30svh;padding-top:100px}}
@media(prefers-reduced-motion:reduce){.atmosphere-concept .cinema-intro{margin-top:0;padding-top:65px;background:#061d2a}}

.concept-replay{position:fixed;z-index:105;bottom:18px;right:180px;padding:10px 14px;background:#0a2230db;border:1px solid #b0d0db44;color:#e4eff3;font:400 10px/1.4 'Manrope',sans-serif;border-radius:2px;cursor:pointer}
@media(max-width:700px){.concept-replay{bottom:12px;right:166px}}
@media(prefers-reduced-motion:reduce){.concept-replay{display:none}}

/* Scroll-led sequence: cloud scene, unobstructed reel, then the ocean content. */
.atmosphere-concept .descent-stage{height:230svh}
.cloud-arrival{position:absolute;z-index:4;inset:0;animation:none;background:#173347;opacity:calc(1 - var(--cloud-progress,0));visibility:visible;will-change:opacity}
.cloud-landscape{width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--cloud-progress,0) * .16));will-change:transform}
.cloud-veil{position:absolute;inset:0;background:linear-gradient(180deg,#06162645,transparent 35%,#08243240),radial-gradient(ellipse at 50% 95%,#d8e6ee55,transparent 65%)}
.arrival-mark{animation:none;opacity:calc(1 - var(--cloud-progress,0) * 1.8);transform:translateY(calc(var(--cloud-progress,0) * -60px));gap:32px}
.arrival-mark img{width:185px;height:145px;filter:none;opacity:1;filter:drop-shadow(0 2px 20px #051a2b)}
.arrival-mark span{color:white;font-size:11px;letter-spacing:.35em;text-shadow:0 2px 12px #092032}
.cloud-scroll{position:absolute;left:5vw;bottom:36px;font:400 10px/1.5 'Manrope',sans-serif;letter-spacing:.16em;color:white}
.cloud-scroll b{display:inline-block;margin-left:20px;font-size:17px;font-weight:400}
.atmosphere-concept .reel-copy,.atmosphere-concept .reel-bottom{opacity:calc(var(--reel-reveal,0) * (1 - var(--depth,0)));transform:translateY(calc(var(--depth,0) * -25px))}
.atmosphere-concept .cinema-intro{margin-top:-40svh}
@media(max-width:700px){.atmosphere-concept .descent-stage{height:215svh}.arrival-mark img{width:145px;height:115px}.arrival-mark span{font-size:9px}.cloud-landscape{object-position:52% center}.atmosphere-concept .cinema-intro{margin-top:-25svh}}
@media(prefers-reduced-motion:reduce){.atmosphere-concept .descent-stage{height:auto}.cloud-arrival{display:block;position:relative;height:75svh;opacity:1}.cloud-landscape{transform:none}.atmosphere-concept .reel-hero{height:auto;min-height:0;overflow:visible;position:relative;padding-top:100svh}.cloud-arrival{position:absolute;top:0;height:100svh}.atmosphere-concept .reel-video,.atmosphere-concept .reel-poster,.atmosphere-concept .reel-shade{top:100svh;height:100svh}.atmosphere-concept .reel-hero{height:200svh}.atmosphere-concept .reel-copy,.atmosphere-concept .reel-bottom{opacity:1;transform:none}.atmosphere-concept .cinema-intro{margin-top:0}.cloud-scroll{display:none}}
/* Two tactile scroll transitions, with an uninterrupted reel between them. */
.atmosphere-concept .descent-stage{height:320svh}
.cloud-arrival{background:transparent;opacity:var(--cloud-opacity,1);overflow:hidden}
.cloud-landscape{opacity:calc(1 - var(--cloud-progress,0) * 3);transform:scale(calc(1 + var(--cloud-progress,0) * .1))}
.cloud-bank{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;pointer-events:none}
.cloud-bank-left{mask-image:linear-gradient(90deg,#000 0%,#000 30%,transparent 65%);transform:translate3d(calc(var(--cloud-progress,0) * -48vw),calc(var(--cloud-progress,0) * -8vh),0) scale(calc(1 + var(--cloud-progress,0) * .24));transform-origin:0 50%}
.cloud-bank-right{mask-image:linear-gradient(270deg,#000 0%,#000 30%,transparent 65%);transform:translate3d(calc(var(--cloud-progress,0) * 48vw),calc(var(--cloud-progress,0) * -5vh),0) scale(calc(1 + var(--cloud-progress,0) * .2));transform-origin:100% 50%}
.cloud-bank-near{mask-image:linear-gradient(180deg,transparent 45%,#000 85%);transform:translate3d(0,calc(var(--cloud-progress,0) * 65vh),0) scale(calc(1 + var(--cloud-progress,0) * .5));transform-origin:50% 100%}
.cloud-veil{opacity:calc(1 - var(--cloud-progress,0) * 2)}
.cloud-scroll{opacity:calc(1 - var(--cloud-progress,0) * 3)}
.ocean-descent{opacity:var(--ocean-visible,0);background:transparent;clip-path:var(--surface-clip,polygon(0 100%,100% 100%,100% 100%,0 100%));will-change:clip-path}
.ocean-world{position:absolute;inset:0;transform:translate3d(0,var(--waterline,100%),0);will-change:transform;background:#061d2a}
.ocean-world>img{width:100%;height:115%;object-fit:cover;object-position:center top}
.ocean-depth-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,#061d2a20 45%,#061d2a 100%)}
.waterline{position:absolute;left:-5%;width:110%;height:45px;top:var(--waterline,100%);transform:translateY(-15px);background:linear-gradient(180deg,transparent,#dcf9fc60 35%,#a1dce8a0 43%,#19455760 52%,transparent);filter:blur(7px);opacity:calc(1 - var(--depth,0) * .5);pointer-events:none}
.atmosphere-concept .cinema-intro{margin-top:-70svh;background:linear-gradient(180deg,transparent,#061d2ae8 160px,#061d2a 100%);padding-top:135px}
@media(max-width:700px){.atmosphere-concept .descent-stage{height:305svh}.cloud-bank{object-position:52% center}.atmosphere-concept .cinema-intro{margin-top:-55svh;padding-top:100px}.ocean-world>img{object-position:60% top}}
@media(prefers-reduced-motion:reduce){.atmosphere-concept .descent-stage{height:auto}.cloud-bank,.waterline{display:none}.cloud-arrival{opacity:1}.cloud-landscape{opacity:1;transform:none}.cloud-veil{opacity:1}.arrival-mark{opacity:1;transform:none}.ocean-descent{display:none}.atmosphere-concept .cinema-intro{margin-top:0;background:linear-gradient(#061d2a55,#061d2a 85%),url('/concept/water-frames/desktop/000.webp') center top/cover;padding-top:100px}}
.ocean-descent{background:#061d2a}

/* Reversed user-supplied cloud film: scroll selects a frame, never autoplay. */
.atmosphere-concept .descent-stage{height:365svh}
.cloud-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.cloud-arrival.sequence-ready .cloud-canvas{opacity:1}
.cloud-landscape{opacity:1;transform:none}
.cloud-arrival.sequence-ready .cloud-landscape{opacity:0}
.cloud-veil{opacity:1;pointer-events:none}
@media(max-width:700px){.atmosphere-concept .descent-stage{height:350svh}}
@media(prefers-reduced-motion:reduce){.atmosphere-concept .descent-stage{height:auto}}
/* Descend beneath the cloud layer: clouds travel overhead as the reel emerges below. */
.cloud-arrival{opacity:1;transform:translate3d(0,calc(var(--cloud-progress,0) * -112%),0);mask-image:linear-gradient(180deg,#000 0%,#000 80%,#000e 89%,transparent 100%);will-change:transform}
.cloud-canvas{transform:scale(calc(1 + var(--cloud-progress,0) * .06));transform-origin:50% 100%}
.arrival-mark{transform:translateY(calc(var(--cloud-progress,0) * -20px));opacity:calc(1 - var(--cloud-progress,0) * 3)}
.cloud-veil{background:linear-gradient(180deg,#06162645,transparent 35%,#d8e6ee45 90%,#e9f0f360);opacity:1}
@media(prefers-reduced-motion:reduce){.cloud-arrival{transform:none;mask-image:none}.cloud-canvas{transform:none}.arrival-mark{opacity:1;transform:none}}

/* User-supplied underwater footage, scrubbed by scroll in both directions. */
.ocean-descent{clip-path:none;opacity:var(--ocean-visible,0);mask-image:linear-gradient(180deg,transparent calc(100% - var(--depth,0) * 150% - 20%),#000 calc(100% - var(--depth,0) * 150% + 20%))}
.ocean-world{transform:translate3d(0,calc(var(--depth,0) * -12%),0);height:115%}
.water-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.ocean-world.sequence-ready .water-canvas{opacity:1}
.ocean-world>img{height:100%}
.ocean-world.sequence-ready>img{opacity:0}
.waterline{display:none}
@media(prefers-reduced-motion:reduce){.ocean-descent{display:none}}

/* New footage contains the descent itself; no artificial slide or zoom. */
.cloud-arrival{transform:none;mask-image:none;opacity:var(--cloud-opacity,1);will-change:opacity}
.cloud-canvas{transform:none}
@media(prefers-reduced-motion:reduce){.cloud-arrival{opacity:1}}

/* Give the agency introduction an editorial headline, with room to read. */
.atmosphere-concept .cinema-intro{row-gap:40px}
.atmosphere-concept .cinema-intro>h2{grid-column:1/-1;font-size:clamp(48px,6.1vw,104px)!important;line-height:1.08;letter-spacing:-.045em;max-width:1400px}
.atmosphere-concept .cinema-intro>h2 span{display:block}
.atmosphere-concept .cinema-intro>h2 span+span{margin-top:.12em}
.atmosphere-concept .cinema-intro>div{grid-column:1/-1;max-width:none;padding-top:4px;display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;align-items:start}
.atmosphere-concept .cinema-intro>div p{max-width:60ch}
.atmosphere-concept .cinema-intro>div p+p{margin-top:0}
@media(max-width:700px){.atmosphere-concept .cinema-intro{row-gap:28px}.atmosphere-concept .cinema-intro>h2{font-size:clamp(36px,7.8vw,54px)!important;line-height:1.1}.atmosphere-concept .cinema-intro>div{grid-column:1/-1;grid-template-columns:1fr;gap:22px}.atmosphere-concept .cinema-intro>h2 span+span{margin-top:.3em}}

/* Separate image-led chapters for each body of work. */
.world-chapter{background:#061d2a;padding:0 0 80px;scroll-margin-top:100px}
.world-chapter .world-path{display:block;height:82svh;min-height:540px;max-height:1000px}
.world-chapter .world-path>div{left:var(--pad);right:var(--pad);bottom:50px}
.world-chapter .world-path h2{font-size:clamp(64px,9vw,144px)!important;line-height:1}
.world-chapter .world-path div>span{max-width:360px}
.world-details{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;margin:24px var(--pad) 0}
.world-details a{display:block;overflow:hidden;height:clamp(220px,29vw,440px)}
.world-details img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.world-details a:hover img{transform:scale(1.025)}
.world-chapter-aviation .world-details{grid-template-columns:1fr 1.35fr}
.atmosphere-concept .selected-carousel+.client-ticker{padding-top:45px;padding-bottom:55px}
@media(max-width:700px){.world-chapter{padding-bottom:45px}.world-chapter .world-path{height:65svh;min-height:420px}.world-chapter .world-path>div{bottom:30px}.world-details{gap:12px;margin-top:12px}.world-details a{height:200px}}
@media(prefers-reduced-motion:reduce){.world-details img{transition:none}}

.world-chapter{padding-bottom:0}
.world-chapter-aviation{border-top:2px solid #061d2a}
.chapter-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s;pointer-events:none}
.chapter-video.is-playing{opacity:1}
@media(max-width:700px){.world-chapter{padding-bottom:0}.world-chapter-aviation .world-path{height:58svh;min-height:390px}.chapter-video,.world-chapter-aviation .world-path>img{object-position:20% center}}

.world-chapter-aviation .chapter-video,.world-chapter-aviation .world-path>img{object-position:20% center}

/* Preserve the overhead run across the frame on narrower screens. */
.world-chapter-marine .world-path{height:min(82svh,56.25vw);min-height:0}
@media(max-width:700px){.world-chapter-marine .world-path{height:65vw;min-height:260px}.world-chapter-marine .world-path h2{font-size:48px!important}.world-chapter-marine .world-path>div{bottom:22px}.world-chapter-marine .world-path p{margin-bottom:10px}.world-chapter-marine .world-path div>span{margin-top:16px;padding-top:12px}}

/* Match both portfolio loops in scale and framing. */
.world-chapter-aviation .world-path{height:min(82svh,56.25vw);min-height:0}
@media(max-width:700px){.world-chapter-aviation .world-path{height:65vw;min-height:260px}.world-chapter-aviation .world-path h2{font-size:48px!important}.world-chapter-aviation .world-path>div{bottom:22px}.world-chapter-aviation .world-path p{margin-bottom:10px}.world-chapter-aviation .world-path div>span{margin-top:16px;padding-top:12px}}

@media(max-width:700px) and (prefers-reduced-motion:no-preference){.atmosphere-concept .descent-stage{height:285svh}}
