:root{--blue:#41B6E6;--blue-d:#0b6e99;--red:#E4002B;--ink:#16202a;--mut:#5b6875;--bg:#f6fbfe;--card:#fff;--line:#d9e6ee;--ok:#11823b;--warn:#a15c00;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue-d)}h1,h2,h3{line-height:1.2;margin:1.2em 0 .5em}h1{font-size:1.75rem}h2{font-size:1.25rem}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}.narrow{max-width:560px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top{background:#fff;border-bottom:1px solid var(--line)}.top .row{min-height:56px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.1rem;color:var(--ink);text-decoration:none}
.star{width:22px;height:22px;fill:var(--red)}nav a{margin-left:14px;font-size:.95rem;text-decoration:none}
.hero{padding:28px 0 8px}.hero h1{font-size:2.3rem;margin:.2em 0 .3em;letter-spacing:-.02em}.sub{font-size:1.1rem;color:var(--mut);max-width:38em}
.addr{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.addr input{flex:1 1 220px;min-width:0;font-size:17px;padding:13px 14px;border:2px solid var(--line);border-radius:12px;background:#fff}
.addr input:focus{outline:none;border-color:var(--blue)}
.btn{display:inline-block;font:inherit;font-weight:700;padding:13px 18px;border-radius:12px;border:0;background:var(--red);color:#fff;cursor:pointer;text-decoration:none;text-align:center}
.btn:hover{filter:brightness(.95)}.btn.ghost{background:#fff;color:var(--blue-d);border:2px solid var(--blue)}.btn.small{padding:8px 12px;font-size:.95rem}
.btn[disabled]{opacity:.6;cursor:wait}
.linkbtn{background:none;border:0;color:var(--blue-d);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
.small{font-size:.92rem}.muted{color:var(--mut)}.sr{position:absolute;left:-9999px}.center{text-align:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.lead{font-size:1.08rem}.note{background:#fff8e6;border-left:4px solid #f0b400;padding:10px 14px;border-radius:8px}
.warn{background:#fff1f0;border-left:4px solid var(--red);padding:10px 14px;border-radius:8px}
.good{background:#eaf8ef;border-left:4px solid var(--ok);padding:10px 14px;border-radius:8px}
.crumbs{font-size:.9rem;color:var(--mut);margin-top:14px}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;border-radius:10px;overflow:hidden}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}thead th{background:#eef7fc;font-size:.9rem}
td small,th small{display:block;color:var(--mut);font-size:.8rem;font-weight:400}
.past{color:#5f6b76;text-decoration:line-through}.past small{text-decoration:none}
td.next,span.next{background:#e6f6fd;font-weight:700;color:var(--ink)}
.pairs span{display:inline-block;margin:2px 6px 2px 0;padding:1px 6px;border-radius:6px}
.done-badge,.done-msg{display:none}.done .done-badge{display:inline-block;font-style:normal;color:var(--ok);font-weight:700}
.tablewrap:has(.done) .done-msg{display:block;color:var(--ok);font-weight:700}
.chips,.grid50,.cols{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.chips a,.grid50 a{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none}
.grid50{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.grid50 a{text-align:center}
.cols{display:block;columns:2 160px}.cols li{margin:3px 0}
.steps{padding-left:1.2em}.steps li{margin:6px 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}.faq summary{font-weight:700;cursor:pointer}
.foot{margin-top:40px;padding:20px 0;border-top:1px solid var(--line);font-size:.9rem;background:#fff}
.prose{max-width:46em}.prose li{margin:4px 0}.kw th{width:8em}
/* result card */
.res h2{margin-top:0}.zone{display:inline-block;background:var(--blue);color:#fff;font-weight:800;border-radius:999px;padding:3px 12px;font-size:.95rem}
.nextpair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.day{border:2px solid var(--line);border-radius:12px;padding:12px;background:#fff}.day.yours{border-color:var(--red);background:#fff6f7}
.day b{display:block;font-size:1.15rem}.day .tag{font-size:.82rem;color:var(--mut)}.day.yours .tag{color:var(--red);font-weight:700}
.later{padding-left:1.1em;columns:2 180px}.later li{margin:2px 0}
.cands{display:flex;flex-direction:column;gap:6px;margin:10px 0}.cands button{text-align:left;font:inherit;padding:10px 12px;border-radius:10px;border:2px solid var(--line);background:#fff;cursor:pointer}
.cands button:hover{border-color:var(--blue)}
.signup label{display:block;font-weight:600;margin:10px 0 4px}.signup input[type=tel],.signup input[type=email]{width:100%;font-size:17px;padding:12px;border:2px solid var(--line);border-radius:10px}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.88rem;color:var(--mut);margin:8px 0!important}.consent input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}
.ts{margin:10px 0;min-height:65px}.hp{position:absolute;left:-9999px}
.err{color:var(--red);font-weight:600}
/* tip jar */
.tipjar{margin:22px 0}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tier{position:relative;display:flex;flex-direction:column;gap:4px;border:2px solid var(--line);border-radius:14px;padding:14px;background:#fff;text-decoration:none;color:var(--ink)}
.tier:hover{border-color:var(--blue)}.tier .amt{font-size:1.7rem;font-weight:800}.tier .ttl{font-weight:700}.tier .why{font-size:.88rem;color:var(--mut)}
.tier.featured{border-color:var(--red);box-shadow:0 4px 14px rgba(228,0,43,.15);transform:translateY(-3px)}
.pick{position:absolute;top:-11px;left:12px;background:var(--red);color:#fff;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.paynote{font-size:.85rem;color:var(--mut)}
.spin{display:inline-block;width:1em;height:1em;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:s 1s linear infinite;vertical-align:-2px}@keyframes s{to{transform:rotate(360deg)}}
@media (max-width:560px){.hero h1{font-size:1.9rem}.tiers{grid-template-columns:1fr}.tier.featured{transform:none;order:-1}.nextpair{grid-template-columns:1fr}nav a{margin-left:10px;font-size:.88rem}.addr .btn{flex:1 1 100%}}
.map{margin:16px 0}.map svg{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;display:block}
.map .st{font-size:12px;fill:#6b7884;font-weight:600}.map .nb{font-size:13px;fill:#3d4a55;text-anchor:middle;font-weight:700}
.custom{font-size:.92rem;margin:10px 0 0}
.pill{display:inline-block;vertical-align:middle;margin-left:6px;padding:2px 10px;border-radius:999px;background:#e6f6fd;border:1px solid var(--blue);color:var(--blue-d);font-size:.78rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}
