/* ==========================================================================
   SARTHI landing site — getsarthi.europiumsolutions.com
   Self-contained stylesheet. Shares NOTHING with wwwroot/Europium.
   ========================================================================== */

/* --- Design tokens ------------------------------------------------------- */
:root {
  --s-teal-900:#062b24; --s-teal-800:#0a3d33; --s-teal-700:#0d5245;
  --s-teal-600:#116354; --s-teal-500:#17836f; --s-teal-300:#5fb3a0;
  --s-mint-50:#f1f8f6; --s-mint-100:#e2f0ec;
  --s-gold-400:#f7c65c; --s-gold-500:#f4b43c; --s-gold-600:#dc9c22;
  --s-ink:#0f201d; --s-body:#4c615d; --s-muted:#7c908c;
  --s-surface:#ffffff; --s-surface-2:#f5faf8; --s-line:#e2ebe8;
  --s-danger:#d9534f;
  --s-chip-mint:#e2f4ee; --s-chip-blue:#e4eefb; --s-chip-violet:#ece7fb;
  --s-chip-amber:#fdf1dc; --s-chip-rose:#fbe8e8; --s-chip-sky:#e2f2f9;

  --s-radius:14px; --s-radius-lg:20px; --s-radius-sm:9px;
  --s-shadow-sm:0 1px 2px rgba(10,61,51,.06), 0 1px 3px rgba(10,61,51,.05);
  --s-shadow:0 4px 6px -1px rgba(10,61,51,.07), 0 10px 22px -8px rgba(10,61,51,.14);
  --s-shadow-lg:0 18px 44px -12px rgba(10,61,51,.26);
  --s-max:1200px; --s-gutter:20px; --s-nav-h:74px;
  --s-section-pad:30px; --s-section-pad-tight:21px;
  --s-sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --s-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}

/* --- Reset --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--s-sans);font-size:16px;line-height:1.6;
  color:var(--s-body);background:var(--s-surface);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;color:var(--s-ink);font-weight:800;line-height:1.18;letter-spacing:-.02em}
p{margin:0}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
:focus-visible{outline:3px solid var(--s-gold-500);outline-offset:2px;border-radius:4px}

/* --- Layout primitives --------------------------------------------------- */
.s-wrap{width:100%;max-width:var(--s-max);margin:0 auto;padding:0 var(--s-gutter)}
.s-section{padding:var(--s-section-pad) 0;scroll-margin-top:var(--s-nav-h)}
.s-section--tight{padding:var(--s-section-pad-tight) 0}
.s-section--alt{background:var(--s-surface-2)}
.s-section--dark{background:var(--s-teal-700);color:#cfe4de}
.s-section--dark h2,.s-section--dark h3{color:#fff}
.s-head{max-width:660px;margin:0 auto 16px;text-align:center}
.s-head--left{margin-left:0;text-align:left}
.s-eyebrow{display:inline-block;margin-bottom:12px;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--s-teal-500)}
.s-section--dark .s-eyebrow{color:var(--s-gold-400)}
.s-h2{font-size:clamp(1.65rem,3.4vw,2.35rem)}
.s-sub{margin-top:12px;font-size:1.02rem;color:var(--s-body)}
.s-section--dark .s-sub{color:#a9cbc2}
.s-grid{display:grid;gap:22px}
.s-hide{display:none !important}

/* --- Buttons ------------------------------------------------------------- */
.s-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border-radius:var(--s-radius-sm);font-size:.94rem;font-weight:700;
  white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.s-btn:hover{transform:translateY(-1px)}
.s-btn:active{transform:translateY(0)}
.s-btn--primary{background:var(--s-gold-500);color:#3a2a06;box-shadow:0 6px 16px -6px rgba(220,156,34,.7)}
.s-btn--primary:hover{background:var(--s-gold-400)}
.s-btn--teal{background:var(--s-teal-600);color:#fff}
.s-btn--teal:hover{background:var(--s-teal-500)}
.s-btn--ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.s-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.s-btn--outline{border:1.5px solid var(--s-line);color:var(--s-ink);background:#fff}
.s-btn--outline:hover{border-color:var(--s-teal-500);color:var(--s-teal-600)}
.s-btn--block{width:100%}
.s-btn__ico{width:16px;height:16px;flex:0 0 auto}

/* --- Header -------------------------------------------------------------- */
.s-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
.s-header.is-stuck{border-bottom-color:var(--s-line);box-shadow:var(--s-shadow-sm)}
.s-header__bar{display:flex;align-items:center;gap:26px;height:var(--s-nav-h)}
.s-logo{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.s-logo__mark{width:38px;height:38px;flex:0 0 auto}
/* Same box whether the mark is the built-in SVG or a picked image. */
img.s-logo__mark{object-fit:contain;display:block}
.s-logo__text{display:flex;flex-direction:column;line-height:1}
.s-logo__name{font-size:1.24rem;font-weight:800;letter-spacing:.05em;color:var(--s-teal-700)}
.s-logo__tag{margin-top:3px;font-size:8.5px;letter-spacing:.03em;color:var(--s-muted)}
.s-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.s-nav__link{position:relative;padding:9px 13px;border-radius:7px;font-size:.9rem;
  font-weight:600;color:var(--s-body);transition:color .15s,background .15s}
.s-nav__link:hover{color:var(--s-teal-600);background:var(--s-mint-50)}
.s-nav__link.is-active{color:var(--s-teal-700)}
.s-nav__link.is-active::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;
  height:2px;border-radius:2px;background:var(--s-gold-500)}
.s-header__cta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.s-header__cta .s-btn{padding:10px 19px;font-size:.88rem}
.s-burger{display:none;width:42px;height:42px;margin-left:auto;border-radius:9px;
  align-items:center;justify-content:center;color:var(--s-teal-700)}
.s-burger:hover{background:var(--s-mint-50)}

/* --- Hero ---------------------------------------------------------------- */
.s-hero{position:relative;overflow:hidden;color:#d7e9e4;
  background:radial-gradient(120% 130% at 12% 8%,var(--s-teal-700) 0%,var(--s-teal-800) 48%,var(--s-teal-900) 100%)}
.s-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 55% at 88% 24%,rgba(244,180,60,.16),transparent 70%)}
.s-hero__inner{position:relative;z-index:1;display:grid;gap:48px;
  grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;padding:74px 0 78px}
.s-hero h1{font-size:clamp(2.05rem,4.7vw,3.3rem);color:#fff;letter-spacing:-.03em}
.s-hero h1 em{font-style:normal;color:var(--s-gold-500)}
.s-hero__lede{margin-top:20px;max-width:34em;font-size:1.06rem;color:#a9cbc2}
.s-hero__actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.s-hero__chips{display:flex;flex-wrap:wrap;gap:26px;margin-top:40px;
  padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.s-chip{display:flex;align-items:flex-start;gap:11px}
.s-chip__ico{width:26px;height:26px;flex:0 0 auto;color:var(--s-teal-300)}
.s-chip__t{font-size:.87rem;font-weight:700;color:#fff}
.s-chip__d{font-size:.78rem;color:#8fb8ae}

/* Abstract product frame (placeholder for real screenshots) */
.s-shot{position:relative;border-radius:var(--s-radius-lg);overflow:hidden;
  background:#fff;box-shadow:var(--s-shadow-lg)}
/* Real screenshot picked in the backoffice. Same frame as the abstract fallback,
   so swapping one for the other does not shift the hero layout. */
.s-shot--image{margin:0;line-height:0}
.s-shot--image img{width:100%;height:auto;display:block;object-fit:cover}
.s-shot__bar{display:flex;align-items:center;gap:6px;padding:11px 14px;
  background:var(--s-teal-800);border-bottom:1px solid rgba(255,255,255,.08)}
.s-shot__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.26)}
.s-shot__body{display:grid;grid-template-columns:86px minmax(0,1fr);min-height:322px}
.s-shot__rail{padding:15px 11px;background:var(--s-teal-700);display:grid;gap:9px;align-content:start}
.s-shot__railitem{height:9px;border-radius:3px;background:rgba(255,255,255,.17)}
.s-shot__railitem:first-child{background:var(--s-gold-500);width:72%}
.s-shot__main{padding:17px;background:var(--s-surface-2);display:grid;gap:13px;align-content:start}
.s-shot__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.s-shot__kpi{padding:11px;border-radius:10px;background:#fff;box-shadow:var(--s-shadow-sm)}
.s-shot__kpi b{display:block;font-family:var(--s-mono);font-size:.8rem;color:var(--s-ink)}
.s-shot__kpi span{display:block;margin-top:4px;height:5px;border-radius:3px;background:var(--s-mint-100)}
.s-shot__chart{display:flex;align-items:flex-end;gap:7px;height:112px;padding:13px;
  border-radius:10px;background:#fff;box-shadow:var(--s-shadow-sm)}
.s-shot__bar2{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--s-teal-500),var(--s-teal-300))}
.s-shot__rows{display:grid;gap:7px;padding:13px;border-radius:10px;background:#fff;box-shadow:var(--s-shadow-sm)}
.s-shot__row{display:flex;align-items:center;gap:9px}
.s-shot__row i{flex:1;height:7px;border-radius:3px;background:var(--s-mint-100)}
.s-shot__row i:last-child{flex:0 0 42px;background:var(--s-chip-amber)}

/* --- Hero banner (full-bleed image variant, sarthiHeroBanner) -------------
   A separate component from .s-hero - both can exist; the editor picks which
   block to add. Text sits on a scrim so it stays readable over any photo.    */
.s-herob{position:relative;overflow:hidden;color:#d7e9e4;isolation:isolate;
  background-color:var(--s-teal-800);background-size:cover;
  background-position:center right;background-repeat:no-repeat}
.s-herob--plain{background-image:radial-gradient(120% 130% at 12% 8%,
  var(--s-teal-700) 0%,var(--s-teal-800) 48%,var(--s-teal-900) 100%)}

/* Scrim: heavy on the left where the words are, clearing to the right so the
   photograph still reads. Strength is editor-controlled per block. */
.s-herob__scrim{position:absolute;inset:0;z-index:-1;pointer-events:none}
.s-herob--light  .s-herob__scrim{background:linear-gradient(100deg,
  rgba(6,43,36,.90) 0%,rgba(6,43,36,.68) 34%,rgba(6,43,36,.18) 68%,rgba(6,43,36,.06) 100%)}
.s-herob--medium .s-herob__scrim{background:linear-gradient(100deg,
  rgba(6,43,36,.96) 0%,rgba(6,43,36,.84) 36%,rgba(6,43,36,.42) 70%,rgba(6,43,36,.18) 100%)}
.s-herob--strong .s-herob__scrim{background:linear-gradient(100deg,
  rgba(6,43,36,.985) 0%,rgba(6,43,36,.93) 40%,rgba(6,43,36,.68) 74%,rgba(6,43,36,.40) 100%)}
.s-herob--plain .s-herob__scrim{background:radial-gradient(60% 55% at 88% 24%,
  rgba(244,180,60,.16),transparent 70%)}

.s-herob__inner{position:relative;z-index:1;max-width:60%;padding:96px 0 100px}
.s-herob h1{font-size:clamp(2.1rem,5vw,3.6rem);color:#fff;letter-spacing:-.03em;line-height:1.08;
  text-shadow:0 2px 18px rgba(4,26,22,.35)}
.s-herob h1 em{font-style:normal;color:var(--s-gold-500)}
.s-herob__lede{margin-top:22px;max-width:33em;font-size:1.08rem;color:#cfe4de;
  text-shadow:0 1px 12px rgba(4,26,22,.35)}
.s-herob__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* Second button sits on top of a photo, so it needs its own contrast rather
   than the plain ghost style used on flat backgrounds. */
.s-btn--onimage{color:#fff;border:1.5px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.s-btn--onimage:hover{background:rgba(255,255,255,.16);border-color:#fff}
/* Android APK button. Sits in the hero actions row beside the two CTAs; the
   two-line label keeps the version visible without a separate caption. */
.s-btn--android{gap:11px;padding:10px 20px;color:#fff;
  border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);
  backdrop-filter:blur(6px);text-align:left}
.s-btn--android:hover{background:rgba(255,255,255,.18);border-color:#fff}
.s-android__ico{width:24px;height:24px;flex:0 0 auto;color:#a4c93f}
.s-android__text{display:flex;flex-direction:column;line-height:1.15}
.s-android__t{font-size:.9rem;font-weight:700}
.s-android__v{font-size:.72rem;font-weight:600;color:#9fc4bb;font-family:var(--s-mono)}

.s-btn__play{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;margin-right:-3px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.7)}
.s-btn__play svg{width:13px;height:13px;margin-left:1px}

/* Trust chips along the bottom - larger and higher contrast than the framed
   hero's, since they sit over an image. */
.s-herob__chips{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:52px;
  padding-top:30px;border-top:1px solid rgba(255,255,255,.18)}
.s-bchip{display:flex;align-items:center;gap:13px}
.s-bchip__ico{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:42px;height:42px;border-radius:12px;color:var(--s-teal-300);
  background:rgba(95,179,160,.16);border:1px solid rgba(95,179,160,.28)}
.s-bchip__ico svg{width:21px;height:21px}
.s-bchip__text{display:flex;flex-direction:column;gap:2px}
.s-bchip__t{font-size:.95rem;font-weight:700;color:#fff;line-height:1.2}
.s-bchip__d{font-size:.82rem;color:#9fc4bb;line-height:1.3}

/* --- Android app promo (sarthiAppPromo) ---------------------------------- */
.s-apppromo{background:var(--s-mint-50)}
.s-apppromo__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:54px;align-items:center}
.s-apppromo__inner--noimage{grid-template-columns:minmax(0,1fr)}
.s-apppromo__body .s-h2{margin-top:6px}
.s-apppromo__body .s-sub{max-width:38em}
.s-apppromo__art{margin:0;line-height:0}
.s-apppromo__art img{width:100%;height:auto;display:block}

/* Download row: APK button + optional QR */
.s-apppromo__get{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.s-apkbtn{gap:13px;padding:14px 26px;color:#fff;text-align:left;
  background:linear-gradient(135deg,var(--s-teal-600),var(--s-teal-800));
  box-shadow:var(--s-shadow)}
.s-apkbtn:hover{background:linear-gradient(135deg,var(--s-teal-500),var(--s-teal-700))}
.s-apkbtn__ico{width:28px;height:28px;flex:0 0 auto;color:#a4c93f}
.s-apkbtn__text{display:flex;flex-direction:column;line-height:1.2}
.s-apkbtn__t{font-size:1rem;font-weight:800}
.s-apkbtn__s{font-size:.75rem;font-weight:600;color:#bfdcd3}
.s-qr{margin:0;display:flex;flex-direction:column;align-items:center;gap:7px}
.s-qr img{width:92px;height:92px;display:block;border-radius:8px;background:#fff;
  padding:5px;border:1px solid var(--s-line)}
.s-qr figcaption{font-size:.72rem;font-weight:600;color:var(--s-muted)}

/* Reassurance lines */
.s-appfeatures{display:grid;gap:16px;margin-top:30px}
.s-appfeature{display:flex;align-items:flex-start;gap:14px}
.s-appfeature__ico{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:40px;height:40px;border-radius:11px;color:var(--s-teal-600);
  background:var(--s-chip-mint);border:1px solid rgba(23,131,111,.16)}
.s-appfeature__ico svg{width:20px;height:20px}
.s-appfeature__text{display:flex;flex-direction:column;gap:2px}
.s-appfeature__t{font-size:.93rem;font-weight:700;color:var(--s-ink)}
.s-appfeature__d{font-size:.82rem;color:var(--s-body)}

/* --- App benefits band (sarthiAppBenefits) ------------------------------- */
.s-appben{background:linear-gradient(120deg,var(--s-teal-800),var(--s-teal-700) 62%,var(--s-teal-600));
  color:#cfe4de;overflow:hidden}
.s-appben .s-h2{color:#fff}
.s-appben .s-eyebrow{color:var(--s-gold-400)}
.s-appben .s-sub{color:#a9cbc2;max-width:40em}
.s-appben__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.44fr);
  gap:50px;align-items:stretch}
.s-appben__body{align-self:center}
.s-appben__inner--noimage{grid-template-columns:minmax(0,1fr)}
/* Negative margins cancel the section's own vertical padding so the image meets
   the band's top and bottom edges. They reference --s-section-pad rather than a
   literal, so changing the section spacing cannot leave a stray green strip. */
.s-appben__art{margin:calc(var(--s-section-pad) * -1) 0;line-height:0;display:flex}
.s-appben__art img{width:100%;height:100%;display:block;object-fit:cover;border-radius:0}
/* Fade the image's left edge into the band. A mask makes the pixels themselves
   transparent, so the section's diagonal gradient shows through unchanged - an
   overlay painted in a flat colour could only match that gradient at one point
   and would leave a visible band. Means any plain rectangular photo works, with
   no alpha baked into the asset, which matters because this image is editable.
   --s-appben-fade is the tuning knob: larger = softer, longer blend. */
.s-appben__art{--s-appben-fade:28%}
.s-appben__art img{
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--s-appben-fade));
          mask-image:linear-gradient(to right,transparent 0,#000 var(--s-appben-fade))}
.s-appben__points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:30px}
.s-appben__point h3{font-size:.95rem;color:#fff;margin-bottom:5px}
.s-appben__point p{font-size:.8rem;color:#9fc4bb}
.s-appben__ico{display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;margin-bottom:14px;border-radius:50%;
  color:var(--s-teal-900);background:var(--s-gold-500)}
.s-appben__ico svg{width:20px;height:20px}

/* --- Feature grid -------------------------------------------------------- */
.s-features{grid-template-columns:repeat(4,minmax(0,1fr))}
.s-feature{padding:26px 22px;border:1px solid var(--s-line);border-radius:var(--s-radius);
  background:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}
.s-feature:hover{transform:translateY(-3px);border-color:transparent;box-shadow:var(--s-shadow)}
.s-ico{display:flex;align-items:center;justify-content:center;width:50px;height:50px;
  margin-bottom:17px;border-radius:13px;color:var(--s-teal-600)}
.s-ico svg{width:24px;height:24px}
.s-ico--mint{background:var(--s-chip-mint)} .s-ico--blue{background:var(--s-chip-blue)}
.s-ico--violet{background:var(--s-chip-violet)} .s-ico--amber{background:var(--s-chip-amber)}
.s-ico--rose{background:var(--s-chip-rose)} .s-ico--sky{background:var(--s-chip-sky)}
.s-feature h3{font-size:1.03rem;margin-bottom:7px}
.s-feature p{font-size:.88rem}

/* --- Industries ---------------------------------------------------------- */
.s-industries{grid-template-columns:repeat(5,minmax(0,1fr))}
.s-industry{overflow:hidden;border:1px solid var(--s-line);border-radius:var(--s-radius);
  background:#fff;transition:transform .18s,box-shadow .18s}
.s-industry:hover{transform:translateY(-3px);box-shadow:var(--s-shadow)}
.s-industry__art{display:flex;align-items:center;justify-content:center;height:126px;color:#fff}
.s-industry__art svg{width:42px;height:42px}
/* Picked photo replaces the icon + gradient. Same 126px band, so a tile with an
   image and one without still line up across the grid. */
.s-industry__art--image{padding:0;background:var(--s-surface-2)}
.s-industry__art--image img{width:100%;height:100%;object-fit:cover;display:block}
.s-industry__art--a{background:linear-gradient(135deg,#17836f,#0d5245)}
.s-industry__art--b{background:linear-gradient(135deg,#c98a2e,#8c5a17)}
.s-industry__art--c{background:linear-gradient(135deg,#2f8fa8,#14566b)}
.s-industry__art--d{background:linear-gradient(135deg,#a4713f,#63401f)}
.s-industry__art--e{background:linear-gradient(135deg,#6b6bb5,#3b3b78)}
.s-industry__body{padding:16px 17px 19px}
.s-industry h3{font-size:.97rem;margin-bottom:5px}
.s-industry p{font-size:.82rem}

/* --- Split sections ------------------------------------------------------ */
.s-split{display:grid;gap:52px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.s-split--flip .s-split__art{order:2}
.s-points{display:grid;gap:19px;margin-top:28px}
.s-point{display:flex;gap:15px}
.s-point__ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  flex:0 0 auto;border-radius:11px;color:#fff}
.s-point__ico svg{width:19px;height:19px}
.s-point__ico--teal{background:var(--s-teal-500)}
.s-point__ico--gold{background:var(--s-gold-500);color:#3a2a06}
.s-point__ico--deep{background:var(--s-teal-700)}
.s-point h3{font-size:.97rem;margin-bottom:3px}
.s-point p{font-size:.87rem}
.s-section--dark .s-point p{color:#a9cbc2}

/* Panel used as the artwork side of split sections */
.s-panel{padding:30px;border-radius:var(--s-radius-lg);background:#fff;
  border:1px solid var(--s-line);box-shadow:var(--s-shadow)}
.s-section--dark .s-panel{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);box-shadow:none}
.s-panel__title{display:flex;align-items:center;gap:11px;padding-bottom:17px;margin-bottom:19px;
  border-bottom:1px solid var(--s-line);font-size:.93rem;font-weight:700;color:var(--s-ink)}
.s-section--dark .s-panel__title{border-bottom-color:rgba(255,255,255,.14);color:#fff}
.s-panel__title svg{width:19px;height:19px;color:var(--s-teal-500)}
.s-ticks{display:grid;gap:13px}
.s-tick{display:flex;gap:11px;font-size:.89rem}
.s-tick svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--s-teal-500)}
.s-section--dark .s-tick{color:#cfe4de}
.s-section--dark .s-tick svg{color:var(--s-gold-400)}

/* --- How it works -------------------------------------------------------- */
.s-steps{grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:step}
.s-step{position:relative;padding:26px 22px;border:1px solid var(--s-line);
  border-radius:var(--s-radius);background:#fff}
.s-step__n{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  margin-bottom:16px;border-radius:50%;background:var(--s-teal-700);color:#fff;
  font-family:var(--s-mono);font-size:.88rem;font-weight:700}
.s-step h3{font-size:1rem;margin-bottom:6px}
.s-step p{font-size:.87rem}

/* --- Stats --------------------------------------------------------------- */
.s-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;text-align:center}
.s-stat b{display:block;font-family:var(--s-mono);font-size:1.85rem;font-weight:700;color:#fff}
.s-stat span{display:block;margin-top:5px;font-size:.85rem;color:#a9cbc2}

/* --- Testimonials -------------------------------------------------------- */
.s-quotes{grid-template-columns:repeat(3,minmax(0,1fr))}
.s-quote{padding:26px;border:1px solid var(--s-line);border-radius:var(--s-radius);background:#fff}
.s-quote__text{font-size:.92rem;color:var(--s-ink)}
.s-quote__who{display:flex;align-items:center;gap:12px;margin-top:20px}
.s-quote__av{width:42px;height:42px;border-radius:50%;background:var(--s-mint-100)}
.s-quote__n{font-size:.9rem;font-weight:700;color:var(--s-ink)}
.s-quote__r{font-size:.79rem;color:var(--s-muted)}

/* --- Logo strip ---------------------------------------------------------- */
.s-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:44px}
.s-logos img{max-height:36px;opacity:.6;filter:grayscale(1)}

/* --- Pricing ------------------------------------------------------------- */
.s-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;margin:0 auto 38px;
  border:1px solid var(--s-line);border-radius:999px;background:#fff}
.s-toggle__btn{padding:9px 21px;border-radius:999px;font-size:.87rem;font-weight:700;color:var(--s-body)}
.s-toggle__btn.is-on{background:var(--s-teal-700);color:#fff}
.s-toggle__save{margin-left:7px;padding:2px 8px;border-radius:999px;background:var(--s-chip-amber);
  font-size:.72rem;font-weight:700;color:#8c5a17}
.s-plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.s-plan{position:relative;padding:32px 27px;border:1px solid var(--s-line);
  border-radius:var(--s-radius-lg);background:#fff}
.s-plan--best{border-color:var(--s-teal-500);border-width:2px;box-shadow:var(--s-shadow)}
.s-plan__tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  padding:5px 15px;border-radius:999px;background:var(--s-teal-600);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.s-plan h3{font-size:1.2rem;text-align:center}
.s-plan__for{margin-top:5px;text-align:center;font-size:.83rem;color:var(--s-muted)}
.s-plan__price{margin:22px 0 4px;text-align:center;font-family:var(--s-mono);
  font-size:2.2rem;font-weight:700;color:var(--s-ink);letter-spacing:-.03em}
.s-plan__per{text-align:center;font-size:.8rem;color:var(--s-muted)}
.s-plan__list{display:grid;gap:12px;margin:26px 0 28px;padding-top:24px;border-top:1px solid var(--s-line)}
.s-plan__list li{display:flex;gap:10px;font-size:.88rem}
.s-plan__list svg{width:17px;height:17px;flex:0 0 auto;margin-top:3px;color:var(--s-teal-500)}
.s-plan__note{margin-top:14px;text-align:center;font-size:.76rem;color:var(--s-muted)}

/* --- FAQ ----------------------------------------------------------------- */
.s-faq{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.s-acc{border:1px solid var(--s-line);border-radius:var(--s-radius-sm);background:#fff;overflow:hidden}
.s-acc__btn{display:flex;align-items:center;gap:14px;width:100%;padding:17px 19px;
  text-align:left;font-size:.93rem;font-weight:700;color:var(--s-ink)}
.s-acc__btn:hover{background:var(--s-mint-50)}
.s-acc__sign{position:relative;width:17px;height:17px;flex:0 0 auto;margin-left:auto}
.s-acc__sign::before,.s-acc__sign::after{content:"";position:absolute;background:var(--s-teal-600);
  border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.s-acc__sign::before{top:7.5px;left:0;width:17px;height:2px}
.s-acc__sign::after{top:0;left:7.5px;width:2px;height:17px}
.s-acc.is-open .s-acc__sign::after{transform:rotate(90deg);opacity:0}
.s-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}
.s-acc.is-open .s-acc__panel{grid-template-rows:1fr}
.s-acc__inner{overflow:hidden}
.s-acc__inner p{padding:0 19px 19px;font-size:.89rem}

/* --- CTA band ------------------------------------------------------------ */
.s-cta{position:relative;overflow:hidden;border-radius:var(--s-radius-lg);padding:46px 44px;
  background:linear-gradient(115deg,var(--s-teal-700),var(--s-teal-900));color:#cfe4de}
.s-cta::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 78% at 92% 50%,rgba(244,180,60,.18),transparent 70%)}
.s-cta__inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:28px}
.s-cta h2{font-size:clamp(1.4rem,2.6vw,1.95rem);color:#fff;max-width:20em}
.s-cta__eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--s-gold-400);margin-bottom:9px}
.s-cta__actions{display:flex;flex-wrap:wrap;gap:13px}

/* --- Footer -------------------------------------------------------------- */
.s-footer{padding:56px 0 26px;border-top:1px solid var(--s-line);background:var(--s-surface-2)}
.s-footer__top{display:grid;gap:40px;grid-template-columns:1.5fr repeat(3,1fr) auto}
.s-footer__blurb{margin-top:16px;font-size:.87rem;max-width:30em}
.s-footer h4{margin-bottom:15px;font-size:.8rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--s-ink)}
.s-footer__links{display:grid;gap:10px}
.s-footer__links a{font-size:.88rem;color:var(--s-body)}
.s-footer__links a:hover{color:var(--s-teal-600)}
.s-social{display:flex;gap:10px}
.s-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:9px;background:#fff;border:1px solid var(--s-line);color:var(--s-teal-700)}
.s-social a:hover{background:var(--s-teal-700);border-color:var(--s-teal-700);color:#fff}
.s-social svg{width:17px;height:17px}
.s-footer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px;margin-top:42px;padding-top:22px;border-top:1px solid var(--s-line);
  font-size:.82rem;color:var(--s-muted)}
.s-footer__bar nav{display:flex;flex-wrap:wrap;gap:20px}

/* --- Modal --------------------------------------------------------------- */
/* --- Back to top ---------------------------------------------------------- */
.s-totop{position:fixed;right:24px;bottom:24px;z-index:50;width:48px;height:48px;
  border-radius:50%;background:var(--s-teal-700);color:#fff;display:flex;
  align-items:center;justify-content:center;box-shadow:var(--s-shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s,background .15s ease}
.s-totop.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.s-totop:hover{background:var(--s-teal-600)}
.s-totop svg{width:20px;height:20px;fill:currentColor}

.s-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;
  justify-content:center;padding:20px}
.s-modal.is-open{display:flex}
.s-modal__veil{position:absolute;inset:0;background:rgba(6,43,36,.62);backdrop-filter:blur(3px)}
.s-modal__card{position:relative;z-index:1;width:100%;max-width:520px;max-height:92vh;
  overflow-y:auto;padding:34px;border-radius:var(--s-radius-lg);background:#fff;
  box-shadow:var(--s-shadow-lg)}
.s-modal__x{position:absolute;top:15px;right:15px;display:flex;align-items:center;
  justify-content:center;width:36px;height:36px;border-radius:9px;color:var(--s-muted)}
.s-modal__x:hover{background:var(--s-surface-2);color:var(--s-ink)}
.s-modal__x svg{width:19px;height:19px}
.s-modal h3{font-size:1.32rem}
.s-modal__sub{margin-top:8px;font-size:.9rem}
.s-form{display:grid;gap:15px;margin-top:26px}
.s-row{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}
.s-field{display:grid;gap:6px}
.s-field label{font-size:.82rem;font-weight:700;color:var(--s-ink)}
.s-field input,.s-field select,.s-field textarea{width:100%;padding:11px 13px;
  border:1px solid var(--s-line);border-radius:var(--s-radius-sm);background:var(--s-surface-2);
  font:inherit;font-size:.92rem;color:var(--s-ink)}
.s-field input:focus,.s-field select:focus,.s-field textarea:focus{outline:none;
  border-color:var(--s-teal-500);background:#fff;box-shadow:0 0 0 3px rgba(23,131,111,.13)}
.s-field textarea{resize:vertical;min-height:88px}
.s-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.s-alert{padding:12px 14px;border-radius:var(--s-radius-sm);font-size:.86rem}
.s-alert--bad{background:#fdecec;color:#8c2b28;border:1px solid #f5c9c7}
.s-alert--good{background:var(--s-chip-mint);color:#0d5245;border:1px solid #bfe3d8}
.s-fineprint{font-size:.76rem;color:var(--s-muted);text-align:center}

/* --- Editor-disabled section placeholder (backoffice only) --------------- */
.s-empty{padding:30px;border:1px dashed var(--s-line);border-radius:var(--s-radius);
  text-align:center;font-size:.88rem;color:var(--s-muted);background:var(--s-surface-2)}

/* --- Legal / policy pages ------------------------------------------------ */
.s-legal__head{max-width:820px;margin-bottom:40px}
.s-legal__dates{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;
  font-size:.85rem;font-weight:600;color:var(--s-muted)}
.s-legal__layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start}
.s-legal__body{max-width:760px;min-width:0}

/* Sticky table of contents (desktop) */
.s-toc{position:sticky;top:calc(var(--s-nav-h) + 22px);padding:22px;border-radius:var(--s-radius);
  background:var(--s-surface-2);border:1px solid var(--s-line);max-height:calc(100vh - var(--s-nav-h) - 60px);
  overflow-y:auto}
.s-toc__title{margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--s-teal-500)}
.s-toc__list{list-style:none;counter-reset:toc;display:grid;gap:7px;font-size:.86rem}
.s-toc__list li{counter-increment:toc}
.s-toc__list a{display:block;color:var(--s-body);line-height:1.45}
.s-toc__list a::before{content:counter(toc) ". ";font-family:var(--s-mono);font-size:.78rem;
  font-weight:700;color:var(--s-muted)}
.s-toc__list a:hover{color:var(--s-teal-600)}

/* Sections */
.s-legal__intro{margin-top:0;font-size:1.02rem}
.s-legal__section{margin-top:46px;scroll-margin-top:calc(var(--s-nav-h) + 16px)}
.s-legal__h2{display:flex;gap:11px;font-size:1.26rem}
.s-legal__h3{display:flex;gap:10px;font-size:1rem}
.s-legal__num{flex:0 0 auto;font-family:var(--s-mono);font-weight:700;color:var(--s-teal-500)}
.s-legal__subsection{margin-top:26px;padding-left:18px;border-left:2px solid var(--s-line)}

/* Prose - the rich-text output of every legal block */
.s-prose{margin-top:16px;font-size:.96rem;color:var(--s-body)}
.s-prose>*+*{margin-top:14px}
.s-prose ul,.s-prose ol{padding-left:22px}
.s-prose ul{list-style:disc}
.s-prose ol{list-style:decimal}
.s-prose li+li{margin-top:7px}
.s-prose strong{color:var(--s-ink);font-weight:700}
.s-prose a{color:var(--s-teal-500);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.s-prose a:hover{color:var(--s-teal-700)}
.s-prose table{width:100%;border-collapse:collapse;font-size:.9rem}
.s-prose th,.s-prose td{padding:10px 12px;border:1px solid var(--s-line);text-align:left}
.s-prose th{background:var(--s-surface-2);color:var(--s-ink);font-weight:700}

/* Values still awaiting business or legal sign-off. Deliberately loud - an
   unfilled value must never read as finished copy. */
.s-pending{padding:1px 6px;border-radius:4px;background:var(--s-chip-amber);
  color:#7a4b00;font-weight:700;font-size:.9em}

/* Highlighted notices between sections */
.s-notice{margin-top:34px;padding:20px 22px;border-radius:var(--s-radius);
  border:1px solid var(--s-line);border-left:4px solid var(--s-teal-500);background:var(--s-surface-2)}
.s-notice__title{font-weight:700;color:var(--s-ink)}
.s-notice .s-prose{margin-top:8px}
.s-notice--important{border-left-color:var(--s-gold-500);background:#fdf8ee}
.s-notice--pending{border-left-color:var(--s-danger);background:#fdf1f1}

/* Contact / grievance block */
.s-legal__contact{padding-top:34px;border-top:1px solid var(--s-line)}
.s-legal__contactgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin-top:22px}
.s-legal__contactgrid dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--s-muted)}
.s-legal__contactgrid dd{margin:5px 0 0;font-size:.93rem;color:var(--s-ink);white-space:pre-line}

/* Related policies */
.s-legal__related{margin-top:46px;padding-top:26px;border-top:1px solid var(--s-line)}
.s-legal__relatedtitle{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--s-teal-500)}
.s-legal__relatedlinks{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px}
.s-legal__relatedlinks a{padding:9px 16px;border-radius:var(--s-radius-sm);border:1px solid var(--s-line);
  background:#fff;font-size:.89rem;font-weight:600;color:var(--s-ink)}
.s-legal__relatedlinks a:hover{border-color:var(--s-teal-300);color:var(--s-teal-600)}

/* Print - a policy is something people print and file */
@media print{
  .s-header,.s-footer,.s-toc,.s-totop,.s-modal,.s-legal__related{display:none !important}
  .s-section{padding:0}
  .s-legal__layout{display:block}
  .s-legal__body{max-width:none}
  .s-legal__section{margin-top:26px;page-break-inside:avoid}
  .s-notice{page-break-inside:avoid;border:1px solid #999;background:none}
  .s-pending{background:none;border:1px solid #999}
  .s-prose a{color:inherit;text-decoration:none}
  body{font-size:11pt;color:#000}
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width:1080px){
  .s-features{grid-template-columns:repeat(3,minmax(0,1fr))}
  .s-industries{grid-template-columns:repeat(3,minmax(0,1fr))}
  .s-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-footer__top{grid-template-columns:1fr 1fr 1fr;row-gap:34px}
}
@media (max-width:920px){
  .s-apppromo__inner,.s-appben__inner{grid-template-columns:minmax(0,1fr);gap:38px}
  .s-appben__art{margin:0;display:block}
  .s-appben__art img{height:auto;object-fit:fill;border-radius:var(--s-radius-lg);
    -webkit-mask-image:none;mask-image:none}
  .s-appben__points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-herob__inner{max-width:100%;padding:70px 0 74px}
  .s-herob{background-position:center}
  .s-herob--medium .s-herob__scrim,.s-herob--light .s-herob__scrim,
  .s-herob--strong .s-herob__scrim{background:linear-gradient(180deg,
    rgba(6,43,36,.93) 0%,rgba(6,43,36,.88) 60%,rgba(6,43,36,.95) 100%)}
  .s-legal__layout{grid-template-columns:minmax(0,1fr);gap:30px}
  .s-toc{position:static;max-height:none}
  .s-legal__contactgrid{grid-template-columns:minmax(0,1fr)}
  .s-nav,.s-header__cta{display:none}
  .s-burger{display:flex}
  .s-header.is-open .s-nav{position:absolute;top:var(--s-nav-h);left:0;right:0;
    display:flex;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:12px;
    background:#fff;border-bottom:1px solid var(--s-line);box-shadow:var(--s-shadow)}
  .s-header.is-open .s-nav__link{padding:13px}
  .s-header.is-open .s-nav__link.is-active::after{display:none}
  .s-hero__inner{grid-template-columns:minmax(0,1fr);gap:40px;padding:52px 0 60px}
  .s-split{grid-template-columns:minmax(0,1fr);gap:36px}
  .s-split--flip .s-split__art{order:0}
  .s-plans{grid-template-columns:minmax(0,1fr);max-width:460px;margin:0 auto}
  .s-plan--best{order:-1}
  .s-quotes{grid-template-columns:minmax(0,1fr)}
  .s-faq{grid-template-columns:minmax(0,1fr)}
  .s-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
}
@media (max-width:620px){
  :root{--s-gutter:16px;--s-section-pad:22px;--s-section-pad-tight:16px}
  .s-appben__points{grid-template-columns:minmax(0,1fr);gap:20px}
  .s-apppromo__get{gap:16px}
  .s-herob__inner{padding:54px 0 58px}
  .s-herob__chips{gap:18px;margin-top:38px}
  .s-features,.s-industries,.s-steps{grid-template-columns:minmax(0,1fr)}
  .s-hero__chips{gap:18px}
  .s-cta{padding:34px 24px}
  .s-cta__inner{flex-direction:column;align-items:flex-start}
  .s-footer__top{grid-template-columns:1fr}
  .s-row{grid-template-columns:minmax(0,1fr)}
  .s-shot__kpis{grid-template-columns:repeat(2,1fr)}
  .s-modal__card{padding:26px 20px}
  .s-totop{right:16px;bottom:16px;width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .s-btn:hover,.s-feature:hover,.s-industry:hover{transform:none}
}
