:root{--bg:#0d0e1a;--bg2:#141629;--card:#171a30;--line:rgba(201,162,75,.28);--gold:#c9a24b;--gold2:#e8cf8a;--ivory:#f3ead7;--muted:#a49f93;--ok:#7fd1a0;--warn:#e8b45a;--bad:#e07a7a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:radial-gradient(1200px 700px at 80% -10%,#232552 0%,transparent 60%),var(--bg);color:var(--ivory);font:17px/1.65 'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.gold{color:var(--gold2)}
.muted{color:var(--muted)}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(13,14,26,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:var(--gold2)}
.logo svg{width:30px;height:30px}
nav{display:flex;gap:26px;font-size:.93rem}
nav a{color:var(--muted);transition:color .2s}
nav a:hover,nav a.on{color:var(--gold2)}
@media(max-width:760px){nav{display:none}}

/* hero */
.hero{position:relative;overflow:hidden;padding:96px 0 84px;text-align:center}
.hero .fol{position:absolute;left:50%;top:50%;width:760px;max-width:140vw;transform:translate(-50%,-50%);opacity:.16;animation:spin 240s linear infinite;pointer-events:none}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero>.wrap{position:relative}
.eyebrow{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-size:clamp(2.4rem,6.5vw,4.4rem);margin:18px 0 20px}
.hero p{max-width:620px;margin:0 auto 34px;color:#d6cfbf}
.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid var(--gold);transition:.2s;cursor:pointer}
.btn-gold{background:linear-gradient(135deg,#e8cf8a,#c9a24b);color:#1a1507;border-color:transparent}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-line{color:var(--gold2)}
.btn-line:hover{background:rgba(201,162,75,.12)}
.btn-wait{background:transparent;color:var(--warn);border-color:var(--warn)}

/* sections */
section{padding:64px 0}
.title{text-align:center;margin-bottom:40px}
.title h2{font-size:clamp(1.9rem,4vw,2.7rem)}
.divider{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:var(--gold)}
.divider:before,.divider:after{content:"";height:1px;width:70px;background:var(--line)}

/* direction tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.tile{position:relative;background:linear-gradient(160deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:18px;padding:34px 28px;transition:.25s;overflow:hidden}
.tile:hover{transform:translateY(-4px);border-color:var(--gold)}
.tile svg.ico{width:64px;height:64px;margin-bottom:22px}
.tile h3{font-size:1.75rem;margin-bottom:10px}
.tile p{color:var(--muted);font-size:.96rem;margin-bottom:20px}
.tile .more{color:var(--gold2);font-size:.92rem}

/* event cards */
.month{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold2);margin:36px 0 16px;display:flex;align-items:center;gap:14px}
.month:after{content:"";flex:1;height:1px;background:var(--line)}
.ev{display:grid;grid-template-columns:96px 1fr auto;gap:26px;align-items:center;background:linear-gradient(160deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:18px;padding:24px 28px;margin-bottom:16px}
.date{text-align:center;border-right:1px solid var(--line);padding-right:22px}
.date b{display:block;font-family:'Cormorant Garamond',serif;font-size:3rem;line-height:1;color:var(--gold2)}
.date span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ev h3{font-size:1.5rem;margin-bottom:6px}
.ev .desc{color:#cfc8b8;font-size:.96rem;margin-bottom:10px}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--muted)}
.meta a{color:var(--gold2);border-bottom:1px dotted var(--gold)}
.side{text-align:right;min-width:210px}
.price{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--ivory)}
.price small{display:block;font-family:'Manrope',sans-serif;font-size:.78rem;color:var(--muted)}
.seats{display:flex;justify-content:flex-end;gap:5px;margin:10px 0 4px}
.seats i{width:11px;height:11px;border-radius:50%;border:1px solid var(--gold);display:block}
.seats i.f{background:var(--gold)}
.left{font-size:.82rem;color:var(--ok);margin-bottom:12px}
.left.low{color:var(--warn)}
.left.zero{color:var(--bad)}
@media(max-width:760px){.ev{grid-template-columns:1fr;gap:14px}.date{border:0;padding:0;text-align:left;display:flex;gap:10px;align-items:baseline}.date b{font-size:2.2rem}.side{text-align:left}.seats{justify-content:flex-start}}

/* direction hero */
.dhero{position:relative;overflow:hidden;padding:70px 0 40px}
.dhero .fol{position:absolute;right:-120px;top:-60px;width:520px;opacity:.14;pointer-events:none}
.dhero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin:12px 0 16px}
.dhero p{max-width:680px;color:#d6cfbf}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--gold2)}
.facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.facts span{border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:.86rem;color:var(--gold2)}

/* how-to */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:s}
.step{border:1px solid var(--line);border-radius:16px;padding:24px 22px;background:rgba(23,26,48,.6)}
.step:before{counter-increment:s;content:counter(s);font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--gold);display:block;line-height:1;margin-bottom:10px}
.step p{color:var(--muted);font-size:.93rem}
.rules{margin-top:22px;border:1px dashed var(--line);border-radius:16px;padding:20px 24px;color:#d6cfbf;font-size:.94rem}
.rules b{color:var(--gold2)}

footer{border-top:1px solid var(--line);padding:34px 0;text-align:center;color:var(--muted);font-size:.9rem}
footer a{color:var(--gold2)}

/* fixes */
h1,h2,h3,.serif,.date b,.price,.month,.step:before,.logo{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.fol{stroke-width:.9}
svg.ico{stroke-width:6}
.logo svg{stroke-width:9}
.hero .fol,.dhero .fol{-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
.ev{grid-template-columns:96px minmax(0,1fr) auto}
.indiv-card{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:linear-gradient(160deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:18px;padding:32px 30px}
.indiv-main h3{font-size:1.6rem;margin-bottom:8px}
.indiv-main .desc{color:#cfc8b8;font-size:1rem;line-height:1.6}
.indiv-side{text-align:right;min-width:220px}
@media(max-width:760px){.ev{grid-template-columns:minmax(0,1fr)}.indiv-card{grid-template-columns:1fr;gap:20px}.indiv-side{text-align:left}.btn{text-align:center}}
