:root{--paper: #ead9b0;--paper-low: #d8c694;--paper-edge: #c0ad7e;--ink: #1c1812;--ink-soft: #4a4136;--ink-mute: #7d7567;--red-ink: #a8281e;--red-ink-soft: rgba(168, 40, 30, .5);--gold: #b08d3a;--gold-deep: #8a6c25;--rule: rgba(28, 24, 18, .28);--rule-soft: rgba(28, 24, 18, .12);--serif: "Cormorant Garamond", "EB Garamond", "Iowan Old Style", Georgia, serif;--script: "Pinyon Script", "Italianno", cursive;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0;background:var(--paper);background-image:radial-gradient(ellipse at 20% 8%,rgba(255,250,232,.55) 0%,transparent 55%),radial-gradient(ellipse at 90% 95%,rgba(180,164,120,.18) 0%,transparent 70%);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body.practice::selection,body.practice *::selection{background:var(--gold);color:var(--ink)}a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);transition:color .16s,border-color .16s;padding-bottom:1px}a:hover{color:var(--gold-deep);border-bottom-color:var(--gold-deep)}body.practice:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.07 0 0 0 0 0.06 0 0 0 0 0.045 0 0 0 0.16 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>")}.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;background:#1a1410;color:#f0e6cf;display:flex;flex-direction:column}.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-video{width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero-vignette{position:absolute;inset:0;background:linear-gradient(to bottom,#140e088c,#140e082e 26% 60%,#140e0899 88%,#f4ecd6f2),radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(20,14,8,.35) 95%);pointer-events:none}.crumb--over{position:relative;z-index:5;color:#f0e6cfe6;padding-top:1.4rem}.crumb--over .crumb-link{color:#f0e6cfc7;border-bottom-color:#b08d3aa6}.crumb--over .crumb-link:hover{color:var(--gold);border-bottom-color:var(--gold)}.crumb--over .crumb-sep{color:#b08d3ad9}.crumb--over .crumb-here{color:var(--gold)}.hero-plate{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 5vw}.hero .plate-rules--over .rule-thick{background:var(--gold)}.hero .plate-rules--over .rule-thin{background:#b08d3a8c}.hero .nameplate--over{color:#f8efd8;text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 8px rgba(0,0,0,.85),0 0 22px rgba(0,0,0,.7),0 0 60px rgba(0,0,0,.55)}.hero .plate-eyebrow--over,.hero .plate-house--over,.hero .plate-sub--over,.hero .plate-foot--over{text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.7),0 0 28px rgba(0,0,0,.45)}.hero .plate-eyebrow--over{color:#f8efd8eb}.hero .plate-house--over,.hero .plate-sub--over{color:#f8efd8f5}.hero .plate-sub--over em{color:var(--gold)}.hero .plate-foot--over{color:#f8efd8e6}.plate-foot--over .plate-sep{color:var(--gold);opacity:.8}.plate-foot--over .forthcoming{background:#140e08bf;color:#f0e6cff2;border:1px solid rgba(176,141,58,.5);backdrop-filter:blur(2px)}.hero-descent{position:absolute;left:50%;bottom:2vh;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.55rem;color:#f0e6cfb3;font-family:var(--mono);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;animation:descent-bob 3s ease-in-out infinite}.descent-line{display:block;width:1px;height:28px;background:linear-gradient(to bottom,transparent,var(--gold))}.descent-arrow{font-family:var(--serif);font-size:1rem;color:var(--gold)}@keyframes descent-bob{0%,to{transform:translate(-50%);opacity:.7}50%{transform:translate(-50%,4px);opacity:1}}.book-seal{position:relative;z-index:6;width:80px;height:80px;border-radius:999px;margin:-40px auto 1.4rem;background:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:0 1px #fffae880 inset,0 -1px #8c6e3c2e inset,0 8px 24px #140e0866,0 0 0 1px #b08d3a59}.crumb{display:flex;align-items:baseline;gap:.55rem;padding:1.6rem 5vw 0;font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--ink-mute)}.crumb-link{color:var(--ink-soft);border-bottom:1px solid transparent;padding-bottom:1px}.crumb-link:hover{color:var(--gold-deep);border-bottom-color:var(--gold-deep)}.crumb-sep{color:var(--gold-deep)}.crumb-here{color:var(--ink);font-style:italic}.book{max-width:940px;margin:0 auto;padding:0 5vw 8vh;position:relative}.plate{position:relative;text-align:center;margin:6vh auto 9vh;max-width:780px;padding:1rem 1rem 2rem}.plate-eyebrow{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-mute);margin:0;letter-spacing:.04em}.plate-house{font-family:var(--serif);font-weight:500;font-size:1.05rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin:.2rem 0 1.4rem}.plate-rules{display:flex;flex-direction:column;gap:5px;align-items:center}.plate-rules+.plate-rules{margin-top:1.6rem}.rule-thick{display:block;width:min(420px,75vw);height:2px;background:var(--gold-deep)}.rule-thin{display:block;width:min(420px,75vw);height:1px;background:var(--gold);opacity:.7}.nameplate{font-family:var(--serif);font-weight:600;font-size:clamp(3.6rem,11vw,7.2rem);line-height:.95;letter-spacing:.06em;text-transform:uppercase;margin:1.2rem 0 .6rem;color:var(--ink);white-space:nowrap}.np-letter{display:inline-block;opacity:0;filter:blur(12px);transform:scale(1.18);transform-origin:50% 60%;animation:ink-bleed 1.1s cubic-bezier(.18,.7,.22,1) forwards;animation-delay:calc(.22s + var(--i) * 90ms);will-change:filter,opacity,transform}@keyframes ink-bleed{40%{opacity:.55;filter:blur(4px);transform:scale(1.06)}to{opacity:1;filter:blur(0);transform:scale(1)}}.plate-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--ink-soft);margin:0 0 1.6rem}.plate-sub em{font-style:italic;color:var(--gold-deep)}.plate-foot{margin-top:1.4rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;flex-wrap:wrap;gap:.7rem;justify-content:center}.plate-foot .plate-sep{color:var(--gold)}.forthcoming{background:var(--ink);color:var(--paper);padding:.32rem .7rem;letter-spacing:.3em}.seal{position:absolute;bottom:-1.2rem;right:.5rem;opacity:.95}@media(max-width:760px){.seal{position:static;margin:1.4rem auto 0;display:flex;justify-content:center}}.exercise{margin:4vh auto 9vh;max-width:880px}.ex-head{margin-bottom:1.6rem}.ex-kicker{display:block;font-family:var(--serif);font-style:italic;font-size:.92rem;letter-spacing:.06em;color:var(--gold-deep);margin-bottom:.4rem}.ex-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1;margin:0;color:var(--ink);letter-spacing:-.005em}.ex-title em{font-style:italic;color:var(--gold-deep)}.staff-fig{position:relative;margin:0;padding:1.6rem 1.4rem .8rem;background:#fffae88c;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.staff-tempo{position:absolute;top:.4rem;left:1.4rem;font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink)}.staff-tempo em{font-style:italic}.staff-svg{display:block;width:100%;height:auto}.staff-cap{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-soft);margin-top:.2rem;text-align:right;padding-right:.5rem}.staff-cap em{font-style:italic;color:var(--ink)}.cap-mark{font-family:var(--script);font-style:normal;font-size:1.25rem;color:var(--red-ink);margin-left:.4rem}.letter{margin:0 auto 9vh;max-width:620px}.letter-paper{position:relative;background:linear-gradient(to right,#fff8e080,#f4ecd699);border:1px solid var(--rule-soft);padding:2.2rem 2.4rem 2.6rem;transform:rotate(-1.2deg);box-shadow:0 18px 40px -22px #1c181259,0 1px #fffae899 inset,0 -1px #8c6e3c29 inset}.letter-greeting{font-family:var(--script);font-size:1.7rem;line-height:1.2;color:var(--ink);margin:0 0 1rem}.letter-body{font-family:var(--script);font-size:1.4rem;line-height:1.4;color:var(--ink);margin:0 0 1rem}.letter-body em{font-style:normal;color:var(--red-ink)}.letter-sig{font-family:var(--script);font-size:1.5rem;margin:1.4rem 0 0;color:var(--ink);text-align:right}.sig-w{display:inline-block;font-size:2.2rem;margin-left:.3rem;color:var(--red-ink)}.letter-seal{position:absolute;bottom:-1.3rem;right:1.6rem;width:56px;height:56px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#c8332a,#8a2418 70%,#5a160d);box-shadow:0 4px 10px #00000059,inset -3px -4px 6px #00000040,inset 2px 3px 4px #ffc8b433;display:flex;align-items:center;justify-content:center;transform:rotate(8deg)}.seal-w{font-family:var(--serif);font-style:italic;font-weight:600;font-size:2rem;color:#ffebdcd9;text-shadow:0 1px 1px rgba(0,0,0,.4)}.plan{margin:0 auto 9vh;max-width:880px}.plan-head{margin-bottom:1.8rem}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}.plan-p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.6;color:var(--ink);padding-top:1rem;border-top:1px solid var(--rule-soft)}.register{margin:0 auto 6vh;max-width:880px}.reg-row{display:grid;grid-template-columns:12rem 1fr auto;align-items:center;gap:1.4rem 2rem;padding:1.6rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.reg-key{position:relative;display:flex;align-items:baseline;font-family:var(--serif);font-weight:500;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);white-space:nowrap;overflow:hidden}.reg-leader{flex:1;height:0;margin-left:.5rem;margin-bottom:.2em;border-bottom:1px dotted var(--ink-mute)}.reg-body{margin:0;font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.5;color:var(--ink)}.reg-link{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.05rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--serif);font-weight:500;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;transition:background .18s,color .18s,transform .18s,border-color .18s}.reg-link:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-1px)}.reg-mark{color:var(--gold);font-size:1rem}.reg-link:hover .reg-mark{color:var(--ink)}.colophon{text-align:center;margin:6vh auto 0}.col-rules{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:2.4rem}.col-rules span:first-child{display:block;width:min(280px,60vw);height:2px;background:var(--gold-deep)}.col-rules span:last-child{display:block;width:min(280px,60vw);height:1px;background:var(--gold);opacity:.6}.col-line{font-family:var(--serif);font-style:italic;font-size:1rem;max-width:560px;margin:0 auto 1.2rem;color:var(--ink)}.col-line em{color:var(--gold-deep)}.col-meta{font-family:var(--serif);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 1.4rem}.col-meta em{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:.04em;color:var(--ink);font-size:.94rem}.col-meta .dot{color:var(--gold-deep);margin:0 .55rem}.col-meta a{color:var(--ink);border-bottom:1px solid var(--gold);font-size:.84rem;letter-spacing:.04em;text-transform:none;font-style:italic}.col-back{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.col-back a{color:var(--ink-soft);border-bottom:none}.col-back a:hover{color:var(--gold-deep);border-bottom:none}@media(prefers-reduced-motion:reduce){.np-letter{animation:none!important;opacity:1!important;transform:none!important}}@media(max-width:760px){.book{padding:3vh 5vw 5vh}.plate{margin:3vh auto 5vh}.plan-grid{grid-template-columns:1fr;gap:1.6rem}.plan-p{padding-top:.8rem}.reg-row{grid-template-columns:1fr;gap:.8rem}.reg-leader{display:none}.reg-link{justify-self:start}.letter-paper{padding:1.6rem 1.6rem 2.2rem;transform:rotate(-.6deg)}.letter-greeting{font-size:1.4rem}.letter-body{font-size:1.2rem}.letter-sig{font-size:1.3rem}.staff-fig{padding:1.4rem .8rem .6rem}}
