/* A continuous editorial read: thesis, proof, then imagery. */
:root{--page-white:#f9fcff;--sky:#a9daf2;--deep-blue:#12347b;--editorial-width:1220px}
html{scroll-behavior:auto}
body{background:var(--page-white)}
.hero-intro{padding:clamp(64px,9vw,130px) clamp(20px,5vw,76px) clamp(38px,5vw,72px)}
.hero-intro .inner,.chapter .inner,.closing .inner{max-width:var(--editorial-width)}
.hero-intro h1,.chapter h2,.closing h2{display:block;width:max-content;max-width:none;white-space:nowrap;overflow:visible;text-wrap:nowrap;line-height:1.18;letter-spacing:-.035em}
.hero-intro h1{font-size:clamp(30px,5.2vw,78px)}
.chapter h2,.closing h2{font-size:clamp(30px,4vw,62px)}
.chapter{padding:clamp(95px,10vw,154px) clamp(20px,5vw,76px);border:0!important;background:var(--page-white)!important}
.chapter .eyebrow{margin-bottom:28px}
.chapter .body-copy{max-width:860px;line-height:1.85}
.chapter .body-copy p{margin-bottom:1.1em}
.chapter .body-copy p:last-child{margin-bottom:0}
.chapter .visual figcaption{line-height:1.45}
.hero{background:var(--page-white)}
.hero img{width:min(100%,1440px);max-width:none}

/* The first argument and its product share one blue canvas. */
#what-if.chapter{background:var(--sky)!important;padding-top:clamp(90px,10vw,140px);padding-bottom:clamp(110px,13vw,180px);overflow:hidden}
#what-if .split{max-width:var(--editorial-width);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(24px,5vw,80px)}
#what-if .text{display:contents}
#what-if .text .eyebrow,#what-if .text h2{grid-column:1/-1;position:relative;z-index:2}
#what-if .text .eyebrow{margin-bottom:-14px}
#what-if .text .body-copy{grid-column:1;position:relative;z-index:2}
#what-if .text h2{font-size:clamp(24px,3vw,48px)}
#what-if .body-copy{max-width:52ch}
#what-if .toothpaste-stage{min-height:clamp(530px,54vw,730px);border:0;border-radius:0;background:transparent;box-shadow:none}
#what-if .toothpaste-stage{grid-column:2}
#what-if .toothpaste-stage:before{top:10%;left:-10%;right:-10%;background:rgba(255,255,255,.85)}
#what-if .toothpaste-stage:after{opacity:.12}
#what-if .toothpaste-peg{top:7%}
#what-if .toothpaste-product{top:49%;height:84%;filter:drop-shadow(24px 28px 22px rgba(21,72,118,.16))}
#what-if .toothpaste-orbit{box-shadow:none;background:#f5fcff}
#what-if .toothpaste-stage figcaption{bottom:12px}
.motion-ready #what-if .toothpaste-stage[data-reveal]{opacity:0;transform:translateX(70vw) rotate(7deg);filter:none;transition:transform 1.25s cubic-bezier(.18,.82,.17,1),opacity .6s ease}
.motion-ready #what-if .toothpaste-stage[data-reveal].is-visible{opacity:1;transform:translateX(0) rotate(0)}

/* Question is read in beats, then its four proof images form a single strip. */
#question{padding-top:clamp(105px,12vw,180px);padding-bottom:clamp(105px,12vw,180px)}
#question h2{margin-bottom:0}
#question .question-premise{margin:clamp(72px,12vw,156px) 0 clamp(80px,13vw,168px) auto;font-size:clamp(18px,1.6vw,23px)}
#question .question-moments{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,.68fr);gap:clamp(22px,4vw,60px);align-items:center}
#question .question-lines{display:grid;grid-template-columns:1fr;gap:19px;max-width:none;margin:0}
#question .question-lines p,#question .question-lines p:nth-child(2),#question .question-lines p:nth-child(3){padding:0;border:0;background:transparent;color:var(--deep-blue);font-size:clamp(18px,1.65vw,25px);font-weight:650;line-height:1.45}
#question .flavour-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;max-width:none;margin:0;align-items:end}
#question .flavour-card{aspect-ratio:510/767;border-radius:4px;box-shadow:none}
#question .flavour-card img{height:100%}
#question .flavour-card figcaption{z-index:3;font-size:9px;left:7px;bottom:7px;padding:3px 7px}
#question .question-conclusion{margin:clamp(90px,13vw,175px) 0 0 auto;font-size:clamp(18px,1.7vw,25px)}
#question .question-conclusion .emph{font-size:clamp(22px,2.5vw,36px);color:var(--deep-blue)}

/* Keep the chapters connected rather than framed as separate slides. */
#insight.chapter{background:#e8f5fc!important}
#insight .statement{margin-top:clamp(45px,6vw,80px);margin-bottom:clamp(50px,8vw,110px);font-size:clamp(22px,3vw,43px);line-height:1.45}
#insight .film{margin-top:clamp(65px,9vw,130px)}
#answer.chapter{background:var(--page-white)!important}
#answer .answer-layout{max-width:var(--editorial-width)}
#answer .answer-title{font-size:clamp(28px,3.6vw,55px)}
#building.chapter{background:#eef8fd!important}

/* Film copy follows the compact curved-wheel rhythm; imagery rolls below. */
#film .film-wheel{display:block;position:relative;width:min(100%,760px);height:248px;margin:clamp(55px,8vw,105px) 0 32px;overflow:hidden;perspective:700px}
#film .film-wheel:before{content:"";position:absolute;left:0;top:50%;width:4px;height:58px;border-radius:5px;background:#43b9ea;transform:translateY(-50%)}
#film .film-wheel .flow-item{position:absolute;left:14px;top:50%;width:calc(100% - 20px);display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;min-height:58px;padding:7px 12px;border:0;background:transparent;opacity:0;filter:blur(3px);transform:translateY(-50%) scale(.86);transition:transform .8s var(--ease-spring),opacity .65s ease,filter .65s ease}
#film .film-wheel .flow-item[data-offset="-1"]{opacity:.3;filter:blur(1.5px);transform:translateY(calc(-50% - 62px)) rotate(-3deg) scale(.9)}
#film .film-wheel .flow-item[data-offset="1"]{opacity:.3;filter:blur(1.5px);transform:translateY(calc(-50% + 62px)) rotate(3deg) scale(.9)}
#film .film-wheel .flow-item.is-active{opacity:1;filter:none;transform:translateY(-50%) translateX(16px)}
#film .film-wheel .flow-item span{font-size:13px;color:#168dbf}
#film .film-wheel .flow-item strong{font-size:clamp(20px,2.1vw,29px);font-weight:700;color:var(--deep-blue)}
#film .film-gallery-shell{position:relative}
#film .film-carousel{display:block;max-width:none;margin:18px 0 0;overflow:hidden;touch-action:pan-y;cursor:grab}
#film .film-carousel.is-dragging{cursor:grabbing}
#film .film-carousel:focus-visible{outline:2px solid var(--deep-blue);outline-offset:5px}
#film .film-carousel-track{display:flex;gap:18px;width:max-content;will-change:transform}
#film .film-carousel figure,#film .film-carousel figure:last-child{flex:0 0 min(76vw,820px);grid-column:auto;border-radius:3px}
#film .film-carousel img,#film .film-carousel figure:last-child img{width:100%;aspect-ratio:16/9;object-fit:cover}
#film .film-carousel img{pointer-events:none;user-select:none}
#film .film-gallery-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
#film .film-gallery-controls button{width:48px;height:48px;border:1px solid rgba(18,52,123,.35);border-radius:50%;background:rgba(255,255,255,.82);color:var(--deep-blue);font-size:24px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
#film .film-gallery-controls button:hover{background:#fff;transform:translateY(-2px)}
#film .film-gallery-controls button:focus-visible{outline:2px solid var(--deep-blue);outline-offset:3px}
#film .film-quote{margin-top:clamp(90px,12vw,160px)}
#film .film-quote p:first-child{width:100%;text-align:center}
#experience.chapter{background:#f3f9fd!important}
.closing h2{font-size:clamp(24px,3.6vw,55px)}

/* Motion works inside a continuous article: short copy beats and image reveals. */
.motion-ready .chapter .body-copy p[data-reveal]{opacity:0;transform:translateY(20px);filter:none;transition:opacity .6s ease,transform .78s var(--ease-out)}
.motion-ready .chapter .body-copy p[data-reveal].is-visible{opacity:1;transform:none}
.motion-ready .chapter .film-carousel figure[data-reveal]{transform:translateY(22px);opacity:0}
.motion-ready .chapter .film-carousel figure[data-reveal].is-visible{transform:none;opacity:1}

@media(max-width:900px){
  #what-if .split{grid-template-columns:1fr}
  #what-if .text .eyebrow,#what-if .text h2,#what-if .text .body-copy,#what-if .toothpaste-stage{grid-column:1}
  #what-if .toothpaste-stage{width:min(100%,620px);margin:25px auto 0}
  #question .question-moments{grid-template-columns:1fr;gap:36px}
  #question .question-lines{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
@media(max-width:600px){
  .hero-intro{padding:46px 20px 30px}
  .chapter{padding:84px 20px}
  #what-if.chapter{padding:82px 20px 90px}
  #what-if .text h2{font-size:clamp(16px,4.4vw,26px)}
  #what-if .toothpaste-stage{min-height:490px}
  #question .question-premise{margin:64px 0 75px;font-size:18px}
  #question .question-lines{grid-template-columns:1fr;gap:15px}
  #question .question-lines p{font-size:18px!important}
  #question .flavour-gallery{grid-template-columns:repeat(4,minmax(155px,1fr));width:100%;overflow-x:auto;scroll-snap-type:x mandatory}
  #question .flavour-card{scroll-snap-align:start}
  #question .question-conclusion{margin-top:86px;font-size:19px}
  #film .film-wheel{height:215px;margin-top:56px}
  #film .film-wheel .flow-item{grid-template-columns:72px 1fr;gap:8px}
  #film .film-wheel .flow-item strong{font-size:18px}
  #film .film-carousel figure,#film .film-carousel figure:last-child{flex-basis:88vw}
}
@media(prefers-reduced-motion:reduce){
  .motion-ready #what-if .toothpaste-stage[data-reveal],.motion-ready .chapter .body-copy p[data-reveal],.motion-ready .chapter .film-carousel figure[data-reveal]{opacity:1;transform:none;filter:none}
  #film .film-wheel{display:grid;height:auto;overflow:visible}
  #film .film-wheel .flow-item{position:static;width:auto;opacity:1;filter:none;transform:none!important;transition:none}
}

/* One image-led opening replaces the former separate title slide. */
.topbar{position:sticky;background:#102c62;color:#fff;border-color:transparent}
.topbar .top-right{color:#d9f2ff}
.case-opening{position:relative;min-height:calc(100svh - 58px);background:#12347b;isolation:isolate;overflow:hidden}
.case-opening .hero{position:absolute;inset:0;z-index:-1;background:#12347b}
.case-opening .hero img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
.case-opening:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(3,18,51,.06) 25%,rgba(5,20,58,.74) 100%);pointer-events:none}
.case-opening:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.27) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(255,255,255,.27) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(255,255,255,.27) 75%,transparent calc(75% + .5px));pointer-events:none}
.case-opening .hero-intro{position:relative;z-index:3;display:flex;align-items:flex-end;min-height:calc(100svh - 58px);padding:0 clamp(20px,5vw,76px) clamp(44px,7vw,110px);background:transparent}
.case-opening .hero-intro .inner{width:min(100%,var(--editorial-width));max-width:var(--editorial-width)}
.case-opening .hero-intro .eyebrow,.case-opening .hero-intro h1{color:#fff;text-shadow:0 3px 26px rgba(5,20,55,.45)}
.case-opening .hero-intro .eyebrow:after{background:#fff}
.case-opening .hero-intro h1{font-size:clamp(32px,6.3vw,92px);line-height:1.12;animation:naaisi-opening-type 1.25s .35s cubic-bezier(.18,.8,.2,1) both}
.opening-shutters{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}
.opening-shutters span{background:#12347b;animation:naaisi-shutter 1s cubic-bezier(.72,0,.22,1) both}
.opening-shutters span:nth-child(2){animation-delay:.09s}.opening-shutters span:nth-child(3){animation-delay:.17s}.opening-shutters span:nth-child(4){animation-delay:.25s}
@keyframes naaisi-shutter{from{transform:translateY(0)}to{transform:translateY(-105%)}}
@keyframes naaisi-opening-type{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.case-opening,.case-opening .hero-intro{min-height:calc(88svh - 58px)}.case-opening .hero img{object-position:54% center}.case-opening .hero-intro{padding-bottom:48px}.case-opening .hero-intro h1{font-size:clamp(22px,5vw,40px)}}
@media(prefers-reduced-motion:reduce){.opening-shutters{display:none}.case-opening .hero-intro h1{animation:none}}

/* Three editorial beats: argument, lived moments, then the reframed question. */
#what-if.chapter{background:#a9daf2!important}
#what-if .text h2{font-weight:800;letter-spacing:-.045em}
#what-if .toothpaste-stage{overflow:visible}
#question.chapter{background:#f9fcff!important}
#question .question-premise{max-width:43ch;margin-right:0;margin-left:auto;padding-left:clamp(18px,3vw,42px);border-left:1px solid rgba(18,52,123,.28)}
#question .question-moments{min-height:70svh;align-items:center}
#question .question-lines p{position:relative;padding-left:22px!important}
#question .question-lines p:before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:2px;background:#59b9e7;transform:scaleY(.45);transform-origin:top;transition:transform .6s ease}
#question .question-lines p:hover:before{transform:scaleY(1)}
#question .flavour-card{border-radius:0}
#question .flavour-card figcaption{z-index:4;background:#fff;color:#12347b}
#question .question-conclusion{max-width:44ch;margin-left:auto}
@media(min-width:901px){#question .question-lines{align-self:stretch;align-content:center}#question .flavour-gallery{align-self:center}}
@media(max-width:900px){#question .question-moments{min-height:0}#question .question-premise{margin-left:0}}
@media(max-width:600px){#question .question-premise{padding-left:18px}#question .question-lines p{padding-left:18px!important}#question .question-moments{gap:28px}}

/* A sharp typographic change of pace between the question and its answer. */
#insight.chapter{background:#edf7fc!important;padding-bottom:clamp(110px,12vw,180px)}
#insight .insight-film-stage{position:relative;width:100vw;height:clamp(640px,92svh,1050px);margin:clamp(80px,9vw,140px) 0 clamp(72px,9vw,125px) calc(50% - 50vw);overflow:hidden;background:transparent url("campaign-poster.jpg") center / cover no-repeat;isolation:isolate}
#insight .insight-film-stage video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;pointer-events:none}
#insight .insight-film-stage:after{content:"";position:absolute;inset:35% 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(8,30,59,.5))}
#insight .insight-film-stage .statement{position:absolute;z-index:2;left:max(5vw,calc((100vw - 1220px)/2));right:5vw;bottom:clamp(52px,8vh,105px);width:auto;max-width:1100px;margin:0;padding:0;border:0;background:transparent;color:#fff;font-size:clamp(32px,4.6vw,69px);font-weight:800;line-height:1.32;letter-spacing:-.04em;text-shadow:0 3px 22px rgba(4,25,52,.55)}
#insight .insight-summary{text-align:center;max-width:none;margin:0 auto 25px;font-size:clamp(22px,2.45vw,34px);line-height:1.6;color:var(--blue)}
#insight .insight-summary p{margin:0 auto .7em}
#insight .insight-summary .emph{font-size:1.14em}
.motion-ready #insight .insight-film-stage .statement[data-reveal]{opacity:0;transform:translateY(30px);filter:none;transition:opacity .8s ease,transform 1s var(--ease-out)}
.motion-ready #insight .insight-film-stage.is-insight-visible .statement[data-reveal]{opacity:1;transform:none}
#answer.chapter{background:#f9fcff!important}
#answer .answer-art{border-radius:0;box-shadow:none}
@media(max-width:600px){#insight .insight-film-stage{height:78svh;min-height:560px}#insight .insight-film-stage video{object-position:35% center}#insight .insight-film-stage .statement{left:20px;right:20px;bottom:60px;font-size:clamp(29px,7vw,45px)}#insight .insight-summary{font-size:clamp(22px,5vw,27px)}}

/* The product proof takes the dark project-wall role from the reference. */
#building.chapter{position:relative;background:#112b5e!important;color:#eef8ff}
#building:before{content:"";position:absolute;inset:0;opacity:.32;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.36) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(255,255,255,.36) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(255,255,255,.36) 75%,transparent calc(75% + .5px))}
#building h2,#building .eyebrow,#building .body-copy,#building .lead{color:#fff}
#building .eyebrow:after{background:#fff}
#building .result-strip p{color:#fff;border-color:rgba(255,255,255,.4)}
#film.chapter{background:#f2f7fa!important}
#film .film-carousel{margin-top:48px;padding:18px 0 32px}
#film .film-carousel figure{position:relative;box-shadow:0 18px 44px rgba(6,32,73,.18)}

/* Event photography becomes a continuous panorama followed by project cards. */
#experience.chapter{background:#d8e4eb!important;padding-bottom:clamp(100px,12vw,180px)}
#experience .eyebrow,#experience h2{color:#12347b}
#experience .venue-gallery{width:100vw;margin:clamp(60px,8vw,110px) 0 0 calc(50% - 50vw)}
#experience .venue-main{height:min(78svh,820px);aspect-ratio:auto;border-radius:0}
#experience .venue-main img{height:100%;object-fit:cover}
#experience .venue-details{position:relative;z-index:2;display:flex;gap:clamp(16px,2.5vw,34px);margin:-110px 0 0;padding:0 max(20px,calc((100vw - 1220px)/2)) 40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
#experience .venue-details::-webkit-scrollbar{display:none}
#experience .venue-details figure{flex:0 0 min(29vw,390px);display:block;border-radius:0;background:#fff;box-shadow:0 22px 50px rgba(8,37,77,.25);scroll-snap-align:center}
#experience .venue-details img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}
#experience .venue-details figcaption{min-height:140px;padding:17px 20px 22px}
#experience .venue-details figcaption b{font-size:17px}
#experience .venue-details figcaption span{font-size:13px}
.closing[data-cinematic-finale]{position:relative;padding:clamp(130px,19vw,290px) clamp(20px,5vw,76px) clamp(100px,16vw,230px);background:#07101f;color:#fff;text-align:center}
.closing[data-cinematic-finale]:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background:linear-gradient(90deg,transparent calc(25% - .5px),#fff 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),#fff 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),#fff 75%,transparent calc(75% + .5px))}
.closing[data-cinematic-finale] .inner{position:relative;max-width:1000px}
.closing[data-cinematic-finale] h2{width:max-content;max-width:none;white-space:nowrap;text-wrap:nowrap;color:#fff;font-size:clamp(16px,3vw,48px);line-height:1.2;margin:0 auto clamp(70px,11vw,150px)}
.closing[data-cinematic-finale] p{max-width:700px;margin-inline:auto;color:#e0eaf7;font-size:clamp(17px,1.6vw,22px);line-height:2.1}
.closing[data-cinematic-finale] .endline{margin-top:clamp(80px,10vw,140px);color:#fff;font-size:clamp(26px,3.5vw,50px)}
.closing[data-cinematic-finale] .english{font-size:14px;letter-spacing:.22em}
.footer{background:#07101f;color:#fff;border-top:1px solid rgba(255,255,255,.22)}
@media(max-width:900px){#experience .venue-details figure{flex-basis:min(55vw,390px)}}
@media(max-width:600px){.chapter h2{font-size:clamp(16px,4.3vw,22px)}#experience .venue-main{height:55svh}#experience .venue-details{display:grid;grid-template-columns:1fr;gap:18px;margin:-36px 0 0;padding:0 20px 28px;overflow:visible}#experience .venue-details figure{width:100%;max-width:500px;margin:auto}#experience .venue-details figcaption{min-height:0}.closing[data-cinematic-finale]{padding:100px 20px 90px}.closing[data-cinematic-finale] h2{font-size:clamp(16px,3vw,48px)}.closing[data-cinematic-finale] p{line-height:1.9}}

/* Keep the question's reading column anchored to the left edge. */
#question .question-premise{margin:clamp(56px,7vw,100px) auto clamp(72px,9vw,120px) 0;max-width:50ch;padding-left:0;border-left:0}
#question .question-moments{min-height:0}
#question .question-conclusion{margin:clamp(72px,9vw,120px) auto 0 0;max-width:50ch}

/* All three proof images bloom together from the text's central gap, never on scroll. */
#building .idea-trigger{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;color:#fff;cursor:pointer}
#building h2.idea-trigger{margin-left:0;margin-right:0}
#building .idea-trigger:focus-visible{outline:2px solid #8bdfff;outline-offset:7px}
#building .idea-narrative{display:grid;justify-items:center;gap:clamp(28px,4.6vw,64px);margin:clamp(78px,10vw,145px) auto clamp(90px,11vw,155px);text-align:center}
#building .idea-narrative p{display:flex;justify-content:center;gap:.24em;margin:0;font-size:clamp(22px,3vw,43px);font-weight:750;line-height:1.35;white-space:nowrap}
#building .idea-narrative .idea-left,#building .idea-narrative .idea-right{display:inline-block;transition:transform .55s cubic-bezier(.18,.82,.2,1)}
#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-left{transform:translateX(clamp(-220px,-16vw,-90px))}
#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-right{transform:translateX(clamp(160px,28vw,370px))}
#building .idea-image-cluster{position:fixed;inset:0;z-index:19;visibility:hidden;pointer-events:none}
#building .idea-image{position:absolute;left:50%;top:50%;width:clamp(135px,13vw,175px);height:clamp(190px,20vw,260px);max-width:none;object-fit:cover;border:4px solid #f7fbff;box-shadow:0 32px 70px rgba(0,9,40,.45);opacity:0;transform:translate(-50%,-50%) scale(.08);transition:transform .62s cubic-bezier(.15,.85,.22,1.12),opacity .26s ease;will-change:transform,opacity}
#building .idea-image:nth-child(1){--image-x:-101%;--image-y:2%;--image-r:-13deg}
#building .idea-image:nth-child(2){--image-x:0%;--image-y:-12%;--image-r:2deg}
#building .idea-image:nth-child(3){--image-x:101%;--image-y:2%;--image-r:13deg}
#building:has(.idea-trigger:is(:hover,:focus-visible)) .idea-image-cluster{visibility:visible}
#building:has(.idea-trigger:is(:hover,:focus-visible)) .idea-image{opacity:1;transform:translate(-50%,-50%) translate(var(--image-x),var(--image-y)) rotate(var(--image-r)) scale(1)}
#building .idea-outcome{width:min(100%,920px);margin:0 auto;text-align:center}
#building .idea-outcome>p{font-size:clamp(20px,2vw,27px)}
#building .idea-outcome .result-strip{display:flex;justify-content:center;gap:clamp(28px,5vw,80px);width:100%;max-width:none;margin:34px auto 65px}
#building .idea-outcome .result-strip p{flex:1;max-width:360px;padding:20px 8px;font-size:clamp(19px,2vw,26px);font-weight:700;line-height:1.6}
#building .idea-outcome .body-copy{max-width:none;margin:0 auto;text-align:center}
#building .idea-outcome .body-copy p{max-width:min(100%,60ch);margin:0 auto 1.35em}
#building .idea-outcome .body-copy p:nth-child(2){font-size:clamp(24px,3vw,39px);font-weight:800}
@media(max-width:900px){#building .idea-narrative p{font-size:clamp(18px,2.8vw,28px)}#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-left,#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-right{transform:none}#building .idea-image{width:clamp(115px,15vw,145px);height:clamp(165px,22vw,215px)}}

/* The event-detail cards form one centered, complete composition. */
#experience .venue-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);width:min(calc(100% - 48px),1600px);margin:-110px auto 0;padding:0 0 40px;overflow:visible;scroll-snap-type:none}
#experience .venue-details figure{width:100%;min-width:0;max-width:none}
@media(max-width:900px){#experience .venue-details{grid-template-columns:repeat(2,minmax(0,1fr));width:min(calc(100% - 40px),800px);margin-top:-48px}}
@media(max-width:600px){#question .question-premise{margin:56px 0 70px;padding-left:0}#question .question-conclusion{margin:76px 0 0}#building .idea-narrative{gap:35px;margin:72px auto 95px}#building .idea-narrative p{font-size:clamp(16px,4vw,22px);white-space:normal}#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-left{transform:translateX(-25px)}#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-right{transform:translateX(25px)}#building .idea-image{width:34vw;height:48vw;border-width:2px}#building .idea-image:nth-child(1){--image-x:-88%}#building .idea-image:nth-child(3){--image-x:88%}#building .idea-outcome .result-strip{display:block;margin:24px auto 43px}#building .idea-outcome .result-strip p{max-width:none;margin:0 auto}#experience .venue-details{grid-template-columns:1fr;width:min(calc(100% - 40px),500px);margin-top:-36px;padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){#building .idea-image,#building .idea-narrative .idea-left,#building .idea-narrative .idea-right{transition:none}#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-left,#building .idea-narrative .idea-trigger:is(:hover,:focus-visible) .idea-right{transform:none}}
@media(hover:none){#building:has(.idea-trigger:focus) .idea-image-cluster{visibility:visible}#building:has(.idea-trigger:focus) .idea-image{opacity:1;transform:translate(-50%,-50%) translate(var(--image-x),var(--image-y)) rotate(var(--image-r)) scale(1)}}

/* The cover remains its own image; the supplied film carries every chapter below it. */
.thermal-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#758ec1 url("thermal-glow-poster.jpg") center / cover no-repeat}
.thermal-backdrop video{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
main{position:relative;z-index:1}
.chapter{background:rgba(249,252,255,.65)!important}
#what-if.chapter{background:rgba(169,218,242,.66)!important}
#question.chapter{background:rgba(249,252,255,.64)!important}
#insight.chapter{background:rgba(237,247,252,.68)!important}
#answer.chapter{background:rgba(249,252,255,.67)!important}
#building.chapter{background:rgba(10,31,73,.79)!important}
#film.chapter{background:rgba(242,247,250,.68)!important}
#experience.chapter{background:rgba(216,228,235,.68)!important}
.closing[data-cinematic-finale]{background:rgba(7,16,31,.83)}
.footer{position:relative;z-index:1;background:rgba(7,16,31,.91)}
@media(prefers-reduced-motion:reduce){.thermal-backdrop video{display:none}}
