/* Marg Software Solution — shared styles (direction: "Rings, light")
   One motif: the distance ring from Muzaffarnagar. It returns as the hero disc, image masks,
   bullets, button shape, the live town map and the footer mark. */

@font-face{font-family:'Chillax';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/chillax-400.woff2) format('woff2')}
@font-face{font-family:'Chillax';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/chillax-500.woff2) format('woff2')}
@font-face{font-family:'Chillax';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/chillax-600.woff2) format('woff2')}

:root{
  /* colour: one ground, one ink, one accent */
  --bg:#ffffff; --surface:#f1f1ec; --ink:#0f0f0f; --muted:#4a4a46;
  --lime:#dafa9c; --lime-deep:#a6d45a; --on-ink:#ffffff; --on-ink-muted:#c9c9c4;
  /* type: five steps */
  --step-small:clamp(1rem,.97rem + .1vw,1.0625rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --step-head:clamp(2rem,1rem + 4vw,4.4rem);
  --step-display:clamp(2.5rem,1rem + 5.2vw,5.6rem);
  /* space and shape */
  --m:clamp(16px,2.4vw,32px);
  --gap-section:clamp(72px,11vw,168px);
  --radius:999px;          /* one shape: the ring */
  --maxw:1440px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Chillax',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:var(--step-body);line-height:1.5;color:var(--ink);background:var(--bg);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
ul,ol{padding:0}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.02}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:12px 18px;z-index:100;border-radius:var(--radius)}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--m)}

/* ---------- buttons: one shape ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--ink);font:600 var(--step-body)/1 'Chillax',sans-serif;padding:18px 30px;min-height:56px;border:0;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s}
.btn:hover{background:var(--lime-deep);transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover{background:#2a2a2a}
.btn.small{min-height:48px;padding:14px 22px;font-size:var(--step-small)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{font-weight:600;text-decoration:underline;text-underline-offset:.2em}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.word{font-size:var(--step-lead);font-weight:600;letter-spacing:-.03em;text-decoration:none;white-space:nowrap;min-height:48px;display:inline-flex;align-items:center}
.primary{display:flex;align-items:center;gap:clamp(14px,1.6vw,28px)}
.primary a,.primary .dd-btn{font:500 var(--step-small)/1 'Chillax',sans-serif;text-decoration:none;color:var(--ink);background:none;border:0;cursor:pointer;padding:14px 4px;min-height:48px;display:inline-flex;align-items:center}
.primary a:hover,.primary .dd-btn:hover,.primary a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.45em;text-decoration-color:var(--lime-deep)}
.head-actions{display:flex;align-items:center;gap:12px}
.head-actions .dl{font:500 var(--step-small)/1 'Chillax',sans-serif;text-decoration:none;padding:14px 4px;min-height:48px;display:inline-flex;align-items:center}
.head-actions .dl:hover{text-decoration:underline;text-underline-offset:.35em;text-decoration-color:var(--lime-deep);text-decoration-thickness:3px}
.menu-btn{display:none;font:600 var(--step-small)/1 'Chillax',sans-serif;background:var(--ink);color:#fff;border:0;border-radius:var(--radius);padding:14px 22px;min-height:48px;cursor:pointer}
.dd{position:relative}
.dd-panel{position:absolute;left:50%;top:calc(100% + 8px);translate:-50% 0;width:min(620px,92vw);background:var(--surface);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;border-radius:28px}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-panel a{padding:12px 16px;border-radius:var(--radius);font:500 var(--step-small)/1.2 'Chillax',sans-serif;min-height:48px;display:flex;align-items:center}
.dd-panel a:hover{background:var(--lime);text-decoration:none}

/* ---------- hero: the ring ---------- */
.hero{position:relative;overflow:hidden;min-height:calc(100svh - 76px);display:flex;align-items:center}
.hero .disc{position:absolute;right:-24vh;top:54%;width:96vh;height:96vh;margin-top:-48vh;border-radius:50%;background:var(--lime)}
.hero .disc::before{content:"";position:absolute;inset:18%;border-radius:50%;background:var(--ink)}
.hero .disc::after{content:"";position:absolute;inset:36%;border-radius:50%;background:var(--lime)}
.hero .copy{position:relative;z-index:2;width:100%;padding-block:clamp(40px,8vh,96px)}
.hero h1{font-size:var(--step-display);max-width:16ch}
.hero .copy p{font-size:var(--step-lead);max-width:28ch;margin:24px 0 32px;line-height:1.35}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap}
.hero.page{min-height:0;padding-block:clamp(40px,8vw,112px)}
.hero.page h1{font-size:var(--step-head);max-width:22ch}
.hero.page .disc{width:64vh;height:64vh;margin-top:-32vh;right:-22vh;top:50%}

/* ---------- fact band ---------- */
.band{background:var(--lime);padding-block:clamp(24px,3vw,40px)}
.band ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px clamp(20px,4vw,56px)}
.band li{font-size:var(--step-small);font-weight:500}
.band b{font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;margin-right:6px}

/* ---------- sections ---------- */
.sec{padding-block:var(--gap-section)}
.sec h2{font-size:var(--step-head);max-width:20ch;margin-bottom:clamp(28px,4vw,56px)}
.sec .lead{font-size:var(--step-lead);max-width:34ch;line-height:1.35;margin:-16px 0 clamp(28px,4vw,48px)}
.on-surface{background:var(--surface)}
.on-lime{background:var(--lime)}
.on-ink{background:var(--ink);color:var(--on-ink)}
.on-ink .lead{color:var(--on-ink-muted)}

/* ---------- service tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--m)}
.tile{padding:clamp(24px,3vw,44px)}
.tile:nth-child(1){background:var(--surface)}
.tile:nth-child(2){background:var(--lime)}
.tile:nth-child(3){background:var(--ink);color:var(--on-ink)}
.tile:nth-child(4){background:var(--surface)}
.tile h3{font-size:clamp(1.6rem,1.1rem + 1.4vw,2.4rem);margin-bottom:24px}
.tile ul{list-style:none;display:grid;gap:22px}
.tile li{display:grid;grid-template-columns:.7em 1fr;gap:6px 14px;align-items:baseline;scroll-margin-top:96px}
.tile li::before{content:"";width:.6em;height:.6em;border-radius:50%;background:currentColor;align-self:start;margin-top:.5em}
.tile li strong{font-weight:600;font-size:var(--step-lead);letter-spacing:-.02em}
.tile li span{grid-column:2;font-size:var(--step-body);line-height:1.45;opacity:.9}
.flash{animation:flash 1.6s ease}
@keyframes flash{0%,60%{background:var(--lime-deep);color:var(--ink)}100%{background:transparent}}

.dev{margin-top:clamp(48px,6vw,88px)}
.dev h3{font-size:var(--step-lead);margin-bottom:16px}
.dev ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--m)}
.dev li strong{display:block;font-weight:600}
.dev li span{font-size:var(--step-body);color:var(--muted)}

/* ---------- ring-masked pictures ---------- */
.orbs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:28px 20px}
.orb{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.orb .pic{width:112px;aspect-ratio:1;border-radius:50%;background:#fff;overflow:hidden;display:grid;place-items:center}
.orb .pic img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}
.orb span{font-size:var(--step-small);font-weight:500;line-height:1.25;max-width:16ch}
.on-lime .orb .pic{background:#fff}
.sub-h{font-size:var(--step-lead);margin:clamp(40px,6vw,72px) 0 24px}

/* ---------- at the counter (four lists) ---------- */
.cols4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(24px,3vw,48px)}
.cols4 h3{font-size:clamp(1.6rem,1.1rem + 1.6vw,2.4rem);margin-bottom:16px}
.cols4 ul{list-style:none;display:grid;gap:10px;font-size:var(--step-body)}
.cols4 li{display:flex;gap:12px;align-items:baseline}
.cols4 li::before{content:"";flex:none;width:.5em;height:.5em;border-radius:50%;background:currentColor;translate:0 -.1em}

/* ---------- banks ---------- */
.banks{list-style:none;display:flex;flex-wrap:wrap;gap:16px}
.banks li{background:#fff;border-radius:var(--radius);padding:14px 30px;min-height:72px;display:grid;place-items:center}
.banks img{height:34px;width:auto;max-width:150px;object-fit:contain}

/* ---------- ring map (live) ---------- */
.ringwrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--m);align-items:center}
.ringwrap svg{width:100%;height:auto;max-height:84vh}
.ringwrap svg circle.r{fill:none;stroke:#d6d6cf;stroke-width:14}
.ringwrap svg circle.hq{fill:var(--ink)}
.ringwrap svg .town{cursor:pointer}
.ringwrap svg .town circle{fill:var(--ink);transition:fill .2s,r .2s}
.ringwrap svg .town:hover circle,.ringwrap svg .town[aria-pressed=true] circle{fill:var(--lime-deep)}
.ringwrap svg .town[aria-pressed=true] circle{r:18}
.ringwrap svg .town:focus-visible{outline:3px solid var(--ink)}
.ringwrap svg text{font:500 22px 'Chillax',sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}
.read{background:var(--lime);padding:clamp(28px,4vw,56px);border-radius:48px;min-height:280px}
.read b{display:block;font-size:clamp(2rem,1.2rem + 2.6vw,3.5rem);letter-spacing:-.03em;line-height:1.05;margin-bottom:12px;font-weight:600}
.read p{font-size:var(--step-lead);line-height:1.35;max-width:26ch}
.read .btn{margin-top:20px}

/* ---------- town rows (coverage page) ---------- */
.rows{list-style:none;max-width:980px}
.rows li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;background:var(--surface);padding:20px 28px;margin-bottom:6px;border-radius:var(--radius)}
.rows li.hq{background:var(--lime)}
.rows b{font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em}
.rows span{font-size:var(--step-small);color:var(--muted)}
.rows em{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- why ---------- */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,4vw,64px)}
.why div{display:grid;grid-template-columns:2.4em 1fr;gap:0 18px;align-items:start}
.why div::before{content:"";width:2.4em;aspect-ratio:1;border-radius:50%;background:var(--lime);box-shadow:none;grid-row:1/3}
.why h3{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem);margin-bottom:8px}
.why p{font-size:var(--step-body);color:var(--on-ink-muted);max-width:34ch}

/* ---------- process ---------- */
.steps-ol{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--m);align-items:end}
.steps-ol li{counter-increment:s;background:var(--surface);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:0}
.steps-ol li::before{content:counter(s);width:56px;aspect-ratio:1;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-weight:600;font-size:var(--step-lead);margin-bottom:auto}
.steps-ol li:nth-child(1){min-height:260px}.steps-ol li:nth-child(2){min-height:330px}.steps-ol li:nth-child(3){min-height:400px}.steps-ol li:nth-child(4){min-height:470px;background:var(--ink);color:var(--on-ink)}
.steps-ol h3{font-size:var(--step-lead);margin:24px 0 8px}
.steps-ol p{font-size:var(--step-body);opacity:.9}

/* ---------- editions (pricing) ---------- */
.eds{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--m);align-items:end}
.eds > li{padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:var(--surface)}
.eds > li:nth-child(1){min-height:300px}.eds > li:nth-child(2){min-height:380px}.eds > li:nth-child(3){min-height:460px;background:var(--lime)}.eds > li:nth-child(4){min-height:540px;background:var(--ink);color:var(--on-ink)}
.eds h2,.eds h3{font-size:clamp(1.8rem,1.2rem + 1.6vw,2.6rem);letter-spacing:-.03em}
.eds .amt{font-size:var(--step-lead);font-weight:600;font-variant-numeric:tabular-nums;margin-top:6px}
.eds .gst{font-size:var(--step-small);opacity:.85}
.eds ul{list-style:none;display:grid;gap:8px;font-size:var(--step-small)}
.eds ul li{display:flex;gap:10px}
.eds ul li::before{content:"";flex:none;width:.5em;height:.5em;border-radius:50%;background:currentColor;margin-top:.45em}
.fine{font-size:var(--step-small);color:var(--muted);max-width:62ch;margin-top:32px}

/* ---------- tabs + plan lists ---------- */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.tabs button{font:600 var(--step-body)/1 'Chillax',sans-serif;border:0;border-radius:var(--radius);padding:16px 28px;min-height:52px;background:var(--surface);color:var(--ink);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.panel[hidden]{display:none}
.plans{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--m)}
.plan{background:var(--surface);padding:clamp(20px,3vw,40px)}
.plan h3{font-size:var(--step-lead);margin-bottom:6px}
.plan p.cap{font-size:var(--step-small);color:var(--muted);margin-bottom:16px}
.plan ul{list-style:none;display:grid;gap:6px}
.plan li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;background:var(--bg);padding:16px 22px;border-radius:var(--radius)}
.plan li b{font-size:var(--step-lead);font-weight:600;font-variant-numeric:tabular-nums}
.plan li b small{font-size:var(--step-small);font-weight:500;color:var(--muted)}
.plan li span{font-size:var(--step-small);text-align:right}
.tag{background:var(--lime);padding:2px 10px;border-radius:var(--radius);font-size:var(--step-small);font-weight:600;margin-left:8px}

/* ---------- comparison table (cloud plans) ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.cmp{border-collapse:separate;border-spacing:0;min-width:820px;width:100%;font-size:var(--step-small)}
.cmp th,.cmp td{padding:14px 18px;text-align:left;vertical-align:top;background:var(--surface);border-bottom:2px solid var(--bg)}
.cmp thead th{font-size:var(--step-body);font-weight:600;vertical-align:bottom;padding-block:22px}
.cmp thead th b{display:block;font-size:var(--step-lead);margin-top:6px;font-variant-numeric:tabular-nums}
.cmp tbody th{font-weight:500;color:var(--muted);width:24%}
.cmp td{font-weight:500}
.cmp .pop{background:var(--lime)}
.cmp thead .pop{background:var(--lime-deep)}

/* ---------- download ---------- */
.dl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--m)}
.dl-main{background:var(--lime);padding:clamp(28px,4vw,56px);border-radius:48px}
.dl-main h2{font-size:var(--step-head);margin:0 0 16px;max-width:12ch}
.dl-main p{font-size:var(--step-lead);max-width:28ch;line-height:1.35;margin-bottom:24px}
.dl-main .meta{font-size:var(--step-small);margin-top:18px}
.dl-steps{background:var(--surface);padding:clamp(28px,4vw,56px)}
.dl-steps h2{font-size:var(--step-lead);margin:0 0 20px}
.dl-steps ol{padding-left:1.4em;display:grid;gap:14px;font-size:var(--step-body)}
.dl-steps li::marker{font-weight:600}
.versions{list-style:none;max-width:860px}
.versions li{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--surface);padding:14px 14px 14px 32px;margin-bottom:6px;border-radius:var(--radius);flex-wrap:wrap}
.versions b{font-size:var(--step-lead);font-weight:600;font-variant-numeric:tabular-nums}
.versions span{font-size:var(--step-small);color:var(--muted)}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--m);align-items:start}
.coupon{background:var(--surface);padding:clamp(24px,4vw,56px);border-radius:48px}
.coupon form{display:grid;gap:16px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:var(--step-small);font-weight:500;margin-bottom:6px}
input,select,textarea{width:100%;font:400 var(--step-body)/1.3 'Chillax',sans-serif;color:var(--ink);background:#fff;border:2px solid #c9c9c4;border-radius:20px;padding:15px 18px;min-height:56px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.details{display:grid;gap:28px}
.details h3{font-size:var(--step-small);font-weight:500;color:var(--muted);margin-bottom:4px;letter-spacing:0}
.details p,.details a{font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;line-height:1.25;text-decoration:none}
.details a:hover{text-decoration:underline;text-decoration-color:var(--lime-deep);text-decoration-thickness:3px}
.map{margin-top:var(--m);border-radius:48px;overflow:hidden;background:var(--surface)}
.map iframe{width:100%;height:340px;border:0;display:block}
.form-note{font-size:var(--step-small);color:var(--muted)}

/* ---------- cta ---------- */
.cta{background:var(--lime);padding:clamp(28px,4vw,56px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-radius:48px}
.cta h2{font-size:clamp(1.8rem,1rem + 3vw,3.4rem);margin:0;max-width:22ch}
.cta p{font-size:var(--step-body);margin-top:10px;max-width:34ch}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:var(--on-ink);padding-top:clamp(48px,6vw,88px);overflow:hidden}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:var(--m);padding-bottom:clamp(32px,4vw,56px)}
.foot-grid h2{font-size:var(--step-small);font-weight:500;color:var(--on-ink-muted);letter-spacing:0;margin-bottom:14px}
.foot-grid ul{list-style:none;display:grid;gap:2px}
.foot-grid a{text-decoration:none;font-size:var(--step-small);display:inline-block;padding:8px 0;min-height:44px}
.foot-grid a:hover{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}
.foot-grid p{font-size:var(--step-body);max-width:26ch;line-height:1.35}
.foot-legal{font-size:var(--step-small);color:var(--on-ink-muted);max-width:62ch;padding-bottom:var(--m)}
.foot-mark{font-size:clamp(8rem,34vw,40rem);line-height:.7;font-weight:600;letter-spacing:-.05em;color:var(--lime);white-space:nowrap;height:.56em;overflow:hidden;margin-left:-.03em;user-select:none}

/* ---------- floating actions ---------- */
.float{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:40}
.float a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;transition:transform .2s}
.float a.wa{color:var(--lime)}
.float a:hover{transform:scale(1.08)}
.float svg{width:26px;height:26px}

/* ---------- motion: transform and opacity only ---------- */
.js [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 70ms)}
.js [data-rv].in{opacity:1;transform:none}
.js .hero .disc{transform:translateX(18%) scale(.92);opacity:0;animation:discIn 1.1s .1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes discIn{to{transform:none;opacity:1}}
.js .hero .copy h1,.js .hero .copy p,.js .hero .acts{opacity:0;transform:translateY(24px);animation:rise .8s cubic-bezier(.22,1,.36,1) forwards}
.js .hero .copy p{animation-delay:.12s}.js .hero .acts{animation-delay:.24s}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .menu-btn{display:inline-flex;align-items:center}
  .primary{position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--m) 24px;max-height:calc(100svh - 76px);overflow-y:auto;display:none}
  .primary.open{display:flex}
  .primary a,.primary .dd-btn{font-size:var(--step-lead);padding:16px 4px;width:100%;justify-content:flex-start;min-height:56px}
  .dd-panel{position:static;translate:none;width:auto;grid-template-columns:1fr;opacity:1;visibility:visible;transform:none;display:none;border-radius:24px}
  .dd.open .dd-panel{display:grid}
  .head-actions .btn{display:none}
}
@media (max-width:920px){
  .tiles{grid-template-columns:1fr}
  .hero{min-height:0;align-items:flex-start}
  .hero .disc{right:-34vw;width:116vw;height:116vw;top:auto;bottom:-68vw;margin-top:0}
  .hero .copy{padding-bottom:calc(52vw + 40px)}
  .hero.page .disc{right:-30vw;width:84vw;height:84vw;bottom:-50vw}
  .hero.page .copy{padding-bottom:calc(30vw + 24px)}
  .ringwrap,.contact-grid,.dl-grid,.plans{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .fr{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .rows li{flex-wrap:wrap;border-radius:28px}
  .steps-ol li{min-height:220px!important}
  .eds > li{min-height:0!important}
  .cta{border-radius:32px}
  .versions li{border-radius:32px;padding:16px 16px 16px 24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-rv],.js .hero .disc,.js .hero .copy h1,.js .hero .copy p,.js .hero .acts{opacity:1!important;transform:none!important}
}



/* ---- admin page ---- */
.adm .wrap{max-width:860px}
.adm h1{font-size:var(--step-head);margin-bottom:12px}
.adm-lead{font-size:var(--step-lead);max-width:34ch;line-height:1.35;margin-bottom:28px}
.adm-h2{font-size:var(--step-lead);margin:40px 0 14px}
.adm-form{display:grid;gap:16px;max-width:560px}
.adm-form .fr{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-card{background:var(--surface);padding:clamp(24px,4vw,40px);border-radius:36px;max-width:none;margin-top:28px}
.adm-card h2{font-size:var(--step-lead)}
.adm-form .btn{justify-self:start}
.adm-msg{min-height:1.4em}
progress{width:100%;height:12px;accent-color:var(--ink)}
.adm-list{list-style:none;display:grid;gap:6px}
.adm-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);padding:16px 16px 16px 28px;border-radius:36px}
.adm-info b{display:block;font-size:var(--step-lead);font-weight:600}
.adm-info span{display:block;font-size:var(--step-small);color:var(--muted);overflow-wrap:anywhere}
.adm-acts{display:flex;gap:8px}
.adm-edit{display:grid;gap:12px;width:100%}
@media(max-width:640px){.adm-form .fr{grid-template-columns:1fr}.adm-row{border-radius:28px;padding:16px 20px}}
.pw{position:relative}
.pw input{padding-right:64px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.pw-toggle:hover{background:var(--lime)}
.pw-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:1px}
[hidden]{display:none!important}
