@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/nunito-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/nunito-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/nunito-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/nunito-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/nunito-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/nunito-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--ink:#2d2350;--mut:#5c5474;--lav:#e7defd;--deep:#6a54c9;--cream:#fffaf2;--coral:#c63f2e;--soft:#ffe1d8;--line:#ded5f2}
*{box-sizing:border-box}
body{margin:0;background:#fbf6ee;color:var(--ink);font:17px/1.5 Nunito,system-ui,sans-serif;overflow-x:hidden;min-height:100vh}
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:42% 58% 63% 37%/45% 40% 60% 55%}
body::before{top:-120px;right:-140px;width:520px;height:480px;background:var(--lav)}
body::after{bottom:-160px;left:-160px;width:560px;height:500px;background:var(--soft)}
h1,h2{font-weight:800;letter-spacing:-.01em;line-height:1.1}h1{font-size:clamp(32px,7vw,48px);margin:20px 0}h2{font-size:28px;margin:4px 0 14px}h3{font-size:16px;margin:18px 0 8px;color:var(--mut)}
header,footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;max-width:820px;margin:0 auto}
footer{justify-content:center;color:var(--mut);font-size:14px;padding:32px}footer a{color:inherit}
.logo{display:flex;gap:12px;align-items:center;font-weight:800;font-size:22px;color:inherit;text-decoration:none}
.bd{display:grid;place-items:center;width:44px;height:44px;color:#fff;background:var(--deep);border-radius:38% 62% 55% 45%/50% 45% 55% 50%}
.onair{width:11px;height:11px;border-radius:50%;background:var(--coral);animation:p 1.8s infinite}
@keyframes p{70%{box-shadow:0 0 0 9px transparent}0%{box-shadow:0 0 0 0 var(--coral)}}
nav a{color:var(--mut);text-decoration:none;padding:6px 10px;font-weight:700}nav a.on{color:var(--ink);border-bottom:3px solid var(--coral)}
main{max-width:820px;margin:0 auto;padding:8px 20px 40px}
.steps{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 14px;padding:0}
.steps li{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--mut)}
.steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lav);color:var(--ink)}
.steps .on{color:var(--ink)}.steps .on b{background:var(--deep);color:#fff}.steps .done b{background:var(--coral);color:#fff}
@media(max-width:640px){.steps li:not(.on) span{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0}.chips span{padding:3px 12px;background:var(--lav);border-radius:999px;font-size:14px;font-weight:700}
.card{background:#fff;border-radius:28px;padding:24px 26px 28px;box-shadow:0 1px 0 var(--line),0 20px 40px -28px rgba(45,35,80,.35)}
.duo{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:560px){.duo{grid-template-columns:1fr}}
.mode{display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:26px;border-radius:28px;background:var(--deep);color:#fff;text-decoration:none;box-shadow:0 20px 40px -28px rgba(45,35,80,.5)}
.mode b{font-size:30px;font-weight:800}.mode span{opacity:.85}.mode.alt{background:var(--coral)}
a:hover.mode{transform:translateY(-3px)}
.note{color:var(--mut)}.err{color:#b3261e;font-weight:700}
.back{display:inline-block;color:var(--mut);text-decoration:none;margin:0 0 8px;font-weight:700}
.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cal-nav a{font-size:28px;color:inherit;text-decoration:none;padding:0 14px}
.cal,.slots{display:grid;gap:8px}.cal{grid-template-columns:repeat(7,1fr)}.slots{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
.cal small{text-align:center;color:var(--mut);font-weight:700}
.cal a,.cal span,.slots a,.pk a{border:2px solid var(--line);background:var(--cream);color:inherit;text-decoration:none;border-radius:16px}
.cal a,.cal span,.slots a{display:flex;align-items:center;justify-content:center;min-height:50px;font-weight:700}
.cal span{opacity:.4;border-style:dashed;font-weight:400}
.cal a:hover,.slots a:hover,.pk a:hover{border-color:var(--deep);background:var(--lav)}
.pk{display:grid;gap:12px}.pk a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:16px 20px}
.pk b{font-size:20px;font-weight:800}.pk em{font-style:normal;font-weight:800;color:var(--coral);align-self:center}.pk span{grid-column:1/-1;color:var(--mut)}
.f{display:grid;gap:16px}.f label{display:grid;gap:6px;font-weight:700;font-size:15px}.hp{position:absolute;left:-9999px}
input,select,textarea{font:inherit;min-height:50px;padding:11px 16px;border:2px solid var(--line);border-radius:16px;background:var(--cream);color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--deep)}
button,.btn{font:inherit;font-weight:800;padding:14px 28px;border:0;border-radius:999px;background:var(--coral);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 12px 24px -12px rgba(198,63,46,.8)}
:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.recap{list-style:none;padding:0;display:grid;gap:8px}.recap li{background:var(--cream);border:2px solid var(--line);padding:12px 16px;border-radius:16px}
.tw{overflow-x:auto}table{border-collapse:collapse;font-size:14px;width:100%}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.onair{animation:none}a:hover.mode{transform:none}}
