/* Additional page-level design systems and interactions: 2026-10-30 */
:root{--layout-border:rgba(160,180,184,.25)}
body{overflow-x:clip}
.nav-wrap{gap:15px}.nav-desktop{gap:clamp(10px,1.3vw,19px);font-size:12px}
.logo img{width:clamp(165px,17vw,224px)}.nav-cta{padding-inline:12px}.nav-desktop a{white-space:nowrap}
.social-row .social-mark{display:inline-grid;place-items:center;width:39px;height:39px;border:1px solid currentColor;border-radius:10px;opacity:.9}
.social-row .social-mark svg{width:20px;height:20px;display:block}
.foot-top>div:not(.footer-brand)>a{max-width:100%;overflow-wrap:anywhere}
.foot-top>div:not(.footer-brand){gap:11px}.foot-top{gap:28px}
/* Inner pages: large, clear entrance, full-bleed background art direction */
.upgrade-hero{position:relative;isolation:isolate;overflow:hidden;min-height:540px;display:flex;align-items:center;padding:68px 0;background:var(--main-bg)}
.upgrade-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 89% 12%,var(--photo-glow),transparent 45%),linear-gradient(120deg,var(--photo-bg),transparent 72%);opacity:.38}
.upgrade-hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(25px,5vw,92px);align-items:center;width:100%;position:relative}
.upgrade-hero-copy{max-width:690px}.upgrade-hero h1{font-size:clamp(46px,5.8vw,87px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 25px;font-weight:850}
.upgrade-hero p{font-size:clamp(15px,1.4vw,18px);line-height:1.72;color:var(--muted);max-width:570px}
.upgrade-hero-media{min-width:0}.upgrade-hero-photo{height:clamp(340px,34vw,540px);border:8px solid color-mix(in srgb,var(--accent) 19%,transparent);box-shadow:0 30px 100px #0003}
.upgrade-hero-photo .photoframe-line{opacity:.3}
.upgrade-main{background:var(--main-bg);color:var(--ink)}
.upgrade-main .section-heading{max-width:780px}.upgrade-main .section-heading h2{font-size:clamp(34px,4.2vw,65px)}.upgrade-main .section-heading p{max-width:640px}
.upgrade-grid,.team-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.upgrade-card{padding:clamp(24px,2.7vw,44px);min-height:244px;background:var(--soft);color:var(--ink);border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .32s ease,box-shadow .32s ease,border-color .3s ease}
.upgrade-card::after{content:"";position:absolute;right:-60px;top:-80px;width:150px;height:150px;border-radius:50%;border:1px solid var(--border);pointer-events:none}
.upgrade-card:hover{transform:translateY(-7px);border-color:var(--accent);box-shadow:0 22px 50px #0002}
.upgrade-card h3{font-size:clamp(20px,2.1vw,27px);letter-spacing:-.035em;line-height:1.14;margin:26px 0 12px}
.upgrade-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.7}
.upgrade-icon{display:inline-grid;place-items:center;width:57px;height:57px;background:var(--accent);color:var(--accent-ink);border-radius:14px}
.upgrade-icon svg{width:27px;height:27px}
.team-photo-section,.contrast-section,.upgrade-ending{background:var(--section-2);color:var(--ink)}
.team-photo-grid,.split-upgrade{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(28px,6vw,96px)}
.team-photo-grid>div,.split-upgrade>div{min-width:0}
.team-wide,.story-photo{width:100%;height:460px;box-shadow:0 20px 50px #0002}
.team-side h2,.split-upgrade h2{font-size:clamp(33px,4vw,66px);line-height:1.08;letter-spacing:-.05em;margin:16px 0 27px}
.team-side p,.split-upgrade p{max-width:580px;font-size:16px;line-height:1.78;color:var(--muted)}
.upgrade-cta{background:var(--cta-bg);color:var(--cta-text);padding:68px 0;position:relative;overflow:hidden;isolation:isolate}
.upgrade-cta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0 70px,#fff1 70px 71px,transparent 71px 130px);z-index:-1}
.upgrade-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.upgrade-cta h2{font-size:clamp(33px,4vw,60px);letter-spacing:-.05em;line-height:1.08;margin:12px 0}
.upgrade-cta p{opacity:.83;max-width:540px}
.upgrade-cta .button{flex:0 0 auto}
.booking-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.booking-step{padding:34px 23px;background:var(--soft);border:1px solid var(--border);position:relative}
.booking-step>span{display:inline-block;font-size:clamp(42px,5vw,72px);font-weight:900;letter-spacing:-.08em;color:var(--accent)}
.booking-step h3{font-size:24px;line-height:1.1;letter-spacing:-.04em;margin:25px 0 12px}
.booking-step p{font-size:14px;color:var(--muted);margin:0}
.booking-step:not(:last-child)::after{content:'→';position:absolute;right:-21px;top:30px;z-index:2;color:var(--accent);font-weight:bold;font-size:25px}
.faq-shell{display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;gap:clamp(35px,5vw,100px)}
.faq-intro{position:sticky;top:50px}.faq-intro h2{font-size:clamp(35px,4.2vw,67px);letter-spacing:-.05em;line-height:1.07;margin:17px 0}.faq-intro p{color:var(--muted);line-height:1.7}
.faq-item{background:var(--soft);border:1px solid var(--border);margin-bottom:10px;transition:border-color .25s}
.faq-item[open]{border-color:var(--accent)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;padding:22px 24px;font-weight:800;font-size:16px;line-height:1.45;min-height:72px}
.faq-item summary>span{font-size:28px;color:var(--accent);line-height:1}.faq-item[open] summary>span{transform:rotate(45deg)}.faq-item p{padding:0 24px 26px;margin:0;color:var(--muted);line-height:1.75}
/* Homepage: additional varied sections */
.upgrade-home-band{background:var(--section-2)}
.upgrade-slider-section{background:var(--main-bg)}
.slider-shell{position:relative}
.slider-controls{display:flex;gap:10px;justify-content:flex-end;margin:-85px 0 36px}
.slider-controls button{display:grid;place-items:center;width:48px;height:48px;background:var(--accent);color:var(--accent-ink);font-size:32px;border:0;cursor:pointer;transition:transform .2s,filter .2s}
.slider-controls button:hover{filter:brightness(1.16);transform:translateY(-2px)}
.slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,32%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding:8px 0 20px}
.route-card{scroll-snap-align:start;min-height:252px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px;border:1px solid var(--border);background:var(--soft);transition:transform .3s,border-color .3s}
.route-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.route-icon{display:grid;place-items:center;width:55px;height:55px;background:var(--accent);color:var(--accent-ink);border-radius:50%}
.route-card strong{display:block;font-size:25px;line-height:1.1;letter-spacing:-.035em;margin-bottom:10px}
.route-card small{display:block;color:var(--muted);font-size:14px;line-height:1.6}
.route-arrow{align-self:flex-end;color:var(--accent)}
.upgrade-ending{border-top:1px solid var(--border)}
/* Version differences beyond colors: layouts, shapes, surfaces, navigation character */
.v1 .upgrade-hero{background:#071827}
.v1 .upgrade-hero-inner{grid-template-columns:1.09fr .91fr}
.v1 .upgrade-hero-media{margin-right:-6vw}.v1 .upgrade-hero-photo{clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);border:none}
.v1 .upgrade-card{border-top:3px solid var(--accent)}.v1 .upgrade-card:nth-child(2){transform:translateY(20px)}
.v1 .upgrade-card:nth-child(2):hover{transform:translateY(12px)}
.v1 .team-photo-section{background:#102d3a}.v1 .upgrade-main{background:#0a2232}
.v1 .upgrade-home-band{background:#0e2839}
.v1 .upgrade-slider-section{background:#0a1c2b}
.v1 .route-card{background:linear-gradient(140deg,#153b48,#0b2234);border-radius:2px}
.v1 .upgrade-cta{background:linear-gradient(130deg,#0b3344,#07131f)}
.v1 .upgrade-ending{background:#102d3c}
.v1 .booking-step{border-left:3px solid var(--accent)}
.v1 .faq-item{border-left:3px solid #5ceee8}
.v2 .upgrade-hero{background:#ffedda;color:#163c40;--ink:#163c40;--muted:#596b68;--photo-bg:#fbc2a1;--photo-bg-2:#f76b43}
.v2 .upgrade-hero-inner{grid-template-columns:.89fr 1.11fr}
.v2 .upgrade-hero-photo{transform:rotate(-3deg);border:12px solid #fffaf0;box-shadow:24px 25px 0 #f7653f33;border-radius:28px}
.v2 .upgrade-card{border-radius:24px 24px 6px 24px;box-shadow:0 14px 38px #b1582f17}
.v2 .upgrade-card:nth-child(2){background:#fff1dc}
.v2 .team-photo-grid{grid-template-columns:1.15fr .85fr}
.v2 .upgrade-main{background:#fff9ec}
.v2 .upgrade-home-band{background:#ffeed8}
.v2 .upgrade-slider-section{background:#fff9f0}
.v2 .route-card{background:#fff2dd;border-radius:27px}
.v2 .upgrade-cta{background:linear-gradient(110deg,#174a49,#0d353f)}
.v2 .upgrade-ending{background:#fff0df}
.v2 .booking-step{border-radius:18px 6px 18px 6px}
.v2 .faq-item{border-radius:14px;overflow:hidden}
.v3 .upgrade-hero{background:#1d342d;color:#f7e9d0}
.v3 .upgrade-hero-inner{grid-template-columns:1fr 1fr}
.v3 .upgrade-hero-photo{border:12px solid #c99c6525;clip-path:polygon(0 6%,95% 0,100% 95%,5% 100%)}
.v3 .upgrade-hero h1,.v3 .upgrade-card h3,.v3 .team-side h2,.v3 .split-upgrade h2,.v3 .upgrade-cta h2,.v3 .faq-intro h2{font-family:Georgia,serif;font-weight:600;letter-spacing:-.04em}
.v3 .upgrade-main{background:#223c31}
.v3 .upgrade-card{border-radius:0 44px 0 0;background:#2c4a3d}
.v3 .team-photo-section{background:#1d352d}
.v3 .upgrade-home-band{background:#294537}
.v3 .upgrade-slider-section{background:#1e382e}
.v3 .route-card{background:#315142;border-radius:0 35px 0 35px}
.v3 .upgrade-cta{background:linear-gradient(115deg,#6f5034,#244035)}
.v3 .upgrade-ending{background:#2b483b}
.v3 .booking-step{border-bottom:3px solid #d5a66a}
.v3 .faq-item{background:#2c4c3e;border-radius:0}
/* Reduced motion and small screens */
@media(max-width:1240px){.nav-desktop{display:none}.menu-toggle{display:flex}.nav-actions{margin-left:auto}.nav-wrap{justify-content:space-between}}
@media(max-width:1000px){.upgrade-hero-inner{grid-template-columns:1fr 1fr!important;gap:30px}.upgrade-hero h1{font-size:clamp(40px,5vw,66px)}.booking-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-step::after{display:none}.faq-shell{grid-template-columns:1fr}.faq-intro{position:static}.slider-track{grid-auto-columns:minmax(230px,46%)}.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.upgrade-hero{padding:40px 0 55px;min-height:unset}.upgrade-hero-inner{grid-template-columns:1fr!important;gap:32px}.upgrade-hero h1{font-size:clamp(40px,11vw,60px)}.upgrade-hero-media{margin:0!important}.upgrade-hero-photo{height:300px;border-width:5px}.v2 .upgrade-hero-photo{transform:none;box-shadow:8px 9px 0 #e4805945}.upgrade-grid,.team-cards{grid-template-columns:1fr;gap:13px}.v1 .upgrade-card:nth-child(2),.v1 .upgrade-card:nth-child(2):hover{transform:none}.upgrade-card{min-height:180px;padding:26px}.upgrade-card h3{margin:18px 0 9px}.team-photo-grid,.split-upgrade{grid-template-columns:1fr;gap:25px}.team-wide,.story-photo{height:285px}.upgrade-cta-inner{display:block}.upgrade-cta h2{font-size:38px}.upgrade-cta .button{margin-top:15px}.booking-timeline{grid-template-columns:1fr;gap:10px}.booking-step{padding:22px}.booking-step>span{font-size:50px}.faq-item summary{padding:18px;font-size:14px}.faq-item p{padding:0 18px 20px}.slider-track{grid-auto-columns:82%}.slider-controls{margin:-3px 0 18px}.upgrade-main .section-heading h2{font-size:clamp(32px,9vw,49px)}.upgrade-ending .button{margin-top:5px}}
@media(max-width:420px){.upgrade-hero .hero-buttons .button{font-size:12px;padding-inline:13px}.upgrade-hero-photo{height:240px}.nav-cta span{font-size:11px}.logo img{max-width:139px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slider-track{scroll-behavior:auto}.upgrade-card,.route-card,.slider-controls button{transition:none}}
