.hero { min-height: 100svh; position: relative; display: flex; align-items: center; overflow: hidden; padding: 120px 0 50px; background: var(--color-experience-navy); color: white; }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 78%); }
.hero-orbit { position: absolute; width: 380px; aspect-ratio: 1; border: 1px solid rgba(43,130,201,.35); border-radius: 50%; }.hero-orbit::after { content:""; position:absolute; width:12px; aspect-ratio:1; top:50%; left:-6px; border-radius:50%; background:var(--color-academy-yellow); }.hero-orbit--one { right: -190px; top: -110px; }.hero-orbit--two { width: 180px; left: 35%; bottom: -110px; opacity: .45; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); align-items: center; gap: clamp(34px,4.5vw,72px); }
.hero-copy { min-width:0; padding-top: 28px; }.hero-eyebrow { margin-bottom:14px; color: #93b8d6; }.hero-title { max-width: none; margin: 0 0 28px; font-family: var(--font-display); font-size: clamp(4.7rem,8.05vw,8.15rem); font-weight: 700; letter-spacing: -.052em; line-height: .81; text-transform: uppercase; }.hero-title span{display:block;white-space:nowrap}.hero-description { max-width: 590px; margin-bottom: 30px; color: #bed0de; font-size: clamp(16px,1.25vw,19px); }.hero-actions { display: flex; align-items: center; gap: 28px; margin-bottom: 0; }
.hero-categories { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom:24px; }.hero-categories a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(7,28,51,.18); color: #adc1d1; cursor: pointer; font-family: var(--font-mono); font-size: 10px; letter-spacing: .03em; text-transform:uppercase; transition: background .25s,color .25s,border .25s,transform .25s; }.hero-categories a span { color: #6f95b0; }.hero-categories a:hover,.hero-categories a.is-active { border-color: white; background: white; color: var(--color-experience-navy); transform:translateY(-1px); }.hero-categories a.is-active span { color: var(--color-brand-blue); }
.activity-results{overflow-anchor:none;transition:opacity .22s ease,transform .22s ease}.listing-section.is-filtering .activity-results{opacity:.38;transform:translateY(5px);pointer-events:none}.activity-results__empty{grid-column:1/-1;padding:40px;border:1px dashed var(--color-cool-border);border-radius:var(--radius-card);text-align:center;color:var(--color-secondary-text)}
.loop-overlay p{text-transform:uppercase}
.experience-stage { min-height: min(67vh,670px); position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius-hero-stage); background: #0b2946; box-shadow: 0 40px 90px rgba(0,0,0,.25); isolation: isolate; }.experience-stage::before { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }.stage-index { position:absolute; top:26px; left:28px; z-index:7; font: 11px var(--font-mono); letter-spacing:.05em; }.stage-index b { color:var(--color-academy-yellow); }.stage-track,.loop-item,.loop-media { position:absolute; inset:0; }.loop-item { visibility:hidden; opacity:0; transform:scale(1.04) rotate(1deg); transition: opacity .8s ease,transform 1.15s cubic-bezier(.2,.75,.2,1),visibility .8s; }.loop-item.is-active { visibility:visible; opacity:1; transform:scale(1) rotate(0); }.loop-media::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,17,30,.96),rgba(3,17,30,.05) 64%); }.loop-item.is-active img,.loop-item.is-active video { animation: stagePush 8s linear forwards; }.loop-overlay { position:absolute; right:32px; bottom:38px; left:32px; z-index:4; }.loop-overlay p { margin-bottom:10px; color:#b9d1e3; font:11px var(--font-mono); letter-spacing:.04em; }.loop-overlay h2 { max-width:490px; margin:0 0 14px; font-family:var(--font-display); font-size:clamp(45px,5vw,76px); font-weight:700; letter-spacing:-.025em; line-height:.88; text-transform:uppercase; }.loop-overlay > span { padding:7px 10px; border:1px solid rgba(255,255,255,.3); border-radius:999px; font-size:10px; }.loop-placeholder { position:absolute; inset:0; overflow:hidden; background:linear-gradient(145deg,#134e7f,#071c33); }.loop-placeholder span { position:absolute; top:8%; right:-3%; font:700 clamp(18rem,35vw,32rem)/.8 var(--font-display); color:rgba(255,255,255,.075); }.loop-placeholder i { position:absolute; display:block; border-radius:50%; border:1px solid rgba(255,255,255,.25); }.loop-placeholder i:nth-of-type(1){width:58%;aspect-ratio:1;top:13%;left:8%}.loop-placeholder i:nth-of-type(2){width:22%;aspect-ratio:1;top:25%;left:19%;background:var(--color-brand-blue);border:0}.loop-placeholder i:nth-of-type(3){width:7%;aspect-ratio:1;top:19%;right:16%;background:var(--color-academy-yellow);border:0}.loop-item--green .loop-placeholder i:nth-of-type(2){background:var(--color-academy-green)}.loop-item--yellow .loop-placeholder i:nth-of-type(2){background:var(--color-academy-yellow)}.stage-progress { position:absolute; right:72px; bottom:24px; left:32px; z-index:8; height:2px; overflow:hidden; background:rgba(255,255,255,.2); }.stage-progress span { width:100%; height:100%; display:block; transform:scaleX(0); transform-origin:left; background:white; }.stage-progress span.is-running { animation:loopProgress 6s linear forwards; }.stage-toggle { width:34px;height:34px;position:absolute;right:25px;bottom:8px;z-index:9;border:0;border-radius:50%;background:rgba(255,255,255,.14);cursor:pointer}.stage-toggle span,.stage-toggle span::after{width:2px;height:10px;position:absolute;top:12px;background:white;content:""}.stage-toggle span{left:13px}.stage-toggle span::after{left:6px;top:0}.stage-toggle.is-paused span{width:0;height:0;left:14px;top:11px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid white;background:transparent}.stage-toggle.is-paused span::after{display:none}.hero-scroll { position:absolute;left:24px;bottom:28px;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;font:10px var(--font-mono);letter-spacing:.08em;color:#88a7bd}.hero-scroll i{font-style:normal;font-size:18px}
.categories-section { overflow:hidden;background:var(--color-ice-canvas); }.category-rail { display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:20px; }.category-card { min-height:570px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-cool-border);border-radius:var(--radius-card);background:white; }.category-card__visual { min-height:250px;position:relative;overflow:hidden;background:#dfeaf2}.category-card__visual img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.category-card:hover img{transform:scale(1.03)}.category-card__visual>span{position:absolute;right:10px;bottom:-28px;font:700 190px/.8 var(--font-display);color:rgba(7,28,51,.09)}.category-card__visual>i{width:120px;aspect-ratio:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:30px solid var(--color-brand-blue);border-radius:50%}.category-card--yellow .category-card__visual>i{border-color:var(--color-academy-yellow)}.category-card--green .category-card__visual>i{border-color:var(--color-academy-green)}.category-card__content{padding:30px;display:flex;flex:1;flex-direction:column}.category-card__content .eyebrow{color:var(--color-brand-blue)}.category-card__content h3{margin-bottom:16px;font:700 42px/.95 var(--font-display);text-transform:uppercase}.category-card__content p{color:var(--color-secondary-text)}.category-card__content b{margin-top:auto;font-size:13px}.category-card__content b i{margin-left:10px;font-style:normal;transition:margin .25s}.category-card:hover b i{margin-left:16px}
.references-section{background:white}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px}.reference-card__media{aspect-ratio:16/10;position:relative;overflow:hidden;border-radius:var(--radius-card);background:var(--color-blue-mist)}.reference-card__media img{transition:transform .7s ease}.reference-card:hover img{transform:scale(1.035)}.reference-card__number{position:absolute;top:18px;left:18px;display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:white;font:11px var(--font-mono)}.reference-card__copy{padding:24px 6px}.reference-card__copy .eyebrow{margin-bottom:12px;color:var(--color-brand-blue)}.reference-card__copy h2,.reference-card__copy h3{max-width:590px;margin-bottom:15px;font:700 clamp(30px,3vw,48px)/.98 var(--font-display);text-transform:uppercase}.reference-card__copy>span{font-size:13px;font-weight:600}.project-placeholder{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#dfeaf2,#b7d0e3)}.project-placeholder span{position:absolute;right:-2%;bottom:-22%;font:700 clamp(14rem,30vw,28rem)/1 var(--font-display);color:rgba(11,46,82,.12)}.project-placeholder i{width:30%;aspect-ratio:1;position:absolute;top:20%;left:16%;border:22px solid var(--color-brand-blue);border-radius:50%}
.story-section{padding-block:clamp(90px,12vw,180px);background:var(--color-academy-navy);color:white}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,10vw,160px)}.story-intro{height:max-content;position:sticky;top:140px}.story-intro .eyebrow{color:#86a8c1}.story-intro h2{font:700 clamp(4rem,6vw,7rem)/.9 var(--font-display);letter-spacing:-.03em;text-transform:uppercase}.story-intro em{color:#59a4df}.story-counter{display:flex;align-items:center;gap:14px;margin-top:52px;font:12px var(--font-mono)}.story-counter i{width:90px;height:1px;background:#5d7b94}.story-steps{padding-top:20vh}.story-step{min-height:62vh;padding:64px 0;border-top:1px solid rgba(255,255,255,.18)}.story-step .eyebrow{color:#78a4c5}.story-step h3{max-width:650px;margin-bottom:20px;font:700 clamp(42px,5vw,76px)/.95 var(--font-display);text-transform:uppercase}.story-step p{max-width:570px;color:#b5cad9;font-size:18px}.story-step strong{display:block;margin-top:38px;color:var(--color-academy-yellow);font:700 72px/.9 var(--font-display)}.story-step small{color:#8da8bb}
.closing-cta{padding:24px;background:var(--color-ice-canvas)}.closing-cta__inner{min-height:650px;position:relative;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;overflow:hidden;padding:clamp(40px,8vw,120px);border-radius:var(--radius-feature);background:var(--color-brand-blue);color:white}.closing-cta h2{max-width:920px;position:relative;z-index:2}.closing-cta>p,.closing-cta__inner>p{max-width:610px;position:relative;z-index:2;color:#d4e9f9;font-size:18px}.closing-cta .button{position:relative;z-index:2;margin-top:20px}.cta-rings i{position:absolute;display:block;border:1px solid rgba(255,255,255,.2);border-radius:50%}.cta-rings i:nth-child(1){width:620px;aspect-ratio:1;right:-190px;top:-130px}.cta-rings i:nth-child(2){width:390px;aspect-ratio:1;right:-75px;top:-15px}.cta-rings i:nth-child(3){width:110px;aspect-ratio:1;right:65px;top:125px;background:var(--color-academy-yellow);border:0}
.page-hero{padding:170px 0 90px;background:var(--color-experience-navy);color:white}.page-hero--blue{background:var(--color-brand-blue)}.page-hero p:last-child{max-width:600px;color:#bed0de;font-size:19px}.activity-page-hero{position:relative;overflow:hidden}.activity-page-hero::after{content:"";width:460px;aspect-ratio:1;position:absolute;right:-160px;bottom:-300px;border:1px solid rgba(43,130,201,.35);border-radius:50%}.activity-page-hero__grid{display:grid;grid-template-columns:1fr 360px;align-items:end;gap:70px}.activity-page-hero__mark{aspect-ratio:1;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(23,104,172,.1)}.activity-page-hero__mark>span{font:700 120px/.8 var(--font-display);letter-spacing:-.06em;color:rgba(255,255,255,.1)}.activity-page-hero__mark>i{width:32%;aspect-ratio:1;position:absolute;border:24px solid var(--color-brand-blue);border-radius:50%}.activity-page-hero__mark>b{position:absolute;right:30px;bottom:36px;padding:8px 11px;border-radius:999px;background:var(--color-academy-yellow);color:var(--color-experience-navy);font:500 10px var(--font-mono)}.listing-section{padding-top:72px}.filter-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:52px}.filter-pills a{padding:10px 16px;border:1px solid var(--color-cool-border);border-radius:999px;font:11px var(--font-mono);text-transform:uppercase}.filter-pills a:hover,.filter-pills a.is-active{border-color:var(--color-brand-blue);background:var(--color-brand-blue);color:white}.listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.listing-card{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(0,1.05fr);min-height:350px;overflow:hidden;border:1px solid var(--color-cool-border);border-radius:var(--radius-card);background:white;transition:transform .3s ease,border-color .3s ease}.listing-card:hover{transform:translateY(-4px);border-color:#a9c4d8}.listing-card__media{min-height:350px;position:relative;overflow:hidden;background:var(--color-blue-mist)}.listing-card__media img{transition:transform .6s ease}.listing-card:hover .listing-card__media img{transform:scale(1.035)}.listing-card__index{position:absolute;top:18px;left:18px;display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:50%;background:white;font:10px var(--font-mono)}.listing-card__body{display:flex;align-items:flex-start;flex-direction:column;padding:30px}.listing-card .eyebrow{margin-bottom:14px;color:var(--color-brand-blue)}.listing-card h2{margin-bottom:15px;font:700 clamp(31px,2.5vw,45px)/.93 var(--font-display);text-transform:uppercase}.listing-card p{color:var(--color-secondary-text);font-size:14px}.listing-card__meta{display:flex;flex-wrap:wrap;gap:6px}.listing-card__meta span{padding:6px 9px;border-radius:999px;background:var(--color-blue-mist);font:10px var(--font-mono)}.listing-card__link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:20px;border-top:1px solid var(--color-cool-border);font-size:12px;text-transform:uppercase}.listing-card__link i{font-style:normal;font-size:17px}.activity-placeholder{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,#dce9f2,#aec9dd)}.listing-card--even .activity-placeholder{background:linear-gradient(145deg,#e9f0d9,#b9d3a8)}.activity-placeholder>span{position:absolute;top:18px;right:20px;font:500 11px var(--font-mono);color:rgba(7,28,51,.5)}.activity-placeholder>b{position:absolute;right:-12%;bottom:-12%;font:700 260px/.8 var(--font-display);color:rgba(7,28,51,.11)}.activity-placeholder>i{position:absolute;display:block;border-radius:50%}.activity-placeholder>i:nth-of-type(1){width:42%;aspect-ratio:1;top:25%;left:20%;border:25px solid var(--color-brand-blue)}.activity-placeholder>i:nth-of-type(2){width:24px;aspect-ratio:1;right:17%;top:18%;background:var(--color-academy-yellow)}.detail-hero{padding:170px 0 90px;background:var(--color-experience-navy);color:white}.detail-hero__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.detail-hero h1{font:700 clamp(4rem,7vw,7.5rem)/.85 var(--font-display);text-transform:uppercase}.detail-hero>p,.detail-hero__grid>div>p:not(.eyebrow){max-width:580px;color:#bed0de;font-size:18px}.detail-hero .button{margin-top:20px}.detail-hero__media{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:var(--radius-feature)}.detail-content{display:grid;grid-template-columns:300px 1fr;gap:100px;padding-block:100px}.detail-content aside dl{padding:16px 0;margin:0;border-bottom:1px solid var(--color-cool-border)}.detail-content dt{color:var(--color-secondary-text);font-size:12px}.detail-content dd{margin:4px 0 0;font-weight:600}.prose{max-width:760px;font-size:18px}.prose h2{font:700 52px/1 var(--font-display);text-transform:uppercase}.prose--page{padding-block:100px}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding-bottom:120px}.detail-gallery figure{margin:0}.detail-gallery picture,.detail-gallery img{aspect-ratio:4/3;border-radius:var(--radius-card)}.detail-gallery figcaption{padding-top:8px;color:var(--color-secondary-text);font-size:12px}.quote-page{padding:180px 0 120px;background:var(--color-blue-mist)}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.quote-grid h1{font:700 clamp(4rem,7vw,7rem)/.88 var(--font-display);text-transform:uppercase}.quote-grid>div>p:not(.eyebrow){max-width:530px;color:var(--color-secondary-text);font-size:18px}.quote-contact{display:grid;gap:6px;margin-top:50px;font-weight:600}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:40px;border-radius:var(--radius-card);background:white}.field{display:flex;flex-direction:column;gap:7px}.field:has(textarea),.form-success,.quote-form .button{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:14px;border:1px solid var(--color-cool-border);border-radius:12px;background:white}.field small{color:#a32b32}.form-success{padding:15px;border-radius:10px;background:#e8f5e4;color:#356626}
