/* TopOne Services - base, header and homepage hero. Mobile-first, no framework. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin.woff2) format("woff2")}

:root{
  --ink:#16093a;--ink-2:#241052;--text:#1c1633;--muted:#5d5873;--line:#e8e5f0;
  --brand:#6a35e8;--brand-2:#8a4dff;--ok:#16a679;--pink:#e11d74;
  --shadow:0 12px 32px rgba(22,9,58,.14);--max:1200px;--gutter:clamp(16px,4vw,32px);
  --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--text);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
button{font-family:inherit}

.i{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tos-container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.tos-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.tos-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14.5px;line-height:1;text-decoration:none;border:1px solid transparent;border-radius:999px;padding:13px 22px;cursor:pointer;transition:transform .15s,box-shadow .15s,background-color .15s}
.tos-btn:hover{transform:translateY(-1px)}
.tos-btn--primary{color:#fff;background:linear-gradient(135deg,#5b2dd4,#7c3dff);box-shadow:0 8px 20px rgba(106,53,232,.38)}
.tos-btn--primary:hover{box-shadow:0 10px 26px rgba(106,53,232,.5)}
.tos-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.tos-btn--ghost:hover{background:rgba(255,255,255,.1)}
.tos-btn--sm{padding:11px 18px}
:where(a,button,summary):focus-visible{outline:2px solid #a78bfa;outline-offset:2px}

/* Top bar */
.tos-top{background:var(--ink);color:#d9d2f3;font-size:12.5px}
.tos-top .tos-container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.tos-open{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tos-open b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.tos-open .tos-tz{color:#bdb2e6}
.tos-top-links{display:flex;align-items:center;gap:20px;white-space:nowrap}
.tos-top a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.tos-top a:hover{color:#fff}

/* Header */
.main-content>.position-relative{display:contents}
.tos-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);overflow-x:clip}
.tos-nav{display:flex;align-items:center;gap:24px;min-height:68px}
.tos-logo{display:flex;align-items:center;gap:10px;flex:none;text-decoration:none}
.tos-logo img{display:block;height:42px;width:auto}
.tos-nav>nav{margin:0 auto 0 12px}
.tos-menu{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.tos-link,.tos-dd-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border:0;border-radius:10px;background:none;color:var(--text);font-size:14.5px;font-weight:600;text-decoration:none;cursor:pointer}
.tos-link:hover,.tos-dd-btn:hover,.tos-link.is-active{background:#f4f1fb;color:var(--brand)}
.tos-dd{position:relative}
.tos-dd-btn .i{width:14px;height:14px;transition:transform .2s}
.tos-dd.is-open .tos-dd-btn .i{transform:rotate(180deg)}
.tos-nav{position:relative}
.tos-panel{position:absolute;left:0;top:100%;z-index:60;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease .15s,transform .2s ease .15s,visibility 0s linear .35s}
.tos-dd.is-open>.tos-panel{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
@media (hover:hover){.tos-dd:hover>.tos-panel{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}}
.tos-panel--sm{left:auto;right:0;min-width:210px;margin-top:8px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);transform:translateY(8px)}
.tos-panel--sm::before{content:"";position:absolute;inset:-9px 0 auto;height:9px}
.tos-dd.is-open>.tos-panel--sm{transform:none}
@media (hover:hover){.tos-dd:hover>.tos-panel--sm{transform:none}}
.tos-panel--sm a,.tos-panel--sm button{display:block;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text);font-size:14px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}
.tos-panel--sm a:hover,.tos-panel--sm button:hover{background:#f4f1fb;color:var(--brand)}
.tos-mega a{text-decoration:none}

/* Services mega menu */
.tos-mega{position:static}
.tos-mega>.tos-panel{left:calc(50% - 50vw + 14px);top:calc(100% + 1px);width:calc(100vw - 28px);padding-top:0;transform:none}
.tos-mega>.tos-panel::before{content:"";position:absolute;left:0;right:0;top:-34px;height:34px}
.tos-mega-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:30px;overflow:hidden;padding:18px 28px 20px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 40px 90px rgba(22,9,58,.24);transform:translateY(10px) scale(.985);transform-origin:50% 0;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.tos-dd.is-open .tos-mega-in{transform:none}
@media (hover:hover){.tos-dd:hover .tos-mega-in{transform:none}}
.tos-mega-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:0 32px;padding:0}
.tos-mega-col h3{margin:0 0 6px 10px;color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tos-mi{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:14px;opacity:0;transform:translateY(8px);transition:background-color .2s,opacity .15s,transform .15s}
.tos-mi img{flex:none;width:40px;height:40px;border-radius:11px;background:#efeaf9;object-fit:cover;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.tos-mi-t{flex:1;min-width:0}
.tos-mi-t b{display:block;color:var(--ink);font-size:14px;font-weight:700;line-height:1.25}
.tos-mi-t small{display:block;margin-top:1px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tos-mi em{flex:none;padding:3px 8px;border-radius:999px;background:#f1eefb;color:var(--deep);font-size:11px;font-style:normal;font-weight:700;white-space:nowrap;transition:background-color .2s,color .2s}
.tos-mi:hover{background:#f6f3ff}
.tos-mi:hover img{transform:scale(1.1) rotate(-3deg)}
.tos-mi:hover em{background:var(--deep);color:#fff}
.tos-dd.is-open .tos-mi{opacity:1;transform:none;transition:background-color .2s,opacity .4s calc(var(--n,0) * 35ms + .08s),transform .4s calc(var(--n,0) * 35ms + .08s)}
@media (hover:hover){.tos-dd:hover .tos-mi{opacity:1;transform:none;transition:background-color .2s,opacity .4s calc(var(--n,0) * 35ms + .08s),transform .4s calc(var(--n,0) * 35ms + .08s)}}
.tos-mega-all{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:10px 16px;border:1px solid #ece6ff;border-radius:12px;background:#faf8ff;color:var(--brand);font-size:14px;font-weight:700}
.tos-mega-all .i{width:16px;height:16px;transition:transform .25s}
.tos-mega-all:hover{background:#f1ecff}
.tos-mega-all:hover .i{transform:translateX(5px)}
.tos-mega-promo{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 22px 0;overflow:hidden;border-radius:18px;color:#fff;background:radial-gradient(260px 200px at 90% 100%,rgba(244,114,255,.5),transparent 70%),linear-gradient(155deg,#2a0f6b,#6a35e8 62%,#a43df0)}
.tos-mega-promo .tos-eyebrow{margin:0 0 4px}
.tos-mega-promo strong{font-size:19px;line-height:1.15;letter-spacing:-.01em}
.tos-mega-promo>span{color:#e6dcfb;font-size:13px}
.tos-mega-phone{display:block;width:calc(100% + 12px);max-height:250px;margin:10px -6px 0;overflow:hidden;transition:transform .35s cubic-bezier(.3,1.2,.5,1)}
.tos-mega-phone img{display:block;width:100%;height:auto}
.tos-mega-phone:hover{transform:translateY(-8px) scale(1.03)}
.tos-mega-stores{position:absolute;left:24px;bottom:16px;display:flex;gap:8px}
.tos-mega-stores a{display:block;border-radius:8px;transition:transform .2s}
.tos-mega-stores a:hover{transform:translateY(-2px)}
.tos-mega-stores img{display:block;height:34px;width:auto}
@media (prefers-reduced-motion:reduce){.tos-mi,.tos-mega-in,.tos-panel{transition:none!important}.tos-mi{opacity:1;transform:none}}
@media (max-width:1100px){.tos-mega-in{grid-template-columns:minmax(0,1fr) 290px;gap:28px;padding:26px 28px}.tos-mega-stores{left:18px;gap:6px}.tos-mega-stores img{height:30px}}
@media (max-width:1000px){.tos-mi em{display:none}}

.tos-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.tos-icon{position:relative;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:none;color:var(--text);cursor:pointer}
.tos-icon:hover{background:#f4f1fb;color:var(--brand)}
.tos-icon .i{width:21px;height:21px}
.tos-badge{position:absolute;top:2px;right:0;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--pink);color:#fff;font-size:11px;font-weight:700;line-height:1}
.tos-badge[hidden]{display:none}
.tos-actions .tos-btn{margin-left:8px}
.tos-burger{display:none}

/* Mobile drawer */
.tos-drawer{display:none;max-height:calc(100vh - 110px);overflow:auto;padding:8px var(--gutter) 22px;border-top:1px solid var(--line);background:#fff}
.tos-header.is-open .tos-drawer{display:block}
.tos-drawer a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);color:var(--text);font-weight:600;text-decoration:none}
.tos-drawer details{border-bottom:1px solid var(--line)}
.tos-drawer summary{display:flex;align-items:center;justify-content:space-between;padding:13px 4px;font-weight:600;cursor:pointer;list-style:none}
.tos-drawer summary::-webkit-details-marker{display:none}
.tos-drawer details[open] summary .i{transform:rotate(180deg)}
.tos-drawer details a{padding:11px 4px 11px 16px;border:0;font-weight:500;color:var(--muted)}
.tos-drawer .tos-btn{display:flex;margin-top:18px;border:0;color:#fff}
.tos-drawer .tos-drawer-phone{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;border:0;color:var(--muted);font-weight:600}

/* Hero */
.tos-hero{position:relative;overflow:hidden;color:#fff;padding:56px 0 112px;background:
  radial-gradient(760px 460px at 88% 108%,rgba(196,63,220,.5),transparent 62%),
  radial-gradient(640px 460px at 8% -6%,rgba(106,53,232,.5),transparent 62%),
  linear-gradient(160deg,#1c0c48 0%,#140a33 55%,#26104f 100%)}
.tos-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.tos-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#d8b4fe;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tos-eyebrow::before{content:"";width:22px;height:2px;background:#c084fc}
.tos-hero h1{margin:0 0 20px;font-size:clamp(34px,5.4vw,58px);font-weight:800;line-height:1.08;letter-spacing:-.02em}
.tos-grad{background:linear-gradient(90deg,#e04ff0,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.tos-lead{max-width:520px;margin:0 0 28px;color:#d6cff0;font-size:clamp(15.5px,1.6vw,17.5px)}
.tos-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.tos-checks{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;list-style:none;color:#cfc7ee;font-size:13.5px}
.tos-checks li{display:flex;align-items:center;gap:8px}
.tos-checks .i{color:#6ee7b7}

.tos-collage{position:relative;width:100%;max-width:520px;aspect-ratio:1/1;margin-left:auto}
.tos-ph{position:absolute;overflow:hidden;border-radius:20px;background:#2b1760;box-shadow:0 22px 44px rgba(0,0,0,.38)}
.tos-ph img{display:block;width:100%;height:100%;object-fit:cover}
.tos-ph--a{left:0;top:9%;width:56%;height:62%}
.tos-ph--b{right:0;top:0;width:46%;height:45%}
.tos-ph--c{right:3%;bottom:0;width:51%;height:44%}
.tos-float{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:var(--shadow);font-size:13px;line-height:1.25}
.tos-float b{display:block;font-weight:800}
.tos-float small{color:var(--muted);font-size:12px}
.tos-float-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff}
.tos-float--eta{left:-4%;bottom:15%}
.tos-float--eta .tos-float-ic{background:var(--ok)}
.tos-float--promo{right:-3%;top:51%}
.tos-float--promo .tos-float-ic{background:linear-gradient(135deg,#5b2dd4,#a43df0)}

/* Promo strip */
.tos-promo-wrap{position:relative;z-index:3;margin:-58px auto 48px}
.tos-promo{display:flex;align-items:center;gap:18px;padding:16px 20px;background:#fff;border-radius:18px;box-shadow:0 20px 48px rgba(22,9,58,.2)}
.tos-promo-badge{display:grid;place-items:center;flex:none;min-width:54px;height:54px;padding:0 8px;border-radius:14px;background:linear-gradient(135deg,#5b2dd4,#a43df0);color:#fff;font-size:15px;font-weight:800;white-space:nowrap}
.tos-promo-copy{min-width:0}
.tos-promo-copy strong{display:block;font-size:17px;font-weight:800;color:var(--ink)}
.tos-promo-copy span{color:var(--muted);font-size:13.5px}
.tos-code{display:flex;align-items:center;gap:16px;margin-left:auto;padding:12px 18px;border:2px dashed #a78bfa;border-radius:12px;background:#faf7ff;color:#5b2dd4;font-size:18px;font-weight:800;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.tos-code small{color:#6b6585;font-size:12px;font-weight:600;letter-spacing:0}
.tos-code:hover{background:#f3ecff}

/* Tablet */
@media (max-width:960px){
  .tos-nav>nav,.tos-actions>.tos-btn{display:none}
  .tos-burger{display:grid}
  .tos-nav{gap:12px}
  .tos-actions{margin-left:auto}
  .tos-hero{padding:40px 0 100px}
  .tos-hero-grid{grid-template-columns:1fr;gap:40px}
  .tos-collage{max-width:460px;margin:0 auto}
  .tos-float--eta{left:-2%}
  .tos-float--promo{right:-2%}
}
@media (min-width:961px){.tos-drawer{display:none!important}}

/* Phone */
@media (max-width:560px){
  .tos-top{font-size:12px}
  .tos-hide-sm{display:none!important}
  .tos-top-links{gap:14px}
  .tos-logo img{height:36px}
  .tos-nav{min-height:60px}
  .tos-hero{padding:32px 0 96px}
  .tos-cta .tos-btn{flex:1 1 150px}
  .tos-collage{max-width:100%}
  .tos-float{padding:8px 10px 8px 8px;font-size:12px}
  .tos-float-ic{width:30px;height:30px}
  .tos-float--eta{left:0;bottom:12%}
  .tos-float--promo{right:0}
  .tos-promo{flex-wrap:wrap;gap:14px;padding:16px}
  .tos-promo-copy{flex:1 1 180px}
  .tos-code{width:100%;justify-content:space-between;margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Instant price */
:root{--deep:#4b21b5}
.tos-sec{padding:40px 0 72px}
.tos-eyebrow--dark{color:var(--brand)}
.tos-eyebrow--dark::before{background:linear-gradient(90deg,#a43df0,#6a35e8)}
.tos-h2{margin:0 0 16px;color:var(--ink);font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.02em}
.tos-sub{max-width:440px;margin:0 0 28px;color:var(--muted);font-size:17px}
.tos-price-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.tos-points{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.tos-points li{display:flex;gap:14px;color:var(--muted);font-size:14.5px;line-height:1.45}
.tos-points b{display:block;margin-bottom:1px;color:var(--ink);font-size:15.5px}
.tos-tick{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#f1eefb;color:var(--brand)}
.tos-tick .i{width:15px;height:15px}

.tos-calc{position:relative;max-width:560px;margin-left:auto;overflow:hidden;border:1.5px solid transparent;border-radius:26px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#6a35e8,#e04ff0 55%,#6a35e8) border-box;box-shadow:0 30px 70px rgba(75,33,181,.2),0 6px 16px rgba(22,9,58,.06)}
.tos-calc-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 26px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#faf8ff,#fff);color:var(--muted);font-size:12.5px}
.tos-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:999px;background:#e9fbf1;color:#0b7a4f;font-weight:700}
.tos-pill .tos-live{margin:0}
.tos-calc-body{padding:22px 26px 6px}
.tos-field{min-width:0;margin:0 0 20px;padding:0;border:0}
.tos-field legend{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:10px;color:var(--ink);font-size:14px;font-weight:700}
.tos-step{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f1eefb;color:var(--deep);font-size:12px;font-weight:800}
.tos-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tos-tile,.tos-chip{position:relative;cursor:pointer}
.tos-tile input,.tos-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.tos-tile>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;height:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff;transition:border-color .2s,background-color .2s,box-shadow .25s,transform .2s}
.tos-tile-ic{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f1eefb;color:var(--deep);transition:background-color .2s,color .2s,transform .3s cubic-bezier(.3,1.4,.5,1)}
.tos-tile-ic .i{width:21px;height:21px}
.tos-tile b{align-self:end;color:var(--ink);font-size:14.5px;line-height:1.2}
.tos-tile small{align-self:start;color:var(--muted);font-size:12px}
.tos-tile:hover>span{border-color:#c9b9f6;transform:translateY(-2px)}
.tos-tile input:checked + span{border-color:var(--deep);background:linear-gradient(135deg,#f7f4ff,#fff);box-shadow:0 10px 24px rgba(75,33,181,.16)}
.tos-tile input:checked + span .tos-tile-ic{background:linear-gradient(135deg,#4b21b5,#a43df0);color:#fff;transform:scale(1.06) rotate(-4deg)}
.tos-tile input:focus-visible + span,.tos-chip input:focus-visible + span{outline:2px solid #a78bfa;outline-offset:2px}
.tos-chips{display:flex;flex-wrap:wrap;gap:8px}
.tos-chip>span{display:grid;justify-items:center;gap:1px;min-width:76px;padding:9px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .25s}
.tos-chip b{color:var(--ink);font-size:14px}
.tos-chip small{color:var(--muted);font-size:11.5px;font-weight:600;white-space:nowrap}
.tos-chip:hover>span{border-color:#c9b9f6;transform:translateY(-2px)}
.tos-chip input:checked + span{border-color:var(--deep);background:var(--deep);box-shadow:0 10px 22px rgba(75,33,181,.32);transform:translateY(-2px)}
.tos-chip input:checked + span b{color:#fff}
.tos-chip input:checked + span small{color:#d9ccff}

.tos-calc-foot{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding:22px 26px 24px;color:#fff;background:radial-gradient(260px 160px at 100% 0,rgba(224,79,240,.4),transparent 70%),linear-gradient(135deg,#1c0c48,#3a1aa8 70%,#5b2dd4)}
.tos-calc-label{display:block;color:#cdbff5;font-size:13px}
.tos-amount{display:flex;align-items:baseline;gap:7px;color:#fff}
.tos-cur{color:#cdbff5;font-size:15px;font-weight:700}
.tos-amount strong{font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tos-amount s{color:#a99bd6;font-size:15px}
.tos-vat{display:block;color:#bcaee8;font-size:12.5px}
.tos-btn--light{color:var(--deep);background:#fff;padding:15px 26px;box-shadow:0 10px 26px rgba(8,3,28,.35)}
.tos-btn--light:hover{background:#f6f3ff}
.tos-btn.is-busy{opacity:.7;pointer-events:none}
.tos-calc.is-changed .tos-amount strong{animation:tos-flash .5s ease-out}
@keyframes tos-flash{0%{transform:scale(1.07);color:#f0abfc}100%{transform:none;color:#fff}}
.tos-calc-err{margin:0;padding:12px 26px;background:#fdecef;color:#b4113f;font-size:13.5px}
.tos-calc-err[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.tos-calc.is-changed .tos-amount strong{animation:none}}

@media (max-width:960px){
  .tos-sec{padding:24px 0 56px}
  .tos-price-grid{grid-template-columns:1fr;gap:32px}
  .tos-sub{max-width:none}
  .tos-calc{max-width:none;margin:0}
}
@media (max-width:560px){
}

/* Shared section bits */
.tos-sec--tight{padding-top:24px}
.tos-center{text-align:center}
.tos-center.tos-eyebrow{justify-content:center}
.tos-btn--outline{color:var(--deep);border-color:#b9a6f5;background:#fff}
.tos-btn--outline:hover{background:#f4f1fb}
.tos-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:28px}
.tos-head .tos-h2{margin:0;max-width:640px}

/* Service cards */
.tos-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0;list-style:none}
.tos-card{display:flex;flex-direction:column;height:100%;overflow:hidden;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;transition:transform .18s,box-shadow .18s,border-color .18s}
.tos-card:hover{transform:translateY(-3px);border-color:#d6caf8;box-shadow:0 14px 32px rgba(22,9,58,.12)}
.tos-card-img{position:relative;display:block;aspect-ratio:3/2;background:#efeaf9}
.tos-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.tos-tag{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:6px;background:#fff;color:var(--brand);font-size:11px;font-weight:700;box-shadow:0 2px 8px rgba(22,9,58,.15)}
.tos-card-body{display:flex;flex:1;flex-direction:column;gap:4px;padding:14px 16px 16px}
.tos-card-body strong{color:var(--ink);font-size:15.5px;line-height:1.3}
.tos-card-desc{color:var(--muted);font-size:13px;line-height:1.4}
.tos-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px}
.tos-card-foot em{color:var(--deep);font-size:13.5px;font-style:normal;font-weight:800}
.tos-go{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1eefb;color:var(--deep);transition:background-color .18s,color .18s}
.tos-go .i{width:15px;height:15px}
.tos-card:hover .tos-go{background:var(--deep);color:#fff}

/* How it works */
.tos-band{padding:64px 0 72px;background:#f4f1fd}
.tos-band .tos-h2{margin-bottom:40px}
.tos-steps{--prog:1;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;text-align:center}
.tos-steps::before,.tos-steps::after{content:"";position:absolute;z-index:0;top:27px;left:16.67%;height:3px;border-radius:2px}
.tos-steps::before{right:16.67%;background:#ddd5f7}
.tos-steps::after{width:calc(66.66% * var(--prog));background:linear-gradient(90deg,#4b21b5,#a43df0);transition:width .7s cubic-bezier(.4,0,.2,1)}
.tos-steps li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:300px;margin-inline:auto;padding:0 8px 12px;color:var(--muted);font-size:14px;cursor:default;transition:transform .25s}
.tos-steps li:hover{transform:translateY(-4px)}
.tos-steps strong{margin-top:6px;color:var(--ink);font-size:17px;transition:color .25s}
.tos-steps li.is-on strong{color:var(--deep)}
.tos-num{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border-radius:50%;background:#fff;border:2px solid #ddd5f7;color:var(--muted);font-size:18px;font-weight:800;box-shadow:0 6px 18px rgba(22,9,58,.08);transition:color .3s .1s,border-color .3s,box-shadow .3s}
.tos-num::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:linear-gradient(135deg,#4b21b5,#a43df0);transform:scale(0);transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.tos-steps li.is-on .tos-num{color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(106,53,232,.4)}
.tos-steps li.is-on .tos-num::before{transform:scale(1)}
.tos-steps li.is-hot .tos-num{animation:tos-ring .9s ease-out}
@keyframes tos-ring{0%{box-shadow:0 0 0 0 rgba(164,61,240,.55)}100%{box-shadow:0 0 0 16px rgba(164,61,240,0)}}
@media (prefers-reduced-motion:reduce){.tos-steps::after,.tos-num,.tos-num::before{transition:none}.tos-steps li.is-hot .tos-num{animation:none}}

/* Stats */
.tos-stats{padding:44px 0;color:#fff;background:radial-gradient(520px 260px at 80% 20%,rgba(164,61,240,.35),transparent 70%),linear-gradient(120deg,#1c0c48,#26104f)}
.tos-stats dl{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0}
.tos-stats dl>div{padding-left:20px;border-left:1px solid rgba(255,255,255,.18)}
.tos-stats dt{font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.tos-stats dd{margin:6px 0 0;color:#cfc7ee;font-size:13.5px}

/* Why */
.tos-why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 0;padding:0;list-style:none}
.tos-why li{position:relative;overflow:hidden;padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px}
.tos-why li::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(196,63,220,.2),transparent 70%)}
.tos-why-ic{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:12px;background:#f1eefb;color:var(--brand)}
.tos-why h3{margin:0 0 6px;color:var(--ink);font-size:16.5px}
.tos-why p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:14px}

/* Areas marquee */
.tos-areas .tos-h2{margin-bottom:28px}
.tos-marquee{display:grid;gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tos-mq-row{display:flex;width:max-content}
.tos-mq-track{display:flex;flex:none;gap:12px;margin:0;padding:0 12px 0 0;list-style:none;animation:tos-mq var(--mq-time,60s) linear infinite}
.tos-mq-row.is-rev .tos-mq-track{animation-direction:reverse}
.tos-marquee:hover .tos-mq-track{animation-play-state:paused}
.tos-mq-track li{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14.5px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px rgba(22,9,58,.05)}
.tos-mq-track .i{color:#c026d3}
.tos-note{margin:20px 0 0;color:var(--muted);font-size:13.5px;text-align:center}
@keyframes tos-mq{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){
  .tos-mq-row{width:auto;flex-wrap:wrap;justify-content:center;padding-inline:var(--gutter)}
  .tos-mq-track{flex-wrap:wrap;justify-content:center;animation:none}
  .tos-mq-track[aria-hidden]{display:none}
  .tos-marquee{-webkit-mask-image:none;mask-image:none}
}

/* Footer */
.tos-footer{position:relative;isolation:isolate;margin-top:56px;overflow:hidden;color:#c9c1e6;background:linear-gradient(180deg,#120836,#0d0629);font-size:14.5px}
.tos-footer::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#6a35e8,#e04ff0,#6a35e8,transparent);background-size:200% 100%;animation:tos-shine 7s linear infinite}
@keyframes tos-shine{to{background-position:-200% 0}}
.tos-foot-glow{position:absolute;z-index:-1;left:-6%;top:-30%;width:560px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(106,53,232,.28),transparent 65%);animation:tos-drift 16s ease-in-out infinite alternate}
.tos-footer::after{content:"";position:absolute;z-index:-1;right:-8%;bottom:-40%;width:560px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(196,63,220,.2),transparent 65%);animation:tos-drift 18s ease-in-out infinite alternate-reverse}
.tos-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-block:64px 44px}
.tos-footer h2{margin:0 0 18px;color:#fff;font-size:16px;font-weight:700}
.tos-footer ul{margin:0;padding:0;list-style:none}
.tos-footer li{margin-bottom:11px}
.tos-footer a{color:inherit;text-decoration:none;transition:color .2s}
.tos-footer nav a{position:relative;display:inline-block;padding:1px 0;transition:color .2s,transform .25s}
.tos-footer nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:linear-gradient(90deg,#a43df0,#e04ff0);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.tos-footer nav a:hover{color:#fff;transform:translateX(5px)}
.tos-footer nav a:hover::after{transform:scaleX(1)}
.tos-brand{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.2em;line-height:1.25;text-transform:uppercase}
.tos-brand img{display:block;width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 0 rgba(164,61,240,.5);animation:tos-halo 3.6s ease-out infinite;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.tos-brand:hover img{transform:rotate(14deg) scale(1.08)}
@keyframes tos-halo{70%,100%{box-shadow:0 0 0 14px rgba(164,61,240,0)}}
.tos-footer address{display:grid;gap:7px;margin:22px 0 22px;font-style:normal;line-height:1.55}
.tos-footer address a:hover{color:#fff}
.tos-social{display:flex;gap:10px}
.tos-social a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;transition:transform .25s,background-color .25s,border-color .25s,box-shadow .25s}
.tos-social a:hover{transform:translateY(-4px) scale(1.05);border-color:transparent;background:linear-gradient(135deg,#4b21b5,#c43fdc);box-shadow:0 10px 22px rgba(164,61,240,.45)}
.tos-social .i{width:18px;height:18px}
.tos-foot-bar{border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#9d93c4}
.tos-foot-bar .tos-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-block:20px}
.tos-foot-bar nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.tos-foot-bar a:hover{color:#fff}

/* WhatsApp button, on every page */
.tos-fab{position:fixed;right:20px;bottom:20px;z-index:75;display:flex;align-items:center;gap:0;height:58px;padding:0 17px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#1fc462,#12994a);box-shadow:0 10px 26px rgba(18,153,74,.45);text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .25s,box-shadow .25s}
.tos-fab::before{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;z-index:-1;animation:tos-pulse 2.6s ease-out infinite}
.tos-fab .i{width:24px;height:24px}
.tos-fab span{max-width:0;overflow:hidden;opacity:0;transition:max-width .35s ease,opacity .25s,margin .35s}
.tos-fab:hover,.tos-fab:focus-visible{transform:translateY(-3px);box-shadow:0 14px 32px rgba(18,153,74,.55)}
.tos-fab:hover span,.tos-fab:focus-visible span{max-width:140px;margin-right:10px;opacity:1}
@keyframes tos-pulse{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){.tos-footer::before,.tos-footer::after,.tos-foot-glow,.tos-brand img,.tos-fab::before{animation:none}}

/* Cookie banner and back to top */
.tos-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;display:none;align-items:center;justify-content:space-between;gap:16px;max-width:760px;margin-inline:auto;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);font-size:13.5px}
.tos-cookie p{margin:0;color:var(--muted)}
.tos-cookie .tos-btn{flex:none}
#back-to-top{position:fixed;right:20px;bottom:92px;z-index:70}
#top{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--deep);box-shadow:0 8px 20px rgba(75,33,181,.4)}

@media (max-width:1100px){
  .tos-cards{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .tos-cards{grid-template-columns:repeat(2,1fr)}
  .tos-why{grid-template-columns:repeat(2,1fr)}
  .tos-stats dl{grid-template-columns:repeat(2,1fr);row-gap:28px}
  .tos-foot-grid{grid-template-columns:1fr 1fr;gap:32px 24px;padding-block:48px 32px}
  .tos-foot-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .tos-steps{grid-template-columns:1fr;gap:28px}
  .tos-steps::before,.tos-steps::after{display:none}
  .tos-band{padding:48px 0 52px}
  .tos-cards{gap:12px}
  .tos-card-body{padding:11px 12px 13px}
  .tos-card-body strong{font-size:14px}
  .tos-card-desc{font-size:12px}
  .tos-why{grid-template-columns:1fr}
  .tos-head .tos-btn{width:100%}
  .tos-cookie{flex-direction:column;align-items:stretch}
}
@media (max-width:480px){.tos-fab{right:14px;bottom:14px;height:52px;padding:0 14px}#back-to-top{right:14px;bottom:78px}}

.tos-flash{padding:12px var(--gutter);text-align:center;font-size:14px;font-weight:600}
.tos-flash--success{background:#e7f8f0;color:#0b6b4a}
.tos-flash--error{background:#fdecef;color:#b4113f}

/* Scroll reveal (only when JS is on: tos.js adds .is-in) */
@media (prefers-reduced-motion:no-preference){
  /* Content is visible by default (never opacity:0): the reveal is only a short, small slide-up. */
  .tos-reveal{transform:translateY(14px);transition:transform .4s cubic-bezier(.2,.7,.2,1);transition-delay:calc(min(var(--i,0),4) * 40ms)}
  .tos-reveal.is-in{transform:none}
}
.tos-eyebrow--light{color:#e9d5ff}
.tos-eyebrow--light::before{background:#e9d5ff}
.tos-center.tos-eyebrow--light{justify-content:center}

/* Reviews */
.tos-rev-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.tos-score{display:flex;align-items:center;gap:16px;margin:0 0 26px}
.tos-score strong{color:var(--ink);font-size:56px;font-weight:800;line-height:1;letter-spacing:-.03em}
.tos-score small{display:block;margin-top:4px;color:var(--muted);font-size:13.5px}
.tos-stars{display:inline-flex;gap:2px;color:#d9d3ea}
.tos-stars .i{width:17px;height:17px;fill:currentColor;stroke:none}
.tos-stars .i.is-on{color:#f5a623}
.tos-rev-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:500px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}
.tos-rev-cols.is-single{grid-template-columns:1fr}
.tos-rev-col{min-width:0;overflow:hidden}
.tos-rev-track{display:flex;flex-direction:column;gap:16px;padding-bottom:16px;animation:tos-vert var(--t,60s) linear infinite}
.tos-rev-col.is-rev .tos-rev-track{animation-direction:reverse}
.tos-rev-cols:hover .tos-rev-track{animation-play-state:paused}
@keyframes tos-vert{to{transform:translateY(calc(-100% / var(--loops,2)))}}
.tos-rev{position:relative;margin:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(22,9,58,.07)}
.tos-rev::after{content:"\201C";position:absolute;top:6px;right:16px;color:#ece6fb;font-size:64px;font-weight:800;line-height:1}
.tos-rev blockquote{margin:12px 0 16px;color:var(--text);font-size:14.5px;line-height:1.55}
.tos-rev figcaption{display:flex;align-items:center;gap:10px}
.tos-rev figcaption span:nth-child(2){flex:1;min-width:0}
.tos-rev figcaption b{display:block;color:var(--ink);font-size:14px}
.tos-rev figcaption small{display:block;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tos-av{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4b21b5,#a43df0);color:#fff;font-size:14px;font-weight:800}
.tos-ver{flex:none;width:20px;height:20px;padding:3px;border-radius:50%;background:#e7f8f0;color:#0b8a5d}
.tos-rev-cols.is-reading{overflow-y:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:thin}
.tos-rev-cols.is-reading .tos-rev-col{overflow:visible}
.tos-rev-cols.is-reading .tos-rev-track{animation:none}
.tos-rev-cols.is-reading [aria-hidden]{display:none}

/* App banner */
.tos-app{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:24px;padding:56px 56px 0;overflow:hidden;border-radius:28px;color:#fff;background:radial-gradient(520px 340px at 85% 90%,rgba(244,114,255,.55),transparent 65%),linear-gradient(125deg,#2a0f6b,#6a35e8 60%,#a43df0)}
.tos-app-copy{padding-bottom:56px}
.tos-app h2{margin:0 0 14px;font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.tos-app p:not(.tos-eyebrow){max-width:460px;margin:0 0 26px;color:#e6dcfb;font-size:16px}
.tos-app-art{align-self:end}
.tos-app-art img{display:block;width:100%;max-width:460px;margin-left:auto;animation:tos-float 7s ease-in-out infinite}
@keyframes tos-float{50%{transform:translateY(-12px)}}

/* FAQ */
.tos-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.tos-btn--wa{color:#fff;background:#16a34a;box-shadow:0 8px 20px rgba(22,163,74,.3)}
.tos-btn--wa:hover{background:#12873d}
.tos-faq-item{border-bottom:1px solid var(--line)}
.tos-faq-item h3{margin:0}
.tos-faq-item button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:20px 0;border:0;background:none;color:var(--ink);font-size:16.5px;font-weight:700;text-align:left;cursor:pointer}
.tos-faq-item button:hover{color:var(--brand)}
.tos-faq-ic{position:relative;flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;transition:background-color .2s,border-color .2s}
.tos-faq-ic::before,.tos-faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;margin:-1px 0 0 -5.5px;border-radius:1px;background:currentColor;transition:transform .25s}
.tos-faq-ic::after{transform:rotate(90deg)}
.tos-faq-item.is-open .tos-faq-ic{background:var(--deep);border-color:var(--deep);color:#fff}
.tos-faq-item.is-open .tos-faq-ic::after{transform:rotate(0)}
.tos-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.tos-faq-a>div{overflow:hidden}
.tos-faq-a p{margin:0 0 20px;max-width:560px;color:var(--muted);font-size:15px}
.tos-faq-item.is-open .tos-faq-a{grid-template-rows:1fr}
.tos-faq-all{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--brand);font-size:14.5px;font-weight:700;text-decoration:none}
.tos-faq-all:hover{text-decoration:underline}

/* Final call to action */
.tos-sec--last{padding-bottom:24px}
.tos-cta-band{position:relative;isolation:isolate;overflow:hidden;padding:76px 24px;border-radius:28px;color:#fff;text-align:center;background:linear-gradient(150deg,#1c0c48,#140a33 60%,#26104f)}
.tos-cta-band::before,.tos-cta-band::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(8px);animation:tos-drift 14s ease-in-out infinite alternate}
.tos-cta-band::before{left:-8%;top:-40%;width:520px;height:420px;background:radial-gradient(circle,rgba(106,53,232,.55),transparent 65%)}
.tos-cta-band::after{right:-6%;bottom:-50%;width:560px;height:440px;background:radial-gradient(circle,rgba(196,63,220,.5),transparent 65%);animation-direction:alternate-reverse}
@keyframes tos-drift{to{transform:translate(60px,30px) scale(1.15)}}
.tos-cta-band h2{margin:0 0 14px;font-size:clamp(30px,4.4vw,50px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.tos-cta-sub{margin:0 0 28px;color:#d6cff0;font-size:17px}
.tos-cta-sub b{color:#fff;letter-spacing:.04em}
.tos-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media (prefers-reduced-motion:reduce){.tos-app-art img,.tos-cta-band::before,.tos-cta-band::after,.tos-rev-track{animation:none}.tos-rev-cols{overflow-y:auto}.tos-rev [aria-hidden],.tos-rev[aria-hidden]{display:none}}

@media (max-width:960px){
  .tos-rev-grid,.tos-faq-grid{grid-template-columns:1fr;gap:32px}
  .tos-app{grid-template-columns:1fr;padding:40px 28px 0;text-align:left}
  .tos-app-copy{padding-bottom:8px}
  .tos-app-art img{margin:0 auto;max-width:380px}
}
@media (max-width:560px){
  .tos-rev-cols{grid-template-columns:1fr;height:440px}
  .tos-rev-col:nth-child(2){display:none}
  .tos-score strong{font-size:48px}
  .tos-app{border-radius:22px;padding:32px 20px 0}
  .tos-cta-band{padding:56px 18px;border-radius:22px}
  .tos-cta-btns .tos-btn{flex:1 1 100%}
  .tos-faq-item button{font-size:15.5px}
}

/* Hero: premium entrance and motion (transform and opacity only) */
.tos-orb{position:absolute;z-index:0;border-radius:50%;pointer-events:none}
.tos-orb--1{left:-10%;top:-30%;width:620px;height:520px;background:radial-gradient(circle,rgba(124,61,255,.38),transparent 65%);animation:tos-drift 15s ease-in-out infinite alternate}
.tos-orb--2{right:-8%;bottom:-35%;width:640px;height:520px;background:radial-gradient(circle,rgba(224,79,240,.3),transparent 65%);animation:tos-drift 18s ease-in-out infinite alternate-reverse}
.tos-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.2px);background-size:30px 30px;-webkit-mask-image:radial-gradient(70% 80% at 30% 40%,#000,transparent 75%);mask-image:radial-gradient(70% 80% at 30% 40%,#000,transparent 75%);opacity:.55}
.tos-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(420px 320px at var(--sx,68%) var(--sy,35%),rgba(190,140,255,.2),transparent 70%);transition:background-position .2s}
.tos-hero-grid{position:relative;z-index:1}

@keyframes tos-rise{from{opacity:.02;transform:translateY(26px)}to{opacity:1;transform:none}}
.tos-in{animation:tos-rise .9s cubic-bezier(.2,.8,.2,1) var(--d,0s) both}

/* Headline: each word slides up out of a mask. Text stays opaque, so it paints (and counts for LCP) immediately. */
.tos-hero h1 .tos-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.tos-hero h1 .tos-w>span{display:inline-block;animation:tos-word .95s cubic-bezier(.2,.8,.2,1) calc(var(--w,0) * 70ms + .1s) both}
@keyframes tos-word{from{transform:translateY(108%)}to{transform:none}}
.tos-grad{background-size:220% 100%;animation:tos-shimmer 5s linear 1.8s infinite}
.tos-hero h1 .tos-grad{display:inline-block}
/* Rotating last word: all words share one grid cell, so the box is as wide as the longest and never shifts the headline */
.tos-hero h1 .tos-w>.tos-rot{display:inline-grid;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.tos-rw{display:block;grid-area:1/1;transform:translateY(118%);opacity:0;transition:transform .85s cubic-bezier(.7,0,.2,1),opacity .55s ease}
.tos-rw.is-on{transform:none;opacity:1}
.tos-rw.is-out{transform:translateY(-118%);opacity:0}
.tos-rw.is-reset{transition:none}
@media (prefers-reduced-motion:reduce){.tos-rw{transition:none}}
@keyframes tos-shimmer{to{background-position:-220% 0}}

.tos-btn--shine{position:relative;overflow:hidden;animation:tos-glow 3.2s ease-in-out 1.6s infinite}
.tos-btn--shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.tos-btn--shine:hover::after{left:130%}
.tos-btn--shine .i{transition:transform .25s}
.tos-btn--shine:hover .i{transform:translateX(4px)}
@keyframes tos-glow{50%{box-shadow:0 10px 30px rgba(124,61,255,.65)}}

.tos-proof{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:8px 16px 8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);color:#d6cff0;font-size:13px;text-decoration:none;backdrop-filter:blur(6px);transition:background-color .2s,border-color .2s}
.tos-proof:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.tos-proof b{color:#fff}
.tos-proof .tos-stars .i{width:14px;height:14px}

/* Collage: pop in, then float; pointer parallax uses the separate `translate` property */
.tos-ph{margin:0;translate:calc(var(--mx,0) * var(--k,10) * 1px) calc(var(--my,0) * var(--k,10) * .8px);transition:translate .4s ease-out;animation:tos-pop 1s cubic-bezier(.2,.8,.2,1) var(--d,0s) both,tos-bob 7s ease-in-out calc(var(--d,0s) + 1s) infinite}
.tos-ph--a{--k:-14}.tos-ph--b{--k:18}.tos-ph--c{--k:-8}
.tos-ph--b{animation-name:tos-pop,tos-bob2}
.tos-ph--c{animation-name:tos-pop,tos-bob3}
@keyframes tos-pop{from{opacity:.02;transform:translateY(46px) scale(.9) rotate(-2.5deg)}to{opacity:1;transform:none}}
@keyframes tos-bob{50%{transform:translateY(-8px)}}
@keyframes tos-bob2{50%{transform:translateY(9px)}}
@keyframes tos-bob3{50%{transform:translateY(-6px) rotate(.6deg)}}
.tos-float{translate:calc(var(--mx,0) * 22px) calc(var(--my,0) * 16px);transition:translate .35s ease-out;animation:tos-pop .9s cubic-bezier(.2,.8,.2,1) var(--d,1s) both,tos-bob 5.5s ease-in-out calc(var(--d,1s) + .9s) infinite}
.tos-float--promo{animation-name:tos-pop,tos-bob2}
.tos-live{position:relative;flex:none;width:8px;height:8px;margin-left:2px;border-radius:50%;background:#22c55e}
.tos-live::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22c55e;animation:tos-ping 1.8s ease-out infinite}
@keyframes tos-ping{0%{transform:scale(1);opacity:.6}100%{transform:scale(3.2);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .tos-in,.tos-w>span,.tos-grad,.tos-btn--shine,.tos-ph,.tos-float,.tos-orb,.tos-live::after{animation:none!important}
  .tos-ph,.tos-float{translate:none}
}
@media (hover:none){.tos-ph,.tos-float{translate:none}}

/* Services & prices page */
.tos-pagehero{position:relative;overflow:hidden;padding:44px 0 52px;color:#fff;background:radial-gradient(520px 300px at 85% 110%,rgba(196,63,220,.45),transparent 65%),radial-gradient(520px 320px at 5% -20%,rgba(106,53,232,.5),transparent 65%),linear-gradient(160deg,#1c0c48,#140a33 60%,#26104f)}
.tos-crumbs{display:flex;gap:8px;margin-bottom:18px;color:#bdb2e6;font-size:13px}
.tos-crumbs a{color:inherit;text-decoration:none}
.tos-crumbs a:hover{color:#fff}
.tos-pagehero h1{margin:0 0 12px;font-size:clamp(30px,4.6vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.tos-pagehero p{max-width:640px;margin:0 0 24px;color:#d6cff0;font-size:16.5px}
.tos-search{position:relative;max-width:520px}
.tos-search .i{position:absolute;left:18px;top:50%;width:19px;height:19px;margin-top:-9.5px;color:#7a6fa6;pointer-events:none}
.tos-search input{width:100%;height:54px;padding:0 20px 0 48px;border:2px solid transparent;border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:15px;box-shadow:0 12px 30px rgba(8,3,28,.35);outline:0;transition:border-color .2s,box-shadow .2s}
.tos-search input:focus{border-color:#a78bfa;box-shadow:0 12px 34px rgba(124,61,255,.45)}
.tos-pl{padding-top:36px}
.tos-catcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 20px;padding:0;list-style:none}
.tos-catcard{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:170px;padding:16px 18px;overflow:hidden;border-radius:18px;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 10px 26px rgba(22,9,58,.16);transition:transform .25s,box-shadow .25s}
.tos-catcard img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tos-catcard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,6,41,0) 25%,rgba(14,6,41,.82))}
.tos-catcard:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(22,9,58,.28)}
.tos-catcard:hover img{transform:scale(1.07)}
.tos-catcard strong{display:block;font-size:17px;line-height:1.2}
.tos-catcard small{display:block;margin-top:2px;color:#e3dbfb;font-size:12.5px}
.tos-catcard .tos-go{background:#fff;color:var(--deep)}
.tos-catcard:hover .tos-go{background:var(--deep);color:#fff}

.tos-plcat{padding-top:44px;scroll-margin-top:92px}
.tos-plhead{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.tos-plhead>img{flex:none;width:56px;height:56px;border-radius:14px;object-fit:cover}
.tos-plhead>div{flex:1;min-width:0}
.tos-plhead h2{margin:0;color:var(--ink);font-size:clamp(21px,2.4vw,27px);font-weight:800;letter-spacing:-.01em}
.tos-plhead p{margin:2px 0 0;color:var(--muted);font-size:14px}
.tos-svcs{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;padding:0;list-style:none}
.tos-svc{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.tos-svc:hover{border-color:#d6caf8;box-shadow:0 8px 22px rgba(22,9,58,.08)}
.tos-svc.is-hidden{display:none}
.tos-svc>img{flex:none;width:48px;height:48px;border-radius:10px;background:#efeaf9;object-fit:cover}
.tos-svc-t{flex:1;min-width:0}
.tos-svc-t a{display:block;color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.3;text-decoration:none}
.tos-svc-t a:hover{color:var(--brand)}
.tos-svc-t small{display:block;margin-top:1px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tos-svc-p{flex:none;text-align:right;color:var(--ink);font-size:14.5px;white-space:nowrap}
.tos-svc-p s{display:block;color:#8a85a0;font-size:12px}
.tos-svc-c{flex:none;display:grid;place-items:center;min-width:84px}
.tos-addbtn{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid #c9b9f6;border-radius:999px;background:#f6f3ff;color:var(--deep);font-size:13.5px;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,transform .15s}
.tos-addbtn:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.tos-addbtn:active{transform:scale(.95)}
.tos-qty{display:none;align-items:center;gap:2px;padding:3px;border-radius:999px;background:var(--deep);color:#fff}
.tos-qty button{width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.tos-qty button:hover{background:rgba(255,255,255,.3)}
.tos-qty b{min-width:24px;text-align:center;font-size:14px}
.tos-svc.is-in .tos-addbtn{display:none}
.tos-svc.is-in .tos-qty{display:inline-flex;animation:tos-rise .3s ease both}
.tos-svc.is-busy{opacity:.7;pointer-events:none}
.tos-noresult{margin:36px 0 0;padding:28px;border-radius:16px;background:#f6f3ff;color:var(--muted);text-align:center}
.tos-noresult a{color:var(--brand);font-weight:700}
.tos-seo{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.tos-seo h2{margin:0 0 8px;color:var(--ink);font-size:18px}
.tos-seo p{max-width:860px;margin:0;color:var(--muted);font-size:14px}
.tos-cartbar{position:fixed;left:50%;bottom:20px;z-index:72;display:flex;align-items:center;gap:18px;padding:10px 12px 10px 20px;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 16px 40px rgba(14,6,41,.4);font-size:14px;transform:translateX(-50%);animation:tos-rise .4s ease both}
.tos-cartbar[hidden]{display:none}
.tos-cartbar small{color:#bdb2e6}

@media (max-width:960px){.tos-catcards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){
  .tos-svcs{grid-template-columns:1fr}
  .tos-plhead{flex-wrap:wrap}
  .tos-plhead .tos-btn{width:100%}
}
@media (max-width:560px){
  .tos-catcards{gap:12px}
  .tos-catcard{min-height:140px;padding:12px 14px}
  .tos-catcard strong{font-size:15px}
  .tos-catcard .tos-go{display:none}
  .tos-svc{flex-wrap:wrap;row-gap:8px}
  .tos-svc-t{flex:1 1 calc(100% - 140px)}
  .tos-cartbar{left:12px;right:12px;bottom:84px;transform:none;justify-content:space-between;gap:10px;padding-left:16px}
}
.tos-toast{position:fixed;left:50%;bottom:88px;z-index:90;max-width:calc(100vw - 32px);padding:12px 20px;border-radius:12px;background:#b4113f;color:#fff;font-size:14px;font-weight:600;box-shadow:0 12px 30px rgba(180,17,63,.35);transform:translateX(-50%);animation:tos-rise .3s ease both}
.tos-toast[hidden]{display:none}
.tos-fly{position:fixed;z-index:9999;margin:0;border:2px solid #fff;border-radius:12px;object-fit:cover;pointer-events:none;box-shadow:0 12px 28px rgba(75,33,181,.45);will-change:transform,opacity}
.tos-svc-c{will-change:transform}
.tos-qty b{display:inline-block;overflow:hidden}
.tos-addbtn,.tos-qty button{transition:transform .12s,background-color .2s,color .2s}
.tos-qty button:active{transform:scale(.8)}

/* Calculator on phones */
@media (max-width:560px){
  .tos-calc{border-radius:22px}
  .tos-calc-top{padding:12px 16px}
  .tos-calc-top>span:last-child{display:none}
  .tos-calc-body{padding:18px 14px 2px}
  .tos-tiles{gap:8px}
  .tos-tile>span{grid-template-columns:1fr;row-gap:6px;padding:12px}
  .tos-tile-ic{grid-row:auto;width:36px;height:36px}
  .tos-tile b,.tos-tile small{align-self:auto}
  .tos-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}
  .tos-chip>span{min-width:0}
  .tos-calc-foot{flex-direction:column;align-items:stretch;padding:20px 16px 22px}
  .tos-calc-foot .tos-btn{width:100%}
}

/* Touch targets: whole service row opens its page; badge and text links get a proper hit area */
.tos-svc{position:relative}
.tos-svc-t a::after{content:"";position:absolute;inset:0;border-radius:14px}
.tos-svc-c,.tos-svc-p{position:relative;z-index:1}
.tos-svc-p{pointer-events:none}
.tos-apps a{display:block;line-height:0}
.tos-apps img{display:block;height:40px;width:auto}
.tos-faq-all{padding:12px 0}
.tos-proof,.tos-faq-all,.tos-btn{min-height:44px}
.tos-btn--sm{min-height:40px}

/* Responsive polish from the multi-device audit */
.tos-btn{white-space:nowrap}
.tos-apps{display:flex;flex-wrap:wrap;gap:10px}
.tos-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:8px}
.tos-chip>span{min-width:0;padding:9px 6px}
.tos-h2,.tos-cta-band h2,.tos-app h2,.tos-faq-item button span{text-wrap:balance}
@media (max-width:420px){
  .tos-cta{flex-direction:column}
  .tos-cta .tos-btn{flex:1 1 auto;width:100%}
}
@media (max-width:640px){
  .tos-h2 br,.tos-cta-band h2 br{display:none}
}
/* Phone-screen artwork beside the text on tablets, below it only on phones */
@media (min-width:700px) and (max-width:960px){
  .tos-app{grid-template-columns:1.1fr .9fr;padding:44px 36px 0}
  .tos-app-copy{padding-bottom:44px}
  .tos-app-art img{max-width:340px}
}
