:root{--bg:#f3ece0;--bg2:#ece1cf;--panel:#fbf7ef;--ink:#1c1813;--dim:#7c6f5e;--gold:#8a5a30;--terra:#7a2e3f;--line:rgba(28,24,19,.13);--foil:linear-gradient(100deg,#7a4a26,#b98a52 28%,#eccf96 46%,#c98a6a 60%,#7a2e3f 86%,#a06a3c);--radius:18px;--ease:cubic-bezier(.2,.7,.2,1);--soft:cubic-bezier(.16,1,.3,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Hanken Grotesk,system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;letter-spacing:-.015em;line-height:1.05}a{color:inherit;text-decoration:none}::selection{background:var(--gold);color:#fff}.wrap{max-width:1080px;margin:0 auto;padding:0 28px}.narrow{max-width:760px}.label{font-family:Hanken Grotesk;font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.foil{background:var(--foil);background-size:240% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:foil 7.5s linear infinite}@keyframes foil{to{background-position:240%}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;padding:18px 28px;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand,.nav{display:flex;align-items:center}.brand{font-family:Fraunces;font-weight:600;font-size:20px;gap:9px}.brand i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 60%,transparent)}.nav-r{display:flex;align-items:center;gap:22px;font-size:14px}.nav-r a{color:var(--dim);transition:color .3s}.nav-r a:hover{color:var(--ink)}.btn{font-family:Hanken Grotesk;font-weight:600;font-size:16px;padding:15px 28px;border-radius:999px;background:var(--gold);color:#fbf7ef;display:inline-block;border:none;cursor:pointer;box-shadow:0 16px 44px -14px color-mix(in srgb,var(--gold) 55%,transparent);transition:transform .25s var(--ease),box-shadow .35s}.btn:hover{transform:translateY(-2px);box-shadow:0 24px 64px -12px color-mix(in srgb,var(--gold) 70%,transparent)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--gold)}.btn:disabled{opacity:.6;cursor:default;transform:none}.glass{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 86%,transparent),color-mix(in srgb,var(--panel) 46%,transparent));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid color-mix(in srgb,var(--gold) 22%,var(--line));border-radius:var(--radius);box-shadow:0 34px 70px -48px rgba(40,26,14,.45),inset 0 1px 0 hsla(0,0%,100%,.6)}.page{padding:60px 0 120px}.hero{padding:90px 0 50px;text-align:center}.hero h1{font-size:clamp(2.6rem,6vw,5rem);max-width:16ch;margin:18px auto 0}.hero p{color:var(--dim);font-size:1.15rem;max-width:52ch;margin:22px auto 0}.cta-row{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}.kick{display:inline-flex;align-items:center;gap:10px}.kick:after,.kick:before{content:"";width:22px;height:1px;background:var(--gold);opacity:.5}.field{display:flex;flex-direction:column;gap:8px;max-width:420px;margin:0 auto;text-align:left}.field input{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:16px;color:var(--ink);font-family:inherit}.field input:focus{outline:none;border-color:var(--gold)}.note{color:var(--dim);font-size:.95rem}.ok{color:#3a6b3a}.err{color:#9a3b3b}.module{margin-top:46px}.module h2{font-size:1.7rem;display:flex;align-items:baseline;gap:14px}.module h2 .no{font-family:Fraunces;font-style:italic;color:var(--gold);font-size:1.3rem}.lessons{margin-top:18px;display:grid;grid-gap:12px;gap:12px}.lesson{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;border-radius:14px;border:1px solid var(--line);background:var(--panel);transition:transform .35s var(--soft),border-color .35s}.lesson:hover{transform:translateX(6px);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}.lesson .lt{font-family:Fraunces;font-weight:500;font-size:1.25rem}.lesson .ls{color:var(--dim);font-size:.98rem;margin-top:3px}.lesson .go{font-family:Fraunces;font-style:italic;color:var(--gold);white-space:nowrap}.player{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#000;margin-top:8px}.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.player .ph{inset:0;display:flex;justify-content:center;color:#c9b89a;font-family:Fraunces;font-style:italic}.player .ph,.player-fs{position:absolute;align-items:center}.player-fs{top:12px;right:12px;z-index:2;display:inline-flex;gap:6px;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:.82rem;font-weight:600;color:#f4ead4;background:rgba(0,0,0,.5);border:1px solid hsla(41,59%,89%,.35);border-radius:999px;padding:7px 14px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.75;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.player-fs:hover{opacity:1;background:rgba(0,0,0,.7);border-color:hsla(41,59%,89%,.7)}.player iframe:-webkit-full-screen{background:#000}.player iframe:fullscreen{background:#000}.materials{margin-top:30px;display:grid;grid-gap:10px;gap:10px}.materials a{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:12px;border:1px solid var(--line);background:var(--panel);transition:border-color .3s}.materials a:hover{border-color:var(--gold)}footer{border-top:1px solid var(--line);padding:36px 0;color:var(--dim);font-size:.9rem;text-align:center;margin-top:60px}footer .legal-links{margin-top:10px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}footer .legal-links a{color:var(--dim);transition:color .3s}footer .legal-links a:hover{color:var(--gold)}.legal{max-width:760px;margin:0 auto;padding:10px 0 40px}.legal h2{font-family:var(--display);font-weight:500;font-size:1.5rem;margin:36px 0 12px}.legal h3{font-weight:600;font-size:1.05rem;margin:22px 0 6px;color:var(--ink)}.legal li,.legal p{color:var(--ink);font-size:1rem;line-height:1.75}.legal p{margin:0 0 12px}.legal ul{margin:0 0 14px 1.1rem;display:flex;flex-direction:column;gap:6px}.legal a{color:var(--gold);text-decoration:underline}.legal .muted{color:var(--dim);font-size:.92rem}.legal .box{padding:22px 24px;border-radius:14px;border:1px solid var(--line);background:var(--panel);margin:14px 0}.legal address{font-style:normal;line-height:1.7}.lesson-content{margin-top:36px}.lesson-content h2{font-size:1.45rem;margin:34px 0 12px;color:var(--ink)}.lesson-content h2:first-child{margin-top:0}.lesson-content p{margin:0 0 16px;color:var(--ink);font-size:1.05rem;line-height:1.75}.lesson-content ul{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.lesson-content li{position:relative;padding-left:22px;color:var(--ink);font-size:1.05rem;line-height:1.65}.lesson-content li:before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--gold)}.lesson-content strong{font-weight:700}.lesson-content code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.86em;background:color-mix(in srgb,var(--gold) 12%,var(--panel));padding:.1em .4em;border-radius:6px;color:var(--gold)}.lc-rule{margin:26px 0;padding:20px 22px;border-radius:14px;background:color-mix(in srgb,var(--gold) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-left:3px solid var(--gold)}.lc-rule-label{display:block;font-family:Hanken Grotesk;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.lc-rule p{margin:0;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.18rem;line-height:1.4;color:var(--ink)}.lc-prompt{margin:22px 0;border-radius:14px;border:1px solid var(--line);background:#1c1813;overflow:hidden}.lc-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 0 18px}.lc-prompt-label{display:block;font-family:Hanken Grotesk;font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#c9b89a}.lc-prompt-copy{flex:none;font-family:Hanken Grotesk;font-weight:600;font-size:.78rem;color:#1c1813;background:#e9d9b8;border:none;border-radius:999px;padding:6px 13px;cursor:pointer;transition:background .15s ease,transform .15s ease}.lc-prompt-copy:hover{background:#f4ead4;transform:translateY(-1px)}.lc-prompt pre{margin:0;padding:12px 18px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9rem;line-height:1.6;color:#f4ead4;white-space:pre-wrap;word-break:break-word}.quiz{margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}.quiz-head h2{font-size:1.5rem;margin:6px 0 8px}.quiz-head .note{margin:0 0 8px}.quiz-q{margin-top:26px;padding:20px 22px;border-radius:14px;border:1px solid var(--line);background:var(--panel);transition:border-color .25s,background .25s}.quiz-q.is-correct{border-color:color-mix(in srgb,#3c7a4e 55%,var(--line))}.quiz-q.is-wrong{border-color:color-mix(in srgb,var(--terra) 50%,var(--line))}.quiz-q-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 14px;font-weight:600;font-size:1.06rem;line-height:1.5;color:var(--ink)}.quiz-q-no{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fbf7ef;font-size:.8rem;font-weight:700}.quiz-multi{font-weight:500;font-size:.82rem;color:var(--dim)}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-opt{display:flex;align-items:flex-start;gap:11px;text-align:left;width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font:inherit;font-size:1rem;color:var(--ink);transition:border-color .2s,background .2s}.quiz-opt.picked,.quiz-opt:hover{border-color:var(--gold)}.quiz-opt.picked{background:color-mix(in srgb,var(--gold) 10%,var(--bg))}.quiz-box{flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;border:2px solid var(--dim);position:relative;transition:border-color .2s}.quiz-box.sq{border-radius:6px}.quiz-opt.picked .quiz-box{border-color:var(--gold)}.quiz-opt.picked .quiz-box:after{content:"";position:absolute;inset:3px;border-radius:inherit;background:var(--gold)}.quiz-opt.right{background:color-mix(in srgb,#3c7a4e 12%,var(--bg))}.quiz-opt.right,.quiz-opt.right .quiz-box{border-color:#3c7a4e}.quiz-opt.miss{background:color-mix(in srgb,var(--terra) 10%,var(--bg))}.quiz-opt.miss,.quiz-opt.miss .quiz-box{border-color:var(--terra)}.quiz-explain{margin:14px 0 0;font-size:.96rem;line-height:1.6;color:var(--dim)}.quiz-explain strong{color:var(--ink)}.quiz-actions{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.quiz-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.quiz-score{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--ink);margin:0}.exam{margin-top:46px;padding-top:30px;border-top:1px solid var(--line)}.exam-head{margin-bottom:8px}.exam-card{padding:28px 26px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.exam-card h2{font-size:1.5rem;margin:8px 0 0}.exam-scorebig{font-family:Fraunces,Georgia,serif;font-size:2.6rem;margin:14px 0 6px;color:var(--ink)}.exam-scorebig span{font-size:1.3rem;color:var(--dim)}.exam-actions{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.exam-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.exam-passline{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.25rem;margin:0 0 18px;color:var(--ink)}.certificate{display:flex;justify-content:center}.cert-frame{width:100%;max-width:660px;padding:48px 44px;text-align:center;background:linear-gradient(160deg,#fbf7ef,#f1e6d2);border:2px solid var(--gold);border-radius:8px;box-shadow:0 24px 60px -28px rgba(28,24,19,.4);position:relative}.cert-frame:after{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:4px;pointer-events:none}.cert-logo{font-family:Fraunces;font-weight:600;font-size:18px;gap:8px;color:var(--ink)}.cert-logo,.cert-mark{display:inline-flex;align-items:center}.cert-mark{width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fbf7ef;justify-content:center;font-size:14px}.cert-kick{font-family:Hanken Grotesk;font-weight:700;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:26px}.cert-title{font-family:Fraunces,Georgia,serif;font-size:2.4rem;margin:6px 0 2px;color:var(--ink)}.cert-module{font-size:1.05rem;color:var(--dim);margin:0}.cert-for{margin-top:26px;font-size:.92rem;color:var(--dim)}.cert-name{display:block;width:100%;text-align:center;border:none;border-bottom:1px solid var(--line);background:transparent;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:2rem;color:var(--gold);padding:6px 0;margin:6px 0 4px;outline:none}.cert-name:focus{border-bottom-color:var(--gold)}.cert-meta{font-size:.92rem;color:var(--dim);margin-top:14px}.cert-sig{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:2px}.cert-sig span:first-child{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--ink);border-top:1px solid var(--line);padding-top:8px;min-width:220px}.cert-sig-label{font-size:.78rem;color:var(--dim)}@media print{body *{visibility:hidden!important}#certificate,#certificate *{visibility:visible!important}#certificate{position:absolute;left:0;top:0;width:100%}.cert-frame{box-shadow:none;border-color:var(--gold)}.cert-name{border-bottom:none}.no-print{display:none!important}}.demo{margin:26px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}.demo-badge{font-family:Hanken Grotesk;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:12px 18px 0}.demo-stage{padding:26px 22px;display:block}.demo-caption{padding:0 18px 14px;font-size:.9rem;color:var(--dim);line-height:1.5}.demo-center{min-height:90px;justify-content:center}.demo-bar,.demo-center{display:flex;align-items:center}.demo-bar{margin-top:16px;gap:14px;flex-wrap:wrap}.demo-replay{font-family:Hanken Grotesk;font-weight:600;font-size:.85rem;padding:8px 16px;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;transition:background .2s,color .2s}.demo-replay:hover{background:var(--gold);color:#fbf7ef}.demo-hint{font-size:.85rem;color:var(--dim)}.demo-btn-lift{font-family:Hanken Grotesk;font-weight:600;font-size:1rem;padding:15px 30px;border-radius:12px;border:none;background:var(--ink);color:#fbf7ef;cursor:pointer;box-shadow:0 6px 18px -8px rgba(28,24,19,.5);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}.demo-btn-lift:hover{transform:translateY(-4px);box-shadow:0 22px 40px -14px rgba(28,24,19,.55)}.demo-btn-lift:active{transform:translateY(-2px)}.demo-track{position:relative;height:34px;margin:10px 0;border-radius:10px;background:color-mix(in srgb,var(--ink) 5%,var(--bg));display:flex;align-items:center}.demo-track-label{position:absolute;left:14px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600}.demo-dot{position:absolute;left:4px;width:18px;height:18px;border-radius:50%;background:var(--gold);box-shadow:0 2px 8px -2px color-mix(in srgb,var(--gold) 70%,transparent)}.demo-anim-linear{animation:demoSlide 1.4s linear forwards}.demo-anim-premium{animation:demoSlide 1.4s cubic-bezier(.22,1,.36,1) forwards}@keyframes demoSlide{0%{left:4px}to{left:calc(100% - 22px)}}.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.demo-card{height:62px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 22%,var(--panel)),color-mix(in srgb,var(--gold) 8%,var(--panel)));border:1px solid var(--line);opacity:0}.demo-stagger-in{animation:demoFadeUp .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes demoFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.demo-hovgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:12px;gap:12px}.demo-hov{height:84px;border-radius:12px;border:1px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.92rem;color:var(--ink);cursor:pointer;overflow:hidden;position:relative;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}.demo-hov-lift:hover{transform:translateY(-5px);box-shadow:0 18px 30px -16px rgba(28,24,19,.5)}.demo-hov-scale:hover{transform:scale(1.04)}.demo-hov-glow:hover{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 30%,transparent)}.demo-hov-underline span{position:relative;padding-bottom:3px}.demo-hov-underline span:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}.demo-hov-underline:hover span:after{transform:scaleX(1)}.demo-hov-rotate span{transition:transform .3s cubic-bezier(.22,1,.36,1)}.demo-hov-rotate:hover span{transform:translateX(6px)}.demo-magfield{min-height:120px}.demo-btn-mag{font-family:Hanken Grotesk;font-weight:600;font-size:1rem;padding:15px 30px;border-radius:999px;border:none;background:var(--gold);color:#fbf7ef;cursor:pointer;transition:transform .35s cubic-bezier(.22,1,.36,1);box-shadow:0 12px 30px -12px color-mix(in srgb,var(--gold) 60%,transparent)}.demo-cursorfield{position:relative;min-height:150px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,var(--bg));display:flex;align-items:center;justify-content:center;cursor:none;overflow:hidden}.demo-cursor-hint{font-size:.9rem;color:var(--dim);pointer-events:none}.demo-cursor-dot{width:9px;height:9px;background:var(--gold);z-index:2}.demo-cursor-dot,.demo-cursor-ring{position:absolute;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.demo-cursor-ring{width:34px;height:34px;border:1.5px solid color-mix(in srgb,var(--gold) 70%,transparent);transition:left .18s cubic-bezier(.22,1,.36,1),top .18s cubic-bezier(.22,1,.36,1)}.demo-headline{font-family:Fraunces,Georgia,serif;font-size:1.9rem;line-height:1.2;color:var(--ink);margin:0}.demo-word{display:inline-block;opacity:0;animation:demoFadeUp .5s cubic-bezier(.22,1,.36,1) forwards}.demo-flow{width:100%;max-width:380px;height:auto}@media (prefers-reduced-motion:reduce){.demo-anim-linear,.demo-anim-premium,.demo-stagger-in,.demo-word{animation:none!important;opacity:1!important;transform:none!important;left:auto!important}}.lesson-nav{margin-top:54px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap}.lesson-nav-link{flex:1 1;min-width:200px;display:flex;flex-direction:column;gap:4px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);transition:border-color .25s,transform .25s,box-shadow .25s}.lesson-nav-link:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 16px 34px -20px color-mix(in srgb,var(--gold) 60%,transparent)}.lesson-nav-link.next{text-align:right;align-items:flex-end}.lesson-nav-dir{font-family:Hanken Grotesk;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.lesson-nav-title{font-family:Fraunces,Georgia,serif;font-size:1.08rem;color:var(--ink);line-height:1.25}