:root{--paper: #f1e9d9;--paper-2: #e9dfc9;--paper-3: #e3d7bd;--ink: #191209;--ink-soft: #5b5140;--ink-faint: #8a7f6a;--vermilion: #d5391b;--vermilion-deep: #ab2a12;--pine: #243c2c;--line: rgba(25, 18, 9, .16);--line-strong: rgba(25, 18, 9, .4);--font-display: "Fraunces", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--maxw: 1240px;--ease: cubic-bezier(.22, 1, .36, 1);--grain: .05}:root[data-theme=dark]{--paper: #14110c;--paper-2: #1c1811;--paper-3: #262019;--ink: #ede3d0;--ink-soft: #ab9f88;--ink-faint: #7a7060;--vermilion: #f0562f;--vermilion-deep: #e8552d;--pine: #7fae8f;--line: rgba(237, 227, 208, .14);--line-strong: rgba(237, 227, 208, .34);--grain: .07}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .45s var(--ease),color .45s var(--ease)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::selection{background:var(--vermilion);color:var(--paper)}.eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--vermilion-deep);display:inline-flex;align-items:center;gap:.6em}.eyebrow:before{content:"";width:26px;height:1px;background:var(--vermilion)}.shell{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.logo{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-display);font-weight:900;font-size:1.5rem;letter-spacing:-.02em}.logo .dot{color:var(--vermilion)}.logo .mark{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;color:var(--ink-faint);align-self:center;border:1px solid var(--line);padding:2px 6px;border-radius:2px;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:clamp(1rem,3vw,2.4rem);font-size:.9rem;font-weight:500}.nav-links a{position:relative;padding:4px 0;color:var(--ink-soft);transition:color .25s}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--vermilion);transition:width .3s var(--ease)}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.btn-nav{background:var(--ink);color:var(--paper);padding:.55rem 1.1rem;border-radius:100px;font-weight:600;border:none;transition:transform .25s var(--ease),background .25s}.btn-nav:hover{background:var(--vermilion);transform:translateY(-2px)}.theme-toggle{background:transparent;border:1px solid var(--line-strong);color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:.95rem;line-height:1;transition:background .25s,color .25s,border-color .25s,transform .4s var(--ease)}.theme-toggle:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(-25deg)}.hero{padding:clamp(3rem,9vw,7rem) 0 clamp(2rem,5vw,4rem);position:relative}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:end}.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,9vw,7.5rem);line-height:.92;letter-spacing:-.03em}.hero h1 em{font-style:italic;font-weight:500;color:var(--vermilion)}.hero h1 .out{-webkit-text-stroke:1.4px var(--ink);color:transparent}.hero-side{padding-bottom:.6rem}.hero-side p{font-size:1.05rem;line-height:1.6;color:var(--ink-soft);max-width:34ch;margin-top:1rem}.hero-stats{display:flex;gap:2.4rem;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.4rem}.hero-stats .n{font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1}.hero-stats .l{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-top:.4rem}.ticker{margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:.8rem 0}.ticker-track{display:inline-block;animation:marquee 28s linear infinite}.ticker span{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--ink-soft);margin:0 1.4rem}.ticker span:after{content:"✦";color:var(--vermilion);margin-left:1.4rem;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:clamp(2.5rem,6vw,4.5rem) 0}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.6rem;border-bottom:1px solid var(--line);padding-bottom:1.2rem}.sec-head h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.02em}.sec-head .count{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-faint)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:var(--paper);padding:1.6rem 1.5rem 1.5rem;min-height:300px;display:flex;flex-direction:column;position:relative;transition:background .35s var(--ease);overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease);z-index:0}.card:hover:before{transform:translateY(0)}.card>*{position:relative;z-index:1;transition:color .35s var(--ease)}.card:hover,.card:hover .card-idx,.card:hover .card-cat,.card:hover .card-meta,.card:hover .card-price small{color:var(--paper)}.card-top{display:flex;justify-content:space-between;align-items:flex-start}.card-idx{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faint)}.card-cat{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vermilion-deep);border:1px solid currentColor;padding:3px 8px;border-radius:100px}.card:hover .card-cat{color:var(--paper)!important;border-color:var(--vermilion)}.card h3{font-family:var(--font-display);font-weight:500;font-size:1.55rem;line-height:1.08;letter-spacing:-.01em;margin-top:2.2rem}.card-desc{font-size:.9rem;line-height:1.5;color:var(--ink-soft);margin-top:.7rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card:hover .card-desc{color:color-mix(in srgb,var(--paper) 75%,transparent)}.card-foot{margin-top:auto;padding-top:1.2rem;display:flex;align-items:flex-end;justify-content:space-between}.card-meta{font-size:.82rem;color:var(--ink-soft);line-height:1.5}.card-meta b{font-weight:600;color:var(--ink)}.card:hover .card-meta b{color:var(--paper)}.card-price{font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--vermilion);white-space:nowrap}.card-price small{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-faint);display:block;text-align:right;letter-spacing:.1em}.card .arrow{position:absolute;top:1.5rem;right:1.5rem;opacity:0;transform:translate(-6px,6px);transition:all .35s var(--ease);z-index:2;color:var(--paper)}.card:hover .arrow{opacity:1;transform:translate(0)}.level{display:inline-block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:var(--paper-3);color:var(--ink-soft);margin-top:.5rem}.card:hover .level{background:#ffffff24;color:var(--paper)}.detail{padding:clamp(2rem,5vw,4rem) 0 5rem}.back{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;color:var(--ink-soft);display:inline-flex;gap:.5rem;margin-bottom:2.5rem;transition:gap .25s,color .25s}.back:hover{gap:.9rem;color:var(--vermilion)}.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.detail h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.4rem,6vw,5rem);line-height:.98;letter-spacing:-.025em;margin:1rem 0 1.5rem}.detail .lede{font-size:1.15rem;line-height:1.7;color:var(--ink-soft);max-width:60ch}.detail-panel{border:1px solid var(--line);padding:1.8rem;position:sticky;top:92px;background:var(--paper-2)}.panel-price{font-family:var(--font-display);font-weight:600;font-size:3rem;color:var(--vermilion);line-height:1}.panel-row{display:flex;justify-content:space-between;padding:.9rem 0;border-top:1px solid var(--line);font-size:.9rem}.panel-row span:first-child{color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.panel-row b{font-weight:600}.btn-enroll{width:100%;margin-top:1.4rem;background:var(--ink);color:var(--paper);border:none;padding:1rem;font-size:1rem;font-weight:600;border-radius:4px;transition:background .25s,transform .25s var(--ease)}.btn-enroll:hover{background:var(--vermilion);transform:translateY(-2px)}.form-wrap{max-width:720px}.field{margin-bottom:1.6rem}.field label{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem}.field input,.field textarea,.field select{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--line-strong);padding:.7rem 0;font-family:var(--font-body);font-size:1.1rem;color:var(--ink);transition:border-color .25s}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--vermilion)}.field textarea{resize:vertical;min-height:90px}.field.title input{font-family:var(--font-display);font-size:1.8rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.form-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.4rem;border-top:1px solid var(--line);padding-top:2rem}.btn-primary{background:var(--vermilion);color:var(--paper);border:none;padding:1rem 2.4rem;font-size:1rem;font-weight:600;border-radius:4px;transition:background .25s,transform .25s var(--ease)}.btn-primary:hover{background:var(--vermilion-deep);transform:translateY(-2px)}.btn-primary:disabled{opacity:.5;cursor:wait;transform:none}.banner{border:1px solid var(--vermilion);background:color-mix(in srgb,var(--vermilion) 8%,var(--paper));padding:.9rem 1.2rem;font-size:.88rem;color:var(--vermilion-deep);margin-bottom:2rem;display:flex;gap:.6rem;align-items:center}.empty{text-align:center;padding:5rem 1rem;border:1px dashed var(--line-strong)}.empty h3{font-family:var(--font-display);font-size:2rem;margin-bottom:.6rem}.empty p{color:var(--ink-soft)}.skeleton{background:var(--paper-2);min-height:300px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.footer{border-top:1px solid var(--line);margin-top:4rem;padding:2.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase}@media (max-width: 900px){.hero-grid,.detail-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.detail-panel{position:static}}@media (max-width: 620px){.grid,.form-row{grid-template-columns:1fr}.nav-links .hide-sm{display:none}}
