:root { --text:#0f172a; --muted:#475569; --accent:#4f46e5; --accent-dark:#4338ca; --brand-yellow:#ca8a04; --error:#b91c1c; --glass:rgba(255,255,255,.55); --stroke:rgba(255,255,255,.65); --radius:22px; }
* { box-sizing:border-box; margin:0; }
body { color:var(--text); font:16px/1.6 "Inter", system-ui, sans-serif; background:linear-gradient(180deg,#f0f4ff 0%,#fdf4ff 100%) fixed; }
body::before { content:""; position:fixed; inset:-120px 0 0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(640px 420px at 8% 6%, rgba(99,102,241,.28), transparent 65%),
    radial-gradient(720px 520px at 88% 14%, rgba(236,72,153,.16), transparent 65%),
    radial-gradient(820px 620px at 55% 98%, rgba(14,165,233,.20), transparent 65%); }
a { color:inherit; }
.wrap { max-width:1100px; margin:0 auto; padding:0 20px; }
header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.55); backdrop-filter:blur(18px) saturate(180%); -webkit-backdrop-filter:blur(18px) saturate(180%); border-bottom:1px solid var(--stroke); }
header .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-weight:800; font-size:20px; letter-spacing:.3px; text-decoration:none; }
.logo span { color:var(--brand-yellow); }
header .btn { padding:8px 16px; }
.hero { padding:80px 0 56px; text-align:center; }
.hero h1 { font-size:clamp(36px,6.5vw,58px); line-height:1.1; max-width:18ch; font-weight:800; letter-spacing:-1.5px; margin:0 auto; }
.hero h1 em { font-style:normal; background:linear-gradient(92deg,#4f46e5 20%,#c026d3 90%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { color:var(--muted); max-width:52ch; margin:16px auto 0; font-size:17px; }
.chips { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:22px; }
.chips span { background:var(--glass); border:1px solid var(--stroke); font-size:13px; font-weight:600; border-radius:999px; padding:7px 14px; backdrop-filter:blur(14px) saturate(180%); -webkit-backdrop-filter:blur(14px) saturate(180%); box-shadow:0 4px 16px rgba(79,70,229,.08), inset 0 1px 0 rgba(255,255,255,.8); }
.hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px; }
section { padding:40px 0; }
h2 { font-size:24px; font-weight:700; letter-spacing:-.5px; margin-bottom:20px; }
.grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); }
.band { background:rgba(255,255,255,.45); border:1px solid var(--stroke); border-radius:calc(var(--radius) + 8px); padding:8px 20px 12px; backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%); box-shadow:0 12px 40px rgba(79,70,229,.10), inset 0 1px 0 rgba(255,255,255,.8); }
.band h2 { margin-top:12px; }
.card { background:var(--glass); border:1px solid var(--stroke); border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:8px; backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%); box-shadow:0 8px 28px rgba(79,70,229,.10), inset 0 1px 0 rgba(255,255,255,.8); transition:transform .16s ease, box-shadow .16s ease; }
.card:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(79,70,229,.16), inset 0 1px 0 rgba(255,255,255,.8); }
.card p { color:var(--muted); flex:1; }
.card h3 { font-size:18px; font-weight:700; letter-spacing:-.3px; }
.card__tag { display:inline-block; align-self:flex-start; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--accent); background:rgba(255,255,255,.7); border:1px solid var(--stroke); border-radius:999px; padding:4px 10px; }
.card__foot { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:999px; border:1px solid var(--stroke); background:rgba(255,255,255,.55); backdrop-filter:blur(14px) saturate(180%); -webkit-backdrop-filter:blur(14px) saturate(180%); text-decoration:none; font-weight:600; font-size:14px; color:var(--text); transition:background .15s ease, box-shadow .15s ease; }
.btn:hover { background:rgba(255,255,255,.85); box-shadow:0 4px 14px rgba(79,70,229,.12); }
.btn--pay { background:linear-gradient(180deg,#6366f1,#4338ca); border-color:rgba(255,255,255,.25); color:#fff; box-shadow:0 10px 24px rgba(79,70,229,.38), inset 0 1px 0 rgba(255,255,255,.35); }
.btn--pay:hover { background:linear-gradient(180deg,#4f46e5,#3730a3); }
.steps { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); counter-reset:s; }
.steps li { list-style:none; background:var(--glass); border:1px solid var(--stroke); border-radius:var(--radius); padding:16px; color:var(--muted); font-size:15px; backdrop-filter:blur(18px) saturate(180%); -webkit-backdrop-filter:blur(18px) saturate(180%); box-shadow:0 8px 28px rgba(79,70,229,.08), inset 0 1px 0 rgba(255,255,255,.8); }
.steps li::before { counter-increment:s; content:counter(s); display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:999px; background:linear-gradient(180deg,#6366f1,#4338ca); color:#fff; font-weight:800; font-size:15px; margin-bottom:10px; box-shadow:0 6px 16px rgba(79,70,229,.35); }
form label { display:block; font-size:14px; font-weight:500; margin:16px 0 6px; }
form input, form textarea { width:100%; max-width:420px; padding:12px 14px; border:1px solid var(--stroke); border-radius:14px; background:rgba(255,255,255,.65); backdrop-filter:blur(12px) saturate(160%); -webkit-backdrop-filter:blur(12px) saturate(160%); color:var(--text); font:inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
form input:focus, form textarea:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:transparent; }
form .btn { margin-top:16px; border:none; cursor:pointer; font-size:15px; }
form button:disabled { opacity:.6; cursor:wait; }
main section ul { color:var(--muted); margin-top:12px; padding-left:20px; }
main section ul li { margin:4px 0; }
section.wrap { padding-top:40px; padding-bottom:40px; }
main section:last-of-type { padding-bottom:72px; }
footer { margin-top:24px; padding:36px 0; color:#c7d2fe; font-size:14px; background:rgba(30,27,75,.88); backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%); border-top:1px solid rgba(255,255,255,.25); }
footer .wrap { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; }
footer .wrap > span { display:block; }
footer .wrap > span:last-child { text-align:right; }
@media (max-width:560px) { footer .wrap { flex-direction:column; align-items:center; text-align:center; } footer .wrap > span:last-child { text-align:center; } }
footer .footer__logo { display:block; height:40px; width:auto; margin-bottom:10px; }
footer a { color:#e0e7ff; }
footer a:hover { color:#fff; }
.careplan { display:grid; gap:24px; grid-template-columns:1fr auto; align-items:center; background:var(--glass); border:1px solid var(--stroke); border-radius:calc(var(--radius) + 8px); padding:28px; backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%); box-shadow:0 12px 40px rgba(79,70,229,.10), inset 0 1px 0 rgba(255,255,255,.8); }
.careplan h3 { font-size:22px; font-weight:800; letter-spacing:-.4px; margin:8px 0 6px; }
.careplan p { color:var(--muted); }
.careplan ul { color:var(--muted); padding-left:20px; margin-top:10px; }
.careplan__price { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:200px; }
.careplan__price strong { font-size:44px; font-weight:800; letter-spacing:-1px; line-height:1; }
.careplan__price span { color:var(--muted); font-size:14px; }
.careplan__price .btn { margin-top:12px; }
.careplan__price small { color:var(--muted); font-size:12px; margin-top:8px; max-width:24ch; }
@media (max-width:720px) { .careplan { grid-template-columns:1fr; } .careplan__price { align-items:stretch; min-width:0; } .careplan__price .btn { width:100%; } }

#net { position:fixed; inset:0; z-index:-2; opacity:.5; }
.hero { padding:110px 0 40px; }
.tags { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; margin:18px auto 22px; max-width:600px; }
.tags a { font-size:14px; font-weight:600; color:var(--muted); text-decoration:none; padding:4px 2px; border-bottom:1px dashed rgba(79,70,229,.35); transition:color .15s ease, border-color .15s ease; }
.tags a:hover, .tags a:focus-visible { color:var(--accent); border-bottom-style:solid; border-color:var(--accent); outline:none; }
.howpay h2 { text-align:center; }
.howpay .steps { max-width:900px; margin:0 auto; }
.quote-note { margin-top:18px; font-size:14px; color:var(--muted); }
form select { width:100%; max-width:420px; padding:12px 14px; border:1px solid var(--stroke); border-radius:14px; background:rgba(255,255,255,.65); color:var(--text); font:inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
form select:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:transparent; }
.dialog { margin:auto; width:min(560px, calc(100% - 32px)); max-height:calc(100vh - 48px); overflow:auto; border:1px solid var(--stroke); border-radius:calc(var(--radius) + 8px); padding:28px 26px 26px; color:var(--text); background:rgba(255,255,255,.92); backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%); box-shadow:0 30px 80px rgba(37,29,98,.35), inset 0 1px 0 rgba(255,255,255,.8); }
.dialog::backdrop { background:rgba(15,23,42,.35); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.dialog h2 { font-size:24px; font-weight:700; letter-spacing:-.5px; margin-bottom:8px; padding-right:40px; }
.dialog p { color:var(--muted); }
.dialog form input, .dialog form textarea, .dialog form select { max-width:none; }
.dialog .dialog__close { position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:999px; border:1px solid var(--stroke); background:rgba(255,255,255,.7); font-size:22px; line-height:1; cursor:pointer; color:var(--text); }
.dialog .dialog__close:hover { background:#fff; }
.dialog form .btn { width:100%; }
@media (min-width:560px) { .dialog form .btn { width:auto; } }
.dialog .dialog__close { position:absolute; top:14px; right:14px; }
.work { padding:30px 0 60px; }
.work h2 { text-align:center; margin-bottom:8px; }
.work .hint { text-align:center; color:var(--muted); font-size:14px; margin-bottom:26px; }
.scene { display:grid; place-items:center; height:460px; overflow:hidden; perspective:35em;
  mask-image:linear-gradient(90deg,#0000,red 8% 92%,#0000),linear-gradient(180deg,#0000,red 16% 84%,#0000);
  -webkit-mask-image:linear-gradient(90deg,#0000,red 8% 92%,#0000),linear-gradient(180deg,#0000,red 16% 84%,#0000);
  mask-composite:intersect; -webkit-mask-composite:source-in; }
.a3d { display:grid; transform-style:preserve-3d; cursor:grab; touch-action:pan-y;
  animation:none; }
.a3d.dragging { cursor:grabbing; }
.a3d .slide { user-select:none; -webkit-user-drag:none; }
.slide { grid-area:1/1; --w:17em; width:var(--w); aspect-ratio:7/10; object-fit:cover;
  border-radius:1.4em; border:1px solid rgba(255,255,255,.7);
  box-shadow:0 18px 50px rgba(37,29,98,.35);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transform:rotatey(calc(var(--i)*(360deg/var(--n)))) translatez(calc(-1*(0.5*var(--w) + 0.5em)/tan(180deg/var(--n)))); }
@media (max-width:720px) { .scene { height:340px; } .slide { --w:11em; } }
  
    .dialog__price { font-size:32px; font-weight:800; letter-spacing:-.6px; color:var(--text); margin-top:8px; }
    .dialog__list { color:var(--muted); padding-left:20px; margin-top:12px; }
    .dialog__list li { margin:6px 0; }
    .dialog__link { margin-top:12px; font-size:14px; }
    .dialog__link a { color:var(--accent); font-weight:600; }
    .dialog__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
    .card--open { cursor:pointer; }
    .card--open:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.payform { display:grid; gap:4px; max-width:420px; margin-top:8px; }
.payform input { max-width:none; }
.payform .btn { margin-top:16px; width:100%; border:none; cursor:pointer; font-size:15px; }
.payform__err { color:var(--error); font-size:14px; margin-top:12px; }

.partners-wrap { padding-bottom:0; }
.partners-wrap h2 { text-align:center; }
.partners { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; }
.partner { display:flex; align-items:center; justify-content:center; min-width:160px; min-height:72px; padding:16px 20px; background:var(--glass); border:1px solid var(--stroke); border-radius:var(--radius); backdrop-filter:blur(18px) saturate(180%); -webkit-backdrop-filter:blur(18px) saturate(180%); box-shadow:0 8px 28px rgba(79,70,229,.08), inset 0 1px 0 rgba(255,255,255,.8); font-weight:700; font-size:14px; color:var(--text); text-decoration:none; }
.partner img { display:block; max-height:40px; max-width:140px; width:auto; height:auto; }

