/* Palette from the NoPlaceLeft logo (noplacelefttraining.com channel avatar) */
:root{--ink:#0b0b0c;--paper:#ffffff;--bg:#f6f7f5;--line:#e4e6e3;--muted:#5d6461;--teal:#296f6f;--aqua:#7ec8d1;--mint:#f0fedd;--peach:#fcd2a8;--coral:#e8774f;--lav:#8d83c4;--card:#fff;--on:#296f6f;--r:16px}
@media (prefers-color-scheme:dark){:root{--bg:#0b0b0c;--card:#151718;--paper:#151718;--line:#26292a;--ink:#f3f5f2;--muted:#9aa29f;--on:#7ec8d1}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}
header{background:#0b0b0c;color:#fff;padding:18px 20px 0;position:sticky;top:0;z-index:1000}
.brand{display:flex;align-items:center;gap:12px;max-width:600px;margin:0 auto;padding-bottom:16px}
.logo{width:40px;height:40px;border-radius:50%;border:3px solid #fff;flex:none;background:linear-gradient(#8d83c4 0 22%,#fcd2a8 22% 40%,#e8774f 40% 50%,#fff 50% 54%,#296f6f 54% 68%,#7ec8d1 68% 84%,#f0fedd 84%)}
.wm{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;letter-spacing:.14em;text-transform:lowercase;font-size:1.05rem}.wm b{display:block;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--aqua);font-weight:600}
.stripe{height:5px;background:linear-gradient(90deg,#8d83c4 0 20%,#fcd2a8 20% 40%,#e8774f 40% 60%,#296f6f 60% 80%,#7ec8d1 80%);margin:0 -20px}
main{max-width:600px;margin:0 auto;padding:20px 16px 48px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 16px}
h2,h3{font-family:"Space Grotesk",Inter,sans-serif;margin:0 0 14px;font-size:1.05rem;letter-spacing:.01em}h3 small{font-weight:400;color:var(--muted);font-size:.8rem}
.tog{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line);font-size:1.02rem;font-weight:500;cursor:pointer}
.tog.last{border-bottom:0}
.sw{position:relative;width:50px;height:30px;flex:none}.sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sl{position:absolute;inset:0;background:var(--line);border-radius:30px;transition:background .18s}
.sl:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;transition:transform .18s}
.sw input:checked+.sl{background:var(--on)}.sw input:checked+.sl:before{transform:translateX(20px)}.sw input:focus-visible+.sl{outline:3px solid var(--aqua);outline-offset:2px}
.sub{margin:0 0 6px 18px;padding-left:16px;border-left:3px solid var(--aqua)}
.sub .lbl{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px 0 2px}
.sub .tog{font-size:.98rem}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=password],textarea,select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;margin:6px 0;background:var(--paper);color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--teal);border-color:transparent}
button{font:inherit;font-weight:600;padding:14px;border:0;border-radius:12px;background:var(--ink);color:var(--bg);width:100%;cursor:pointer;margin:6px 0;transition:transform .08s,opacity .15s}
button:active{transform:scale(.98)}button.alt{background:var(--coral);color:#fff}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.sm{width:auto;padding:8px 12px;margin:2px;font-size:.85rem}
.big{font-size:1.15rem;padding:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid div{border:1px solid var(--line);border-radius:12px;padding:12px 6px;text-align:center;font-size:.76rem;color:var(--muted)}
.grid b{display:block;font-family:"Space Grotesk",Inter,sans-serif;font-size:1.6rem;color:var(--ink);font-variant-numeric:tabular-nums}
#map{height:360px;border-radius:12px;z-index:0}.hidden{display:none}
.msg{padding:12px;border-radius:12px;background:var(--mint);color:#0b0b0c;margin:8px 0;font-weight:500}.err{background:var(--peach)}
.row{display:flex;gap:8px;margin-bottom:12px}.row>*{flex:1;min-width:0}
table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.muted{color:var(--muted);font-size:.85rem}
/* Icons */
.ic{width:20px;height:20px;flex:none;vertical-align:-4px;color:var(--on)}.ic.dot{width:20px;height:20px}
.lt{display:flex;align-items:center;gap:12px}
h3 .ic{margin-right:8px;color:var(--teal)}@media (prefers-color-scheme:dark){h3 .ic{color:var(--aqua)}}
button .ic{color:currentColor;margin-right:8px;width:18px;height:18px}button.sm .ic{margin:0;width:16px;height:16px;vertical-align:-3px}button.sm .ic+*{margin-left:6px}
.msg{display:flex;align-items:center;gap:8px}.msg .ic{color:var(--teal)}
.grid .sl2{display:flex;align-items:center;justify-content:center;gap:5px}.grid .ic{width:14px;height:14px;vertical-align:0}
.flags{white-space:nowrap}.flags .ic{width:18px;height:18px;margin-right:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
