:root{--navy:#1B2A4A;--gold:#C9A227;--gold-deep:#A98515;--ink-soft:#54607A;--paper:#FFFFFF;--paper-warm:#FAF8F2;--rule:#E8E3D5}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;color:var(--navy);background:var(--paper);line-height:1.7;font-size:17px}.wrap{max-width:860px;margin:0 auto;padding:0 24px}.hero{padding:88px 0 64px;text-align:center;border-bottom:1px solid var(--rule)}.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:22px}h1{font-family:Fraunces,serif;font-weight:600;font-size:clamp(38px,6vw,60px);line-height:1.12;color:var(--navy);margin-bottom:8px}h1 .gold{color:var(--gold)}.hero-sub{font-size:19px;color:var(--ink-soft);max-width:560px;margin:18px auto 0}.hero-line{font-family:Fraunces,serif;font-size:22px;color:var(--navy);margin-top:30px;font-weight:500}.read-rail{display:flex;justify-content:center;gap:26px;margin-top:40px}.read-rail a{font-family:Fraunces,serif;font-size:30px;font-weight:600;color:var(--gold);text-decoration:none;position:relative;transition:color .25s ease}.read-rail a span{position:absolute;top:110%;left:50%;transform:translate(-50%);font-family:Inter,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;opacity:0;transition:opacity .25s ease}.read-rail a:hover{color:var(--navy)}.read-rail a:hover span{opacity:1}.read-rail .dot{color:var(--rule);font-size:22px;align-self:center}.dl{display:inline-block;margin-top:34px;font-size:14px;font-weight:600;color:var(--gold-deep);text-decoration:none;border:1px solid var(--gold);border-radius:4px;padding:10px 22px;transition:all .25s ease}.dl:hover{background:var(--gold);color:#fff}.part{padding:76px 0;border-bottom:1px solid var(--rule)}.part.warm{background:var(--paper-warm)}.part-head{display:flex;align-items:baseline;gap:20px;margin-bottom:14px}.part-letter{font-family:Fraunces,serif;font-size:clamp(56px,9vw,92px);font-weight:600;color:var(--gold);line-height:1}.part-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}h2{font-family:Fraunces,serif;font-weight:600;font-size:clamp(26px,4vw,34px);line-height:1.2;margin-bottom:6px}.part p.lede{color:var(--ink-soft);max-width:640px;margin-bottom:30px}.video-shell{position:relative;width:100%;aspect-ratio:16/9;background:var(--navy);border-radius:6px;overflow:hidden;box-shadow:0 18px 44px #1b2a4a29}.video-shell iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.part-note{margin-top:26px;padding-left:18px;border-left:3px solid var(--gold);max-width:640px}.part-note strong{font-weight:600}.practice{margin-top:30px;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:24px 26px;max-width:640px}.part.warm .practice{background:var(--paper)}.practice h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;font-weight:600}.close{padding:90px 0;text-align:center}.close h2{font-size:clamp(30px,5vw,42px);margin-bottom:14px}.close p{color:var(--ink-soft);max-width:600px;margin:0 auto 10px}.dates{display:flex;justify-content:center;gap:40px;margin:38px 0;flex-wrap:wrap}.date b{display:block;font-family:Fraunces,serif;font-size:26px;color:var(--navy);font-weight:600}.date span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}.btn{display:inline-block;background:var(--navy);color:#fff;padding:16px 38px;border-radius:4px;text-decoration:none;font-weight:600;font-size:16px;transition:background .25s ease}.btn:hover{background:var(--gold-deep)}.spaces{margin-top:64px;padding-top:44px;border-top:1px solid var(--rule)}.spaces p{max-width:560px}footer{padding:36px 0 56px;text-align:center;color:var(--ink-soft);font-size:14px;border-top:1px solid var(--rule)}footer .fl{font-family:Fraunces,serif;color:var(--navy);font-size:16px;margin-bottom:6px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}@media (max-width:600px){.hero{padding:60px 0 48px}.part{padding:56px 0}.dates{gap:22px}}
