@import url("https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&display=swap");:root{--cream:#ece4d2;--panel:#f7f3f0;--ink:#25211b;--ink-2:#7e6f55;--muted:#ae9d80;--muted-2:#8f7f64;--gold:#9a7b33;--gold-deep:#6e561f;--gold-fill:#f2e8cf;--gold-border:#dec992;--hair:#e1d8c7;--green:#5e7355}*{box-sizing:border-box}html{scroll-behavior:smooth}@keyframes spin{to{transform:rotate(1turn)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes lineGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .7s cubic-bezier(.2,.7,.2,1) both}.bob{animation:bob 1.9s ease-in-out infinite}.grow-line{transform-origin:center;animation:lineGrow 1s ease .1s both}body,html{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:Schibsted Grotesk,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--gold-deep);text-decoration:none}a:hover{color:var(--gold)}.container{max-width:1040px;margin:0 auto;padding:0 24px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:hsla(42,41%,87%,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}.nav-inner{position:relative;justify-content:space-between;height:64px}.logo,.nav-inner{display:flex;align-items:center}.logo{gap:9px;font-weight:800;letter-spacing:-.5px;font-size:20px;color:var(--ink)}.logo .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.logo .sub{font-weight:600;letter-spacing:3px;font-size:12px;color:var(--ink-2)}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{font-size:14px;font-weight:600;color:var(--ink-2);padding:8px 12px;border-radius:8px;background:none;border:none;cursor:pointer;font-family:inherit}.nav-link:hover{background:rgba(154,123,51,.09);color:var(--ink)}.nav-toggle-input{display:none}.nav-toggle-btn{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;border-radius:8px;cursor:pointer}.nav-toggle-btn span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.pill{display:inline-flex;align-items:center;gap:7px;background:var(--gold-fill);border:1px solid var(--gold-border);border-radius:20px;padding:6px 13px;font-size:13px;font-weight:700;color:var(--gold-deep)}.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:14px;border-radius:10px;padding:11px 22px;cursor:pointer;border:1px solid transparent;transition:filter .15s,background .15s}.btn-primary{background:var(--gold);color:var(--panel)}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--ink-2);border-color:#cdbfa6}.btn-ghost:hover{background:rgba(154,123,51,.07);color:var(--ink)}.btn-lg{padding:15px 26px;font-size:15px;border-radius:12px}.btn-block{width:100%}.card{background:var(--panel);border:1px solid var(--hair);border-radius:14px}.day-head{display:flex;align-items:baseline;gap:12px;margin:34px 0 14px}.day-head .wd{font-family:Schibsted Grotesk;font-size:22px;font-weight:700;letter-spacing:-.4px}.day-head .dt{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}.class-row{display:flex;align-items:center;gap:18px;padding:18px 22px}.class-row+.class-row{border-top:1px solid var(--hair)}.class-time{width:92px;flex:0 0 auto;font-weight:700;font-size:15px}.class-main{flex:1 1;min-width:0}.class-name{font-weight:700;font-size:16px;letter-spacing:-.3px}.class-meta{font-size:13px;color:var(--muted-2);margin-top:3px}.spots{font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:20px;white-space:nowrap}.spots-ok{color:var(--green);background:#e7eadf}.spots-low{color:var(--gold);background:var(--gold-fill)}.spots-full{color:#a08d72;background:#ece6d8}.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:700}.h1{font-weight:800;font-size:46px;letter-spacing:-1.5px;margin:12px 0}.h1,.h2{font-family:Schibsted Grotesk}.h2{font-weight:700;font-size:26px;letter-spacing:-.5px;margin:0 0 6px}.lede{font-size:16px;color:var(--muted-2);line-height:1.5}.field{display:block;margin-bottom:15px}.field label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.field input,.field select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--hair);border-radius:10px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{outline:none;border-color:var(--gold-border);box-shadow:0 0 0 3px hsla(43,54%,72%,.35)}.form-error{color:#a2432e;font-size:13.5px;font-weight:600;margin:4px 0 14px}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:18px;gap:18px}.price-card{padding:26px;display:flex;flex-direction:column}.price-card.popular{border-color:var(--gold-border);box-shadow:0 8px 30px rgba(154,123,51,.12)}.price-card .badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-deep);background:var(--gold-fill);border:1px solid var(--gold-border);border-radius:20px;padding:4px 11px;margin-bottom:14px}.price-card .amt{font-family:Schibsted Grotesk;font-weight:800;font-size:40px;letter-spacing:-1px}.price-card .unit{font-size:14px;color:var(--muted-2);font-weight:600}.price-card ul{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:10px}.price-card li{font-size:14px;color:var(--ink);display:flex;gap:9px}.price-card li:before{content:"✓";color:var(--gold);font-weight:800}.tabs{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:4px;margin-bottom:26px}.tab{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-2);background:none;border:none;border-radius:8px;padding:8px 18px;cursor:pointer}.tab.active{background:var(--gold);color:var(--panel)}.section{padding:46px 0}.center{text-align:center}.muted{color:var(--muted-2)}.hero-line{width:2px;height:clamp(200px,34vh,340px);flex-shrink:0;background:linear-gradient(180deg,rgba(154,123,51,0),#be9a45 16%,#ecd493 50%,#be9a45 84%,rgba(154,123,51,0));box-shadow:0 0 16px rgba(201,162,75,.5)}.hero-logo{width:clamp(230px,40vw,430px);height:auto;display:block;filter:drop-shadow(0 22px 46px rgba(70,52,26,.24))}.scroll-cue{margin-top:clamp(26px,5vh,54px);display:inline-flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted-2);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600}.scroll-cue .ring{width:36px;height:36px;border-radius:50%;border:1px solid var(--gold-border);background:var(--panel);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:17px;line-height:1}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:16px;gap:16px}.class-card{background:var(--panel);border:1px solid var(--hair);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px;transition:border-color .18s,box-shadow .18s,transform .18s}.class-card:hover{border-color:#cdbfa6;box-shadow:0 10px 22px -14px rgba(154,123,51,.45);transform:translateY(-2px)}.btn-reserve{background:var(--gold);color:var(--panel);border:none;border-radius:10px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .22s,transform .22s}.btn-reserve:hover{background:var(--gold-deep);box-shadow:0 5px 14px -7px rgba(154,123,51,.5);transform:translateY(-1px)}.btn-reserve:disabled{opacity:.55;cursor:default}.btn-waitlist{background:transparent;color:var(--gold);border:1px solid var(--gold-border);border-radius:10px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-waitlist:hover{background:var(--gold-fill);border-color:var(--gold)}.founding{max-width:1040px;margin:38px auto 0;background:linear-gradient(135deg,#25211b,#332b20);border:1px solid #4a3f2a;border-radius:22px;padding:clamp(26px,4vw,42px);position:relative;overflow:hidden;box-shadow:0 26px 60px -30px rgba(37,33,27,.7)}.founding-glow{position:absolute;top:-40px;right:-30px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.22),transparent 70%);pointer-events:none}.founding-claim{width:100%;background:linear-gradient(135deg,#ecd493,#c9a24b);color:#25211b;border:none;border-radius:12px;padding:15px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:transform .18s,box-shadow .2s}.founding-claim:hover{transform:translateY(-1px);box-shadow:0 8px 22px -10px rgba(201,162,75,.7)}.roster-cards{display:none}.roster-card{background:#fff;border:1px solid var(--hair);border-radius:12px;padding:12px 14px}.roster-card.is-cancelled{opacity:.55}.roster-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.roster-card-info{min-width:0}.roster-card-name{font-weight:700;font-size:15px}.roster-card-meta{font-size:12.5px;color:var(--muted-2);margin-top:2px;word-break:break-word}.roster-card-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--hair)}.checkin-btn{flex-shrink:0;min-height:44px;padding:0 16px;border-radius:22px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;background:var(--panel);color:var(--gold-deep);border:1.5px solid var(--gold-border);transition:background .15s,border-color .15s,color .15s}.checkin-btn:disabled{opacity:.6;cursor:wait}.checkin-btn.is-checked{background:var(--green);border-color:var(--green);color:#fff}@media (max-width:720px){.container{padding:0 16px}.section{padding:30px 0}.nav-inner{height:60px}.logo .sub{display:none}.nav-toggle-btn{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;background:var(--cream);border-bottom:1px solid var(--hair);box-shadow:0 14px 26px -18px rgba(37,33,27,.35);padding:8px 16px 14px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .25s ease,opacity .2s ease}.nav-toggle-input:checked~.nav-links{max-height:320px;opacity:1;pointer-events:auto}.nav-toggle-input:checked~.nav-toggle-btn span:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle-input:checked~.nav-toggle-btn span:nth-child(2){opacity:0}.nav-toggle-input:checked~.nav-toggle-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links .nav-link,.nav-links .pill{width:100%;box-sizing:border-box}.nav-links .nav-link{padding:12px 10px}.nav-links .pill{justify-content:center;margin:4px 0}.h1{font-size:clamp(28px,8vw,38px);letter-spacing:-1px}.h2{font-size:22px}.class-grid{grid-template-columns:1fr;gap:14px}.class-card{padding:20px}.class-row{flex-wrap:wrap;padding:16px;gap:10px 16px}.class-time{width:auto!important;min-width:0}.price-grid{grid-template-columns:1fr}.checkout-aside{position:static!important;top:auto!important;margin-top:8px}.admin-class-list{background:transparent;border:none}.admin-class-list .class-row{background:var(--panel);border:1px solid var(--hair);border-radius:14px;margin-bottom:12px;padding:16px}.admin-class-list .class-row+.class-row{border-top:1px solid var(--hair)}.admin-class-head{gap:12px!important}.roster-hint,.roster-table{display:none}.roster-cards{display:flex;flex-direction:column;gap:10px}.admin-form-card{padding:18px!important;overflow-x:hidden}}