:root{--bg-paper:#f8f4ec;--bg-surface:#fffdf9;--bg-warm:#f0e8da;--bg-sunk:#ebe2d2;--bg-ink:#1d1b18;--ink:#1d1b18;--ink-soft:#46413b;--ink-muted:#625a51;--ink-faint:#8a8076;--on-ink:#f8f4ec;--on-ink-soft:#f8f4ecc7;--grana:#8a2333;--grana-hover:#701b29;--grana-soft:#8a233314;--gold:#c99a45;--gold-deep:#8a6214;--gold-soft:#c99a4529;--agave:#3c6858;--agave-soft:#3c68581a;--border:#1d1b181a;--border-strong:#1d1b1838;--focus:#1d5fa8;--shadow-sm:0 1px 2px #1d1b180a, 0 2px 8px #1d1b180a;--shadow-md:0 10px 30px #1d1b1812;--shadow-lg:0 24px 60px #1d1b1824;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--font-display:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;--font-serif:var(--font-display);--font-sans:"Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--measure:68ch;--header-h:72px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--bg-paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);text-wrap:balance;margin:0 0 .6rem;font-weight:400;line-height:1.12}h1,.h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:300}h2,.h2{font-size:clamp(1.85rem,3.4vw,2.75rem);font-weight:300}h3,.h3{font-size:clamp(1.35rem,2.1vw,1.65rem);font-weight:500}h4{font-size:1.2rem;font-weight:600}p{text-wrap:pretty;margin:0 0 1rem}a{color:inherit;text-decoration:none}img,svg{max-width:100%}img{display:block}button,input,select,textarea{color:inherit;font-family:inherit;font-size:1rem}code{background:var(--bg-warm);border-radius:var(--radius-xs);word-break:break-all;padding:.1em .35em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86em}hr,.rule{background:var(--border);border:0;height:1px;margin:1.25rem 0}::selection{background:#c99a4552}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.studio-sidebar :focus-visible,.pub-footer :focus-visible,.card-quote :focus-visible{outline-color:#9cc7ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--ink);color:var(--on-ink);border-radius:var(--radius-sm);padding:.6rem 1rem;font-weight:600;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:calc(.75rem + var(--safe-top))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.display-title{letter-spacing:-.01em;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:300;line-height:1.04}.display-title em,h1 em,h2 em{font-style:italic;font-weight:300}.lede{font-family:var(--font-display);color:var(--ink-soft);max-width:54ch;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.45}.prose{font-family:var(--font-display);max-width:var(--measure);color:var(--ink);white-space:pre-line;font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.7}.prose p{margin-bottom:1.1em}.eyebrow,.overline{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.16em;color:var(--grana);align-items:center;gap:.45rem;font-size:.74rem;font-weight:600;display:inline-flex}.eyebrow{margin-bottom:.9rem}.overline{color:var(--ink-muted);letter-spacing:.12em}.serif{font-family:var(--font-display)}.serif-lg{font-family:var(--font-display);font-size:1.3rem}.measure{max-width:var(--measure)}.measure-wide{max-width:900px}.link{color:var(--grana);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.link:hover{color:var(--grana-hover)}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.accent{color:var(--grana)}.small{font-size:.9rem}.xs{font-size:.8rem}.xxs{font-size:.72rem}.bold{font-weight:600}.italic{font-style:italic}.text-center{text-align:center}.text-right{text-align:right}.nowrap{white-space:nowrap}.m-0{margin:0!important}.mt-0{margin-top:0}.mb-0{margin-bottom:0!important}.mt-xs{margin-top:.35rem}.mt-sm{margin-top:.75rem}.mt-md{margin-top:1.25rem}.mt-lg{margin-top:1.75rem}.mt-xl{margin-top:2.5rem}.mb-xs{margin-bottom:.35rem}.mb-sm{margin-bottom:.75rem}.mb-md{margin-bottom:1.25rem}.mb-lg{margin-bottom:1.75rem}.mb-xl{margin-bottom:2.5rem}.ml-xs{margin-left:.4rem}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.flex-1{flex:1;min-width:0}.shrink-0{flex-shrink:0}.self-start{align-self:flex-start}.align-start{align-items:start}.align-center{align-items:center}.row{align-items:center;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.row-end{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.justify-between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{flex-direction:column;display:flex}.gap-xs{gap:.4rem}.gap-sm{gap:.6rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.stack{flex-direction:column;gap:1rem;display:flex}.stack-sm{flex-direction:column;gap:.6rem;display:flex}.stack-lg{flex-direction:column;gap:1.75rem;display:flex}.surface-warm{background:var(--bg-warm)}.surface-paper{background:var(--bg-paper)}.icon-inline{vertical-align:-.15em;margin-right:.4rem;display:inline-block}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.container-narrow{max-width:820px}.section{padding:clamp(3.5rem,7vw,6.5rem) 0}.section-tight{padding:clamp(2rem,4vw,3.5rem) 0}.section-warm{background:var(--bg-warm)}.section-surface{background:var(--bg-surface)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:clamp(1.75rem,3vw,2.75rem);display:flex}.section-head p{max-width:58ch;color:var(--ink-soft);margin:0}.mitla-rule{background:linear-gradient(90deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);width:100%;height:1px;margin:2.25rem 0}.grid-2,.grid-3,.grid-4{gap:clamp(1rem,2vw,1.5rem);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-tight{gap:.75rem}@media (width<=980px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.btn{min-height:44px;font-family:var(--font-sans);letter-spacing:.01em;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.62rem 1.3rem;font-size:.93rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:#000}.btn-accent{background:var(--grana);color:#fffdf9}.btn-accent:hover:not(:disabled){background:var(--grana-hover)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover:not(:disabled){background:#b98a36}.btn-outline{border-color:var(--border-strong);color:var(--ink);background:0 0}.btn-outline:hover:not(:disabled){background:var(--bg-warm);border-color:var(--ink-muted)}.btn-ghost{color:var(--ink-soft);background:0 0;padding:.5rem .85rem}.btn-ghost:hover:not(:disabled){color:var(--ink);background:#1d1b180f}.btn-sm{min-height:36px;padding:.38rem .9rem;font-size:.84rem}.btn-block{width:100%}.btn-split{justify-content:space-between;padding:.8rem 1.25rem}.btn-icon{border-radius:999px;min-width:40px;min-height:40px;padding:.4rem}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .62rem;font-size:.74rem;font-weight:600;line-height:1.35;display:inline-flex}.badge-gold{background:var(--gold-soft);color:#6a4a0c}.badge-grana{background:var(--grana-soft);color:var(--grana)}.badge-agave{background:var(--agave-soft);color:#2c5244}.badge-ink{color:var(--ink-soft);background:#1d1b1812}.alert{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:1rem;padding:.85rem 1.05rem;font-size:.92rem}.alert-error{color:#7a1d2b;background:#fbeef0;border-color:#8a233338}.alert-ok{color:#244638;background:#edf4f0;border-color:#3c68583d}.alert-warn{color:#5f420a;background:#fbf3e2;border-color:#c99a4561}.alert-dismissible{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.callout{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-warm);flex-direction:column;gap:.6rem;padding:1rem 1.15rem;display:flex}.callout-warn{background:#fbf3e2;border-color:#c99a4566}.code-strong{background:var(--bg-surface);border:1px solid var(--border-strong);-webkit-user-select:all;user-select:all;padding:.15em .5em;font-size:1rem;font-weight:600}.wordmark{width:auto;height:30px;display:block}.monogram{width:32px;height:32px}@media (width<=420px){.pub-header .wordmark{height:26px}}.pub-header{z-index:60;padding-top:var(--safe-top);-webkit-backdrop-filter:saturate(1.2)blur(14px);border-bottom:1px solid var(--border);background:#f8f4ece6;position:sticky;top:0}.pub-header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.brand-link{flex-shrink:0;align-items:center;min-width:0;display:inline-flex}.pub-nav-desktop{align-items:center;gap:.15rem;margin:0 auto;display:flex}.pub-nav-link{color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.92rem;font-weight:500;display:inline-flex;position:relative}.pub-nav-link:hover{color:var(--ink);background:#1d1b180d}.pub-nav-link.active{color:var(--ink)}.pub-nav-link.active:after{content:"";background:var(--grana);height:1px;position:absolute;bottom:.22rem;left:.75rem;right:.75rem}.nav-more{position:relative}.nav-menu{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:230px;box-shadow:var(--shadow-md);z-index:70;flex-direction:column;padding:.4rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.nav-menu a{border-radius:var(--radius-sm);color:var(--ink-soft);padding:.6rem .8rem;font-size:.92rem}.nav-menu a:hover,.nav-menu a.active{background:var(--bg-warm);color:var(--ink)}.pub-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.lang-pill{border:1px solid var(--border-strong);background:0 0;border-radius:999px;padding:2px;display:inline-flex}.lang-pill button{letter-spacing:.06em;cursor:pointer;min-width:34px;min-height:30px;color:var(--ink-muted);background:0 0;border:0;border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.lang-pill button.active{background:var(--ink);color:var(--on-ink)}.pub-burger{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:none}.mobile-drawer-backdrop{z-index:90;animation:fade-in .18s var(--ease);background:#1d1b186b;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-drawer{background:var(--bg-paper);width:min(88vw,380px);height:100%;padding:calc(1.25rem + var(--safe-top)) 1.25rem calc(1.5rem + var(--safe-bottom));overscroll-behavior:contain;box-shadow:var(--shadow-lg);animation:slide-in .22s var(--ease);flex-direction:column;gap:.35rem;display:flex;overflow-y:auto}.mobile-drawer>a,.mobile-drawer .drawer-item{border-radius:var(--radius-sm);min-height:46px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:.6rem .9rem;font-weight:500;display:flex}.mobile-drawer>a.active,.mobile-drawer .drawer-item.active{background:var(--grana-soft);color:var(--grana)}.drawer-section-label{margin:.85rem .9rem .25rem}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{opacity:.4;transform:translate(24px)}}@media (width<=1180px){.pub-nav-desktop,.hide-mobile{display:none!important}.pub-burger{display:inline-flex}}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.hero-media{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:clamp(300px,46vw,520px)}.hero-floating-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);background:#fffdf9f0;padding:1rem 1.2rem;font-size:.9rem;position:absolute;bottom:1rem;left:1rem;right:1rem}@media (width<=860px){.hero-grid{grid-template-columns:1fr}}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;padding:clamp(1.15rem,2.5vw,1.75rem);display:flex}.card-flat{box-shadow:none;background:0 0}.card-link{transition:border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease)}.card-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-media{border-radius:var(--radius-md) var(--radius-md) 0 0;margin:calc(-1*clamp(1.15rem,2.5vw,1.75rem)) calc(-1*clamp(1.15rem,2.5vw,1.75rem)) 1.1rem;overflow:hidden}.card-media img{aspect-ratio:16/10;object-fit:cover;width:100%}.card-quote{background:var(--bg-ink);color:var(--on-ink);border-radius:var(--radius-lg);text-align:center;padding:clamp(2rem,5vw,3.5rem)}.card-quote blockquote{max-width:820px;font-family:var(--font-display);margin:0 auto;font-size:clamp(1.45rem,2.8vw,2.15rem);font-style:italic;font-weight:300;line-height:1.38}.price{font-family:var(--font-display);font-size:1.6rem;font-weight:500;line-height:1.1}.field{flex-direction:column;gap:.35rem;min-width:0;margin-bottom:.95rem;display:flex}.stack>.field,.stack-sm>.field{margin-bottom:0}.field label,.label{color:var(--ink-soft);font-size:.84rem;font-weight:500}.field-hint{color:var(--ink-muted);margin:.15rem 0 0;font-size:.8rem}.field-hint.is-error{color:#7a1d2b}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--ink);background:#fff;padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:120px;line-height:1.55}.textarea-prose{font-family:var(--font-display);min-height:260px;font-size:1.15rem;line-height:1.65}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1d5fa82e}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--grana)}.select-compact{width:auto;min-height:34px;padding:.15rem .5rem}.check-row{cursor:pointer;align-items:center;gap:.6rem;font-weight:500;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--ink)}.segmented{background:var(--bg-warm);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;margin-bottom:1.25rem;padding:3px;display:grid}.segmented button{min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.9rem;font-weight:500}.segmented button.is-active{background:var(--bg-surface);color:var(--ink);box-shadow:var(--shadow-sm)}.pw-rules{color:var(--ink-muted);gap:.25rem;margin:.45rem 0 0;padding:0;font-size:.8rem;list-style:none;display:grid}.pw-rules li{align-items:center;gap:.45rem;display:flex}.pw-rules li.is-ok{color:#2c5244}.auth-shell{grid-template-columns:1fr minmax(0,460px);align-items:center;gap:clamp(2rem,6vw,5rem);max-width:1060px;display:grid}.auth-intro .display-title{font-size:clamp(2.3rem,4.6vw,3.6rem)}.auth-card{box-shadow:var(--shadow-md)}@media (width<=860px){.auth-shell{grid-template-columns:1fr}}.forced-pw{place-items:center;min-height:100dvh;padding:1.5rem 1rem;display:grid}.forced-pw-card{width:min(100%,480px);box-shadow:var(--shadow-md);gap:.85rem}.studio-layout{background:var(--bg-paper);grid-template-columns:276px minmax(0,1fr);min-height:100dvh;display:grid}.studio-sidebar{background:var(--bg-ink);color:var(--on-ink);scrollbar-width:thin;flex-direction:column;gap:.5rem;height:100dvh;padding:1.4rem .9rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.studio-brand{flex-direction:column;gap:.35rem;padding:.2rem .6rem 1rem;display:flex}.studio-brand .wordmark{height:26px}.studio-role{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.68rem}.studio-nav{flex-direction:column;flex:1;gap:.9rem;display:flex}.nav-group{flex-direction:column;gap:.1rem;display:flex}.nav-group-label{letter-spacing:.15em;text-transform:uppercase;color:#f8f4ec80;padding:0 .75rem .3rem;font-size:.66rem;font-weight:600}.mobile-drawer .nav-group-label{color:var(--ink-muted);padding-top:.6rem}.studio-nav-btn{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--on-ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:.45rem .75rem;font-size:.9rem;font-weight:400;transition:background .14s,color .14s;display:flex}.studio-nav-btn:hover{color:#fff;background:#ffffff12}.studio-nav-btn.active{color:#fff;box-shadow:inset 2px 0 0 var(--gold);background:#c99a452e}.mobile-drawer .studio-nav-btn{color:var(--ink-soft)}.mobile-drawer .studio-nav-btn:hover{background:var(--bg-warm);color:var(--ink)}.mobile-drawer .studio-nav-btn.active{background:var(--grana-soft);color:var(--grana);box-shadow:inset 2px 0 0 var(--grana)}.studio-sidebar-foot{border-top:1px solid #ffffff1a;flex-direction:column;gap:.3rem;padding-top:.8rem;display:flex}.studio-user{color:#f8f4ecdb;flex-direction:column;min-width:0;padding:0 .75rem .3rem;font-size:.82rem;display:flex}.studio-user span{color:#f8f4ec99;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.studio-chip{background:#ffffff0f;justify-content:center}.studio-main{flex-direction:column;min-width:0;display:flex}.studio-topbar{z-index:50;padding:calc(.6rem + var(--safe-top)) 1rem .6rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f8f4ecf0;justify-content:space-between;align-items:center;gap:.75rem;display:none;position:sticky;top:0}.studio-topbar-brand .wordmark{height:24px}.studio-content{width:100%;max-width:1320px;margin:0 auto;padding:clamp(1.1rem,3vw,2.5rem)}.studio-content:focus{outline:none}.studio-loading{gap:.8rem;max-width:640px;margin:18vh auto 0;padding:1rem;display:grid}.studio-bottom-nav{z-index:55;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:.35rem .4rem calc(.35rem + var(--safe-bottom));background:#fffdf9f7;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.15rem;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-tab{border-radius:var(--radius-sm);min-height:52px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;padding:.2rem;font-size:.68rem;font-weight:500;display:flex}.bottom-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-tab.active{color:var(--grana)}.bottom-tab.active svg{stroke-width:2.4px}@media (width<=1024px){.studio-layout{grid-template-columns:1fr}.studio-sidebar{display:none}.studio-topbar{display:flex}.studio-bottom-nav{display:grid}.studio-content{padding-bottom:calc(5.75rem + var(--safe-bottom))}}.kpi-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.kpi-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.74rem;font-weight:600}.kpi-value{font-family:var(--font-display);margin-top:.15rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;line-height:1.1}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem .95rem}.data-table th{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-muted);background:var(--bg-paper);font-size:.72rem;font-weight:600}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#f0e8da59}@media (width<=720px){.data-table.stack-mobile thead{display:none}.data-table.stack-mobile,.data-table.stack-mobile tbody,.data-table.stack-mobile tr,.data-table.stack-mobile td{width:100%;display:block}.data-table.stack-mobile tr{border-bottom:1px solid var(--border);padding:.85rem 1rem}.data-table.stack-mobile td{border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.28rem 0;display:flex}.data-table.stack-mobile td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:.72rem;font-weight:600}}.empty-state{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--ink-muted);background:#fffdf980;padding:clamp(2rem,5vw,3.5rem) 1.25rem}.empty-state h3,.empty-state h4{color:var(--ink);margin-bottom:.35rem}.empty-state p{max-width:46ch;margin:0 auto 1rem}.skeleton{background:linear-gradient(90deg, var(--bg-warm) 0%, #f6efe3 50%, var(--bg-warm) 100%);border-radius:var(--radius-xs);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-title{width:55%;height:2rem}.skeleton-line{width:100%;height:.9rem}.skeleton-line.short{width:65%}.skeleton-card{border-radius:var(--radius-md);height:140px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-backdrop{z-index:100;animation:fade-in .15s var(--ease);background:#1d1b1880;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{overscroll-behavior:contain;background:var(--bg-surface);border-radius:var(--radius-lg);width:min(100%,560px);max-height:90dvh;box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:clamp(1.25rem,3vw,2rem);overflow-y:auto}.modal-wide{width:min(100%,880px)}.modal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.modal-title{margin-bottom:.4rem;font-size:clamp(1.6rem,3vw,2rem)}.pay-summary{background:var(--bg-warm);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.25rem 0 1.15rem;padding:1rem 1.15rem;display:flex}.pay-amount{font-family:var(--font-display);font-size:1.75rem;font-weight:500}.pub-footer{background:var(--bg-ink);color:var(--on-ink-soft);padding:clamp(3rem, 6vw, 4.5rem) 0 calc(2.2rem + var(--safe-bottom));margin-top:0}.pub-footer h4{color:var(--on-ink);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem;font-size:.74rem;font-weight:600}.pub-footer a{color:var(--on-ink-soft)}.pub-footer a:hover{color:#fff}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;display:grid}.footer-links{gap:.5rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.footer-base{color:#f8f4ec9e;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.8rem;display:flex}.footer-tagline{font-family:var(--font-display);color:var(--on-ink);max-width:34ch;margin-top:1rem;font-size:1.2rem;font-style:italic;line-height:1.5}@media (width<=860px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.footer-grid{grid-template-columns:1fr}}.progress-track{background:var(--bg-sunk);border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-fill{background:var(--ink);height:100%;transition:width .6s var(--ease);border-radius:999px}.progress-meta{color:var(--ink-muted);justify-content:space-between;margin-top:.4rem;font-size:.8rem;display:flex}.classroom-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}.classroom-aside{position:sticky;top:1rem}@media (width<=900px){.classroom-grid{grid-template-columns:1fr}.classroom-aside{position:static}}.lesson-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.lesson-step-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .8rem;transition:background .15s,border-color .15s;display:grid}.lesson-step-btn:hover:not(:disabled){background:var(--bg-warm)}.lesson-step-btn.active{border-color:var(--ink);box-shadow:inset 2px 0 0 var(--ink)}.lesson-step-btn:disabled{cursor:not-allowed;color:var(--ink-muted);background:0 0;border-style:dashed}.lesson-index{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--ink-soft);border-radius:999px;place-items:center;font-size:.78rem;font-weight:600;display:grid}.lesson-step-btn.is-done .lesson-index{background:var(--agave);border-color:var(--agave);color:#fff}.lesson-step-btn.is-current .lesson-index{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.lesson-state{letter-spacing:.04em;white-space:nowrap;font-size:.72rem;font-weight:600}.lesson-state.done{color:#2c5244}.lesson-state.current{color:var(--ink)}.lesson-state.locked{color:var(--ink-muted)}.lesson-reader{animation:lesson-in .45s var(--ease)}.lesson-reader .prose{margin:1.25rem 0 1.75rem}.lesson-exercise{border-left:2px solid var(--gold);margin:1.5rem 0;padding:.25rem 0 .25rem 1.1rem}.unlock-toast{animation:unlock .6s var(--ease)}@keyframes lesson-in{0%{opacity:0;transform:translateY(6px)}}@keyframes unlock{0%{opacity:0;transform:translateY(-4px)scale(.98)}60%{opacity:1;transform:translateY(0)scale(1.01)}to{transform:none}}.diploma-sheet{box-shadow:var(--shadow-md);aspect-ratio:297/210;width:100%;max-width:980px;color:var(--ink);background:#fffdf9;border:1px solid #b8a37a;margin:0 auto;padding:clamp(.6rem,1.6vw,1rem);container-type:inline-size}.diploma-border-inner{outline-offset:-6px;text-align:center;border:.5px solid #c9b48a;outline:1px solid #e6dcc6;flex-direction:column;justify-content:space-between;height:100%;padding:5cqw 6cqw 4cqw;display:flex}.diploma-top{flex-direction:column;align-items:center;gap:1.1cqw;display:flex}.diploma-logo{width:auto;height:3.6cqw;min-height:18px}.diploma-kicker{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-muted);font-size:max(9px,1.15cqw)}.diploma-title{font-family:var(--font-display);margin:0;font-size:max(22px,4.6cqw);font-weight:300;line-height:1.05}.diploma-presented{font-family:var(--font-display);color:var(--ink-soft);margin:0;font-size:max(12px,1.7cqw);font-style:italic}.diploma-recipient{font-family:var(--font-display);border-bottom:.5px solid #c9b48a;min-width:50%;margin:.4cqw 0;padding-bottom:.8cqw;font-size:max(24px,5.4cqw);font-weight:400;line-height:1.05;display:inline-block}.diploma-course{font-family:var(--font-display);margin:0;font-size:max(14px,2.3cqw);font-weight:500}.diploma-meta{color:var(--ink-muted);letter-spacing:.06em;font-size:max(9px,1.15cqw)}.diploma-footer{text-align:left;grid-template-columns:1fr auto 1fr;align-items:end;gap:3cqw;display:grid}.diploma-sign{color:var(--ink-muted);font-size:max(9px,1.1cqw)}.diploma-sign strong{font-family:var(--font-display);color:var(--ink);border-top:.5px solid var(--ink-faint);margin-bottom:.2cqw;padding-top:.5cqw;font-size:max(13px,1.9cqw);font-weight:500;display:block}.diploma-qr-box{flex-direction:column;align-items:center;gap:.4cqw;display:flex}.diploma-qr-img{width:max(72px,10.5cqw);height:max(72px,10.5cqw);display:block}.diploma-code{letter-spacing:.08em;color:var(--ink-soft);font-family:ui-monospace,Consolas,monospace;font-size:max(8px,.95cqw)}.diploma-legal{text-align:right;color:var(--ink-muted);font-size:max(8px,.95cqw);line-height:1.45}.diploma-specimen{pointer-events:none;font-family:var(--font-display);letter-spacing:.2em;color:#8a23331f;text-transform:uppercase;place-items:center;font-size:9cqw;display:grid;position:absolute;inset:0;transform:rotate(-14deg)}.diploma-wrap{position:relative}@page{size:A4 landscape;margin:8mm}@media print{html,body{background:#fff!important}.pub-header,.pub-footer,.studio-sidebar,.studio-topbar,.studio-bottom-nav,.no-print,.skip-link{display:none!important}.studio-layout{display:block!important}.studio-content{max-width:100%!important;padding:0!important}body.printing-diploma *{visibility:hidden!important}body.printing-diploma .diploma-print-target,body.printing-diploma .diploma-print-target *{visibility:visible!important}body.printing-diploma .diploma-print-target{justify-content:center;align-items:center;margin:0!important;display:flex!important;position:fixed!important;inset:0!important}body.printing-diploma .diploma-print-target .diploma-sheet{aspect-ratio:auto;break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:279mm!important;max-width:none!important;height:192mm!important;box-shadow:none!important;border-color:#b8a37a!important}}.page-shell{flex-direction:column;min-height:100dvh;display:flex}.page-main{flex:1}.page-main:focus{outline:none}.footer-btn{color:var(--on-ink-soft);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0}.footer-btn:hover{color:#fff}.pub-footer .wordmark{height:28px}.install-icon{border-radius:14px;flex-shrink:0}.verify-form{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.verify-form .input{flex:260px}.input-code{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,Consolas,monospace}.verify-verdict{align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.diploma-block{margin-bottom:1.5rem}.flex{display:flex}.grid{display:grid}.justify-center{justify-content:center}.align-end{align-items:flex-end}.min-w-0{min-width:0}.uppercase{text-transform:uppercase;letter-spacing:.06em}.pointer{cursor:pointer}.text-agave{color:#2c5244}.text-ink{color:var(--ink)}.pre-line{white-space:pre-line}.pre-wrap{white-space:pre-wrap}.p-0{padding:0!important}.p-md{padding:1rem}.py-xs{padding-top:.5rem;padding-bottom:.5rem}.py-sm{padding-top:.75rem;padding-bottom:.75rem}.pt-md{padding-top:1rem}.my-md{margin-top:1rem;margin-bottom:1rem}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.overflow-hidden{overflow:hidden}.leading-loose{line-height:1.75}.justify-end{justify-content:flex-end}.lg{font-size:1.15rem}.text-gold{color:var(--gold-deep)}.sans{font-family:var(--font-sans)}.base{font-size:1rem}.xl{font-size:1.45rem}.block{display:block}.inline-block{display:inline-block}.align-stretch{align-items:stretch}.p-sm{padding:.65rem}.p-lg{padding:1.35rem}.py-2xs{padding-top:.3rem;padding-bottom:.3rem}.pt-sm{padding-top:.75rem}.pt-lg{padding-top:1.4rem}.my-xs{margin-top:.4rem;margin-bottom:.4rem}.my-sm{margin-top:.8rem;margin-bottom:.8rem}.my-lg{margin-top:1.5rem;margin-bottom:1.5rem}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.rounded{border-radius:var(--radius-sm)}.bordered{border:1px solid var(--border)}.scroll-y{overflow-y:auto}.max-h-sm{max-height:210px}.max-h-lg{max-height:380px}.max-w-xs{max-width:300px}.min-h-sm{min-height:80px}.min-h-md{min-height:180px}.min-h-lg{min-height:240px}.h-auto{height:auto}.img-cover{object-fit:cover;width:100%;height:210px}img.max-h-lg{object-fit:cover;width:100%}.w-num{width:108px;min-height:34px;padding:.2rem .5rem}.flex-grow-input{flex:240px}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.select-compact.input{width:auto;min-height:34px;padding:.2rem .55rem}.empty-icon{color:var(--ink-faint);justify-content:center;margin-bottom:.6rem;display:flex}p.empty-state{margin:0}.tab-loading{z-index:5;height:2px;margin:-.5rem 0 1rem;position:sticky;top:0;overflow:hidden}.tab-loading-bar{background:var(--ink);width:40%;height:100%;animation:tab-load 1.1s var(--ease) infinite}@keyframes tab-load{0%{transform:translate(-100%)}to{transform:translate(260%)}}.hero-grid>*,.grid-2>*,.grid-3>*,.grid-4>*,.auth-shell>*,.classroom-grid>*{min-width:0}h1,h2,h3,.display-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (width<=860px){.hero-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.btn{white-space:normal;text-align:center}.container{padding:0 1rem}}
