:root{--bg-canvas:#1e1612;--bg-surface:#30231b;--bg-surface-hover:#463326;--text-primary:#f5ecdf;--text-muted:#c8b8a6;--accent-primary:#f59e0b;--accent-secondary:#f5c36a;--border-subtle:rgba(245,236,223,.16);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.3);--glow-accent:0 0 24px -4px rgba(245,158,11,.35);--glass-backdrop:blur(16px) saturate(140%);--content-width:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:400 16px/1.7 system-ui,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,h4,p{overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.035em;font-weight:800}
h1{font-size:clamp(2.8rem,7vw,5.8rem);max-width:13ch;margin:.25em 0}
h2{font-size:clamp(1.8rem,4vw,3rem);margin:0 0 1rem}
h3{font-size:1.25rem}
a{color:var(--accent-secondary);text-underline-offset:.2em}
a:hover{color:#ffd78b}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px;border-radius:5px}
img{display:block;max-width:100%;object-fit:cover;border-radius:20px}
.skip-link{position:absolute;left:-9999px;top:1rem;background:var(--accent-primary);color:var(--bg-canvas);padding:.7rem 1rem;z-index:20}
.skip-link:focus{left:1rem}
.wrap{width:min(calc(100% - 2.5rem),var(--content-width));margin-inline:auto}
.site-header{padding:1.1rem 0;border-bottom:1px solid var(--border-subtle)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--text-primary);text-decoration:none;font-size:1.08rem;font-weight:850;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50% 50% 45% 45%;background:var(--accent-primary);color:#1e1612;font-weight:900}
.nav-groups{display:flex;align-items:center;justify-content:flex-end;gap:1.7rem}
.nav-group{display:flex;align-items:center;gap:1.2rem}
.nav-group a{font-size:.88rem;color:var(--text-primary);text-decoration:none;font-weight:650}
.nav-group a:hover{color:var(--accent-primary)}
.menu-button{display:none;border:0;background:transparent;color:var(--text-primary);font-size:2rem;line-height:1;cursor:pointer}
main{display:block}
.hero{position:relative;padding:clamp(4rem,9vw,8rem) 0 5.5rem;isolation:isolate}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);z-index:-1;pointer-events:none}
.hero:before{width:22rem;height:22rem;background:radial-gradient(circle,rgba(245,158,11,.18),transparent 68%);right:8%;top:8%}
.hero:after{width:17rem;height:17rem;background:radial-gradient(circle,rgba(194,65,12,.16),transparent 68%);left:34%;bottom:0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.eyebrow{color:var(--accent-primary);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.lede{font-size:1.18rem;color:#e3d5c5;max-width:65ch}
.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;background:var(--accent-primary);border:0;border-radius:999px;padding:.85rem 1.35rem;color:#1e1612;text-decoration:none;font-weight:850;transition:transform .25s var(--ease-kinetic),box-shadow .25s var(--ease-kinetic),background .25s}
.button:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-elevation),var(--glow-accent);background:#ffc04c;color:#1e1612}
.button-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle)}
.button-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary)}
.hero-art{position:relative;min-height:400px}
.illustration{position:absolute;border:1px solid rgba(245,236,223,.26);border-radius:20px;padding:1rem;background:rgba(48,35,27,.92);box-shadow:var(--shadow-elevation);backdrop-filter:var(--glass-backdrop)}
.ticket-illustration{width:53%;top:5%;left:1%;transform:rotate(-5deg)}
.prep-illustration{width:54%;top:24%;right:0;transform:rotate(4deg);z-index:2}
.station-illustration{width:58%;bottom:2%;left:17%;transform:rotate(-2deg);z-index:3}
.ill-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-secondary);font-weight:800}
.ticket-line{height:10px;background:#75533a;border-radius:20px;margin:.65rem 0}
.ticket-line:nth-of-type(2){width:78%}.ticket-line:nth-of-type(3){width:58%}
.prep-row,.station-row{display:flex;align-items:center;gap:.6rem;padding:.48rem .1rem;border-bottom:1px solid var(--border-subtle);font-size:.78rem}
.prep-num{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent-primary);color:#1e1612;font-weight:900}
.station-bars{height:9px;flex:1;border-radius:20px;background:linear-gradient(90deg,var(--accent-primary) 62%,#74553d 62%)}
.station-row:nth-child(3) .station-bars{background:linear-gradient(90deg,#d97706 38%,#74553d 38%)}
.section{padding:5rem 0;position:relative}
.section:nth-of-type(even){background:#2a201a}
.section-amber{background:var(--accent-primary);color:#24170c}
.section-amber .eyebrow,.section-amber .muted{color:#50300a}
.section-amber a{color:#2a1908}
.section-intro{max-width:70ch;margin:0 auto 2.5rem;text-align:center}
.section-intro p{color:var(--text-muted)}
.section-amber .section-intro p{color:#49300f}
.flow-section{padding-left:4.2rem}
.flow-section:before{content:"";position:absolute;left:1.45rem;top:0;bottom:0;width:1px;background:linear-gradient(var(--accent-primary),rgba(245,158,11,.08))}
.flow-number{position:absolute;left:.18rem;top:5rem;display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--accent-primary);color:#24170c;font-weight:900;box-shadow:0 0 0 7px var(--bg-canvas)}
.section-amber .flow-number{box-shadow:0 0 0 7px var(--accent-primary);background:#24170c;color:var(--accent-primary)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.card{border:1px solid var(--border-subtle);border-radius:20px;padding:1.45rem;background:rgba(48,35,27,.82);backdrop-filter:var(--glass-backdrop);box-shadow:0 8px 22px rgba(0,0,0,.12);transition:transform .35s var(--ease-kinetic),box-shadow .35s var(--ease-kinetic),background .35s}
.card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}
.card p{color:var(--text-muted)}
.section-amber .card{background:rgba(255,242,216,.74);border-color:rgba(65,41,12,.14);color:#24170c}
.section-amber .card p{color:#49300f}
.feature-card{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:2rem}
.feature-card img{width:100%;aspect-ratio:16/9}
.split-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:1.5rem}
.split-card img{aspect-ratio:4/3;width:100%}
.small-photo{aspect-ratio:4/3;width:100%;margin-bottom:1rem}
.callout{border-left:4px solid var(--accent-primary);padding:1rem 1.25rem;background:rgba(245,158,11,.08);border-radius:0 14px 14px 0}
.muted{color:var(--text-muted)}
.reading{max-width:70ch;margin-inline:auto}
.reading h2{margin-top:2.7rem}
.reading h3{margin-top:2rem}
.reading li{padding:.22rem 0}
table{border-collapse:collapse;width:100%;min-width:650px}
th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--border-subtle);vertical-align:top}
th{color:var(--accent-secondary)}
table strong{color:var(--text-primary)}
.table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:16px;margin:1.5rem 0}
.pathway{counter-reset:step}
.pathway-item{position:relative;padding:1.4rem 1.4rem 1.4rem 4.4rem;margin:0 0 1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px}
.pathway-item:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:1rem;top:1.35rem;color:var(--accent-primary);font-weight:900}
.faq-list details{border-bottom:1px solid var(--border-subtle);padding:1rem 0}
.faq-list summary{cursor:pointer;font-weight:800;color:var(--text-primary)}
.faq-list details p{max-width:70ch;color:var(--text-muted)}
.contact-form{display:grid;gap:1rem}
.contact-form label{font-weight:750}
.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:.35rem;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--border-subtle);background:#211813;color:var(--text-primary);font:inherit}
.contact-form textarea{min-height:120px}
.preview{white-space:pre-wrap;padding:1rem;border-radius:14px;background:#160f0c;border:1px solid var(--border-subtle);min-height:120px;color:#e9dbc9}
.site-footer{padding:4rem 0 1.5rem;background:#160f0c;border-top:1px solid var(--border-subtle)}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:2rem}
.site-footer h2,.site-footer h3{font-size:1rem;letter-spacing:0;margin:0 0 .8rem}
.site-footer p,.site-footer li{font-size:.88rem;color:var(--text-muted)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.35rem 0}
.site-footer a{color:var(--text-primary)}
.footer-bottom{border-top:1px solid var(--border-subtle);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--text-muted);font-size:.82rem}
.reveal{opacity:0;transform:translateY(22px)}
.reveal-visible{opacity:1;transform:translateY(0);transition:all .7s var(--ease-kinetic)}
.no-js .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(min-width:1025px){.wrap{width:min(calc(100% - 3rem),var(--content-width))}}
@media(min-width:769px) and (max-width:1024px){.nav-group{gap:.7rem}.nav-group a{font-size:.8rem}.hero-grid{gap:1.5rem}}
@media(max-width:768px){.header-inner{gap:1rem}.menu-button{display:block;margin-left:auto}.nav-groups{display:none;position:absolute;z-index:10;top:4.8rem;left:1rem;right:1rem;padding:1rem;background:#30231b;border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevation)}.nav-groups.is-open{display:block}.nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem 1rem}.nav-group+.nav-group{border-top:1px solid var(--border-subtle);margin-top:.6rem;padding-top:.6rem}.nav-group a{padding:.55rem}.hero-grid{grid-template-columns:1fr}.hero-art{min-height:350px;max-width:560px;width:100%;margin:auto}.feature-card,.split-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.wrap{width:min(calc(100% - 1.4rem),var(--content-width))}.brand{font-size:.96rem}.hero{padding:3.5rem 0}.hero-art{min-height:290px}.illustration{padding:.8rem}.flow-section{padding-left:3.1rem}.flow-section:before{left:1rem}.flow-number{left:0;top:5rem;width:2rem;height:2rem}.section{padding:3.6rem 0}.flow-section{padding-left:3.1rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}}