html { line-height:1.5; -webkit-text-size-adjust:100%; tab-size:4; }
body { margin:0; }
h1,h2,h3,h4,h5,h6,p,blockquote,figure,dl,dd { margin:0; }
ul,ol { list-style:none; margin:0; padding:0; }
img { max-width:100%; height:auto; vertical-align:middle; }
b,strong { font-weight:bolder; }


@font-face {
  font-family:"Manrope Variable"; font-style:normal; font-display:swap; font-weight:200 800;
  src:url("./fonts/manrope-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Manrope Variable"; font-style:normal; font-display:swap; font-weight:200 800;
  src:url("./fonts/manrope-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Playfair Display Variable"; font-style:normal; font-display:swap; font-weight:400 900;
  src:url("./fonts/playfair-display-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Playfair Display Variable"; font-style:normal; font-display:swap; font-weight:400 900;
  src:url("./fonts/playfair-display-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Playfair Display Variable"; font-style:italic; font-display:swap; font-weight:400 900;
  src:url("./fonts/playfair-display-cyrillic-wght-italic.woff2") format("woff2-variations");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Playfair Display Variable"; font-style:italic; font-display:swap; font-weight:400 900;
  src:url("./fonts/playfair-display-latin-wght-italic.woff2") format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root { --ink:#0b3525; --paper:#f4f1ed; --white:#fffdfa; --terra:#c9774f; --sage:#0d563e; --gold:#e6b86f; --line:rgba(11,53,37,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-size:1.125rem; line-height:1.6; margin:0; background:var(--paper); color:var(--ink); font-family:"Manrope Variable",Manrope,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; } img { max-width:100%; display:block; }

.site-header { position:relative; z-index:10; max-width:1440px; margin:auto; padding:22px 5vw; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; line-height:1; }
.brand-dot { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:18px; font-style:italic; }
.brand-name { display:flex; flex-direction:column; }
.brand-name b { font-size:1.125rem; letter-spacing:-.03em; }
.brand small { margin-top:7px; font-size:0.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--terra); }
nav { display:flex; align-items:center; gap:8px; font-size:1rem; font-weight:700; }
nav a { text-decoration:none; }
.nav-pill { padding:14px 19px; background:#e9e5e0; border-radius:999px; transition:transform .2s,background-color .2s; }
.nav-pill:hover { transform:translateY(-2px); background:#dfd9d2; }
.nav-cta { background:var(--ink); color:var(--white); }
.nav-cta:hover { background:var(--sage); }

.ticker { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.ticker-track { width:max-content; display:flex; align-items:center; gap:30px; padding:14px 0; animation:ticker 34s linear infinite; will-change:transform; }
.ticker-track span { white-space:nowrap; font-size:1.125rem; font-weight:800; letter-spacing:-.02em; }
.ticker-track span:nth-child(3n) { color:var(--terra); }
@keyframes ticker { to { transform:translateX(calc(-50% - 15px)); } }

.hero { min-height:700px; max-width:1600px; margin:auto; padding:72px 5vw 80px; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr); gap:6vw; align-items:center; overflow:hidden; }
.hero-copy { position:relative; z-index:1; }
.eyebrow,.section-label { margin:0 0 24px; color:var(--terra); font-size:0.875rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.hero-badges { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.hero-badges .eyebrow { margin:0; }
.date-pill { margin:0; padding:10px 14px; border:1px solid var(--ink); border-radius:999px; font-size:0.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hero h1 { margin:0; max-width:740px; font-family:"Manrope Variable",Manrope,sans-serif; font-size:clamp(3.5rem,6.4vw,6rem); font-weight:800; line-height:1.04; letter-spacing:-.055em; }
.hero h1 span { display:block; color:var(--terra); font-family:"Playfair Display Variable","Playfair Display",serif; font-weight:400; font-style:italic; }
.hero-lead { max-width:650px; margin:34px 0 0; font-size:clamp(18px,1.5vw,23px); line-height:1.48; letter-spacing:-.02em; }
.hero-actions { margin-top:38px; display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.button { min-height:56px; padding:0 24px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid transparent; border-radius:999px; text-decoration:none; font-size:1rem; font-weight:800; transition:transform .2s,background-color .2s; }
.button:hover { transform:translateY(-2px); } .button-primary { background:var(--ink); color:white; }
.text-link { padding:17px 22px; border:1px solid var(--ink); border-radius:999px; font-size:1rem; font-weight:800; text-decoration:none; }
.quick-facts { flex-wrap:wrap; list-style:none; padding:0; margin:46px 0 0; display:flex; gap:9px; }
.quick-facts li { min-width:145px; padding:15px 18px; display:flex; align-items:baseline; gap:8px; background:var(--white); border-radius:999px; }
.quick-facts strong { font-family:"Playfair Display Variable","Playfair Display",serif; font-size:32px; font-weight:400; }
.quick-facts span { max-width:100px; color:#62615c; font-size:0.875rem; line-height:1.3; }
.hero-visual { position:relative; align-self:stretch; min-height:560px; }
.hero-visual:before { content:""; position:absolute; width:52%; aspect-ratio:1; border-radius:50%; background:var(--terra); right:-12%; top:-12%; }
.hero-visual img { position:absolute; inset:42px 0 0; width:100%; height:calc(100% - 42px); object-fit:cover; border-radius:46px; filter:saturate(.86) contrast(.96); }
.hero-note { position:absolute; left:-42px; bottom:26px; width:min(330px,72%); padding:23px 26px; background:var(--white); border-radius:24px; box-shadow:0 20px 60px rgba(32,32,30,.13); }
.hero-note span { display:block; margin-bottom:10px; color:var(--terra); font-size:0.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hero-note strong { font-family:"Playfair Display Variable","Playfair Display",serif; font-size:18px; line-height:1.25; font-weight:400; }

.manifesto { margin:0 1.5vw; border-radius:44px; background:var(--ink); color:var(--white); padding:110px max(5vw,calc((100vw - 1320px)/2)); display:grid; grid-template-columns:1fr 2.15fr; gap:5vw; }
.manifesto h2 { margin:0; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:clamp(38px,4.5vw,72px); line-height:1.06; font-weight:400; letter-spacing:-.045em; }
.manifesto .section-label { grid-row:span 2; }
.manifesto-copy { grid-column:2; max-width:760px; display:grid; grid-template-columns:1fr 1fr; gap:36px; color:#cbc6be; font-size:1.125rem; line-height:1.65; }
.manifesto-copy p { margin:0; }

.section-shell { max-width:1440px; margin:auto; padding:120px 5vw; }
.section-heading { max-width:780px; margin-bottom:58px; }
.section-heading h2,.format-intro h2,.price-main h2 { margin:0; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:clamp(42px,5vw,72px); line-height:1.05; font-weight:400; letter-spacing:-.045em; }
.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.audience-grid article { min-height:300px; padding:25px; background:var(--white); border:1px solid var(--line); border-radius:28px; display:flex; flex-direction:column; }
.audience-grid article>span { color:var(--terra); font-size:0.875rem; font-weight:800; }
.audience-grid h3 { margin:auto 0 14px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:27px; font-weight:400; letter-spacing:-.025em; }
.audience-grid p { margin:0; color:#66645f; line-height:1.55; font-size:1rem; }

.program { background:var(--white); max-width:none; margin:0 1.5vw; border-radius:44px; padding-left:max(5vw,calc((100vw - 1296px)/2)); padding-right:max(5vw,calc((100vw - 1296px)/2)); }
.program-heading { max-width:none; display:grid; grid-template-columns:1.6fr .7fr; gap:8vw; align-items:end; }
.program-heading>p { margin:0 0 8px; color:#66645f; line-height:1.6; }
.program-list { display:grid; gap:10px; }
.lesson { display:grid; grid-template-columns:90px 1.4fr .8fr; gap:34px; padding:28px; background:var(--paper); border-radius:24px; }
.lesson:last-child { border-bottom:0; }
.lesson-number { color:var(--terra); font-size:0.875rem; font-weight:800; }
.lesson h3 { margin:0 0 12px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:30px; font-weight:400; letter-spacing:-.02em; }
.lesson p { margin:0; color:#64625e; font-size:1rem; line-height:1.6; }
.lesson-result { border-left:1px solid var(--line); padding-left:28px; }
.lesson-result span { display:block; margin-bottom:9px; color:var(--sage); font-size:0.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.lesson-result p { color:var(--ink); }

.format-section { margin:28px 1.5vw 0; border-radius:44px; background:var(--terra); color:var(--white); padding:110px max(5vw,calc((100vw - 1296px)/2)); display:grid; grid-template-columns:.9fr 1.4fr; gap:8vw; }
.section-label.light { color:#f4d0c4; }
.format-intro p:last-child { max-width:510px; margin:26px 0 0; color:#f7ded6; font-size:1.125rem; line-height:1.6; }
.format-cards { border-top:1px solid rgba(255,255,255,.38); }
.format-cards article { display:grid; grid-template-columns:36px minmax(0,1fr); gap:24px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.38); align-items:baseline; }
.format-cards strong { font-size:0.875rem; letter-spacing:.08em; }
.format-cards h3 { margin:0; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:24px; font-weight:400; }
.format-cards p { grid-column:2; margin:0; color:#f7ded6; font-size:1rem; line-height:1.55; }

.author { display:grid; grid-template-columns:.72fr 1.2fr .62fr; gap:5vw; align-items:center; }
.author-photo { aspect-ratio:1; overflow:hidden; border-radius:50%; border:8px solid var(--white); box-shadow:0 20px 60px rgba(11,53,37,.12); }
.author-photo img { width:100%; height:100%; object-fit:cover; object-position:78% center; transform:scale(1.05); }
.author-copy h2 { margin:0 0 15px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:clamp(48px,5.5vw,78px); font-weight:400; letter-spacing:-.05em; }
.author-copy p { color:#5f5d58; font-size:1.125rem; line-height:1.65; }
.author-copy .author-role { color:#5f5d58; font-size:1.125rem; }
.role-pills { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 20px; }
.role-pills span { padding:10px 13px; background:#e6ebe7; border-radius:999px; color:var(--ink); font-size:0.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
blockquote { margin:30px 0 0; padding-left:20px; border-left:2px solid var(--terra); font-family:"Playfair Display Variable","Playfair Display",serif; font-size:21px; line-height:1.45; font-style:italic; }
.author-facts { border-top:1px solid var(--line); }
.author-facts div { padding:22px 0; border-bottom:1px solid var(--line); }
.author-facts strong { display:block; margin-bottom:6px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:25px; font-weight:400; }
.author-facts span { color:#6a6863; font-size:0.875rem; }

.price-wrap { padding:60px max(5vw,calc((100vw - 1296px)/2)) 110px; }
.price-card { position:relative; overflow:hidden; background:var(--ink); color:var(--white); padding:66px; border-radius:44px; display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; }
.price-card:after { content:""; position:absolute; width:310px; aspect-ratio:1; border:80px solid var(--terra); border-radius:50%; right:-150px; top:-170px; opacity:.85; }
.price-main,.price-action { position:relative; z-index:1; }
.price-main h2 { font-size:clamp(42px,4.5vw,66px); }
.price-main ul { list-style:none; padding:0; margin:34px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:15px 28px; color:#d5d0c8; }
.price-main li:before { content:"—"; color:var(--terra); margin-right:9px; }
.price-action { align-self:end; }
.price-action>span { color:#d5d0c8; font-size:0.875rem; }
.price-amount strong { display:block; margin:7px 0 24px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:56px; font-weight:400; letter-spacing:-.04em; }
.button-light { background:var(--white); color:var(--ink); width:100%; }
.price-action small { font-size:1rem; display:block; margin-top:13px; color:#d5d0c8; line-height:1.45; }

.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.faq .section-heading { margin:0; }
.faq-list { display:grid; gap:9px; }
details { padding:0 24px; background:var(--white); border:1px solid var(--line); border-radius:22px; }
summary { list-style:none; cursor:pointer; padding:22px 0; display:flex; justify-content:space-between; gap:24px; font-family:"Playfair Display Variable","Playfair Display",serif; font-size:23px; }
summary::-webkit-details-marker { display:none; } summary span { color:var(--terra); font-family:"Manrope Variable",Manrope,sans-serif; transition:transform .2s; } details[open] summary span { transform:rotate(45deg); }
details p { margin:-5px 54px 25px 0; color:#62605c; line-height:1.65; }

.site-footer { position:relative; background:var(--ink); color:var(--white); padding:68px max(5vw,calc((100vw - 1296px)/2)); text-align:center; }
.site-footer h2 { margin:0; font-size:30px; letter-spacing:-.03em; }
.footer-socials { margin:18px 0 0; color:#ddd3c5; font-size:20px; }
.footer-socials span { margin:0 10px; }
.site-footer a { color:var(--gold); text-decoration:none; }
.footer-legal { margin:38px auto 0; max-width:1080px; color:#a99d8a; font-size:1.125rem; line-height:1.5; }
.footer-top { position:absolute; right:28px; top:28px; width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:22px; }

@media(max-width:980px) {
  .hero { grid-template-columns:1fr; padding-top:140px; } .hero-visual { min-height:520px; }
  .manifesto,.format-section,.author,.faq { grid-template-columns:1fr; }
  .manifesto .section-label { grid-row:auto; } .manifesto-copy { grid-column:auto; }
  .audience-grid { grid-template-columns:1fr 1fr; } .program-heading { grid-template-columns:1fr; }
  .author-photo { width:300px; } .price-card { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .site-header { padding:16px 20px; } .brand-name { display:none; } nav a:not(.nav-cta) { display:none; } .nav-pill { padding:13px 17px; }
  .ticker-track { padding:11px 0; gap:22px; } .ticker-track span { font-size:1rem; }
  .hero { padding:58px 20px 54px; gap:36px; } .hero h1 { font-size:clamp(2.75rem,14vw,4.5rem); } .hero-lead { font-size:1.125rem; }
  .hero-badges { align-items:flex-start; flex-direction:column; }
  .quick-facts { justify-content:space-between; flex-wrap:wrap; } .quick-facts li { min-width:calc(50% - 5px); padding:13px 16px; display:block; } .quick-facts span { display:block; margin-top:5px; }
  .hero-visual { min-height:410px; } .hero-visual img { inset:24px 0 0; height:calc(100% - 24px); } .hero-note { left:14px; bottom:-18px; }
  .manifesto,.section-shell,.format-section { padding:80px 20px; } .manifesto-copy { grid-template-columns:1fr; gap:14px; }
  .audience-grid { grid-template-columns:1fr; } .audience-grid article { min-height:220px; }
  .lesson { grid-template-columns:42px 1fr; gap:16px; } .lesson-result { grid-column:2; padding:16px 0 0; border-left:0; border-top:1px solid var(--line); }
  .format-cards article { grid-template-columns:38px 1fr; } .format-cards p { grid-column:2; }
  .manifesto,.program,.format-section { margin-left:10px; margin-right:10px; border-radius:30px; }
  .author-photo { width:210px; } .price-wrap { padding:20px 20px 80px; } .price-card { padding:40px 26px; border-radius:30px; }
  .price-main ul { grid-template-columns:1fr; } .price-amount strong { font-size:46px; }
  .site-footer { padding:58px 24px; } .site-footer h2 { font-size:24px; } .footer-socials { font-size:1.125rem; line-height:1.7; } .footer-socials span { display:none; } .footer-socials a { display:block; } .footer-legal { font-size:1rem; } .footer-top { right:18px; top:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }

.author-photo-badge { margin:18px 0 0; padding:10px 13px; background:#e6ebe7; border-radius:20px; text-align:center; font-size:1rem; font-weight:800; line-height:1.5; }
.price-amount { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 16px; margin:7px 0 18px; }
.price-amount s { font-size:24px; color:#d5d0c8; white-space:nowrap; }
.price-amount strong { margin:0; white-space:nowrap; }
.price-note,.price-availability { font-size:1.125rem; line-height:1.5; margin:0 0 18px; }
@media(max-width:680px) { @keyframes ticker { to { transform:translateX(calc(-50% - 11px)); } } }

/* Keep the larger reading sizes comfortable in narrow columns. */
.hero-copy,.author-copy,.lesson-main,.lesson-result,.price-main,.price-action { min-width:0; }
.brand small,.eyebrow,.section-label,.date-pill,.role-pills span { line-height:1.5; }
.author-photo-badge { max-width:300px; }
@media(max-width:1100px) and (min-width:681px) { .brand-name { max-width:220px; } nav { gap:6px; } .nav-pill { padding:12px; } }
@media(max-width:680px) { .lesson { grid-template-columns:28px minmax(0,1fr); gap:12px; padding:22px 18px; } .lesson h3 { font-size:1.625rem; line-height:1.25; } details p { margin-right:0; } .hero-actions { gap:16px; } .hero-note { width:calc(100% - 28px); } .price-amount { gap:8px 12px; } .price-amount s { font-size:1.25rem; } .price-amount strong { font-size:2.75rem; } }

.brand-dot { overflow:hidden; flex-shrink:0; }
.brand-dot img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
