:root{--ink:#241c14;--paper:#fff9ec;--purple:#7a3fc2;--yellow:#ffcf49;--line:#d9d0c3;--muted:#655a50;--green:#21734f;--white:#fff;--pale:#f5edff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 'Nunito Sans',system-ui,sans-serif}h1,h2,h3{font-family:Fredoka,system-ui,sans-serif;line-height:1.12;margin:0}p{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{max-width:1140px;margin:auto;padding:0 24px}.top{border-bottom:2px solid var(--ink);background:#fffdf6}.top .wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:700 1.75rem Fredoka;text-decoration:none;letter-spacing:-.05em}.brand span{color:var(--purple)}.back{font-weight:800;text-decoration:none;border-bottom:2px solid var(--yellow)}.banner{background:var(--yellow);border-bottom:2px solid var(--ink);padding:10px 0;font-weight:800}.banner .wrap{display:flex;align-items:center;gap:12px}.badge{background:var(--ink);color:var(--paper);padding:4px 9px;border-radius:20px;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}.hero{padding:44px 0 26px}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--purple);margin-bottom:9px}.hero h1{font-size:clamp(2.5rem,5vw,4.25rem);max-width:800px;letter-spacing:-.03em}.hero h1 em{color:var(--purple);font-style:normal}.hero p:last-child{max-width:700px;color:var(--muted);margin-top:13px;font-size:1.05rem}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:22px;align-items:start;padding-bottom:60px}.panel{background:var(--white);border:2px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);padding:clamp(20px,3vw,30px)}.panel h2{font-size:1.6rem}.panel h3{font-size:1.3rem}.sub{color:var(--muted);font-size:.9rem;margin-top:8px}.field{margin-top:20px}.field label{display:block;font-weight:800;margin-bottom:8px}.field select,.field input{width:100%;border:2px solid var(--ink);border-radius:9px;padding:11px;background:var(--paper);color:var(--ink)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dates,.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.date,.slot{border:2px solid var(--line);border-radius:10px;background:#fff;min-height:55px;padding:8px 5px;color:var(--ink);font-weight:800}.date small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase}.date[aria-pressed=true],.slot[aria-pressed=true]{border-color:var(--purple);background:var(--pale)}.btn{border:2px solid var(--ink);border-radius:10px;background:var(--yellow);color:var(--ink);font-weight:800;padding:12px 17px;margin-top:16px;text-decoration:none;display:inline-block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.alt{background:#fff}.btn.purple{background:var(--purple);border-color:var(--purple);color:#fff}.btn.full{width:100%;text-align:center}.btn.small{padding:8px 12px;margin:0;font-size:.9rem}.aside{background:var(--ink);color:var(--paper);border-radius:18px;padding:27px;position:sticky;top:16px}.aside h2{font-size:1.55rem;margin-bottom:16px}.aside .eyebrow{color:var(--yellow)}.aside .sub{color:#ddd2c7}.row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #5b4c3e}.row span:first-child{opacity:.75}.row strong{text-align:right}.notice{background:var(--pale);border-left:5px solid var(--purple);padding:16px 18px;border-radius:8px;margin-top:20px}.notice p{margin-top:6px}.card{border:2px solid var(--line);border-radius:12px;padding:18px;margin-top:18px;background:#fffdf8}.card p+p{margin-top:7px}.meta{font-size:.8rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.status{font-weight:800;color:var(--purple)}.status.ok{color:var(--green)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.actions .btn{margin:0}.footer{border-top:2px solid var(--ink);padding:23px 0;color:var(--muted);font-size:.88rem}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--purple);outline-offset:3px}@media(max-width:830px){.grid{grid-template-columns:1fr}.aside{position:static}}@media(max-width:500px){.wrap{padding:0 17px}.two{grid-template-columns:1fr}.dates,.slots{grid-template-columns:repeat(3,1fr)}.hero{padding-top:30px}.banner .wrap{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
