/* ---------- TIMELINE ---------- */
.tl-wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:0 26px}
.tl-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.tl-icon svg{width:34px;height:34px;stroke:#2563EB;fill:none}
.tl-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tl-step{font:500 13px Inter,sans-serif;color:#94A3B8}
.tl-dur{font:600 13px Inter,sans-serif;color:#2563EB;background:#EFF6FF;padding:5px 12px;border-radius:999px}
.tl-title{font:700 19px/1.3 Poppins,sans-serif;color:#0F172A;margin:0 0 22px;min-height:50px}
.tl-track{position:relative;display:flex;align-items:center;height:22px;margin-bottom:20px}
.tl-line{flex:1;height:1px;background:#E2E8F0}
.tl-first .tl-line-l,.tl-last .tl-line-r{background:transparent}
.tl-dot{width:15px;height:15px;border-radius:50%;background:#2563EB;border:4px solid #fff;
 box-shadow:0 0 0 1.5px #2563EB;flex:none}
.tl-desc{font:400 15px/1.65 Inter,sans-serif;color:#64748B;margin:0 0 18px}
.tl-deliv{display:flex;gap:9px;align-items:flex-start}
.tl-deliv svg{flex:none;margin-top:2px}
.tl-deliv span{font:500 14.5px/1.5 Inter,sans-serif;color:#334155}


/* ---------- METRIC BARS ---------- */
.mb-wrap{max-width:720px;margin:0 auto}
.mb-row{margin-bottom:20px}
.mb-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.mb-label{font:500 15.5px Inter,sans-serif;color:#334155}
.mb-val{font:700 15.5px Poppins,sans-serif;color:#2563EB}
.mb-track{height:9px;background:#EEF2F7;border-radius:999px;overflow:hidden}
.mb-fill{display:block;height:100%;width:0;border-radius:999px;
 background:linear-gradient(90deg,#2563EB,#10B981);
 transition:width 1.15s cubic-bezier(.22,.9,.3,1)}
.mb-wrap.in .mb-fill{width:var(--pct)}
.mb-note{margin:22px 0 0;font:400 14.5px Inter,sans-serif;color:#94A3B8;text-align:center}

/* ---------- COMPARISON ---------- */
.cmp-wrap{border:1px solid #E2E8F0;border-radius:16px;overflow:hidden;background:#fff}
.cmp-head,.cmp-row{display:grid;grid-template-columns:1.3fr 1fr 1fr}
.cmp-head{background:#F8FAFC;border-bottom:1px solid #E2E8F0}
.cmp-h{padding:16px 20px;font:600 15px Poppins,sans-serif}
.cmp-h-them{color:#94A3B8}.cmp-h-us{color:#2563EB}
.cmp-row{border-bottom:1px solid #F1F5F9}
.cmp-row:last-child{border-bottom:0}
.cmp-label{padding:17px 20px;font:500 15px Inter,sans-serif;color:#0F172A}
.cmp-cell{padding:17px 20px;display:flex;gap:9px;align-items:flex-start;
 font:400 14.5px/1.5 Inter,sans-serif;color:#64748B}
.cmp-cell svg{flex:none;margin-top:3px}
.cmp-us{color:#334155;background:#FAFDFB}
@media(max-width:767px){
 .cmp-head{display:none}
 .cmp-row{grid-template-columns:1fr;padding:6px 0}
 .cmp-label{padding-bottom:6px;font-weight:600}
 .cmp-cell{padding:7px 20px}
 .cmp-them::before{content:"Typical agency: ";color:#94A3B8;font-weight:500}
 .cmp-us::before{content:"SEOspire: ";color:#2563EB;font-weight:600}
}

/* ---------- STAT STRIP ---------- */
.ss-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.ss-cell{padding:26px 14px;background:#fff;border:1px solid #E2E8F0;border-radius:14px}
.ss-val{display:block;font:700 40px/1 Poppins,sans-serif;color:#2563EB;margin-bottom:9px}
.ss-label{font:400 14.5px/1.45 Inter,sans-serif;color:#64748B}


/* ---------- QUOTES ---------- */
.qc-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.qc-card{margin:0;background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:28px 26px;
 box-shadow:0 2px 10px -4px rgba(15,23,42,.08)}
.qc-stars{color:#F59E0B;font-size:15px;letter-spacing:2px;margin-bottom:14px}
.qc-quote{margin:0 0 20px;font:400 15.5px/1.7 Inter,sans-serif;color:#334155}
.qc-foot{display:flex;align-items:center;gap:12px}
.qc-av{width:40px;height:40px;border-radius:50%;background:#EFF6FF;color:#2563EB;
 display:flex;align-items:center;justify-content:center;font:600 14px Inter,sans-serif;flex:none}
.qc-who strong{display:block;font:600 14.5px Inter,sans-serif;color:#0F172A}
.qc-who em{font-style:normal;font-size:13.5px;color:#94A3B8}


/* ---------- FEATURE GRID ---------- */
.fg-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fg-cell{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:28px 26px;
 transition:transform .18s ease,box-shadow .18s ease}
.fg-cell:hover{transform:translateY(-3px);box-shadow:0 18px 38px -26px rgba(15,23,42,.4)}
.fg-icon{width:46px;height:46px;border-radius:12px;background:#EFF6FF;display:flex;
 align-items:center;justify-content:center;margin-bottom:18px}
.fg-icon svg{width:24px;height:24px;stroke:#2563EB;fill:none}
.fg-cell h3{font:700 18px Poppins,sans-serif;color:#0F172A;margin:0 0 10px}
.fg-cell p{font:400 15px/1.65 Inter,sans-serif;color:#64748B;margin:0}



/* ---------- CHECKLIST SPLIT ---------- */
.cs-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cs-col{border-radius:16px;padding:28px 26px;border:1px solid #E2E8F0;background:#fff}
.cs-bad{background:#FEFAFA;border-color:#FEE2E2}
.cs-good{background:#F7FDFA;border-color:#D1FAE5}
.cs-col h3{font:700 17px Poppins,sans-serif;margin:0 0 16px;color:#0F172A}
.cs-col ul{list-style:none;margin:0;padding:0}
.cs-col li{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;
 font:400 15px/1.6 Inter,sans-serif;color:#475569}
.cs-col li svg{flex:none;margin-top:3px}


/* ---------- LOGO/CHIP ROW ---------- */
.lr-wrap{text-align:center}
.lr-text{font:500 14px Inter,sans-serif;color:#94A3B8;letter-spacing:.06em;
 text-transform:uppercase;margin:0 0 20px}
.lr-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.lr-chip{padding:11px 20px;border:1px solid #E2E8F0;border-radius:999px;background:#fff;
 font:600 14.5px Inter,sans-serif;color:#475569}

/* ---------- BIG CTA ---------- */
.bc-wrap{background:linear-gradient(135deg,#1E40AF,#2563EB);border-radius:22px;padding:2px}
.bc-inner{padding:56px 40px;text-align:center}
.bc-inner h2{font:700 36px/1.2 Poppins,sans-serif;color:#fff;margin:0 0 14px}
.bc-inner p{font:400 17.5px/1.65 Inter,sans-serif;color:#DBEAFE;margin:0 auto 26px;max-width:600px}
.bc-btn{display:inline-block;background:#10B981;color:#fff;text-decoration:none;
 padding:16px 36px;border-radius:10px;font:600 16px Inter,sans-serif;
 transition:background .16s ease,transform .16s ease}
.bc-btn:hover{background:#059669;transform:translateY(-1px);color:#fff}
.bc-note{margin:16px 0 0;font:400 14px Inter,sans-serif;color:#BFDBFE}


/* ---------- FAQ ---------- */
.fq-wrap{max-width:820px;margin:0 auto}
.fq-item{border:1px solid #E2E8F0;border-radius:12px;margin-bottom:10px;background:#fff;
 overflow:hidden}
.fq-item summary{list-style:none;cursor:pointer;padding:19px 22px;display:flex;
 justify-content:space-between;align-items:center;gap:16px;
 font:600 16.5px Poppins,sans-serif;color:#0F172A}
.fq-item summary::-webkit-details-marker{display:none}
.fq-item summary i{flex:none;width:18px;height:18px;position:relative;transition:transform .2s}
.fq-item summary i::before,.fq-item summary i::after{content:"";position:absolute;background:#2563EB;
 border-radius:2px}
.fq-item summary i::before{left:0;top:8px;width:18px;height:2.4px}
.fq-item summary i::after{left:8px;top:0;width:2.4px;height:18px;transition:opacity .2s}
.fq-item[open] summary i::after{opacity:0}
.fq-item[open]{background:#F8FAFC;border-color:#CBD5E1}
.fq-body{padding:0 22px 20px}
.fq-body p{margin:0;font:400 15.5px/1.75 Inter,sans-serif;color:#475569}

/* reveal */
.reveal-up{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal-up.in{opacity:1;transform:none}

/* ---------- MEDIA SPLIT ---------- */
.ms-wrap{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.ms-flip .ms-media{order:2}
.ms-media img{width:100%;object-fit:cover;display:block;
 box-shadow:0 34px 64px -40px rgba(15,23,42,.5)}
.ms-eyebrow{font:600 13px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;
 color:#2563EB;margin:0 0 12px}
.ms-copy h2{font:700 33px/1.22 Poppins,sans-serif;color:#0F172A;margin:0 0 16px;letter-spacing:-.02em}
.ms-body{font:400 16.5px/1.72 Inter,sans-serif;color:#475569;margin:0}
.ms-list{list-style:none;margin:22px 0 0;padding:0}
.ms-list li{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px;
 font:400 15.5px/1.6 Inter,sans-serif;color:#334155}
.ms-list li svg{flex:none;margin-top:3px}


/* ---------- HERO MEDIA ---------- */
.hm-wrap{margin-top:14px}
.hm-wrap img{width:100%;object-fit:cover;display:block;
 box-shadow:0 44px 88px -48px rgba(15,23,42,.55)}


/* ============ DESIGN CORRECTIONS ============ */

/* Astra colours headings with the theme link colour. Headings are ink, not blue. */
.elementor-widget-heading .elementor-heading-title,
.entry-content h1,.entry-content h2,.entry-content h3,
h1,h2,h3,h4,h5,h6{color:#0F172A}
.elementor-widget-heading .elementor-heading-title a{color:inherit}

/* Type scale — more contrast between levels */
.elementor-widget-heading h1.elementor-heading-title{
 font-size:clamp(38px,5.2vw,68px);line-height:1.06;letter-spacing:-.035em;font-weight:700}
.elementor-widget-heading h2.elementor-heading-title{
 font-size:clamp(27px,3.4vw,42px);line-height:1.16;letter-spacing:-.028em;font-weight:700}
.elementor-widget-heading h3.elementor-heading-title{
 font-size:clamp(18px,1.6vw,21px);line-height:1.34;letter-spacing:-.015em;font-weight:650}

/* Body copy: darker for real contrast */
.elementor-widget-text-editor{color:#475569;font-size:16.5px;line-height:1.72}
.elementor-widget-text-editor p{margin:0 0 14px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* Equal-height service cards, button pinned to the bottom */
.elementor-widget-wrap{align-content:flex-start}
.sq-cards .elementor-column .elementor-widget-wrap{height:100%;display:flex;flex-direction:column}
.sq-cards .elementor-widget-button{margin-top:auto;padding-top:18px}

/* Buttons: real presence */
.elementor-button{font-weight:600;letter-spacing:-.01em;border-radius:10px;
 box-shadow:0 10px 22px -14px rgba(37,99,235,.75)}
.elementor-button:hover{transform:translateY(-1px)}
.elementor-button-link[href="/pricing/"],.elementor-button.ghost{box-shadow:none}

/* Hero: give it room and a soft gradient instead of flat tint */
.sq-hero{background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 100%)!important}

/* Stat row under the hero — separate it properly */
.sq-stats{border-top:1px solid #E8EDF5;border-bottom:1px solid #E8EDF5;background:#fff}

/* Timeline: more breathing room, no cramped wrapping */
.tl-wrap{gap:0 32px}
.tl-title{font-size:17.5px;line-height:1.34;min-height:46px;margin-bottom:20px}
.tl-desc{font-size:14.5px;line-height:1.68}
.tl-deliv span{font-size:13.8px;line-height:1.5}
.tl-dur{font-size:12.5px;padding:4px 11px}
.tl-step{font-size:12.5px}

/* Cards everywhere: lift them off the page */
.fg-cell,.qc-card,.ss-cell,.cmp-wrap,.cs-col{
 box-shadow:0 18px 40px -26px rgba(15,23,42,.28)}
.fg-cell:hover{box-shadow:0 26px 54px -28px rgba(15,23,42,.38)}

/* Media split: bigger, more confident */
.ms-copy h2{font-size:clamp(25px,2.8vw,34px);line-height:1.18;letter-spacing:-.028em}
.ms-wrap{gap:60px}

/* Section rhythm: consistent vertical space */
.elementor-section.elementor-top-section{padding-left:20px;padding-right:20px}

/* Footer polish */
.sq-footer{padding-top:64px}

@media(max-width:767px){
 .elementor-widget-heading h1.elementor-heading-title{font-size:36px}
 .elementor-widget-heading h2.elementor-heading-title{font-size:26px}
 .ms-wrap{gap:28px}
}

/* ============ HARD OVERRIDES (Elementor per-widget CSS is unreliable here) ============ */

/* Headings are ink. Only elements we explicitly opt in get colour. */
body .elementor .elementor-widget-heading .elementor-heading-title,
body .elementor-widget-heading .elementor-heading-title{
  color:#0F172A !important;
}
/* light text on dark CTA panels stays white */
body .elementor .bc-inner h2,
body .elementor .bc-inner p{color:#fff !important}
body .elementor .bc-inner p{color:#DBEAFE !important}

/* Body copy contrast */
body .elementor .elementor-widget-text-editor{color:#475569 !important}

/* PRIMARY buttons must be blue; green is reserved for the dark CTA panel only */
body .elementor .elementor-button{
  background-color:#2563EB !important;color:#fff !important;
  border-radius:10px !important;font-weight:600 !important;
  padding:15px 30px;box-shadow:0 12px 24px -16px rgba(37,99,235,.9) !important;
}
body .elementor .elementor-button:hover{background-color:#1E40AF !important}
/* ghost / secondary */
body .elementor .elementor-element .elementor-button[href="/pricing/"]{
  background-color:transparent !important;color:#2563EB !important;
  border:1.5px solid #CBD5E1 !important;box-shadow:none !important;
}
body .elementor .elementor-element .elementor-button[href="/pricing/"]:hover{
  background-color:#EFF6FF !important;border-color:#2563EB !important;
}
/* the green CTA inside the dark panel */
body .elementor .bc-btn{background:#10B981 !important;color:#fff !important}
body .elementor .bc-btn:hover{background:#059669 !important}

/* HERO: centre everything together */
.sq-hero .elementor-widget-heading .elementor-heading-title,
.sq-hero .elementor-widget-text-editor{text-align:center !important}
.sq-hero .elementor-widget-wrap{justify-content:center}
.sq-hero .elementor-widget-button{text-align:center}

/* SECTION BANDS: centre heading + subtitle as a unit */
.elementor-section:not(.sq-hero) > .elementor-container
 > .elementor-column > .elementor-widget-wrap
 > .elementor-widget-heading:first-child .elementor-heading-title{text-align:center}

/* SERVICE CARDS: make them look like cards */
.sq-cards .elementor-widget-button{margin-top:auto;padding-top:20px}
.sq-cards .elementor-widget-heading .elementor-heading-title{
  font-size:20px !important;margin-bottom:10px}
.sq-cards .elementor-column{padding-left:11px;padding-right:11px}

/* stat strip under hero */
.sq-stats .elementor-widget-heading .elementor-heading-title{
  color:#2563EB !important;font-size:30px !important}

/* ============ PRICING / DETAIL PAGES ============ */

/* pricing tier cards */
.elementor-widget-icon-list .elementor-icon-list-item{margin-bottom:11px}
.elementor-widget-icon-list .elementor-icon-list-text{
  font-size:15px;line-height:1.55;color:#475569}

/* pricing card columns get real card treatment */
.sq-tiers .elementor-widget-button{margin-top:auto;padding-top:22px}
.sq-tiers .elementor-column{padding-left:12px;padding-right:12px}

/* comparison table breathing room */
.cmp-label{padding:18px 22px}
.cmp-cell{padding:18px 22px}
.cmp-h{padding:17px 22px;font-size:14.5px;letter-spacing:.02em;text-transform:uppercase}

/* timeline: wider gutters, no cramped wrap */
.tl-wrap{gap:0 36px}
.tl-col{min-width:0}
.tl-title{font-size:17px;min-height:48px}

/* quote cards */
.qc-quote{font-size:15px;line-height:1.72}

/* legal pages: readable measure */
.elementor-widget-text-editor h2{font-size:26px;margin:32px 0 12px}
.elementor-widget-text-editor h3{font-size:19px;margin:26px 0 10px}

/* keep every section from touching the viewport edge */


/* icon-list text must not inherit the blue link colour */
body .elementor .elementor-widget-icon-list .elementor-icon-list-text,
body .elementor .elementor-widget-icon-list .elementor-icon-list-item > span{
  color:#334155 !important}
body .elementor .elementor-widget-icon-list a{color:#334155 !important}

/* neutral spec table: no pass/fail semantics */
.cmp-plain .cmp-them,.cmp-plain .cmp-us{color:#475569;background:transparent}
.cmp-plain .cmp-h-them,.cmp-plain .cmp-h-us{color:#64748B}
.cmp-plain .cmp-us{color:#0F172A;font-weight:500}

/* pricing tiers stretch to equal height */
.sq-tiers > .elementor-container{align-items:stretch}

/* hero price pill needs air before the next section */

/* prose blocks: comfortable measure, not full-bleed */
.sq-prose .elementor-widget-text-editor{max-width:860px;margin-left:auto;margin-right:auto}

/* section headings keep clear space above when they follow a hero */
.elementor-section + .elementor-section .elementor-widget-heading{margin-top:0}

/* CASE STUDY metric rows: restore the panel behind the numbers */
.sq-metrics{background:#F8FAFC !important;border:1px solid #E6EBF3;
  border-radius:16px;margin-top:-4px}
.sq-metrics .elementor-widget-heading .elementor-heading-title{
  color:#10B981 !important;font-size:32px !important}
.sq-metrics .elementor-column{padding:6px 14px}

/* heroes on interior pages don't need the homepage's deep padding */

/* ============================================================
   SPACING SYSTEM

   IMPORTANT: no !important on section padding.
   Elementor writes per-element rules (.elementor-element-xxxxxxx)
   which are MORE specific than the class selectors below, so
   anything you set in the editor wins. These are defaults only.

   Breakpoints: phone <768 · tablet 768-1023 · laptop 1024-1199 · desktop >=1200
   ============================================================ */
:root{
  --sp-section: 84px;
  --sp-band:    36px;
  --sp-card:    30px;
  --sp-gap:     24px;
  --sp-gutter:  24px;
}

/* Section rhythm.
   Vertical padding is baked per-section by the page builder (and stays
   editable in Elementor). CSS supplies ONLY the side gutters, so the two
   systems never stack and produce double gaps. */
.elementor .elementor-section.elementor-top-section{
  padding-left:var(--sp-gutter);
  padding-right:var(--sp-gutter);
}

/* ---------- cards ----------
   These keep !important because they style the widget WRAP, which
   Elementor's column padding control does not target. */
.sq-cards > .elementor-container > .elementor-column > .elementor-widget-wrap{
  padding:var(--sp-card) 28px !important;
}
.sq-cards .elementor-widget-heading{margin-bottom:4px}
.sq-cards .elementor-widget-button{padding-top:20px}
.sq-cards .elementor-column{padding-left:12px;padding-right:12px}

.sq-tiers > .elementor-container > .elementor-column > .elementor-widget-wrap{
  padding:34px 28px !important;
}
.sq-tiers .elementor-widget-button{padding-top:22px}
.sq-tiers .elementor-column{padding-left:12px;padding-right:12px}

/* an inner section is never a card (e.g. the hero's button row) */
.elementor .elementor-inner-section .elementor-widget-wrap{
  background:transparent !important;border:0 !important;
  box-shadow:none !important;padding:0 !important;
}

/* ---------- component grids ---------- */
.fg-wrap,.qc-wrap,.cs-wrap{gap:var(--sp-gap)}
.ss-wrap{gap:18px}
.fg-cell{padding:28px 26px}
.qc-card{padding:28px 26px}
.cs-col{padding:28px 26px}
.ss-cell{padding:26px 16px}

.ms-wrap{gap:52px}
.ms-list{margin-top:22px}
.ms-list li{margin-bottom:11px}

.tl-wrap{gap:0 30px}
.tl-icon{margin-bottom:20px}
.tl-track{margin-bottom:18px}
.tl-desc{margin-bottom:16px}

.lr-text{margin-bottom:20px}
.lr-chips{gap:12px}
.mb-row{margin-bottom:20px}
.mb-note{margin-top:24px}
.cmp-label,.cmp-cell{padding:17px 20px}
.fq-item{margin-bottom:10px}
.fq-item summary{padding:19px 22px}
.fq-body{padding:0 22px 19px}
.bc-inner{padding:52px 40px}
.elementor-widget-text-editor p{margin:0 0 15px}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ---- laptop ---- */
@media (max-width:1199px){
  :root{
    --sp-section:72px; --sp-band:32px;
    --sp-card:28px; --sp-gap:22px; --sp-gutter:28px;
  }
  .ms-wrap{gap:40px}
  .tl-wrap{gap:0 22px}
  .tl-title{font-size:16px;min-height:52px}
  .tl-desc{font-size:14px}
}

/* ---- tablet ---- */
@media (max-width:1023px){
  :root{
    --sp-section:60px; --sp-band:28px;
    --sp-card:26px; --sp-gap:20px; --sp-gutter:28px;
  }

  .tl-wrap{grid-template-columns:1fr 1fr;gap:34px 26px}
  .tl-track{display:none}
  .tl-title{min-height:0;margin-bottom:12px}

  .fg-wrap{grid-template-columns:1fr 1fr}
  .qc-wrap{grid-template-columns:1fr}
  .cs-wrap{grid-template-columns:1fr}
  .ss-wrap{grid-template-columns:1fr 1fr}

  .ms-wrap{grid-template-columns:1fr;gap:26px}
  .ms-flip .ms-media{order:0}

  .sq-cards > .elementor-container,
  .sq-tiers > .elementor-container{flex-wrap:wrap}
  .sq-cards .elementor-column,
  .sq-tiers .elementor-column{
    width:100% !important;flex:0 0 100% !important;margin-bottom:18px;
  }

  .bc-inner{padding:44px 30px}
  .bc-inner h2{font-size:28px}
}

/* ---- phone ---- */
@media (max-width:767px){
  :root{
    --sp-section:48px; --sp-band:24px;
    --sp-card:22px; --sp-gap:16px; --sp-gutter:20px;
  }

  .tl-wrap{grid-template-columns:1fr;gap:28px}
  .fg-wrap{grid-template-columns:1fr}
  .ss-wrap{grid-template-columns:1fr 1fr;gap:12px}
  .ss-cell{padding:20px 12px}
  .ss-val{font-size:30px}

  .fg-cell,.qc-card,.cs-col{padding:22px 20px}
  .ms-wrap{gap:20px}
  .bc-inner{padding:36px 22px}
  .bc-inner h2{font-size:24px}
  .bc-inner p{font-size:15.5px}

  .cmp-label{padding:14px 16px 4px}
  .cmp-cell{padding:5px 16px}
  .fq-item summary{padding:16px 18px;font-size:15.5px}
  .fq-body{padding:0 18px 16px}
  .hm-wrap img{border-radius:12px}
}

/* ============================================================
   DECORATION / POLISH
   ============================================================ */

/* --- eyebrow label above section headings --- */
.sq-eyebrow{
  display:block;text-align:center;
  font:600 12.5px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:#2563EB;margin:0 0 12px;
}

/* --- pill badge --- */
.sq-pill{
  display:inline-block;padding:7px 15px;border-radius:999px;
  font:600 12.5px Inter,sans-serif;letter-spacing:.02em;
  background:#EFF6FF;color:#1E40AF;border:1px solid #DBEAFE;
}
.sq-pill--green{background:#ECFDF5;color:#047857;border-color:#D1FAE5}
.sq-pill--amber{background:#FFFBEB;color:#B45309;border-color:#FDE68A}

/* --- soft section tint with a hairline top edge --- */
.sq-tint{background:#F8FAFC;border-top:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7}

/* --- numbered step chip (process / how-it-works) --- */
.sq-step{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:9px;
  background:#2563EB;color:#fff;font:700 13.5px Inter,sans-serif;
  box-shadow:0 8px 18px -10px rgba(37,99,235,.9);
}

/* --- icons get a soft tile behind them --- */
.fg-icon{box-shadow:inset 0 0 0 1px #E0EAFF}

/* --- cards lift a touch more crisply --- */
.fg-cell,.qc-card,.cs-col,.ss-cell{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.fg-cell:hover,.qc-card:hover{border-color:#DBEAFE}

/* --- section divider flourish under band headings --- */
.sq-band .elementor-widget-heading .elementor-heading-title::after{
  content:"";display:block;width:52px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#2563EB,#10B981);
  margin:18px auto 0;
}
/* the hero H1 and card H3s don't get the rule */
.sq-hero .elementor-heading-title::after,
.sq-cards .elementor-heading-title::after,
.sq-tiers .elementor-heading-title::after{display:none}

/* --- trust bar / chips --- */
.lr-chip{transition:border-color .16s ease,color .16s ease}
.lr-chip:hover{border-color:#BFD4FF;color:#1E40AF}

/* --- blockquote-style note panel --- */
.sq-note{
  background:#F8FAFC;border-left:4px solid #2563EB;border-radius:10px;
  padding:18px 22px;font:400 15px/1.7 Inter,sans-serif;color:#475569;
}

/* --- footer polish --- */
.sq-footer{border-top:3px solid #2563EB}

/* --- blog post cards --- */
.sq-post{
  background:#fff;border:1px solid #E6EBF3;border-radius:16px;
  padding:26px 24px;height:100%;display:flex;flex-direction:column;
  box-shadow:0 14px 34px -26px rgba(15,23,42,.30);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.sq-post:hover{transform:translateY(-3px);border-color:#DBEAFE;
  box-shadow:0 24px 48px -28px rgba(15,23,42,.38)}
.sq-post__meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sq-post__time{font:400 13px Inter,sans-serif;color:#94A3B8}
.sq-post__title{font:700 18.5px/1.34 Poppins,sans-serif;color:#0F172A;margin:0 0 10px}
.sq-post__body{font:400 15px/1.68 Inter,sans-serif;color:#64748B;margin:0 0 18px}
.sq-post__more{margin-top:auto;font:600 14.5px Inter,sans-serif;color:#2563EB}
.sq-post:hover .sq-post__more{color:#1E40AF}

/* --- legal pages: readable measure and rhythm --- */
.sq-legal{max-width:820px;margin:0 auto;font:400 16px/1.78 Inter,sans-serif;color:#475569}
.sq-legal h2{font:700 27px/1.25 Poppins,sans-serif;color:#0F172A;margin:0 0 8px}
.sq-legal h3{font:650 18.5px/1.35 Poppins,sans-serif;color:#0F172A;margin:34px 0 10px;
  padding-top:22px;border-top:1px solid #EEF2F7}
.sq-legal h3:first-of-type{border-top:0;padding-top:0;margin-top:26px}
.sq-legal p{margin:0 0 15px}
.sq-legal em{color:#94A3B8;font-style:normal;font-size:14.5px}
.sq-legal strong{color:#334155}

@media (max-width:1023px){
  .sq-post{padding:24px 22px}
}
@media (max-width:767px){
  .sq-post{padding:22px 20px}
  .sq-legal{font-size:15.5px}
  .sq-legal h2{font-size:24px}
  .sq-legal h3{font-size:17.5px;margin-top:28px}
}

/* ============================================================
   BLOG ARCHIVE (Astra markup — this page is WP's posts archive,
   so Elementor content is bypassed and we style the real thing)
   ============================================================ */
.blog .site-content,.archive .site-content,.single-post .site-content{
  background:#fff;
}
.blog .ast-container,.archive .ast-container{padding-top:56px;padding-bottom:72px}

/* archive grid */
.blog .site-main .ast-row,.archive .site-main .ast-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;
}
.blog .ast-article-post,.archive .ast-article-post{
  width:100% !important;max-width:100% !important;padding:0 !important;margin:0 !important;
}
.blog .ast-article-inner,.archive .ast-article-inner{
  background:#fff;border:1px solid #E6EBF3;border-radius:16px;
  padding:26px 24px;height:100%;display:flex;flex-direction:column;
  box-shadow:0 14px 34px -26px rgba(15,23,42,.30);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.blog .ast-article-inner:hover,.archive .ast-article-inner:hover{
  transform:translateY(-3px);border-color:#DBEAFE;
  box-shadow:0 24px 48px -28px rgba(15,23,42,.38);
}
.blog .entry-title,.archive .entry-title{
  font:700 18.5px/1.34 Poppins,sans-serif;margin:0 0 10px;
}
.blog .entry-title a,.archive .entry-title a{color:#0F172A;text-decoration:none}
.blog .entry-title a:hover,.archive .entry-title a:hover{color:#2563EB}
.blog .entry-content,.archive .entry-content{
  font:400 15px/1.68 Inter,sans-serif;color:#64748B;margin:0;
}
.blog .entry-content p,.archive .entry-content p{margin:0 0 12px}

/* category chip from Astra's meta */
.blog .ast-blog-meta-container,.archive .ast-blog-meta-container{
  margin:0 0 12px;font:400 13px Inter,sans-serif;color:#94A3B8;
}
.blog .ast-blog-meta-container a,.archive .ast-blog-meta-container a{
  display:inline-block;padding:5px 12px;border-radius:999px;
  background:#EFF6FF;color:#1E40AF;border:1px solid #DBEAFE;
  font:600 12px Inter,sans-serif;text-decoration:none;
}
.blog .ast-blog-meta-container a:hover,.archive .ast-blog-meta-container a:hover{
  border-color:#BFD4FF;
}
.blog .read-more,.archive .read-more{margin-top:auto;padding-top:14px}
.blog .read-more a,.archive .read-more a{
  font:600 14.5px Inter,sans-serif;color:#2563EB;text-decoration:none;
}

/* single post: readable measure */
.single-post .entry-content{
  max-width:780px;margin:0 auto;font:400 16.5px/1.8 Inter,sans-serif;color:#475569;
}
.single-post .entry-content h2{
  font:700 26px/1.28 Poppins,sans-serif;color:#0F172A;margin:38px 0 12px;
}
.single-post .entry-content p{margin:0 0 17px}
.single-post .entry-title{
  font:700 clamp(30px,4vw,44px)/1.14 Poppins,sans-serif;color:#0F172A;
  letter-spacing:-.03em;max-width:820px;margin:0 auto 18px;text-align:center;
}
.single-post .ast-single-post-order{max-width:820px;margin:0 auto}

@media (max-width:1023px){
  .blog .site-main .ast-row,.archive .site-main .ast-row{grid-template-columns:1fr 1fr;gap:20px}
  .blog .ast-container,.archive .ast-container{padding-top:44px;padding-bottom:56px}
}
@media (max-width:767px){
  .blog .site-main .ast-row,.archive .site-main .ast-row{grid-template-columns:1fr;gap:16px}
  .blog .ast-article-inner,.archive .ast-article-inner{padding:22px 20px}
  .blog .ast-container,.archive .ast-container{padding-top:34px;padding-bottom:44px}
  .single-post .entry-content{font-size:16px}
}

/* --- blog archive header (replaces the bypassed Elementor hero) --- */
.sq-archive-hero{
  background:linear-gradient(180deg,#F3F7FF 0%,#FFFFFF 100%);
  text-align:center;padding:76px 24px 56px;margin-bottom:8px;
}
.sq-archive-hero h1{
  font:700 clamp(32px,4.4vw,56px)/1.1 Poppins,sans-serif;color:#0F172A;
  letter-spacing:-.035em;margin:0 0 16px;
}
.sq-archive-hero p{
  font:400 19px/1.6 Inter,sans-serif;color:#475569;margin:0 auto;max-width:560px;
}
.sq-archive-hero .sq-archive-chips{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;
}
@media (max-width:1023px){.sq-archive-hero{padding:56px 28px 44px}}
@media (max-width:767px){
  .sq-archive-hero{padding:44px 20px 34px}
  .sq-archive-hero p{font-size:16.5px}
}

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.svc-card{
  display:grid;grid-template-columns:1.15fr .85fr;gap:36px;
  background:#fff;border:1px solid #E6EBF3;border-radius:20px;
  padding:34px 34px;align-items:start;
  box-shadow:0 18px 44px -30px rgba(15,23,42,.32);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.svc-card:hover{transform:translateY(-2px);border-color:#DBEAFE;
  box-shadow:0 28px 60px -34px rgba(15,23,42,.42)}
.svc-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}
.svc-icon{
  width:52px;height:52px;border-radius:14px;flex:none;
  background:#EFF6FF;box-shadow:inset 0 0 0 1px #E0EAFF;
  display:flex;align-items:center;justify-content:center;
}
.svc-icon svg{width:26px;height:26px;stroke:#2563EB;fill:none}
.svc-titles{min-width:0}
.svc-name{
  font:700 23px/1.25 Poppins,sans-serif;color:#0F172A;margin:0 0 5px;
  letter-spacing:-.02em;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.svc-tag{
  font:600 11.5px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;background:#ECFDF5;color:#047857;
  border:1px solid #D1FAE5;
}
.svc-price{font:600 15.5px Inter,sans-serif;color:#2563EB;margin:0}
.svc-desc{font:400 16px/1.7 Inter,sans-serif;color:#475569;margin:0 0 20px}
.svc-btn{
  display:inline-block;font:600 15px Inter,sans-serif;color:#2563EB;
  text-decoration:none;padding:11px 20px;border-radius:9px;
  border:1.5px solid #DBEAFE;background:#F8FBFF;transition:all .16s ease;
}
.svc-btn:hover{background:#2563EB;color:#fff;border-color:#2563EB}
.svc-feats{
  list-style:none;margin:0;padding:24px 26px;
  background:#F8FAFC;border:1px solid #EEF2F7;border-radius:14px;
}
.svc-feats li{
  display:flex;gap:10px;align-items:flex-start;margin-bottom:11px;
  font:400 14.8px/1.55 Inter,sans-serif;color:#334155;
}
.svc-feats li:last-child{margin-bottom:0}
.svc-feats li svg{flex:none;margin-top:3px}

/* ============================================================
   CASE STUDY CARDS
   ============================================================ */
.cc-card{
  background:#fff;border:1px solid #E6EBF3;border-radius:20px;overflow:hidden;
  box-shadow:0 18px 44px -30px rgba(15,23,42,.32);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cc-card:hover{transform:translateY(-2px);border-color:#DBEAFE;
  box-shadow:0 28px 60px -34px rgba(15,23,42,.42)}
.cc-media img{width:100%;object-fit:cover;display:block}
.cc-body{padding:30px 34px 26px}
.cc-sector{
  display:inline-block;font:600 11.5px Inter,sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:#1E40AF;background:#EFF6FF;
  border:1px solid #DBEAFE;padding:5px 12px;border-radius:999px;margin-bottom:14px;
}
.cc-title{
  font:700 clamp(21px,2.1vw,27px)/1.26 Poppins,sans-serif;color:#0F172A;
  letter-spacing:-.025em;margin:0 0 18px;
}
.cc-block{margin-bottom:14px}
.cc-block:last-child{margin-bottom:0}
.cc-k{
  display:block;font:600 12px Inter,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:#94A3B8;margin-bottom:5px;
}
.cc-block p{font:400 15.5px/1.7 Inter,sans-serif;color:#475569;margin:0}
.cc-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid #EEF2F7;background:#F8FAFC;
}
.cc-metric{padding:24px 20px;text-align:center;border-right:1px solid #EEF2F7}
.cc-metric:last-child{border-right:0}
.cc-val{display:block;font:700 30px/1 Poppins,sans-serif;color:#10B981;margin-bottom:7px}
.cc-label{display:block;font:600 14px Inter,sans-serif;color:#0F172A;margin-bottom:3px}
.cc-note{display:block;font:400 12.5px Inter,sans-serif;color:#94A3B8}

@media (max-width:1023px){
  .svc-card{grid-template-columns:1fr;gap:24px;padding:28px 26px}
  .svc-feats{padding:20px 22px}
  .cc-body{padding:26px 26px 22px}
  .cc-media img{aspect-ratio:16/6}
}
@media (max-width:767px){
  .svc-card{padding:24px 20px;border-radius:16px}
  .svc-head{gap:13px;margin-bottom:14px}
  .svc-icon{width:44px;height:44px;border-radius:12px}
  .svc-icon svg{width:22px;height:22px}
  .svc-name{font-size:20px}
  .svc-desc{font-size:15.3px}
  .cc-card{border-radius:16px}
  .cc-body{padding:22px 20px 20px}
  .cc-media img{aspect-ratio:16/9}
  .cc-metrics{grid-template-columns:1fr}
  .cc-metric{border-right:0;border-bottom:1px solid #EEF2F7;padding:18px 16px}
  .cc-metric:last-child{border-bottom:0}
  .cc-val{font-size:26px}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ct-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ct-tile{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:#fff;border:1px solid #E6EBF3;border-radius:16px;padding:28px 22px;
  text-decoration:none;box-shadow:0 14px 34px -26px rgba(15,23,42,.30);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
a.ct-tile:hover{transform:translateY(-3px);border-color:#DBEAFE;
  box-shadow:0 24px 48px -28px rgba(15,23,42,.38)}
.ct-ico{
  width:46px;height:46px;border-radius:13px;background:#EFF6FF;
  box-shadow:inset 0 0 0 1px #E0EAFF;display:flex;align-items:center;
  justify-content:center;margin-bottom:15px;
}
.ct-ico svg{width:23px;height:23px;stroke:#2563EB;fill:none}
.ct-k{font:600 12.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:#94A3B8;margin-bottom:7px}
.ct-v{font:600 16.5px Inter,sans-serif;color:#0F172A}
a.ct-tile .ct-v{color:#2563EB}

.ct-formwrap{text-align:center;max-width:620px;margin:0 auto 28px}
.ct-formtitle{font:700 clamp(24px,2.6vw,32px)/1.2 Poppins,sans-serif;
  color:#0F172A;letter-spacing:-.025em;margin:0 0 12px}
.ct-formsub{font:400 16.5px/1.65 Inter,sans-serif;color:#475569;margin:0}
.ct-panel .wpcf7{max-width:660px;margin:0 auto;background:#fff;
  border:1px solid #E6EBF3;border-radius:18px;padding:30px 30px 26px;
  box-shadow:0 18px 44px -30px rgba(15,23,42,.32)}

/* ---------- shared prose panel ---------- */
.sq-prose{
  max-width:820px;margin:0 auto;
  font:400 16.8px/1.78 Inter,sans-serif;color:#475569;
}
.sq-prose p{margin:0 0 17px}
.sq-prose p:last-child{margin-bottom:0}
.sq-prose strong{color:#334155}

@media (max-width:1023px){
  .ct-tiles{grid-template-columns:1fr;gap:14px}
  .ct-tile{flex-direction:row;text-align:left;gap:16px;padding:20px 22px;align-items:center}
  .ct-ico{margin-bottom:0;flex:none}
  .ct-k{margin-bottom:3px}
}
@media (max-width:767px){
  .ct-panel .wpcf7{padding:24px 20px 22px;border-radius:14px}
  .sq-prose{font-size:16px}
}

/* ============================================================
   IMAGE SIZING — keep photos from dominating the page
   ============================================================ */
.hm-wrap img{aspect-ratio:24/9;border-radius:18px}
.sq-img img{aspect-ratio:24/9 !important}
.ms-media img{aspect-ratio:5/4;border-radius:16px}
.cc-media img{aspect-ratio:24/7}
@media (max-width:1023px){
  .hm-wrap img,.sq-img img{aspect-ratio:16/8}
  .ms-media img{aspect-ratio:16/10}
  .cc-media img{aspect-ratio:16/6}
}
@media (max-width:767px){
  .hm-wrap img,.sq-img img{aspect-ratio:16/10;border-radius:12px}
  .ms-media img{aspect-ratio:16/11}
  .cc-media img{aspect-ratio:16/9}
}

/* ============================================================
   SECTION SEPARATION
   ============================================================ */

/* alternating tint so adjacent sections read as distinct */
.elementor .sq-tinted{background:#F8FAFC}
.elementor .sq-tinted + .elementor-section{background:#fff}

/* hairline rule between sections that share a background */
.elementor .sq-rule{border-top:1px solid #EDF1F7}

/* a soft gradient edge — richer than a flat line */
.sq-fade{
  position:relative;
}
.sq-fade::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(1140px,100%);height:1px;
  background:linear-gradient(90deg,transparent,#E2E8F0 18%,#E2E8F0 82%,transparent);
}

/* centred ornament between major blocks */
.sq-sep{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 0}
.sq-sep span{width:5px;height:5px;border-radius:50%;background:#CBD5E1}
.sq-sep span:nth-child(2){width:7px;height:7px;background:#2563EB}

/* ============================================================
   EXTRA POLISH
   ============================================================ */

/* hero gets a subtle patterned wash instead of flat colour */
.elementor .sq-hero{
  background:
    radial-gradient(760px 320px at 50% -8%, rgba(37,99,235,.10), transparent 70%),
    linear-gradient(180deg,#F4F8FF 0%,#FFFFFF 92%);
  position:relative;
}
.elementor .sq-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,#DCE6F7 20%,#DCE6F7 80%,transparent);
}

/* stat strip: vertical rules between figures */
.sq-stats > .elementor-container > .elementor-column{
  border-right:1px solid #EDF1F7;
}
.sq-stats > .elementor-container > .elementor-column:last-child{border-right:0}
.elementor .sq-stats{
  background:#fff;
  border-top:1px solid #EDF1F7;border-bottom:1px solid #EDF1F7;
}

/* section headings: tighter, with the accent rule underneath */
.sq-band .elementor-widget-heading .elementor-heading-title::after{
  margin-top:16px;height:3px;width:46px;
}

/* cards: crisper edges and a consistent hover */
.fg-cell,.qc-card,.cs-col,.ss-cell,.svc-card,.cc-card,.sq-post{
  border-color:#E8EDF5;
}

/* quote cards get an opening mark */
.qc-card{position:relative}
.qc-card::before{
  content:"\201C";position:absolute;top:14px;right:22px;
  font:700 54px/1 Georgia,serif;color:#EFF6FF;pointer-events:none;
}

/* feature icons: gradient tile */
.fg-icon{
  background:linear-gradient(135deg,#EFF6FF,#E5EEFF);
}

/* timeline: numbered markers stand out more */
.tl-dot{box-shadow:0 0 0 1.5px #2563EB, 0 6px 14px -6px rgba(37,99,235,.8)}

/* comparison table: zebra rows for scanability */
.cmp-row:nth-child(even){background:#FCFDFF}
.cmp-wrap{box-shadow:0 18px 44px -32px rgba(15,23,42,.3)}

/* pricing: highlight ring on the featured tier */
.sq-tiers .elementor-column:nth-child(2) > .elementor-widget-wrap{
  position:relative;
}
.sq-tiers .elementor-column:nth-child(2) > .elementor-widget-wrap::before{
  content:"";position:absolute;inset:-1px;border-radius:19px;pointer-events:none;
  background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(16,185,129,.28));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px;
}

/* CTA panel: subtle inner glow */
.bc-wrap{box-shadow:0 30px 70px -40px rgba(30,64,175,.7)}
.bc-inner{position:relative}
.bc-inner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 220px at 50% 0%, rgba(255,255,255,.14), transparent 70%);
}

/* buttons: slightly richer depth */
.elementor .elementor-button{box-shadow:0 10px 22px -14px rgba(37,99,235,.85)}

/* footer: gradient top edge instead of a flat bar */
.sq-footer{
  border-top:0;
  background:linear-gradient(180deg,#111C33 0%,#0F172A 40%);
}
.sq-footer::before{
  content:"";display:block;height:3px;margin-bottom:56px;
  background:linear-gradient(90deg,#2563EB,#10B981);
}

/* Where a tinted block ends and a white one begins (or vice versa),
   the tone change separates them. Add a hairline only where two
   same-toned blocks meet, so no boundary ever disappears. */
.elementor .elementor-section.elementor-top-section.sq-band{
  position:relative;
}
.elementor .elementor-section.elementor-top-section.sq-band::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(1100px,88%);height:1px;
  background:linear-gradient(90deg,transparent,#E6EBF3 22%,#E6EBF3 78%,transparent);
  opacity:0;
}
/* show it when the band follows a section of the same background */
.elementor .elementor-section[style*="background-color:#FFFFFF"]
  + .elementor-section.sq-band[style*="background-color:#FFFFFF"]::before,
.elementor .elementor-section[style*="background-color:#F8FAFC"]
  + .elementor-section.sq-band[style*="background-color:#F8FAFC"]::before{
  opacity:1;
}
/* the first band after the stat strip always gets one */
.elementor .sq-stats + .sq-band::before{opacity:1}

/* ============================================================
   TRUST STRIP — "Trusted by X+ clients"
   Crowdo-style logo bar
   ============================================================ */
.trust-strip{
  background:#F8FAFC;
  padding:42px 24px;
  text-align:center;
  border-top:1px solid #EDF1F7;
  border-bottom:1px solid #EDF1F7;
}
.trust-strip__title{
  font:500 13.5px Inter,sans-serif;
  color:#94A3B8;
  letter-spacing:.04em;
  margin:0 0 28px;
}
.trust-strip__title strong{
  color:#334155;
  font-weight:600;
}
.trust-strip__logos{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:32px 44px;
  max-width:1080px;
  margin:0 auto;
}
.trust-strip__logo{
  height:26px;
  opacity:.55;
  filter:grayscale(100%);
  transition:all .25s ease;
}
.trust-strip__logo:hover{
  opacity:1;
  filter:grayscale(0%);
}
/* Text placeholders for logos */
.trust-strip__logo-text{
  font:700 15px Inter,sans-serif;
  color:#64748B;
  opacity:.5;
  transition:all .25s ease;
  white-space:nowrap;
}
.trust-strip__logo-text:hover{
  opacity:1;
  color:#2563EB;
}
@media(max-width:767px){
  .trust-strip{padding:34px 20px}
  .trust-strip__logos{gap:20px 28px}
  .trust-strip__logo-text{font-size:13px}
  .trust-strip__logo{height:22px}
}

/* ============================================================
   RESULTS SECTION — Case study metric cards
   Crowdo-style "The numbers" block
   ============================================================ */
.results-section{
  background:#fff;
  padding:72px 24px;
}
.results-section__container{
  max-width:1180px;
  margin:0 auto;
}
.results-section__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:44px;
  flex-wrap:wrap;
  gap:20px;
}
.results-section__title{
  font:700 clamp(30px,4.2vw,44px)/1.12 Poppins,sans-serif;
  color:#0F172A;
  letter-spacing:-.03em;
  max-width:480px;
  margin:0;
}
.results-section__subtitle{
  display:flex;
  align-items:center;
  gap:12px;
  color:#64748B;
  font:500 14px Inter,sans-serif;
}
.results-section__icon{
  width:40px;height:40px;
  background:linear-gradient(135deg,#2563EB,#818CF8);
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px -10px rgba(37,99,235,.6);
}
.results-section__icon svg{
  width:20px;height:20px;fill:#fff;
}

/* Card Grid */
.results-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:18px;
}

/* Individual Card */
.result-card{
  background:#fff;
  border:1px solid #E8EDF5;
  border-radius:18px;
  padding:26px;
  position:relative;
  transition:all .22s ease;
  box-shadow:0 12px 32px -20px rgba(15,23,42,.22);
}
.result-card:hover{
  box-shadow:0 20px 44px -24px rgba(15,23,42,.32);
  transform:translateY(-2px);
  border-color:#DBEAFE;
}
.result-card__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:18px;
}
.result-card__client{
  display:flex;
  align-items:center;
  gap:10px;
}
.result-card__logo{
  width:20px;height:20px;
  background:#E2E8F0;
  border-radius:5px;
}
.result-card__name{
  font:600 15px Inter,sans-serif;
  color:#0F172A;
}
.result-card__badge{
  font:600 10.5px Inter,sans-serif;
  color:#64748B;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:4px 10px;
  background:#F8FAFC;
  border-radius:6px;
  border:1px solid #EDF1F7;
}
.result-card__tags{
  display:flex;
  gap:6px;
  margin-bottom:20px;
  flex-wrap:wrap;
}
.result-card__tag{
  font:400 12px Inter,sans-serif;
  color:#94A3B8;
}
.result-card__tag::after{
  content:" · ";
  opacity:.5;
}
.result-card__tag:last-child::after{content:""}

/* Big Metric */
.result-card__metric{
  font:700 clamp(38px,6vw,52px)/1 Poppins,sans-serif;
  color:#2563EB;
  letter-spacing:-.03em;
  margin-bottom:6px;
  font-variant-numeric:tabular-nums;
}
.result-card__metric-label{
  font:500 14px Inter,sans-serif;
  color:#64748B;
  margin-bottom:14px;
}

/* Before/After */
.result-card__change{
  display:flex;
  align-items:center;
  gap:7px;
  font:400 13px Inter,sans-serif;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.result-card__change-value{
  font-weight:600;
  color:#0F172A;
  font-variant-numeric:tabular-nums;
}
.result-card__change-arrow{
  color:#10B981;
  font-weight:600;
}
.result-card__change-detail{
  color:#94A3B8;
}

/* Mini Chart */
.result-card__chart{
  height:44px;
  margin-top:14px;
  position:relative;
}
.result-card__chart svg{
  width:100%;height:100%;
}
.result-card__chart-line{
  fill:none;
  stroke:#2563EB;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.result-card__chart-area{
  fill:url(#chartGradient);
}

/* Timeline badge */
.result-card__time{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font:500 12px Inter,sans-serif;
  color:#64748B;
  background:#F8FAFC;
  padding:5px 11px;
  border-radius:20px;
  border:1px solid #EDF1F7;
  margin-top:14px;
}

/* CTA Link */
.result-card__cta{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font:600 13px Inter,sans-serif;
  color:#2563EB;
  text-decoration:none;
  margin-top:14px;
  transition:gap .18s ease;
}
.result-card__cta:hover{gap:9px}
.result-card__cta svg{width:15px;height:15px}

/* Chart legend dots */
.result-card__legend{
  display:flex;
  gap:14px;
  margin-top:14px;
}
.result-card__legend-item{
  display:flex;
  align-items:center;
  gap:5px;
  font:400 11px Inter,sans-serif;
  color:#94A3B8;
}
.result-card__legend-dot{
  width:8px;height:8px;
  border-radius:2px;
}

@media(max-width:1023px){
  .results-section{padding:56px 24px}
  .results-section__header{flex-direction:column}
  .results-grid{gap:16px}
}
@media(max-width:767px){
  .results-section{padding:44px 20px}
  .results-grid{grid-template-columns:1fr}
  .result-card{padding:22px 20px}
  .result-card__metric{font-size:38px}
}

/* ============================================================
   SPACING COMPACTION
   Reduce excessive whitespace between sections
   ============================================================ */
/* tighter section padding for a more compact feel */
.elementor .elementor-section.sq-compact{
  padding-top:56px !important;
  padding-bottom:56px !important;
}
.elementor .elementor-section.sq-tight{
  padding-top:40px !important;
  padding-bottom:40px !important;
}
/* hero doesn't need as much bottom space */
.elementor .sq-hero{
  padding-bottom:48px !important;
}
/* tighter gap between heading and subheading */
.sq-band .elementor-widget-heading + .elementor-widget-text-editor{
  margin-top:-8px !important;
}
/* reduce card section internal gaps */
.sq-cards > .elementor-container,
.sq-tiers > .elementor-container{
  gap:20px;
}

/* ============================================================
   MODERN ENHANCEMENTS
   Extra polish for a contemporary feel
   ============================================================ */
/* glassmorphism effect for sticky header */
.ast-primary-header-bar.ast-sticky-active,
.main-header-bar.ast-sticky-active{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 24px -12px rgba(15,23,42,.12);
}

/* animated gradient border on focus */
.wpcf7-form-control:focus{
  outline:none;
  border-color:#2563EB;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

/* smooth scroll indicator for carousels */
.sq-scroll-indicator{
  display:flex;
  gap:6px;
  justify-content:center;
  margin-top:20px;
}
.sq-scroll-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:#E2E8F0;
  transition:all .2s ease;
}
.sq-scroll-dot.active{
  background:#2563EB;
  width:24px;
  border-radius:4px;
}

/* hover glow effect for primary buttons */
.elementor .elementor-button:hover{
  box-shadow:0 12px 28px -12px rgba(37,99,235,.65),
             0 0 0 3px rgba(37,99,235,.1);
}

/* subtle pulse animation for CTAs */
@keyframes sq-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}
  50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}
}
.sq-pulse{animation:sq-pulse 2.5s infinite}

/* gradient text for special headings */
.sq-gradient-text{
  background:linear-gradient(135deg,#2563EB 0%,#10B981 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ============================================================
   TRUST STRIP — Client Logos (Crowdo Style)
   ============================================================ */
.trust-strip {
  background: linear-gradient(180deg, #EEF2FF 0%, #F8FAFC 100%);
  padding: 44px 24px;
  text-align: center;
  border-bottom: 1px solid #E2E8F0;
}
.trust-strip__title {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
  letter-spacing: 0.01em;
  margin: 0 0 32px;
  font-style: italic;
}
.trust-strip__title strong {
  color: #1E293B;
  font-weight: 600;
  font-style: normal;
}
.trust-strip__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 44px;
  max-width: 1000px;
  margin: 0 auto;
}

/* Base logo style */
.trust-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.trust-logo:hover { opacity: 1; }

/* ON THE MAP */
.trust-logo.onthemap { color: #3B82F6; font-family: Poppins, sans-serif; font-size: 13px; }
.trust-logo.onthemap .icon {
  width: 24px; height: 24px;
  background: linear-gradient(135deg, #3B82F6, #60A5FA);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 14px;
}
.trust-logo.onthemap .sub { display: block; font-size: 8px; font-weight: 500; color: #F97316; letter-spacing: 0.05em; }

/* BLACKSMITH */
.trust-logo.blacksmith { color: #1E293B; font-family: 'Courier New', monospace; font-weight: 400; letter-spacing: 0.1em; font-size: 14px; }
.trust-logo.blacksmith .a { color: #FBBF24; }
.trust-logo.blacksmith .bracket { color: #94A3B8; }

/* Growth Partners Media */
.trust-logo.growth { color: #334155; font-weight: 600; font-size: 13px; }
.trust-logo.growth .icon {
  width: 20px; height: 20px; background: #10B981; border-radius: 4px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; padding: 3px;
}
.trust-logo.growth .icon span { background: #fff; border-radius: 1px; }

/* PAN DIGITAL */
.trust-logo.pan { color: #06B6D4; font-weight: 800; font-family: Poppins, sans-serif; font-size: 14px; }
.trust-logo.pan .icon {
  width: 26px; height: 26px; background: #06B6D4; border-radius: 50%;
  color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px;
}

/* SX MARKETING */
.trust-logo.sx { font-weight: 700; font-size: 12px; }
.trust-logo.sx .x { color: #7C3AED; font-size: 18px; font-weight: 900; }
.trust-logo.sx .text { color: #EC4899; }

/* Boyd Digital */
.trust-logo.boyd { color: #64748B; font-weight: 600; font-size: 13px; }
.trust-logo.boyd .icon {
  width: 22px; height: 22px; background: #64748B; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px;
}

/* SEOBuilder */
.trust-logo.seobuilder { color: #0EA5E9; font-weight: 700; font-size: 14px; }
.trust-logo.seobuilder .icon { display: flex; align-items: center; gap: 2px; }
.trust-logo.seobuilder .icon span { width: 7px; height: 7px; background: #0EA5E9; border-radius: 50%; }
.trust-logo.seobuilder .icon span:last-child { width: 5px; height: 5px; opacity: 0.6; }

/* catenamedia */
.trust-logo.catena { color: #10B981; font-weight: 500; font-style: italic; font-size: 14px; }

/* SERPA MEDIA GROUP */
.trust-logo.serpa { line-height: 1; }
.trust-logo.serpa .main { color: #F59E0B; font-weight: 900; font-size: 16px; letter-spacing: -0.02em; }
.trust-logo.serpa .sub { color: #1E293B; font-size: 8px; font-weight: 600; letter-spacing: 0.06em; display: block; }

/* RANK RISE */
.trust-logo.rankrise { line-height: 1.1; }
.trust-logo.rankrise .icon { display: flex; flex-direction: column; gap: 2px; margin-right: 4px; }
.trust-logo.rankrise .icon span { height: 3px; background: #0EA5E9; border-radius: 1px; }
.trust-logo.rankrise .icon span:nth-child(1) { width: 6px; }
.trust-logo.rankrise .icon span:nth-child(2) { width: 9px; }
.trust-logo.rankrise .icon span:nth-child(3) { width: 12px; }
.trust-logo.rankrise .rank { color: #0EA5E9; font-weight: 800; font-size: 13px; }
.trust-logo.rankrise .rise { color: #EF4444; font-weight: 800; font-size: 13px; }

@media (max-width: 768px) {
  .trust-strip { padding: 36px 20px; }
  .trust-strip__logos { gap: 20px 28px; }
  .trust-logo { font-size: 12px; }
}

/* ============================================================
   ABOUT PAGE COMPONENTS
   ============================================================ */

/* About Hero */
.about-hero {
  background: linear-gradient(180deg, #EEF2FF 0%, #fff 100%);
  padding: 80px 24px 60px;
  text-align: center;
}
.about-hero__eyebrow {
  font: 600 12px Inter, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #2563EB;
  margin: 0 0 16px;
}
.about-hero__title {
  font: 700 clamp(32px, 5vw, 48px)/1.1 Poppins, sans-serif;
  color: #0F172A;
  letter-spacing: -0.03em;
  margin: 0 0 20px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.about-hero__text {
  font: 400 17px/1.7 Inter, sans-serif;
  color: #475569;
  max-width: 640px;
  margin: 0 auto;
}

/* About Stats */
.about-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: -30px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}
.about-stat {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px 20px;
  text-align: center;
  box-shadow: 0 12px 32px -16px rgba(15,23,42,0.15);
}
.about-stat__num {
  font: 700 36px/1 Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 6px;
}
.about-stat__label {
  font: 500 13px Inter, sans-serif;
  color: #94A3B8;
}

/* About Founder */
.about-founder {
  padding: 80px 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.about-founder__grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  align-items: start;
}
.about-founder__photo {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px -20px rgba(37,99,235,0.3);
}
.about-founder__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-founder__name {
  font: 700 28px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 4px;
}
.about-founder__role {
  font: 600 14px Inter, sans-serif;
  color: #2563EB;
  margin: 0 0 20px;
}
.about-founder__bio {
  font: 400 16px/1.8 Inter, sans-serif;
  color: #475569;
}
.about-founder__bio p { margin: 0 0 16px; }
.about-founder__stats {
  display: flex;
  gap: 32px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #E2E8F0;
}
.about-founder__stat-num {
  font: 700 24px Poppins, sans-serif;
  color: #0F172A;
}
.about-founder__stat-label {
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
}

/* About Team */
.about-team {
  background: #F8FAFC;
  padding: 80px 24px;
}
.about-team__header {
  text-align: center;
  margin-bottom: 48px;
}
.about-team__title {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.about-team__subtitle {
  font: 400 16px Inter, sans-serif;
  color: #475569;
}
.about-team__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.team-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  transition: all 0.2s ease;
}
.team-card:hover {
  box-shadow: 0 16px 40px -16px rgba(15,23,42,0.2);
  transform: translateY(-2px);
}
.team-card__photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin: 0 auto 16px;
  overflow: hidden;
}
.team-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-card__name {
  font: 600 17px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 4px;
}
.team-card__role {
  font: 500 13px Inter, sans-serif;
  color: #2563EB;
  margin: 0 0 12px;
}
.team-card__bio {
  font: 400 14px/1.6 Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* About Values */
.about-values {
  padding: 80px 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.about-values__title {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  text-align: center;
  margin: 0 0 48px;
}
.about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.value-card {
  background: #F8FAFC;
  border-radius: 16px;
  padding: 32px 28px;
}
.value-card__icon {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, #2563EB, #60A5FA);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 20px;
  box-shadow: 0 8px 20px -8px rgba(37,99,235,0.5);
}
.value-card__title {
  font: 600 18px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.value-card__text {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #475569;
  margin: 0;
}

/* About CTA */
.about-cta {
  background: linear-gradient(135deg, #1E40AF, #2563EB);
  padding: 64px 24px;
  text-align: center;
  border-radius: 24px;
  max-width: 1000px;
  margin: 0 auto 80px;
}
.about-cta__title {
  font: 700 28px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 12px;
}
.about-cta__text {
  font: 400 16px Inter, sans-serif;
  color: #DBEAFE;
  margin: 0 0 24px;
}
.about-cta__btn {
  display: inline-block;
  background: #10B981;
  color: #fff;
  font: 600 15px Inter, sans-serif;
  padding: 14px 32px;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s;
}
.about-cta__btn:hover {
  background: #059669;
  transform: translateY(-1px);
}

/* About Responsive */
@media (max-width: 1024px) {
  .about-team__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .about-stats { grid-template-columns: repeat(2, 1fr); }
  .about-founder__grid { grid-template-columns: 1fr; text-align: center; }
  .about-founder__photo { max-width: 240px; margin: 0 auto; }
  .about-founder__stats { justify-content: center; }
  .about-values__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .about-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .about-stat { padding: 20px 16px; }
  .about-stat__num { font-size: 28px; }
  .about-team__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ABOUT PAGE V2 — Enhanced Design
   ============================================================ */

/* Hero */
.about-hero-v2 {
  background: linear-gradient(180deg, #EEF2FF 0%, #fff 100%);
  padding: 100px 24px 80px;
  text-align: center;
  position: relative;
}
.about-hero-v2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  max-width: 600px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #E2E8F0, transparent);
}
.about-hero-v2__eyebrow {
  display: inline-block;
  font: 600 11px Inter, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #2563EB;
  background: #DBEAFE;
  padding: 8px 16px;
  border-radius: 20px;
  margin: 0 0 24px;
}
.about-hero-v2__title {
  font: 800 clamp(36px, 5.5vw, 56px)/1.08 Poppins, sans-serif;
  color: #0F172A;
  letter-spacing: -0.035em;
  margin: 0 0 24px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.about-hero-v2__text {
  font: 400 18px/1.75 Inter, sans-serif;
  color: #475569;
  max-width: 680px;
  margin: 0 auto;
}

/* Stats Bar */
.stats-bar {
  display: flex;
  justify-content: center;
  gap: 0;
  max-width: 800px;
  margin: -40px auto 0;
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 50px -20px rgba(15,23,42,0.15);
  border: 1px solid #E2E8F0;
  overflow: hidden;
}
.stats-bar__item {
  flex: 1;
  padding: 32px 24px;
  text-align: center;
  border-right: 1px solid #E2E8F0;
}
.stats-bar__item:last-child { border-right: 0; }
.stats-bar__num {
  font: 700 32px Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 4px;
}
.stats-bar__label {
  font: 500 12px Inter, sans-serif;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Story Section */
.about-story {
  padding: 100px 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.about-story__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.about-story__content h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 24px;
  letter-spacing: -0.02em;
}
.about-story__content p {
  font: 400 16px/1.8 Inter, sans-serif;
  color: #475569;
  margin: 0 0 20px;
}
.about-story__visual {
  background: linear-gradient(135deg, #EEF2FF, #DBEAFE);
  border-radius: 24px;
  padding: 48px;
}
.about-story__card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 12px 32px -12px rgba(15,23,42,0.2);
  margin-bottom: 16px;
}
.about-story__card:last-child { margin-bottom: 0; }
.about-story__card-icon {
  width: 40px;
  height: 40px;
  background: #2563EB;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 12px;
}
.about-story__card-title {
  font: 600 15px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 6px;
}
.about-story__card-text {
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* Method Section */
.about-method {
  background: #0F172A;
  padding: 80px 24px;
  color: #fff;
}
.about-method__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.about-method__header {
  text-align: center;
  margin-bottom: 56px;
}
.about-method__title {
  font: 700 32px Poppins, sans-serif;
  margin: 0 0 12px;
}
.about-method__subtitle {
  font: 400 16px Inter, sans-serif;
  color: rgba(255,255,255,0.75);
}
.about-method__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.about-method__card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 32px 28px;
}
.about-method__card-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #2563EB, #60A5FA);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 20px;
  box-shadow: 0 8px 24px -8px rgba(37,99,235,0.6);
}
.about-method__card-title {
  font: 600 17px Inter, sans-serif;
  color: #fff;
  margin: 0 0 10px;
}
.about-method__card-text {
  font: 400 14px/1.7 Inter, sans-serif;
  color: rgba(255,255,255,0.7);
  margin: 0;
}

/* Promises Section */
.about-promises {
  padding: 80px 24px;
  background: #F8FAFC;
}
.about-promises__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.about-promises__title {
  font: 700 28px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
}
.about-promises__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.about-promise {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
}
.about-promise__num {
  font: 700 40px Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 8px;
}
.about-promise__label {
  font: 500 14px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.about-promise__desc {
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* About V2 Responsive */
@media (max-width: 1024px) {
  .about-method__grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .about-story__grid { grid-template-columns: 1fr; }
  .stats-bar { flex-wrap: wrap; }
  .stats-bar__item { flex: 1 1 50%; border-bottom: 1px solid #E2E8F0; }
  .stats-bar__item:nth-child(3), .stats-bar__item:nth-child(4) { border-bottom: 0; }
  .stats-bar__item:nth-child(2) { border-right: 0; }
}
@media (max-width: 600px) {
  .about-promises__grid { grid-template-columns: 1fr; }
  .stats-bar__item { padding: 24px 16px; }
  .stats-bar__num { font-size: 26px; }
}

/* ========== CONTACT PAGE V2 ========== */

/* Contact Hero */
.contact-hero {
  padding: 80px 24px 60px;
  background: linear-gradient(135deg, #EFF6FF 0%, #F8FAFC 100%);
  text-align: center;
}
.contact-hero__title {
  font: 700 52px/1.1 Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.contact-hero__text {
  font: 400 18px/1.7 Inter, sans-serif;
  color: #64748B;
  max-width: 540px;
  margin: 0 auto;
}

/* Contact Cards Grid */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: -40px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}
.contact-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 32px 28px;
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(15,23,42,0.15);
}
.contact-card__icon {
  width: 56px;
  height: 56px;
  background: #EFF6FF;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.contact-card__icon svg {
  width: 26px;
  height: 26px;
  stroke: #2563EB;
  fill: none;
  stroke-width: 1.8;
}
.contact-card__label {
  font: 500 13px Inter, sans-serif;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 8px;
}
.contact-card__value {
  font: 600 16px Inter, sans-serif;
  color: #0F172A;
  margin: 0;
}
.contact-card__value a {
  color: #2563EB;
  text-decoration: none;
}
.contact-card__value a:hover {
  text-decoration: underline;
}
.contact-card__sub {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
  margin: 6px 0 0;
}

/* Company Info Box */
.company-box {
  max-width: 900px;
  margin: 48px auto 0;
  padding: 0 24px;
}
.company-box__inner {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.company-box__icon {
  width: 48px;
  height: 48px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.company-box__icon svg {
  width: 24px;
  height: 24px;
  stroke: #64748B;
  fill: none;
}
.company-box__content {
  flex: 1;
}
.company-box__name {
  font: 600 17px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 6px;
}
.company-box__address {
  font: 400 15px/1.6 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Messenger Section */
.messengers {
  padding: 48px 24px;
  text-align: center;
}
.messengers__title {
  font: 500 14px Inter, sans-serif;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 24px;
}
.messengers__grid {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.messenger-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 28px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  text-decoration: none;
  color: #334155;
  font: 500 15px Inter, sans-serif;
  transition: all 0.2s;
}
.messenger-btn:hover {
  border-color: #2563EB;
  color: #2563EB;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -10px rgba(37,99,235,0.3);
}
.messenger-btn svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.messenger-btn--telegram svg { fill: #26A5E4; }
.messenger-btn--whatsapp svg { fill: #25D366; }
.messenger-btn--email svg { stroke: #2563EB; fill: none; }

/* Contact Form Section */
.contact-form-section {
  padding: 64px 24px 80px;
  background: #fff;
}
.contact-form-wrap {
  max-width: 640px;
  margin: 0 auto;
}
.contact-form-header {
  text-align: center;
  margin-bottom: 40px;
}
.contact-form-header h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.contact-form-header p {
  font: 400 16px Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Contact Form Styles */
.contact-form {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 40px;
}
.contact-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.contact-form .form-group {
  margin-bottom: 20px;
}
.contact-form .form-group:last-of-type {
  margin-bottom: 0;
}
.contact-form label {
  display: block;
  font: 500 14px Inter, sans-serif;
  color: #334155;
  margin-bottom: 8px;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  font: 400 15px Inter, sans-serif;
  color: #0F172A;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
  outline: none;
  border-color: #2563EB;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}
.contact-form textarea {
  min-height: 140px;
  resize: vertical;
}
.contact-form button[type="submit"] {
  width: 100%;
  padding: 16px 32px;
  background: #2563EB;
  color: #fff;
  border: none;
  border-radius: 10px;
  font: 600 16px Inter, sans-serif;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  margin-top: 24px;
}
.contact-form button[type="submit"]:hover {
  background: #1D4ED8;
  transform: translateY(-1px);
}

/* Contact Page Responsive */
@media (max-width: 768px) {
  .contact-hero__title { font-size: 36px; }
  .contact-cards { 
    grid-template-columns: 1fr; 
    margin-top: -20px;
  }
  .company-box__inner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }
  .messengers__grid {
    flex-direction: column;
    align-items: center;
  }
  .messenger-btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
  .contact-form {
    padding: 28px 20px;
  }
  .contact-form .form-row {
    grid-template-columns: 1fr;
  }
}

/* ========== MEGA MENU DROPDOWN ========== */

/* Override Astra submenu */
.main-header-menu .sub-menu {
  min-width: 280px !important;
  padding: 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(15,23,42,0.25) !important;
  background: #fff !important;
}

.main-header-menu .sub-menu .menu-item {
  margin: 0 !important;
}

.main-header-menu .sub-menu .menu-link {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  transition: background 0.15s !important;
}

.main-header-menu .sub-menu .menu-link:hover {
  background: #F8FAFC !important;
}

/* Menu item icon */
.menu-item-icon {
  width: 40px;
  height: 40px;
  background: #EFF6FF;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.menu-item-icon svg {
  width: 20px;
  height: 20px;
  stroke: #2563EB;
  fill: none;
  stroke-width: 1.8;
}

/* Menu item content */
.menu-item-content {
  flex: 1;
  min-width: 0;
}
.menu-item-title {
  display: block;
  font: 600 15px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 3px;
}
.menu-item-desc {
  display: block;
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* Hide default link text when using custom structure */
.main-header-menu .sub-menu .menu-link .menu-text {
  display: none;
}

/* Show menu-text if no custom structure */
.main-header-menu .sub-menu .menu-link:not(:has(.menu-item-icon)) .menu-text {
  display: block;
}

/* Fallback for browsers without :has */
@supports not selector(:has(*)) {
  .main-header-menu .sub-menu .menu-link .menu-text {
    display: block;
  }
}

/* Dropdown arrow */
.main-header-menu .menu-item.menu-item-has-children > .menu-link::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 6px;
  opacity: 0.6;
  transition: transform 0.2s;
}
.main-header-menu .menu-item.menu-item-has-children:hover > .menu-link::after {
  transform: rotate(-135deg);
}

/* Mobile menu adjustments */
@media (max-width: 921px) {
  .main-header-menu .sub-menu {
    min-width: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: none !important;
    padding: 8px 0 !important;
  }
  .main-header-menu .sub-menu .menu-link {
    padding: 12px 20px !important;
  }
}

/* ========== CASE STUDIES / PORTFOLIO ========== */

/* Hero */
.cases-hero {
  padding: 80px 24px 60px;
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  text-align: center;
}
.cases-hero__eyebrow {
  display: inline-block;
  font: 500 13px Inter, sans-serif;
  color: #60A5FA;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.cases-hero__title {
  font: 700 48px/1.1 Poppins, sans-serif;
  color: #fff;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.cases-hero__text {
  font: 400 18px/1.7 Inter, sans-serif;
  color: rgba(255,255,255,0.85);
  max-width: 600px;
  margin: 0 auto;
}

/* Stats Bar */
.cases-stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  padding: 32px 24px;
  background: #1E293B;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.cases-stat {
  text-align: center;
}
.cases-stat__num {
  font: 700 32px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 4px;
}
.cases-stat__label {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
}

/* Case Studies Grid */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: 1140px;
  margin: 0 auto;
  padding: 64px 24px;
}

/* Case Card */
.case-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
  box-shadow: 0 4px 20px -4px rgba(15,23,42,0.08);
}
.case-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px -12px rgba(15,23,42,0.25);
  border-color: #2563EB;
}
.case-card__image {
  position: relative;
  height: 200px;
  background: #0F172A;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.case-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
  transition: opacity 0.3s, transform 0.3s;
}
.case-card:hover .case-card__image img {
  opacity: 1;
  transform: scale(1.05);
}
.case-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  background: rgba(15,23,42,0.8);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  font: 500 12px Inter, sans-serif;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.case-card__content {
  padding: 24px;
}
.case-card__industry {
  font: 500 12px Inter, sans-serif;
  color: #2563EB;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 8px;
}
.case-card__title {
  font: 600 20px/1.3 Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}

/* Metrics */
.case-card__metrics {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.case-metric {
  flex: 1;
  padding: 16px 12px;
  background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%);
  border: 1px solid #BBF7D0;
  border-radius: 12px;
  text-align: center;
}
.case-metric__value {
  font: 700 24px Poppins, sans-serif;
  color: #059669;
  margin: 0 0 4px;
}
.case-metric__value--blue {
  color: #2563EB;
}
.case-metric__label {
  font: 500 11px Inter, sans-serif;
  color: #374151;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Case Card Link */
.case-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 14px Inter, sans-serif;
  color: #2563EB;
  text-decoration: none;
  transition: gap 0.2s;
}
.case-card__link:hover {
  gap: 12px;
}
.case-card__link svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

/* Featured Case (larger) */
.case-card--featured {
  grid-column: span 2;
}
.case-card--featured .case-card__image {
  height: 280px;
}
.case-card--featured .case-card__metrics {
  gap: 20px;
}

/* CTA Section */
.cases-cta {
  padding: 80px 24px;
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
  text-align: center;
}
.cases-cta__title {
  font: 700 36px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 16px;
}
.cases-cta__text {
  font: 400 18px Inter, sans-serif;
  color: rgba(255,255,255,0.8);
  margin: 0 0 32px;
}
.cases-cta__btn {
  display: inline-block;
  padding: 16px 40px;
  background: #fff;
  color: #2563EB;
  font: 600 16px Inter, sans-serif;
  text-decoration: none;
  border-radius: 12px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.cases-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -8px rgba(0,0,0,0.3);
}

/* Responsive */
@media (max-width: 1024px) {
  .cases-grid { grid-template-columns: repeat(2, 1fr); }
  .case-card--featured { grid-column: span 2; }
}
@media (max-width: 768px) {
  .cases-hero__title { font-size: 36px; }
  .cases-stats { flex-wrap: wrap; gap: 24px; }
  .cases-grid { grid-template-columns: 1fr; }
  .case-card--featured { grid-column: span 1; }
  .case-card--featured .case-card__image { height: 200px; }
  .case-card__metrics { flex-direction: column; gap: 10px; }
}

/* ========== SINGLE CASE STUDY PAGE ========== */
.case-single {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.case-single__hero {
  padding: 80px 0 48px;
  text-align: center;
}
.case-single__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 14px Inter, sans-serif;
  color: #64748B;
  text-decoration: none;
  margin-bottom: 24px;
}
.case-single__back:hover { color: #2563EB; }
.case-single__back svg {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none;
}
.case-single__industry {
  display: inline-block;
  padding: 6px 16px;
  background: #EFF6FF;
  color: #2563EB;
  font: 500 12px Inter, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 999px;
  margin-bottom: 20px;
}
.case-single__title {
  font: 700 42px/1.15 Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 20px;
}
.case-single__subtitle {
  font: 400 18px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Results Bar */
.case-results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 32px;
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  border-radius: 20px;
  margin-bottom: 48px;
}
.case-result {
  text-align: center;
  padding: 20px;
}
.case-result__value {
  font: 700 36px Poppins, sans-serif;
  color: #10B981;
  margin: 0 0 8px;
}
.case-result__label {
  font: 400 14px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* Case Content */
.case-content {
  padding-bottom: 80px;
}
.case-content h2 {
  font: 700 28px Poppins, sans-serif;
  color: #0F172A;
  margin: 48px 0 20px;
}
.case-content h2:first-child { margin-top: 0; }
.case-content p {
  font: 400 17px/1.8 Inter, sans-serif;
  color: #475569;
  margin: 0 0 20px;
}
.case-content ul {
  margin: 0 0 24px;
  padding-left: 24px;
}
.case-content li {
  font: 400 16px/1.7 Inter, sans-serif;
  color: #475569;
  margin-bottom: 12px;
}

/* Case CTA */
.case-cta {
  text-align: center;
  padding: 48px;
  background: #F8FAFC;
  border-radius: 20px;
  margin-bottom: 80px;
}
.case-cta h3 {
  font: 700 24px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.case-cta p {
  font: 400 16px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 24px;
}
.case-cta__btn {
  display: inline-block;
  padding: 14px 32px;
  background: #2563EB;
  color: #fff;
  font: 600 15px Inter, sans-serif;
  text-decoration: none;
  border-radius: 10px;
  transition: background 0.2s, transform 0.2s;
}
.case-cta__btn:hover {
  background: #1D4ED8;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .case-single__title { font-size: 32px; }
  .case-results { grid-template-columns: 1fr; }
  .case-result__value { font-size: 28px; }
}

/* ========== SERVICE PAGE ========== */
.service-hero {
  padding: 80px 24px;
  background: linear-gradient(135deg, #EFF6FF 0%, #F8FAFC 100%);
  text-align: center;
}
.service-hero__eyebrow {
  display: inline-block;
  padding: 6px 16px;
  background: #2563EB;
  color: #fff;
  font: 500 12px Inter, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 999px;
  margin-bottom: 20px;
}
.service-hero__title {
  font: 700 48px/1.1 Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.service-hero__text {
  font: 400 18px/1.7 Inter, sans-serif;
  color: #64748B;
  max-width: 640px;
  margin: 0 auto 32px;
}
.service-hero__cta {
  display: inline-block;
  padding: 16px 40px;
  background: #2563EB;
  color: #fff;
  font: 600 16px Inter, sans-serif;
  text-decoration: none;
  border-radius: 12px;
  transition: all 0.2s;
}
.service-hero__cta:hover {
  background: #1D4ED8;
  transform: translateY(-2px);
}

/* Service Stats */
.service-stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  padding: 48px 24px;
  background: #fff;
  border-bottom: 1px solid #E2E8F0;
}
.service-stat {
  text-align: center;
}
.service-stat__num {
  font: 700 36px Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 8px;
}
.service-stat__label {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
}

/* Service Features Grid */
.service-features {
  padding: 80px 24px;
  background: #fff;
}
.service-features__inner {
  max-width: 1140px;
  margin: 0 auto;
}
.service-features__header {
  text-align: center;
  margin-bottom: 48px;
}
.service-features__title {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}
.service-features__subtitle {
  font: 400 18px Inter, sans-serif;
  color: #64748B;
}
.service-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.feature-card {
  padding: 32px;
  background: #F8FAFC;
  border-radius: 16px;
  border: 1px solid #E2E8F0;
}
.feature-card__icon {
  width: 56px;
  height: 56px;
  background: #EFF6FF;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 24px;
}
.feature-card__title {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.feature-card__text {
  font: 400 15px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Service Process */
.service-process {
  padding: 80px 24px;
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
}
.service-process__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.service-process__title {
  font: 700 36px Poppins, sans-serif;
  color: #fff;
  text-align: center;
  margin: 0 0 48px;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.process-step {
  text-align: center;
  position: relative;
}
.process-step__num {
  width: 48px;
  height: 48px;
  background: #2563EB;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 18px Poppins, sans-serif;
  color: #fff;
  margin: 0 auto 16px;
}
.process-step__title {
  font: 600 16px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 8px;
}
.process-step__text {
  font: 400 14px/1.6 Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

/* Service Pricing */
.service-pricing {
  padding: 80px 24px;
  background: #F8FAFC;
}
.service-pricing__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.service-pricing__title {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  text-align: center;
  margin: 0 0 48px;
}
.pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.pricing-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 32px;
  text-align: center;
  position: relative;
}
.pricing-card--featured {
  border-color: #2563EB;
  box-shadow: 0 20px 40px -20px rgba(37,99,235,0.3);
}
.pricing-card__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 16px;
  background: #2563EB;
  color: #fff;
  font: 500 12px Inter, sans-serif;
  border-radius: 999px;
}
.pricing-card__name {
  font: 600 20px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}
.pricing-card__price {
  font: 700 42px Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 8px;
}
.pricing-card__period {
  font: 400 14px Inter, sans-serif;
  color: #94A3B8;
  margin: 0 0 24px;
}
.pricing-card__features {
  text-align: left;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.pricing-card__features li {
  font: 400 14px/2 Inter, sans-serif;
  color: #475569;
  padding-left: 24px;
  position: relative;
}
.pricing-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10B981;
  font-weight: 600;
}
.pricing-card__cta {
  display: block;
  padding: 14px 24px;
  background: #2563EB;
  color: #fff;
  font: 600 15px Inter, sans-serif;
  text-decoration: none;
  border-radius: 10px;
  transition: all 0.2s;
}
.pricing-card__cta:hover {
  background: #1D4ED8;
}
.pricing-card:not(.pricing-card--featured) .pricing-card__cta {
  background: #F1F5F9;
  color: #0F172A;
}
.pricing-card:not(.pricing-card--featured) .pricing-card__cta:hover {
  background: #E2E8F0;
}

/* Service FAQ */
.service-faq {
  padding: 80px 24px;
  background: #fff;
}
.service-faq__inner {
  max-width: 800px;
  margin: 0 auto;
}
.service-faq__title {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  text-align: center;
  margin: 0 0 48px;
}
.faq-item {
  border-bottom: 1px solid #E2E8F0;
  padding: 24px 0;
}
.faq-item:first-child {
  border-top: 1px solid #E2E8F0;
}
.faq-item__q {
  font: 600 17px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.faq-item__a {
  font: 400 15px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Service CTA */
.service-cta {
  padding: 80px 24px;
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
  text-align: center;
}
.service-cta__title {
  font: 700 36px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 16px;
}
.service-cta__text {
  font: 400 18px Inter, sans-serif;
  color: rgba(255,255,255,0.8);
  margin: 0 0 32px;
}
.service-cta__btn {
  display: inline-block;
  padding: 16px 40px;
  background: #fff;
  color: #2563EB;
  font: 600 16px Inter, sans-serif;
  text-decoration: none;
  border-radius: 12px;
  transition: all 0.2s;
}
.service-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -8px rgba(0,0,0,0.3);
}

/* Service Responsive */
@media (max-width: 1024px) {
  .service-features__grid { grid-template-columns: repeat(2, 1fr); }
  .pricing-cards { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
}
@media (max-width: 768px) {
  .service-hero__title { font-size: 32px; }
  .service-stats { flex-wrap: wrap; gap: 24px; }
  .service-features__grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
}

/* ========== CASE STUDY PROOF BLOCKS ========== */

/* Proof Section with Images */
.case-proof {
  margin: 48px 0;
}
.case-proof__title {
  font: 700 28px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 24px;
}
.case-proof__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.case-proof__item {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px -4px rgba(15,23,42,0.1);
  border: 1px solid #E2E8F0;
}
.case-proof__item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}
.case-proof__caption {
  padding: 16px 20px;
  background: #F8FAFC;
  font: 500 14px Inter, sans-serif;
  color: #475569;
  margin: 0;
  text-align: center;
}

/* Rankings List */
.case-rankings {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0 40px;
}
.case-ranking {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: #F8FAFC;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
}
.case-ranking__pos {
  min-width: 60px;
  padding: 8px 12px;
  background: linear-gradient(135deg, #10B981, #059669);
  color: #fff;
  font: 700 16px Poppins, sans-serif;
  border-radius: 8px;
  text-align: center;
}
.case-ranking__kw {
  flex: 1;
  font: 500 15px Inter, sans-serif;
  color: #0F172A;
}
.case-ranking__vol {
  font: 400 13px Inter, sans-serif;
  color: #64748B;
  background: #EFF6FF;
  padding: 4px 12px;
  border-radius: 999px;
}

/* Solution Steps */
.case-solution {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 24px 0 40px;
}
.case-solution__item {
  display: flex;
  gap: 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 2px 8px -2px rgba(15,23,42,0.06);
}
.case-solution__icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.case-solution__content h3 {
  font: 600 17px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.case-solution__content p {
  font: 400 15px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Results List */
.case-results-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin: 32px 0;
}
.case-results-item {
  text-align: center;
  padding: 24px 16px;
  background: linear-gradient(135deg, #F0FDF4, #ECFDF5);
  border: 1px solid #BBF7D0;
  border-radius: 16px;
}
.case-results-item__value {
  display: block;
  font: 700 28px Poppins, sans-serif;
  color: #059669;
  margin-bottom: 8px;
}
.case-results-item__label {
  display: block;
  font: 400 12px Inter, sans-serif;
  color: #374151;
}

/* Keyword Table */
.case-keywords {
  margin: 32px 0;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
}
.case-keywords__header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  background: #F8FAFC;
  padding: 16px 20px;
  font: 600 13px Inter, sans-serif;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #E2E8F0;
}
.case-keywords__row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  padding: 16px 20px;
  border-bottom: 1px solid #F1F5F9;
  align-items: center;
}
.case-keywords__row:last-child {
  border-bottom: 0;
}
.case-keywords__kw {
  font: 500 14px Inter, sans-serif;
  color: #0F172A;
}
.case-keywords__vol {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
}
.case-keywords__before {
  font: 500 14px Inter, sans-serif;
  color: #94A3B8;
}
.case-keywords__after {
  font: 700 14px Inter, sans-serif;
  color: #10B981;
}

/* Timeline */
.case-timeline {
  position: relative;
  padding-left: 32px;
  margin: 32px 0;
}
.case-timeline::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #E2E8F0;
}
.case-timeline__item {
  position: relative;
  padding-bottom: 32px;
}
.case-timeline__item::before {
  content: '';
  position: absolute;
  left: -28px;
  top: 4px;
  width: 14px;
  height: 14px;
  background: #2563EB;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #2563EB;
}
.case-timeline__date {
  font: 600 13px Inter, sans-serif;
  color: #2563EB;
  margin: 0 0 8px;
}
.case-timeline__title {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.case-timeline__text {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Responsive */
@media (max-width: 900px) {
  .case-proof__grid { grid-template-columns: 1fr; }
  .case-results-list { grid-template-columns: repeat(2, 1fr); }
  .case-keywords__header,
  .case-keywords__row { grid-template-columns: 1fr 1fr; }
  .case-keywords__before,
  .case-keywords__header > *:nth-child(3) { display: none; }
}
@media (max-width: 600px) {
  .case-results-list { grid-template-columns: 1fr; }
  .case-solution__item { flex-direction: column; }
}


/* ==========================================================================
   SERVICE PAGES
   ========================================================================== */

.service-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Hero */
.service-hero {
  text-align: center;
  padding: 80px 0 60px;
  max-width: 800px;
  margin: 0 auto;
}
.service-hero__eyebrow {
  display: inline-block;
  font: 600 13px Inter, sans-serif;
  color: #2563EB;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.service-hero__title {
  font: 700 42px/1.15 Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.service-hero__text {
  font: 400 18px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0 0 32px;
}
.service-hero__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.service-hero__note {
  font: 400 14px Inter, sans-serif;
  color: #94A3B8;
}

/* Buttons */
.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  border-radius: 10px;
  font: 600 15px Inter, sans-serif;
  text-decoration: none;
  transition: all 0.2s ease;
}
.btn-primary {
  background: #2563EB;
  color: #fff;
}
.btn-primary:hover {
  background: #1D4ED8;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -8px rgba(37,99,235,0.5);
}
.btn-secondary {
  background: #fff;
  color: #2563EB;
  border: 1.5px solid #E2E8F0;
}
.btn-secondary:hover {
  border-color: #2563EB;
  background: #EFF6FF;
}

/* Stats */
.service-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 40px 0;
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  margin-bottom: 60px;
}
.service-stat {
  text-align: center;
}
.service-stat__value {
  font: 700 36px Poppins, sans-serif;
  color: #2563EB;
  margin-bottom: 8px;
}
.service-stat__label {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
}

/* Section */
.service-section {
  margin-bottom: 60px;
}
.service-section h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
  text-align: center;
}
.service-intro {
  font: 400 17px/1.8 Inter, sans-serif;
  color: #64748B;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
}

/* Features Grid */
.service-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.service-feature {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.service-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -12px rgba(15,23,42,0.15);
}
.service-feature__icon {
  font-size: 32px;
  margin-bottom: 16px;
}
.service-feature h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.service-feature p {
  font: 400 15px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Process */
.service-process {
  background: #F8FAFC;
  border-radius: 24px;
  padding: 60px 40px;
  margin-bottom: 60px;
}
.service-process h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
  text-align: center;
}
.service-process__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.service-process__step {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  border: 1px solid #E2E8F0;
}
.service-process__num {
  font: 700 13px Inter, sans-serif;
  color: #2563EB;
  margin-bottom: 12px;
}
.service-process__step h3 {
  font: 600 17px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.service-process__step p {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Deliverables */
.service-deliverables {
  margin-bottom: 60px;
}
.service-deliverables h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
  text-align: center;
}
.service-deliverables__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-deliverable {
  text-align: center;
  padding: 32px 24px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
}
.service-deliverable__icon {
  font-size: 40px;
  margin-bottom: 16px;
}
.service-deliverable h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.service-deliverable p {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Pricing */
.service-pricing {
  margin-bottom: 60px;
}
.service-pricing h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
  text-align: center;
}
.service-pricing__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}
.service-pricing__card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 32px 28px;
  position: relative;
}
.service-pricing__card--featured {
  border-color: #2563EB;
  box-shadow: 0 20px 40px -16px rgba(37,99,235,0.25);
}
.service-pricing__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #2563EB;
  color: #fff;
  font: 600 12px Inter, sans-serif;
  padding: 6px 16px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.service-pricing__card h3 {
  font: 700 20px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.service-pricing__price {
  font: 700 40px Poppins, sans-serif;
  color: #0F172A;
  margin-bottom: 8px;
}
.service-pricing__price span {
  font-size: 18px;
  font-weight: 400;
  color: #64748B;
}
.service-pricing__desc {
  font: 400 14px Inter, sans-serif;
  color: #94A3B8;
  margin: 0 0 20px;
}
.service-pricing__card ul {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.service-pricing__card li {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  padding: 10px 0;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  align-items: center;
  gap: 10px;
}
.service-pricing__card li::before {
  content: '✓';
  color: #10B981;
  font-weight: 700;
}
.service-pricing__card li:last-child {
  border-bottom: 0;
}
.service-pricing__card .btn-primary,
.service-pricing__card .btn-secondary {
  width: 100%;
}

/* FAQ */
.service-faq {
  margin-bottom: 60px;
}
.service-faq h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
  text-align: center;
}
.service-faq__list {
  max-width: 800px;
  margin: 0 auto;
}
.service-faq__item {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 16px;
}
.service-faq__item h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.service-faq__item p {
  font: 400 15px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* CTA */
.service-cta {
  text-align: center;
  background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%);
  border-radius: 24px;
  padding: 60px 40px;
  margin-bottom: 60px;
}
.service-cta h2 {
  font: 700 28px Poppins, sans-serif;
  color: #fff;
  margin: 0 0 12px;
}
.service-cta p {
  font: 400 16px Inter, sans-serif;
  color: rgba(255,255,255,0.85);
  margin: 0 0 28px;
}
.service-cta .btn-primary {
  background: #fff;
  color: #2563EB;
}
.service-cta .btn-primary:hover {
  background: #F8FAFC;
  box-shadow: 0 10px 24px -8px rgba(0,0,0,0.3);
}

/* Comparison */
.service-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 800px;
  margin: 0 auto;
}
.service-comparison__col {
  background: #FEF2F2;
  border-radius: 16px;
  padding: 28px;
}
.service-comparison__col--new {
  background: #F0FDF4;
}
.service-comparison__col h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}
.service-comparison__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.service-comparison__col li {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #475569;
  padding: 8px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.service-comparison__col li::before {
  content: '✗';
  color: #EF4444;
  font-weight: 700;
}
.service-comparison__col--new li::before {
  content: '✓';
  color: #10B981;
}

/* Scenarios */
.service-scenarios {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.service-scenario {
  text-align: center;
  padding: 28px 20px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
}
.service-scenario__icon {
  font-size: 36px;
  margin-bottom: 16px;
}
.service-scenario h3 {
  font: 600 15px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.service-scenario p {
  font: 400 13px/1.6 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Pillars */
.service-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-pillar {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 32px 28px;
}
.service-pillar__icon {
  font-size: 40px;
  margin-bottom: 20px;
}
.service-pillar h3 {
  font: 700 20px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.service-pillar > p {
  font: 400 14px/1.7 Inter, sans-serif;
  color: #64748B;
  margin: 0 0 20px;
}
.service-pillar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.service-pillar li {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  padding: 8px 0;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  align-items: center;
  gap: 10px;
}
.service-pillar li::before {
  content: '•';
  color: #2563EB;
  font-weight: 700;
}
.service-pillar li:last-child {
  border-bottom: 0;
}

/* Guarantee */
.service-guarantee {
  background: #F8FAFC;
  border-radius: 24px;
  padding: 60px 40px;
  margin-bottom: 60px;
}
.service-guarantee h2 {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 40px;
  text-align: center;
}
.service-guarantee__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: center;
}
.service-guarantee__item {
  padding: 0 20px;
}
.service-guarantee__num {
  font: 700 56px Poppins, sans-serif;
  color: #2563EB;
  line-height: 1;
  margin-bottom: 8px;
}
.service-guarantee__item h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 10px;
}
.service-guarantee__item p {
  font: 400 14px/1.6 Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

/* Responsive */
@media (max-width: 900px) {
  .service-hero__title { font-size: 32px; }
  .service-stats { grid-template-columns: repeat(2, 1fr); }
  .service-features { grid-template-columns: 1fr; }
  .service-process__grid { grid-template-columns: 1fr; }
  .service-deliverables__list { grid-template-columns: repeat(2, 1fr); }
  .service-pricing__cards { grid-template-columns: 1fr; }
  .service-comparison { grid-template-columns: 1fr; }
  .service-scenarios { grid-template-columns: repeat(2, 1fr); }
  .service-pillars { grid-template-columns: 1fr; }
  .service-guarantee__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .service-hero { padding: 60px 0 40px; }
  .service-hero__title { font-size: 28px; }
  .service-stats { grid-template-columns: 1fr 1fr; gap: 16px; }
  .service-deliverables__list { grid-template-columns: 1fr; }
  .service-scenarios { grid-template-columns: 1fr; }
  .service-process, .service-guarantee { padding: 40px 20px; }
  .service-cta { padding: 40px 20px; }
}


/* ==========================================================================
   LINK BUILDING PAGES
   ========================================================================== */

/* Link Types Grid */
.link-types {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.link-type {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
  font: 500 14px Inter, sans-serif;
  color: #0F172A;
  transition: all 0.2s ease;
}
.link-type:hover {
  border-color: #2563EB;
  background: #EFF6FF;
}

/* Link Building Service Cards */
.lb-services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.lb-service-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.lb-service-card:hover {
  border-color: #2563EB;
  box-shadow: 0 12px 32px -12px rgba(37,99,235,0.2);
  transform: translateY(-2px);
}
.lb-service-card__icon {
  width: 56px;
  height: 56px;
  background: #EFF6FF;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.lb-service-card__content {
  flex: 1;
}
.lb-service-card__content h3 {
  font: 600 17px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 6px;
}
.lb-service-card__content p {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 8px;
}
.lb-service-card__price {
  font: 600 14px Inter, sans-serif;
  color: #2563EB;
}
.lb-service-card__arrow {
  font-size: 20px;
  color: #94A3B8;
  transition: transform 0.2s ease;
}
.lb-service-card:hover .lb-service-card__arrow {
  transform: translateX(4px);
  color: #2563EB;
}

@media (max-width: 900px) {
  .link-types { grid-template-columns: repeat(3, 1fr); }
  .lb-services { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .link-types { grid-template-columns: repeat(2, 1fr); }
}

/* Link Building Pricing Grid */
.lb-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.lb-pricing-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
}
.lb-pricing-card:hover {
  border-color: #2563EB;
  box-shadow: 0 16px 40px -12px rgba(37,99,235,0.18);
  transform: translateY(-4px);
}
.lb-pricing-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.lb-pricing-card__icon {
  width: 48px;
  height: 48px;
  background: #EFF6FF;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.lb-pricing-card__header h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0;
  line-height: 1.3;
}
.lb-pricing-card__desc {
  font: 400 14px/1.6 Inter, sans-serif;
  color: #64748B;
  margin: 0 0 20px;
  flex: 1;
}
.lb-pricing-card__price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 20px;
}
.lb-pricing-card__from {
  font: 400 12px Inter, sans-serif;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.lb-pricing-card__amount {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  line-height: 1.1;
}
.lb-pricing-card__unit {
  font: 500 13px Inter, sans-serif;
  color: #64748B;
}
.lb-pricing-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  background: #EFF6FF;
  color: #2563EB;
  border-radius: 10px;
  font: 600 14px Inter, sans-serif;
  text-decoration: none;
  transition: all 0.2s ease;
}
.lb-pricing-card__btn:hover {
  background: #2563EB;
  color: #fff;
}

/* Link Building Metrics */
.lb-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 800px;
  margin: 0 auto;
}
.lb-metric {
  text-align: center;
  padding: 32px 24px;
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  border-radius: 16px;
}
.lb-metric__value {
  font: 700 40px Poppins, sans-serif;
  color: #fff;
  margin-bottom: 4px;
}
.lb-metric__label {
  font: 600 14px Inter, sans-serif;
  color: #60A5FA;
  margin-bottom: 12px;
}
.lb-metric__desc {
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}

@media (max-width: 1100px) {
  .lb-pricing-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .lb-pricing-grid { grid-template-columns: 1fr; }
  .lb-metrics { grid-template-columns: 1fr; }
}

/* Installment Note */
.installment-note {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 32px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.installment-note__icon {
  font-size: 24px;
  flex-shrink: 0;
}
.installment-note p {
  font: 400 15px/1.6 Inter, sans-serif;
  color: #166534;
  margin: 0;
}
.installment-note strong {
  color: #14532D;
}

/* ==========================================================================
   LEGAL PAGES
   ========================================================================== */
.legal-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 20px 80px;
}
.legal-header {
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 1px solid #E2E8F0;
}
.legal-header h1 {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.legal-updated {
  font: 400 14px Inter, sans-serif;
  color: #94A3B8;
  margin: 0;
}
.legal-content {
  font: 400 16px/1.8 Inter, sans-serif;
  color: #475569;
}
.legal-section {
  margin-bottom: 40px;
}
.legal-section h2 {
  font: 700 22px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}
.legal-section h3 {
  font: 600 17px Poppins, sans-serif;
  color: #0F172A;
  margin: 24px 0 12px;
}
.legal-section p {
  margin: 0 0 16px;
}
.legal-section ul {
  margin: 0 0 16px;
  padding-left: 24px;
}
.legal-section li {
  margin-bottom: 8px;
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
}
.legal-table th,
.legal-table td {
  padding: 12px 16px;
  text-align: left;
  border: 1px solid #E2E8F0;
}
.legal-table th {
  background: #F8FAFC;
  font-weight: 600;
  color: #0F172A;
}
.legal-table td {
  color: #475569;
}

/* Review Pricing Cards */
.review-pricing {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.review-pricing__card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  position: relative;
  transition: all 0.2s ease;
}
.review-pricing__card:hover {
  border-color: #2563EB;
  box-shadow: 0 12px 32px -12px rgba(37,99,235,0.2);
}
.review-pricing__card--featured {
  border-color: #2563EB;
  box-shadow: 0 8px 24px -8px rgba(37,99,235,0.2);
}
.review-pricing__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #2563EB;
  color: #fff;
  font: 600 11px Inter, sans-serif;
  padding: 5px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.review-pricing__card h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.review-pricing__reviews {
  font: 500 14px Inter, sans-serif;
  color: #64748B;
  margin-bottom: 12px;
}
.review-pricing__price {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  margin-bottom: 20px;
}
.review-pricing__card ul {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  text-align: left;
}
.review-pricing__card li {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  padding: 8px 0;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  align-items: center;
  gap: 8px;
}
.review-pricing__card li::before {
  content: '✓';
  color: #10B981;
  font-weight: 700;
}
.review-pricing__card li:last-child {
  border-bottom: 0;
}
.review-pricing__card .btn-primary,
.review-pricing__card .btn-secondary {
  width: 100%;
}

@media (max-width: 768px) {
  .review-pricing { grid-template-columns: 1fr; max-width: 340px; }
}

/* GEO Packages Table */
.geo-table-wrap {
  overflow-x: auto;
  margin: 0 -20px;
  padding: 0 20px;
}
.geo-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  font-size: 14px;
}
.geo-table th,
.geo-table td {
  padding: 16px 20px;
  text-align: center;
  border-bottom: 1px solid #F1F5F9;
}
.geo-table__feature {
  text-align: left !important;
  width: 35%;
}
.geo-table__plan {
  background: #F8FAFC;
  font: 600 15px Poppins, sans-serif;
  color: #0F172A;
  border-radius: 12px 12px 0 0;
}
.geo-table__plan--mid {
  background: #EFF6FF;
  color: #2563EB;
}
.geo-table__plan--top {
  background: #F59E0B;
  color: #fff;
}
.geo-table tbody td:first-child {
  text-align: left;
  font: 500 14px Inter, sans-serif;
  color: #334155;
}
.geo-table__sub {
  display: block;
  font: 400 12px Inter, sans-serif;
  color: #94A3B8;
  margin-top: 2px;
}
.geo-table tbody td {
  font: 500 14px Inter, sans-serif;
  color: #475569;
}
.geo-yes {
  color: #F59E0B;
  font-size: 18px;
}
.geo-no {
  color: #CBD5E1;
  font-size: 16px;
}
.geo-table tbody tr:nth-child(odd) {
  background: #FFFBEB;
}
.geo-table tbody tr:nth-child(even) {
  background: #fff;
}
.geo-table__price {
  font: 700 28px Poppins, sans-serif !important;
  color: #64748B !important;
  border-bottom: none !important;
  padding-top: 24px !important;
}
.geo-table__price--mid {
  color: #2563EB !important;
}
.geo-table__price--top {
  color: #F59E0B !important;
}
.geo-table__btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 999px;
  font: 600 14px Inter, sans-serif;
  text-decoration: none;
  transition: all 0.2s ease;
  background: #fff;
  color: #64748B;
  border: 1px solid #E2E8F0;
}
.geo-table__btn:hover {
  border-color: #2563EB;
  color: #2563EB;
}
.geo-table__btn--mid {
  background: #2563EB;
  color: #fff;
  border-color: #2563EB;
}
.geo-table__btn--mid:hover {
  background: #1D4ED8;
  color: #fff;
}
.geo-table__btn--top {
  background: #F59E0B;
  color: #fff;
  border-color: #F59E0B;
}
.geo-table__btn--top:hover {
  background: #D97706;
  color: #fff;
}
.geo-table tfoot td {
  border-bottom: none;
}

/* ==========================================================================
   ORDER PAGE
   ========================================================================== */
.order-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 80px;
}
.order-header {
  text-align: center;
  margin-bottom: 60px;
}
.order-header h1 {
  font: 700 42px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
}
.order-header p {
  font: 400 18px Inter, sans-serif;
  color: #64748B;
  margin: 0;
}

.order-category {
  margin-bottom: 60px;
}
.order-category__title {
  font: 700 28px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid #E2E8F0;
}
.order-subcategory {
  font: 600 18px Poppins, sans-serif;
  color: #475569;
  margin: 32px 0 20px;
}

.order-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.order-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.order-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px 24px;
  position: relative;
  transition: all 0.2s ease;
}
.order-card:hover {
  border-color: #2563EB;
  box-shadow: 0 12px 32px -12px rgba(37,99,235,0.15);
}
.order-card--featured {
  border-color: #2563EB;
  box-shadow: 0 8px 24px -8px rgba(37,99,235,0.2);
}
.order-card--compact {
  padding: 20px;
  text-align: center;
}
.order-card--compact h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.order-card__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #2563EB;
  color: #fff;
  font: 600 11px Inter, sans-serif;
  padding: 5px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.order-card__header {
  margin-bottom: 16px;
}
.order-card__tag {
  display: inline-block;
  font: 500 11px Inter, sans-serif;
  color: #2563EB;
  background: #EFF6FF;
  padding: 4px 10px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.order-card__header h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0;
}
.order-card__price {
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin-bottom: 20px;
}
.order-card__price span {
  font-size: 16px;
  font-weight: 400;
  color: #64748B;
}
.order-card__desc {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 16px;
}
.order-card__features {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.order-card__features li {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  padding: 8px 0;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.order-card__features li::before {
  content: '✓';
  color: #10B981;
  font-weight: 700;
  flex-shrink: 0;
}
.order-card__features li:last-child {
  border-bottom: 0;
}
.order-card__btn {
  display: block;
  width: 100%;
  padding: 14px 24px;
  background: #fff;
  color: #2563EB;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  font: 600 14px Inter, sans-serif;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
}
.order-card__btn:hover {
  border-color: #2563EB;
  background: #EFF6FF;
}
.order-card__btn--primary {
  background: #2563EB;
  color: #fff;
  border-color: #2563EB;
}
.order-card__btn--primary:hover {
  background: #1D4ED8;
}

.order-footer {
  text-align: center;
  background: #F8FAFC;
  border-radius: 20px;
  padding: 48px 32px;
  margin-top: 60px;
}
.order-footer h3 {
  font: 700 24px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.order-footer p {
  font: 400 16px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 24px;
}

@media (max-width: 900px) {
  .order-grid { grid-template-columns: repeat(2, 1fr); }
  .order-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .order-grid, .order-grid--3 { grid-template-columns: 1fr; }
  .order-header h1 { font-size: 32px; }
}

/* ==========================================================================
   CHECKOUT PAGE
   ========================================================================== */
.checkout-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 20px 80px;
}
.checkout-header {
  text-align: center;
  margin-bottom: 48px;
}
.checkout-header h1 {
  font: 700 36px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.checkout-header p {
  font: 400 16px Inter, sans-serif;
  color: #64748B;
  margin: 0;
}
.checkout-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}

/* Form */
.checkout-form {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 32px;
}
.form-section {
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #F1F5F9;
}
.form-section:last-of-type {
  border-bottom: 0;
  margin-bottom: 24px;
  padding-bottom: 0;
}
.form-section h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 20px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-field--full {
  grid-column: 1 / -1;
  margin-bottom: 16px;
}
.form-field label {
  font: 500 14px Inter, sans-serif;
  color: #374151;
}
.form-field input,
.form-field textarea,
.form-field select {
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  font: 400 15px Inter, sans-serif;
  color: #0F172A;
  transition: border-color 0.15s ease;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  outline: none;
  border-color: #2563EB;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}
.form-field input::placeholder,
.form-field textarea::placeholder {
  color: #94A3B8;
}
.form-hint {
  font: 400 12px Inter, sans-serif;
  color: #94A3B8;
}

/* Package Selection */
.package-select-group {
  margin-bottom: 24px;
}
.package-select-group h4 {
  font: 600 14px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.package-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.package-option:hover {
  border-color: #CBD5E1;
  background: #F8FAFC;
}
.package-option input {
  width: 18px;
  height: 18px;
  accent-color: #2563EB;
}
.package-option input:checked + .package-option__content {
  color: #2563EB;
}
.package-option:has(input:checked) {
  border-color: #2563EB;
  background: #EFF6FF;
}
.package-option__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
}
.package-option__name {
  font: 500 14px Inter, sans-serif;
  color: #0F172A;
}
.package-option__price {
  font: 600 14px Inter, sans-serif;
  color: #2563EB;
}

/* Payment Methods */
.payment-section h3 {
  font: 600 18px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 20px;
}
.payment-option {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.payment-option:hover {
  border-color: #CBD5E1;
  background: #F8FAFC;
}
.payment-option:has(input:checked) {
  border-color: #2563EB;
  background: #EFF6FF;
}
.payment-option input {
  width: 18px;
  height: 18px;
  accent-color: #2563EB;
}
.payment-option__content {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.payment-option__icons {
  display: flex;
  gap: 6px;
}
.payment-option__icons img {
  height: 24px;
  width: auto;
}
.payment-option__name {
  font: 500 15px Inter, sans-serif;
  color: #0F172A;
}
.payment-option__bonus {
  font: 500 13px Inter, sans-serif;
  color: #10B981;
  margin-left: auto;
}
.paypal-logo {
  height: 22px;
  width: auto;
}

/* Checkbox */
.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font: 400 14px Inter, sans-serif;
  color: #475569;
}
.checkbox-label input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2563EB;
}
.checkbox-label a {
  color: #2563EB;
  text-decoration: underline;
}

/* Submit */
.checkout-submit {
  width: 100%;
  padding: 16px 32px;
  background: #2563EB;
  color: #fff;
  border: none;
  border-radius: 10px;
  font: 600 16px Inter, sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.checkout-submit:hover {
  background: #1D4ED8;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -8px rgba(37,99,235,0.5);
}
.checkout-note {
  text-align: center;
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
  margin: 16px 0 0;
}

/* Sidebar */
.checkout-sidebar {
  position: sticky;
  top: 100px;
}
.checkout-summary {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 20px;
}
.checkout-summary h3 {
  font: 600 16px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E2E8F0;
}
.summary-package,
.summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
}
.summary-label {
  font: 400 14px Inter, sans-serif;
  color: #64748B;
}
.summary-value {
  font: 600 14px Inter, sans-serif;
  color: #0F172A;
}
.summary-total {
  border-top: 1px solid #E2E8F0;
  margin-top: 8px;
  padding-top: 16px;
}
.summary-total .summary-value {
  font-size: 20px;
  color: #2563EB;
}

.checkout-trust,
.checkout-contact {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
}
.checkout-trust h4,
.checkout-contact h4 {
  font: 600 14px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.checkout-trust ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.checkout-trust li {
  font: 400 13px Inter, sans-serif;
  color: #475569;
  padding: 6px 0;
}
.checkout-contact p {
  font: 400 13px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 8px;
}
.checkout-contact a {
  display: block;
  font: 500 14px Inter, sans-serif;
  color: #2563EB;
  text-decoration: none;
  margin-bottom: 4px;
}

@media (max-width: 900px) {
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-sidebar { position: static; }
  .form-row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   LINK BUILDING PRICING SECTION
   ========================================================================== */
.lb-pricing-section {
  padding: 60px 24px;
  background: #F8FAFC;
  margin: 40px -24px;
}
.lb-pricing-section h2 {
  text-align: center;
  font: 700 32px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 8px;
}
.section-subtitle {
  text-align: center;
  font: 400 16px Inter, sans-serif;
  color: #64748B;
  margin: 0 0 40px;
}

.lb-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.lb-pricing-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transition: all 0.2s ease;
}
.lb-pricing-card:hover {
  border-color: #CBD5E1;
  box-shadow: 0 12px 32px -12px rgba(0,0,0,0.12);
}
.lb-pricing-card--featured {
  border-color: #2563EB;
  box-shadow: 0 12px 32px -12px rgba(37,99,235,0.25);
}
.lb-pricing-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #2563EB;
  color: #fff;
  font: 600 11px Inter, sans-serif;
  padding: 6px 16px;
  border-radius: 0 0 8px 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.lb-pricing-card__badge--accent {
  background: #10B981;
}

.lb-pricing-card__header {
  padding: 32px 24px 24px;
  text-align: center;
  border-bottom: 1px solid #F1F5F9;
}
.lb-pricing-card__header h3 {
  font: 600 20px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
}
.lb-pricing-card__price {
  font: 700 42px Poppins, sans-serif;
  color: #2563EB;
  margin: 0 0 8px;
}
.lb-pricing-card__meta {
  font: 400 13px Inter, sans-serif;
  color: #64748B;
}

.lb-pricing-card__body {
  padding: 24px;
}
.lb-pricing-card__body h4 {
  font: 600 13px Inter, sans-serif;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 12px;
}
.lb-pricing-card__body h4:not(:first-child) {
  margin-top: 20px;
}
.lb-pricing-card__body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lb-pricing-card__body li {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  padding: 6px 0;
  padding-left: 20px;
  position: relative;
}
.lb-pricing-card__body li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10B981;
  font-weight: 700;
}
.lb-pricing-card__body li strong {
  color: #0F172A;
}

.lb-pricing-card__btn {
  display: block;
  margin: 0 24px 24px;
  padding: 14px 24px;
  background: #fff;
  color: #2563EB;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  font: 600 14px Inter, sans-serif;
  text-align: center;
  text-decoration: none;
  transition: all 0.15s ease;
}
.lb-pricing-card__btn:hover {
  border-color: #2563EB;
  background: #EFF6FF;
}
.lb-pricing-card__btn--primary {
  background: #2563EB;
  color: #fff;
  border-color: #2563EB;
}
.lb-pricing-card__btn--primary:hover {
  background: #1D4ED8;
}

@media (max-width: 900px) {
  .lb-pricing-grid { grid-template-columns: 1fr; max-width: 400px; }
}

/* ==========================================================================
   CROWDO-STYLE CHECKOUT
   ========================================================================== */
.crowdo-checkout {
  display: grid;
  grid-template-columns: 1fr 380px;
  min-height: 100vh;
  background: #fff;
}
.checkout-main {
  padding: 48px 60px 80px;
  max-width: 760px;
}
.checkout-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
}
.checkout-logo span {
  font: 700 22px Poppins, sans-serif;
  color: #0F172A;
}
.checkout-title {
  font: 600 24px Poppins, sans-serif;
  color: #0F172A;
  margin: 0 0 24px;
}
.checkout-notice {
  background: #F0FDF4;
  border-left: 3px solid #10B981;
  padding: 12px 16px;
  margin-bottom: 16px;
  font: 400 14px Inter, sans-serif;
  color: #166534;
}
.checkout-note {
  font: 400 14px Inter, sans-serif;
  color: #475569;
  margin-bottom: 32px;
}
.checkout-note strong {
  color: #0F172A;
}

/* Form */
.form-group {
  margin-bottom: 24px;
}
.form-group > label {
  display: block;
  font: 500 14px Inter, sans-serif;
  color: #0F172A;
  margin-bottom: 8px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-field {
  position: relative;
}
.form-field input,
.form-group > input,
.form-group > textarea,
.form-group > select,
.full-select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  font: 400 15px Inter, sans-serif;
  color: #0F172A;
  transition: border-color 0.15s;
}
.form-field input:focus,
.form-group > input:focus,
.form-group > textarea:focus,
.form-group > select:focus,
.full-select:focus {
  outline: none;
  border-color: #2563EB;
}
.field-label {
  position: absolute;
  bottom: -20px;
  left: 0;
  font: 400 12px Inter, sans-serif;
  color: #94A3B8;
}
.field-hint {
  display: block;
  margin-top: 6px;
  font: 400 13px Inter, sans-serif;
  color: #94A3B8;
}
.field-hint a {
  color: #2563EB;
  text-decoration: none;
}

/* Tags */
.tag-multiple,
.tag-optional,
.tag-new,
.tag-top {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font: 500 11px Inter, sans-serif;
  text-transform: uppercase;
  margin-left: 6px;
}
.tag-multiple {
  background: #DBEAFE;
  color: #1D4ED8;
}
.tag-optional {
  background: #F1F5F9;
  color: #64748B;
}
.tag-new {
  background: #DCFCE7;
  color: #166534;
}
.tag-top {
  background: #FEF3C7;
  color: #92400E;
}

/* Package Cards */
.package-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.package-card {
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.15s;
  position: relative;
}
.package-card:hover {
  border-color: #CBD5E1;
}
.package-card.selected,
.package-card:has(input:checked) {
  border-color: #2563EB;
  background: #F8FAFF;
}
.package-card input {
  position: absolute;
  opacity: 0;
}
.package-card h4 {
  font: 600 14px Inter, sans-serif;
  color: #0F172A;
  margin: 0 0 12px;
  line-height: 1.4;
}
.package-select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #E2E8F0;
  border-radius: 4px;
  font: 400 13px Inter, sans-serif;
  color: #64748B;
  margin-bottom: 8px;
}
.package-card__price {
  font: 500 13px Inter, sans-serif;
  color: #475569;
}

/* Payment Options */
.payment-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.payment-option {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.payment-option input {
  width: 18px;
  height: 18px;
  accent-color: #2563EB;
}
.payment-option__content {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.paypal-icon {
  height: 20px;
  width: auto;
}
.card-icons {
  display: flex;
  gap: 4px;
}
.card-icon {
  display: inline-block;
  padding: 3px 6px;
  font: 700 9px Inter, sans-serif;
  border-radius: 3px;
  color: #fff;
}
.card-visa { background: #1A1F71; }
.card-mc { background: #EB001B; }
.card-disc { background: #FF6000; }
.card-amex { background: #006FCF; }
.crypto-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  background: #F7931A;
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font: 700 12px sans-serif;
}
.payment-bonus {
  color: #10B981;
  font: 500 13px Inter, sans-serif;
}

/* Checkbox */
.checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font: 400 14px Inter, sans-serif;
  color: #0F172A;
}
.checkbox-row input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2563EB;
}

/* Submit */
.checkout-submit {
  width: 100%;
  padding: 16px 32px;
  background: #2563EB;
  color: #fff;
  border: none;
  border-radius: 8px;
  font: 600 16px Inter, sans-serif;
  cursor: pointer;
  margin-top: 24px;
  transition: background 0.15s;
}
.checkout-submit:hover {
  background: #1D4ED8;
}

/* SIDEBAR */
.checkout-sidebar {
  background: #0F172A;
  padding: 48px 32px;
  color: #fff;
}
.checkout-sidebar h3 {
  font: 600 20px Poppins, sans-serif;
  margin: 0 0 24px;
}
.coupon-field input {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 6px;
  color: #fff;
  font: 400 14px Inter, sans-serif;
}
.coupon-field input::placeholder {
  color: rgba(255,255,255,0.5);
}
.summary-total {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.summary-total > span {
  font: 400 14px Inter, sans-serif;
  color: rgba(255,255,255,0.7);
}
.summary-price {
  margin-top: 8px;
}
.price-amount {
  font: 700 36px Poppins, sans-serif;
  color: #fff;
}
.price-currency {
  display: block;
  font: 400 13px Inter, sans-serif;
  color: rgba(255,255,255,0.5);
  margin-top: 4px;
}

/* Trustpilot Widget */
.trustpilot-widget {
  margin-top: 60px;
  text-align: center;
}
.tp-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.tp-star {
  color: #00B67A;
  font-size: 32px;
}
.tp-text {
  font: 700 24px Inter, sans-serif;
  color: #fff;
}
.tp-subtitle {
  font: 400 14px Inter, sans-serif;
  color: rgba(255,255,255,0.6);
  margin-top: 4px;
}
.tp-rating {
  margin-top: 16px;
  font: 400 14px Inter, sans-serif;
  color: rgba(255,255,255,0.8);
}
.tp-star-small {
  color: #FBBF24;
}

@media (max-width: 1000px) {
  .crowdo-checkout { grid-template-columns: 1fr; }
  .checkout-main { padding: 32px 24px; max-width: 100%; }
  .checkout-sidebar { padding: 32px 24px; }
  .package-cards { grid-template-columns: 1fr; }
}

/* Package Features in Checkout */
.package-features {
  list-style: none;
  margin: 8px 0;
  padding: 0;
  font: 400 12px Inter, sans-serif;
  color: #64748B;
}
.package-features li {
  padding: 2px 0;
}
.package-features li::before {
  content: '✓ ';
  color: #10B981;
}


/* ========== MOBILE MENU FIXES ========== */
.ast-mobile-popup-content .sub-menu {
  display: none;
  padding-left: 15px;
  background: #f8fafc;
}

.ast-mobile-popup-content .ast-submenu-expanded > .sub-menu {
  display: block !important;
}

.ast-mobile-popup-content .menu-item {
  border-bottom: 1px solid #E2E8F0;
}

.ast-mobile-popup-content .menu-item:last-child {
  border-bottom: none;
}

.ast-mobile-popup-content .menu-link {
  display: block;
  padding: 16px 20px;
  color: #1e293b;
  font-size: 16px;
  font-weight: 500;
}

.ast-mobile-popup-content .sub-menu .menu-link {
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 400;
  color: #475569;
}

.ast-mobile-popup-content .sub-menu .menu-link:hover {
  color: #2563EB;
  background: #EFF6FF;
}

/* Hide icons and descriptions on mobile, show only title */
.ast-mobile-popup-content .menu-item-icon {
  display: none !important;
}

.ast-mobile-popup-content .menu-item-desc {
  display: none !important;
}

.ast-mobile-popup-content .menu-item-content {
  display: block !important;
}

.ast-mobile-popup-content .menu-item-title {
  display: block !important;
  font-size: 15px;
}

/* Arrow toggle button */
.ast-mobile-popup-content .ast-menu-toggle {
  padding: 12px 15px;
  color: #64748b;
}

.ast-mobile-popup-content .ast-menu-toggle:hover {
  color: #2563EB;
}

/* Remove extra arrows from submenu items */
.ast-mobile-popup-content .sub-menu .ast-icon.icon-arrow {
  display: none;
}

/* ========== TEAM V2 ========== */
.about-team-v2 {
  padding: 80px 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.about-team-v2__header {
  text-align: center;
  margin-bottom: 50px;
}

.about-team-v2__header h2 {
  font-size: 36px;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 12px;
}

.about-team-v2__header p {
  font-size: 18px;
  color: #64748B;
  margin: 0;
}

.about-team-v2__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.team-card-v2 {
  display: flex;
  gap: 24px;
  padding: 28px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  transition: all 0.2s ease;
}

.team-card-v2:hover {
  box-shadow: 0 20px 40px -20px rgba(15,23,42,0.15);
  transform: translateY(-2px);
}

.team-card-v2__photo {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 12px;
  overflow: hidden;
}

.team-card-v2__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-card-v2__info {
  display: flex;
  flex-direction: column;
}

.team-card-v2__info h3 {
  font-size: 20px;
  font-weight: 600;
  color: #0F172A;
  margin: 0 0 4px;
}

.team-card-v2__role {
  font-size: 14px;
  font-weight: 600;
  color: #2563EB;
  margin-bottom: 12px;
}

.team-card-v2__info p {
  font-size: 14px;
  line-height: 1.6;
  color: #64748B;
  margin: 0;
}

@media (max-width: 768px) {
  .about-team-v2__grid {
    grid-template-columns: 1fr;
  }
  
  .team-card-v2 {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  
  .team-card-v2__photo {
    width: 100px;
    height: 100px;
  }
}
