:root{
  --snow:#F4F7FB;
  --paper:#FFFFFF;
  --ink:#181B22;
  --ink-soft:#5A6070;
  --ice:#3E8FDB;
  --ice-deep:#2C6FB4;
  --ice-tint:#E4EFFA;
  --violet:#7A63E8;
  --line:#DFE4EC;
  --radius:18px;
  --blob1:#C7E0F8;
  --blob2:#DCD5F9;
  --card-shadow:rgba(44,111,180,.13);
}
html[data-theme="dark"]{
  --snow:#0E1118;
  --paper:#171C26;
  --ink:#EDF1F7;
  --ink-soft:#9AA3B2;
  --ice-deep:#6FB4F2;
  --ice-tint:rgba(111,180,242,.12);
  --line:rgba(255,255,255,.10);
  --blob1:#1D3A5E;
  --blob2:#2E2A57;
  --card-shadow:rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Manrope',sans-serif;
  background:var(--snow);
  color:var(--ink);
  line-height:1.6;
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .6s ease,color .6s ease;
}
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bg span{
  position:absolute;
  width:55vmax;height:55vmax;
  border-radius:50%;
  filter:blur(75px);
  opacity:.5;
  animation:breathe 20s ease-in-out infinite alternate;
}
.bg span:nth-child(1){background:radial-gradient(closest-side,var(--blob1),transparent 70%);top:-22vmax;left:-15vmax}
.bg span:nth-child(2){background:radial-gradient(closest-side,var(--blob2),transparent 70%);bottom:-26vmax;right:-16vmax;animation-delay:-8s}
html[data-theme="dark"] .bg span{mix-blend-mode:screen;opacity:.55}
@keyframes breathe{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(5vmax,4vmax,0) scale(1.15)}
}

.page{
  position:relative;
  z-index:1;
  max-width:560px;
  margin:0 auto;
  padding:46px 20px 44px;
}

.back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:var(--ink-soft);
  font-size:.88rem;
  font-weight:600;
  margin-bottom:26px;
}
.back:hover{color:var(--ice-deep)}

.head{text-align:center;margin-bottom:30px}
.head .eyebrow{
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ice-deep);
  font-weight:700;
  margin-bottom:10px;
}
.head h1{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(1.35rem,5.5vw,1.8rem);
  font-weight:900;
  margin-bottom:12px;
}
.head p{color:var(--ink-soft);max-width:44ch;margin:0 auto}
.head .remus{
  font-family:'Caveat',cursive;
  font-size:1.3rem;
  color:var(--ice-deep);
  display:inline-block;
  transform:rotate(-2deg);
  margin-top:10px;
}

.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
  margin-bottom:16px;
}

/* ціна */
.price-card{
  text-align:center;
  background:linear-gradient(135deg,var(--ice) 0%,#5B4FBF 100%);
  border:none;
  color:#fff;
  box-shadow:0 12px 32px rgba(62,143,219,.3);
}
.price-card .sum{
  font-family:'Unbounded',sans-serif;
  font-size:2.2rem;
  font-weight:900;
}
.price-card .per{font-size:.95rem;color:rgba(255,255,255,.85)}
.price-card .dur{
  display:inline-block;
  margin-top:12px;
  padding:7px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:.88rem;
  font-weight:600;
}

/* формати */
.formats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.formats .card{margin-bottom:0;text-align:center}
.formats .emoji{font-size:1.6rem;display:block;margin-bottom:8px}
.formats b{font-family:'Unbounded',sans-serif;font-size:.92rem;display:block;margin-bottom:5px}
.formats small{color:var(--ink-soft);font-size:.84rem}

.sec-label{
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ice-deep);
  font-weight:700;
  margin:30px 0 14px;
  display:flex;
  align-items:center;
  gap:12px;
}
.sec-label::after{content:"";flex:1;height:1px;background:var(--line)}

/* форма */
form .field{margin-bottom:16px}
form label{
  display:block;
  font-size:.85rem;
  font-weight:700;
  margin-bottom:7px;
}
form input[type=text],form textarea{
  width:100%;
  padding:13px 15px;
  border-radius:13px;
  border:1.5px solid var(--line);
  background:var(--snow);
  color:var(--ink);
  font-family:'Manrope',sans-serif;
  font-size:.95rem;
  transition:border-color .2s;
}
form input:focus,form textarea:focus{outline:none;border-color:var(--ice)}
form textarea{min-height:90px;resize:vertical}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{
  margin:0;
  padding:13px;
  text-align:center;
  border:1.5px solid var(--line);
  border-radius:13px;
  cursor:pointer;
  font-weight:600;
  font-size:.9rem;
  transition:border-color .2s, background .2s;
}
.seg input:checked+label{border-color:var(--ice);background:var(--ice-tint);color:var(--ice-deep)}
.seg input:focus-visible+label{outline:3px solid var(--ice);outline-offset:2px}
.hp{position:absolute;left:-9999px;opacity:0} /* honeypot */

button[type=submit]{
  width:100%;
  padding:16px;
  border:none;
  border-radius:999px;
  background:var(--ice);
  color:#fff;
  font-family:'Unbounded',sans-serif;
  font-weight:700;
  font-size:.95rem;
  cursor:pointer;
  transition:transform .15s, box-shadow .2s, opacity .2s;
}
button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 10px 26px var(--card-shadow)}
button[type=submit]:active{transform:scale(.98)}
button[type=submit]:disabled{opacity:.6;cursor:wait;transform:none}
button[type=submit]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.msg{
  display:none;
  margin-top:14px;
  padding:14px 16px;
  border-radius:13px;
  font-size:.92rem;
  font-weight:600;
}
.msg.ok{background:#E4F5EC;color:#1B7A4B;border:1px solid #BFE5D0}
.msg.err{background:#FBEAEA;color:#B23A3A;border:1px solid #EFC9C9}
html[data-theme="dark"] .msg.ok{background:rgba(47,168,140,.15);color:#7BD8B8;border-color:rgba(47,168,140,.3)}
html[data-theme="dark"] .msg.err{background:rgba(220,80,80,.14);color:#F0A0A0;border-color:rgba(220,80,80,.3)}

.hint{
  text-align:center;
  color:var(--ink-soft);
  font-size:.88rem;
  margin-top:22px;
}
.hint a{color:var(--ice-deep);font-weight:600}

footer{
  text-align:center;
  margin-top:34px;
  font-size:.8rem;
  color:var(--ink-soft);
}

@media (max-width:460px){
  .formats{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .bg span{animation:none}
  button[type=submit],form input,.seg label{transition:none}
}
