
:root{
  --black:#0d0d0c;
  --off:#f3f0e9;
  --beige:#cbb79a;
  --beige-soft:#ddceb5;
  --green:#1f3028;
  --green-deep:#141f19;
  --muted:#8a8578;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--off);
  color:var(--black);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:'Archivo',sans-serif;font-weight:900;letter-spacing:-0.01em;line-height:1.02}
.serif{font-family:'Playfair Display',serif;font-weight:500}
.anton{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.02em}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
section{position:relative}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--beige);font-weight:600}
/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;transition:background .4s ease,padding .4s ease;mix-blend-mode:difference}
.nav.solid{mix-blend-mode:normal;background:rgba(13,13,12,.82);backdrop-filter:blur(14px);padding:12px 24px}
.nav .brand{font-family:'Archivo',sans-serif;font-weight:900;letter-spacing:.14em;font-size:15px;color:#fff}
.nav.solid .brand{color:var(--off)}
.nav .brand span{color:var(--beige)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.85;transition:opacity .3s}
.nav-links a:hover{opacity:1}
.nav-cta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--beige);border-radius:40px;color:#fff;transition:all .35s ease}
.nav-cta:hover{background:var(--beige);color:var(--black)}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.menu-btn span{width:24px;height:2px;background:#fff;display:block;transition:.3s}
/* ===== HERO ===== */
.hero{height:100vh;min-height:620px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{transform:scale(1.12);animation:slowzoom 18s ease-out forwards}
@keyframes slowzoom{to{transform:scale(1)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.45) 0%,rgba(13,13,12,.25) 40%,rgba(13,13,12,.78) 100%)}
.hero-inner{position:relative;z-index:2;padding:0 20px;max-width:900px}
.hero h1{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(64px,16vw,180px);line-height:.9;letter-spacing:.02em}
.hero .year{display:block;font-family:'Archivo';font-weight:800;font-size:clamp(20px,4vw,34px);letter-spacing:.5em;margin-top:4px;padding-left:.5em}
.hero .slogan{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(18px,3.4vw,30px);margin-top:22px;color:var(--beige-soft);font-weight:500}
.hero .meta{margin-top:26px;font-size:13px;letter-spacing:.28em;text-transform:uppercase;opacity:.9}
.hero .meta span{margin:0 10px}
.btn{display:inline-block;font-family:'Archivo';font-weight:800;font-size:14px;letter-spacing:.18em;text-transform:uppercase;padding:18px 46px;border-radius:50px;background:var(--beige);color:var(--black);transition:transform .35s ease,background .35s ease;cursor:pointer;border:none}
.btn:hover{transform:translateY(-3px);background:var(--off)}
.btn-lg{padding:22px 60px;font-size:16px}
.hero .btn{margin-top:40px}
.hero .sub{margin-top:18px;font-size:12px;letter-spacing:.26em;text-transform:uppercase;opacity:.72}
.scroll-ind{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.7;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-ind::after{content:"";width:1px;height:40px;background:linear-gradient(var(--beige),transparent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
/* ===== SECTION BASICS ===== */
.sec{padding:120px 0}
.sec-sm{padding:90px 0}
.lead-title{font-size:clamp(34px,6vw,74px);line-height:.98;letter-spacing:-0.02em}
.sec-head{max-width:780px;margin-bottom:60px}
.sec-head .eyebrow{display:block;margin-bottom:20px}
.p-lead{font-size:clamp(17px,2.1vw,21px);color:#44423b;max-width:640px}
.p-lead+ .p-lead{margin-top:22px}
/* about */
.about{background:var(--off)}
.about .lead-title em{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--green)}
/* ===== STAGES ===== */
.stages{background:var(--green-deep);color:var(--off)}
.stages .eyebrow{color:var(--beige)}
.stage{display:grid;grid-template-columns:120px 1fr;gap:40px;align-items:start;padding:46px 0;border-top:1px solid rgba(203,183,154,.22)}
.stage:last-of-type{border-bottom:1px solid rgba(203,183,154,.22)}
.stage .num{font-family:'Anton',sans-serif;font-size:clamp(44px,8vw,86px);color:var(--beige);opacity:.55;line-height:.8}
.stage h3{font-family:'Archivo';font-weight:900;font-size:clamp(24px,4vw,40px);text-transform:uppercase;letter-spacing:.01em;margin-bottom:14px}
.stage p{color:#c7c2b4;max-width:560px;font-size:16px}
.stage-flow{margin-top:60px;text-align:center;font-family:'Archivo';font-weight:800;font-size:clamp(13px,2.4vw,20px);letter-spacing:.18em;color:var(--beige);text-transform:uppercase;line-height:2.2}
/* ===== VERSE ===== */
.verse{background:var(--black);color:var(--off);text-align:center;padding:160px 0}
.verse h2{font-family:'Anton',sans-serif;font-size:clamp(46px,11vw,130px);letter-spacing:.02em;line-height:.92}
.verse .q{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(20px,3.2vw,32px);margin:40px auto 10px;max-width:620px;color:var(--beige-soft);font-weight:500}
.verse .ref{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:18px}
.verse p.line{font-size:17px;color:#b7b2a6;margin-top:26px}
/* ===== EXPECT ===== */
.expect{background:var(--off)}
.expect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px}
.ex-card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;color:#fff}
.ex-card img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ex-card:hover img{transform:scale(1.06)}
.ex-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.1) 30%,rgba(13,13,12,.82) 100%)}
.ex-card .ex-txt{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}
.ex-card h3{font-family:'Archivo';font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.ex-card p{font-size:13.5px;color:#e4e0d6;margin-top:6px;line-height:1.45}
/* ===== DETAILS ===== */
.details{background:var(--green);color:var(--off);text-align:center}
.details .eyebrow{color:var(--beige)}
.detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:54px 0 46px;border-top:1px solid rgba(203,183,154,.25);border-bottom:1px solid rgba(203,183,154,.25)}
.detail-grid .d{padding:34px 14px;border-right:1px solid rgba(203,183,154,.18)}
.detail-grid .d:last-child{border-right:none}
.detail-grid .d .k{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--beige);margin-bottom:12px}
.detail-grid .d .v{font-family:'Archivo';font-weight:800;font-size:clamp(15px,1.9vw,21px);line-height:1.2}
.btn-ghost{display:inline-block;font-family:'Archivo';font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:16px 42px;border-radius:50px;border:1px solid var(--beige);color:var(--off);transition:all .35s}
.btn-ghost:hover{background:var(--beige);color:var(--green)}
/* ===== FORYOU ===== */
.foryou{background:var(--off)}
.foryou .lead-title{margin-bottom:46px}
.fy-list{list-style:none;max-width:760px}
.fy-list li{display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(13,13,12,.1);font-size:clamp(17px,2.4vw,22px);color:#2b2a25}
.fy-list li .mk{font-family:'Anton',sans-serif;color:var(--beige);font-size:18px;flex-shrink:0}
.fy-end{margin-top:50px;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(24px,4.4vw,42px);color:var(--green);line-height:1.2;max-width:620px}
/* ===== GALLERY ===== */
.gallery{background:var(--green-deep);color:var(--off)}
.gallery .eyebrow{color:var(--beige)}
.gal-grid{columns:3;column-gap:14px;margin-top:50px}
.gal-grid .g{break-inside:avoid;margin-bottom:14px;border-radius:4px;overflow:hidden;position:relative}
.gal-grid .g img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1);filter:saturate(.95)}
.gal-grid .g:hover img{transform:scale(1.05)}
/* ===== FAQ ===== */
.faq{background:var(--off)}
.faq-list{max-width:820px;margin-top:40px}
.faq-item{border-bottom:1px solid rgba(13,13,12,.14)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Archivo';font-weight:800;font-size:clamp(16px,2.4vw,21px);color:var(--black);letter-spacing:-0.01em}
.faq-q .ic{font-family:'Anton';font-size:22px;color:var(--beige);transition:transform .4s ease;flex-shrink:0}
.faq-item.open .faq-q .ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s ease}
.faq-a p{padding:0 0 26px;color:#4a483f;font-size:16px;max-width:680px}
/* ===== REGISTER ===== */
.register{position:relative;color:#fff;text-align:center;padding:170px 0;overflow:hidden}
.register .hero-bg img{transform:scale(1.05)}
.register .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.72),rgba(20,31,25,.9))}
.register .inner{position:relative;z-index:2}
.register h2{font-family:'Anton',sans-serif;font-size:clamp(44px,10vw,120px);line-height:.9;letter-spacing:.02em}
.register p{margin:28px auto 0;max-width:520px;font-size:17px;color:#ddd8cc}
.register .btn{margin-top:42px}
/* ===== FOOTER ===== */
.footer{background:var(--black);color:var(--off);padding:90px 0 40px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(203,183,154,.18)}
.foot-brand .anton{font-size:clamp(40px,8vw,78px);color:var(--off);line-height:.9}
.foot-brand .slg{font-family:'Playfair Display',serif;font-style:italic;color:var(--beige);font-size:20px;margin-top:14px}
.foot-brand .mt{margin-top:20px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);line-height:2}
.foot-cols{display:flex;gap:70px;flex-wrap:wrap}
.foot-cols h4{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--beige);margin-bottom:18px}
.foot-cols a{display:block;font-size:14px;color:#c3bfb3;padding:7px 0;transition:color .3s}
.foot-cols a:hover{color:var(--off)}
.foot-bottom{text-align:center;padding-top:46px}
.foot-bottom .flow{font-family:'Archivo';font-weight:800;letter-spacing:.2em;font-size:clamp(11px,2.2vw,15px);color:var(--beige)}
.foot-bottom .big{font-family:'Anton';font-size:clamp(22px,5vw,40px);margin-top:14px;color:var(--off)}
.foot-bottom .cr{margin-top:30px;font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
/* ===== REVEAL ANIM ===== */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
/* ===== RESPONSIVE ===== */
@media(max-width:860px){
  .nav-links{display:none}
  .menu-btn{display:flex}
  .mobile-menu{position:fixed;inset:0;z-index:99;background:rgba(13,13,12,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .4s}
  .mobile-menu.show{opacity:1;pointer-events:auto}
  .mobile-menu a{color:var(--off);font-family:'Archivo';font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.08em}
  .mobile-menu .nav-cta{border-color:var(--beige)}
  .sec,.register,.verse{padding:80px 0}
  .expect-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:repeat(2,1fr)}
  .detail-grid .d:nth-child(2n){border-right:none}
  .detail-grid .d{border-bottom:1px solid rgba(203,183,154,.18)}
  .gal-grid{columns:2}
  .stage{grid-template-columns:70px 1fr;gap:18px}
  .foot-cols{gap:40px}
}
@media(max-width:520px){
  .expect-grid{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid .d{border-right:none}
  .gal-grid{columns:1}
  .hero .meta span{display:inline-block}
}

/* Reliability and accessibility fixes; original visual design is preserved. */
.mobile-menu{display:none}
@media(max-width:860px){.mobile-menu{display:flex}.hero{min-height:620px;height:100svh}}
section[id]{scroll-margin-top:75px}
a:focus-visible,button:focus-visible{outline:3px solid var(--beige);outline-offset:6px}
.skip-link{position:fixed;top:8px;left:12px;z-index:200;background:var(--off);padding:10px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.hero,.register{isolation:isolate}
dialog{margin:auto;max-width:480px;width:calc(100% - 40px);padding:32px;border:1px solid var(--beige);border-radius:14px;background:var(--off);color:var(--black)}
dialog::backdrop{background:rgba(13,13,12,.75)}
dialog h2{font-size:28px}dialog p{margin:20px 0}dialog .btn{padding:12px 24px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
