/*
Theme Name: RankMont
Theme URI: https://www.rankmont.com/
Author: RankMont
Author URI: https://www.rankmont.com/
Description: Classic PHP theme for RankMont — an India-based SEO agency serving the US, UK, Australia, Canada and Europe. Built from an accessibility-audited design system (WCAG 2.2 AA verified on every colour pair), with structured data limited to the types Google still supports as of September 2026.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rankmont
Tags: business, seo, agency, one-column, custom-menu, custom-logo, featured-images, translation-ready, accessibility-ready
*/

/* ===========================================================================
   Design tokens below were checked against WCAG 2.2 AA before use. The brand
   coral (#F66958) FAILS as small text on white at 2.97:1 — that is why there
   are separate --coral-text, --coral-ink and --coral-lt variables. Do not
   replace them with the raw brand colour.
   =========================================================================== */
/* ===========================================================================
   TOKENS — every colour checked against WCAG 2.2 AA before use
   =========================================================================== */
:root{
  --navy:#2B394D; --navy-900:#1C2635; --navy-800:#233043; --navy-600:#3D5069;
  --navy-100:#E4E9F0; --navy-50:#F1F4F8;

  /* Brand coral — safe as a BACKGROUND and as large display text.          */
  --coral:#F66958;
  /* Small text / labels on white. 5.44:1 — the brand coral fails at 2.97.  */
  --coral-text:#C2371D;
  /* Text that sits ON a coral button. 5.14:1 — white would be 2.97.        */
  --coral-ink:#1C2635;
  /* Coral family for small text on navy. 5.71:1.                           */
  --coral-lt:#FF9A8C;
  --coral-tint:#FEF0EE; --coral-line:#F9C4BC; --coral-dark:#D14328;

  --paper:#FFFFFF; --tint:#F5F7FA; --tint-2:#E9EEF4;
  --ink:#1A2330; --ink-2:#384454; --muted:#5D6B7D;
  --line:#DEE4EC; --line-2:#C3CCD9;

  --good:#157A5F; --good-tint:#E4F3EE;
  --warn:#8A5A0B; --warn-tint:#FCF2E1;
  --crit:#A2332B;

  --f-d:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --f-b:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --wrap:1280px; --gutter:clamp(18px,4vw,44px);
  --r:8px; --r-lg:14px; --r-xl:22px;
  --sh:0 2px 6px rgba(27,36,48,.06),0 14px 32px -20px rgba(27,36,48,.34);
  --sh-lg:0 6px 14px rgba(27,36,48,.08),0 34px 70px -34px rgba(27,36,48,.42);
}

*,*::before,*::after{box-sizing:border-box}
.mt-lg{margin-top:clamp(40px,4.6vw,60px)}
.ai-more{margin:26px 0 0}
.ai-sec .ai-more .btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.ai-compact{font-size:14px;line-height:1.6;color:var(--ink-2);margin:0}
.ai-compact b{font-family:var(--f-d);color:var(--navy);font-size:13px;display:block;margin-bottom:2px;letter-spacing:.02em}

.cov-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.cov{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.cov b{display:block;font-family:var(--f-d);font-size:14.5px;color:var(--navy);margin-bottom:3px}
.cov span{display:block;font-size:12.5px;color:var(--muted);line-height:1.5}
.cov em{display:block;font-style:normal;font-size:12px;color:var(--coral-text);font-weight:700;margin-top:5px}

html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-b);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-text)}
/* WCAG 2.2: focus must be visible AND not obscured by the sticky header. */
:focus-visible{outline:3px solid var(--coral-dark);outline-offset:2px;border-radius:3px}

h1,h2,h3,h4{font-family:var(--f-d);font-weight:700;line-height:1.18;letter-spacing:-.018em;color:var(--navy);margin:0 0 .55em;text-wrap:balance}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(1.55rem,3.2vw,2.2rem)}
h3{font-size:1.18rem}
p{margin:0 0 1.1em}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap.narrow{max-width:940px}
.sec{padding-block:clamp(54px,6.5vw,100px)}
.sec-sm{padding-block:clamp(32px,4vw,54px)}
.bg-tint{background:var(--tint)}
.bg-navy{background:var(--navy);color:#DDE4EE}
.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff}
.bg-navy .sub{color:#A7B8CA}

.label{display:inline-block;font-family:var(--f-d);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-text);margin-bottom:12px}
.bg-navy .label{color:var(--coral-lt)}
.head{max-width:66ch;margin-bottom:42px}
.head.mid{margin-inline:auto;text-align:center}
.head h2{margin-bottom:.35em}
.sub{color:var(--muted);font-size:1.12rem;margin:0;line-height:1.65}

/* ---------- buttons. Min target 24×24 CSS px per WCAG 2.2. ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;
  font-family:var(--f-d);font-size:15px;font-weight:700;padding:13px 26px;border-radius:var(--r);
  border:2px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .16s,border-color .16s,color .16s,transform .1s,box-shadow .16s}
.btn:active{transform:translateY(1px)}
.btn-lg{font-size:16.5px;padding:16px 34px;min-height:56px}
.btn-sm{font-size:13.5px;padding:9px 18px;min-height:40px}
/* Deep navy on brand coral = 5.14:1. White on coral would be 2.97:1 and fail. */
.btn-primary{background:var(--coral);color:var(--coral-ink);border-color:var(--coral);box-shadow:0 8px 20px -8px rgba(246,105,88,.55)}
.btn-primary:hover{background:#FF7D6D;border-color:#FF7D6D;color:var(--coral-ink)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--navy);background:var(--navy-50)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy-100)}
.btn-ghost:hover{border-color:var(--navy-600)}
.bg-navy .btn-outline{color:#fff;border-color:rgba(255,255,255,.4)}
.bg-navy .btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.tlink{font-family:var(--f-d);font-size:14.5px;font-weight:700;text-decoration:none;color:var(--coral-text);border-bottom:2px solid var(--coral-line);padding-bottom:1px}
.tlink:hover{border-bottom-color:var(--coral)}

body.notes-off 
/* ===========================================================================
   HEADER
   =========================================================================== */
.util{background:var(--navy-900);color:#A8B7C9;font-size:12.5px;padding-block:8px}
.util-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.util a{color:#CFDAE6;text-decoration:none}
.util a:hover{color:#fff}
.util-r{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
@media (max-width:820px){.util{display:none}}

.hdr{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:18px;min-height:80px}
.brand{flex:0 0 auto}
.brand img{height:46px;width:auto;max-width:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:14px;min-width:0}
.nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav>ul>li>a{display:flex;align-items:center;gap:6px;font-family:var(--f-d);font-size:15px;font-weight:600;
  color:var(--navy);text-decoration:none;padding:11px 10px;border-radius:var(--r);white-space:nowrap;min-height:44px}
.nav>ul>li>a:hover{color:var(--coral-text);background:var(--coral-tint)}
.nav li{position:relative}
.nav li.has>a::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.nav .sub{position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--coral);border-radius:0 0 var(--r) var(--r);box-shadow:var(--sh-lg);
  list-style:none;margin:0;padding:10px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .15s,transform .15s,visibility .15s;color:inherit;font-size:inherit}
.nav li:hover>.sub,.nav li:focus-within>.sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav .sub a{display:block;padding:10px 13px;font-family:var(--f-b);font-size:14.5px;font-weight:400;color:var(--ink-2);text-decoration:none;border-radius:var(--r);min-height:40px}
.nav .sub a:hover{background:var(--navy-50);color:var(--navy)}
.nav .wide>.sub{min-width:540px;columns:2;column-gap:8px}
.nav .wide>.sub li{break-inside:avoid}
.hdr-cta{display:flex;gap:10px}
.burger{display:none;margin-left:auto;width:48px;height:44px;background:transparent;border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px}
@media (max-width:1340px){
  .burger{display:flex}
  .hdr{top:0}
  .nav{position:fixed;inset:0 0 0 auto;width:min(390px,92vw);background:#fff;border-left:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:90px 22px 40px;overflow-y:auto;
    transform:translateX(100%);transition:transform .24s,visibility .24s;box-shadow:var(--sh-lg);z-index:70;
    visibility:hidden}
  .nav.open{transform:translateX(0);visibility:visible}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav>ul>li>a{padding:14px 8px;font-size:16.5px;border-bottom:1px solid var(--line);border-radius:0}
  .nav li.has>a::after{margin-left:auto}
  .nav .sub,.nav .wide>.sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:4px 0 10px 14px;min-width:0;columns:1}
  .hdr-cta{margin-top:24px;flex-direction:column}
  .hdr-cta .btn{width:100%}
}

/* ===========================================================================
   HERO
   =========================================================================== */
.hero{background:radial-gradient(760px 340px at 92% 0%,rgba(246,105,88,.11),transparent 60%),
  linear-gradient(180deg,var(--navy-50),var(--paper));border-bottom:1px solid var(--line);
  padding-block:clamp(44px,5.5vw,82px)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,4vw,60px);align-items:center}
.hero h1{margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--coral-dark);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;background:var(--coral);opacity:.3;border-radius:2px}
.hero-sub{font-size:1.2rem;color:var(--ink-2);max-width:54ch;margin-bottom:26px;line-height:1.65}
.hero-acts{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:18px}
.hero-note{font-size:14.5px;color:var(--muted);margin:0}
.hero-note strong{color:var(--navy)}
.hero-ticks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 26px;padding:0;list-style:none}
.hero-ticks li{font-size:14.5px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:8px}
.hero-ticks li::before{content:"";width:18px;height:10px;flex:none;border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg) translateY(-3px)}

.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}
.panel-h{display:flex;align-items:center;gap:10px;background:var(--navy);color:#D8E2EE;padding:14px 20px;font-family:var(--f-d);font-size:12.5px;font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:#5FD09E;box-shadow:0 0 0 3px rgba(95,208,158,.24)}
.panel ul{list-style:none;margin:0;padding:4px 20px 10px}
.panel li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.panel li:last-child{border-bottom:0}
.p-l{font-size:14px;color:var(--muted)}
.p-v{font-family:var(--f-d);font-size:17px;font-weight:700;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.p-v em{font-style:normal;font-size:11.5px;font-weight:400;color:var(--muted);margin-left:6px}
.panel-f{font-size:11.5px;color:var(--muted);margin:0;padding:0 20px 16px;line-height:1.5}
@media (max-width:920px){.hero-in{grid-template-columns:1fr}.panel{order:2}}

/* ---------- trust row ---------- */
.trust{border-bottom:1px solid var(--line);background:#fff}
.trust-in{display:flex;align-items:center;gap:clamp(20px,4vw,48px);flex-wrap:wrap;padding-block:26px}
.trust-l{font-family:var(--f-d);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.trust-logos{display:flex;gap:clamp(18px,3vw,40px);flex-wrap:wrap;align-items:center;flex:1}
.tlogo{height:34px;min-width:92px;border-radius:5px;background:var(--tint-2);display:flex;align-items:center;justify-content:center;
  font-family:var(--f-d);font-size:11px;font-weight:700;color:#5B6874;letter-spacing:.05em;padding-inline:12px}

/* ===========================================================================
   QUICK ANSWER
   =========================================================================== */
.qa{border:1px solid var(--navy-100);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);background:#fff}
.qa-top{background:var(--coral);color:var(--coral-ink);padding:12px 28px;font-family:var(--f-d);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.qa-body{padding:30px 32px 10px;font-size:1.1rem;line-height:1.7}
.qa-body strong{color:var(--navy)}
.qa-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.qa-stat{background:#fff;padding:20px 24px}
.qa-stat b{display:block;font-family:var(--f-d);font-size:1.7rem;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.1}
.qa-stat span{font-size:13px;color:var(--muted);line-height:1.45;display:block;margin-top:3px}

/* ===========================================================================
   TABS (services + faq)
   =========================================================================== */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;border-bottom:2px solid var(--line);padding-bottom:0}
.tabs-faq{flex-wrap:wrap}
@media (max-width:760px){
  .tabs-faq{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px;
    -webkit-overflow-scrolling:touch}
  .tabs-faq .tab{flex:none}
}
.tab{background:transparent;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;
  font-family:var(--f-d);font-size:15px;font-weight:700;color:var(--muted);
  padding:12px 16px;min-height:48px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.tab span{font-size:11.5px;font-weight:700;background:var(--tint-2);color:var(--muted);border-radius:999px;padding:2px 8px}
.tab:hover{color:var(--navy)}
.tab.is-on{color:var(--navy);border-bottom-color:var(--coral)}
.tab.is-on span{background:var(--coral-tint);color:var(--coral-text)}
.tabpanel{display:none}
.tabpanel.is-on{display:block}

.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:20px}
.svc{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 24px 24px;text-decoration:none;color:inherit;transition:border-color .16s,box-shadow .16s,transform .16s}
.svc:hover{border-color:var(--coral-line);box-shadow:var(--sh);transform:translateY(-3px)}
.svc-mark{width:38px;height:4px;border-radius:2px;background:var(--coral);margin-bottom:4px}
.svc h3{font-size:1.08rem;margin:0}
.svc p{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.6}
.svc-go{margin-top:auto;padding-top:10px;font-family:var(--f-d);font-size:13.5px;font-weight:700;color:var(--coral-text)}

/* ===========================================================================
   COVERAGE
   =========================================================================== */
.rg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.rg{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.rg-primary{border-color:var(--coral-line);box-shadow:var(--sh)}
.rg-top{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:6px}
.rg h3{font-size:1.05rem;margin:0}
.rg-badge{flex:none;font-family:var(--f-d);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--coral-tint);color:var(--coral-text);padding:4px 9px;border-radius:999px}
.rg-countries{font-size:14px;color:var(--muted);margin:0 0 16px}
.rg-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding-top:14px;border-top:1px solid var(--line)}
.rg-meta dt{font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.rg-meta dd{margin:0;font-size:13.5px;font-weight:600;color:var(--navy);line-height:1.4}
.rg-foot{margin-top:26px;background:var(--navy-50);border:1px solid var(--navy-100);border-radius:var(--r-lg);padding:22px 26px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.rg-foot p{margin:0;font-size:15.5px;color:var(--ink-2);flex:1;min-width:260px}
.rg-foot strong{color:var(--navy)}

/* ===========================================================================
   TABLES
   =========================================================================== */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.ctable{width:100%;min-width:720px;border-collapse:collapse;font-size:15px}
.ctable th[scope=col]{background:var(--navy);color:#fff;font-family:var(--f-d);font-size:12px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:15px 18px;white-space:nowrap}
.ctable th[scope=col].hl{background:var(--coral);color:var(--coral-ink)}
.ctable th[scope=row]{background:var(--tint);color:var(--navy);font-family:var(--f-b);font-size:15px;font-weight:700;
  text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);white-space:normal;min-width:190px}
.ctable td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.ctable td.hl{background:var(--coral-tint);font-weight:700;color:var(--navy)}
.ctable tbody tr:last-child td,.ctable tbody tr:last-child th{border-bottom:0}
.dtable td{text-align:center}
.tick,.cross{display:inline-block;width:20px;height:20px;position:relative}
.tick::after{content:"";position:absolute;left:3px;top:4px;width:13px;height:7px;border-left:3px solid var(--good);border-bottom:3px solid var(--good);transform:rotate(-45deg)}
.cross::before,.cross::after{content:"";position:absolute;left:9px;top:1px;width:3px;height:18px;background:#B9C3CF;border-radius:2px}
.cross::before{transform:rotate(45deg)}.cross::after{transform:rotate(-45deg)}
.dtable .maybe{font-size:13.5px;color:var(--muted)}
.dtable .val{font-family:var(--f-d);font-weight:700;color:var(--navy);font-size:14.5px}
.tnote{font-size:13px;color:var(--muted);margin-top:14px}

/* ===========================================================================
   OBJECTIONS / PROCESS / WHY
   =========================================================================== */
.obj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.obj{background:#fff;padding:28px 26px 30px;display:flex;flex-direction:column;gap:9px}
.bg-tint .obj{background:#fff}
.obj-n{font-family:var(--f-d);font-size:12px;font-weight:800;color:var(--coral-text);letter-spacing:.08em}
.obj h3{font-size:1.06rem;margin:0;color:var(--navy-600);font-weight:600}
.obj p{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.65}
.obj .tlink{margin-top:auto;padding-top:10px;align-self:flex-start}

.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px}
.step{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;position:relative}
.step::before{content:counter(s);position:absolute;top:-16px;left:24px;width:36px;height:36px;border-radius:50%;
  background:var(--navy);color:#fff;font-family:var(--f-d);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.step-when{display:block;font-family:var(--f-d);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-text);margin:14px 0 4px}
.step h3{font-size:1.05rem;margin-bottom:7px}
.step p{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.65}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.why{display:flex;gap:14px;align-items:flex-start}
.why-tick{flex:none;width:26px;height:26px;border-radius:50%;background:var(--coral-tint);position:relative;margin-top:2px}
.why-tick::after{content:"";position:absolute;left:7px;top:9px;width:11px;height:6px;border-left:2.5px solid var(--coral-dark);border-bottom:2.5px solid var(--coral-dark);transform:rotate(-45deg)}
.why h4,.why .wh{font-size:15.5px;margin:0 0 3px;font-weight:700;font-family:var(--f-d);color:var(--navy);line-height:1.35}
.why p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.bg-navy .why h4,.bg-navy .why .wh{color:#fff}.bg-navy .why p{color:#A7B8CA}
.bg-navy .why-tick{background:rgba(246,105,88,.22)}
.bg-navy .why-tick::after{border-color:var(--coral-lt)}

/* ===========================================================================
   PRICING
   =========================================================================== */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:22px;align-items:start}
.pcard{position:relative;background:var(--navy-800);border:1px solid var(--navy-600);border-radius:var(--r-lg);
  padding:34px 26px 28px;display:flex;flex-direction:column;gap:10px;color:#D4DEEA}
.pcard h3{color:#fff;font-size:1.1rem;margin:0}
.pcard.is-feat{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral)}
.pflag{position:absolute;top:-13px;left:24px;font-family:var(--f-d);font-size:10.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;background:var(--coral);color:var(--coral-ink);padding:5px 12px;border-radius:999px}
.pfor{font-size:13.5px;color:#93A6BC;margin:0}
.pamt{font-family:var(--f-d);font-size:2.5rem;font-weight:800;letter-spacing:-.035em;margin:8px 0 4px;line-height:1;color:#fff;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px}
.cur{font-size:1.3rem;color:var(--coral-lt);margin-right:2px}
.pplus{font-size:1.4rem}
.punit{font-family:var(--f-b);font-size:12.5px;font-weight:400;color:#93A6BC;margin-left:9px;letter-spacing:0}
.plist{list-style:none;margin:10px 0 22px;padding:0;display:flex;flex-direction:column;gap:9px}
.plist li{font-size:14px;line-height:1.5;padding-left:26px;position:relative}
.plist li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:6px;border-left:2.5px solid var(--coral-lt);border-bottom:2.5px solid var(--coral-lt);transform:rotate(-45deg)}
.pcard .btn{margin-top:auto}

/* ===========================================================================
   AI SEARCH VISIBILITY
   Dark band. Cards are white on navy so the body copy keeps a 12:1 ratio;
   coral is used only for large figures and labels, never for small text on
   the dark ground (that job goes to --coral-lt at 5.71:1).
   =========================================================================== */
.ai-sec{position:relative;overflow:hidden;color:#D5DFEA;
  /* explicit colour as well as the gradient: it is the fallback, and it is what
     a contrast checker can actually read */
  background-color:var(--navy);
  background-image:radial-gradient(900px 420px at 88% -6%,rgba(246,105,88,.18),transparent 62%),
              linear-gradient(180deg,var(--navy-900),var(--navy))}
.ai-sec h2,.ai-sec h3,.ai-sec h4{color:#fff}
.ai-sec .label{color:var(--coral-lt)}
.ai-sec .sub{color:#A7B8CA}
.ai-sec .head{max-width:72ch}

.ai-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-lg);overflow:hidden;margin-bottom:clamp(34px,4vw,50px)}
.ai-stat{background:var(--navy-800);padding:24px 22px 22px}
.ai-stat b{display:block;font-family:var(--f-d);font-size:clamp(1.8rem,3vw,2.2rem);font-weight:800;
  color:var(--coral-lt);letter-spacing:-.035em;line-height:1}
.ai-stat span{display:block;font-size:14px;font-weight:700;color:#E3EAF3;margin-top:9px;line-height:1.45}
.ai-stat em{display:block;font-style:normal;font-size:11.5px;color:#93A6BC;margin-top:7px;line-height:1.5}

.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px}
.ai-card{background:#fff;border-radius:var(--r-lg);padding:26px 24px 24px;display:flex;flex-direction:column;
  box-shadow:0 24px 54px -34px rgba(0,0,0,.6)}
.ai-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px;min-height:62px}
.ai-sec .ai-card h3{font-size:1.12rem;margin:0;color:var(--navy);max-width:17ch}
.ai-sec .ai-panel h3{color:var(--navy)}
.ai-tag{flex:none;max-width:48%;font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;background:var(--coral-tint);color:var(--coral-text);
  padding:6px 11px;border-radius:999px;line-height:1.35;text-align:center}
.ai-bar{height:9px;border-radius:999px;background:var(--tint-2);margin:16px 0 7px;overflow:hidden}
.ai-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--coral),var(--coral-dark))}
.ai-barc{font-size:12.5px;color:var(--muted);margin:0 0 18px;line-height:1.45}
.ai-barc b{font-family:var(--f-d);color:var(--navy);font-size:13.5px}
.ai-dl{margin:0;padding-top:16px;border-top:1px solid var(--line)}
.ai-dl dt{font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin-bottom:5px}
.ai-dl dd{margin:0 0 15px;font-size:14px;line-height:1.62;color:var(--ink-2)}
.ai-dl dd:last-of-type{margin-bottom:0}
.ai-dl dt.lv{color:var(--coral-text)}
.ai-dl dd.lv{background:var(--navy-50);border-left:3px solid var(--coral);
  padding:12px 15px;border-radius:0 var(--r) var(--r) 0;color:var(--navy-600)}

.ai-also{margin-top:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-lg);padding:20px 24px;font-size:14.5px;line-height:1.68;color:#BCCBDB}
.ai-also b{font-family:var(--f-d);color:#fff}

.ai-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  gap:clamp(26px,3.4vw,48px);align-items:start;margin-top:clamp(42px,5vw,68px)}
@media (max-width:1040px){.ai-split{grid-template-columns:1fr}}
.ai-sub-h{font-family:var(--f-d);font-size:1.28rem;font-weight:700;color:#fff;margin:0 0 6px}
.ai-sub-p{font-size:15px;color:#A7B8CA;margin:0 0 26px;line-height:1.65;max-width:62ch}
.ai-lev{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.lev{display:flex;gap:13px;align-items:flex-start}
.lev-n{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(246,105,88,.2);
  color:#FFB6A9;font-family:var(--f-d);font-size:13px;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.lev b{display:block;font-family:var(--f-d);font-size:15.5px;color:#fff;margin-bottom:4px;line-height:1.35}
.lev p{margin:0;font-size:13.8px;line-height:1.62;color:#A7B8CA}

.ai-panel{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 64px -34px rgba(0,0,0,.65)}
.ai-panel-h{background:var(--coral);color:var(--coral-ink);padding:14px 22px;font-family:var(--f-d);
  font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.ai-panel ul{list-style:none;margin:0;padding:6px 22px 12px}
.ai-panel li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line)}
.ai-panel li:last-child{border-bottom:0}
.ai-pl{font-size:14px;color:var(--ink-2);flex:1}
.ai-pv{font-family:var(--f-d);font-size:16.5px;font-weight:800;color:var(--navy);
  white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.ai-pv em{display:block;font-style:normal;font-family:var(--f-b);font-size:11.5px;font-weight:400;color:var(--muted);margin-top:2px}
.ai-panel-f{margin:0;padding:0 22px 20px;font-size:11.5px;color:var(--muted);line-height:1.55}

.ai-caveat{margin-top:clamp(36px,4vw,54px);border:1px solid rgba(255,154,140,.42);
  background:rgba(246,105,88,.11);border-radius:var(--r-lg);padding:24px 28px}
.ai-caveat b{display:block;font-family:var(--f-d);font-size:11.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--coral-lt);margin-bottom:9px}
.ai-caveat p{margin:0;font-size:15.2px;line-height:1.72;color:#DCE4EE}
.ai-src{margin:18px 0 0;font-size:12px;line-height:1.6;color:#A3B4C7}
.ai-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:clamp(30px,3.4vw,42px)}
/* the outline button needs the dark-ground treatment here too */
.ai-sec .btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.ai-sec .btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* ===========================================================================
   FINAL ROUND — audience paths, local SEO, revenue, performance, algorithm
   =========================================================================== */
.bg-local{background:linear-gradient(180deg,#FFF6F4,#FDF1EE)}
.bg-local .svc,.bg-local .lsvc{background:#fff}

/* ---------- audience paths ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:22px;align-items:stretch}
.aud{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:30px 26px 26px;transition:border-color .16s,box-shadow .16s,transform .16s}
.aud:hover{border-color:var(--coral-line);box-shadow:var(--sh);transform:translateY(-3px)}
.aud.is-feat{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral),var(--sh)}
.aud-flag{position:absolute;top:-13px;left:24px;font-family:var(--f-d);font-size:10.5px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;background:var(--coral);color:var(--coral-ink);padding:5px 12px;border-radius:999px}
.aud-eye{font-family:var(--f-d);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--coral-text);margin:0 0 10px}
.aud h3{font-size:1.2rem;margin:0 0 10px;line-height:1.3}
.aud-who{font-size:14.5px;color:var(--muted);margin:0 0 20px;line-height:1.6}
.aud-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:16px 0;margin-bottom:6px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.aud-price b{font-family:var(--f-d);font-size:2rem;font-weight:800;color:var(--navy);letter-spacing:-.035em;line-height:1}
.aud-price i{font-style:normal;font-family:var(--f-d);font-size:1.1rem;font-weight:700;color:var(--coral-text)}
.aud-price span{font-size:12.5px;color:var(--muted)}
.aud ul{list-style:none;margin:18px 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.aud li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.aud li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:6px;
  border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg)}
.aud .btn{margin-top:auto;width:100%}
.aud-note{margin-top:26px;background:var(--navy-50);border:1px solid var(--navy-100);border-radius:var(--r-lg);
  padding:20px 24px;font-size:15px;line-height:1.65;color:var(--ink-2)}

/* ---------- local ---------- */
.lstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1px;background:var(--coral-line);
  border:1px solid var(--coral-line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:clamp(32px,4vw,46px)}
.lstat{background:#fff;padding:22px 20px}
.lstat b{display:block;font-family:var(--f-d);font-size:1.95rem;font-weight:800;color:var(--coral-dark);
  letter-spacing:-.035em;line-height:1}
.lstat span{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin-top:8px;line-height:1.45}
.lstat em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5}

.lsvc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(304px,1fr));gap:20px}
.lsvc{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--coral-line);
  border-radius:var(--r-lg);padding:24px 22px;text-decoration:none;color:inherit;
  transition:border-color .16s,box-shadow .16s,transform .16s}
.lsvc:hover{border-color:var(--coral);box-shadow:var(--sh);transform:translateY(-3px)}
.lsvc h3{font-size:1.04rem;margin:0}
.lsvc p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.62}
.lsvc-go{margin-top:auto;padding-top:8px;font-family:var(--f-d);font-size:13px;font-weight:700;color:var(--coral-text)}
.lsvc-n{font-family:var(--f-d);font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--coral-text);margin-bottom:-2px}

.lmark{margin-top:26px;background:var(--navy);color:#DDE4EE;border-radius:var(--r-lg);padding:24px 28px;
  font-size:15.5px;line-height:1.7}
.lmark b{color:#fff}

.ltier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px;align-items:start;
  margin-top:clamp(34px,4vw,48px)}
.ltier{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px 26px 26px;display:flex;flex-direction:column;gap:8px}
.ltier.is-feat{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral)}
.ltier h3{font-size:1.12rem;margin:0}
.ltier .pfor{font-size:13.5px;color:var(--muted);margin:0}
.ltier-amt{font-family:var(--f-d);font-size:2.4rem;font-weight:800;letter-spacing:-.035em;margin:10px 0 2px;
  line-height:1;color:var(--navy);display:flex;align-items:baseline;gap:2px;flex-wrap:wrap}
.ltier-amt .cur{font-size:1.25rem;color:var(--coral-text)}
.ltier-amt .punit{font-family:var(--f-b);font-size:12.5px;font-weight:400;color:var(--muted);margin-left:9px;letter-spacing:0}
.ltier ul{list-style:none;margin:14px 0 24px;padding:0;display:flex;flex-direction:column;gap:9px}
.ltier li{position:relative;padding-left:26px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.ltier li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:6px;
  border-left:2.5px solid var(--coral-dark);border-bottom:2.5px solid var(--coral-dark);transform:rotate(-45deg)}
.ltier .btn{margin-top:auto}

/* ---------- revenue chain (shared with the algorithm timeline) ---------- */
.chain{list-style:none;margin:0;padding:0}
.chain li{position:relative;display:grid;grid-template-columns:76px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(14px,2vw,30px);align-items:start;padding:26px 0;border-top:1px solid var(--line)}
.chain li:first-child{border-top:0;padding-top:0}
.chain li:first-child .chain-n::before{display:none}
@media (max-width:900px){
  .chain li{grid-template-columns:54px minmax(0,1fr);row-gap:12px}
  .chain-m,.chain-b{grid-column:2}
}
.chain-n{position:relative;font-family:var(--f-d);font-size:15px;font-weight:800;color:var(--coral-ink);
  background:var(--coral);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.chain-n::before{content:"";position:absolute;left:50%;top:-27px;width:2px;height:27px;background:var(--coral-line);transform:translateX(-50%)}
.chain h3{font-size:1.1rem;margin:0 0 4px}
.chain-w{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.6}
.chain-lbl{display:block;font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.chain-m p,.chain-b p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.chain-b{border-left:3px solid var(--coral-line);padding-left:16px}
.chain-b p{color:var(--muted)}

.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:24px;
  margin-top:clamp(38px,4.5vw,56px);padding-top:clamp(34px,4vw,46px);border-top:1px solid var(--line)}
.pill{display:flex;gap:13px;align-items:flex-start}
.pill-d{flex:none;width:11px;height:11px;border-radius:3px;background:var(--coral);margin-top:6px;transform:rotate(45deg)}
.pill b{display:block;font-family:var(--f-d);font-size:15.5px;color:var(--navy);margin-bottom:4px}
.pill p{margin:0;font-size:14px;line-height:1.62;color:var(--muted)}

.maths{margin-top:clamp(34px,4vw,48px);background:var(--navy);border-radius:var(--r-lg);padding:28px 30px;color:#C8D5E3}
.maths-h{font-family:var(--f-d);font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--coral-lt);margin:0 0 20px}
.maths-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 6px}
.mbox{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:12px 16px;min-width:126px}
.mbox b{display:block;font-family:var(--f-d);font-size:1.35rem;font-weight:800;color:#fff;line-height:1.1}
.mbox span{display:block;font-size:11.5px;color:#A7B8CA;margin-top:4px;line-height:1.4}
.mop{font-family:var(--f-d);font-size:1.15rem;color:var(--coral-lt);padding:0 3px 14px;font-weight:700}
.mout{background:var(--coral);border-color:var(--coral);min-width:168px}
.mout b{color:var(--coral-ink);font-size:1.6rem}
.mout span{color:#4A1D12;font-weight:600}
.maths-f{margin:18px 0 0;font-size:12.5px;color:#93A6BC;line-height:1.6}

/* ---------- performance-linked ---------- */
.perf-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(26px,3.4vw,46px);align-items:start}
@media (max-width:1000px){.perf-split{grid-template-columns:1fr}}
.perf-list{list-style:none;counter-reset:pf;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.perf-list li{counter-increment:pf;position:relative;padding-left:52px}
.perf-list li::before{content:counter(pf,decimal-leading-zero);position:absolute;left:0;top:0;width:36px;height:36px;
  border-radius:50%;background:var(--coral-tint);color:var(--coral-text);font-family:var(--f-d);font-size:12.5px;
  font-weight:800;display:flex;align-items:center;justify-content:center}
.perf-list b{display:block;font-family:var(--f-d);font-size:16px;color:var(--navy);margin-bottom:4px;padding-top:7px}
.perf-list p{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}

.perf-card{background:#fff;border:2px solid var(--coral);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg)}
.perf-card-h{background:var(--coral);color:var(--coral-ink);padding:14px 22px;font-family:var(--f-d);font-size:12px;
  font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.perf-card ul{list-style:none;margin:0;padding:8px 22px 14px}
.perf-card li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.perf-card li.tot{border-bottom:0;border-top:2px solid var(--navy);margin-top:6px;padding-top:14px}
.perf-l{font-size:14px;color:var(--ink-2)}
.perf-v{font-family:var(--f-d);font-size:16px;font-weight:800;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.perf-card li.tot .perf-v{color:var(--coral-dark);font-size:1.25rem}
.perf-f{margin:0;padding:0 22px 20px;font-size:11.5px;color:var(--muted);line-height:1.55}

.fit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:clamp(34px,4vw,48px)}
.fit{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 24px 22px}
.fit.yes{border-left:4px solid var(--good)}
.fit.no{border-left:4px solid var(--line-2)}
.fit h3{font-size:1.02rem;margin:0 0 14px}
.fit ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fit li{position:relative;padding-left:28px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.fit.yes li::before{content:"";position:absolute;left:2px;top:.42em;width:13px;height:7px;
  border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg)}
.fit.no li::before{content:"";position:absolute;left:3px;top:.62em;width:13px;height:2.5px;background:var(--line-2);border-radius:2px}

.callout{margin-top:clamp(30px,3.6vw,44px);background:var(--warn-tint);border:1px solid #EBD6A8;
  border-left:4px solid var(--warn);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:24px 28px}
.callout b{display:block;font-family:var(--f-d);font-size:11.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--warn);margin-bottom:9px}
.callout p{margin:0;font-size:15px;line-height:1.72;color:#4A3A17}

/* ---------- algorithm timeline ---------- */
.tline{list-style:none;margin:0;padding:0}
.tline li{display:grid;grid-template-columns:186px 18px minmax(0,1fr);gap:0 clamp(16px,2vw,26px);
  align-items:start;padding-bottom:30px}
.tline li:last-child{padding-bottom:0}
@media (max-width:860px){
  .tline li{grid-template-columns:18px minmax(0,1fr);gap:0 18px}
  .tline-when{grid-column:2;margin-bottom:8px}
}
.tline-when{font-family:var(--f-d);font-size:13.5px;font-weight:800;color:var(--navy);padding-top:2px;line-height:1.4}
.tline-when em{display:block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;margin-top:4px}
.tline-when em.core{color:var(--coral-text)}
.tline-when em.spam{color:var(--warn)}
.tline-when em.none{color:var(--muted)}
.tline-rail{position:relative;justify-self:center;width:14px;height:100%;min-height:40px}
.tline-rail::before{content:"";position:absolute;left:50%;top:6px;bottom:-30px;width:2px;background:var(--line-2);transform:translateX(-50%)}
.tline li:last-child .tline-rail::before{display:none}
.tline-rail::after{content:"";position:absolute;left:50%;top:5px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid var(--coral);transform:translateX(-50%)}
.tline li.none .tline-rail::after{border-color:var(--line-2)}
.tline-body h3{font-size:1.05rem;margin:0 0 5px}
.tline-body p{margin:0 0 8px;font-size:14.5px;line-height:1.62;color:var(--ink-2)}
.tline-body p:last-child{margin-bottom:0}
.tline-body .what{color:var(--muted);font-size:13.5px}

.algo-do{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:24px;
  margin-top:clamp(36px,4.2vw,52px);padding-top:clamp(32px,4vw,44px);border-top:1px solid var(--line)}
.ado b{display:block;font-family:var(--f-d);font-size:15.5px;color:var(--navy);margin-bottom:6px}
.ado p{margin:0;font-size:14px;line-height:1.65;color:var(--ink-2)}
.ado-n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r);
  background:var(--navy);color:#fff;font-family:var(--f-d);font-size:12px;font-weight:800;margin-bottom:12px}

/* ---------- sticky mobile CTA ---------- */
.mcta{display:none}
@media (max-width:760px){
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;gap:10px;padding:10px 14px
    calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);
    border-top:1px solid var(--line);box-shadow:0 -6px 24px -12px rgba(27,36,48,.4);
    backdrop-filter:saturate(180%) blur(8px)}
  .mcta .btn{flex:1;min-height:50px;font-size:14.5px;padding-inline:12px}
  body{padding-bottom:78px}
}
/* ===========================================================================
   CASES / QUOTES / INDUSTRIES / POSTS
   =========================================================================== */
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.case{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px}
.case-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tag{font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  background:var(--coral-tint);color:var(--coral-text);padding:4px 10px;border-radius:999px}
.tag-geo{background:var(--navy-100);color:var(--navy)}
.case h3{font-size:1.08rem;margin-bottom:16px}
.case-big{font-family:var(--f-d);font-size:2.4rem;font-weight:800;color:var(--good);letter-spacing:-.035em;line-height:1;margin:0 0 4px}
.case-big span{font-family:var(--f-b);font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:8px}
.case-2{font-size:14px;color:var(--muted);margin:0 0 14px}
.case-x{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin-bottom:16px}
.case-f{display:block;font-family:var(--f-d);font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.quote{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;display:flex;flex-direction:column;gap:18px}
.quote blockquote{margin:0;font-family:var(--f-d);font-size:1.08rem;font-weight:600;line-height:1.55;color:var(--navy)}
.quote figcaption{display:flex;align-items:center;gap:13px;font-size:13.5px;color:var(--muted);margin-top:auto}
.quote figcaption b{color:var(--navy);font-size:14.5px}
.quote figcaption em{font-style:normal;display:block;font-size:12.5px;color:var(--coral-text);font-weight:600;margin-top:2px}
.q-av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--tint-2)}

.ind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px}
.ind{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 16px;text-align:center;
  font-family:var(--f-d);font-size:14.5px;font-weight:700;color:var(--navy);transition:border-color .15s,transform .15s}
.ind:hover{border-color:var(--coral-line);transform:translateY(-2px)}
.ind span{display:block;font-family:var(--f-b);font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}

.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.post{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;
  text-decoration:none;color:inherit;transition:border-color .16s,box-shadow .16s,transform .16s}
.post:hover{border-color:var(--coral-line);box-shadow:var(--sh);transform:translateY(-3px)}
.post h3{font-size:1.06rem;margin:12px 0 10px}
.post p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-bottom:14px}
.post-m{font-family:var(--f-d);font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

/* ---------- recognition ---------- */
.recog{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px}
.recog div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.recog b{display:block;font-family:var(--f-d);font-size:15px;color:var(--navy);margin-bottom:4px}
.recog span{font-size:13.5px;color:var(--muted);line-height:1.55}

/* ===========================================================================
   FAQ
   =========================================================================== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.fq-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.fq-search{flex:1;min-width:260px;position:relative}
.fq-search input{width:100%;font-family:var(--f-b);font-size:16px;padding:14px 16px 14px 46px;min-height:52px;
  border:1.5px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink)}
.fq-search input:focus{outline:none;border-color:var(--coral-dark);box-shadow:0 0 0 3px var(--coral-tint)}
.fq-search::before{content:"";position:absolute;left:17px;top:50%;width:13px;height:13px;margin-top:-8px;
  border:2.5px solid var(--muted);border-radius:50%;pointer-events:none}
.fq-search::after{content:"";position:absolute;left:29px;top:50%;width:2.5px;height:8px;margin-top:2px;
  background:var(--muted);transform:rotate(-45deg);border-radius:2px;pointer-events:none}
.fq-all{font-family:var(--f-d);font-size:14px;font-weight:700;color:var(--navy);background:#fff;
  border:1.5px solid var(--line-2);border-radius:var(--r);padding:13px 20px;min-height:52px;cursor:pointer}
.fq-all:hover{border-color:var(--navy)}
.fq-count{font-size:14.5px;color:var(--muted);margin:0 0 18px}
.fq-count b{color:var(--navy)}
.fq.is-hidden{display:none}
.fq-cat{display:block;font-family:var(--f-d);font-size:10.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.tabs-faq{margin-bottom:22px}
.fq-list{border-top:2px solid var(--navy-100)}
.fq{border-bottom:1px solid var(--line)}
.fq summary{cursor:pointer;list-style:none;padding:20px 48px 20px 0;position:relative;display:flex;gap:16px;align-items:baseline;min-height:48px}
.fq summary::-webkit-details-marker{display:none}
.fq-n{flex:none;font-family:var(--f-d);font-size:12.5px;font-weight:800;color:var(--coral-text);padding-top:3px}
.fq summary h3{font-size:17.5px;margin:0;font-weight:700;color:var(--navy);line-height:1.45}
.fq summary::after{content:"";position:absolute;right:10px;top:28px;width:10px;height:10px;
  border-right:2.5px solid var(--coral-dark);border-bottom:2.5px solid var(--coral-dark);transform:rotate(45deg);transition:transform .2s}
.fq[open] summary::after{transform:rotate(-135deg);top:32px}
.fq summary:hover h3{color:var(--coral-text)}
.fq-a{padding:0 48px 24px 40px;color:var(--ink-2);font-size:16.5px;line-height:1.75}
.fq-a p{margin:0}
@media (max-width:560px){.fq-a{padding-left:0}}

/* ===========================================================================
   FORM
   =========================================================================== */
.conv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:start}
@media (max-width:900px){.conv{grid-template-columns:1fr}}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.frow{grid-template-columns:1fr}}
.f{margin-bottom:16px}
.f label{display:block;font-family:var(--f-d);font-size:13.5px;font-weight:700;margin-bottom:7px;color:var(--navy)}
.f input,.f select,.f textarea{width:100%;font-family:var(--f-b);font-size:16px;padding:13px 15px;color:var(--ink);
  background:#fff;border:1.5px solid var(--line-2);border-radius:var(--r);min-height:48px}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--coral-dark);box-shadow:0 0 0 3px var(--coral-tint)}
.f textarea{resize:vertical;min-height:118px}
.fnote{font-size:13.5px;color:var(--muted);margin:14px 0 0}
.conv-side ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.conv-side li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;color:var(--ink-2)}
.conv-side li b{display:block;font-family:var(--f-d);color:var(--navy);font-size:15.5px;margin-bottom:2px}
.conv-side .why-tick{margin-top:3px}

/* ===========================================================================
   CTA + FOOTER
   =========================================================================== */
.cta{background:var(--navy);color:#C8D5E3;padding-block:clamp(50px,6vw,84px);
  background-image:radial-gradient(700px 300px at 84% 0%,rgba(246,105,88,.26),transparent 62%);text-align:center}
.cta h2{color:#fff;margin-bottom:.5em}
.cta p{color:#A7B8CA;font-size:1.12rem;margin-inline:auto;margin-bottom:30px;max-width:56ch}

.foot{background:var(--navy-900);color:#8EA0B5;padding-block:clamp(50px,5vw,76px) 30px;font-size:14.5px}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(34px,5vw,76px);padding-bottom:40px;border-bottom:1px solid #2A3A4F}
@media (max-width:940px){.foot-top{grid-template-columns:1fr}}
.foot-logo{max-height:46px;width:auto;margin-bottom:16px}
.foot p{color:#8EA0B5;font-size:14px;line-height:1.7;max-width:46ch}
.foot address{font-style:normal;font-size:13.5px;line-height:1.85;margin-top:18px}
.foot address a{color:#C6D3E1;text-decoration:none;border-bottom:1px solid #33455C}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:34px}
.foot-cols h3{font-family:var(--f-d);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--coral-lt);margin-bottom:16px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot-cols a{color:#B4C3D3;text-decoration:none;font-size:14px;line-height:1.45}
.foot-cols a:hover{color:#fff}
.foot-bot{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-top:26px}
.foot-bot p{margin:0;font-size:12.5px;color:#8496AB}
.foot-bot ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0}
.foot-bot a{color:#8496AB;font-size:12.5px;text-decoration:none}
.foot-bot a:hover{color:#B4C3D3}

/* ---------- editorial disclosure (E-E-A-T: Google's "how" lens) ---------- */
.edit-note{margin-top:clamp(34px,4vw,48px);border-top:1px solid var(--line);padding-top:24px;
  font-size:14px;line-height:1.7;color:var(--muted);max-width:78ch}
.edit-note b{font-family:var(--f-d);color:var(--navy)}
.edit-note a{color:var(--coral-text)}

/* ---------- WordPress core classes the editor can emit ---------- */
.alignleft{float:left;margin:.3em 1.6em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.6em}
.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption-text,.wp-element-caption{font-size:13.5px;color:var(--muted);margin-top:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:200;width:auto;height:auto;clip:auto;
  background:#fff;color:var(--navy);padding:12px 18px;border-radius:var(--r);box-shadow:var(--sh-lg);font-weight:700}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}

/* ---------- editor content (single posts and pages) ---------- */
.entry h2{margin-top:1.6em}
.entry h3{margin-top:1.4em}
.entry ul,.entry ol{padding-left:1.3em;margin:0 0 1.2em}
.entry li{margin-bottom:.5em}
.entry blockquote{margin:1.6em 0;padding:18px 24px;border-left:4px solid var(--coral);
  background:var(--navy-50);border-radius:0 var(--r) var(--r) 0}
.entry blockquote p:last-child{margin:0}
.entry img{border-radius:var(--r-lg)}
.entry table{width:100%;border-collapse:collapse;margin:1.6em 0}
.entry th,.entry td{border:1px solid var(--line);padding:12px 14px;text-align:left}
.entry th{background:var(--tint);font-family:var(--f-d);font-size:14px}
