:root{--paper:#f4f0e8;--paper-2:#ede8dc;--paper-3:#e4ddd0;--ink:#1c1a17;--ink-2:#2e2b26;--ink-3:#4a4540;--line:rgb(28 26 23/0.08);--line-2:rgb(28 26 23/0.16);--ruby:#7a1a2e;--ruby-2:#a02438;--ruby-3:#c94060;--ruby-bg:rgb(122 26 46/0.06);--green:#2d6a3e;--gold:#b8860b;--shadow:0 1px 3px rgb(28 26 23/0.1);--shadow-lg:0 8px 24px rgb(28 26 23/0.12);--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--radius:12px;--measure:66ch;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--space-section:5.5rem;--space-block:2.5rem;--space-card:1.75rem;--shell-max:1280px;--shell-gutter:2.5rem}[data-theme=dark]{--paper:#16130f;--paper-2:#1e1a15;--paper-3:#29231c;--ink:#f0ebe1;--ink-2:#ddd5c8;--ink-3:#a89e8f;--line:rgb(240 235 225/0.08);--line-2:rgb(240 235 225/0.16);--ruby:#d8607a;--ruby-2:#c94060;--ruby-3:#e58ba0;--ruby-bg:rgb(216 96 122/0.1);--green:#6aab7d;--gold:#d9ac4a;--shadow:0 1px 3px rgb(0 0 0/0.4);--shadow-lg:0 8px 24px rgb(0 0 0/0.5)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}a{color:inherit;text-decoration:none}em{font-style:italic;color:var(--ruby-2)}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;background:var(--paper-3);padding:.1em .4em;border-radius:4px}.shell{max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-gutter)}@media (max-width:640px){.shell{padding:0 1.25rem}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2)}.site-header>.shell{display:flex;align-items:center;gap:1.5rem;height:60px}.brand{display:flex;flex-direction:column;line-height:1.1;margin-right:auto}.brand strong{font-family:var(--font-display);font-size:1.45rem;font-weight:500;letter-spacing:-.01em}.brand span{letter-spacing:.2em}.site-nav{gap:1.25rem;font-size:.8125rem;color:var(--ink-3)}.site-nav a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);background:transparent;color:var(--ink-3);font:inherit;min-height:44px;padding:.6rem 1.25rem;border-radius:var(--radius);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.btn:hover{background:var(--paper-3)}.btn-primary{background:var(--ruby);border-color:var(--ruby);color:var(--paper);font-weight:500}.btn-primary:hover{background:var(--ruby-2);border-color:var(--ruby-2);color:var(--paper)}.icon-btn{width:34px;height:34px;padding:0;justify-content:center}.hero{padding:7rem 0 5rem;border-bottom:1px solid var(--line)}.eyebrow{font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ruby);font-weight:600}.hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:.75rem 0 1.25rem;max-width:18ch}.lede{font-size:var(--text-lg);line-height:1.6;color:var(--ink-3);max-width:58ch}.hero-actions{display:flex;gap:1rem;margin-top:2.75rem;flex-wrap:wrap}section.band{padding:var(--space-section) 0;border-bottom:1px solid var(--line)}h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;letter-spacing:-.015em;line-height:1.15;margin-bottom:.6rem}.section-lede{color:var(--ink-3);font-size:var(--text-base);line-height:1.6;max-width:var(--measure);margin-bottom:var(--space-block)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1px;gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}.stat{background:var(--paper-2);padding:1.75rem 1.9rem}.stat b{display:block;font-family:var(--font-display);font-size:2.6rem;font-weight:400;line-height:1;color:var(--ruby)}.stat span{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));grid-gap:1.25rem;gap:1.25rem}.card{border:1px solid var(--line-2);border-radius:var(--radius);padding:var(--space-card);background:var(--paper-2);transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--ruby);box-shadow:var(--shadow)}.card h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin-bottom:.5rem}.card p{font-size:var(--text-sm);line-height:1.6;color:var(--ink-3)}.filters{display:flex;gap:.4rem;margin-bottom:1.5rem;flex-wrap:wrap}.grape-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:1rem;gap:1rem}.grape{border:1px solid var(--line-2);border-radius:var(--radius);padding:1.5rem 1.6rem;background:var(--paper-2);display:flex;flex-direction:column;gap:.4rem}.grape-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.grape-head h3{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}.swatch{width:10px;height:10px;border-radius:50%;flex:none;border:1px solid var(--line-2)}.grape h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.badge{margin-left:auto;flex:none;max-width:100%;letter-spacing:.1em;text-transform:uppercase;color:var(--ruby);background:var(--ruby-bg);border-radius:4px;padding:.15rem .4rem}.axes,.badge{font-size:.6875rem}.axes{display:flex;gap:1rem;color:var(--ink-3)}.axes b{color:var(--ink);font-weight:500}.notes{font-size:.9375rem;line-height:1.55}.meta-row,.notes{color:var(--ink-3)}.meta-row{font-size:.8125rem;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--line)}.notice{border:1px solid var(--ruby);background:var(--ruby-bg);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.875rem}.site-footer{padding:2.5rem 0 3.5rem;font-size:.75rem}.empty{color:var(--ink-3);font-size:.875rem;padding:2rem 0}:root{--viz-ruby-1:#c9788a;--viz-ruby-2:#a02438;--viz-ruby-3:#5c1020;--viz-gold-1:#b8860b;--viz-gold-2:#8a6208;--viz-gold-3:#523a04;--viz-grid:rgb(28 26 23/0.09);--viz-axis:rgb(28 26 23/0.28)}[data-theme=dark]{--viz-ruby-1:#e8a3b0;--viz-ruby-2:#c9566f;--viz-ruby-3:#93304a;--viz-gold-1:#ecd08a;--viz-gold-2:#cfa63f;--viz-gold-3:#9a7a26;--viz-grid:rgb(240 235 225/0.09);--viz-axis:rgb(240 235 225/0.3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.matrix-controls{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-bottom:1.75rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}.segmented{display:flex;gap:2px;padding:3px;background:var(--paper-3);border:1px solid var(--line-2);border-radius:var(--radius)}.segmented-item{border:none;background:transparent;color:var(--ink-3);font:inherit;font-size:.9375rem;min-height:38px;padding:.45rem 1.15rem;border-radius:7px;cursor:pointer;transition:background-color .15s,color .15s}.segmented-item.is-active{background:var(--paper);color:var(--ink);font-weight:500;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:.25rem}.field>span{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.field select{font:inherit;font-size:.9375rem;min-height:42px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius);padding:.4rem .6rem;min-width:9rem}.matrix-count{margin-left:auto;font-size:.75rem;color:var(--ink-3)}.matrix-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:900px){.matrix-layout{grid-template-columns:minmax(0,1fr)}}.matrix-plot{width:100%;height:auto;overflow:visible;border-radius:var(--radius)}.matrix-plot:focus-visible{outline:2px solid var(--ruby);outline-offset:4px}.matrix-grid{stroke:var(--viz-grid);stroke-width:1}.matrix-axis{stroke:var(--viz-axis);stroke-width:1}.matrix-axis-title{fill:var(--ink-3);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase}.matrix-tick{fill:var(--ink-3);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.matrix-range{fill-opacity:.1;pointer-events:none}.matrix-mark{cursor:pointer}.matrix-hit{fill:transparent}.matrix-dot{stroke:var(--paper);stroke-width:2;transition:r .15s ease}.matrix-mark.is-selected .matrix-dot{stroke:var(--ink);stroke-width:2.5}.matrix-label{fill:var(--ink-3);pointer-events:none}.matrix-frame{fill:none}.matrix-frame,.matrix-zero{stroke:var(--viz-axis);stroke-width:1}.matrix-zero{opacity:.55}.matrix-hint-label{fill:var(--ink-3);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase}.matrix-label.is-active{fill:var(--ink);font-weight:600}.matrix-profile-dot{fill:var(--paper);stroke:var(--ink-3);stroke-width:2}.matrix-profile-link{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3;opacity:.5}.matrix-profile-label{fill:var(--ink-3);font-size:.75rem;pointer-events:none}.matrix-legend{display:flex;gap:1.35rem;list-style:none;margin-top:1rem;font-size:.875rem;color:var(--ink-3);flex-wrap:wrap}.matrix-legend li{display:flex;align-items:center;gap:.4rem}.matrix-legend-swatch{width:11px;height:11px;border-radius:50%;flex:none}.matrix-picker{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin-top:1.25rem}.matrix-picker-item{display:flex;align-items:center;gap:.45rem;font:inherit;font-size:.875rem;min-height:38px;color:var(--ink-3);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius);padding:.4rem .8rem;cursor:pointer}.matrix-picker-item:focus-visible,.matrix-picker-item:hover{color:var(--ink);border-color:var(--ruby)}.matrix-picker-item.is-selected{color:var(--ink);border-color:var(--ruby);background:var(--ruby-bg);font-weight:500}.matrix-picker-values{display:none}.matrix-hint{margin-top:.75rem;font-size:.6875rem;color:var(--ink-3)}.matrix-panel{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper-2);padding:1.85rem}.matrix-panel.is-empty{color:var(--ink-3);font-size:.8125rem}.matrix-panel header{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}.matrix-panel h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500}.matrix-panel dl{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.9375rem}.matrix-panel dt{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ruby);margin-top:.7rem}.matrix-panel dd{color:var(--ink-2);white-space:pre-line}.matrix-profiles{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.matrix-profiles h4{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ruby);margin-bottom:.5rem}.matrix-profiles ul{list-style:none;display:grid;grid-gap:.6rem;gap:.6rem}.matrix-profiles li{font-size:.7812rem;color:var(--ink-3)}.matrix-profiles strong{display:block;color:var(--ink);font-weight:500}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table caption{text-align:left;color:var(--ink-3);font-size:.75rem;padding-bottom:.75rem}.data-table td,.data-table th{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}.data-table thead th{font-size:.625rem;letter-spacing:.12em}.data-table tbody th,.data-table thead th{font-weight:500;white-space:nowrap}.data-table tbody tr:hover{background:var(--paper-2)}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ruby);color:var(--paper);padding:.7rem 1.1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:top .15s ease}.skip-link:focus{top:1rem}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ruby);outline-offset:2px;border-radius:4px}main:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.shell-narrow{max-width:760px}.muted{color:var(--ink-3);font-size:.8125rem}.site-header-inner{display:flex;align-items:center;gap:2rem;height:76px}.site-header-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto}.brand span{font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ruby)}.site-nav{gap:.35rem}.nav-list,.site-nav{display:flex;align-items:center}.nav-list{gap:.15rem;list-style:none}.nav-link{display:inline-flex;align-items:center;gap:.35rem;font:inherit;color:var(--ink-3);background:transparent;border:none;padding:.45rem .7rem;border-radius:8px;cursor:pointer;white-space:nowrap}.nav-link:hover{color:var(--ink);background:var(--paper-2)}.nav-link[aria-current=page]{color:var(--ink);font-weight:500;box-shadow:inset 0 -2px 0 var(--ruby);border-radius:8px 8px 0 0}.nav-disclosure{position:relative}.nav-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid;transition:transform .15s ease}.nav-trigger.is-open{color:var(--ink);background:var(--paper-2)}.nav-trigger.is-open .nav-chevron{transform:rotate(180deg)}.nav-panel{position:absolute;top:calc(100% + .6rem);left:0;z-index:30;width:min(680px,88vw);background:var(--paper);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-lg);padding:1.25rem}.nav-panel[hidden]{display:none}.nav-panel-lede{font-size:.7812rem;color:var(--ink-3);margin-bottom:1rem}.nav-panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));grid-gap:.35rem;gap:.35rem;list-style:none}.nav-panel-item{display:flex;gap:.7rem;padding:.7rem;border-radius:10px;align-items:flex-start}.nav-panel-item:hover{background:var(--paper-2)}.nav-panel-glyph{color:var(--ruby);font-size:1.1rem;line-height:1.2}.nav-panel-item strong{display:block;font-size:.875rem;font-weight:500}.nav-panel-tagline{display:block;font-size:.75rem;color:var(--ink-3)}.nav-panel-domains{display:block;font-size:.6875rem;color:var(--ink-3);margin-top:.15rem;opacity:.75}.nav-burger{display:none}.burger-bars,.burger-bars:after,.burger-bars:before{display:block;width:15px;height:1.5px;background:currentColor;content:""}.burger-bars:before{transform:translateY(-5px)}.burger-bars:after{transform:translateY(3.5px)}.nav-mobile{border-top:1px solid var(--line-2);background:var(--paper);padding:1.25rem 0 1.75rem;max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain}.nav-mobile[hidden]{display:none}.nav-mobile-heading{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ruby);margin:1rem 0 .4rem}.nav-mobile ul{list-style:none;display:grid;grid-gap:.1rem;gap:.1rem}.nav-mobile a{display:block;padding:.55rem 0;font-size:.9375rem;border-bottom:1px solid var(--line)}@media (max-width:1080px){.site-nav{display:none}.site-header-inner{flex-wrap:nowrap;gap:.5rem}.brand{min-width:0}.site-header-tools{margin-left:auto;flex:none}.nav-burger{order:99;flex:none;display:inline-flex;width:44px;height:44px}.nav-burger .burger-bars,.nav-burger .burger-bars:after,.nav-burger .burger-bars:before{width:20px;height:2px}.nav-burger .burger-bars:before{transform:translateY(-6px)}.nav-burger .burger-bars:after{transform:translateY(6px)}}@media (min-width:1081px){.nav-mobile{display:none}}.page-head{padding:4rem 0 3rem;border-bottom:1px solid var(--line)}.page-head h1{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;margin:.7rem 0 1.2rem}.breadcrumbs{margin-bottom:1.25rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.75rem;color:var(--ink-3)}.breadcrumbs li+li:before{content:"/";margin-right:.4rem;opacity:.5}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:var(--space-block)}.section-head .section-lede{margin-bottom:0}.sense-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));grid-gap:1.25rem;gap:1.25rem;list-style:none}.sense-card{display:block;height:100%;padding:2rem 1.75rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);transition:border-color .15s,box-shadow .15s,transform .15s}.sense-card:hover{border-color:var(--ruby);box-shadow:var(--shadow);transform:translateY(-2px)}.sense-glyph{display:block;font-size:2.2rem;line-height:1;color:var(--ruby);margin-bottom:.9rem}.sense-card h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500;margin-bottom:.2rem}.sense-tagline{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}.sense-domains{font-size:.8438rem;color:var(--ink-3);margin-top:1rem}.sense-count{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ruby);margin-top:.5rem}.sense-links{font-size:.8125rem;color:var(--ink-3);margin-top:1rem}.sense-links a{color:var(--ruby);text-decoration:underline;text-underline-offset:2px}.session-list{list-style:none;border-top:1px solid var(--line)}.session-row{display:grid;grid-template-columns:13rem 1fr auto auto;grid-gap:1.75rem;gap:1.75rem;align-items:center;padding:1.35rem .75rem;border-bottom:1px solid var(--line)}.session-row:hover{background:var(--paper-2)}.session-date{font-size:.9375rem;color:var(--ink-3)}.session-main strong{display:block;font-weight:500}.session-meta{font-size:.875rem;color:var(--ink-3)}.session-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1rem}.session-seats{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.session-seats.is-few{color:var(--ruby);font-weight:600}@media (max-width:720px){.session-row{grid-template-columns:1fr auto;row-gap:.35rem}.session-date{grid-column:1/-1}}.filter-row{gap:.4rem;margin-top:1.5rem}.chip{display:inline-flex;align-items:center;min-height:40px;font-size:.9062rem;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:.45rem 1.1rem}.chip:hover{color:var(--ink);border-color:var(--ruby)}.chip.is-active{color:var(--paper);background:var(--ruby);border-color:var(--ruby);font-weight:500}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));grid-gap:1.25rem;gap:1.25rem;list-style:none}.course-card{display:block;height:100%;padding:var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.course-card:hover{border-color:var(--ruby);box-shadow:var(--shadow)}.course-kind,.post-kind{display:inline-block;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ruby);background:var(--ruby-bg);border-radius:4px;padding:.2rem .5rem;margin-bottom:.7rem}.course-card h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin-bottom:.5rem}.course-card p{font-size:.9375rem;line-height:1.6;color:var(--ink-3)}.course-facts{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:1.35rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.875rem}.course-facts>div{display:flex;gap:.5rem}.course-facts dt{color:var(--ink-3);min-width:6.5rem}.course-facts dd{color:var(--ink-2)}.course-list{list-style:none;display:grid;grid-gap:1.25rem;gap:1.25rem}.course-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:2.75rem;gap:2.75rem;padding:2.25rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}@media (max-width:860px){.course-row{grid-template-columns:1fr;gap:1.25rem}}.course-row h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500;margin-bottom:.5rem}.course-row h3 a:hover{color:var(--ruby)}.course-row p{font-size:.9688rem;line-height:1.65;color:var(--ink-3)}.course-row-meta{margin-top:.75rem;font-size:.75rem!important;letter-spacing:.04em}.course-row-sessions ul{list-style:none;display:grid;grid-gap:.65rem;gap:.65rem;margin-bottom:1.35rem;font-size:.9062rem}.course-row-sessions li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.course-row-price{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seat-badge{font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:.1rem .5rem;white-space:nowrap}.seat-badge.is-few{color:var(--ruby);border-color:var(--ruby)}.seat-badge.is-full{color:var(--ink-3);background:var(--paper-3);text-decoration:line-through}.fact-strip{display:flex;flex-wrap:wrap;gap:2.75rem;margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--line)}.fact-strip dt{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.2rem}.fact-strip dd{font-size:1.0625rem;color:var(--ink)}.contact-layout,.course-layout,.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:4rem;gap:4rem;padding:4rem var(--shell-gutter) 5rem}@media (max-width:900px){.contact-layout,.course-layout,.product-layout{grid-template-columns:1fr;gap:2.5rem}}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.course-path{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.course-path h3{font-family:var(--font-display);font-size:1.1rem;margin-bottom:.5rem}.course-path ul{list-style:none;font-size:.875rem;display:grid;grid-gap:.4rem;gap:.4rem}.course-path a{color:var(--ruby);text-decoration:underline;text-underline-offset:2px}.booking-panel,.buy-panel{position:-webkit-sticky;position:sticky;top:96px;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);padding:2rem}.booking-panel h2,.buy-panel h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:1.35rem}.session-options{list-style:none;display:grid;grid-gap:.6rem;gap:.6rem;margin-bottom:1.5rem}.session-option{padding:.75rem;border:1px solid var(--line);border-radius:10px}.session-option-date{font-size:.875rem}.session-option-meta{font-size:.7812rem;margin-bottom:.4rem}.booking-form,.buy-form{display:grid;grid-gap:1rem;gap:1rem}.booking-form fieldset{border:none;display:grid;grid-gap:.4rem;gap:.4rem}.booking-form legend{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem}.radio-row{display:flex;align-items:flex-start;gap:.55rem;font-size:.8438rem;cursor:pointer;padding:.35rem 0}.booking-form .field,.buy-form .field,.contact-layout .field{display:grid;grid-gap:.3rem;gap:.3rem}.booking-form label,.buy-form label{font-size:.75rem;color:var(--ink-2);font-weight:500}.booking-form input,.booking-form select,.booking-form textarea,.buy-form input,.buy-form select{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:8px;padding:.7rem .85rem;width:100%}.field-hint{font-size:.7188rem}.field-error{font-size:.75rem;color:var(--ruby);font-weight:500}.form-errors{border:2px solid var(--ruby);border-radius:10px;padding:.9rem 1rem;background:var(--ruby-bg)}.form-errors h3{font-size:.8125rem;font-weight:600;color:var(--ruby);margin-bottom:.4rem}.form-errors ul{list-style:none;font-size:.8125rem;display:grid;grid-gap:.2rem;gap:.2rem}.form-errors a{color:var(--ruby);text-decoration:underline}.btn-block{width:100%;justify-content:center}.booking-done{border:1px solid var(--green);border-radius:10px;padding:1.1rem;background:var(--paper)}.booking-done h3{font-family:var(--font-display);font-size:1.1rem;color:var(--green);margin-bottom:.4rem}.booking-done p{font-size:.8438rem}.buy-price{font-family:var(--font-display);font-size:2rem;margin-bottom:.35rem}.buy-status{font-size:.8125rem;color:var(--green);font-weight:500}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:1.25rem;gap:1.25rem;list-style:none}.post-card{display:block;height:100%;padding:var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.post-card:hover{border-color:var(--ruby);box-shadow:var(--shadow)}.post-card h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:.55rem;line-height:1.25}.post-card p{font-size:.9375rem;line-height:1.6;color:var(--ink-3)}.post-list{list-style:none;display:grid;grid-gap:0;gap:0}.post-item{padding:2.5rem 0;border-bottom:1px solid var(--line);max-width:var(--measure)}.post-item h2{font-size:1.9rem;margin-bottom:.55rem}.post-item h2 a:hover{color:var(--ruby)}.post-excerpt{font-size:1.0625rem;line-height:1.65;color:var(--ink-3);max-width:var(--measure)}.post-meta{font-size:.875rem;color:var(--ink-3);margin-top:1rem}.post-meta a{text-decoration:underline;text-underline-offset:2px}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin-top:.75rem}.tag-list li{font-size:.6875rem;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:.15rem .55rem}.article-body{padding:4rem var(--shell-gutter) 6rem}.prose{max-width:var(--measure)}.prose h2{font-size:1.7rem;margin:3rem 0 .8rem}.prose h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin:2.25rem 0 .6rem}.prose p{font-size:1.125rem;line-height:1.78;color:var(--ink-2);margin-bottom:1.35rem}.prose ul{margin:0 0 1.25rem 1.1rem;display:grid;grid-gap:.35rem;gap:.35rem}.prose li{font-size:1.0625rem;line-height:1.7;color:var(--ink-2)}.prose blockquote{margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--ruby)}.prose blockquote p{font-family:var(--font-display);font-size:1.45rem;font-style:italic;color:var(--ink);margin:0}.graph-links{margin-top:2.5rem;padding:1.25rem 1.4rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);max-width:var(--measure)}.graph-links h2{font-family:var(--font-display);font-size:1.05rem;margin:0 0 .2rem}.graph-links ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-top:.75rem}.graph-links li{font-size:.7812rem;border:1px solid var(--line-2);border-radius:999px;padding:.2rem .7rem}.graph-links a{color:var(--ruby)}.lecture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));grid-gap:1.5rem;gap:1.5rem;list-style:none}.lecture-card{height:100%;display:flex;flex-direction:column;padding:2.25rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.lecture-card h2{font-size:1.6rem;margin-bottom:.5rem}.lecture-card>p{font-size:.9688rem;line-height:1.6;color:var(--ink-3)}.lecture-dates{list-style:none;display:grid;grid-gap:.5rem;gap:.5rem;margin:1rem 0 1.25rem;font-size:.8125rem}.lecture-dates li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.lecture-card .btn{margin-top:auto;align-self:flex-start}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));grid-gap:1.25rem;gap:1.25rem;list-style:none}.product-card{padding:var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.product-card h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:.5rem}.product-card h3 a:hover{color:var(--ruby)}.product-card p{font-size:.9375rem;line-height:1.6}.product-price{font-size:.9375rem!important;color:var(--ink)!important;font-weight:500;margin-top:.9rem}.product-vat{font-size:.6875rem;font-weight:400}.stock-badge{display:inline-block;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.4rem}.stock-badge.is-out{color:var(--ruby)}.contact-block{font-style:normal;font-size:.9062rem;line-height:1.7;margin:1rem 0 2rem}.contact-block a{color:var(--ruby);text-decoration:underline;text-underline-offset:2px}.contact-layout h2{font-size:1.3rem}.contact-layout h3{font-family:var(--font-display);font-size:1.05rem;font-weight:500;margin:1.75rem 0 .5rem}.hours{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.875rem}.hours>div{display:flex;gap:1rem}.hours dt{color:var(--ink-3);min-width:9rem}.site-footer{margin-top:3rem;padding:5rem 0 3rem;border-top:1px solid var(--line-2);background:var(--paper-2);font-size:.9375rem;color:var(--ink-3)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));grid-gap:3.5rem;gap:3.5rem;padding-bottom:3.5rem;border-bottom:1px solid var(--line)}@media (max-width:860px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}.footer-mark{display:flex;flex-direction:column;line-height:1.15;margin-bottom:.75rem}.footer-mark span{font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ruby)}.footer-mark strong{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ink)}.footer-blurb{max-width:36ch;font-size:.9375rem;line-height:1.6}.footer-heading{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:.75rem}.site-footer ul{list-style:none;display:grid;grid-gap:.4rem;gap:.4rem}.site-footer a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.footer-address{font-style:normal;display:grid;grid-gap:.35rem;gap:.35rem;line-height:1.5}.footer-address strong{color:var(--ink);font-weight:500}.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-top:1.5rem;font-size:.75rem}.footer-bottom ul{display:flex;gap:1.25rem}:root{--dark-surface:#17110f;--dark-surface-2:#241a17;--on-dark:#f6f1e8;--on-dark-muted:#b8a99a}.band-hero{position:relative;isolation:isolate;background:var(--dark-surface);color:var(--on-dark);padding:clamp(6rem,16vh,11rem) 0 clamp(5rem,13vh,9rem);overflow:hidden}.hero-scrim{position:absolute;inset:0;z-index:-1;background:radial-gradient(90ch 60ch at 12% -10%,rgb(160 36 56/.5),transparent 62%),radial-gradient(70ch 50ch at 92% 108%,rgb(184 134 11/.22),transparent 60%)}.hero-scrim:after{content:"";position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E")}.hero-eyebrow{font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--on-dark-muted);margin-bottom:1.75rem}.band-hero h1{font-family:var(--font-display);font-size:clamp(2.9rem,7.5vw,6rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;max-width:16ch;margin-bottom:2rem}.hero-emphasis{display:block;font-style:italic;color:#e8a3b0}.hero-lede{font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.55;color:var(--on-dark-muted);max-width:52ch}.band-hero .hero-actions{margin-top:3rem}.btn-invert{background:var(--on-dark);border-color:var(--on-dark);color:var(--dark-surface);font-weight:600}.btn-invert:hover{background:#fff;border-color:#fff;color:var(--dark-surface)}.btn-ghost{background:transparent;border-color:rgb(246 241 232/.35);color:var(--on-dark)}.btn-ghost:hover{background:rgb(246 241 232/.1);border-color:var(--on-dark);color:var(--on-dark)}.band-dark :where(a,button):focus-visible,.band-hero :where(a,button):focus-visible{outline:2px solid var(--on-dark);outline-offset:3px}.band-feature{padding:clamp(4.5rem,10vh,8rem) 0}.band-tint{background:var(--paper-2)}.band-dark{background:var(--dark-surface);padding:clamp(4.5rem,10vh,8rem) 0}.band-dark,.band-dark .display,.band-dark h2{color:var(--on-dark)}.band-head{max-width:var(--measure);margin-bottom:3rem}.band-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;max-width:none}.band-lede{color:var(--ink-3);max-width:56ch;margin-top:.75rem}.band-lede,.band-lede-invert{font-size:1.2rem;line-height:1.6}.band-lede-invert{color:var(--on-dark-muted);max-width:52ch;margin-top:1rem}.eyebrow-invert{font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#e8a3b0;margin-bottom:1rem}.display{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:400;line-height:1.06;letter-spacing:-.025em}.band-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(2.5rem,6vw,6rem);gap:clamp(2.5rem,6vw,6rem);align-items:center}.band-split-wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}@media (max-width:900px){.band-split,.band-split-wide{grid-template-columns:1fr;gap:3rem}}.band-cta{text-align:center}.band-cta .display{max-width:18ch;margin:0 auto}.band-lede-center{margin-left:auto;margin-right:auto}.hero-actions-center{justify-content:center}.sense-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));grid-gap:1.25rem;gap:1.25rem;list-style:none}.sense-tile{display:flex;flex-direction:column;height:100%;padding:2.25rem 1.85rem 1.85rem;border:1px solid var(--line-2);border-radius:18px;background:var(--paper-2);transition:border-color .2s,box-shadow .2s,transform .2s}.sense-tile:hover{border-color:var(--ruby);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.sense-tile-mark{color:var(--ruby);margin-bottom:1.5rem}.sense-tile h3{font-family:var(--font-display);font-size:1.7rem;font-weight:400;letter-spacing:-.015em;margin-bottom:.35rem}.sense-tile-tagline{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}.sense-tile-domains{font-size:.8125rem;color:var(--ink-3);margin-top:.9rem}.sense-tile-cta{margin-top:auto;padding-top:1.5rem;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ruby);font-weight:600}.figure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2.5rem 2rem;gap:2.5rem 2rem;border-top:1px solid rgb(246 241 232/.16);padding-top:2.5rem}.figure-list dt{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:.5rem}.figure-list dd{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;color:var(--on-dark)}.tool-list{list-style:none;display:grid;grid-gap:0;gap:0;margin:2.5rem 0;border-top:1px solid var(--line)}.tool-list li{display:grid;grid-template-columns:11rem minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.tool-list strong{font-weight:500;font-size:1rem}.tool-list span{font-size:.9375rem;line-height:1.55;color:var(--ink-3)}@media (max-width:640px){.tool-list li{grid-template-columns:1fr;gap:.25rem}}.product-shot{padding:2rem 1.75rem 1.5rem;border:1px solid var(--line-2);border-radius:18px;background:var(--paper-2);box-shadow:var(--shadow-lg)}.matrix-preview{width:100%;height:auto;overflow:visible}.matrix-preview-dot{stroke:var(--paper-2);stroke-width:2}.matrix-preview-label{fill:var(--ink-3);font-size:.6875rem}.matrix-preview-axis{fill:var(--ink-3);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase}.product-shot figcaption{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--ink-3);text-align:center}:root{--a11y-scale:1}html{font-size:calc(106.25% * var(--a11y-scale))}.a11y-bar{background:var(--paper-3);border-bottom:1px solid var(--line-2)}.a11y-bar-inner{display:flex;justify-content:flex-end;gap:.4rem;padding-top:.4rem;padding-bottom:.4rem;flex-wrap:wrap}.a11y-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:36px;font:inherit;font-size:.8125rem;color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:999px;padding:.3rem .85rem;cursor:pointer}.a11y-btn:hover{background:var(--paper);border-color:var(--line-2)}.a11y-btn[aria-pressed=true]{background:var(--paper);border-color:var(--ruby);color:var(--ink);font-weight:500}.a11y-glyph{font-size:.75rem;color:var(--ruby);font-weight:700}.a11y-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.75rem}:root[data-contrast=high]{--paper:#ffffff;--paper-2:#f2f2f2;--paper-3:#e6e6e6;--ink:#000000;--ink-2:#111111;--ink-3:#303030;--line:rgb(0 0 0/0.35);--line-2:rgb(0 0 0/0.55);--ruby:#8a0f24;--ruby-2:#6d0c1d;--ruby-3:#a3162e;--ruby-bg:rgb(138 15 36/0.1);--green:#14532d;--viz-grid:rgb(0 0 0/0.3);--viz-axis:rgb(0 0 0/0.75);--dark-surface:#000000;--dark-surface-2:#111111;--on-dark:#ffffff;--on-dark-muted:#e0e0e0}:root[data-contrast=high] .footer-grid a,:root[data-contrast=high] .post-item a,:root[data-contrast=high] .prose a,:root[data-contrast=high] .session-row{text-decoration:underline;text-underline-offset:2px}:root[data-contrast=high] .card,:root[data-contrast=high] .course-card,:root[data-contrast=high] .lecture-card,:root[data-contrast=high] .post-card,:root[data-contrast=high] .product-card,:root[data-contrast=high] .sense-tile{border-width:2px}:root[data-contrast=high] .hero-scrim{display:none}.practical{margin-top:2.5rem;padding:1.75rem 1.9rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.practical h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin-bottom:1rem}.practical dl{display:grid;grid-gap:.75rem;gap:.75rem}.practical dl>div{display:grid;grid-template-columns:11rem minmax(0,1fr);grid-gap:1rem;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.practical dl>div:last-child{padding-bottom:0;border-bottom:none}.practical dt{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.practical dd{font-size:.9688rem;color:var(--ink-2)}@media (max-width:600px){.practical dl>div{grid-template-columns:1fr;gap:.15rem}}.session-picker{display:grid;grid-gap:.6rem;gap:.6rem;border:none}.session-option{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.85rem;gap:.85rem;align-items:start;padding:1rem 1.1rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);cursor:pointer;transition:border-color .15s,box-shadow .15s}.session-option:hover{border-color:var(--ruby)}.session-option.is-chosen{border-color:var(--ruby);box-shadow:0 0 0 1px var(--ruby);background:var(--ruby-bg)}.session-option.is-full{opacity:.55;cursor:not-allowed}.session-option input{margin-top:.25rem;width:auto;accent-color:var(--ruby)}.session-option-body{display:grid;grid-gap:.2rem;gap:.2rem;justify-items:start}.session-option-date{font-weight:500;font-size:.9688rem;color:var(--ink)}.session-option-meta{font-size:.8438rem;color:var(--ink-3)}.session-option .seat-badge{margin-top:.35rem}.cart-link{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.3rem .75rem;border-radius:999px;color:var(--ink-3);border:1px solid transparent}.cart-link:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line-2)}.cart-glyph{color:var(--ruby);font-size:.9375rem}.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;font-weight:700}@media (max-width:1080px){.cart-label{display:none}}.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:900px){.cart-layout,.checkout-layout{grid-template-columns:1fr;gap:2.5rem}}.cart-empty{display:grid;grid-gap:1.5rem;gap:1.5rem;justify-items:start;padding:3rem 0}.cart-empty p{font-size:1.15rem;color:var(--ink-3)}.cart-table{width:100%;border-collapse:collapse;font-size:.9375rem}.cart-table td,.cart-table th{text-align:left;padding:1.1rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}.cart-table thead th{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.cart-table tbody th{font-weight:500}.cart-table tbody th a:hover{color:var(--ruby);text-decoration:underline}.cart-variant{display:block;font-size:.8125rem;font-weight:400;color:var(--ink-3)}.cart-table .numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cart-qty{width:4.5rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:8px;padding:.45rem .5rem;text-align:center}.link-button{color:var(--ruby);background:none;border:none;padding:.4rem 0;text-decoration:underline;text-underline-offset:2px}.cart-summary{position:-webkit-sticky;position:sticky;top:96px;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);padding:1.85rem}.cart-summary h2{font-family:var(--font-display);font-size:1.35rem;margin-bottom:1.25rem}.cart-summary dl{display:grid;grid-gap:.6rem;gap:.6rem;margin-bottom:1.5rem;font-size:.9375rem}.cart-summary dl>div{display:flex;justify-content:space-between;gap:1rem}.cart-summary dt{color:var(--ink-3)}.cart-summary dd{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cart-total{padding-top:.8rem;border-top:1px solid var(--line-2);font-size:1.15rem}.cart-total dt{color:var(--ink)!important;font-weight:500}.cart-total dd{font-family:var(--font-display);font-size:1.4rem}.cart-summary .btn+.btn{margin-top:.6rem}.checkout-lines{list-style:none;display:grid;grid-gap:.75rem;gap:.75rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line);font-size:.875rem}.checkout-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:.75rem;gap:.75rem;align-items:baseline}.checkout-line-price,.checkout-line-qty{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap}.checkout-line-price{color:var(--ink)}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-gap:1rem;gap:1rem}.checkbox-row{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;font-size:.9062rem!important;font-weight:400!important;padding:.35rem 0}.checkout-done{max-width:46rem;padding:2.5rem;border:1px solid var(--green);border-radius:16px;background:var(--paper-2)}.checkout-done h2{font-family:var(--font-display);color:var(--green);margin-bottom:.5rem}.order-facts{display:flex;flex-wrap:wrap;gap:2.5rem;margin:1.75rem 0;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-facts dt{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem}.order-facts dd{font-family:var(--font-display);font-size:1.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.buy-status:empty{display:none}.buy-status{display:grid;grid-gap:.6rem;gap:.6rem}.buy-status-text{font-size:.875rem;color:var(--green);font-weight:500}.wizard-steps{display:flex;gap:0;list-style:none;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.wizard-step button{display:flex;align-items:center;gap:.5rem;font:inherit;font-size:.8125rem;color:var(--ink-3);background:none;border:none;border-bottom:2px solid transparent;padding:.6rem .9rem;cursor:pointer}.wizard-step button:disabled{cursor:default;opacity:.55}.wizard-step-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid var(--line-2);font-size:.6875rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wizard-step.is-current button{color:var(--ink);font-weight:600;border-bottom-color:var(--ruby)}.wizard-step.is-current .wizard-step-number{background:var(--ruby);border-color:var(--ruby);color:var(--paper)}.wizard-step.is-done .wizard-step-number{background:var(--green);border-color:var(--green);color:var(--paper)}.wizard-chosen{display:grid;grid-gap:.4rem;gap:.4rem;padding:.9rem 1rem;margin-bottom:1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:.8438rem}.wizard-chosen>div{display:flex;gap:.75rem}.wizard-chosen dt{color:var(--ink-3);min-width:5.5rem}.wizard-heading{font-family:var(--font-display);font-size:1.2rem;font-weight:500;margin-bottom:1rem}.wizard-heading:focus{outline:none}.wizard-hint{font-size:.8438rem;color:var(--ink-3);margin-bottom:1rem}.seat-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-gap:.5rem;gap:.5rem;list-style:none}.seat-choice{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:100%;min-height:62px;font:inherit;color:var(--ink-2);background:var(--paper);border:1px solid var(--line-2);border-radius:10px;padding:.6rem .3rem;cursor:pointer}.seat-choice.is-chosen,.seat-choice:hover{border-color:var(--ruby)}.seat-choice.is-chosen{box-shadow:0 0 0 1px var(--ruby);background:var(--ruby-bg)}.seat-choice-number{font-family:var(--font-display);font-size:1.35rem;line-height:1;color:var(--ink)}.seat-choice-label{font-size:.6875rem;color:var(--ink-3)}.wizard-review-list{display:grid;grid-gap:.6rem;gap:.6rem;font-size:.9062rem}.wizard-review-list>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.wizard-review-list dt{color:var(--ink-3)}.wizard-review-total{border-bottom:none!important;padding-top:.4rem;font-size:1.1rem}.wizard-review-total dd{font-family:var(--font-display);font-size:1.35rem}.wizard-added:empty{display:none}.wizard-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 .75rem}.wizard-actions .btn{flex:1 1 auto;justify-content:center}.account-link{gap:.4rem;min-height:40px;padding:.3rem .8rem;border-radius:999px;color:var(--ink-3)}.account-link:hover{border-color:var(--ruby)}.account-link.is-placeholder{width:88px;border-color:transparent}.account-link.is-signed-in{color:var(--ink)}@media (max-width:1080px){.account-name{display:none}}.login-shell{max-width:480px}.login-form{margin-top:2rem}.login-links{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--ink-3)}.login-links a{color:inherit;text-underline-offset:3px}.login-links a:hover{color:var(--ink-1)}.form-note>p:last-child{margin-bottom:0}.form-note h2{margin:0 0 .5rem;font-size:var(--text-lg)}.portal-head{background:var(--paper-2)}.portal-head-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.portal-user{text-align:right;padding:1rem 1.25rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper)}.portal-user-name{font-weight:500}.portal-user-role{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ruby);margin-bottom:.5rem}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:1000px){.admin-layout{grid-template-columns:1fr;gap:2.5rem}}.admin-form{position:-webkit-sticky;position:sticky;top:96px;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);padding:1.85rem}.admin-form h2{font-family:var(--font-display);font-size:1.3rem;margin-bottom:1.25rem}.admin-status:empty{display:none}.admin-status{padding:.7rem 1rem;margin-bottom:1.25rem;border:1px solid var(--green);border-radius:10px;background:var(--paper-2);font-size:.875rem;color:var(--green);font-weight:500}.admin-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.data-table tr.is-inactive td,.data-table tr.is-inactive th{opacity:.55}.admin-course-list{list-style:none;display:grid;grid-gap:1rem;gap:1rem}.admin-course{padding:1.5rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.admin-course header{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.admin-course h3{font-family:var(--font-display);font-size:1.3rem;font-weight:500}.admin-sessions{list-style:none;display:grid;grid-gap:.5rem;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.875rem}.admin-sessions li{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.admin-session-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.admin-session-form h4{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.cert-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));grid-gap:1rem;gap:1rem}.cert-card{padding:1.5rem;border:1px solid var(--gold);border-radius:14px;background:var(--paper-2)}.cert-card h3{font-family:var(--font-display);font-size:1.2rem;margin-bottom:1rem}.cert-card dl{display:grid;grid-gap:.4rem;gap:.4rem;font-size:.8438rem}.cert-card dl>div{display:flex;justify-content:space-between;gap:1rem}.cert-card dt{color:var(--ink-3)}.cert-card dd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.7812rem}.portal-nav{border-bottom:1px solid var(--line-2);background:var(--paper-2);position:-webkit-sticky;position:sticky;top:0;z-index:20}.portal-nav ul{list-style:none;display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}.portal-nav ul::-webkit-scrollbar{display:none}.portal-nav a{display:block;padding:.95rem 1.15rem;font-size:var(--text-sm);white-space:nowrap;color:var(--ink-3);border-bottom:2px solid transparent;text-decoration:none}.portal-nav a:hover{color:var(--ink);background:var(--paper-3)}.portal-nav a[aria-current=page]{color:var(--ruby);border-bottom-color:var(--ruby);font-weight:500}.portal-stack{display:grid;grid-gap:var(--space-block);gap:var(--space-block)}.portal-panel{padding:var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.portal-panel>h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.35rem}.account-menu{position:relative}.account-menu>summary{list-style:none;cursor:pointer}.account-menu>summary::-webkit-details-marker{display:none}.account-menu-panel{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;padding:.75rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-lg);z-index:40}.account-menu-email{font-size:.7812rem;color:var(--ink-3);padding:0 .5rem .5rem;border-bottom:1px solid var(--line);margin-bottom:.5rem;overflow-wrap:anywhere}.account-menu-panel ul{list-style:none;display:grid;grid-gap:.15rem;gap:.15rem}.account-menu-panel a,.account-menu-panel button{display:block;width:100%;text-align:left;padding:.5rem;border:0;border-radius:8px;background:none;font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;text-decoration:none}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--paper-3)}.filter-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin:1.5rem 0 1rem}.filter-row .field{min-width:220px}.table-scroll{overflow-x:auto}.cell-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.7812rem}.person-cell{display:flex;align-items:center;gap:.75rem}.person-cell img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}.person-cell>span{display:grid}.person-cell .muted{font-size:.7812rem}tr.row-inactive td,tr.row-inactive th{opacity:.55}.stat-row{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.25rem 0;font-size:var(--text-sm);color:var(--ink-3)}.stat-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.stat-cards a{container-type:inline-size;min-width:0;display:grid;grid-gap:.35rem;gap:.35rem;padding:1.5rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);text-decoration:none;color:inherit}.stat-cards a:hover{border-color:var(--ruby)}.stat-cards strong{font-family:var(--font-display);font-size:clamp(1.25rem,15cqi,2rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:400;line-height:1.05}.stat-cards span{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.order-list,.review-list,.ticket-list{list-style:none;display:grid;grid-gap:1rem;gap:1rem}.order-card,.review-card,.ticket-card{padding:var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.order-card h3,.review-card h3,.ticket-card h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin:.35rem 0}.review-card p,.ticket-card p{max-width:var(--measure)}.field-inline{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.field-inline label{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0}.rating{color:var(--gold);letter-spacing:.1em}.review-reply{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.order-lines{list-style:none;display:grid;grid-gap:.35rem;gap:.35rem;font-size:var(--text-sm);margin:.75rem 0}.order-total{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-weight:500}.refund-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.course-admin-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));grid-gap:1.25rem}.course-admin-card{border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2);overflow:hidden;height:100%}.course-admin-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.course-admin-card>div{padding:1.25rem}.course-admin-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.image-preview{margin-top:.75rem;max-width:320px;width:100%;border-radius:10px;border:1px solid var(--line-2)}.field-list{display:grid;grid-gap:.5rem;gap:.5rem;margin:1.25rem 0;padding:0;list-style:none;counter-reset:field}.field-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.settings-form fieldset{border:1px solid var(--line-2);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.settings-form legend{padding:0 .5rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ruby)}.btn-danger{border-color:var(--ruby-2);color:var(--ruby-2)}.btn-danger:hover{background:var(--ruby-bg)}.points-total{font-family:var(--font-display);font-size:var(--text-2xl);margin:1rem 0}.points-scale{margin-bottom:1.5rem;font-size:var(--text-sm);color:var(--ink-3)}.points-scale summary{cursor:pointer}.points-list,.qualification-courses,.qualification-list{list-style:none;display:grid;grid-gap:.85rem;gap:.85rem}.points-row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.points-value{font-family:var(--font-display);font-size:var(--text-lg)}.points-bar{display:block;height:6px;border-radius:3px;background:var(--paper-3);overflow:hidden;margin:.35rem 0}.points-bar span{display:block;height:100%;background:var(--ruby-2)}.badge-pass{border-color:var(--green);color:var(--green)}.qualification-card{padding:var(--space-card);border:1px solid var(--gold);border-radius:14px;background:var(--paper-2)}.qualification-card h4{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:.35rem}.qualification-courses{margin:1rem 0;gap:.4rem;font-size:var(--text-sm)}.qualification-courses li{display:flex;justify-content:space-between;gap:1rem}.qualification-award{font-weight:500;color:var(--green)}.profile-avatar{border-radius:50%;object-fit:cover;margin-bottom:1rem}.form-note{padding:var(--space-card);border:1px solid var(--green);border-radius:14px;background:var(--paper-2)}.form-foot{margin-top:1.25rem;font-size:var(--text-sm);color:var(--ink-3)}.multi-select{min-width:240px;position:relative}.multi-select-label{display:block;margin-bottom:.4rem;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.multi-select>details>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);font-size:var(--text-base);cursor:pointer;list-style:none}.multi-select>details>summary::-webkit-details-marker{display:none}.multi-select>details[open]>summary{border-color:var(--ruby)}.multi-select-caret{color:var(--ink-3);font-size:.75rem}.multi-select-panel{position:absolute;z-index:30;left:0;right:0;margin-top:.35rem;padding:.6rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto}.multi-select-panel fieldset{border:0;padding:0;display:grid;grid-gap:.15rem;gap:.15rem}.multi-select-option{display:flex;align-items:center;gap:.65rem;padding:.5rem;border-radius:8px;cursor:pointer;font-size:var(--text-sm)}.multi-select-option:hover{background:var(--paper-3)}.multi-select-option:focus-within{outline:2px solid var(--ruby);outline-offset:-2px}.multi-select-option img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none}.multi-select-option>span{display:grid}.multi-select-option .muted{font-size:.75rem}:root{--surface:#ffffff;--surface-2:#faf8f4;--control-h:44px;--radius-sm:10px;--radius-lg:16px;--elev-1:0 1px 2px rgb(28 26 23/0.06),0 1px 3px rgb(28 26 23/0.04);--elev-2:0 4px 6px -1px rgb(28 26 23/0.07),0 10px 24px -6px rgb(28 26 23/0.12);--ring:0 0 0 3px rgb(122 26 46/0.18)}[data-theme=dark]{--surface:#1d1915;--surface-2:#241f19;--elev-1:0 1px 2px rgb(0 0 0/0.4);--elev-2:0 4px 6px -1px rgb(0 0 0/0.5),0 10px 24px -6px rgb(0 0 0/0.6);--ring:0 0 0 3px rgb(201 64 96/0.28)}:root[data-contrast=high]{--surface:#ffffff;--surface-2:#f7f7f7;--ring:0 0 0 3px rgb(138 15 36/0.45)}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form select,.booking-form textarea,.field input:not([type]),.field input[type=date],.field input[type=datetime-local],.field input[type=email],.field input[type=number],.field input[type=password],.field input[type=search],.field input[type=tel],.field input[type=text],.field input[type=url],.field select,.field textarea{width:100%;font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.65rem .85rem;min-height:var(--control-h);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.booking-form select,.field select{background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:right 1.05rem center,right .8rem center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.25rem}.booking-form textarea,.field textarea{min-height:6rem;resize:vertical;line-height:1.5}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3)}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--ruby);box-shadow:var(--ring)}.field input[readonly]{background:var(--paper-3);color:var(--ink-3)}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--ink-3) 65%,transparent)}.field>label,.field>span,.multi-select-label{font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-2);margin-bottom:.4rem}.field-hint{font-size:.7812rem;color:var(--ink-3);margin-top:.4rem}.field{gap:0}.multi-select>details>summary{min-height:var(--control-h);border-radius:var(--radius-sm);background:var(--surface);padding:.65rem .85rem}.multi-select>details>summary:focus-visible{outline:none;border-color:var(--ruby);box-shadow:var(--ring)}.filter-row{align-items:end;gap:1rem;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.btn{border-radius:var(--radius-sm);min-height:var(--control-h);font-size:.9375rem;font-weight:500;color:var(--ink-2);box-shadow:var(--elev-1)}.btn,.btn:hover{background:var(--surface)}.btn:hover{border-color:var(--ink-3);color:var(--ink)}.btn-primary{box-shadow:var(--elev-1)}.btn-primary:hover{box-shadow:var(--elev-2)}.btn:focus-visible,.icon-btn:focus-visible,.link-button:focus-visible{outline:none;box-shadow:var(--ring)}.link-button{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.875rem;font-weight:500;color:var(--ruby-2);background:transparent;border:1px solid transparent;border-radius:8px;padding:.35rem .6rem;margin:0 -.6rem;text-decoration:none;cursor:pointer}.link-button:hover{background:var(--ruby-bg);color:var(--ruby);text-decoration:none}.site-header{background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line)}.site-header-inner{height:68px;gap:1.5rem}.site-header-tools{gap:.35rem}.tool-group{display:flex;align-items:center;gap:.15rem;margin-left:.35rem;padding-left:.6rem;border-left:1px solid var(--line-2)}.icon-btn{width:38px;height:38px;min-height:38px;border-radius:var(--radius-sm);border-color:transparent;background:transparent;box-shadow:none;color:var(--ink-3)}.icon-btn:hover{background:var(--paper-3);border-color:transparent;color:var(--ink)}.nav-link{font-size:.9375rem;padding:.5rem .75rem;border-radius:var(--radius-sm)}.nav-link[aria-current=page]{background:var(--ruby-bg);color:var(--ruby);box-shadow:none;border-radius:var(--radius-sm)}.account-link{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:0 .85rem;border:1px solid var(--line-2);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--ink-2);background:var(--surface);text-decoration:none}.account-link:hover{border-color:var(--ink-3);color:var(--ink)}.account-glyph{color:var(--green);font-size:.6875rem}.a11y-menu{position:relative}.a11y-menu>summary{list-style:none;cursor:pointer;position:relative}.a11y-menu>summary::-webkit-details-marker{display:none}.a11y-icon{display:grid;place-items:center}.a11y-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--ruby-2)}.a11y-panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:40;min-width:250px;display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-2)}.a11y-panel-title{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:0 .5rem .5rem;border-bottom:1px solid var(--line);margin-bottom:.35rem}.a11y-panel .a11y-btn{justify-content:flex-start;width:100%;border-radius:8px;padding:.55rem .6rem}.a11y-panel .a11y-value{margin-left:auto}.admin-course,.cert-card,.course-admin-card,.order-card,.portal-panel,.qualification-card,.review-card,.ticket-card{background:var(--surface);border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.course-admin-card:hover{box-shadow:var(--elev-2);border-color:var(--line-2);transform:translateY(-2px)}.course-admin-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1.25rem}.course-admin-card,.course-admin-card>div{display:flex;flex-direction:column}.course-admin-card>div{gap:.4rem;flex:1 1;padding:1.15rem 1.25rem 1.25rem}.course-admin-card h3{font-size:1.125rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-admin-card .muted{font-size:.8125rem}.course-admin-card .link-button{margin-top:auto;align-self:flex-start}.portal-head{padding:2rem 0 1.5rem;background:linear-gradient(180deg,var(--surface-2),var(--paper));border-bottom:1px solid var(--line)}.portal-head h1{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:.35rem}.portal-head .lede{font-size:var(--text-base);max-width:56ch;margin:0}.portal-head-row{align-items:center;gap:2rem}.portal-user{display:flex;align-items:center;gap:1rem;padding:.6rem .9rem;border-radius:var(--radius-lg);background:var(--surface);border-color:var(--line);box-shadow:var(--elev-1);text-align:left}.portal-user-role{margin-bottom:0;font-size:.6875rem}.portal-nav{box-shadow:var(--elev-1)}.data-table,.portal-nav{background:var(--surface)}.data-table{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;border-collapse:separate;border-spacing:0}.data-table thead th{background:var(--surface-2);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:.85rem 1rem;border-bottom:1px solid var(--line-2)}.data-table tbody th,.data-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:0}.badge,.data-table tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;line-height:1;padding:.32rem .6rem;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap}.badge-paid,.badge-pass,.badge-published{border-color:color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green)}.badge-cancelled,.badge-dispute,.badge-escalated,.badge-failed,.badge-refunded{border-color:color-mix(in srgb,var(--ruby-2) 45%,transparent);background:color-mix(in srgb,var(--ruby-2) 8%,var(--surface));color:var(--ruby-2)}.badge-pending,.badge-waiting{border-color:color-mix(in srgb,var(--gold) 50%,transparent);background:color-mix(in srgb,var(--gold) 10%,var(--surface));color:var(--gold)}.stat-cards a{background:var(--surface);border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1);transition:box-shadow .18s ease,transform .18s ease}.stat-cards a:hover{box-shadow:var(--elev-2);transform:translateY(-2px)}.stat-row{gap:.75rem;padding:0}.stat-row li{padding:.5rem .9rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:.8438rem}.admin-form,.stat-row li{background:var(--surface)}.admin-form{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.admin-status{background:color-mix(in srgb,var(--green) 8%,var(--surface))}.admin-status,.form-errors{border-radius:var(--radius-sm)}.lang-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--paper-3)}.lang-option{font:inherit;font-size:.7188rem;font-weight:600;letter-spacing:.06em;color:var(--ink-3);background:transparent;border:0;border-radius:7px;padding:.32rem .5rem;cursor:pointer;transition:background-color .15s,color .15s}.lang-option:hover{color:var(--ink)}.lang-option[aria-current=true]{background:var(--surface);color:var(--ink);box-shadow:var(--elev-1)}.cart-link{min-height:38px;padding:0 .85rem;border-radius:var(--radius-sm);font-size:.875rem;color:var(--ink-2)}.cart-link:hover{background:var(--paper-3)}.cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ruby);color:var(--paper);font-size:.6875rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seat-list{grid-gap:.6rem;gap:.6rem;margin-top:1rem;padding:0}.seat-card{padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);transition:box-shadow .18s ease,border-color .18s ease}.seat-card:hover{box-shadow:var(--elev-2);border-color:var(--line-2)}.seat-card.is-full{background:var(--surface-2);box-shadow:none}.seat-card h3{font-size:1.15rem;margin-bottom:.2rem}.seat-card .muted{font-size:.8125rem}.seat-card-numbers{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-left:auto}.seat-price{font-family:var(--font-display);font-size:1.25rem;white-space:nowrap}.seat-price .muted{font-family:var(--font-body);font-size:.7812rem}.seat-finder-summary{margin-top:1.25rem;font-size:.8438rem}.seat-finder-summary:empty{display:none}.page-head{padding:2.25rem 0 1.75rem}.page-head h1{margin-bottom:.5rem}.page-head .lede{margin-bottom:0}.band-feature{padding-top:var(--space-block)}.chip{gap:.5rem;background:var(--surface);box-shadow:var(--elev-1)}.chip .sense-mark,.chip [aria-hidden=true]{opacity:.65}.chip.is-active{box-shadow:var(--elev-1)}.chip.is-active [aria-hidden=true]{opacity:.9}.chip-row,.filter-chips{gap:.6rem}.seat-finder h2{font-family:var(--font-display);font-size:var(--text-2xl)}.seat-finder-summary{font-size:var(--text-sm);color:var(--ink-3);margin-bottom:1rem;min-height:1.4em}.seat-list{list-style:none;display:grid;grid-gap:.75rem;gap:.75rem}.seat-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:1.25rem var(--space-card);border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.seat-card.is-full{opacity:.7;border-style:dashed}.seat-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.seat-card h3 a{color:inherit;text-decoration:none}.seat-card h3 a:hover{text-decoration:underline}.seat-card-numbers{text-align:right;display:grid;grid-gap:.35rem;gap:.35rem;justify-items:end}.seat-price strong{font-family:var(--font-display);font-size:var(--text-lg)}.code-row{display:flex;gap:.6rem}.code-row input{flex:1 1;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.04em}.code-applied{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.8rem 1rem;margin-bottom:.75rem;border:1px solid var(--green);border-radius:10px;background:var(--paper-2);font-size:var(--text-sm)}.cost-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:1rem;gap:1rem;margin:1.25rem 0;padding:1.25rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper)}.cost-summary dt{font-size:.7812rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.cost-summary dd{font-family:var(--font-display);font-size:var(--text-lg);margin-top:.2rem}.cost-list{list-style:none;display:grid;grid-gap:.5rem;gap:.5rem;margin-bottom:1.5rem}.cost-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.cost-amount{font-family:var(--font-display);font-size:var(--text-lg);margin-left:auto;margin-right:1rem}.stat-plain{container-type:inline-size;min-width:0;display:grid;grid-gap:.35rem;gap:.35rem;padding:1.5rem;border:1px solid var(--line-2);border-radius:14px;background:var(--paper-2)}.stat-plain strong{font-family:var(--font-display);font-size:clamp(1.125rem,13cqi,1.6rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:400;line-height:1}.stat-plain span{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.is-loss{color:var(--ruby-2)}.is-profit{color:var(--green)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(min(255px,100%),1fr));gap:1.5rem}.product-card{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.product-card:hover{box-shadow:var(--elev-2);border-color:var(--line-2);transform:translateY(-2px)}.product-media{display:block;aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.image-fallback{display:block;background:var(--surface-2);border-radius:inherit;flex:none}.course-row-school{margin-top:.35rem;font-size:.9375rem}.course-row-school a{color:var(--ruby);font-weight:500}.product-media .image-fallback{width:100%;height:100%}.product-card:hover .product-media img{transform:scale(1.03)}.product-body{display:flex;flex-direction:column;gap:.45rem;flex:1 1;padding:1.15rem 1.25rem 1.35rem}.product-card h3{font-size:1.1rem;line-height:1.3;margin:0}.product-card h3 a{text-decoration:none;color:inherit}.product-card p{font-size:.8438rem;color:var(--ink-3);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-family:var(--font-display);font-size:1.35rem;color:var(--ink);margin-top:.35rem;-webkit-line-clamp:unset;display:block}.product-vat{font-family:var(--font-body);font-size:.75rem;color:var(--ink-3)}.stock-badge{font-size:.75rem;letter-spacing:.04em;color:var(--green);display:block}.stock-badge.is-out{color:var(--ruby-2)}.product-cta{margin-top:auto;justify-content:center;text-decoration:none}.band+.band{padding-top:var(--space-block)}.band:has(.course-grid),.band:has(.product-grid){padding-top:3rem;padding-bottom:3rem}.band:has(.course-grid) h2,.band:has(.product-grid) h2{margin-bottom:1.5rem}.stat-static{display:grid;grid-gap:.35rem;gap:.35rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.stat-static strong{font-family:var(--font-display);font-size:1.75rem;font-weight:400;line-height:1}.stat-static span:last-child{font-size:.7812rem;letter-spacing:.04em;color:var(--ink-3)}.money.is-loss,.stat-static.is-loss strong{color:var(--ruby-2)}.money.is-profit,.stat-static.is-profit strong{color:var(--green)}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.panel-head h2{margin-bottom:.25rem}.panel-head .muted{margin:0;max-width:60ch}.course-form,.session-form{max-width:780px}.session-form{margin:1.5rem 0;padding:1.5rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2)}.danger-panel{border-color:color-mix(in srgb,var(--ruby-2) 35%,var(--line))}.danger-panel h2{color:var(--ruby-2)}.validity-choice{border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:1rem 1.15rem;margin-bottom:1rem;display:grid;grid-gap:.5rem;gap:.5rem}.validity-choice legend{padding:0 .4rem;font-size:.8125rem;font-weight:500;color:var(--ink-2)}.inline-number{width:5rem;min-height:36px;padding:.3rem .5rem;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);font:inherit;font-size:.875rem;text-align:center}.code-filter{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.code-filter h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.35rem}.code-filter-form{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:1.25rem 0}.code-filter-form .field{min-width:240px}.code-result{padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--green) 40%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--green) 7%,var(--surface))}.code-result-head{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-weight:500;margin-bottom:.35rem}.code-terms{margin-top:.6rem;font-size:.7812rem;color:var(--ink-3);max-width:var(--measure)}.code-courses{margin-top:1.5rem}.band-classroom{padding:2rem 0 var(--space-section)}.classroom{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:960px){.classroom{grid-template-columns:minmax(0,1fr)}}.classroom-nav{position:-webkit-sticky;position:sticky;top:84px;max-height:calc(100vh - 108px);overflow-y:auto;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}@media (max-width:960px){.classroom-nav{position:static;max-height:none}}.classroom-nav ul{list-style:none;display:grid;grid-gap:.15rem;gap:.15rem;margin-bottom:1.25rem}.classroom-module{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:1rem 0 .5rem}.classroom-progress{padding-bottom:1rem;border-bottom:1px solid var(--line)}.classroom-progress-label{font-size:.8125rem;color:var(--ink-3);margin-bottom:.5rem}.progress-bar{height:6px;border-radius:3px;background:var(--paper-3);overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--ruby-2);transition:width .3s ease}.classroom-lesson{display:flex;align-items:flex-start;gap:.7rem;width:100%;text-align:left;padding:.6rem .7rem;border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-size:.875rem;color:var(--ink-2);cursor:pointer}.classroom-lesson:hover:not(:disabled){background:var(--paper-3)}.classroom-lesson.is-current{background:var(--ruby-bg);color:var(--ruby);font-weight:500}.classroom-lesson.is-locked{opacity:.55;cursor:not-allowed}.lesson-mark{flex:none;width:22px;text-align:center;color:var(--ink-3)}.classroom-lesson.is-current .lesson-mark{color:var(--ruby)}.lesson-text{display:grid;grid-gap:.15rem;gap:.15rem}.lesson-text .muted{font-size:.75rem}.classroom-main{display:grid;grid-gap:var(--space-block);gap:var(--space-block);min-width:0}.lesson-head h1{font-size:clamp(1.75rem,3vw,2.4rem);margin:.25rem 0 0}.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#000;box-shadow:var(--elev-2)}.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.transcript,.transcript-body{margin-top:.75rem}.transcript-body{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:.9062rem;line-height:1.7;max-height:22rem;overflow-y:auto;white-space:pre-wrap}.lesson-actions{display:flex;gap:1rem;flex-wrap:wrap}.quiz{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.quiz h2{font-family:var(--font-display);font-size:var(--text-2xl)}.quiz-list{list-style:none;display:grid;grid-gap:1.25rem;gap:1.25rem;margin:1.5rem 0;padding:0}.quiz-item{border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:1.5rem;background:var(--surface)}.quiz-item legend{display:flex;align-items:baseline;gap:.75rem;font-family:var(--font-display);font-size:1.2rem;padding:0 .4rem}.quiz-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--paper-3);font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--ink-3);flex:none}.quiz-item.is-right{border-color:var(--green);background:color-mix(in srgb,var(--green) 5%,var(--surface))}.quiz-item.is-wrong{border-color:var(--ruby-2);background:color-mix(in srgb,var(--ruby-2) 4%,var(--surface))}.quiz-options{grid-gap:.5rem;gap:.5rem;margin-top:1rem}.quiz-option{gap:.75rem;padding:.75rem 1rem;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:.9375rem}.quiz-option:hover{border-color:var(--ink-3)}.quiz-option:has(input:checked){border-color:var(--ruby);background:var(--ruby-bg)}.quiz-option.is-facit{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--surface))}.quiz-option input{flex:none}.quiz-option .badge{margin-left:auto}.quiz-image{max-width:420px;width:100%;border-radius:var(--radius-sm);margin:1rem 0 0}.quiz-explanation{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--ink-3)}.quiz-result{display:grid;grid-gap:.25rem;gap:.25rem;padding:1.5rem;border-radius:var(--radius-lg);margin:1.25rem 0;border:1px solid var(--line-2)}.quiz-result.is-pass{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--surface))}.quiz-result.is-fail{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--surface))}.quiz-score{font-family:var(--font-display);font-size:3rem;line-height:1}.quiz-score span{font-family:var(--font-body);font-size:.875rem;color:var(--ink-3)}.quiz-verdict{font-weight:500}.questions{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.questions h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.25rem}.question-form{margin:1.25rem 0}.question-form-options{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:.75rem}.question-form-options .btn{margin-left:auto}.question-list{list-style:none;display:grid;grid-gap:1rem;gap:1rem}.question-card{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.question-card header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.question-card header img{border-radius:50%;object-fit:cover;flex:none}.question-author{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.875rem}.question-body{max-width:var(--measure)}.question-answer{margin-top:1rem;padding:1rem 1.15rem;border-left:3px solid var(--ruby);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--ruby-bg)}.question-answer-head{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ruby);margin-bottom:.35rem}.builder-module{padding:1.25rem 1.5rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);margin-bottom:1rem}.builder-module header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:.85rem}.builder-module h3{font-family:var(--font-display);font-size:1.2rem;font-weight:500}.builder-lessons{display:grid;grid-gap:.4rem;gap:.4rem;margin:0;padding-left:1.5rem}.builder-lessons li{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.builder-module-form{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--line)}.builder-module-form .field{min-width:280px}.classroom-link{margin-bottom:1.25rem}.badge-online{margin-left:.6rem;vertical-align:middle;border-color:color-mix(in srgb,var(--ruby) 40%,transparent);background:var(--ruby-bg);color:var(--ruby)}.bottle-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(430px,100%),1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.bottle-card{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:1rem;gap:1rem;height:100%;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);transition:box-shadow .18s ease,border-color .18s ease}.bottle-card:hover{box-shadow:var(--elev-2);border-color:var(--line-2)}.bottle-media{display:grid;place-items:start center;height:132px;padding:.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.bottle-media img{max-height:100%;max-width:100%;object-fit:contain}.bottle-body{display:flex;flex-direction:column;gap:.3rem;min-width:0}.bottle-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:500;line-height:1.3}.bottle-vintage{color:var(--ink-3);font-family:var(--font-body);font-size:.8125rem}.bottle-subtitle{font-size:.875rem;color:var(--ink-2)}.bottle-taste{font-size:.8125rem;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.clocks{display:grid;grid-gap:.3rem;gap:.3rem;margin:.35rem 0}.clock{display:grid;grid-template-columns:4.5rem 1fr 1.25rem;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.7188rem;color:var(--ink-3)}.clock-bar{height:5px;border-radius:3px;background:var(--paper-3);overflow:hidden}.clock-bar span{display:block;height:100%;background:var(--ruby-2)}.clock-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bottle-food,.bottle-grapes{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.bottle-grapes a{font-size:.7812rem;color:var(--ruby-2);border-bottom:1px solid color-mix(in srgb,var(--ruby-2) 35%,transparent);text-decoration:none}.bottle-grapes a:hover{border-bottom-color:var(--ruby)}.bottle-price{margin-top:auto;padding-top:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:var(--font-display);font-size:1.2rem}.bottle-price .badge,.bottle-price .muted{font-family:var(--font-body)}.source-note{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.7812rem;color:var(--ink-3)}.bottle-media-empty{display:grid;place-items:center;width:100%;height:100%;background:var(--surface-2);color:var(--ink-3);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:.35rem}.matrix-bottle rect{fill:var(--ink-3);fill-opacity:.45;stroke:var(--paper);stroke-width:.75;cursor:pointer;transition:fill-opacity .15s ease}.matrix-bottle:hover rect{fill-opacity:.9}.matrix-bottle.is-selected rect{fill:var(--gold);fill-opacity:1;stroke:var(--ink);stroke-width:1}.filter-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin:1rem 0 .5rem}.filter-foot .checkbox-row,.filter-foot p{margin:0}.matrix-marquee{fill:rgb(122 26 46/.08);stroke:var(--ruby);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.matrix-region{fill:rgb(122 26 46/.06);stroke:var(--ruby-3);stroke-width:1;pointer-events:none}.load-more{display:flex;justify-content:center;margin-top:2rem}.selection-list{list-style:none;display:grid;grid-gap:.35rem;gap:.35rem;margin:.5rem 0 1.25rem;font-size:.8438rem}.selection-list li{padding-bottom:.35rem;border-bottom:1px solid var(--line)}.matrix-hint{margin:0 0 1rem}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:960px){.map-layout{grid-template-columns:minmax(0,1fr)}}.region-map{margin:0}.map-plot{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.map-outline{fill:var(--paper-3);stroke:var(--line-2);stroke-width:.75;stroke-linejoin:round}.map-dot{fill:var(--ruby-2);fill-opacity:.7;stroke:var(--surface);stroke-width:1;cursor:pointer;transition:fill-opacity .15s ease}.map-dot.level-macro{fill:var(--ruby);fill-opacity:.85}.map-dot.level-appellation,.map-dot.level-subzone{fill:var(--ruby-3)}.map-mark.is-active .map-dot,.map-mark:hover .map-dot{fill-opacity:1;stroke:var(--ink);stroke-width:1.5}.map-number{font-size:.6875rem;font-weight:700;fill:var(--paper);pointer-events:none}.map-label text{font-family:var(--font-body);font-size:.8125rem;font-weight:500;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3.5;stroke-linejoin:round;pointer-events:none}.map-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));grid-gap:.25rem;gap:.25rem;margin-top:.75rem;max-height:16rem;overflow-y:auto}.map-list-item{display:grid;grid-gap:.1rem;gap:.1rem;width:100%;text-align:left;padding:.45rem .6rem;border:0;border-radius:8px;background:none;font:inherit;font-size:.8438rem;color:var(--ink-2);cursor:pointer}.map-list-item:hover{background:var(--paper-3)}.map-list-item.is-selected{background:var(--ruby-bg);color:var(--ruby);font-weight:500}.map-list-item .muted{font-size:.7188rem}.map-panel{position:-webkit-sticky;position:sticky;top:84px;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.map-panel h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.35rem}.map-panel h4{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:1.25rem 0 .5rem}.map-grapes{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8125rem}.map-grapes .link-button,.map-grapes a{color:var(--ruby-2);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--ruby-2) 30%,transparent);padding:0;margin:0;font-size:.8125rem}.map-bottles{list-style:none;display:grid;grid-gap:.35rem;gap:.35rem;font-size:.8125rem}.map-bottles li{display:flex;justify-content:space-between;gap:1rem}.map-soils{font-size:.8125rem}.country-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));grid-gap:1rem;gap:1rem}.country-card{display:grid;grid-gap:.3rem;gap:.3rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);text-decoration:none;color:inherit;transition:box-shadow .18s ease,transform .18s ease}.country-card:hover{box-shadow:var(--elev-2);transform:translateY(-2px)}.country-card strong{font-family:var(--font-display);font-size:1.2rem;font-weight:500}.country-count{font-family:var(--font-display);font-size:2rem;line-height:1;color:var(--ruby)}.country-bar{display:block;height:5px;border-radius:3px;background:var(--paper-3);overflow:hidden;margin-top:.35rem}.country-bar span{display:block;height:100%;background:var(--ruby-2)}.blind-answers{list-style:none;display:grid;grid-gap:.6rem;gap:.6rem;margin:1rem 0 1.5rem;padding:0}.blind-answers label{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:.6rem;gap:.6rem;margin:0}.blind-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ruby);color:var(--paper);font-size:.75rem;font-weight:700}.blind-verdict{margin:.3rem 0 0 2.2rem;font-size:.7812rem}.blind-verdict.is-right{color:var(--green)}.blind-verdict.is-wrong{color:var(--ruby-2)}.blind-score{margin-bottom:.75rem}.blind-score,.trainer-count{font-family:var(--font-display);font-size:var(--text-xl)}.trainer-count{color:var(--ink-3);margin:0}.trainer-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.trainer-card h3{font-family:var(--font-display);font-size:var(--text-2xl);margin:.25rem 0 .75rem}.trainer-profile{list-style:none;display:grid;grid-gap:.4rem;gap:.4rem;margin:1.25rem 0;padding:1rem 1.15rem;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.875rem}.trainer-profile li{display:flex;justify-content:space-between;gap:1rem}.intensity{color:var(--ruby-2);letter-spacing:.15em}.trainer-guess{padding:.75rem 1rem;border-left:3px solid var(--line-2);margin:1rem 0}.trainer-answers{display:grid;grid-gap:1rem;gap:1rem;margin:1.25rem 0}.trainer-answer{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.trainer-recommendation{font-family:var(--font-display);font-size:var(--text-lg);margin:.2rem 0 .35rem}.deck-card{display:grid;align-content:center;grid-gap:.75rem;gap:.75rem;width:100%;min-height:320px;padding:var(--space-card);margin:1.5rem 0;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);font:inherit;text-align:left;cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease}.deck-card:hover{box-shadow:var(--elev-2);border-color:var(--ruby)}.deck-card.is-flipped{background:var(--surface-2)}.deck-face.is-name{text-align:center}.deck-face h3{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.1}.deck-facts{list-style:none;display:grid;grid-gap:.65rem;gap:.65rem}.deck-facts li{display:grid;grid-gap:.15rem;gap:.15rem}.deck-facts .muted{font-size:.7188rem;letter-spacing:.07em;text-transform:uppercase}.deck-hint{text-align:center;font-size:.75rem}.drill-path{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:.875rem;color:var(--ink-3)}.drill-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));grid-gap:.75rem;gap:.75rem}.drill-grid.is-tight{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.drill-item{display:grid;grid-gap:.2rem;gap:.2rem;width:100%;text-align:left;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.drill-item:hover{border-color:var(--ruby);box-shadow:var(--elev-1)}.drill-item strong{font-weight:500}.drill-item .muted{font-size:.75rem}.drill-detail{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:900px){.drill-detail{grid-template-columns:minmax(0,1fr)}}.drill-detail h3{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:.75rem}.drill-detail h4{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:1.5rem 0 .6rem}.drill-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.tool-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));grid-gap:1rem;gap:1rem;margin:2rem 0 3rem}.tool-card{display:grid;grid-gap:.35rem;gap:.35rem;height:100%;padding:1.35rem 1.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);text-decoration:none;color:inherit;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.tool-card:hover{box-shadow:var(--elev-2);border-color:var(--ruby);transform:translateY(-2px)}.tool-card strong{font-family:var(--font-display);font-size:1.15rem;font-weight:500}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;display:inline-grid;place-content:center;transition:background-color .12s ease,border-color .12s ease}input[type=checkbox]{border-radius:6px}input[type=radio]{border-radius:50%}input[type=checkbox]:hover:not(:disabled),input[type=radio]:hover:not(:disabled){border-color:var(--ink-3)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--ruby);border-color:var(--ruby)}input[type=checkbox]:before{content:"";width:11px;height:6px;border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:rotate(-45deg) translate(1px,-1px);opacity:0;transition:opacity .12s ease}input[type=checkbox]:checked:before{opacity:1}input[type=radio]:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--paper);transform:scale(0);transition:transform .12s ease}input[type=radio]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;border-color:var(--ruby);box-shadow:var(--ring)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.45;cursor:not-allowed}.checkbox-row input[type=checkbox],.checkbox-row input[type=radio]{margin-top:1px}.multi-select-option input,.quiz-option input{width:20px;height:20px}@media (forced-colors:active){input[type=checkbox],input[type=radio]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}}:root[data-contrast=high] input[type=checkbox],:root[data-contrast=high] input[type=radio]{border-width:2px;border-color:var(--ink)}.diagram-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:960px){.diagram-layout{grid-template-columns:minmax(0,1fr)}}.diagram-plot{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.diagram-edge{fill:none;stroke-linecap:round;opacity:.55}.diagram-edge.is-up{stroke:var(--green)}.diagram-edge.is-down{stroke:var(--ruby-2)}.arrow-up{fill:var(--green)}.arrow-down{fill:var(--ruby-2)}.diagram-node{cursor:pointer}.diagram-node circle{stroke:var(--surface);stroke-width:3;transition:stroke .15s ease}.diagram-node.is-focus circle,.diagram-node:hover circle{stroke:var(--ink)}.diagram-node text{font-family:var(--font-body);font-size:.8125rem;font-weight:600;fill:#fff;pointer-events:none;paint-order:stroke;stroke:rgb(0 0 0/.25);stroke-width:2.5}.diagram-panel{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.diagram-panel h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:.5rem}.diagram-panel h4{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:1.5rem 0 .6rem}.diagram-legend{list-style:none;display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:.8125rem}.diagram-legend li{display:flex;align-items:center;gap:.45rem}.legend-line{display:inline-block;width:26px;height:3px;border-radius:2px}.legend-line.is-up{background:var(--green)}.legend-line.is-down{background:var(--ruby-2)}.diagram-counterpart{font-size:.8125rem;color:var(--ink-3);white-space:pre-line;line-height:1.6}.diagram-edges,.diagram-pitfalls{list-style:none;display:grid;grid-gap:.5rem;gap:.5rem;font-size:.8125rem}.diagram-pitfalls li{display:grid;grid-gap:.15rem;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.diagram-table{margin-top:2rem}.diagram-table summary{cursor:pointer;font-size:.875rem;color:var(--ruby-2)}.diploma-card{padding:2.5rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1)}.diploma-card.is-valid{border-color:var(--green)}.diploma-card.is-invalid{border-color:var(--gold)}.diploma-verdict{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}.is-valid .diploma-verdict{color:var(--green)}.is-invalid .diploma-verdict{color:var(--gold)}.diploma-card h1{font-size:clamp(1.9rem,4vw,2.75rem);margin-bottom:.35rem}.diploma-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ruby);margin-bottom:1.5rem}.cert-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.field-error{margin:.35rem 0 0;font-size:.875rem;color:var(--danger,#a4243b)}.field-error:before{content:"⚠ ";speak:never}.field-help{margin:.35rem 0 0;font-size:.875rem;color:var(--ink-3)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger,#a4243b)}.field-saved{font-size:.875rem;color:var(--success,#2f6b4f);font-weight:500}.promo-slot{margin:1.5rem 0}.promo-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-gap:1rem;gap:1rem}.promo-card{display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;align-items:center;padding:1rem 1.15rem;border:1px dashed var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease}.promo-card:hover{border-color:var(--ruby);box-shadow:var(--elev-1)}.promo-media{display:block;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;flex:none}.promo-media .image-fallback,.promo-media img{width:100%;height:100%;object-fit:cover}.promo-body{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.promo-tag{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.promo-text{font-size:.9375rem;color:var(--ink-2)}.promo-by{font-size:.8125rem;color:var(--ink-3)}.newsletter{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:1.5rem;gap:1.5rem;align-items:start;padding:1.75rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--paper-2);margin:2rem 0}.newsletter h2{margin-top:0}.newsletter-form{display:grid;grid-gap:.75rem;gap:.75rem;max-width:26rem}.newsletter-done{font-weight:500;color:var(--success,#2f6b4f)}.newsletter-promo .promo-slot{margin:0}.quota-line{margin:.75rem 0 1.25rem;padding:.6rem .9rem;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.9375rem;color:var(--ink-2)}.quota-line.is-spent{background:var(--ruby-bg);color:var(--ruby);font-weight:500}.inline-decision{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.inline-decision input{width:7rem}.confirm-dialog{border:none;padding:0;background:transparent;max-width:min(30rem,calc(100vw - 2rem))}.confirm-dialog::-webkit-backdrop{background:rgb(28 26 23/.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog::backdrop{background:rgb(28 26 23/.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-inner{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--elev-2);padding:1.75rem}.confirm-inner h2{margin:0 0 .5rem;font-size:1.25rem}.confirm-inner p{margin:0 0 1.5rem;color:var(--ink-2)}.confirm-actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.btn-danger{background:var(--danger,#a4243b);border-color:var(--danger,#a4243b);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.block-editor,.block-list{display:grid;grid-gap:.75rem;gap:.75rem}.block-list{list-style:none;padding:0;margin:0}.block-item{border:1px solid var(--line-2);border-radius:var(--radius-md,10px);background:var(--surface);padding:.75rem .9rem;display:grid;grid-gap:.5rem;gap:.5rem}.block-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.block-type{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.block-tools{display:flex;gap:.25rem}.block-tools .link-button{min-width:2rem;min-height:2rem}.block-tools .link-button:disabled{opacity:.35;cursor:default}.block-add{display:flex;flex-wrap:wrap;gap:.4rem}.block-preview{display:block;max-width:14rem;border-radius:var(--radius-sm);overflow:hidden}.block-preview img{width:100%;height:auto;display:block}.field-label{display:block;font-weight:500;margin-bottom:.35rem}.quiz-editor{margin-top:1rem;padding:1rem;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--paper-2);display:grid;grid-gap:.75rem;gap:.75rem}.quiz-questions{list-style:none;padding:0;margin:0;display:grid;grid-gap:1rem;gap:1rem}.quiz-question{border:1px solid var(--line-2);border-radius:var(--radius-md,10px);background:var(--surface);padding:.9rem;display:grid;grid-gap:.6rem;gap:.6rem}.quiz-options{border:none;padding:0;margin:0;display:grid;grid-gap:.4rem;gap:.4rem}.quiz-options legend{font-size:.8125rem;color:var(--ink-3);padding:0;margin-bottom:.25rem}.quiz-option{display:flex;align-items:center;gap:.6rem}.quiz-option input[type=text]{flex:1 1 auto;min-width:0}.field-narrow{max-width:9rem}.band-game{padding:1.5rem 0 2.5rem}.shell-narrow{max-width:34rem}.page-head-tight{padding:2.5rem 0 1.5rem}.game{display:grid;grid-gap:.75rem;gap:.75rem}.game-progress{height:3px;border-radius:999px;background:var(--line-2);overflow:hidden}.game-progress span{display:block;height:100%;background:var(--ruby);transition:width .25s ease}.game-step{margin:0;font-size:.8125rem;color:var(--ink-3);text-align:center}.game-card{border-radius:18px;background:var(--surface);box-shadow:var(--elev-1);padding:1.5rem 1.35rem;min-height:24rem;display:grid;align-content:start;grid-gap:.85rem;gap:.85rem;border:1px solid var(--line-2);border-top:3px solid var(--line-2)}.game-card.is-red{border-top-color:var(--ruby)}.game-card.is-white{border-top-color:#c8a94e}.game-sub{margin:0;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.game-card h2{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2.1rem);line-height:1.15}.game-facts{display:grid;grid-gap:.75rem;gap:.75rem;margin:0}.game-facts dt{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.15rem}.game-facts dd{margin:0;font-size:1.0625rem;line-height:1.45}.game-axes{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--ink-2)}.game-axes,.game-link{font-size:.9375rem}.game-nav{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:.6rem;gap:.6rem}.game-nav-btn{min-height:52px;font-size:1rem}.game-question-label{margin:0;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ruby)}.game-clue{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,5.5vw,1.6rem);line-height:1.3}.game-options{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-gap:.55rem;gap:.55rem}.game-option{width:100%;min-height:52px;padding:.75rem 1rem;border:1px solid var(--line-2);border-radius:12px;background:var(--paper-2);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.game-option:hover:not(:disabled){border-color:var(--ruby)}.game-option.is-right{border-color:#2f6b4f;background:color-mix(in srgb,#2f6b4f 12%,transparent);font-weight:500}.game-option.is-right:after{content:" ✓"}.game-option.is-wrong{border-color:var(--danger,#a4243b);background:color-mix(in srgb,#a4243b 10%,transparent)}.game-option.is-wrong:after{content:" ✗"}.game-result,.game-start{display:grid;grid-gap:.9rem;gap:.9rem;text-align:center;padding:1.5rem 0}.game-modes{display:grid;grid-gap:.4rem;gap:.4rem}.game-modes .btn{min-height:52px}.game-modes .field-help{margin:0 0 .6rem;text-align:center}.game-count{margin:0;color:var(--ink-3)}.game-score{margin:0;font-family:var(--font-display);font-size:3rem;line-height:1}.game-score strong{font-weight:400;color:var(--ruby)}.game-percent{margin:0;color:var(--ink-3);letter-spacing:.08em}.game-review{text-align:left;margin-top:.5rem}.game-review ul{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-gap:.6rem;gap:.6rem}.game-review li{padding-bottom:.6rem;border-bottom:1px solid var(--line)}.game-given{display:block;font-size:.875rem;color:var(--danger,#a4243b)}.game-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}@media (min-width:641px){.game-card{padding:2rem 1.75rem}}.game-card.is-flippable{cursor:pointer}.game-hint{color:var(--ink-3)}.game-back-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.map-shape{fill:color-mix(in srgb,var(--ruby) 14%,transparent);stroke:color-mix(in srgb,var(--ruby) 45%,transparent);stroke-width:.5;pointer-events:none;transition:fill .2s ease}.map-shape.is-active{fill:color-mix(in srgb,var(--ruby) 34%,transparent);stroke:var(--ruby);stroke-width:1}:root[data-contrast=high] .map-shape{fill:none;stroke:var(--ink);stroke-width:1}.prose-figure{margin:1.75rem 0}.prose-figure .image-fallback,.prose-figure img{width:100%;height:auto;display:block;border:1px solid var(--line-2);border-radius:var(--radius-md,10px);background:var(--surface)}.prose-figure figcaption{margin-top:.5rem;font-size:.875rem;color:var(--ink-3)}.lesson-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.classroom-pdf{flex:none;margin-top:.25rem;font-size:.9375rem;white-space:nowrap}@media (max-width:640px){.lesson-head{flex-direction:column;gap:.75rem}.classroom-pdf{width:100%;text-align:center;margin-top:0}}.question-receipt:empty{display:none}.receipt{display:flex;align-items:center;gap:.7rem;margin:1rem 0 0;padding:.85rem 1.05rem;border-radius:var(--radius-sm,10px);font-size:.9375rem;font-weight:500;animation:receipt-in .26s ease-out}.receipt-mark{display:grid;place-items:center;flex:none;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.8125rem;font-weight:700}.receipt.is-ok{border:1px solid color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green)}.receipt.is-ok .receipt-mark{background:var(--green);color:var(--surface)}.receipt.is-error{border:1px solid color-mix(in srgb,var(--ruby) 45%,transparent);background:color-mix(in srgb,var(--ruby) 10%,var(--surface));color:var(--ruby)}.receipt.is-error .receipt-mark{background:var(--ruby);color:var(--surface)}@keyframes receipt-in{0%{opacity:0;transform:translateY(-6px)}}.question-card.is-fresh{animation:question-landed 2.4s ease-out}@keyframes question-landed{0%,55%{border-color:color-mix(in srgb,var(--green) 55%,transparent);background:color-mix(in srgb,var(--green) 9%,var(--surface))}}@media (prefers-reduced-motion:reduce){.question-card.is-fresh,.receipt{animation:none}}.brand-logo{display:block;height:2.25rem;width:auto;max-width:min(220px,40vw);object-fit:contain}@media (max-width:640px){.brand-logo{height:1.85rem}}.logo-upload{display:grid;grid-gap:.5rem;gap:.5rem}.logo-upload-label{font-size:.8125rem;font-weight:600;letter-spacing:.02em}.logo-upload-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.logo-preview{display:grid;place-items:center;flex:none;width:132px;height:84px;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-sm,10px);background-image:linear-gradient(45deg,var(--paper-2) 25%,transparent 25%),linear-gradient(-45deg,var(--paper-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--paper-2) 75%),linear-gradient(-45deg,transparent 75%,var(--paper-2) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;overflow:hidden}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview-empty{width:100%;height:100%}.logo-upload-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;min-width:0}.logo-upload-actions label.btn{cursor:pointer}.logo-upload-actions input:focus-visible+label{outline:2px solid var(--ruby);outline-offset:2px}.logo-upload-actions .field-help{flex-basis:100%;margin:0}.held-by{display:flex;align-items:center;gap:.6rem}.school-logo{flex:none;height:1.75rem;width:auto;max-width:88px;object-fit:contain}.drawer-scrim{position:fixed;inset:0;background:color-mix(in srgb,var(--ink-1) 38%,transparent);display:flex;justify-content:flex-end;z-index:60}.drawer{width:min(560px,100vw);background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;max-height:100vh;box-shadow:-12px 0 32px color-mix(in srgb,var(--ink-1) 12%,transparent);animation:drawer-in .18s ease-out}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}@keyframes drawer-in{0%{transform:translateX(24px);opacity:.6}to{transform:translateX(0);opacity:1}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:var(--text-lg)}.drawer-close{flex:none;min-width:2.5rem}.drawer-body{overflow-y:auto;padding:1.5rem;flex:1 1}.drawer-foot{border-top:1px solid var(--line);padding:1rem 1.5rem}.drawer-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.drawer-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:.6rem .9rem;font:inherit;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;gap:.4rem}.drawer-tab:hover{color:var(--ink-1)}.drawer-tab.is-active{color:var(--ink-1);border-bottom-color:var(--wine);font-weight:600}.drawer-tab-count{font-size:var(--text-sm);color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.member-filters{display:grid;grid-template-columns:1fr auto;grid-gap:1rem;gap:1rem;align-items:end;margin-bottom:1rem}@media (max-width:480px){.member-filters{grid-template-columns:1fr}}.member-count{font-size:var(--text-sm);margin-bottom:.75rem}.member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.member-card{border:1px solid var(--line);border-radius:10px;padding:.9rem 1.1rem;background:var(--paper-2)}.member-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.member-meta{font-size:var(--text-sm);color:var(--ink-2);margin:.35rem 0 0}.enrollment-list{margin:.5rem 0 0;font-size:var(--text-sm);flex-direction:column;gap:.2rem}.enrollment-list,.scope-list{list-style:none;padding:0;display:flex}.scope-list{margin:.6rem 0 0;flex-wrap:wrap;gap:.3rem}.scope-chip{font-family:var(--font-mono,ui-monospace,monospace);font-size:.72rem;padding:.12em .45em;border-radius:4px;background:var(--paper-3,var(--paper-2));border:1px solid var(--line);color:var(--ink-2)}.scope-actions{margin-left:.35em;opacity:.65;font-size:.9em}