/* ==========================================================================
   DigitalSMS4U – site.v2.css
   Modern, animated design system for the marketing website.
   - Covers every class used in /Pages (drop-in for the old site.css)
   - Animations are progressive: content is visible without JS, and all motion
     is switched off for visitors who prefer reduced motion.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --brand:#0B3B8C; --brand-700:#082E6E; --brand-900:#061A3F;
  --blue:#2563EB; --blue-soft:#EAF1FF; --cyan:#22D3EE;
  --accent:#FFB020; --accent-600:#F59E0B;
  --ink:#0E1A33; --text:#2A3955; --muted:#62708A; --line:#E2E8F3;
  --bg:#FFFFFF; --alt:#F4F7FD; --ok:#12A66B; --danger:#D92D20;
  --r:16px; --r-sm:10px; --r-lg:24px;
  --sh-sm:0 1px 2px rgba(11,35,89,.06),0 6px 16px rgba(11,35,89,.06);
  --sh:0 14px 34px -10px rgba(11,35,89,.22);
  --sh-lg:0 34px 70px -24px rgba(6,26,63,.55);
  --ease:cubic-bezier(.22,.8,.24,1);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Noto Sans Devanagari",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --nav-h:72px;
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,picture{max-width:100%;display:block}
svg{flex:none}
a{color:var(--blue);text-decoration:none;transition:color .2s}
a:hover{color:var(--brand)}
h1,h2,h3,h4{color:var(--ink);line-height:1.18;margin:0 0 .5em;letter-spacing:-.015em;font-weight:750}
h1{font-size:clamp(2rem,4.4vw,3.35rem);letter-spacing:-.025em}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
code{font-family:var(--mono);font-size:.88em;background:var(--blue-soft);color:var(--brand);padding:.12em .42em;border-radius:6px}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;transition:top .2s}
.skip:focus{top:12px;color:#fff}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.wrap.narrow,.narrow{max-width:840px}
.center{text-align:center}
.muted{color:var(--muted)}
.muted-lg{color:var(--muted);font-size:1.12rem}

/* scroll progress + back-to-top (injected by JS) */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--accent));transform-origin:0 50%;transform:scaleX(var(--p,0))}
.to-top{position:fixed;right:20px;bottom:92px;width:46px;height:46px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh);opacity:0;transform:translateY(16px);pointer-events:none;transition:.35s var(--ease);z-index:60}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--blue)}
.to-top svg{transform:rotate(-90deg)}

/* ---------- 3. Buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.35rem;border-radius:12px;border:1.5px solid transparent;font:inherit;font-weight:650;font-size:1rem;line-height:1.2;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 8px 20px -8px rgba(37,99,235,.7);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s,border-color .25s;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);z-index:-1}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(37,99,235,.8);color:#fff}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0)}
.btn svg{transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn.big{padding:.95rem 1.7rem;font-size:1.06rem;border-radius:14px}
.btn.full{width:100%}
.btn.ghost{background:transparent;color:var(--brand);border-color:var(--line);box-shadow:none}
.btn.ghost:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--brand)}
.btn.light{background:#fff;color:var(--brand);box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.btn.light:hover{color:var(--brand-700)}
.btn.outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);box-shadow:none}
.btn.outline-light:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6rem}
.btn-row.center-row{justify-content:center}
.btn[disabled],.btn.loading{pointer-events:none;opacity:.85}
.btn.loading::before{content:"";width:1.05em;height:1.05em;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}

/* ---------- 4. Header / navigation ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s,background .3s}
.nav.scrolled{border-color:var(--line);box-shadow:0 8px 26px -14px rgba(11,35,89,.35);background:rgba(255,255,255,.94)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nav-h);transition:height .3s}
.nav.scrolled .nav-in{height:64px}
.brand{display:flex;align-items:center}
.brand img{height:40px;width:auto;transition:transform .3s var(--ease)}
.brand:hover img{transform:scale(1.03)}
.menu{display:flex;align-items:center;gap:4px}
.menu > a,.dd-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:.55rem .85rem;border:0;background:none;font:inherit;font-weight:600;font-size:.98rem;color:var(--ink);cursor:pointer;border-radius:10px;transition:color .2s,background .2s}
.menu > a::after,.dd-btn::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.3rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu > a:hover,.dd-btn:hover,.dd.open .dd-btn{color:var(--blue)}
.menu > a:hover::after,.menu > a.on::after,.dd-btn:hover::after,.dd.on .dd-btn::after,.dd.open .dd-btn::after{transform:scaleX(1)}
.menu > a.on,.dd.on .dd-btn{color:var(--blue)}
.dd-btn svg{transition:transform .3s var(--ease)}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd{position:relative}
.dd-panel{position:absolute;left:-12px;top:calc(100% + 10px);width:min(480px,92vw);padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:top left;transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.dd.open .dd-panel,.dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:none}
@media (hover:hover){.dd:hover .dd-panel{opacity:1;visibility:visible;transform:none}.dd:hover .dd-btn svg{transform:rotate(180deg)}}
.dd-item{display:flex;gap:12px;padding:12px;border-radius:12px;color:var(--ink);transition:background .2s,transform .25s var(--ease)}
.dd-item:hover{background:var(--blue-soft);transform:translateX(3px);color:var(--ink)}
.dd-item strong{display:block;font-size:.98rem;line-height:1.25}
.dd-item small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4;margin-top:2px}
.dd-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--blue-soft);color:var(--blue);flex:none;transition:background .25s,color .25s,transform .35s var(--ease)}
.dd-item:hover .dd-ic{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.06)}
.menu-cta{display:flex;align-items:center;gap:10px;margin-left:10px}
.menu-cta .btn{padding:.6rem 1.1rem;font-size:.95rem}
.nav-phone{display:inline-flex;align-items:center;gap:7px;font-weight:650;color:var(--ink);padding:.4rem .6rem;border-radius:10px}
.nav-phone svg{color:var(--blue);animation:ring 4s ease-in-out infinite;transform-origin:50% 0}
.nav-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;place-items:center}

@media (max-width:1060px){
  .nav-phone span{display:none}
  .menu > a,.dd-btn{padding:.5rem .6rem;font-size:.94rem}
}
@media (max-width:960px){
  .nav-toggle{display:grid}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:12px 20px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 40px -24px rgba(11,35,89,.4);max-height:calc(100vh - var(--nav-h));overflow:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
  .menu.open{opacity:1;visibility:visible;transform:none}
  .menu > a,.dd-btn{width:100%;justify-content:space-between;padding:.85rem .6rem;font-size:1.02rem}
  .menu > a::after,.dd-btn::after{display:none}
  .dd-panel{position:static;width:auto;grid-template-columns:1fr;border:0;box-shadow:none;padding:0 0 0 6px;opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  .dd.open .dd-panel{max-height:700px}
  .dd:hover .dd-panel{max-height:0}.dd.open:hover .dd-panel{max-height:700px}
  .menu-cta{flex-direction:column;align-items:stretch;margin:14px 0 0}
  .menu-cta .btn,.nav-phone{width:100%;justify-content:center}
  .nav-phone span{display:inline}
}

/* ---------- 5. Hero (home + service pages) ---------- */
.hero{position:relative;overflow:hidden;color:#DCE7FF;background:radial-gradient(1200px 600px at 85% -10%,rgba(34,211,238,.22),transparent 60%),radial-gradient(900px 520px at -10% 110%,rgba(37,99,235,.55),transparent 60%),linear-gradient(135deg,var(--brand-900) 0%,var(--brand) 58%,#1546B8 100%);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);animation:gridmove 24s linear infinite}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-160px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,176,32,.35),transparent 65%);filter:blur(10px);animation:blob 14s ease-in-out infinite alternate}
.hero h1,.hero h2,.hero h3{color:#fff}
.hero-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:48px;align-items:center;padding:56px 0 68px}
.hero-sub .hero-in{padding:48px 0 60px}
.hero h1{font-size:clamp(2.15rem,4.6vw,3.7rem);line-height:1.07}
.hl-text{background:linear-gradient(100deg,var(--accent),#FF7A59 45%,var(--accent));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}
.lead{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.65;color:var(--muted);max-width:62ch}
.hero .lead{color:#C7D6F7}
.center .lead,.lead.center{margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 1rem;padding:.36rem .9rem;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(37,99,235,.16)}
.hero .eyebrow{color:#CFE0FF;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.eyebrow svg{color:var(--accent)}
.ticks{list-style:none;display:grid;gap:.6rem;margin:1.4rem 0 0}
.ticks li{display:flex;gap:.7rem;align-items:flex-start}
.ticks li > svg{margin-top:.2em;padding:3px;border-radius:50%;background:rgba(18,166,107,.16);color:var(--ok);width:22px;height:22px}
.hero .ticks li{color:#E6EEFF}
.hero .ticks li > svg{background:rgba(255,176,32,.2);color:var(--accent)}
.big-ticks li{font-size:1.06rem}
.hero .btn.big:not(.ghost){background:linear-gradient(135deg,var(--accent),#FF8A3D);color:var(--brand-900);box-shadow:0 14px 30px -12px rgba(255,176,32,.8)}
.hero .btn.big:not(.ghost):hover{color:var(--brand-900);box-shadow:0 18px 34px -12px rgba(255,176,32,.95)}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.hero .btn.ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}
.hero-form{position:relative}
.hero-form::before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--r-lg) + 2px);background:conic-gradient(from var(--ang,0deg),var(--cyan),var(--blue),var(--accent),var(--cyan));z-index:-1;filter:blur(14px);opacity:.55;animation:rot 8s linear infinite}
.hero-form .demo-form{box-shadow:var(--sh-lg)}

/* floating chips injected by JS (wide screens only) */
.fx{position:absolute;inset:0;z-index:-1;pointer-events:none;display:none}
.fx span{position:absolute;display:flex;align-items:center;gap:8px;padding:.55rem .9rem;border-radius:14px;font-size:.82rem;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:float 7s ease-in-out infinite}
.fx span i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(18,166,107,.25)}
.fx span:nth-child(1){left:1.5%;top:14%;animation-delay:-1s}
.fx span:nth-child(2){left:.5%;bottom:12%;animation-delay:-3s}
.fx span:nth-child(3){right:1.2%;top:10%;animation-delay:-2s}
.fx span:nth-child(4){right:.4%;bottom:14%;animation-delay:-4.5s}
@media (min-width:1720px){.fx{display:block}}

@media (max-width:980px){
  .hero-in{grid-template-columns:1fr;gap:32px;padding:40px 0 48px}
  .hero-sub .hero-in{padding:36px 0 44px}
}

/* hero entrance (CSS only – no JS needed) */
.hero-copy > *{animation:rise .9s var(--ease) both}
.hero-copy > *:nth-child(1){animation-delay:.05s}.hero-copy > *:nth-child(2){animation-delay:.15s}.hero-copy > *:nth-child(3){animation-delay:.25s}.hero-copy > *:nth-child(4){animation-delay:.35s}.hero-copy > *:nth-child(5){animation-delay:.45s}.hero-copy > *:nth-child(6){animation-delay:.55s}
.hero-form{animation:rise 1s .3s var(--ease) both}

/* ---------- 6. Inner page hero ---------- */
.page-hero{position:relative;overflow:hidden;padding:52px 0 36px;background:radial-gradient(700px 320px at 12% -20%,rgba(37,99,235,.16),transparent 70%),radial-gradient(600px 300px at 95% 0%,rgba(255,176,32,.18),transparent 70%),linear-gradient(180deg,#F2F7FF,#fff);isolation:isolate}
.page-hero::before{content:"";position:absolute;width:340px;height:340px;left:-90px;bottom:-190px;z-index:-1;border-radius:50%;border:2px dashed rgba(37,99,235,.22);animation:rot 40s linear infinite}
.page-hero::after{content:"";position:absolute;width:180px;height:180px;right:6%;bottom:-70px;z-index:-1;border-radius:36px;background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(34,211,238,.14));transform:rotate(18deg);animation:float 9s ease-in-out infinite}
.page-hero.slim{padding:34px 0 8px;background:linear-gradient(180deg,#F2F7FF,#fff)}
.page-hero.slim::before,.page-hero.slim::after{display:none}
.page-hero .wrap > *{animation:rise .8s var(--ease) both}
.page-hero .wrap > *:nth-child(2){animation-delay:.1s}.page-hero .wrap > *:nth-child(3){animation-delay:.2s}.page-hero .wrap > *:nth-child(4){animation-delay:.3s}.page-hero .wrap > *:nth-child(5){animation-delay:.4s}
.page-hero .lead{margin-top:.4rem}
.page-hero.center .lead,.page-hero .center .lead{margin-inline:auto}
.done-ic{display:grid;place-items:center;width:92px;height:92px;margin:0 auto 1.4rem;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--ok),#34D399);box-shadow:0 0 0 0 rgba(18,166,107,.5);animation:pop .7s var(--ease) both,pulse 2.4s 1s infinite}

/* ---------- 7. Trust strip ---------- */
.trust{position:relative;z-index:2;margin-top:-34px}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh);overflow:hidden}
.trust-in > div{display:flex;align-items:center;gap:14px;padding:22px 24px;border-right:1px solid var(--line);transition:background .3s}
.trust-in > div:last-child{border-right:0}
.trust-in > div:hover{background:var(--blue-soft)}
.trust-in svg{width:46px;height:46px;padding:11px;border-radius:14px;background:var(--blue-soft);color:var(--blue);transition:transform .4s var(--ease),background .3s,color .3s}
.trust-in > div:hover svg{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.trust-in strong{display:block;color:var(--ink);line-height:1.25}
.trust-in small{display:block;color:var(--muted);font-size:.84rem}
@media (max-width:980px){.trust-in{grid-template-columns:1fr 1fr}.trust-in > div:nth-child(2){border-right:0}.trust-in > div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.trust-in{grid-template-columns:1fr}.trust-in > div{border-right:0;border-bottom:1px solid var(--line)}.trust-in > div:last-child{border-bottom:0}}

/* ---------- 8. Sections ---------- */
.sec{padding:clamp(30px,4vw,52px) 0;position:relative}
.sec.alt{background:var(--alt)}
.sec.slim-top{padding-top:18px}
.sec-head{max-width:760px;margin:0 0 clamp(20px,2.6vw,32px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .lead,.sec-head.center p{margin-inline:auto}
.sec-head p{color:var(--muted)}
.sec-head h2{position:relative}
.sec-head.row-head{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px);align-items:center}
.split.top{align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.more-link{margin-top:1.6rem;font-weight:650}
.more-link svg,.more svg{display:inline-block;vertical-align:-3px;transition:transform .25s var(--ease)}
.more-link a:hover svg{transform:translateX(5px)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.cards,.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cards,.cards.three{grid-template-columns:1fr}}
.card,.feature,.ind,.price-card,.contact-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;overflow:hidden}
.card::before,.feature::before,.ind::before,.price-card::before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(37,99,235,.11),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover,.feature:hover,.ind:hover,.price-card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:rgba(37,99,235,.35)}
.card:hover::before,.feature:hover::before,.ind:hover::before,.price-card:hover::before{opacity:1}
.link-card{display:flex;flex-direction:column;color:var(--text)}
.link-card:hover{color:var(--text)}
.card h3{margin-top:.25rem}
.card p{color:var(--muted);flex:1}
.card-ic{display:grid;place-items:center;width:56px;height:56px;margin-bottom:1rem;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 12px 22px -10px rgba(37,99,235,.7);transition:transform .45s var(--ease)}
.link-card:hover .card-ic{transform:rotate(-8deg) scale(1.1)}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--blue)}
.link-card:hover .more svg{transform:translateX(6px)}
.card.center{padding:44px 30px}

.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.feature-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.feature-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.feature-grid,.feature-grid.three{grid-template-columns:1fr}}
.feature > svg,.ind > svg{width:48px;height:48px;padding:12px;margin-bottom:.9rem;border-radius:14px;background:var(--blue-soft);color:var(--blue);transition:transform .45s var(--ease),background .3s,color .3s}
.feature:hover > svg,.ind:hover > svg{background:linear-gradient(135deg,var(--blue),var(--brand));color:#fff;transform:rotate(-8deg) scale(1.08)}
.feature h3{margin-bottom:.35rem}
.feature p{margin:0;color:var(--muted);font-size:.98rem}

.ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ind-grid{grid-template-columns:1fr}}
.ind{display:flex;flex-direction:column;padding:22px}
.ind strong{color:var(--ink);font-size:1.05rem;line-height:1.3;margin-bottom:.2rem}
.ind span{color:var(--muted);font-size:.93rem}

/* steps – numbered timeline with a line that draws on scroll */
.steps{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative}
.steps::before{content:"";position:absolute;left:8%;right:8%;top:27px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--accent));transform:scaleX(var(--line,1));transform-origin:left;opacity:.35}
.steps li{counter-increment:st;position:relative;padding-top:74px;text-align:center}
.steps li::before{content:counter(st);position:absolute;top:0;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-weight:800;font-size:1.25rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 0 0 7px var(--blue-soft),0 12px 22px -8px rgba(37,99,235,.7);transition:transform .4s var(--ease)}
.steps li:hover::before{transform:translateX(-50%) scale(1.12) rotate(-6deg)}
.steps strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:.3rem}
.steps span{display:block;color:var(--muted);font-size:.96rem}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:26px}
  .steps::before{left:27px;right:auto;top:20px;bottom:20px;width:3px;height:auto;background:linear-gradient(180deg,var(--blue),var(--cyan),var(--accent));transform:scaleY(var(--line,1));transform-origin:top}
  .steps li{padding:0 0 0 76px;text-align:left}
  .steps li::before{left:0;transform:none}
  .steps li:hover::before{transform:scale(1.1) rotate(-6deg)}
}

/* numbered list inside articles / DLT page */
.num-steps{list-style:none;counter-reset:ns;display:grid;gap:16px;margin:1.2rem 0 2rem !important;padding:0 !important}
.num-steps li{counter-increment:ns;position:relative;padding:18px 20px 18px 74px;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .3s var(--ease),box-shadow .3s}
.num-steps li:hover{transform:translateX(6px);box-shadow:var(--sh-sm)}
.num-steps li::before{content:counter(ns);position:absolute;left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand))}

/* code card */
.code-card{position:relative;border-radius:var(--r);overflow:hidden;background:#0A1530;color:#CFE0FF;box-shadow:var(--sh-lg);border:1px solid rgba(255,255,255,.08)}
.code-card pre{margin:0;padding:22px 24px;overflow-x:auto;font-family:var(--mono);font-size:.9rem;line-height:1.75;tab-size:2}
.code-card code{background:none;color:inherit;padding:0;font-size:inherit}
.code-card b{color:var(--accent);font-weight:600}
.code-top{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.07)}
.code-top span{width:11px;height:11px;border-radius:50%;background:#FF5F57}
.code-top span:nth-child(2){background:#FEBC2E}.code-top span:nth-child(3){background:#28C840}
.code-top em{margin-left:10px;font-style:normal;font-size:.8rem;color:#8EA4D6}
.code-copy{position:absolute;top:9px;right:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#CFE0FF;font:inherit;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:8px;cursor:pointer;transition:background .2s}
.code-copy:hover{background:rgba(255,255,255,.18)}
.code-card.in pre{animation:codein 1.1s var(--ease) both}
.tabs .code-card{border-top-left-radius:0}

/* tabs (SMS API, pricing) */
.tabs{margin-top:2rem}
.tab-list{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:14px;background:#E8EEFA;width:max-content;max-width:100%;margin-bottom:1rem;overflow-x:auto}
.tab-list button{border:0;background:transparent;font:inherit;font-weight:650;font-size:.95rem;color:var(--muted);padding:.55rem 1.05rem;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.tab-list button:hover{color:var(--brand)}
.tab-list button[aria-selected="true"]{background:#fff;color:var(--brand);box-shadow:var(--sh-sm)}
[data-panel]{animation:fade .45s var(--ease)}
[data-panel][hidden]{display:none}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh-sm);margin:1.2rem 0 2rem}
.tbl{width:100%;border-collapse:collapse;font-size:.98rem;min-width:520px}
.tbl caption{padding:14px 18px;text-align:left;font-weight:700;color:var(--ink)}
.tbl th{padding:14px 18px;text-align:left;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--brand),var(--blue))}
.tbl td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top}
.tbl tbody tr{transition:background .2s}
.tbl tbody tr:hover{background:var(--blue-soft)}
.tbl tbody tr:nth-child(even){background:#FAFCFF}
.tbl tbody tr:nth-child(even):hover{background:var(--blue-soft)}
.price-tbl td:first-child{font-weight:650;color:var(--ink)}
.price-tbl .rate{font-size:1.25rem;font-weight:800;color:var(--brand);white-space:nowrap}
.price-tbl .rate small{font-size:.8rem;font-weight:600;color:var(--muted)}
.price-tbl .note{color:var(--muted);font-size:.93rem}
.price-tbl tbody tr.best{background:linear-gradient(90deg,rgba(255,176,32,.16),transparent)}
.badge-best{display:inline-block;margin-left:8px;padding:.1rem .55rem;border-radius:99px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-900);background:var(--accent);vertical-align:2px}

/* price cards (kept for fallback grids) */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.price-card{display:flex;flex-direction:column;padding:28px}
.price-card h2{font-size:1.35rem}
.price-card ul{list-style:none;margin:0 0 1.4rem;flex:1}
.price-card li{display:flex;justify-content:space-between;gap:12px;padding:.8rem 0;border-bottom:1px dashed var(--line)}
.p-plan{display:block;font-weight:650;color:var(--ink)}
.p-plan small{display:block;color:var(--muted);font-weight:500}
.p-rate{text-align:right;white-space:nowrap}
.p-rate strong{font-size:1.2rem;color:var(--brand)}
.p-rate small{color:var(--muted)}

/* pricing page extras */
.chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:1.4rem}
.chip-row span{display:inline-flex;align-items:center;gap:8px;padding:.45rem .95rem;border-radius:99px;font-weight:650;font-size:.92rem;color:var(--brand);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.chip-row svg{color:var(--ok)}
.price-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
@media (max-width:1000px){.price-shell{grid-template-columns:1fr}}
.price-side{position:sticky;top:96px;display:grid;gap:18px}
@media (max-width:1000px){.price-side{position:static}}
.side-card{padding:24px;border-radius:var(--r);background:linear-gradient(150deg,var(--brand-900),var(--brand));color:#CFE0FF;box-shadow:var(--sh)}
.side-card h3{color:#fff}
.side-card .btn{margin-top:.6rem}
.price-panel h2{font-size:1.5rem;margin-bottom:.2rem}
.price-panel > p{color:var(--muted)}
.how-steps{list-style:none;counter-reset:hw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:820px){.how-steps{grid-template-columns:1fr}}
.how-steps li{counter-increment:hw;position:relative;padding:26px 22px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .35s var(--ease),box-shadow .35s}
.how-steps li:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.how-steps li::before{content:counter(hw);display:grid;place-items:center;width:44px;height:44px;margin-bottom:.9rem;border-radius:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand))}
.how-steps strong{display:block;color:var(--ink);margin-bottom:.25rem}
.how-steps span{color:var(--muted);font-size:.96rem}
.wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:1.4rem}
@media (max-width:820px){.wallet-grid{grid-template-columns:1fr}}
.wallet-grid dl{margin:0;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.wallet-grid dt{font-weight:800;color:var(--brand);margin-bottom:.3rem}
.wallet-grid dd{margin:0;color:var(--muted);font-size:.96rem}
.hv-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:30px 34px;border-radius:var(--r-lg);color:#CFE0FF;background:radial-gradient(500px 220px at 90% 0%,rgba(255,176,32,.28),transparent 70%),linear-gradient(135deg,var(--brand-900),var(--brand))}
.hv-cta h2,.hv-cta h3{color:#fff;margin:0 0 .3rem}
.hv-cta p{margin:0;max-width:60ch}

/* SMS length checker */
.sms-tool{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px;align-items:start}
@media (max-width:860px){.sms-tool{grid-template-columns:1fr}}
.sms-tool textarea{width:100%;min-height:170px;resize:vertical;padding:16px;font:inherit;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.sms-tool textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.sms-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sms-stats div{padding:18px 12px;text-align:center;border-radius:14px;background:#fff;border:1px solid var(--line)}
.sms-stats strong{display:block;font-size:1.8rem;line-height:1.1;color:var(--brand);transition:transform .25s var(--ease)}
.sms-stats strong.bump{transform:scale(1.18)}
.sms-stats small{color:var(--muted);font-size:.82rem}
.sms-meter{height:10px;border-radius:99px;background:#E4EBF8;margin:14px 0 8px;overflow:hidden}
.sms-meter i{display:block;height:100%;width:var(--w,0%);border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .35s var(--ease),background .3s}
.sms-meter.multi i{background:linear-gradient(90deg,var(--accent),#FF7A59)}
.sms-hint{font-size:.88rem;color:var(--muted)}

/* ---------- 9. Blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.post-img{display:block;overflow:hidden;aspect-ratio:1200/630;background:linear-gradient(135deg,var(--blue-soft),#D6E4FF)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.post-card:hover .post-img img,.featured-post:hover .post-img img{transform:scale(1.07)}
.post-ph{display:grid;place-items:center;width:100%;height:100%;color:var(--blue)}
.post-body{padding:22px;display:flex;flex-direction:column;gap:.45rem;flex:1}
.post-body h3,.post-body h2{margin:0}
.post-body h3 a,.post-body h2 a{color:var(--ink)}
.post-body h3 a:hover,.post-body h2 a:hover{color:var(--blue)}
.post-body p{margin:0;color:var(--muted);font-size:.97rem}
.post-cat{align-self:flex-start;padding:.2rem .7rem;border-radius:99px;font-size:.76rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);background:var(--blue-soft)}
.post-cat:hover{background:var(--blue);color:#fff}
.post-meta{margin-top:auto;padding-top:.5rem;color:var(--muted);font-size:.86rem}
.featured-post{display:grid;grid-template-columns:1.1fr 1fr;gap:0;margin-bottom:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.featured-post .post-img{aspect-ratio:auto;min-height:320px}
.featured-post .post-body{padding:clamp(24px,4vw,44px);justify-content:center;align-items:flex-start}
.featured-post h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
@media (max-width:860px){.featured-post{grid-template-columns:1fr}.featured-post .post-img{min-height:220px}}
.cat-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6rem}
.cat-pills a{display:inline-flex;align-items:center;gap:8px;padding:.5rem 1.05rem;border-radius:99px;font-weight:650;font-size:.93rem;color:var(--text);background:#fff;border:1px solid var(--line);transition:.25s var(--ease)}
.cat-pills a small{padding:.05rem .5rem;border-radius:99px;background:var(--blue-soft);color:var(--blue);font-size:.76rem}
.cat-pills a:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--blue)}
.cat-pills a.on{background:linear-gradient(135deg,var(--blue),var(--brand));border-color:transparent;color:#fff}
.cat-pills a.on small{background:rgba(255,255,255,.22);color:#fff}
.pager{display:flex;justify-content:center;gap:8px;margin-top:2.4rem}
.pager a{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;font-weight:700;color:var(--text);background:#fff;border:1px solid var(--line);transition:.25s}
.pager a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.pager a.on{background:var(--blue);border-color:var(--blue);color:#fff}
.empty{text-align:center;padding:60px 20px;color:var(--muted)}
.empty svg{margin:0 auto 1rem;color:var(--blue)}

.article-hero{padding:44px 0 20px;background:linear-gradient(180deg,#F2F7FF,#fff)}
.article-hero .wrap{max-width:900px}
.article-hero h1{font-size:clamp(1.9rem,3.8vw,2.9rem)}
.article-cover{max-width:960px !important;margin-top:8px}
.article-cover img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding:32px 0 48px}
@media (max-width:1000px){.article-layout{grid-template-columns:1fr}}
.sticky-side{position:sticky;top:96px}
@media (max-width:1000px){.sticky-side{position:static}}
.toc{padding:20px 22px;margin:0 0 2rem;border-radius:var(--r);background:var(--alt);border:1px solid var(--line)}
.toc strong{color:var(--ink)}
.toc ol{margin:.6rem 0 0 1.2rem;display:grid;gap:.3rem}
.toc a{color:var(--text);font-size:.96rem}
.toc a:hover{color:var(--blue)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.share span{font-weight:700;color:var(--ink)}
.share a{padding:.35rem .9rem;border-radius:99px;border:1px solid var(--line);font-weight:600;font-size:.9rem;color:var(--text);transition:.25s}
.share a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}

/* long-form text */
.prose{font-size:1.06rem;line-height:1.8;color:var(--text)}
.prose h2{margin:2.2rem 0 .7rem;font-size:clamp(1.5rem,2.4vw,1.95rem)}
.prose h3{margin:1.7rem 0 .5rem;font-size:1.28rem}
.prose ul,.prose ol{margin:0 0 1.2rem 1.3rem;display:grid;gap:.4rem}
.prose ul.ticks{margin-left:0}
.prose li::marker{color:var(--blue)}
.prose a{text-decoration:underline;text-decoration-color:rgba(37,99,235,.35);text-underline-offset:3px}
.prose a:hover{text-decoration-color:currentColor}
.prose img{border-radius:var(--r);margin:1.4rem 0;box-shadow:var(--sh-sm)}
.prose blockquote{margin:1.6rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:4px solid var(--accent);color:var(--ink);font-size:1.12rem}
.prose pre{overflow-x:auto;padding:18px;border-radius:12px;background:#0A1530;color:#CFE0FF}
.prose pre code{background:none;color:inherit}

/* ---------- 10. FAQ ---------- */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 20px;margin-bottom:1.6rem}
@media (max-width:820px){.faq{grid-template-columns:1fr}}
/* FAQ: two per row, a little space on the left and right (not the full page width) */
.faq{max-width:1040px;margin-inline:auto}
.wrap.narrow:has(> .faq){max-width:1040px}
.faq-group,.faq-empty{max-width:1040px;margin-left:auto;margin-right:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .25s,box-shadow .25s}
.faq details:hover{border-color:rgba(37,99,235,.4)}
.faq details[open]{border-color:var(--blue);box-shadow:var(--sh-sm)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--ease),background-color .25s}
.faq details[open] summary::after{transform:rotate(135deg);background-color:var(--blue)}
.faq-a{padding:0 22px 20px;color:var(--muted);animation:fold .45s var(--ease)}
.faq-a p{margin:0}
.faq-group{margin:2.4rem 0 1rem;font-size:1.4rem;display:flex;align-items:center;gap:12px}
.faq-group::before{content:"";width:8px;height:26px;border-radius:4px;background:linear-gradient(var(--blue),var(--cyan))}
.faq-search{position:relative;max-width:560px;margin:1.6rem auto 0}
.faq-search input{width:100%;padding:.95rem 1.1rem .95rem 3rem;font:inherit;border:1.5px solid var(--line);border-radius:99px;background:#fff;box-shadow:var(--sh-sm);transition:border-color .2s,box-shadow .2s}
.faq-search input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.faq-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--muted)}
.faq-empty{display:none;text-align:center;color:var(--muted);padding:30px 0}

/* ---------- 11. Forms ---------- */
.demo-form{position:relative;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);box-shadow:var(--sh)}
.demo-form.compact{padding:26px}
.df-head{margin-bottom:1.1rem}
.df-title{margin:0 0 .35rem;font-size:1.4rem;color:var(--ink);font-weight:750;line-height:1.2}
.df-head p{margin:0;color:var(--muted);font-size:.94rem}
.df-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:1.1rem}
.demo-form.compact .df-grid{grid-template-columns:1fr}
.fld{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}
.fld.full,.fld.svc{grid-column:1/-1}
.fld label,.fld legend{font-weight:650;font-size:.9rem;color:var(--ink);padding:0}
.fld input:not([type=checkbox]),.fld textarea,.fld select{width:100%;padding:.8rem .95rem;font:inherit;color:var(--ink);background:#F8FAFE;border:1.5px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s,background .2s}
.fld textarea{resize:vertical;min-height:90px}
.fld input:hover,.fld textarea:hover{border-color:#C5D2EA}
.fld input:focus,.fld textarea:focus{outline:0;background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.fld input[aria-invalid="true"],.fld.bad input{border-color:var(--danger);background:#FFF7F6}
.fld input.ok{border-color:var(--ok)}
.err{color:var(--danger);font-size:.82rem;font-weight:600;animation:shake .4s}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;gap:6px;padding:.45rem .95rem;border-radius:99px;font-weight:650;font-size:.9rem;color:var(--text);background:#F8FAFE;border:1.5px solid var(--line);transition:.25s var(--ease)}
.chip:hover span{border-color:var(--blue)}
.chip input:checked + span{color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));border-color:transparent;transform:scale(1.04)}
.chip input:checked + span::before{content:"✓";font-size:.8rem}
.chip input:focus-visible + span{outline:3px solid var(--accent);outline-offset:2px}
.df-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:.9rem 0 0;color:var(--muted);font-size:.85rem}
.df-note svg{color:var(--ok)}
.alert{padding:12px 14px;margin-bottom:1rem;border-radius:12px;font-size:.92rem;font-weight:600;color:#912018;background:#FEF3F2;border:1px solid #FDA29B}
@media (max-width:560px){.df-grid{grid-template-columns:1fr}.demo-form{padding:22px}}

/* contact */
.contact-cards{display:grid;gap:14px}
.contact-card{display:flex;align-items:center;gap:16px;padding:18px 20px;color:var(--text)}
a.contact-card:hover{transform:translateX(6px);border-color:var(--blue);box-shadow:var(--sh-sm);color:var(--text)}
.contact-card > svg{width:48px;height:48px;padding:12px;border-radius:14px;background:var(--blue-soft);color:var(--blue);transition:.35s var(--ease)}
a.contact-card:hover > svg{background:var(--blue);color:#fff;transform:rotate(-8deg)}
.contact-card strong{display:block;color:var(--ink)}

/* ---------- 12. CTA band ---------- */
.cta-band{position:relative;overflow:hidden;color:#CFE0FF;background:linear-gradient(120deg,var(--brand-900),var(--brand),#1D4ED8,var(--brand));background-size:300% 300%;animation:gradmove 14s ease infinite;isolation:isolate}
.cta-band::before,.cta-band::after{content:"";position:absolute;border-radius:50%;z-index:-1}
.cta-band::before{width:420px;height:420px;left:-120px;top:-180px;background:radial-gradient(circle,rgba(34,211,238,.35),transparent 65%);animation:blob 12s ease-in-out infinite alternate}
.cta-band::after{width:360px;height:360px;right:-80px;bottom:-200px;background:radial-gradient(circle,rgba(255,176,32,.35),transparent 65%);animation:blob 10s -3s ease-in-out infinite alternate}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:clamp(30px,4vw,46px) 0}
.cta-in h2{color:#fff;margin-bottom:.4rem}
.cta-in p{margin:0;max-width:56ch}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px}
.cta-actions .btn.light{animation:pulse-w 2.6s infinite}

/* ---------- 13. Footer ---------- */
.foot{background:var(--brand-900);color:#9FB2DA;padding-top:44px}
.foot a{color:#C9D7F5}
.foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
.foot-logo img{height:36px;width:auto;filter:brightness(0) invert(1)}
.foot-brand p{margin:1rem 0;max-width:38ch}
.contact-list{list-style:none;display:grid;gap:.6rem}
.contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-list svg{margin-top:.25em;color:var(--accent)}
.foot-h{margin:0 0 1rem;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.foot ul{list-style:none;display:grid;gap:.55rem}
.foot ul a{position:relative;display:inline-block;transition:transform .25s var(--ease),color .2s}
.foot ul a:hover{transform:translateX(5px)}
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.2rem}
.social a{padding:.3rem .8rem;border-radius:99px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,255,255,.2);text-transform:capitalize;transition:.25s}
.social a:hover{background:#fff;color:var(--brand) !important;transform:translateY(-2px)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:32px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem}

/* floating contact buttons */
.wa-float{position:fixed;right:20px;bottom:22px;z-index:70;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;background:#25D366;box-shadow:0 12px 26px -8px rgba(37,211,102,.8);animation:wa-pulse 2.6s infinite;transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.1) rotate(-6deg);color:#fff}
.mob-bar{display:none}
@media (max-width:700px){
  .mob-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px -14px rgba(11,35,89,.4);animation:slideup .6s .6s var(--ease) both}
  .mob-bar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px 11px;font-size:.76rem;font-weight:700;color:var(--ink)}
  .mob-bar a.hl{background:linear-gradient(135deg,var(--blue),var(--brand));color:#fff}
  .wa-float{bottom:84px;right:14px;width:52px;height:52px}
  .to-top{bottom:146px;right:16px}
  body{padding-bottom:62px}
}

/* ---------- 14. Home: marquee + showcase + stats ---------- */
.marquee{overflow:hidden;padding:22px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:14px;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:10px;padding:.55rem 1.1rem;border-radius:99px;font-weight:650;font-size:.95rem;color:var(--brand);background:#fff;border:1px solid var(--line);white-space:nowrap}
.marquee-track span::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan))}

.stats{background:linear-gradient(135deg,var(--brand-900),var(--brand));color:#C7D6F7}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 0}
.stat{text-align:center;padding:6px 10px;position:relative}
.stat + .stat::before{content:"";position:absolute;left:-10px;top:12%;bottom:12%;width:1px;background:rgba(255,255,255,.16)}
.stat strong{display:block;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.1;font-weight:800;color:#fff;letter-spacing:-.02em}
.stat strong em{font-style:normal;color:var(--accent)}
.stat span{font-size:.95rem}
@media (max-width:760px){.stats-in{grid-template-columns:1fr 1fr;row-gap:28px}.stat:nth-child(3)::before{display:none}}

.showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,6vw,84px);align-items:center}
@media (max-width:900px){.showcase{grid-template-columns:1fr}}
.sc-list{display:grid;gap:12px}
.sc-item{position:relative;padding:18px 20px 18px 24px;border-radius:16px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.sc-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:4px;background:var(--line);transition:background .3s}
.sc-item h3{margin:0 0 .15rem;font-size:1.08rem}
.sc-item p{margin:0;color:var(--muted);font-size:.95rem}
.sc-item:hover{transform:translateX(6px)}
.sc-item.on{border-color:rgba(37,99,235,.45);box-shadow:var(--sh)}
.sc-item.on::before{background:linear-gradient(var(--blue),var(--cyan))}
.sc-item .bar{display:none;height:3px;margin-top:12px;border-radius:3px;background:#E4EBF8;overflow:hidden}
.sc-item.on .bar{display:block}
.sc-item .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));transform-origin:left;animation:bar 4.5s linear both}
.phone{position:relative;width:min(310px,100%);margin-inline:auto;padding:12px;border-radius:44px;background:linear-gradient(160deg,#16264F,#07122B);box-shadow:var(--sh-lg),inset 0 0 0 2px rgba(255,255,255,.08);animation:float 8s ease-in-out infinite}
.phone::before{content:"";position:absolute;left:50%;top:18px;transform:translateX(-50%);width:84px;height:22px;border-radius:99px;background:#050C1F;z-index:3}
.phone-screen{position:relative;height:540px;border-radius:34px;overflow:hidden;background:#EEF3FC;padding:56px 14px 20px}
.phone-top{position:absolute;left:0;right:0;top:0;padding:46px 16px 12px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;z-index:2;font-weight:700;color:var(--ink);font-size:.9rem}
.phone-top i{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--brand));display:block}
.phone-top small{display:block;font-weight:500;color:var(--muted);font-size:.72rem}
.screen{position:absolute;inset:92px 14px 16px;display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transition:opacity .4s}
.screen.on{opacity:1;visibility:visible}
.screen .msg{max-width:88%;padding:11px 14px;border-radius:18px 18px 18px 6px;font-size:.88rem;line-height:1.45;color:var(--ink);background:#fff;box-shadow:0 4px 14px -6px rgba(11,35,89,.3);opacity:0;transform:translateY(14px) scale(.96)}
.screen.on .msg{animation:msgin .55s var(--ease) both}
.screen.on .msg:nth-child(2){animation-delay:.7s}.screen.on .msg:nth-child(3){animation-delay:1.4s}.screen.on .msg:nth-child(4){animation-delay:2.1s}
.screen .msg b{color:var(--brand)}
.screen .msg small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem}
.screen.wa .msg{background:#DCF8C6;border-radius:18px 18px 6px 18px;align-self:flex-end}
.screen.wa .msg.in{background:#fff;align-self:flex-start;border-radius:18px 18px 18px 6px}
.screen .rcs-card{padding:0;overflow:hidden;width:92%}
.screen .rcs-card .img{height:120px;background:linear-gradient(135deg,var(--blue),var(--cyan) 60%,var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.3rem}
.screen .rcs-card div.t{padding:12px 14px}
.screen .rcs-card .btns{display:grid;gap:6px;padding:0 14px 14px}
.screen .rcs-card .btns span{padding:.45rem;text-align:center;border-radius:99px;border:1px solid var(--blue);color:var(--blue);font-weight:700;font-size:.8rem}
.typing{display:inline-flex;gap:4px;padding:10px 14px;border-radius:99px;background:#fff;align-self:flex-start;opacity:0}
.screen.on .typing{animation:msgin .4s .2s both}
.typing i{width:7px;height:7px;border-radius:50%;background:#9FB2DA;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}

/* ---------- 15. Scroll-reveal (progressive) ---------- */
.js [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms);will-change:opacity,transform}
.js [data-reveal="left"]{transform:translate3d(-34px,0,0)}
.js [data-reveal="right"]{transform:translate3d(34px,0,0)}
.js [data-reveal="zoom"]{transform:scale(.94)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal].in.card,.js [data-reveal].in.feature,.js [data-reveal].in.ind,.js [data-reveal].in.price-card,.js [data-reveal].in.post-card{transition:opacity .8s var(--ease) var(--d,0ms),transform .35s var(--ease),box-shadow .35s,border-color .35s}

/* page fade-in */
main{animation:fade .6s var(--ease)}

/* ---------- 16. Keyframes ---------- */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes fold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rot{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes blob{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-50px,40px) scale(1.15)}}
@keyframes shimmer{to{background-position:200% center}}
@keyframes gridmove{to{background-position:56px 56px,56px 56px}}
@keyframes gradmove{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(18,166,107,.5)}70%{box-shadow:0 0 0 22px rgba(18,166,107,0)}100%{box-shadow:0 0 0 0 rgba(18,166,107,0)}}
@keyframes pulse-w{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55),0 12px 26px -8px rgba(37,211,102,.8)}70%{box-shadow:0 0 0 20px rgba(37,211,102,0),0 12px 26px -8px rgba(37,211,102,.8)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 12px 26px -8px rgba(37,211,102,.8)}}
@keyframes pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@keyframes shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@keyframes slideup{from{transform:translateY(100%)}to{transform:none}}
@keyframes ring{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(16deg)}94%{transform:rotate(-14deg)}97%{transform:rotate(8deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes msgin{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes dot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes codein{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes rot-ang{to{--ang:360deg}}
.hero-form::before{animation:rot-ang 8s linear infinite}

/* ---------- 17. Reduced motion & print ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .js [data-reveal]{opacity:1;transform:none}
  .marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
}
@media print{
  .nav,.mob-bar,.wa-float,.to-top,.progress,.cta-band,.fx{display:none !important}
  .hero{background:#fff;color:#000}.hero h1{color:#000}
  .js [data-reveal]{opacity:1;transform:none}
}

/* ---------- 18. Utilities ---------- */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.price-shell > *,.split > *,.article-layout > *,.showcase > *,.sms-tool > *{min-width:0}

/* nav: keep every item on one line */
.menu > a,.dd-btn,.menu-cta .btn,.nav-phone{white-space:nowrap}
.menu{gap:2px}
@media (max-width:1280px) and (min-width:961px){.nav-phone span{display:none}}
.page-hero::after{border-radius:50%}

/* ======================================================================
   7. Home / service hero visual (animated phone, orbit, floating cards)
   ====================================================================== */
.hv{position:relative;min-height:540px;display:grid;place-items:center;--hv-s:440px;animation:fade 1s .2s both}
.hv-glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.45),rgba(37,99,235,.25) 45%,transparent 70%);filter:blur(30px);animation:blob 9s ease-in-out infinite alternate}
.hv-orbit{position:absolute;left:50%;top:50%;width:var(--hv-s);height:var(--hv-s);margin:calc(var(--hv-s)/-2) 0 0 calc(var(--hv-s)/-2);border-radius:50%;border:1.5px dashed rgba(255,255,255,.26);animation:rot 46s linear infinite}
.hv-orbit2{--hv-s:540px;border-style:solid;border-color:rgba(255,255,255,.08);animation-duration:70s;animation-direction:reverse}
.hv-orbit span{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(calc(var(--hv-s)/2)) rotate(calc(var(--a) * -1))}
.hv-orbit span i{position:absolute;left:-24px;top:-24px;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--brand);background:#fff;box-shadow:0 12px 26px -8px rgba(2,12,40,.65);animation:rot 46s linear infinite reverse}
.hv-orbit span:nth-child(2) i{color:#128C7E}.hv-orbit span:nth-child(3) i{color:#7C3AED}.hv-orbit span:nth-child(4) i{color:#E11D48}
.hv-orbit span i svg{width:22px;height:22px}

.hv-phone{position:relative;z-index:2;width:262px;padding:9px;border-radius:40px;background:linear-gradient(160deg,#2a3f78,#0b1738);box-shadow:0 40px 70px -22px rgba(2,10,38,.85),inset 0 0 0 1.5px rgba(255,255,255,.18);animation:float 7s ease-in-out infinite;translate:calc(var(--px,0) * -8px) calc(var(--py,0) * -6px);transition:translate .3s ease-out}
.hv-phone::before{content:"";position:absolute;left:50%;top:16px;width:70px;height:18px;transform:translateX(-50%);border-radius:99px;background:#050d24;z-index:3}
.hv-screen{position:relative;height:468px;border-radius:32px;overflow:hidden;background:#EEF3FC}
.hv-top{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:42px 14px 10px;background:#fff;border-bottom:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.9rem;line-height:1.2}
.hv-av{width:30px;height:30px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--blue),var(--cyan))}
.hv-top small{display:block;font-weight:500;color:var(--muted);font-size:.7rem}
.hv-chat{position:absolute;inset:92px 12px 12px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.hv-msg{max-width:90%;padding:9px 12px;border-radius:16px 16px 16px 5px;background:#fff;color:var(--ink);font-size:.8rem;line-height:1.4;box-shadow:0 2px 6px rgba(11,35,89,.08);animation:hvmsg 13s var(--ease) infinite;animation-delay:calc(var(--i) * 1.9s + .4s);animation-fill-mode:both}
.hv-msg small{display:block;margin-top:3px;font-size:.66rem;color:var(--muted)}
.hv-msg b{color:var(--brand)}
.hv-otp{letter-spacing:.12em;background:linear-gradient(90deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent !important;font-size:1rem}
.hv-wa .hv-screen{background:#E7DED3}
.hv-wa .hv-av{background:linear-gradient(135deg,#25D366,#128C7E)}
.hv-msg.out{align-self:flex-end;background:#DCF8C6;border-radius:16px 16px 5px 16px}
.hv-rcs{padding:0;overflow:hidden;width:92%}
.hv-rcs-img{display:grid;place-items:center;height:104px;font-weight:800;font-size:1.05rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan) 60%,var(--accent))}
.hv-rcs-t{display:block;padding:9px 12px}
.hv-rcs-b{display:grid;gap:5px;padding:0 12px 12px}
.hv-rcs-b em{font-style:normal;text-align:center;padding:.38rem;border-radius:99px;border:1px solid var(--blue);color:var(--blue);font-weight:700;font-size:.74rem}
.hv-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 2px 6px rgba(11,35,89,.08);animation:hvtype 13s infinite;animation-delay:calc(var(--i) * 1.9s + .4s);animation-fill-mode:both}
.hv-typing i{width:6px;height:6px;border-radius:50%;background:#9AA8C4;animation:dot 1s ease-in-out infinite}
.hv-typing i:nth-child(2){animation-delay:.15s}.hv-typing i:nth-child(3){animation-delay:.3s}
@keyframes hvmsg{0%{opacity:0;transform:translateY(16px) scale(.94)}4%,86%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes hvtype{0%,2%{opacity:0}5%,22%{opacity:1}28%,100%{opacity:0}}

.hv-card{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:.7rem .95rem;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 22px 40px -16px rgba(2,12,40,.7);font-size:.8rem;line-height:1.25;animation:float 6.5s ease-in-out infinite;translate:calc(var(--px,0) * var(--k,10) * 1px) calc(var(--py,0) * var(--k,10) * 1px);transition:translate .3s ease-out}
.hv-card strong{display:block;font-size:.86rem}
.hv-card small{display:block;color:var(--muted);font-size:.72rem}
.hv-card .ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;color:var(--brand);background:var(--blue-soft)}
.hv-card .ic.ok{color:#fff;background:var(--ok)}.hv-card .ic.hot{color:#fff;background:linear-gradient(135deg,var(--accent),#FF8A3D)}
.hv-card .ic.ok{animation:pulse 2.6s infinite}
.hv-card.c1{left:-2%;top:11%;animation-delay:-1s}
.hv-card.c2{right:-3%;top:20%;animation-delay:-2.5s}
.hv-card.c3{left:-4%;bottom:14%;flex-direction:column;align-items:flex-start;gap:8px;animation-delay:-4s}
.hv-card.c4{right:-1%;bottom:9%;animation-delay:-3s}
.hv-bars{display:flex;align-items:flex-end;gap:5px;height:44px;width:112px}
.hv-bars i{flex:1;height:var(--h);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--cyan),var(--blue));transform-origin:bottom;animation:hvbar 3.6s ease-in-out infinite alternate}
.hv-bars i:nth-child(2n){animation-delay:-.8s}.hv-bars i:nth-child(3n){animation-delay:-1.6s}.hv-bars i:nth-child(5n){animation-delay:-2.4s}
@keyframes hvbar{0%{transform:scaleY(.45)}100%{transform:scaleY(1)}}

/* rotating word in the home headline */
.hl-text[data-rotate]{display:inline-block;transition:opacity .35s ease,transform .35s var(--ease)}
.hl-text.swap{opacity:0;transform:translateY(.35em)}

/* ======================================================================
   8. "How a message travels" strip
   ====================================================================== */
.flow{padding:30px 0 26px;background:#fff;border-bottom:1px solid var(--line)}
.flow-title{margin:0 0 20px;text-align:center;font-weight:800;color:var(--ink);font-size:clamp(1.05rem,2vw,1.35rem)}
.flow-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;max-width:1000px;margin:0 auto}
.fl-node{width:150px;text-align:center}
.fl-node strong{display:block;margin-top:10px;color:var(--ink);font-size:.92rem}
.fl-node small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.fl-ic{width:60px;height:60px;border-radius:19px;display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 14px 26px -12px rgba(11,59,140,.7)}
.fl-node:nth-child(3) .fl-ic{background:linear-gradient(135deg,#7C3AED,#4F46E5)}
.fl-node:nth-child(5) .fl-ic{background:linear-gradient(135deg,var(--accent),#FF8A3D)}
.fl-end .fl-ic{background:linear-gradient(135deg,#12A66B,#0E8A57);animation:pulse 2.4s infinite}
.fl-conn{position:relative;align-self:start;margin:29px -40px 0;height:3px;border-radius:3px;background:repeating-linear-gradient(90deg,#C9D6EE 0 8px,transparent 8px 14px)}
.fl-conn i{position:absolute;top:-4px;left:0;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,176,32,.25),0 0 14px rgba(255,176,32,.9);animation:hvtravel 2.6s linear infinite}
.fl-conn:nth-of-type(2) i{animation-delay:.85s}.fl-conn:nth-of-type(3) i{animation-delay:1.7s}
@keyframes hvtravel{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 11px);opacity:0}}

/* ======================================================================
   9. Small "book a free demo" card (the form itself lives on /contact-us)
   ====================================================================== */
.cta-card{position:relative;padding:28px 26px;border-radius:var(--r-lg);color:#DCE7FF;background:radial-gradient(500px 240px at 90% -10%,rgba(34,211,238,.28),transparent 60%),linear-gradient(145deg,var(--brand-900),var(--brand));box-shadow:var(--sh);overflow:hidden}
.cta-card::after{content:"";position:absolute;width:190px;height:190px;right:-60px;bottom:-80px;border-radius:50%;background:radial-gradient(circle,rgba(255,176,32,.45),transparent 70%);animation:blob 10s ease-in-out infinite alternate}
.cta-card-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:var(--brand-900);background:linear-gradient(135deg,var(--accent),#FF8A3D);margin-bottom:14px;animation:ring 5s infinite}
.cta-card h2,.cta-card-title{margin:0 0 6px;color:#fff;font-size:1.3rem}
.cta-card p{margin:0 0 18px;color:#C7D6F7}
.cta-card .btn{position:relative;z-index:1;background:linear-gradient(135deg,var(--accent),#FF8A3D);color:var(--brand-900)}
.cta-card .btn:hover{color:var(--brand-900)}
.cta-card .cta-card-alt{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;font-size:.9rem}
.cta-card .cta-card-alt a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600}
.cta-card .cta-card-alt a:hover{color:var(--accent)}

@media (max-width:960px){
  .hv{min-height:500px;--hv-s:400px}
  .hv-orbit2{--hv-s:480px}
  .hv-card.c1{left:2%}.hv-card.c2{right:2%}.hv-card.c3{left:0}.hv-card.c4{right:0}
}
@media (max-width:640px){
  .hv{min-height:470px;--hv-s:330px}
  .hv-orbit2,.hv-card.c3{display:none}
  .hv-phone{width:236px}.hv-screen{height:430px}
  .hv-card.c1{left:-2%;top:6%}.hv-card.c2{right:-2%;top:16%}.hv-card.c4{right:-1%;bottom:4%}
  .flow-line{grid-template-columns:1fr;justify-items:center}
  .fl-node{width:auto}
  .fl-conn{width:3px;height:34px;margin:6px 0 !important;background:repeating-linear-gradient(180deg,#C9D6EE 0 8px,transparent 8px 14px)}
  .fl-conn i{left:-4px;top:0;animation-name:hvtravelv}
  @keyframes hvtravelv{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 11px);opacity:0}}
}
@media (prefers-reduced-motion:reduce){
  .hv-msg{animation:none !important;opacity:1}
  .hv-typing{display:none}
  .hv-card,.hv-phone{translate:none !important}
}

/* ======================================================================
   10. One-row auto-scrolling card strips (home: services, why, industries)
   Markup: .mq > .mq-track > 2 x .mq-set (2nd copy is aria-hidden) – track
   moves by exactly -50 %, so the loop is seamless. Hover pauses it.
   ====================================================================== */
.mq{overflow:hidden;padding:12px 0 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq var(--mq-t,45s) linear infinite;will-change:transform}
.mq-track.mq-rev{animation-direction:reverse}
.mq:hover .mq-track,.mq:focus-within .mq-track{animation-play-state:paused}
.mq-set{display:flex;flex:none;gap:20px;padding-right:20px}
.mq-set > *{flex:none;width:clamp(250px,24vw,310px)}
.mq-ind .mq-set > *{width:clamp(220px,19vw,250px)}
.mq-feat .mq-set > *{width:clamp(240px,22vw,290px)}
@keyframes mq{to{transform:translateX(-50%)}}
.sec-head.row-head > div{max-width:760px}
.sec-head.row-head > div > p:last-child{margin-bottom:0}

/* FAQ in two columns (home) */
.faq-cols .faq{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 20px}
@media (max-width:820px){.faq-cols .faq{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .mq{-webkit-mask-image:none;mask-image:none;overflow:visible}
  .mq-track{animation:none;width:auto}
  .mq-set{flex-wrap:wrap;justify-content:center;padding:0 20px}
  .mq-set[aria-hidden="true"]{display:none}
}

/* ==========================================================================
   THEME "Steel & Gold" (2026-10-18) - backgrounds from the reference image:
   soft steel / ice blue, a warm champagne glow, deep navy base and gold accents.
   Only colours / backgrounds are overridden here - delete this block to go back
   to the previous royal-blue look.
   ========================================================================== */
:root{
  --st-ice:#E3EFF7;   /* top band of the image (header)         */
  --st-sky:#6D9AB6;   /* light steel blue (upper hero)          */
  --st-steel:#3F7194; /* mid steel blue (behind the text)       */
  --st-deep:#1D4668;  /* lower hero                             */
  --st-navy:#0F3252;  /* deep navy base / dark buttons          */
  --st-navy-2:#0B2640;/* footer                                 */
  --gold:#D7B66F; --gold-600:#BF934A; --gold-soft:#F3E3BC;
  --accent:#D4AF5F; --accent-600:#BF934A;
}

/* header: pale ice glass like the top of the image */
.nav{background:rgba(234,243,249,.88)}
.nav.scrolled{background:rgba(238,246,251,.95)}

/* home + service heroes (the ones with the phone) */
.hero{color:#E4EEF6;background:
  radial-gradient(760px 480px at -10% 95%,rgba(215,182,111,.26),transparent 62%),
  radial-gradient(820px 520px at 102% -12%,rgba(209,231,245,.38),transparent 60%),
  radial-gradient(1000px 520px at 50% 125%,rgba(11,38,64,.7),transparent 70%),
  linear-gradient(165deg,#4F7FA0 0%,var(--st-steel) 30%,var(--st-deep) 68%,var(--st-navy) 100%)}
.hero::before{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px)}
.hero::after{background:radial-gradient(circle,rgba(243,227,188,.45),transparent 65%)}
.hero .lead{color:#EEF4F9}
.hero .ticks li{color:#EEF4F9}
.hero .ticks li > svg{background:rgba(215,182,111,.25);color:var(--gold-soft)}
.hero .eyebrow{color:#F4ECD8;background:rgba(255,255,255,.12);border-color:rgba(243,227,188,.35)}
.hl-text{background:linear-gradient(100deg,#F6E7BF,var(--gold) 40%,#FFF3D1 55%,var(--gold));background-size:200% auto;-webkit-background-clip:text;background-clip:text}
.hero .btn.big:not(.ghost){background:linear-gradient(135deg,#E6C987,var(--gold-600));color:var(--st-navy);box-shadow:0 14px 30px -12px rgba(191,147,74,.85)}
.hero .btn.big:not(.ghost):hover{color:var(--st-navy);box-shadow:0 18px 34px -12px rgba(191,147,74,.95)}
.hero-form::before{background:conic-gradient(from var(--ang,0deg),var(--gold-soft),var(--st-sky),var(--gold),var(--gold-soft))}
.fx span{background:rgba(255,255,255,.14);border-color:rgba(243,227,188,.28)}
.hv-glow{background:radial-gradient(circle,rgba(243,227,188,.45),rgba(109,154,182,.3) 45%,transparent 70%)}

/* inner page heroes: the light ice band of the image with a soft gold glow */
.page-hero{background:
  radial-gradient(700px 320px at 10% -20%,rgba(109,154,182,.22),transparent 70%),
  radial-gradient(600px 300px at 95% 0%,rgba(215,182,111,.24),transparent 70%),
  linear-gradient(180deg,var(--st-ice),#F6FAFD 70%,#fff)}
.page-hero::after{background:linear-gradient(135deg,rgba(109,154,182,.18),rgba(215,182,111,.18))}
.page-hero.slim,.article-hero{background:linear-gradient(180deg,var(--st-ice),#fff)}
.post-img{background:linear-gradient(135deg,var(--st-ice),#CFE0EC)}

/* dark bands: the deep navy of the image + gold glow */
.cta-band{color:#D9E5EF;background:linear-gradient(120deg,var(--st-navy),var(--st-deep),var(--st-steel),var(--st-deep));background-size:300% 300%}
.cta-band::before{background:radial-gradient(circle,rgba(109,154,182,.45),transparent 65%)}
.cta-band::after{background:radial-gradient(circle,rgba(215,182,111,.4),transparent 65%)}
.stats{background:linear-gradient(135deg,var(--st-navy),var(--st-deep) 60%,var(--st-steel));color:#D3E1EC}
.side-card{background:linear-gradient(150deg,var(--st-navy),var(--st-deep));color:#D9E5EF}
.hv-cta{color:#D9E5EF;background:radial-gradient(500px 220px at 90% 0%,rgba(215,182,111,.32),transparent 70%),linear-gradient(135deg,var(--st-navy),var(--st-deep))}
.foot{background:linear-gradient(180deg,var(--st-navy),var(--st-navy-2));color:#A9BCCD}
.foot a{color:#D3E0EA}
.foot .contact-list svg,.contact-list svg{color:var(--gold)}
.to-top{background:var(--st-navy)}
.to-top:hover{background:var(--st-steel)}
.progress span{background:linear-gradient(90deg,var(--st-sky),var(--st-steel),var(--gold))}
.badge-best{color:var(--st-navy)}
.price-tbl tbody tr.best{background:linear-gradient(90deg,rgba(215,182,111,.2),transparent)}

/* hero: text and phone start at the top (no big empty gap above the phone) */
.hero-in{align-items:start;padding:30px 0 56px}
.hero-sub .hero-in{padding:26px 0 52px}
.hero .hv{min-height:500px}
@media (max-width:980px){.hero-in{padding:28px 0 44px}.hero-sub .hero-in{padding:24px 0 40px}}

/* service pages: the service name (Bulk SMS, OTP SMS, RCS ...) as a clear gold badge */
.hero .eyebrow.svc-badge{gap:10px;padding:.42rem 1.1rem .42rem .42rem;font-size:.95rem;letter-spacing:.06em;color:var(--st-navy);
  background:linear-gradient(135deg,#F3E3BC,var(--gold) 55%,var(--gold-600));border:1px solid rgba(255,255,255,.55);
  box-shadow:0 10px 26px -10px rgba(191,147,74,.9),inset 0 1px 0 rgba(255,255,255,.6);-webkit-backdrop-filter:none;backdrop-filter:none}
.svc-badge__ic{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:var(--st-navy);box-shadow:0 4px 10px -4px rgba(15,50,82,.8)}
.hero .eyebrow.svc-badge svg{color:#fff}

/* ==========================================================================
   Hero phone screens (2026-10-18): an app-like screen per channel
   (SMS, OTP, RCS rich card, WhatsApp template, Email inbox).
   ========================================================================== */
.hv-screen{background:#F3F6FB}
.hv-top{padding:40px 12px 10px;gap:9px;font-size:.86rem}
.hv-top > span{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv-back{flex:none;font-size:1.5rem;line-height:1;color:#64748B;font-weight:400;margin-right:-2px}
.hv-av{display:grid;place-items:center;width:32px;height:32px;font-size:.72rem;font-weight:800;color:#fff;font-style:normal}
.hv-av--brand{background:linear-gradient(135deg,var(--st-steel,#3F7194),var(--st-navy,#0F3252))}
.hv-av--wa{background:#fff;color:#075E54}
.hv-av--mail{width:28px;height:28px;background:linear-gradient(135deg,#F59E0B,#EF4444)}
.hv-av--green{background:linear-gradient(135deg,#10B981,#047857)}
.hv-av--violet{background:linear-gradient(135deg,#8B5CF6,#4F46E5)}
.hv-tick{display:inline-grid;place-items:center;width:14px;height:14px;margin-left:3px;border-radius:50%;font-size:.55rem;font-style:normal;color:#fff;background:#2563EB;vertical-align:1px}
.hv-chat{inset:88px 10px 10px;gap:8px}
.hv-msg{font-size:.78rem;border-radius:16px 16px 16px 5px}
.hv-msg small{font-size:.64rem}
.hv-link{color:#2563EB;text-decoration:underline;text-underline-offset:2px}
.hv-pill{display:inline-block;margin-right:5px;padding:0 .4rem;border-radius:5px;font-size:.6rem;font-weight:800;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,var(--gold,#D7B66F),var(--gold-600,#BF934A));vertical-align:1px}

/* ---- OTP ---- */
.hv-otp-card{max-width:100%;padding:12px 12px 10px;border-radius:18px 18px 18px 6px}
.hv-otp-l{display:block;margin:0 0 6px !important;font-size:.66rem !important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748B !important}
.hv-otp-digits{display:flex;gap:5px;margin-bottom:8px}
.hv-otp-digits i{flex:1;display:grid;place-items:center;height:36px;border-radius:9px;font-style:normal;font-weight:800;font-size:1.1rem;color:var(--st-navy,#0F3252);background:linear-gradient(180deg,#F3F7FC,#E4ECF6);border:1px solid #D5E0EE}
.hv-otp-t{display:block;color:var(--text)}
.hv-autofill{position:absolute;left:10px;right:10px;bottom:12px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:14px;background:#fff;box-shadow:0 8px 20px -10px rgba(15,50,82,.5);font-size:.72rem;color:#64748B;animation:hvmsg 13s var(--ease) infinite;animation-delay:calc(var(--i) * 1.9s + .4s);animation-fill-mode:both}
.hv-autofill b{padding:.25rem .7rem;border-radius:99px;letter-spacing:.14em;font-size:.86rem;color:#fff;background:linear-gradient(135deg,var(--st-steel,#3F7194),var(--st-navy,#0F3252))}

/* ---- RCS rich card ---- */
.hv-top--rcs{background:linear-gradient(180deg,#fff,#F7FAFD)}
.hv-rcs{width:100%;max-width:100%;border-radius:18px;padding:0;overflow:hidden;box-shadow:0 10px 24px -14px rgba(15,50,82,.55)}
.hv-rcs-img{position:relative;display:flex !important;flex-direction:column;justify-content:flex-end;align-items:flex-start;height:118px;padding:10px 12px;text-align:left;
  background:radial-gradient(120px 90px at 85% 20%,rgba(255,244,214,.75),transparent 70%),radial-gradient(160px 110px at 10% 110%,rgba(15,50,82,.55),transparent 70%),linear-gradient(135deg,#E9C77F,#BF934A 45%,#3F7194);color:#fff}
.hv-rcs-img b{font-size:1.02rem;line-height:1.15;text-shadow:0 2px 8px rgba(15,50,82,.45)}
.hv-rcs-img small{margin:2px 0 0;font-size:.66rem;color:rgba(255,255,255,.92)}
.hv-rcs-tag{position:absolute;top:10px;right:10px;padding:.18rem .5rem;border-radius:8px;font-size:.66rem;font-weight:800;color:var(--st-navy,#0F3252);background:#fff;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.hv-rcs-t{display:block;padding:9px 12px 8px;color:var(--text);font-size:.74rem}
.hv-rcs-t b{display:block;margin-bottom:2px;font-size:.82rem;color:var(--ink)}
.hv-code{padding:0 .3rem;border-radius:5px;border:1px dashed var(--gold-600,#BF934A);font-weight:800;color:var(--st-navy,#0F3252);background:#FBF5E6}
.hv-rcs-b{padding:0 10px 10px;gap:6px}
.hv-rcs-b em{border-color:#C9D7E6;color:var(--st-steel,#3F7194);font-size:.72rem;padding:.34rem}
.hv-rcs-b em:first-child{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--st-steel,#3F7194),var(--st-navy,#0F3252))}
.hv-rcs--mini .hv-rcs-img{height:76px}
.hv-rcs--mini .hv-rcs-b{padding-top:8px}
.hv-chips{display:flex;gap:6px;flex-wrap:wrap;animation:hvmsg 13s var(--ease) infinite;animation-delay:calc(var(--i) * 1.9s + .4s);animation-fill-mode:both}
.hv-chips em{font-style:normal;padding:.32rem .7rem;border-radius:99px;font-size:.7rem;font-weight:700;color:var(--st-steel,#3F7194);background:#fff;border:1px solid #C9D7E6}

/* ---- WhatsApp ---- */
.hv-ch-wa .hv-screen{background-color:#EFEAE2;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1.2px);background-size:14px 14px}
.hv-top--wa{background:#075E54;color:#fff;border-bottom:0}
.hv-top--wa .hv-back,.hv-top--wa small{color:#CDE9E4}
.hv-tick--wa{background:#25D366}
.hv-day{align-self:center;padding:.12rem .55rem;border-radius:7px;font-size:.6rem;font-weight:700;color:#54656F;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.08);animation:hvmsg 13s var(--ease) infinite;animation-delay:.4s;animation-fill-mode:both}
.hv-wa .hv-msg{border-radius:4px 12px 12px 12px;box-shadow:0 1px 1px rgba(0,0,0,.13)}
.hv-wa .hv-msg.out{border-radius:12px 4px 12px 12px;background:#D9FDD3}
.hv-read{font-style:normal;color:#53BDEB;font-weight:700}
.hv-wa-tpl{max-width:94%;padding:4px 4px 0;overflow:hidden}
.hv-wa-img{display:flex;align-items:center;gap:8px;height:64px;padding:0 12px;border-radius:9px;color:#fff;font-size:.86rem;background:linear-gradient(135deg,#128C7E,#075E54 60%,#0B3B2E)}
.hv-wa-box{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);font-size:1.25rem}
.hv-wa-body{display:block;padding:7px 8px 0;color:#111B21}
.hv-wa-tpl > small{text-align:right;padding:0 8px}
.hv-wa-btns{display:grid;margin:6px -4px 0;border-top:1px solid #E9EDEF}
.hv-wa-btns em{font-style:normal;text-align:center;padding:.45rem;font-size:.74rem;font-weight:700;color:#027EB5}
.hv-wa-btns em + em{border-top:1px solid #E9EDEF}

/* ---- Email ---- */
.hv-top--mail{justify-content:space-between;padding:40px 14px 10px}
.hv-mail-h{font-size:1.05rem;font-weight:800;color:var(--ink)}
.hv-mail-h small{display:inline;margin-left:6px;font-size:.66rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;color:#fff;background:#2563EB}
.hv-mail-open{max-width:100%;padding:10px;border-radius:14px}
.hv-mail-from{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.hv-mail-from .hv-av{width:28px;height:28px}
.hv-mail-from small{margin:0 !important}
.hv-mail-sub{display:block;margin-bottom:6px;font-size:.84rem;color:var(--ink)}
.hv-mail-banner{display:grid;place-items:center;height:62px;margin-bottom:8px;border-radius:10px;font-weight:800;font-size:.86rem;color:#fff;background:linear-gradient(135deg,#E9C77F,#BF934A 45%,#3F7194)}
.hv-mail-btn{display:block;text-align:center;padding:.4rem;border-radius:9px;font-weight:700;font-size:.74rem;color:#fff;background:linear-gradient(135deg,var(--st-steel,#3F7194),var(--st-navy,#0F3252))}
.hv-mail-row{max-width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:12px}
.hv-mail-row .hv-av{width:30px;height:30px;flex:none}
.hv-mail-row > span{min-width:0;flex:1}
.hv-mail-row b{display:block;font-size:.76rem;color:var(--ink)}
.hv-mail-row small{margin:0 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv-mail-row time{flex:none;font-size:.62rem;color:#64748B}

/* fixes */
.hv-top > .hv-back{flex:none}
.hv-msg .hv-rcs-img b,.hv-msg .hv-wa-img b{color:#fff}
.hv-wa-img{height:54px}
.hv-ch-wa .hv-chat{gap:7px}
.hv-msg .hv-mail-sub{color:var(--ink)}
.hv-mail-row b.hv-av,.hv-mail-from b.hv-av{display:grid;color:#fff;font-size:.72rem}

/* ---- service pages: features + use cases in ONE moving row (pause on hover / touch) ---- */
.mv-row{overflow:hidden;margin-inline:-6px;padding:6px 6px 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mv-track{display:flex;gap:18px;width:max-content;animation:mvscroll var(--mv-dur,40s) linear infinite}
.mv-row--rev .mv-track{animation-direction:reverse}
.mv-row:hover .mv-track,.mv-row:focus-within .mv-track,.mv-row:active .mv-track{animation-play-state:paused}
.mv-track > .feature{flex:0 0 330px}
.mv-track > .ind{flex:0 0 270px}
@keyframes mvscroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
@media (max-width:620px){.mv-track > .feature{flex-basis:270px}.mv-track > .ind{flex-basis:240px}}
@media (prefers-reduced-motion:reduce){
  .mv-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .mv-track{animation:none}
  .mv-track > [aria-hidden="true"]{display:none}
}

/* ---- RCS (v2): Google Messages style product carousel ---- */
.hv-av--store{background:linear-gradient(135deg,#FDE7C2,#F3C46B);font-size:.95rem}
.hv-chat--rcs{gap:9px}
.hv-car{display:flex;gap:8px;margin-right:-10px;overflow:hidden;animation:hvmsg 13s var(--ease) infinite;animation-delay:calc(var(--i) * 1.9s + .4s);animation-fill-mode:both}
.hv-car-card{flex:0 0 168px;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #E3E8EF;box-shadow:0 6px 16px -10px rgba(15,50,82,.45)}
.hv-car-img{position:relative;display:grid;place-items:center;height:96px;background:var(--bg,#EEF2F7)}
.hv-car-emoji{font-size:2.6rem;line-height:1;filter:drop-shadow(0 8px 10px rgba(15,50,82,.18))}
.hv-car-tag{position:absolute;top:8px;left:8px;padding:.1rem .45rem;border-radius:6px;font-size:.58rem;font-weight:800;letter-spacing:.06em;color:#fff;background:#1A73E8}
.hv-car-body{display:block;padding:8px 10px 6px;font-size:.72rem;color:var(--text)}
.hv-msg .hv-car-body b,.hv-car-body b{display:block;font-size:.8rem;color:#1F1F1F}
.hv-price{display:block;margin-top:2px;font-weight:700;color:#1F1F1F}
.hv-price s{font-weight:500;color:#80868B;margin-left:2px}
.hv-price em{font-style:normal;font-weight:700;color:#188038;margin-left:2px}
.hv-car-btn{margin:2px 10px 10px;padding:.36rem;border-radius:99px;text-align:center;font-size:.72rem;font-weight:700;color:#1A73E8;border:1px solid #DADCE0;background:#fff}
.hv-ch-rcs .hv-chips em{color:#1A73E8;border-color:#DADCE0}

/* ---- services dropdown: wider, so each description fits in about two lines ---- */
@media (min-width:961px){
  .dd-panel{width:min(720px,92vw);gap:6px 10px;padding:12px}
  .dd-item{padding:12px 14px}
}

/* ---- carousels inside the hero phone (RCS + WhatsApp) slide by themselves ---- */
.hv-car{overflow:hidden;margin-right:-10px}
.hv-car-track{display:flex;gap:8px;width:max-content;animation:hvcar 10s cubic-bezier(.65,0,.35,1) infinite}
.hv-car-card{flex:0 0 168px}
@keyframes hvcar{
  0%,20%{transform:translateX(0)}
  25%,45%{transform:translateX(-176px)}
  50%,70%{transform:translateX(-352px)}
  75%,95%{transform:translateX(-528px)}
  100%{transform:translateX(-528px)}
}
.hv-car--wa .hv-car-track{animation-name:hvcarwa;animation-delay:-1.5s}
@keyframes hvcarwa{
  0%,20%{transform:translateX(0)}
  25%,45%{transform:translateX(-158px)}
  50%,70%{transform:translateX(-316px)}
  75%,95%{transform:translateX(-474px)}
  100%{transform:translateX(-474px)}
}
.hv-wac{flex:0 0 150px;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.13)}
.hv-wac-img{display:grid;place-items:center;height:84px;font-size:2.4rem;background:var(--bg)}
.hv-wac-body{display:block;padding:6px 9px 4px;font-size:.7rem;color:#667781}
.hv-msg .hv-wac-body b,.hv-wac-body b{display:block;font-size:.78rem;color:#111B21}
.hv-wac-btn{display:block;padding:.4rem;text-align:center;font-size:.72rem;font-weight:700;color:#027EB5;border-top:1px solid #E9EDEF}
@media (prefers-reduced-motion:reduce){.hv-car-track{animation:none}}

/* ---- home phone: the same sliding product carousel, a little smaller ---- */
.hv-car--home .hv-car-img{height:74px}
.hv-car--home .hv-car-emoji{font-size:1.8rem}
.hv-car--home .hv-car-body{padding:6px 10px 4px}
.hv-car--home .hv-car-btn{margin:2px 10px 8px;padding:.3rem}
.hv-car--home .hv-car-track{animation-delay:-2.5s}

/* ---- home phone carousel: one card per industry (banking, shopping, travel, education, healthcare, food) ---- */
.hv-car--home .hv-car-track{animation:hvcar6 18s cubic-bezier(.65,0,.35,1) infinite}
.hv-car--home .hv-car-tag{background:var(--st-navy,#0F3252);font-size:.54rem}
.hv-car-line{display:block;margin-top:1px;color:#5F6B7A;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes hvcar6{
  0%,12%{transform:translateX(0)}
  15%,27%{transform:translateX(-176px)}
  30%,42%{transform:translateX(-352px)}
  45%,57%{transform:translateX(-528px)}
  60%,72%{transform:translateX(-704px)}
  75%,87%{transform:translateX(-880px)}
  90%,100%{transform:translateX(-1056px)}
}

/* Home "See it in action" phone: smaller so it fits the height of the 3 channel cards */
.showcase .phone{width:min(250px,100%);padding:10px;border-radius:38px}
.showcase .phone::before{top:15px;width:70px;height:18px}
.showcase .phone-screen{height:400px;border-radius:30px;padding:50px 12px 16px;font-size:.88rem}
.showcase .phone-top{padding:40px 14px 10px;font-size:.84rem}
.showcase .phone-top i{width:26px;height:26px}

/* Home showcase: moving template carousel per channel (SMS / WhatsApp / RCS) */
.sc-item.on .bar i{animation-duration:9s}
.showcase .screen{inset:98px 12px 14px;gap:8px}
.showcase .screen > *{flex:none}
.showcase .screen .msg{font-size:.8rem;padding:9px 12px}
.screen .msg.sc-car{max-width:100%;width:100%;padding:0;background:none;box-shadow:none;overflow:hidden;border-radius:0}
.sc-car-track{display:flex;gap:8px;width:max-content}
.screen.on .sc-car-track{animation:sccar 10s 1.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes sccar{0%,18%{transform:translateX(0)}25%,43%{transform:translateX(-160px)}50%,68%{transform:translateX(-320px)}75%,93%{transform:translateX(-480px)}100%{transform:translateX(-640px)}}
.sc-c{flex:none;width:152px;background:#fff;border-radius:14px;box-shadow:0 4px 14px -6px rgba(11,35,89,.3);padding:10px 11px;display:flex;flex-direction:column;gap:4px}
.sc-c p{margin:0;font-size:.76rem;line-height:1.4;color:var(--ink)}
.sc-tag{align-self:flex-start;font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:99px;background:#0F3252;color:#fff}
.sc-tag--o{background:#C2410C}.sc-tag--g{background:#15803D}.sc-tag--v{background:#6D28D9}
.sc-c--img{padding:0 0 9px;overflow:hidden}
.sc-c--img i{display:grid;place-items:center;height:82px;font-style:normal;font-size:2.1rem;background:linear-gradient(135deg,var(--g1),var(--g2))}
.sc-c--img b{padding:2px 10px 0;font-size:.8rem;color:var(--ink)!important}
.sc-c--img span{padding:0 10px;font-size:.74rem;font-weight:700;color:#15803D}
.sc-c--img s{color:var(--muted);font-weight:500}
.sc-c--img u{margin:2px 10px 0;text-decoration:none;text-align:center;padding:4px;border-radius:99px;border:1px solid var(--blue);color:var(--blue);font-weight:700;font-size:.7rem}
.screen.wa .sc-c--img u{border-color:#25D366;color:#128C7E}
.screen.rcs .sc-c--img i{height:96px}
.sc-chips{display:flex;gap:6px;flex-wrap:wrap;opacity:0}
.screen.on .sc-chips{animation:msgin .5s .8s both}
.sc-chips span{padding:4px 10px;border-radius:99px;border:1px solid var(--blue);color:var(--blue);background:#fff;font-size:.7rem;font-weight:700}
.phone.ph-wa .phone-screen{background:#ECE5DD}
.phone.ph-wa .phone-top{background:#075E54;color:#fff;border-color:#075E54}
.phone.ph-wa .phone-top small{color:#CDEFE6}
.phone.ph-wa .phone-top i{background:linear-gradient(135deg,#25D366,#128C7E)}
@media (prefers-reduced-motion:reduce){.screen.on .sc-car-track{animation:none}}

/* Header logo: crisp mark + text wordmark (instead of the small blurry image) */
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;flex:none;cursor:pointer;position:relative;z-index:2}
.brand .brand-mark img{display:block;height:42px;width:auto;transition:transform .35s var(--ease)}
.brand:hover .brand-mark img{transform:translateX(2px) rotate(-4deg) scale(1.04)}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:1.42rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.brand-name b{color:#0F3252;font-weight:800}
.brand-name em{font-style:normal;background:linear-gradient(90deg,#1D5FD0,#2F7FE8);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-name small{font-size:.62em;font-weight:700;color:#BF934A;margin-left:1px}
.brand-tag{margin-top:4px;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6D9AB6;white-space:nowrap}
.nav.scrolled .brand .brand-mark img{height:36px}
.nav.scrolled .brand-tag{display:none}
@media (max-width:1180px) and (min-width:961px){.brand-name{font-size:1.2rem}.brand-tag{display:none}.brand .brand-mark img{height:36px}}
@media (max-width:420px){.brand-name{font-size:1.15rem}.brand-tag{display:none}.brand .brand-mark img{height:34px}}

/* ======================================================================
   Development services (website / Android app / API) – hero visual,
   home section and menu. Uses the same .hv frame, orbit and floating cards.
   ====================================================================== */
.dv .hv-card.c1{left:-4%;top:6%}
.dv .hv-card.c2{right:-4%;top:14%}
.dv .hv-card.c4{right:-2%;bottom:6%}

/* --- website: browser window --- */
.dv-browser{position:relative;z-index:2;width:min(440px,94%);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 70px -22px rgba(2,10,38,.85);animation:float 7s ease-in-out infinite;translate:calc(var(--px,0) * -8px) calc(var(--py,0) * -6px);transition:translate .3s ease-out}
.dv-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#EEF2F9;border-bottom:1px solid var(--line)}
.dv-bar i{width:10px;height:10px;border-radius:50%;background:#F87171}.dv-bar i:nth-child(2){background:#FBBF24}.dv-bar i:nth-child(3){background:#34D399}
.dv-url{margin-left:10px;flex:1;padding:3px 10px;border-radius:99px;background:#fff;color:var(--muted);font-size:.72rem}
.dv-body{display:grid;grid-template-columns:44% 56%;height:290px}
.dv-code{padding:14px 10px;background:#0F1B3A;font-family:var(--mono);font-size:.64rem;line-height:1.9;color:#9FB3D9;overflow:hidden}
.dv-code p{margin:0;white-space:nowrap;overflow:hidden;width:0;animation:dvtype 9s steps(22,end) infinite;animation-delay:calc(var(--i) * .55s)}
.dv-code em{font-style:normal;color:#22D3EE}.dv-code b{font-weight:600;color:#FBBF24}
@keyframes dvtype{0%{width:0}8%,88%{width:var(--w)}96%,100%{width:0}}
.dv-site{position:relative;padding:12px;display:flex;flex-direction:column;gap:9px;background:#F7F9FD}
.dv-site > *,.dv-cards i{animation:dvbuild 9s var(--ease) infinite both;animation-delay:calc(var(--i) * .6s + .5s)}
@keyframes dvbuild{0%{opacity:0;transform:translateY(10px) scale(.96)}6%,86%{opacity:1;transform:none}94%,100%{opacity:0}}
.dv-nav{display:flex;align-items:center;gap:6px}
.dv-nav b{width:26px;height:10px;border-radius:4px;background:var(--brand)}
.dv-nav span{height:6px;flex:1;border-radius:3px;background:#D6DEEC}
.dv-hero{padding:12px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));line-height:1.3}
.dv-hero strong{display:block;font-size:.9rem}.dv-hero small{display:block;font-size:.66rem;opacity:.9}
.dv-hero em{display:inline-block;margin-top:7px;padding:3px 9px;border-radius:99px;background:#fff;color:var(--brand);font-style:normal;font-weight:700;font-size:.62rem}
.dv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;animation:none !important;opacity:1 !important}
.dv-cards i{height:46px;border-radius:9px;background:#fff;box-shadow:0 2px 6px rgba(11,35,89,.08);border-top:3px solid var(--accent)}
.dv-form{display:grid;gap:5px;padding:8px;border-radius:10px;background:#fff;box-shadow:0 2px 6px rgba(11,35,89,.08)}
.dv-form span{height:8px;border-radius:4px;background:#E6ECF6}
.dv-form em{justify-self:start;padding:3px 10px;border-radius:6px;background:var(--ok);color:#fff;font-style:normal;font-weight:700;font-size:.62rem}
.dv-mobile{position:absolute;z-index:3;right:6%;bottom:12%;width:92px;height:168px;padding:8px 6px;border-radius:18px;background:#0b1738;box-shadow:0 22px 40px -16px rgba(2,12,40,.8);display:flex;flex-direction:column;gap:5px;animation:float 6s ease-in-out infinite;animation-delay:-2s}
.dv-mobile > *{border-radius:5px;background:#fff}
.dv-mnav{height:10px}.dv-mhero{height:44px;background:linear-gradient(135deg,var(--blue),var(--cyan)) !important}
.dv-mobile i{height:26px;animation:dvbuild 9s var(--ease) infinite both;animation-delay:2.4s}
.dv-mobile i + i{animation-delay:3s}

/* --- Android app --- */
.dv-app{background:#F4F7FD;display:flex;flex-direction:column;gap:9px;padding:40px 12px 0}
.dv-app-top{display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-size:.85rem}
.dv-app-top b{font-weight:800;color:var(--brand)}
.dv-search{padding:7px 11px;border-radius:12px;background:#fff;color:var(--muted);font-size:.72rem;box-shadow:0 2px 6px rgba(11,35,89,.06)}
.dv-banner{border-radius:14px;overflow:hidden;height:86px}
.dv-banner-track{display:flex;height:100%;animation:dvslide 9s var(--ease) infinite}
.dv-banner-track span{flex:0 0 100%;padding:14px;color:#fff;font-size:.74rem;line-height:1.35;background:var(--bg)}
.dv-banner-track b{font-size:1.15rem}
@keyframes dvslide{0%,25%{transform:translateX(0)}33%,58%{transform:translateX(-100%)}66%,91%{transform:translateX(-200%)}100%{transform:translateX(-300%)}}
.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dv-grid div{display:grid;gap:1px;padding:9px;border-radius:12px;background:#fff;box-shadow:0 2px 6px rgba(11,35,89,.07);font-size:.72rem;animation:dvpop 9s var(--ease) infinite both;animation-delay:calc(var(--i) * .35s + .4s)}
.dv-grid span{font-size:1.4rem;line-height:1.2}.dv-grid b{color:var(--ink)}.dv-grid em{font-style:normal;color:var(--ok);font-weight:700}
@keyframes dvpop{0%{opacity:0;transform:scale(.7)}6%{opacity:1;transform:scale(1.05)}9%,90%{opacity:1;transform:none}97%,100%{opacity:0}}
.dv-tabs{margin-top:auto;display:flex;justify-content:space-around;padding:9px 0 12px;background:#fff;border-top:1px solid var(--line);margin-inline:-12px}
.dv-tabs i{font-style:normal;opacity:.5}.dv-tabs i.on{opacity:1}
.dv-push{position:absolute;left:10px;right:10px;top:34px;z-index:4;padding:8px 11px;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 12px 26px -10px rgba(2,12,40,.55);font-size:.7rem;line-height:1.35;animation:dvpush 9s var(--ease) infinite}
.dv-push b{display:block;color:var(--ink)}.dv-push span{color:var(--muted)}
@keyframes dvpush{0%,48%{opacity:0;transform:translateY(-120%)}54%,78%{opacity:1;transform:none}84%,100%{opacity:0;transform:translateY(-120%)}}

/* --- API hub --- */
.dv-hub{position:relative;z-index:2;width:400px;height:400px;max-width:100%}
.dv-lines{position:absolute;inset:0;width:100%;height:100%}
.dv-lines path{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 10;opacity:.75;animation:dvflow 1.4s linear infinite}
.dv-lines path:nth-child(2n){animation-direction:reverse}
@keyframes dvflow{to{stroke-dashoffset:-32}}
.dv-core{position:absolute;left:50%;top:50%;width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:32px;display:grid;place-content:center;justify-items:center;gap:2px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 0 0 10px rgba(255,255,255,.12),0 30px 60px -20px rgba(2,10,38,.9);animation:dvcore 2.8s ease-in-out infinite}
.dv-core b{font-size:.95rem}.dv-core small{font-size:.68rem;opacity:.85}
@keyframes dvcore{0%,100%{box-shadow:0 0 0 8px rgba(255,255,255,.14),0 30px 60px -20px rgba(2,10,38,.9)}50%{box-shadow:0 0 0 20px rgba(255,255,255,.04),0 30px 60px -20px rgba(2,10,38,.9)}}
.dv-node{position:absolute;width:104px;padding:10px 8px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 18px 34px -14px rgba(2,12,40,.75);font-size:.74rem;color:var(--ink);animation:float 6s ease-in-out infinite}
.dv-node span{display:block;font-size:1.35rem;line-height:1.3}
.dv-node.n1{left:18px;top:30px}.dv-node.n2{right:18px;top:30px;animation-delay:-1.5s}
.dv-node.n3{left:18px;bottom:30px;animation-delay:-3s}.dv-node.n4{right:18px;bottom:30px;animation-delay:-4.5s}
.dv-json{position:absolute;z-index:3;left:50%;bottom:-38px;transform:translateX(-50%);width:230px;padding:10px 14px;border-radius:14px;background:#0F1B3A;color:#9FB3D9;font-family:var(--mono);font-size:.68rem;line-height:1.6;box-shadow:0 22px 40px -16px rgba(2,12,40,.8)}
.dv-json p{margin:0;animation:dvbuild 8s var(--ease) infinite both;animation-delay:calc(var(--i) * .4s + .3s)}
.dv-json em{font-style:normal;color:#22D3EE}.dv-json b{font-weight:600;color:#34D399}.dv-json i{font-style:normal;color:#FBBF24}
.dv-api .hv-card.c1{left:-12%;top:44%}
.dv-api .hv-card.c2{right:-12%;top:44%}
.dv-api .hv-card.c4{display:none}

@media (max-width:560px){
  .dv-body{height:250px}.dv-mobile{display:none}
  .dv-hub{transform:scale(.82)}
  .dv .hv-card.c4{display:none}
}
@media (prefers-reduced-motion:reduce){
  .dv-code p{width:var(--w);animation:none}
  .dv-site > *,.dv-cards i,.dv-grid div,.dv-json p,.dv-mobile i{animation:none;opacity:1}
  .dv-banner-track,.dv-lines path,.dv-core,.dv-node,.dv-browser,.dv-mobile{animation:none}
  .dv-push{display:none}
}

/* --- Development menu items and home section --- */
.dd-item .dd-ic.dev{color:#7C3AED;background:#F1EBFF}
.dev-sec{position:relative;overflow:hidden;background:linear-gradient(180deg,#F7F4FF 0%,#F4F7FD 100%)}
.dev-sec::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(124,58,237,.12) 1px,transparent 1.3px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 75%);pointer-events:none}
.dev-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dev-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 22px;border-radius:var(--r-lg);background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:var(--sh-sm);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;opacity:0;transform:translateY(26px);animation:rise .8s var(--ease) forwards;animation-delay:calc(var(--i) * .15s + .1s)}
.dev-card::after{content:"";position:absolute;inset:auto -40% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--c1,rgba(37,99,235,.18)),transparent 70%);transition:transform .6s var(--ease)}
.dev-card:hover{transform:translateY(-8px);box-shadow:var(--sh);border-color:transparent;color:var(--text)}
.dev-card:hover::after{transform:scale(1.4)}
.dev-card .dev-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--g,linear-gradient(135deg,var(--blue),var(--cyan)));box-shadow:0 14px 26px -12px rgba(11,59,140,.7);transition:transform .5s var(--ease)}
.dev-card:hover .dev-ic{transform:rotate(-8deg) scale(1.08)}
.dev-card h3{margin:6px 0 0}
.dev-card p{margin:0;color:var(--muted);font-size:.95rem}
.dev-card ul{display:grid;gap:6px;list-style:none;margin:4px 0 6px;font-size:.9rem}
.dev-card li{display:flex;gap:8px;align-items:center}.dev-card li svg{color:var(--ok)}
.dev-card .more{margin-top:auto;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:6px}
.dev-card:hover .more svg{transform:translateX(4px)}.dev-card .more svg{transition:transform .3s}
.dev-card.k1{--g:linear-gradient(135deg,#2563EB,#22D3EE);--c1:rgba(37,99,235,.16)}
.dev-card.k2{--g:linear-gradient(135deg,#12A66B,#3DDC84);--c1:rgba(18,166,107,.16)}
.dev-card.k3{--g:linear-gradient(135deg,#7C3AED,#EC4899);--c1:rgba(124,58,237,.16)}
.dev-tech{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.dev-tech span{padding:.4rem .9rem;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:.85rem;font-weight:600;color:var(--ink);box-shadow:var(--sh-sm);animation:float 6s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}
@media (max-width:980px){.dev-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.dev-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dev-card{opacity:1;transform:none;animation:none}.dev-tech span{animation:none}}

/* ======================================================================
   Pricing page – plan cards, service switch and cost calculator
   ====================================================================== */
.pc-sec{position:relative;overflow:hidden}
.pc-sec::before{content:"";position:absolute;left:50%;top:-180px;width:900px;height:520px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(37,99,235,.10),transparent);pointer-events:none}
.pc-tabs{position:relative;display:flex;flex-direction:column;align-items:center}
.pc-switch{margin:0 auto 2rem;padding:6px;border-radius:99px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.pc-switch button{border-radius:99px;padding:.65rem 1.4rem;transition:background .3s var(--ease),color .3s,box-shadow .3s}
.pc-switch button[aria-selected="true"]{color:#fff;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 10px 22px -10px rgba(11,59,140,.8)}
.pc-panel{width:100%}
.pc-panel:not([hidden]) .pc-card{animation:pcin .7s var(--ease) both;animation-delay:calc(var(--i) * .12s)}
@keyframes pcin{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
.pc-grid{display:grid;gap:24px;justify-content:center}
.pc-grid.pc-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pc-grid.pc-n2{grid-template-columns:repeat(2,minmax(0,360px))}
.pc-grid.pc-n1{grid-template-columns:minmax(0,400px)}
.pc-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 26px 26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;overflow:hidden}
.pc-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.pc-card:hover{transform:translateY(-8px);box-shadow:var(--sh);border-color:rgba(37,99,235,.35)}
.pc-card:hover::before{transform:scaleX(1)}
.pc-card.pop{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--accent),var(--blue),var(--cyan)) border-box;box-shadow:0 30px 60px -28px rgba(11,59,140,.55)}
.pc-card.pop::before{display:none}
.pc-ribbon{position:absolute;top:18px;right:-34px;transform:rotate(45deg);padding:.3rem 2.6rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1b1300;background:linear-gradient(90deg,var(--accent),var(--accent-600));box-shadow:0 6px 14px -6px rgba(0,0,0,.35)}
.pc-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 14px 26px -12px rgba(11,59,140,.7);transition:transform .5s var(--ease)}
.pc-card:hover .pc-ic{transform:rotate(-8deg) scale(1.08)}
.pc-card h3{margin:8px 0 0;font-size:1.25rem}
.pc-note{margin:0;color:var(--muted);font-size:.93rem}
.pc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:10px 0 4px;padding:14px 0;border-block:1px dashed var(--line)}
.pc-price strong{font-size:2.5rem;line-height:1;font-weight:850;letter-spacing:-.03em;background:linear-gradient(135deg,var(--brand),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.pc-price strong.pc-ask{font-size:1.7rem}
.pc-price small{color:var(--muted);font-size:.85rem;font-weight:600}
.pc-list{list-style:none;display:grid;gap:9px;margin:4px 0 14px;flex:1;font-size:.94rem}
.pc-list li{display:flex;gap:9px;align-items:flex-start}
.pc-list li svg{flex:none;margin-top:3px;padding:2px;width:18px;height:18px;border-radius:50%;color:#fff;background:var(--ok)}
.pc-card .btn{justify-content:center}
.pc-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin:1.6rem 0 0;color:var(--muted);font-size:.92rem;text-align:center}
.pc-foot svg{color:var(--ok)}

.pc-calc{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;margin-top:clamp(40px,6vw,72px);border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.pc-calc-l{padding:clamp(24px,4vw,40px)}
.pc-calc-l h2{margin-bottom:1.2rem}
.pc-calc-f{display:grid;gap:20px}
.pc-calc-f label{display:grid;gap:8px;font-weight:700;color:var(--ink)}
.pc-calc-f select{font:inherit;padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.pc-calc-f output{justify-self:start;padding:.15rem .7rem;border-radius:99px;background:var(--blue-soft);color:var(--brand);font-weight:800}
.pc-calc-f input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--blue) var(--fill,5%),#E2E8F3 var(--fill,5%));outline:0}
.pc-calc-f input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--blue);box-shadow:0 4px 12px rgba(11,59,140,.35);cursor:pointer;transition:transform .2s}
.pc-calc-f input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
.pc-calc-f input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--blue);cursor:pointer}
.pc-chips{display:flex;flex-wrap:wrap;gap:8px}
.pc-chips button{font:inherit;font-size:.85rem;font-weight:700;padding:.4rem .9rem;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;transition:all .25s}
.pc-chips button:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.pc-calc-r{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,4vw,40px);color:#D9E5EF;background:linear-gradient(150deg,var(--st-navy,#0F3252),var(--st-deep,#1D4668))}
.pc-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}
.pc-sum b{color:#fff;font-size:1.15rem;font-variant-numeric:tabular-nums}
.pc-sum.tot{border-bottom:0}
.pc-sum.tot b{font-size:2.1rem;color:var(--gold,#D7B66F)}
.pc-calc-r p{margin:0;font-size:.9rem}
.pc-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:700;font-size:.92rem}
.pc-call:hover{color:var(--gold,#D7B66F)}
@media (max-width:980px){.pc-grid.pc-n3{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-calc{grid-template-columns:1fr}}
@media (max-width:640px){.pc-grid.pc-n3,.pc-grid.pc-n2,.pc-grid.pc-n1{grid-template-columns:1fr}.pc-switch{border-radius:16px}.pc-switch button{padding:.55rem 1rem}}
@media (prefers-reduced-motion:reduce){.pc-panel:not([hidden]) .pc-card{animation:none}}

/* call button (bottom left, computers only - phones use the quick bar) */
.call-float{position:fixed;left:20px;bottom:22px;z-index:70;display:inline-flex;align-items:center;gap:9px;padding:.7rem 1.1rem .7rem .8rem;border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-size:.98rem;border:1px solid var(--line);box-shadow:0 14px 30px -12px rgba(11,35,89,.45);transition:transform .25s var(--ease),box-shadow .25s}
.call-float svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--blue);color:#fff;animation:ring 4s ease-in-out infinite;transform-origin:50% 0}
.call-float:hover{transform:translateY(-3px);color:var(--ink);box-shadow:0 18px 34px -12px rgba(11,35,89,.55)}
@media (max-width:700px){.call-float{display:none}}
@media (max-width:960px) and (min-width:701px){.call-float span{display:none}.call-float{padding:.55rem}}

/* pricing calculator: rate slabs by monthly volume (the active one lights up) */
.pc-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px;margin-top:6px}
.pc-tier{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.55rem .4rem;border-radius:12px;border:1px solid var(--line);background:#fff;transition:all .3s var(--ease)}
.pc-tier small{font-size:.75rem;font-weight:700;color:var(--muted)}
.pc-tier b{font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums}
.pc-tier.on{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-3px);box-shadow:0 10px 20px -12px rgba(37,99,235,.6)}
.pc-tier.on small,.pc-tier.on b{color:var(--blue)}

/* pricing page: a little less space above the heading */
.page-hero.pc-hero{padding-top:28px}
@media (max-width:700px){.page-hero.pc-hero{padding-top:18px}}

/* inner pages: no small label above the heading, a little less space on top */
.page-hero{padding-top:28px}
@media (max-width:700px){.page-hero{padding-top:18px}}
/* inner pages: the heading block lines up with the content below (same width as the page), less side space */
.page-hero .wrap.narrow:not(.center){max-width:none}
.page-hero .wrap.narrow:not(.center) h1{max-width:980px}
.page-hero .wrap.narrow:not(.center) .lead{max-width:820px}
/* pricing: the SMS / RCS & WhatsApp / Email switch is a full-width row (one equal tab each) */
.pc-switch{align-self:stretch;width:100%;max-width:none;display:flex;flex-wrap:nowrap;overflow:visible}
.pc-switch button{flex:1 1 0;text-align:center;font-size:1rem}
@media (max-width:640px){.pc-switch button{font-size:.88rem;padding:.55rem .5rem;white-space:normal}}
/* pricing FAQ: 6 questions in 3 rows, less side space, slimmer boxes; the quote card as wide as the FAQ */
.pc-faq-sec .faq,.pc-faq-sec .wrap.narrow:has(> .faq){max-width:1180px}
.pc-faq-sec .faq summary{padding:14px 18px}
.pc-faq-sec .faq-a{padding:0 18px 16px}
.pc-quote{max-width:1180px}

/* ---------- Registered business details (About / Contact / Privacy) ---------- */
.biz-card{margin:28px 0 8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden}
.biz-head{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(120deg,var(--blue-soft),#fff 70%);border-bottom:1px solid var(--line)}
.biz-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--blue));box-shadow:0 8px 18px -8px rgba(37,99,235,.6)}
.biz-head h3{margin:0;font-size:1.08rem}
.biz-head p{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.biz-badge{margin-left:auto;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:.75rem;font-weight:700;color:var(--ok);background:rgba(18,166,107,.1);border:1px solid rgba(18,166,107,.25);padding:4px 10px;border-radius:999px}
.biz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:16px 20px 20px}
.biz-grid > div{background:var(--alt);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;min-width:0}
.biz-grid > div.wide{grid-column:1 / -1}
.biz-grid dt{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.biz-grid dt svg{color:var(--blue);flex:0 0 auto}
.biz-grid dd{margin:4px 0 0;padding:0;font-weight:600;color:var(--ink);line-height:1.45;word-break:break-word}
.biz-grid dd a{color:var(--blue)}
.biz-mono{font-family:var(--mono);letter-spacing:.06em}
.prose .biz-card h3{margin:0}
.prose .biz-grid dd{margin-left:0}
@media (max-width:640px){.biz-grid{grid-template-columns:1fr}.biz-head{flex-wrap:wrap}.biz-badge{margin-left:58px}}

/* ---------- 11b. Demo form - polished look (dark header band, field icons, service pills) ---------- */
.demo-form{padding:0;overflow:hidden;border:1px solid #DCE5F5;border-radius:22px;box-shadow:0 34px 70px -30px rgba(6,26,63,.45),0 2px 6px rgba(11,35,89,.05)}
.demo-form .df-head{position:relative;display:flex;gap:14px;align-items:center;margin:0;padding:24px 28px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,rgba(34,211,238,.35) 0%,rgba(34,211,238,0) 55%),linear-gradient(135deg,var(--brand-900) 0%,var(--brand) 55%,var(--blue) 100%)}
.demo-form .df-head::after{content:"";position:absolute;right:-30px;bottom:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.07)}
.df-ic{flex:0 0 auto;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.demo-form .df-title{font-size:1.4rem;margin:0 0 .2rem;color:#fff}
.demo-form .df-head p{color:rgba(255,255,255,.82);font-size:.92rem;line-height:1.5}
.demo-form .alert{margin:16px 28px 0}
.demo-form .df-grid{padding:22px 28px 0;gap:16px;margin-bottom:1.4rem}
.demo-form > .btn{width:calc(100% - 56px);margin:0 28px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--brand));box-shadow:0 16px 30px -14px rgba(37,99,235,.8)}
.demo-form > .btn:hover{transform:translateY(-1px);box-shadow:0 20px 36px -14px rgba(37,99,235,.9)}
.demo-form .df-note{margin:.85rem 0 0;padding:0 28px 22px}
.fld label,.fld legend{font-size:.84rem;color:#24324D}
.fld legend{margin-bottom:2px}
.fld legend small{font-weight:500;color:var(--muted)}
.fin{position:relative;display:block}
.fin > svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94A3BE;pointer-events:none;transition:color .2s}
.fin > input{padding-left:2.7rem !important}
.fin:focus-within > svg{color:var(--blue)}
.fin-pre .pre{position:absolute;left:1.5px;top:1.5px;bottom:1.5px;display:flex;align-items:center;padding:0 .75rem;font-weight:700;font-size:.9rem;color:var(--brand);background:#EDF2FC;border-right:1.5px solid #D9E2F1;border-radius:11px 0 0 11px;pointer-events:none}
.fin-pre > input{padding-left:3.8rem !important}
.fld input:not([type=checkbox]),.fld textarea{background:#F7F9FD;border-color:#DEE6F3;min-height:50px}
.fld input:not([type=checkbox]):focus,.fld textarea:focus{background:#fff}
.fld textarea{min-height:100px}
.chips{gap:10px}
.chip span{padding:.55rem 1rem;background:#fff;border-color:#DEE6F3;box-shadow:0 1px 2px rgba(11,35,89,.04)}
.chip span svg{color:var(--blue);transition:color .2s}
.chip input:checked + span svg{color:#fff}
.chip input:checked + span::before{content:none}
.chip input:checked + span{box-shadow:0 10px 18px -10px rgba(37,99,235,.8)}
.demo-form.compact .df-head{padding:20px 22px}
.demo-form.compact .df-grid{padding-left:22px;padding-right:22px}
.demo-form.compact > .btn{width:calc(100% - 44px);margin:0 22px}
.demo-form.compact .df-note{padding:0 22px 18px}
@media (max-width:560px){
  .demo-form .df-head{padding:20px 18px}
  .demo-form .df-grid{padding-left:18px !important;padding-right:18px !important}
  .demo-form > .btn{width:calc(100% - 36px) !important;margin:0 18px !important}
  .demo-form .df-note{padding:0 18px 18px !important}
  .df-ic{width:42px;height:42px}
}

.fin > select{padding-left:2.7rem !important;min-height:50px;background-color:#F7F9FD;border-color:#DEE6F3;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2362708A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:2.4rem;cursor:pointer}
.fin > select:focus{outline:0;background-color:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.fin > input[type=date]{cursor:pointer}

/* "Interested in" services: all in one row (equal width pills); wraps only on small phones */
.demo-form .chips{display:grid;grid-template-columns:repeat(5,minmax(0,auto));gap:8px;justify-content:start}
.demo-form .chip span{width:100%;justify-content:center;padding:.5rem .7rem;font-size:.85rem;white-space:nowrap;gap:5px}
.demo-form .chip span svg{width:15px;height:15px}
@media (max-width:520px){.demo-form .chips{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* ==========================================================================
   99. Professional polish: one font (Inter), calmer type scale, tighter spacing
   ========================================================================== */
:root{--font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Noto Sans Devanagari",sans-serif}
body{font-size:1rem;line-height:1.6;font-feature-settings:"cv11","ss01"}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em;line-height:1.2}
h1{font-size:clamp(1.9rem,3.8vw,2.9rem)}
.hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
h2{font-size:clamp(1.45rem,2.5vw,2rem)}
h3{font-size:1.1rem}
.lead{font-size:clamp(1rem,1.35vw,1.12rem)}
.eyebrow{margin-bottom:.7rem;font-size:.74rem;padding:.3rem .8rem}

/* sections: less empty space between and inside */
.sec{padding:clamp(26px,3.2vw,44px) 0}
.sec-head{margin-bottom:clamp(14px,1.8vw,22px)}
.sec-head h2{margin-bottom:.35em}
.page-hero{padding:40px 0 26px}
.split{gap:clamp(24px,3.6vw,48px)}
.feature-grid{gap:14px}
.feature,.ind{padding:20px}
.feature > svg,.ind > svg{width:44px;height:44px;padding:11px;margin-bottom:.7rem}
.feature p{font-size:.94rem}
.steps{gap:18px}
.price-card{padding:24px}

/* FAQ: compact cards, two per row */
.faq{gap:10px 16px;margin-bottom:1rem}
.faq details{border-radius:12px}
.faq summary{padding:14px 18px;font-weight:600;font-size:.97rem;line-height:1.45;gap:12px}
.faq summary::after{width:24px;height:24px}
.faq-a{padding:0 18px 16px;font-size:.94rem;line-height:1.6}

/* pricing: rate slabs are buttons (click = calculate for that volume), all in one row */
.pc-tiers{grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:6px}
.pc-tier{font:inherit;cursor:pointer;padding:.5rem .2rem;min-width:0}
.pc-tier small{font-size:.68rem;white-space:nowrap}
.pc-tier b{font-size:.92rem}
.pc-tier:hover{border-color:var(--blue);transform:translateY(-2px)}
.pc-tier:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (max-width:620px){.pc-tiers{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- footer polish ---------- */
.foot{padding-top:48px}
.foot-grid{grid-template-columns:1.45fr 1fr 1fr 1fr;gap:28px 36px}
.foot-brand p{margin:.9rem 0 1.1rem;font-size:.93rem;line-height:1.65;max-width:36ch}
.contact-list{gap:.55rem;padding:0;margin:0}
.contact-list li{font-size:.92rem;line-height:1.55}
.contact-list svg{flex:0 0 auto}
.foot-h{margin:0 0 .85rem;font-size:.76rem;letter-spacing:.14em;position:relative;padding-bottom:.55rem}
.foot-h::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;border-radius:2px;background:var(--gold,var(--accent))}
.foot ul{gap:.45rem;padding:0;margin:0}
.foot ul a{font-size:.93rem}
/* bottom bar: copyright + legal line left, compliance badges right; space below for the floating Call button */
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;margin-top:34px;padding:18px 0 92px;border-top:1px solid rgba(255,255,255,.1);font-size:.84rem}
.fb-left{display:flex;flex-direction:column;gap:3px;min-width:0}
.fb-copy{color:#E3ECF5;font-weight:600}
.fb-legal{color:#93A7BC;font-size:.8rem}
.fb-legal b{font-weight:600;color:#C5D4E2;margin-left:.5em;padding-left:.6em;border-left:1px solid rgba(255,255,255,.2)}
.fb-badges{display:flex !important;flex-wrap:wrap;gap:8px !important;list-style:none;margin:0;padding:0}
.fb-badges li{display:inline-flex;align-items:center;gap:6px;padding:.32rem .75rem;border-radius:99px;font-size:.76rem;font-weight:600;color:#D3E0EA;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.fb-badges svg{color:var(--gold,var(--accent))}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:700px){.foot-bottom{justify-content:center;text-align:center;padding-bottom:80px}.fb-left{align-items:center}.fb-legal b{display:block;margin:2px 0 0;padding:0;border:0}.fb-badges{justify-content:center}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
/* footer logo: same mark + name as the header (no ".com"), light text on the dark footer */
.foot-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.foot-logo img{height:38px !important;width:auto;filter:none !important;transition:transform .35s var(--ease)}
.foot-logo:hover img{transform:translateX(2px) rotate(-4deg) scale(1.04)}
.foot-name{font-size:1.38rem;font-weight:800;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.foot-name b{color:#fff;font-weight:800}
.foot-name em{font-style:normal;background:linear-gradient(90deg,#5AA2FF,#8EC5FF);-webkit-background-clip:text;background-clip:text;color:transparent}
