/* PORTICO / AN AGENT WORLD. Built to extend the original office intro. */
:root{--paper:#F7F2E8;--charcoal:#3C4549;--mist:#CAD6DF;--oatmeal:#E4DBC4;--blush:#EBC9B5;--ease-cine:cubic-bezier(.22,1,.36,1)}
.narrative{overflow:clip;background:var(--paper)}
.narrative h2,.narrative h3,.narrative p{margin-top:0}
.narrative h2{letter-spacing:-.077em}
.narrative em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;white-space:normal;letter-spacing:-.075em}
.narrative em::after{height:17%;bottom:1%;opacity:.6;z-index:-1}
.narrative-intro{min-height:112vh;min-height:112dvh;isolation:isolate;overflow:hidden;align-items:center;padding:125px 10vw 110px}
.narrative-intro::before,.narrative-intro::after{pointer-events:none}
.narrative-intro .section-label{z-index:3;display:flex;align-items:center;gap:22px;color:var(--charcoal)}
.tiny-rule{height:1px;width:32px;background:var(--charcoal);opacity:.4;display:inline-block}
.arrival-title{font:600 clamp(74px,8.4vw,146px)/.96 'Space Grotesk',sans-serif;max-width:1200px;z-index:2;margin:30px auto 28px;position:relative;letter-spacing:-.095em}
.arrival-title em{color:var(--charcoal)}
.arrival-copy{position:relative;max-width:510px;z-index:2;color:#626F75;font-size:clamp(17px,1.4vw,21px);line-height:1.7;margin:15px auto 52px}
.arrival-foot{display:flex;align-items:center;justify-content:center;gap:18px;z-index:2;position:relative;font-size:10px;font-weight:700;letter-spacing:.16em}
.arrow-circle{height:37px;width:37px;border:1px solid rgba(60,69,73,.35);border-radius:50%;display:grid;place-items:center;font-size:18px}
.arrival-halo{position:absolute;inset:1% 12% 5%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,rgba(255,252,244,.82) 15%,rgba(235,201,181,.22) 45%,transparent 70%);filter:blur(12px);pointer-events:none}
.arrival-star{position:absolute;font-family:Georgia,serif;color:#A88C78;opacity:.8}
.arrival-star--one{font-size:50px;left:13%;top:33%}.arrival-star--two{font-size:36px;right:14%;bottom:26%;color:#849BA4}
.arrival-mist{position:absolute;z-index:0;pointer-events:none;inset:auto;width:60vw;height:25vw;min-height:200px;filter:blur(29px);background:radial-gradient(ellipse at 30% 50%,rgba(255,255,255,.85),transparent 63%),radial-gradient(ellipse at 69% 45%,rgba(255,255,255,.9),transparent 65%);animation:arrivalDrift 17s ease-in-out infinite alternate}
.arrival-mist--one{left:-25%;top:8%;transform:rotate(-16deg)}.arrival-mist--two{right:-25%;bottom:6%;transform:rotate(12deg);animation-delay:-7s}
@keyframes arrivalDrift{to{translate:4vw -3vh;scale:1.08}}

/* FLOATING AGENT CONSTELLATION */
.constellation{height:248vh;position:relative;background:linear-gradient(180deg,#F7F2E8 0%,#F6F1E8 55%,#DCE4E9 100%)}
.constellation__pinned{height:100vh;height:100dvh;position:sticky;top:0;isolation:isolate;overflow:hidden;display:grid;place-items:center}
.constellation__texture{position:absolute;inset:0;background:radial-gradient(ellipse 47% 60% at 52% 47%,rgba(255,255,252,.9),transparent 92%),radial-gradient(ellipse at 10% 23%,rgba(235,201,181,.28),transparent 39%),radial-gradient(ellipse at 88% 79%,rgba(202,214,223,.63),transparent 43%);pointer-events:none}
.constellation__ring{position:absolute;left:50%;top:50%;border:1px dashed rgba(122,132,135,.22);border-radius:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none;will-change:transform}
.constellation__ring--outer{width:83vw;height:66vh;max-height:730px}.constellation__ring--inner{width:61vw;height:46vh;max-height:520px;transform:translate(-50%,-50%) rotate(13deg);opacity:.4}
.constellation__center{position:relative;z-index:4;width:min(700px,54vw);text-align:center;pointer-events:none;filter:drop-shadow(0 2px 23px rgba(247,242,232,.84));will-change:opacity,transform}
.constellation__center h2{font:600 clamp(54px,5.9vw,91px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.087em;margin:25px 0 19px}
.constellation__center h2 em{display:inline-block;position:relative;z-index:0}
.constellation__center p{color:#66747A;font-size:clamp(15px,1.15vw,18px);letter-spacing:.01em;margin-bottom:42px}
.constellation__hint{display:inline-flex;gap:18px;align-items:center;font-weight:800;letter-spacing:.16em;font-size:9px;color:#879397}
.constellation__hint span{font-size:20px;color:var(--charcoal)}
.constellation__people{position:absolute;inset:0;z-index:5;pointer-events:none}
.orbit-person{position:absolute;left:50%;top:50%;width:clamp(135px,13.7vw,220px);appearance:none;border:0;background:none;pointer-events:auto;padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:0;will-change:transform,opacity,filter}
.orbit-person img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;user-select:none;pointer-events:none;filter:drop-shadow(0 17px 23px rgba(60,69,73,.1));animation:portraitFloat 5s ease-in-out infinite alternate;animation-delay:calc(var(--delay) * -0.7s);transition:filter .3s}
.orbit-person:hover img,.orbit-person:focus-visible img{filter:drop-shadow(0 16px 14px rgba(60,69,73,.19)) saturate(1.06)}
.orbit-person:focus-visible{border-radius:60px;outline:2px solid #A48B78}
.orbit-person__tag{display:flex;gap:7px;align-items:center;margin-top:-15px;padding:7px 11px;border-radius:5px;color:var(--charcoal);background:rgba(255,252,246,.92);border:1px solid rgba(228,219,196,.86);box-shadow:0 4px 20px rgba(60,69,73,.07);font-size:11px;font-weight:900;white-space:nowrap;letter-spacing:.08em}
.orbit-person__tag small{font-size:8px;letter-spacing:.1em;font-weight:700;color:#76848B}
@keyframes portraitFloat{to{transform:translate3d(0,-9px,0) rotate(.8deg)}}
.constellation__star{position:absolute;color:#CFA995;opacity:.7;z-index:2;font-size:32px;pointer-events:none}.constellation__star--a{left:12%;top:18%}.constellation__star--b{right:15%;top:23%;color:#A9BCC5}.constellation__star--c{right:26%;bottom:13%;font-size:18px}
.constellation__corner{position:absolute;z-index:4;bottom:30px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.16em;color:#819098;pointer-events:none}
.constellation__outro{position:absolute;z-index:7;top:50%;left:50%;width:80vw;text-align:center;transform:translate(-50%,-43%);opacity:0;pointer-events:none;font:600 clamp(57px,7vw,115px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.084em;color:var(--charcoal);will-change:opacity,transform}

/* An actual scroll-scrubbed camera tunnel between worlds. */
.cloud-interlude{height:170vh;position:relative;background:linear-gradient(180deg,#DCE4E9,#CAD6DF 33%,#E7E8E2 68%,#F7F2E8)}
.cloud-interlude__sticky{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;isolation:isolate;display:grid;place-items:center;background:linear-gradient(160deg,#CFDDE6,#F7F2E8 85%)}
.cloud-interlude__sticky:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.92),transparent 65%);opacity:.55}
.cloud-interlude__cloud{position:absolute;width:92vw;height:60vw;min-height:460px;filter:blur(25px);will-change:transform,opacity;pointer-events:none;background:radial-gradient(ellipse 28% 37% at 20% 54%,white 45%,transparent 79%),radial-gradient(ellipse 26% 45% at 41% 41%,white 43%,transparent 79%),radial-gradient(ellipse 34% 43% at 67% 42%,white 47%,transparent 80%),radial-gradient(ellipse 29% 35% at 82% 66%,white 47%,transparent 80%),radial-gradient(ellipse 35% 29% at 49% 73%,white 43%,transparent 79%)}
.cloud-interlude__cloud--left{left:-53%;top:-15%}.cloud-interlude__cloud--right{right:-53%;bottom:0}.cloud-interlude__cloud--bottom{left:2%;bottom:-67%;width:100vw}
.cloud-interlude__words{position:relative;z-index:3;text-align:center;display:grid;gap:24px;justify-items:center;color:var(--charcoal);will-change:transform,opacity}
.cloud-interlude__words>span{font-size:11px;font-weight:800;letter-spacing:.22em}
.cloud-interlude__words>strong{font:600 clamp(74px,8vw,141px)/.99 'Space Grotesk',sans-serif;letter-spacing:-.095em}
.cloud-interlude__words em{font:italic 400 1em Georgia,serif;letter-spacing:-.085em}

/* IMMERSIVE, PINNED PROFILE STORIES */
.people-story{height:800vh;position:relative;background:var(--paper)}
.people-story__sticky{position:sticky;top:0;height:100vh;height:100dvh;min-height:640px;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#F7F2E8,#F3EFE7)}
.people-story__wash{position:absolute;inset:-20%;z-index:0;background:radial-gradient(ellipse at 76% 54%,rgba(202,214,223,.62),transparent 47%),radial-gradient(ellipse at 28% 82%,rgba(235,201,181,.22),transparent 45%);will-change:transform,opacity}
.people-story__doodle{position:absolute;top:13%;left:45%;font:70px Georgia,serif;color:#D4B9AB;opacity:.4;transform:rotate(-16deg);pointer-events:none}
.people-story__header{position:absolute;top:48px;left:7vw;right:7vw;z-index:20;display:flex;align-items:center;justify-content:space-between;color:#788389;font-weight:800;letter-spacing:.2em;font-size:10px}
.people-story__count{font-size:17px;letter-spacing:0;color:var(--charcoal)}.people-story__count i{font-style:normal;color:#B8B9B4;margin:0 7px}
.people-story__sequence{position:absolute;z-index:20;top:93px;left:7vw;right:7vw;height:2px;background:rgba(60,69,73,.1)}
.people-story__sequence-fill{height:100%;display:block;background:#B78F7C;width:12.5%;transition:width .5s var(--ease-cine)}
.people-story__panels{position:absolute;inset:0}
.person-panel{position:absolute;inset:0;display:grid;grid-template-columns:49% 51%;align-items:center;gap:0;padding:110px 7vw 75px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 520ms ease,visibility 520ms;z-index:1}
.person-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:3}
.person-panel__words{position:relative;z-index:4;max-width:605px;opacity:0;transform:translate3d(-38px,28px,0);filter:blur(11px);transition:opacity 850ms var(--ease-cine), transform 850ms var(--ease-cine),filter 850ms ease}
.person-panel.is-active .person-panel__words{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.person-panel__role{display:inline-block;margin-bottom:32px;font-size:11px;font-weight:800;letter-spacing:.19em;color:#8F8D86}
.person-panel__words h2{font:600 clamp(58px,6.2vw,105px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.085em;margin-bottom:30px;max-width:660px}
.person-panel__words h2 em{white-space:nowrap;position:relative}
.person-panel__words p{max-width:485px;font-size:clamp(17px,1.28vw,20px);line-height:1.82;color:#68767D;margin:0 0 39px}
.person-panel__aside{color:#A08270;font-weight:800;font-size:10px;letter-spacing:.17em}
.person-panel__visual{align-self:center;justify-self:center;position:relative;width:min(46vw,710px);aspect-ratio:1;display:grid;place-items:center;opacity:0;transform:translate3d(30px,55px,0) scale(.85) rotate(-5deg);filter:blur(15px);transition:transform 1200ms var(--ease-cine),opacity 950ms ease,filter 900ms ease;will-change:transform,opacity}
.person-panel.is-active .person-panel__visual{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0);filter:blur(0)}
.person-panel__visual::before{content:"";position:absolute;z-index:0;inset:10% 3% 7%;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,rgba(255,255,255,.58),transparent 65%),radial-gradient(ellipse at 64% 67%,rgba(228,219,196,.42),transparent 67%);opacity:.85}
.person-panel__visual::after{content:"";position:absolute;z-index:-1;inset:20% 4% 14%;background:url('./assets/brush-oat.svg') center/100% 100%;opacity:.45;transform:rotate(28deg)}
.person-panel__visual--blue::after{background-image:url('./assets/brush-blue.svg');opacity:.65}
.person-panel__visual--peach::after{background-image:url('./assets/brush-peach.svg');opacity:.45}
.person-panel__visual>img{position:relative;z-index:1;display:block;object-fit:contain;max-width:100%;width:100%;height:auto;aspect-ratio:1;filter:drop-shadow(0 20px 25px rgba(60,69,73,.085));animation:portraitFloat 6s ease-in-out infinite alternate}
.person-panel__scribble{position:absolute;right:2%;top:15%;z-index:2;font:italic 28px Georgia,serif;color:#A78878;transform:rotate(14deg)}
.person-panel__postit{position:absolute;bottom:12%;left:4%;z-index:3;padding:12px 19px;background:rgba(247,242,232,.95);border:1px solid rgba(228,219,196,.65);box-shadow:0 10px 26px rgba(60,69,73,.07);font-size:10px;letter-spacing:.14em;font-weight:800;transform:rotate(-5deg)}
.familiar-visual__circle{position:absolute;inset:17%;border:1px dashed rgba(60,69,73,.3);border-radius:50%}
.familiar-visual__letter{position:relative;z-index:2;font:600 clamp(200px,27vw,400px)/1 Georgia,serif;color:#3C4549;text-shadow:9px 6px 0 #EBC9B5;transform:rotate(-8deg)}
.familiar-visual__letter span{position:absolute;top:18%;right:-12%;color:#D2A28B;font-size:.13em}
.person-panel__visual > .familiar-visual__friend{position:absolute;width:25%;height:auto;aspect-ratio:1;z-index:3;filter:drop-shadow(0 10px 17px rgba(60,69,73,.08));animation:none}
.familiar-visual__friend--one{top:10%;right:3%;transform:rotate(11deg)}
.familiar-visual__friend--two{bottom:3%;left:2%;transform:rotate(-13deg)}
.familiar-visual__note{position:absolute;z-index:4;bottom:8%;right:2%;font-size:10px;font-weight:800;letter-spacing:.13em;transform:rotate(-5deg)}
.people-story__footer{position:absolute;bottom:40px;left:7vw;right:7vw;z-index:20;display:flex;justify-content:space-between;color:#9B9A92;font-size:10px;font-weight:800;letter-spacing:.15em}

/* PORTICO'S SHARED WORKFLOW, DRAWN LIKE A STORYBOOK */
.how-flow{min-height:115vh;background:linear-gradient(180deg,#F7F2E8 0%,#E4DBC4 100%);padding:140px 7vw 170px;position:relative;overflow:hidden}
.how-flow__top{text-align:center;max-width:950px;margin:0 auto 100px;position:relative;z-index:2}
.how-flow__top h2{font:600 clamp(67px,7.1vw,115px)/.98 'Space Grotesk',sans-serif;letter-spacing:-.09em;margin:25px 0 29px}
.how-flow__top p{max-width:610px;margin:0 auto;color:#637077;font-size:18px;line-height:1.8}
.how-flow__path{position:relative;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;isolation:isolate}
.how-flow__brush{position:absolute;inset:25% 3%;z-index:-1;background:url('./assets/brush-peach.svg') center/100% 65% no-repeat;opacity:.29;transform:rotate(-3deg)}
.how-flow__step{min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.how-flow__num{font:800 11px 'DM Sans',sans-serif;letter-spacing:.12em;color:#8C8280;margin-bottom:22px}
.how-flow__icon{width:clamp(145px,13vw,215px);height:clamp(145px,13vw,215px);border-radius:50%;background:rgba(255,252,245,.58);border:1px dashed rgba(60,69,73,.18);display:flex;align-items:center;justify-content:center;margin-bottom:29px;color:#CFA38D;font-size:80px;overflow:visible;position:relative;transition:transform .35s var(--ease-cine)}
.how-flow__step:hover .how-flow__icon{transform:translateY(-10px) rotate(-2deg)}
.how-flow__icon img{width:100%;height:100%;object-fit:contain}
.how-flow__icon--group img{position:absolute;width:74%;height:74%;top:7%;left:13%}
.how-flow__icon--group img:nth-child(1){transform:translateX(-24%) rotate(-12deg)}
.how-flow__icon--group img:nth-child(2){transform:translateX(25%) rotate(12deg)}
.how-flow__icon--group img:nth-child(3){transform:translateY(27%) scale(.91)}
.how-flow__icon--done{background:rgba(202,214,223,.58);font-size:100px;color:#607D8A}
.how-flow__step h3{font:600 clamp(20px,1.7vw,26px)/1.2 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:0 0 17px}
.how-flow__step p{max-width:275px;color:#6C7475;line-height:1.75;font-size:15px}
.story-ending{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;padding-top:140px;background:linear-gradient(180deg,#E4DBC4 0%,#F7F2E8 52%,#CAD6DF 100%);overflow:hidden}
.story-ending__sky{position:absolute;z-index:-1;inset:-20%;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.83),transparent 50%),radial-gradient(ellipse at 76% 72%,rgba(255,255,255,.64),transparent 32%),radial-gradient(ellipse at 10% 68%,rgba(255,255,255,.8),transparent 38%);filter:blur(20px)}
.story-ending h2{font:600 clamp(68px,8vw,132px)/1 'Space Grotesk',sans-serif;letter-spacing:-.09em;margin:30px 0 26px}
.story-ending>p{font-size:20px;color:#758186;margin:0 0 30px}
.story-ending .primary-button{font-size:16px !important}
.story-ending__footer{color:var(--charcoal);border-color:rgba(60,69,73,.18)}
.scene-progress{position:fixed;z-index:49;right:24px;top:40%;height:135px;display:flex;align-items:center;gap:13px;opacity:0;pointer-events:none;transition:opacity .5s ease}
.scene-progress.is-visible{opacity:1}
.scene-progress__track{height:110px;width:2px;background:rgba(60,69,73,.17);border-radius:10px;overflow:hidden;position:relative;display:block}
.scene-progress__fill{position:absolute;width:100%;top:0;left:0;height:0;background:#BA9081;transition:height .25s}
.scene-progress__label{writing-mode:vertical-rl;font-size:9px;font-weight:800;letter-spacing:.2em;color:#6A747A}
.rise-in{opacity:0;filter:blur(8px);transform:translate3d(0,37px,0);transition:opacity 1050ms var(--ease-cine),filter 1050ms ease,transform 1050ms var(--ease-cine)}
.rise-in.is-visible{opacity:1;filter:blur(0);transform:none}
@media(max-width:1100px){.person-panel{grid-template-columns:52% 48%;padding-inline:6vw}.person-panel__words h2{font-size:clamp(45px,5.5vw,80px)}.person-panel__visual{width:45vw}.constellation__center{width:55vw}.orbit-person{width:clamp(110px,15vw,175px)}.constellation__center h2{font-size:clamp(48px,6vw,71px)}.orbit-person__tag{font-size:9px}.orbit-person__tag small{font-size:7px}}
/* Mobile refinements intentionally deferred; retain a readable fallback. */
@media(max-width:700px){.narrative-intro{min-height:90vh;padding:100px 25px}.arrival-title{font-size:clamp(51px,10vw,78px)}.arrival-foot{font-size:8px}.constellation{height:190vh}.constellation__center{width:76vw}.constellation__center h2{font-size:clamp(44px,8vw,66px)}.orbit-person{width:96px}.orbit-person__tag{font-size:8px;padding:4px 6px;margin-top:-6px}.orbit-person__tag small{display:none}.constellation__hint{display:none}.constellation__corner{font-size:8px}.cloud-interlude__words>strong{font-size:clamp(50px,11vw,81px)}.people-story__sticky{min-height:0}.people-story__header{top:24px}.people-story__sequence{top:57px}.person-panel{grid-template-columns:1fr;grid-template-rows:50% 50%;padding:65px 30px 70px;justify-items:center;gap:0}.person-panel__words{align-self:end;text-align:center;grid-row:2;max-width:90vw}.person-panel__role{margin-bottom:10px;font-size:9px}.person-panel__words h2{font-size:clamp(37px,8vw,60px);margin:0 0 12px}.person-panel__words p{font-size:13px;line-height:1.55;margin-bottom:13px}.person-panel__aside{font-size:8px}.person-panel__visual{grid-row:1;width:min(72vw,360px);align-self:end}.person-panel__postit{font-size:8px}.person-panel__scribble{font-size:20px}.people-story__footer{bottom:18px;font-size:8px}.familiar-visual__letter{font-size:240px}.how-flow{padding:110px 22px}.how-flow__top h2{font-size:clamp(49px,9vw,77px)}.how-flow__path{grid-template-columns:1fr 1fr;row-gap:60px}.how-flow__icon{width:140px;height:140px}.how-flow__step h3{font-size:18px}.how-flow__step p{font-size:13px}.story-ending h2{font-size:clamp(55px,9vw,88px)}.scene-progress{display:none}}
@media(prefers-reduced-motion:reduce){.arrival-mist,.orbit-person img,.person-panel__visual>img{animation:none!important}.orbit-person,.person-panel,.person-panel__words,.person-panel__visual,.rise-in,.scene-progress{transition:none!important}.rise-in{opacity:1;filter:none;transform:none}.cloud-interlude__cloud{filter:none}.scene-progress__fill{transition:none}}

/* Continuous Skydive-style scroll choreography: one pinned orbital scene. */
.portico-wheel{position:relative;height:610vh;background:#f7f2e8;isolation:isolate}
.portico-wheel__stage{position:sticky;top:0;width:100%;height:100vh;height:100dvh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 55% 50% at 50% 50%,#fffdf7 0%,#f5f0e7 72%,#e3e7e7 100%)}
.portico-wheel__ambient{position:absolute;inset:-20%;background:radial-gradient(ellipse at 10% 35%,rgba(217,181,161,.33),transparent 40%),radial-gradient(ellipse at 90% 75%,rgba(147,181,197,.34),transparent 44%);pointer-events:none}
.portico-wheel__eyebrow{position:absolute;left:5vw;top:45px;font:800 11px 'DM Sans',sans-serif;letter-spacing:.19em;color:#5f686a;z-index:40}
.portico-wheel__ring{position:absolute;left:50%;top:50%;border:1px dashed rgba(94,115,124,.30);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.portico-wheel__ring--one{width:min(79vw,1150px);height:min(72vh,610px)}
.portico-wheel__ring--two{width:min(64vw,900px);height:min(56vh,475px);border-color:rgba(174,150,140,.18)}
.portico-wheel__agents{position:absolute;inset:0;pointer-events:none;z-index:8}
.wheel-agent{position:absolute;left:50%;top:50%;display:flex;align-items:center;flex-direction:column;width:clamp(115px,13vw,186px);will-change:transform,opacity;filter:drop-shadow(0 12px 15px rgba(70,74,75,.13));transition:opacity .2s linear}
.wheel-agent__portrait{height:clamp(110px,12vw,175px);width:100%;border-radius:50%;background:radial-gradient(circle,#faf5ee 40%,#dce5e6 100%);border:4px solid rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(91,106,112,.16);overflow:hidden}
.wheel-agent img{width:100%;height:100%;object-fit:contain;display:block}
.wheel-agent>span{margin-top:7px;border:1px solid #e5ded4;background:#fffdf8eb;border-radius:30px;padding:6px 10px;white-space:nowrap;text-align:center;font:800 10px 'DM Sans',sans-serif;letter-spacing:.09em;color:#39474b}
.wheel-agent small{display:block;font-size:8px;font-weight:600;letter-spacing:.02em;margin-top:2px;color:#748388}
.portico-wheel__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,44vw);height:310px;z-index:6;text-align:center;pointer-events:none}
.wheel-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;transform:translateY(32px) scale(.94);filter:blur(9px);transition:opacity .48s,transform .6s,filter .5s;visibility:hidden}
.wheel-slide.is-current{visibility:visible;opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.wheel-slide__label{font:800 10px 'DM Sans',sans-serif;letter-spacing:.15em;color:#a38273}
.wheel-slide h2{font:600 clamp(40px,4.65vw,73px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-.078em;color:#293437;margin:20px 0 17px}
.wheel-slide h2 em{font-family:Georgia,serif;font-weight:500;letter-spacing:-.055em;color:#b58670}
.wheel-slide p{font:500 clamp(13px,1.08vw,16px)/1.6 'DM Sans',sans-serif;color:#66757b;max-width:390px;margin:0}
.portico-wheel__bottom{position:absolute;bottom:34px;left:5vw;right:5vw;z-index:40;display:flex;justify-content:space-between;align-items:center;font:800 10px 'DM Sans',sans-serif;letter-spacing:.12em;color:#7b8b90}
.portico-wheel__ticks{display:flex;gap:9px}.portico-wheel__ticks i{width:25px;height:4px;background:#b8c3c6;border-radius:20px;transition:background .3s,transform .3s}.portico-wheel__ticks i.is-on{background:#b78069;transform:scaleY(1.5)}
@media(max-width:700px){.portico-wheel{height:570vh}.portico-wheel__eyebrow{top:22px;font-size:9px}.portico-wheel__ring--one{width:80vw;height:65vh}.portico-wheel__ring--two{width:61vw;height:52vh}.wheel-agent{width:94px}.wheel-agent__portrait{width:90px;height:90px;border-width:3px}.wheel-agent>span{padding:4px 7px;font-size:8px}.wheel-agent small{font-size:7px}.portico-wheel__center{width:65vw;height:250px}.wheel-slide h2{font-size:clamp(29px,7vw,48px);margin:12px 0}.wheel-slide p{font-size:11px;line-height:1.45}.wheel-slide__label{font-size:8px}.portico-wheel__bottom{bottom:17px;font-size:8px}.portico-wheel__ticks i{width:14px}}
@media(prefers-reduced-motion:reduce){.wheel-slide{transition:none}}

/* Final chapter: cinematic scroll-through into the Portico office */
.portico-finale{padding:0!important;min-height:165vh!important;display:block!important;position:relative;background:#ddd9c9;overflow:clip;isolation:isolate}
.portico-finale__scene{position:absolute;inset:0 0 auto;height:165vh;overflow:hidden;pointer-events:none}
.portico-finale__scene img{position:sticky;top:0;width:100%;height:100vh;object-fit:cover;object-position:center;transform:scale(1.13);transition:transform .18s linear;filter:saturate(.95)}
.portico-finale__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,35,35,.15),rgba(14,33,39,.27) 40%,rgba(15,34,43,.61) 88%)}
.portico-finale__copy{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:95px 25px 110px;color:#fff;text-shadow:0 2px 35px rgba(14,26,30,.4)}
.portico-finale .section-label{color:#fff8e9;letter-spacing:.22em}
.portico-finale h2{font-family:'Playfair Display',Georgia,serif!important;font-weight:500!important;letter-spacing:-.04em!important;font-size:clamp(45px,6.4vw,95px)!important;line-height:1.1!important;max-width:1050px;margin:25px auto 22px!important}
.portico-finale h2 em{font-weight:400}
.portico-finale p{color:#fff!important;font-size:clamp(16px,2vw,23px)!important;margin:0 0 29px!important}
.portico-finale .story-ending__button{background:#fcebdc;color:#233a3c;border-color:#fcebdc;text-shadow:none;z-index:3}
.portico-finale .story-ending__footer{position:absolute;bottom:0;left:0;right:0;z-index:2;color:#fff;border-color:rgba(255,255,255,.32);text-shadow:none}
.portico-finale .story-ending__footer span{color:#fff}
@media(max-width:700px){.portico-finale{min-height:132vh!important}.portico-finale__scene{height:132vh}.portico-finale__scene img{object-position:52% center}.portico-finale h2{font-size:clamp(41px,11vw,64px)!important}}
@media(prefers-reduced-motion:reduce){.portico-finale__scene img{transform:none!important}}

/* Text-only finale, matching the original hero brush CTA */
.portico-finale{min-height:110vh!important;background:linear-gradient(180deg,#e8dfd3 0%,#f7f2e9 32%,#f8f3eb 100%)!important;display:flex!important;flex-direction:column!important;padding:0!important;}
.portico-finale__copy{position:relative!important;flex:1;min-height:100vh!important;color:#284148!important;text-shadow:none!important;text-align:center;}
.portico-finale .section-label{color:#a7785f!important;font-family:'DM Sans',sans-serif!important;}
.portico-finale h2{color:#284148!important;font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:clamp(48px,7vw,104px)!important;line-height:1.05!important;letter-spacing:-.065em!important;max-width:1000px!important;}
.portico-finale p{color:#69726e!important;font-size:clamp(16px,2vw,23px)!important;max-width:670px!important;line-height:1.5!important;}
.portico-finale .story-ending__button{background:transparent!important;color:var(--ink)!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;position:relative!important;isolation:isolate!important;}
.portico-finale .story-ending__button::before{content:'';position:absolute;inset:-3px -12px -5px;z-index:-1;pointer-events:none;background:url('./assets/brush-peach.svg') center/100% 100% no-repeat;transform:rotate(-1.4deg);transition:transform .4s ease;}
.portico-finale .story-ending__button::after{content:'✳';position:absolute;top:-8px;right:4px;color:#b47e65;font-size:14px;}
.portico-finale .story-ending__button:hover::before{transform:rotate(.3deg) scale(1.06);}
.portico-finale .story-ending__footer{color:#284148!important;border-color:rgba(40,65,72,.16)!important;position:relative!important;margin-top:0!important;text-shadow:none!important;}
.portico-finale .story-ending__footer span{color:#8b877f!important;}
@media(max-width:700px){.portico-finale{min-height:100vh!important}.portico-finale__copy{padding:100px 24px 45px!important}.portico-finale h2{font-size:clamp(46px,11vw,72px)!important}}

/* Definitive, image-free final section; isolated from previous cinematic image styles. */
.narrative > #endStory.portico-finale {display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:5!important;clear:both!important;min-height:100vh!important;min-height:100dvh!important;background:#f7f2e9!important;overflow:visible!important;transform:none!important;}
#endStory .portico-finale__copy{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2!important;min-height:calc(100vh - 70px)!important;transform:none!important;padding:130px 25px 95px!important;}
#endStory .section-label,#endStory h2,#endStory p,#endStory button{opacity:1!important;visibility:visible!important;transform:none!important;}
#endStory .story-ending__button{background:transparent!important;isolation:isolate!important;cursor:pointer!important;padding:20px 36px!important;}
#endStory .story-ending__button::before{z-index:-1!important;background-image:url('./assets/brush-peach.svg')!important;}
#endStory .story-ending__footer{margin-top:auto!important;}
