:root{
  --ink:#0b0d14;
  --navy:#131a33;
  --navy-2:#1c2547;
  --paper:#faf9f6;
  --paper-2:#f0ede4;
  --gold:#c99a4a;
  --gold-2:#e8bd72;
  --rose:#c85a6e;
  --text:#e9eaf0;
  --text-dim:#a7acc4;
  --line:rgba(255,255,255,0.10);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--ink);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Bricolage Grotesque', sans-serif;
  letter-spacing:-0.02em;
  font-weight:600;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
::selection{background:var(--gold);color:var(--ink);}

/* NAV */
nav{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(11,13,20,0.72);
  border-bottom:1px solid var(--line);
}
nav .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.brand{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-0.01em;}
.brand span{color:var(--gold-2);}
.nav-links{display:flex;align-items:center;gap:34px;font-size:0.92rem;color:var(--text-dim);}
.nav-links a:hover{color:var(--text);}
.nav-links a.current{color:var(--paper);}
.nav-links .academy-link{
  color:var(--paper);
  border:1px solid var(--line);
  padding:9px 18px;
  border-radius:100px;
  transition:border-color .2s ease, color .2s ease;
}
.nav-links .academy-link:hover{border-color:var(--gold-2); color:var(--gold-2);}
.nav-cta{
  background:var(--gold-2);
  color:var(--ink);
  padding:10px 22px;
  border-radius:100px;
  font-weight:600;
  font-size:0.92rem;
}

/* HERO (home page, crossfade) */
.hero{
  position:relative;
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  min-height:calc(100vh - 76px);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 15% 20%, rgba(201,154,74,0.16), transparent 60%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(28,37,71,0.6), transparent 60%);
  pointer-events:none;
}
.hero-copy{
  position:relative;
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 56px 64px 6vw;
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  width:fit-content;
  padding:8px 16px;
  border:1px solid var(--line);
  border-radius:100px;
  font-size:0.82rem;
  color:var(--gold-2);
  margin-bottom:30px;
}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-2);}
.hero-copy h1{
  font-size:clamp(3.4rem, 6.6vw, 5.8rem);
  line-height:0.96;
  color:var(--paper);
}
.hero-sub{
  margin-top:24px;
  max-width:38ch;
  font-size:1.15rem;
  color:var(--text-dim);
}
.hero-list{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px;}
.hero-list div{
  font-size:0.88rem;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:100px;
  color:var(--text);
}
.hero-actions{display:flex;align-items:center;gap:20px;margin-top:42px;flex-wrap:wrap;}
.btn-primary{
  background:var(--gold-2);
  color:var(--ink);
  font-weight:600;
  padding:16px 30px;
  border-radius:100px;
  font-size:1rem;
  transition:transform .15s ease, box-shadow .15s ease;
  display:inline-block;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(232,189,114,0.25);}
.btn-ghost{
  color:var(--text);
  font-size:0.95rem;
  border-bottom:1px solid var(--line);
  padding-bottom:2px;
}
.hero-author{
  margin-top:56px;padding-top:22px;
  border-top:1px solid var(--line);
  font-size:0.95rem;color:var(--text-dim);
  max-width:34ch;
}
.hero-author strong{color:var(--paper);font-weight:600;}
.hero-image{position:relative;overflow:hidden;}
.hero-image .slide{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;object-position:center top;
  opacity:0;
  animation:heroCrossfade 20s ease-in-out infinite;
}
.hero-image .slide:nth-of-type(1){animation-delay:0s;}
.hero-image .slide:nth-of-type(2){animation-delay:-5s;}
.hero-image .slide:nth-of-type(3){animation-delay:-10s;}
.hero-image .slide:nth-of-type(4){animation-delay:-15s;}
@keyframes heroCrossfade{
  0%{opacity:0;}
  4%{opacity:1;}
  21%{opacity:1;}
  25%{opacity:0;}
  100%{opacity:0;}
}
.hero-image::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(90deg, var(--ink) 0%, rgba(11,13,20,0) 24%),
    linear-gradient(0deg, rgba(11,13,20,0.55) 0%, rgba(11,13,20,0) 30%);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero-image .slide{animation:none;}
  .hero-image .slide:nth-of-type(1){opacity:1;}
  .hero-image .slide:nth-of-type(n+2){opacity:0;}
}

/* three-slide variant for sub-page heroes */
.hero-image.triple .slide{animation:heroCrossfadeTriple 15s ease-in-out infinite;}
.hero-image.triple .slide:nth-of-type(1){animation-delay:0s;}
.hero-image.triple .slide:nth-of-type(2){animation-delay:-5s;}
.hero-image.triple .slide:nth-of-type(3){animation-delay:-10s;}
@keyframes heroCrossfadeTriple{
  0%{opacity:0;}
  4%{opacity:1;}
  29%{opacity:1;}
  33%{opacity:0;}
  100%{opacity:0;}
}

/* SUB-PAGE HERO (shorter split layout, same pattern as home hero) */
.hero.sub{min-height:82vh;}
.hero.sub .hero-copy{padding:120px 56px 64px 6vw;}

/* INTRO */
.intro{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0 110px;
  text-align:center;
}
.intro .rule{width:44px;height:2px;background:var(--rose);margin:0 auto 32px;}
.intro p{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:500;
  font-size:clamp(1.55rem, 2.6vw, 2.25rem);
  line-height:1.4;
  max-width:20ch;
  margin:0 auto;
  letter-spacing:-0.01em;
}

/* TEASER CARDS (home page) */
.teasers{background:var(--paper);padding:0 0 130px;}
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.teaser-card{
  background:var(--navy);color:var(--paper);
  border-radius:20px;padding:36px 30px;
  display:flex;flex-direction:column;gap:16px;
  transition:transform .2s ease;
}
.teaser-card:hover{transform:translateY(-4px);}
.teaser-card h3{font-size:1.3rem;}
.teaser-card p{color:var(--text-dim);font-size:0.95rem;flex-grow:1;}
.teaser-card .go{color:var(--gold-2);font-size:0.9rem;font-weight:600;}

/* WORKBOOK */
.workbook{background:var(--paper);padding:100px 0 130px;}
.workbook-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:start;}
.eyebrow{
  font-size:0.85rem;font-weight:600;letter-spacing:0.02em;
  color:var(--rose);margin-bottom:14px;
}
.workbook h2{font-size:clamp(2rem, 3.2vw, 2.7rem);color:var(--navy);max-width:11ch;margin-bottom:6px;}
.workbook-visual{
  background:var(--navy);
  color:var(--paper);
  border-radius:22px;
  padding:42px 38px;
}
.workbook-visual h3{font-size:1.4rem;margin-bottom:22px;color:var(--paper);}
.workbook-visual ul{list-style:none;display:flex;flex-direction:column;gap:18px;}
.workbook-visual li{padding-left:24px;position:relative;font-size:0.96rem;color:var(--text-dim);}
.workbook-visual li::before{
  content:"";position:absolute;left:0;top:8px;width:9px;height:9px;
  border-radius:3px;background:var(--gold-2);
}
.workbook-copy p{color:#4b4a42;font-size:1.05rem;max-width:56ch;margin-bottom:20px;}
.workbook-copy p:first-of-type{color:var(--ink);font-size:1.12rem;}

/* GALLERY */
.gallery{background:var(--ink);padding:100px 0 130px;}
.gallery-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:40px;margin-bottom:52px;flex-wrap:wrap;
}
.gallery-head h2{font-size:clamp(2rem, 3.2vw, 2.7rem);color:var(--paper);max-width:16ch;}
.gallery-head p{color:var(--text-dim);max-width:42ch;font-size:1rem;}
.academy-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;
  border:1px solid var(--rose);
  color:var(--paper);
  padding:14px 26px;
  border-radius:100px;
  font-size:0.95rem;font-weight:500;
  white-space:nowrap;
  transition:background .2s ease;
}
.academy-cta:hover{background:rgba(200,90,110,0.14);}
.grid-photos{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  grid-auto-rows:150px;
  gap:10px;
  max-width:920px;
}
.grid-photos.full{max-width:100%;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px;}
.grid-photos figure{
  overflow:hidden;border-radius:12px;position:relative;
  grid-column:span 1;grid-row:span 1;
}
.grid-photos.full figure{border-radius:16px;}
.grid-photos figure.tall{grid-row:span 2;}
.grid-photos img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(55%) brightness(0.8) saturate(0.9);
  opacity:0.72;
  transition:transform .6s ease, filter .5s ease, opacity .5s ease;
}
.grid-photos.full img{
  filter:grayscale(20%) brightness(0.92) saturate(1);
  opacity:0.92;
}
.grid-photos figure:hover img{
  transform:scale(1.05);
  filter:grayscale(0%) brightness(1) saturate(1);
  opacity:1;
}

/* VOICES */
.voices{background:var(--paper-2);color:var(--ink);padding:100px 0 130px;}
.voices h2{font-size:clamp(2rem, 3.2vw, 2.7rem);color:var(--navy);margin-bottom:60px;max-width:15ch;}
.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.voice-card{display:grid;grid-template-columns:100px 1fr;gap:22px;}
.voice-card img{width:100px;height:100px;object-fit:cover;border-radius:18px;}
.voice-card h3{font-size:1.25rem;color:var(--navy);margin-bottom:4px;}
.voice-card .role{color:var(--rose);font-size:0.85rem;font-weight:600;margin-bottom:12px;}
.voice-card p{color:#5a5748;font-size:0.95rem;}
.voice-full{max-width:720px;margin:0 auto;}
.voice-full .voice-card{grid-template-columns:150px 1fr;margin-bottom:70px;}
.voice-full .voice-card img{width:150px;height:150px;border-radius:24px;}
.voice-full .voice-card p{margin-bottom:12px;}

/* CLOSING */
.closing{
  background:linear-gradient(135deg, var(--navy) 0%, #241a3d 100%);
  color:var(--paper);padding:120px 0;text-align:center;
}
.closing h2{font-size:clamp(2.2rem, 4vw, 3.2rem);max-width:16ch;margin:0 auto 26px;}
.closing p{max-width:44ch;margin:0 auto 40px;color:var(--text-dim);font-size:1.05rem;}
.closing-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}

footer{background:var(--ink);color:var(--text-dim);padding:36px 0;font-size:0.85rem;border-top:1px solid var(--line);}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

/* EVENT DETAILS */
.event-details{background:var(--paper);padding:100px 0;}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.detail-card{background:var(--navy);color:var(--paper);border-radius:20px;padding:36px 30px;}
.detail-card .label{color:var(--gold-2);font-size:0.85rem;font-weight:600;margin-bottom:10px;}
.detail-card .value{font-size:1.35rem;}
.detail-card .sub{color:var(--text-dim);font-size:0.9rem;margin-top:6px;}

/* REGISTRATION */
.register{background:var(--ink);padding:120px 0;}
.register-head{text-align:center;margin-bottom:50px;}
.register-head h2{color:var(--paper);margin-bottom:14px;}
.register-head p{color:var(--text-dim);max-width:44ch;margin:0 auto;}
.register-wrap{max-width:560px;margin:0 auto;}
.reg-form{display:flex;flex-direction:column;gap:18px;background:var(--navy);padding:44px;border-radius:24px;}
.reg-form .field label{display:block;font-size:0.85rem;color:var(--text-dim);margin-bottom:8px;}
.reg-form .field input,.reg-form .field select{
  width:100%;padding:13px 16px;border-radius:10px;
  border:1px solid var(--line);background:rgba(255,255,255,0.04);
  color:var(--paper);font-family:'Inter',sans-serif;font-size:0.95rem;
}
.reg-form .field input:focus,.reg-form .field select:focus{outline:2px solid var(--gold-2);outline-offset:2px;}
.reg-form button{
  width:100%;text-align:center;border:none;cursor:pointer;
  font-family:'Inter',sans-serif;margin-top:6px;
}
.reg-confirm{display:none;text-align:center;padding:48px 44px;background:var(--navy);border-radius:24px;}
.reg-confirm.show{display:block;}
.reg-confirm h3{color:var(--paper);margin-bottom:12px;font-size:1.4rem;}
.reg-confirm p{color:var(--text-dim);}

@media (max-width:860px){
  .detail-grid{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-image{height:56vh;order:-1;}
  .hero-image::after{background:linear-gradient(180deg, rgba(11,13,20,0) 55%, var(--ink) 100%);}
  .hero-copy{padding:48px 24px;}
  .nav-links{display:none;}
  .workbook-grid,.voice-grid,.teaser-grid{grid-template-columns:1fr;gap:40px;}
  .grid-photos{grid-template-columns:repeat(3,1fr);grid-auto-rows:120px;max-width:100%;}
  .grid-photos.full{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .gallery-head{flex-direction:column;align-items:flex-start;}
  .voice-full .voice-card{grid-template-columns:90px 1fr;}
  .voice-full .voice-card img{width:90px;height:90px;}
}
@media (prefers-reduced-motion:reduce){
  .grid-photos img{transition:none;}
}
