:root{
  --bg:#060708;
  --bg-soft:#0b0d0f;
  --panel:#0d0f12;
  --line:rgba(234,184,88,.18);
  --line-soft:rgba(255,255,255,.09);
  --text:#f6efe6;
  --muted:#d1c8bb;
  --gold:#dba34b;
  --gold-light:#f0c16f;
  --shadow:0 28px 80px rgba(0,0,0,.45);
  --shell:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 75% 15%, rgba(241,136,28,.12), transparent 24%),
    linear-gradient(180deg,#050607 0%,#07090b 32%,#050607 100%);
  color:var(--text);
  font-family: Georgia, "Times New Roman", serif;
  line-height:1.4;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.shell{width:min(var(--shell),calc(100% - 48px));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(6,7,8,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
  display:flex;align-items:center;justify-content:space-between;
  padding:18px max(24px,calc((100vw - var(--shell))/2 + 24px));
}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:56px;height:56px;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-top,.brand-bottom{letter-spacing:.18em;color:#f3d99b}
.brand-top{font-size:26px}
.brand-bottom{font-size:16px;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:32px;font:500 16px/1.2 Arial,sans-serif;color:#e9e3d8}
.main-nav a:not(.button){opacity:.92}
.main-nav a:not(.button):hover{color:var(--gold-light)}

.button{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:15px 26px;border-radius:8px;border:1px solid var(--gold);
  background:linear-gradient(180deg,#efc26f,#dca045);
  color:#171108;font:bold 18px Arial,sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}
.button:hover{filter:brightness(1.04)}
.button-small{padding:13px 21px;font-size:16px}
.button-outline{
  background:rgba(0,0,0,.15);color:var(--text);border:1px solid rgba(240,193,111,.8);box-shadow:none;
}

.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(4,5,7,.9) 0%, rgba(5,6,7,.76) 42%, rgba(5,6,7,.4) 65%, rgba(5,6,7,.55) 100%),
    radial-gradient(circle at 88% 42%, rgba(255,138,18,.42), transparent 16%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)),
    linear-gradient(90deg,#0a0c0f 0%, #0a0b0d 50%, #0f0b08 100%);
}
.hero::after{
  content:"";position:absolute;right:0;bottom:0;width:42%;height:100%;
  background:
    radial-gradient(circle at 88% 42%, rgba(255,149,37,.75) 0%, rgba(255,149,37,.22) 11%, transparent 23%),
    linear-gradient(180deg,transparent 55%, rgba(0,0,0,.2) 100%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  min-height:560px;
  display:grid;grid-template-columns:1fr 0.95fr;align-items:center;gap:40px;
  padding:34px 0 42px;
}
.hero-copy{max-width:590px}
.hero-copy h1{font-size:clamp(56px,7vw,88px);line-height:.95;margin:0 0 24px;letter-spacing:-.04em}
.hero-copy h1 span{color:var(--gold-light)}
.hero-copy p{font:400 23px/1.45 Arial,sans-serif;color:#e5ddd1;margin:0 0 28px;max-width:600px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-art{display:flex;justify-content:center;align-items:center}
.hero-art img{width:min(470px,95%);filter:drop-shadow(0 16px 28px rgba(0,0,0,.55))}

.path,.topics{padding:54px 0;border-bottom:1px solid var(--line-soft)}
.path h2,.topics h2{font-size:clamp(34px,4vw,60px);text-align:center;margin:0 0 34px;color:#f3e7d4}
.path-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;overflow-x:auto;padding-bottom:8px}
.path-row::-webkit-scrollbar{height:8px}
.path-row::-webkit-scrollbar-thumb{background:rgba(240,193,111,.28);border-radius:999px}
.step{min-width:118px;text-align:center;flex:0 0 auto}
.step span{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-light);font-size:29px}
.step strong{display:block;font-size:18px;font-weight:400;line-height:1.2}
.path-arrow{flex:1 0 30px;text-align:center;color:rgba(240,193,111,.75);font-size:26px;line-height:56px;min-width:30px}

.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.topic-card{
  position:relative;min-height:255px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.14);
  background:#101214;box-shadow:var(--shadow);
}
.topic-card::before{
  content:"";position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.01);
}
.topic-love::before{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.3)),
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.15), transparent 18%),
    linear-gradient(135deg, #1b1d20 0%, #0b0d11 55%, #08090b 100%);
}
.topic-constitution::before{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.28)),
    linear-gradient(135deg, #6e4f2f 0%, #402a1b 38%, #18100d 100%);
}
.topic-ai::before{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.24)),
    linear-gradient(135deg, #1c2630 0%, #111820 48%, #0a0d11 100%);
}
.topic-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%, rgba(4,4,4,.85) 100%)}
.topic-copy{position:absolute;left:20px;right:20px;bottom:18px;z-index:1}
.topic-copy h3{margin:0 0 12px;font-size:24px;line-height:1.15;font-weight:400;max-width:80%}
.topic-copy span{color:var(--gold-light);font-size:34px}
.topic-link{display:block;text-align:center;margin-top:18px;font:500 20px/1.3 Arial,sans-serif;color:#efe6d8}
.topic-link span{color:var(--gold-light)}

.book-section{
  position:relative;
  border-bottom:1px solid var(--line-soft);
}
.book-section::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(7,7,8,.84) 0%, rgba(7,7,8,.7) 45%, rgba(7,7,8,.8) 100%),
    radial-gradient(circle at 14% 80%, rgba(241,136,28,.18), transparent 22%),
    linear-gradient(90deg, #0b0b0c 0%, #090a0b 100%);
}
.book-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.95fr) 1.05fr;gap:48px;align-items:center;padding:46px 0}
.book-visual img{width:min(560px,100%);border-radius:6px;box-shadow:var(--shadow)}
.eyebrow{margin:0 0 8px;font:700 15px/1.2 Arial,sans-serif;letter-spacing:.24em;color:var(--gold-light)}
.book-copy h2{font-size:clamp(46px,5vw,66px);line-height:.95;margin:0 0 6px}
.book-copy h3{margin:0 0 10px;font-size:38px;font-weight:400;color:#f1e8da}
.book-author{margin:0 0 22px;font-size:19px;color:#e0d5c3}
.book-copy p:not(.eyebrow):not(.book-author){font:400 24px/1.45 Arial,sans-serif;color:#ddd4c8;max-width:580px;margin:0 0 28px}

.academy-cta{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}
.academy-cta::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(10,10,12,.2), rgba(10,10,12,.2)),
    linear-gradient(180deg, rgba(241,136,28,.08), rgba(0,0,0,0) 40%),
    linear-gradient(180deg, #111213 0%, #0a0c0e 100%);
}
.academy-inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px 0}
.academy-inner h2{margin:0 0 8px;font-size:clamp(34px,4vw,56px)}
.academy-inner p{margin:0;font:400 23px/1.4 Arial,sans-serif;color:#ddd4c8}

.site-footer{background:#060708}
.footer-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:22px 0;border-bottom:1px solid var(--line-soft)}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:66px;height:66px;border-radius:50%}
.footer-brand strong{display:block;font-size:24px;letter-spacing:.08em;color:#f0d294}
.footer-email{justify-self:center;font:400 22px/1.3 Arial,sans-serif;color:#efe7da}
.footer-links{display:flex;gap:32px;font:400 21px/1.3 Arial,sans-serif;color:#efe7da}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0 28px;color:#aea59a;font:400 16px/1.3 Arial,sans-serif}

@media (max-width: 1080px){
  .hero-inner,.book-inner{grid-template-columns:1fr;gap:26px}
  .hero-copy,.book-copy{text-align:center;max-width:none}
  .hero-copy p,.book-copy p:not(.eyebrow):not(.book-author){margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .hero-art img{width:min(380px,72vw)}
  .topic-grid{grid-template-columns:1fr}
  .academy-inner,.footer-inner,.footer-bottom{grid-template-columns:1fr;display:flex;flex-direction:column;text-align:center}
  .footer-email{justify-self:auto}
}
@media (max-width: 760px){
  .shell{width:min(var(--shell),calc(100% - 32px))}
  .site-header{padding:14px 16px}
  .main-nav a:not(.button){display:none}
  .brand img{width:48px;height:48px}
  .brand-top{font-size:20px}
  .brand-bottom{font-size:13px}
  .button{font-size:16px;padding:14px 20px}
  .button-small{font-size:14px;padding:11px 16px}
  .hero-inner{min-height:auto;padding:26px 0 34px}
  .hero-copy h1{font-size:48px}
  .hero-copy p{font-size:19px}
  .hero-actions{flex-direction:column}
  .hero-actions .button{width:100%}
  .path,.topics{padding:42px 0}
  .path h2,.topics h2{font-size:40px}
  .book-copy h2{font-size:44px}
  .book-copy h3{font-size:30px}
  .book-copy p:not(.eyebrow):not(.book-author),.academy-inner p,.footer-email,.footer-links{font-size:18px}
}

.signup-section{
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg,#08090a,#0a0b0d);
}
.signup-inner{
  display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;
  padding:54px 0;
}
.signup-copy h2{margin:0 0 12px;font-size:clamp(38px,4vw,58px);line-height:1}
.signup-copy>p:not(.eyebrow){margin:0;max-width:650px;font:400 21px/1.5 Arial,sans-serif;color:#d9d0c4}
.signup-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.signup-form label{display:flex;flex-direction:column;gap:7px;font:600 13px/1.2 Arial,sans-serif;letter-spacing:.08em;color:#cfc5b7;text-transform:uppercase}
.signup-form input{width:100%;height:50px;padding:0 14px;border-radius:7px;border:1px solid rgba(255,255,255,.18);background:#0b0d0f;color:#f7f0e6;font:400 17px Arial,sans-serif;outline:none}
.signup-form input:focus{border-color:var(--gold)}
.signup-form .button{height:50px;white-space:nowrap;padding:0 20px}
.signup-note,.signup-status{grid-column:1/-1;margin:0;font:400 13px/1.4 Arial,sans-serif;color:#978f85}
.signup-status{color:var(--gold-light);min-height:18px}
@media (max-width: 1080px){
  .signup-inner{grid-template-columns:1fr;gap:26px;text-align:center}
  .signup-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}
}
@media (max-width: 760px){
  .signup-form{grid-template-columns:1fr}
  .signup-form .button{width:100%}
}
