/* =========================================================
   THEME STYLES — everything the site needs, in one file
   ---------------------------------------------------------
   Sections:
     1. BASE AND PAGE SECTIONS
     2. SITE HEADER
     3. HOME BANNER SLIDER + TRUST BAR
     4. INNER PAGE BANNER
     5. [blog-slider] NEWS CARDS
     6. BLOG HOME
     7. SINGLE POST
     8. GRAVITY FORMS — QUOTE FORM
     9. GRAVITY FORMS — CONTACT FORM
     10. CORPORATE CONTENT

   Fonts: headings use "Host Grotesk", body text uses "Inter".
   Load both from Google Fonts on every page.
   ========================================================= */


/* =========================================================
   THEME COLOURS
   ---------------------------------------------------------
   These defaults match Theme Options → Color. The values you
   save there are printed after this file and override them,
   so you normally change colours in Theme Options, not here.
   Everything else is worked out from these colours.
   ========================================================= */
:root{
  --primary-color:#0E2A47;      /* headings, dark sections, footer accents */
  --dark-color:#0A1F36;         /* darkest backgrounds, form fields on dark */
  --secondary-color:#1E7FD8;    /* buttons, links, icons */
  --tertiary-color:#7CC0FF;     /* highlights on dark backgrounds, focus rings */
  --light-color:#EEF4FA;        /* pale panels and icon tiles */
  --text-color:#16222F;         /* body text */
  --gray1-color:#F6F9FC;        /* lightest section background */
  --gray2-color:#EEF2F6;        /* subtle dividers */
  --gray3-color:#DCE5EE;        /* borders and lines */
  --gray4-color:#C9D6E3;        /* form field borders */
  --gray5-color:#B9CDE2;        /* hover borders */
  --gray6-color:#9FB3C8;        /* spare */
  --gray7-color:#7A8A9A;        /* meta text, placeholders */
  --gray8-color:#566779;        /* secondary text */
  --gray9-color:#33465A;        /* menu links */

  /* Worked out from the colours above */
  --secondary-hover:color-mix(in srgb,var(--secondary-color) 82%,#000);
  --primary-line:color-mix(in srgb,var(--primary-color) 80%,#fff);
  --primary-line-strong:color-mix(in srgb,var(--primary-color) 70%,#fff);
  --on-dark-text:color-mix(in srgb,var(--light-color) 82%,var(--primary-color));
  --on-dark-muted:color-mix(in srgb,var(--light-color) 62%,var(--primary-color));
}

/* =========================================================
   1. BASE AND PAGE SECTIONS
   ========================================================= */

:root{
  --navy:var(--primary-color);
  --navy-deep:var(--dark-color);
  --navy-line:var(--primary-line);
  --blue:var(--secondary-color);
  --blue-hover:var(--secondary-hover);
  --sky:var(--tertiary-color);
  --ice:var(--light-color);
  --ink:var(--text-color);
  --slate:var(--gray8-color);
  --line:var(--gray3-color);
  --r-sm:6px;
  --r-md:12px;
  --r-lg:20px;
}

/* ---------- Base ---------- */
h1,h2,h3{font-family:"Host Grotesk", sans-serif;line-height:1.1;letter-spacing:-.015em;color:var(--primary-color,var(--primary-color))}
h2{font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.005em}
.site-content{padding-top:0}

.kicker{margin-bottom:12px;font:600 .9rem/1.3 "Inter", system-ui, sans-serif;color:var(--secondary-color,var(--secondary-color))}
.lede{max-width:60ch;font-size:1.075rem;color:var(--slate)}

.section{padding:80px 0}
.section-top{padding-top:80px}
.section-bottom{padding-bottom:80px}
.section-head{max-width:720px;margin-bottom:56px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head .lede{margin-top:16px}
.section-head.center .lede{margin:16px auto 0}

.btn-white{align-self:stretch;padding:0 16px;background:#fff;color:var(--navy);text-align:center}
.btn-white:hover{background:var(--ice)}


/* ---------- Services (home) ---------- */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.service{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .15s,box-shadow .15s}
.service:hover{border-color:var(--gray5-color);box-shadow:0 18px 40px -24px color-mix(in srgb,var(--primary-color) 40%,transparent)}
.service img{width:100%;height:auto}
.service-art{position:relative;display:grid;place-items:center;height:150px;overflow:hidden;background:var(--ice);color:var(--primary-color,var(--primary-color))}
.service-art::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--primary-color) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--primary-color) 5%,transparent) 1px,transparent 1px);background-size:24px 24px}
.service-art svg{position:relative;z-index:1}
.service-body{display:flex;flex-direction:column;flex:1;padding:26px 24px 28px}
.service h3{margin-bottom:10px}
.service p{flex:1;margin-bottom:22px;font-size:.95rem;color:var(--slate)}

/* ---------- About (home) ---------- */
.about{background:linear-gradient(180deg,var(--gray1-color) 0%,#fff 100%)}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center}
.about .lede{margin-top:18px}
.checks{display:grid;gap:16px;margin:32px 0 40px;padding:0;list-style:none}
.checks li{display:flex;gap:14px;align-items:flex-start;font-weight:500}
.checks svg{flex-shrink:0;margin-top:2px;color:var(--secondary-color,var(--secondary-color))}
.about-panel{overflow:hidden;background:var(--primary-color,var(--primary-color));border-radius:var(--r-lg);color:#fff}
.about-photo{background:#fff;border-bottom:4px solid var(--secondary-color,var(--secondary-color))}
.about-photo img{width:100%;margin:0 auto}
.stats{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:30px 24px;text-align:center;border-left:1px solid var(--navy-line)}
.stat:first-child{border-left:0}
.stat b{display:block;font:800 2.2rem/1 "Host Grotesk", sans-serif;letter-spacing:-.02em}
.stat span{display:block;margin-top:8px;font-size:.88rem;color:var(--on-dark-muted)}

/* ---------- News section header (cards are in news.css) ---------- */
.news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}

/* ---------- Certifications ---------- */
.certs{padding:96px 0;border-top:1px solid var(--line)}
.certs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0;padding:0;list-style:none}
.certs-grid li{display:grid;place-items:center;height:120px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.certs-grid img{width:auto;max-width:80%;max-height:84px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.certs-grid li:hover img{filter:none;opacity:1}

/* ---------- Quote section (form styles are in gravity-quote.css) ---------- */
.quote{position:relative;overflow:hidden;isolation:isolate;background:var(--primary-color,var(--primary-color));color:#fff}
.quote::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(700px 400px at 100% 100%,color-mix(in srgb,var(--secondary-color) 35%,transparent),transparent 60%)}
.quote-grid{display:grid;grid-template-columns:1.4fr 1px 1fr;gap:64px;align-items:center;padding-top:96px;padding-bottom:96px}
.quote h2{color:#fff}
.quote .kicker{color:var(--sky)}
.quote .lede{margin:14px 0 32px;color:var(--on-dark-text)}
.quote-divider{width:1px;height:100%;background:var(--navy-line)}
.call{display:flex;flex-direction:column;gap:14px}
.call-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--tertiary-color) 12%,transparent);color:var(--sky)}
.call p{color:var(--on-dark-text)}
.call a.phone{font:800 clamp(1.9rem,3vw,2.5rem)/1 "Host Grotesk", sans-serif;letter-spacing:-.02em;color:#fff}
.call a.phone:hover{color:var(--sky)}
.call small{font-size:.88rem;color:var(--on-dark-muted)}
.next-steps{display:grid;gap:18px;margin-top:34px;padding:30px 0 0;list-style:none;border-top:1px solid var(--navy-line)}
.next-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;font-size:.93rem;color:var(--on-dark-muted)}
.next-steps span{display:grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--sky);border-radius:50%;font:700 .9rem/1 "Host Grotesk", sans-serif;color:var(--sky)}
.next-steps b{display:block;margin-bottom:2px;font-weight:600;color:#fff}

/* ---------- Footer (widget content) ---------- */
.footer{padding:80px 0 32px;background:#fff;border-top:1px solid var(--line)}
.footer h4{margin-bottom:18px;font:700 .98rem/1.2 "Host Grotesk", sans-serif;color:var(--primary-color,var(--primary-color))}
.footer ul{display:grid;gap:10px;padding:0;list-style:none}
.footer ul a{font-size:.92rem;color:var(--slate)}
.footer ul a:hover{color:var(--secondary-color,var(--secondary-color))}
.footer-about img{width:80px}
.footer-about p{max-width:36ch;margin:18px 0 22px;font-size:.92rem;color:var(--slate)}
.brand-name{font:800 1.05rem/1 "Host Grotesk", sans-serif;letter-spacing:.01em;color:var(--primary-color,var(--primary-color))}
.contact-list li{display:flex;gap:12px;font-size:.92rem;color:var(--slate)}
.contact-list svg{flex-shrink:0;margin-top:3px;color:var(--secondary-color,var(--secondary-color))}
.socials{display:flex;gap:10px}
.socials a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--primary-color,var(--primary-color))}
.socials a:hover{background:var(--primary-color,var(--primary-color));border-color:var(--primary-color,var(--primary-color));color:#fff}

/* ---------- Services page: values + certified card ---------- */
.values-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start}
.values-list{display:grid;gap:26px;margin-top:36px}
.value{display:grid;grid-template-columns:44px 1fr;gap:16px}
.value-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ice);color:var(--blue);font:800 1rem/1 "Host Grotesk", sans-serif}
.value h3{margin-bottom:4px;font-size:1.1rem}
.value p{font-size:.97rem;color:var(--slate)}
.values-note{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);color:var(--slate)}
.cert-card{padding:36px 36px 30px;background:var(--ice);border:1px solid var(--line);border-radius:var(--r-lg)}
.cert-card h3{margin-bottom:6px;font-size:1.25rem}
.cert-card > p{margin-bottom:22px;font-size:.95rem;color:var(--slate)}
.cert-card ul{display:grid;gap:13px;padding:0;list-style:none}
.cert-card li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem;font-weight:500}
.cert-card li svg{flex-shrink:0;margin-top:2px;color:var(--blue)}

/* ---------- Services page: service cards ---------- */
.svc-band{background:linear-gradient(180deg,var(--gray1-color) 0%,var(--ice) 100%)}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.svc{display:flex;flex-direction:column;padding:28px 24px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.svc:hover{transform:translateY(-3px);border-color:var(--gray5-color);box-shadow:0 24px 40px -24px color-mix(in srgb,var(--primary-color) 45%,transparent)}
.svc-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:20px;border-radius:14px;background:var(--ice);color:var(--navy);transition:background-color .15s,color .15s}
.svc:hover .svc-icon{background:var(--blue);color:#fff}
.svc h3{margin-bottom:8px;font-size:1.1rem}
.svc p{flex:1;margin-bottom:18px;font-size:.93rem;color:var(--slate)}
.svc--cta{justify-content:space-between;background:var(--navy);border-color:var(--navy);color:#fff}
.svc--cta h3{font-size:1.3rem;color:#fff}
.svc--cta p{color:var(--on-dark-text)}
.svc--cta .svc-icon{background:color-mix(in srgb,var(--tertiary-color) 16%,transparent);color:var(--sky)}
.svc--cta:hover .svc-icon{background:var(--blue);color:#fff}

/* ---------- Service detail page: app card ---------- */
.app-card{position:relative;width:100%;max-width:440px;margin:0 auto;padding:26px 24px 24px;background:var(--navy);border-radius:28px;color:#fff;box-shadow:0 40px 70px -30px color-mix(in srgb,var(--primary-color) 55%,transparent)}
.app-card::before{content:"";position:absolute;top:-18px;right:-18px;z-index:-1;width:140px;height:140px;border-radius:24px;background:var(--ice)}
.app-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:.85rem;color:var(--on-dark-muted)}
.app-site{font:700 1.15rem/1.2 "Host Grotesk", sans-serif;color:#fff}
.app-status{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:18px;border:1px solid rgba(95,213,143,.35);border-radius:16px;background:rgba(34,180,94,.14)}
.app-status .ring{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:50%;background:#22B45E;color:#fff}
.app-status b{display:block;font:700 1.05rem/1.2 "Host Grotesk", sans-serif}
.app-status span{font-size:.85rem;color:#A9D9BB}
.zones{display:grid;gap:2px;overflow:hidden;padding:0;list-style:none;border-radius:14px}
.zones li{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:rgba(255,255,255,.05);font-size:.92rem}
.zones li span:last-child{display:flex;align-items:center;gap:7px;font-size:.85rem;font-weight:600;color:#5FD58F}
.zones li span:last-child::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.app-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.app-btns span{display:grid;place-items:center;height:46px;border-radius:12px;background:rgba(255,255,255,.08);font-size:.92rem;font-weight:600}
.app-btns span:first-child{background:var(--blue)}

/* ---------- Accordion (details/summary) ---------- */
.accordion{margin-top:30px;border:0;border-top:1px solid var(--line)}
.accordion details{border-bottom:1px solid var(--line)}
.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;list-style:none;cursor:pointer;font:700 1.1rem/1.3 "Host Grotesk", sans-serif;color:var(--navy)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%231E7FD8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 1v10M1 6h10'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .2s}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion summary:hover{color:var(--blue)}
.accordion ul{display:grid;gap:10px;padding:0 0 22px;list-style:none}
.accordion li{display:flex;gap:12px;font-size:.97rem;color:var(--slate)}
.accordion li svg{flex-shrink:0;margin-top:3px;color:var(--blue)}
.accordion details p{max-width:60ch;padding:0 0 22px;color:var(--slate)}

/* ---------- Process steps ---------- */
.process{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff}
.process::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(800px 420px at 0% 0%,color-mix(in srgb,var(--secondary-color) 30%,transparent),transparent 60%),radial-gradient(700px 400px at 100% 100%,color-mix(in srgb,var(--secondary-color) 25%,transparent),transparent 60%)}
.process h2{color:#fff}
.process .kicker{color:var(--sky)}
.process .lede{color:var(--on-dark-text)}
.steps{position:relative;display:grid;gap:22px;max-width:980px;margin:0 auto;padding:0;list-style:none}
.steps::before{content:"";position:absolute;top:40px;bottom:40px;left:50%;border-left:2px dashed color-mix(in srgb,var(--tertiary-color) 30%,transparent)}
.step{position:relative;display:grid;grid-template-columns:1fr 96px 1fr;gap:32px;align-items:center}
.step-icon{grid-column:2;display:grid;place-items:center;width:96px;height:96px;border:2px solid color-mix(in srgb,var(--tertiary-color) 50%,transparent);border-radius:50%;background:var(--navy);color:var(--sky);box-shadow:0 0 0 8px var(--navy)}
.step-body{grid-row:1;padding:24px 26px;background:rgba(255,255,255,.05);border:1px solid var(--navy-line);border-radius:var(--r-md)}
.step:nth-child(odd) .step-body{grid-column:1;text-align:right}
.step:nth-child(even) .step-body{grid-column:3}
.step-num{display:block;margin-bottom:8px;font:600 .82rem/1 "Inter", system-ui, sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--sky)}
.step h3{margin-bottom:8px;font-size:1.2rem;color:#fff}
.step p{font-size:.96rem;color:var(--on-dark-text)}
.process-cta{margin-top:52px;text-align:center}

/* ---------- Feature list + keypad visual ---------- */
.feature-list{display:grid;gap:12px;margin:22px 0 34px;padding:0;list-style:none}
.feature-list li{display:flex;gap:12px;font-weight:500}
.feature-list svg{flex-shrink:0;margin-top:2px;color:var(--blue)}
.keypad-visual{position:relative;width:100%;max-width:460px;margin:0 auto}
.keypad-visual img{display:block;width:100%;height:auto}
.log-card{position:absolute;right:-24px;bottom:40px;width:220px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 24px 50px -24px color-mix(in srgb,var(--primary-color) 45%,transparent)}
.log-card h4{margin-bottom:10px;font:700 .92rem/1.2 "Host Grotesk", sans-serif;color:var(--navy)}
.log-card ul{margin:0;padding:0}
.log-card li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;list-style:none;border-top:1px solid var(--gray2-color);font-size:.82rem;color:var(--slate)}
.log-card li:first-of-type{border-top:0}
.log-card time{white-space:nowrap;color:var(--gray7-color)}

.related{background:linear-gradient(180deg,var(--gray1-color) 0%,var(--ice) 100%);border-top:1px solid var(--line)}

/* ---------- About page ---------- */
.prose p:not(.kicker){margin-top:16px;font-size:1.03rem;color:var(--slate)}
.prose h2 + p{margin-top:20px}
.prose strong{color:var(--ink)}
.signoff{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.signoff svg,.signoff img{flex-shrink:0;width:44px;height:auto}
.signoff b{display:block;font:700 1rem/1.3 "Host Grotesk", sans-serif;color:var(--navy)}
.signoff span{font-size:.9rem;color:var(--slate)}

.timeline{position:relative;display:grid;gap:8px;padding-left:34px;list-style:none}
.timeline::before{content:"";position:absolute;top:10px;bottom:10px;left:9px;border-left:2px solid var(--line)}
.tl{position:relative;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.tl::before{content:"";position:absolute;top:24px;left:-31px;width:16px;height:16px;border:3px solid var(--blue);border-radius:50%;background:#fff}
.tl--now::before{background:var(--blue)}
.tl-year{font:700 .85rem/1 "Inter", system-ui, sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
.tl h3{margin:8px 0 6px;font-size:1.08rem}
.tl p{font-size:.94rem;color:var(--slate)}

.stats-band{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff}
.stats-band::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(700px 360px at 85% 0%,color-mix(in srgb,var(--secondary-color) 35%,transparent),transparent 60%)}
.stats-band ul{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.stats-band li{padding:52px 24px;text-align:center;border-left:1px solid var(--navy-line)}
.stats-band li:first-child{border-left:0}
.stats-band b{display:block;font:800 clamp(2.2rem,4vw,3rem)/1 "Host Grotesk", sans-serif;letter-spacing:-.02em}
.stats-band span{display:block;margin-top:10px;font-size:.95rem;color:var(--on-dark-muted)}

.values-band{background:linear-gradient(180deg,var(--gray1-color) 0%,var(--ice) 100%);border-top:1px solid var(--line)}
.value-card{padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.value-card .num{display:block;margin-bottom:18px;font:800 2.4rem/1 "Host Grotesk", sans-serif;color:var(--ice);-webkit-text-stroke:1.5px var(--blue)}
.value-card h3{margin-bottom:8px;font-size:1.15rem}
.value-card p{font-size:.95rem;color:var(--slate)}

.team-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.team-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ice)}
.team-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .4s ease}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-body{padding:24px}
.team-body h3{margin-bottom:8px;font-size:1.15rem}
.team-body p{font-size:.95rem;color:var(--slate)}

.giving{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:56px;background:var(--ice);border:1px solid var(--line);border-radius:var(--r-lg)}
.giving .awards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.giving .awards div{display:grid;place-items:center;height:150px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.giving .awards img{width:auto;max-height:96px}

/* ---------- Contact page ---------- */
.form-card{padding:40px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 30px 60px -40px color-mix(in srgb,var(--primary-color) 35%,transparent)}
.form-card h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
.form-card > p{margin:10px 0 28px;color:var(--slate)}
.details{display:grid;gap:16px}
.detail{display:flex;gap:16px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md)}
.detail .d-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--ice);color:var(--blue)}
.detail h3{margin-bottom:6px;font-size:1.05rem}
.detail p,.detail address{font-size:.95rem;font-style:normal;color:var(--slate)}
.detail a{font-weight:600;color:var(--blue)}
.detail a:hover{text-decoration:underline}
.hours{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:.95rem;color:var(--slate)}
.hours dt{font-weight:600;color:var(--ink)}
.map-wrap{position:relative;height:440px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--light-color),var(--gray3-color))}
.map-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;filter:saturate(.85)}
.map-card{position:absolute;bottom:28px;left:28px;max-width:340px;padding:22px 24px;background:#fff;border-radius:var(--r-md);box-shadow:0 24px 50px -20px color-mix(in srgb,var(--primary-color) 45%,transparent)}
.map-card h3{margin-bottom:6px;font-size:1.1rem}
.map-card address{margin-bottom:16px;font-size:.95rem;font-style:normal;color:var(--slate)}
.map-card .btn{min-height:44px;padding:10px;font-size:.92rem}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1199.98px){
  .services-grid,.svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .certs-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:991.98px){
  .section{padding:64px 0}
  .services-grid,.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid,.values-grid,.giving{grid-template-columns:1fr;gap:48px}
  .giving{padding:40px 28px}
  .quote-grid{grid-template-columns:1fr;gap:48px;padding-top:72px;padding-bottom:72px}
  .quote-divider{display:none}
  .certs{padding:72px 0}
  .certs-grid{grid-template-columns:repeat(3,1fr)}
  .stats-band ul{grid-template-columns:repeat(2,1fr)}
  .stats-band li:nth-child(3){border-left:0}
  .stats-band li:nth-child(n+3){border-top:1px solid var(--navy-line)}

  .steps::before{left:48px}
  .step{grid-template-columns:96px 1fr;gap:20px}
  .step-icon{grid-column:1}
  .step:nth-child(odd) .step-body,.step:nth-child(even) .step-body{grid-column:2;text-align:left}
  .log-card{right:0}
  .form-card{padding:28px 22px}
}
@media (max-width:767.98px){
  .news-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:575.98px){
  .section{padding:52px 0}
  .services-grid,.svc-grid{grid-template-columns:1fr}
  .certs-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr}
  .stat{border-left:0;border-top:1px solid var(--navy-line)}
  .stat:first-child{border-top:0}
  .stats-band li{padding:36px 12px}
  .cert-card{padding:28px 22px}

  .steps::before{left:32px}
  .step{grid-template-columns:64px 1fr;gap:14px}
  .step-icon{width:64px;height:64px;box-shadow:0 0 0 6px var(--navy)}
  .step-icon svg{width:28px;height:28px}
  .step-body{padding:20px}
  .log-card{position:relative;right:auto;bottom:auto;width:auto;margin-top:-30px}

  .map-wrap{display:flex;flex-direction:column;height:auto}
  .map-wrap iframe{position:relative;height:300px}
  .map-card{position:relative;bottom:auto;left:auto;max-width:none;border-radius:0;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .service,.svc,.svc-icon,.team-photo img,.certs-grid img,.accordion summary::after{transition:none}
}


/* =========================================================
   2. SITE HEADER
   ========================================================= */

:root{--nas-header-h:100px}
@media (max-width:991.98px){:root{--nas-header-h:76px}}
/* The header is fixed on desktop only; on tablets and phones it scrolls with the page. */

/* ---------- Bar ---------- */
#main-header.main-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:999;
  background:#fff;border-bottom:1px solid var(--gray3-color);box-shadow:none;
  transition:background-color .3s ease,box-shadow .3s ease;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;-webkit-font-smoothing:antialiased}
#main-header.main-header.scrolled{box-shadow:0 10px 30px -12px color-mix(in srgb,var(--primary-color) 25%,transparent)}
.admin-bar #main-header.main-header{top:32px}
@media (max-width:782px){.admin-bar #main-header.main-header{top:46px}}
@media (max-width:600px){.admin-bar #main-header.main-header{top:0}}

/* Push the page below the fixed header */
body{padding-top:var(--nas-header-h)}

#main-header,#main-header .container{overflow:visible}
#main-header .container{position:static}
#main-header .main-header__bar{position:static;display:flex;flex-wrap:nowrap;align-items:center;gap:24px;height:var(--nas-header-h);padding:0}

/* ---------- Logo: hangs below the bar into the banner ---------- */
#main-header .logo-area{position:relative;align-self:flex-start;flex-shrink:0;display:block;width:130px;height:var(--nas-header-h);margin:0;padding:0;z-index:2}
#main-header .logo-area img{position:absolute;top:10px;left:0;display:block;width:130px;max-width:none;height:auto;
  filter:drop-shadow(0 10px 18px color-mix(in srgb,var(--dark-color) 45%,transparent));transition:transform .2s}
#main-header .logo-area:hover img{transform:translateY(-2px)}
#main-header .logo-area .site-title{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;
  font:800 20px/1.1 "Host Grotesk", sans-serif;color:var(--primary-color)}

/* ---------- Menu ---------- */
#main-header .navbar-collapse{flex-grow:1;justify-content:flex-end}
#main-header .navbar-nav{align-items:center;gap:2px;margin:0;padding:0}
#main-header .navbar-nav > .nav-item > .nav-link{display:flex;align-items:center;gap:6px;padding:12px 12px;
  font:500 15px/1.2 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--gray9-color);white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
#main-header .navbar-nav > .nav-item > .nav-link:hover,
#main-header .navbar-nav > .nav-item > .nav-link:focus,
#main-header .navbar-nav > .nav-item.show > .nav-link{color:var(--secondary-color)}
#main-header .navbar-nav > .current-menu-item > .nav-link,
#main-header .navbar-nav > .current-menu-ancestor > .nav-link,
#main-header .navbar-nav > .current_page_parent > .nav-link,
#main-header .navbar-nav > .nav-item > .nav-link.active{color:var(--secondary-color);border-bottom-color:var(--secondary-color)}

#main-header .navbar-nav .dropdown-toggle::after{content:"";width:7px;height:7px;margin:-3px 0 0 2px;border:0;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg)}
#main-header .navbar-nav .dropdown-menu{min-width:230px;margin-top:0;padding:8px;border:1px solid var(--gray3-color);border-radius:12px;box-shadow:0 18px 40px -16px color-mix(in srgb,var(--primary-color) 35%,transparent)}
#main-header .navbar-nav .dropdown-item{padding:10px 12px;border-radius:8px;font:500 14px/1.3 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--gray9-color);white-space:normal}
#main-header .navbar-nav .dropdown-item:hover,#main-header .navbar-nav .dropdown-item:focus,
#main-header .navbar-nav .dropdown-item.active,#main-header .navbar-nav .current-menu-item > .dropdown-item{background:var(--light-color);color:var(--secondary-color)}

/* Desktop: dropdowns open on hover and keyboard focus */
@media (min-width:992px){
  #main-header .navbar-nav .dropdown:hover > .dropdown-menu,
  #main-header .navbar-nav .dropdown:focus-within > .dropdown-menu{display:block}
}

/* ---------- Phone ---------- */
#main-header .nav-phone{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:20px;border-left:1px solid var(--gray3-color);
  font:700 16px/1 "Host Grotesk", sans-serif;color:var(--primary-color);text-decoration:none;white-space:nowrap}
#main-header .nav-phone svg{color:var(--secondary-color);flex-shrink:0}
#main-header .nav-phone:hover{color:var(--secondary-color)}

/* ---------- Menu button ---------- */
#main-header .navbar-toggler{display:none;width:46px;height:46px;margin:0;padding:0;place-items:center;border:1px solid var(--gray3-color);border-radius:6px;background:#fff;color:var(--primary-color);box-shadow:none}
#main-header .navbar-toggler:focus{box-shadow:none}
#main-header a:focus-visible,#main-header button:focus-visible{outline:3px solid var(--tertiary-color);outline-offset:2px;box-shadow:none}

/* ---------- Line the banners up with the header's .container ---------- */
body .hero-slider{--hs-header-offset:40px}
body .hero-slider .hero-container,body .hero-trust .hero-container{padding-left:12px;padding-right:12px}
@media (min-width:576px){body .hero-slider .hero-container,body .hero-trust .hero-container{max-width:540px}}
@media (min-width:768px){body .hero-slider .hero-container,body .hero-trust .hero-container{max-width:720px}}
@media (min-width:992px){body .hero-slider .hero-container,body .hero-trust .hero-container{max-width:960px}}
@media (min-width:1200px){body .hero-slider .hero-container,body .hero-trust .hero-container{max-width:1140px}}
@media (min-width:1400px){body .hero-slider .hero-container,body .hero-trust .hero-container{max-width:1320px}}

/* Narrower desktops: phone shows as an icon */
@media (max-width:1199.98px){
  #main-header .nav-phone{width:44px;height:44px;justify-content:center;padding:0;border:1px solid var(--gray3-color);border-radius:50%}
  #main-header .nav-phone__number{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #main-header .main-header__bar{gap:14px}
  #main-header .navbar-nav > .nav-item > .nav-link{padding:12px 9px}
}

/* ---------- Tablet & mobile ---------- */
@media (max-width:991.98px){
  /* Not fixed on mobile: header scrolls away with the page */
  #main-header.main-header,.admin-bar #main-header.main-header{position:relative;top:auto}
  body{padding-top:0}

  #main-header .logo-area,#main-header .logo-area img{width:84px}
  #main-header .logo-area img{top:6px}
  #main-header .nav-phone{margin-left:auto}
  #main-header .navbar-toggler{display:grid}

  /* Menu opens as a full-width panel under the bar */
  #main-header .navbar-collapse{position:absolute;top:100%;left:0;right:0;z-index:5;background:#fff;border-bottom:1px solid var(--gray3-color);
    box-shadow:0 20px 30px -20px color-mix(in srgb,var(--primary-color) 30%,transparent);padding:8px clamp(20px,4vw,48px) 20px;max-height:calc(100vh - var(--nas-header-h));overflow-y:auto}
  /* Stack the menu vertically (overrides any theme rule that sets it to a row) */
  #main-header .navbar-collapse .navbar-nav{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:0;width:100%;margin:0!important}
  #main-header .navbar-nav > .nav-item{display:block;width:100%;margin:0!important;float:none}
  #main-header .navbar-nav > .nav-item > .nav-link{display:block;width:100%;padding:14px 4px;font-size:16px;border-bottom:1px solid var(--gray2-color);text-align:left}
  #main-header .navbar-nav > .current-menu-item > .nav-link,
  #main-header .navbar-nav > .current_page_parent > .nav-link,
  #main-header .navbar-nav > .nav-item > .nav-link.active{border-bottom-color:var(--gray2-color)}
  /* Submenus always shown under their parent */
  #main-header .navbar-nav .dropdown-menu{display:block;position:static;margin:6px 0 10px 8px;padding:0 0 0 10px;border:0;border-left:2px solid var(--gray3-color);border-radius:0;box-shadow:none}
  #main-header .navbar-nav .dropdown-toggle::after{display:none}

  body .hero-slider{--hs-header-offset:24px}
}
@media (max-width:575.98px){
  #main-header .logo-area,#main-header .logo-area img{width:72px}
}
@media (prefers-reduced-motion:reduce){
  #main-header *{transition:none!important}
}


/* =========================================================
   3. HOME BANNER SLIDER + TRUST BAR
   ========================================================= */

.hero-slider{
  /* Design tokens */
  --hs-navy:var(--primary-color);
  --hs-navy-deep:var(--dark-color);
  --hs-line:var(--primary-line);
  --hs-blue:var(--secondary-color);
  --hs-blue-hover:var(--secondary-hover);
  --hs-sky:var(--tertiary-color);
  --hs-muted:var(--on-dark-text);
  --hs-max:1200px;
  --hs-gutter:clamp(20px,4vw,48px);

  /* Root rem can be changed by themes (Bootstrap 3 sets 10px), so sizes here use px/em. */

  /* Height of your theme header when it sits ON TOP of the banner
     (transparent / absolute header). Set to 0px if the header sits above it. */
  --hs-header-offset:120px;

  position:relative;overflow:hidden;isolation:isolate;
  background:var(--hs-navy);color:#fff;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-size:16px;line-height:1.6;text-align:left;
  -webkit-font-smoothing:antialiased;
}
.hero-slider *,.hero-slider *::before,.hero-slider *::after{box-sizing:border-box}
.hero-slider::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 500px at 85% 20%,color-mix(in srgb,var(--secondary-color) 35%,transparent),transparent 60%),
    linear-gradient(180deg,var(--hs-navy) 0%,var(--hs-navy-deep) 100%)}
.hero-slider img{max-width:100%;height:auto;display:block;border:0}
.hero-slider :focus-visible{outline:3px solid var(--hs-sky);outline-offset:3px;border-radius:4px}

/* Own container (not .container / .wrap, so the theme grid can't resize it) */
.hero-slider .hero-container{width:100%;max-width:calc(var(--hs-max) + var(--hs-gutter) * 2);margin:0 auto;padding-left:var(--hs-gutter);padding-right:var(--hs-gutter)}

/* ---------- Slides ---------- */
.hero-slider .hero-swiper{width:100%}
.hero-slider .swiper-wrapper{align-items:stretch}
.hero-slider .hero-slide{position:relative;height:auto;display:flex;align-items:center;overflow:hidden}

.hero-slider .hero-slide__bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:0}
.hero-slider .hero-slide__shade{position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--dark-color) 95%,transparent) 0%,color-mix(in srgb,var(--primary-color) 85%,transparent) 45%,color-mix(in srgb,var(--primary-color) 55%,transparent) 100%)}
.hero-slider .hero-slide:not(.has-bg)::after{content:"";position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(color-mix(in srgb,var(--tertiary-color) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--tertiary-color) 7%,transparent) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}

.hero-slider .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;
  padding-top:calc(var(--hs-header-offset) + 72px);padding-bottom:150px}
.hero-slider .hero-copy{min-width:0}

.hero-slider .hero-kicker{margin:0 0 14px;padding:0;font:600 .95em/1.35 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--hs-sky);letter-spacing:0;text-transform:none;text-align:left}
.hero-slider .hero-slide__title{margin:0;padding:0;font-family:"Host Grotesk", sans-serif;font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1.06;letter-spacing:-.025em;color:#fff;text-transform:none;max-width:15ch}
.hero-slider .hero-text{margin:24px 0 36px;padding:0;max-width:46ch;font:400 1.075em/1.65 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--hs-muted);text-align:left}

/* Buttons (own classes, so Bootstrap .btn / .btn-primary don't apply) */
.hero-slider .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.hero-slider .hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;margin:0;
  border-radius:6px;border:1.5px solid transparent;font:600 1em/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;letter-spacing:0;text-transform:none;
  text-decoration:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.hero-slider .hero-cta--primary,.hero-slider .hero-cta--primary:visited{background:var(--hs-blue);border-color:var(--hs-blue);color:#fff}
.hero-slider .hero-cta--primary:hover,.hero-slider .hero-cta--primary:focus{background:var(--hs-blue-hover);border-color:var(--hs-blue-hover);color:#fff;text-decoration:none}
.hero-slider .hero-cta--ghost,.hero-slider .hero-cta--ghost:visited{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.hero-slider .hero-cta--ghost:hover,.hero-slider .hero-cta--ghost:focus{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;text-decoration:none}

/* Product panel */
.hero-slider .hero-visual{position:relative;min-width:0}
.hero-slider .showcase{position:relative;border-radius:20px;background:linear-gradient(160deg,var(--gray1-color) 0%,var(--gray3-color) 100%);padding:28px 22px 22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.hero-slider .showcase img{width:100%;aspect-ratio:2/1;object-fit:contain;mix-blend-mode:multiply;border-radius:12px}
.hero-slider .live-tag{position:absolute;top:-16px;left:24px;z-index:2;display:flex;align-items:center;gap:10px;background:#fff;color:var(--hs-navy);padding:10px 16px 10px 12px;border-radius:999px;font:600 .85em/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;box-shadow:0 12px 30px -10px color-mix(in srgb,var(--dark-color) 45%,transparent)}
.hero-slider .live-dot{width:10px;height:10px;border-radius:50%;background:#22B45E;animation:hs-pulse 2.4s ease-out infinite}
@keyframes hs-pulse{0%{box-shadow:0 0 0 0 rgba(34,180,94,.55)}70%{box-shadow:0 0 0 10px rgba(34,180,94,0)}100%{box-shadow:0 0 0 0 rgba(34,180,94,0)}}

/* Entrance for the slide that just became active */
.hero-slider.is-ready .hero-copy > *,.hero-slider.is-ready .hero-visual{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.hero-slider.is-ready .swiper-slide-active .hero-copy > *,.hero-slider.is-ready .swiper-slide-active .hero-visual{opacity:1;transform:none}
.hero-slider.is-ready .swiper-slide-active .hero-copy > :nth-child(2){transition-delay:.08s}
.hero-slider.is-ready .swiper-slide-active .hero-copy > :nth-child(3){transition-delay:.16s}
.hero-slider.is-ready .swiper-slide-active .hero-copy > :nth-child(4){transition-delay:.24s}
.hero-slider.is-ready .swiper-slide-active .hero-visual{transition-delay:.18s}
/* Before Swiper starts, show only the first slide */
.hero-slider:not(.is-ready) .hero-slide:not(:first-child){display:none}

/* ---------- Controls: labelled tabs with autoplay progress ---------- */
.hero-slider .hero-controls{position:absolute;left:0;right:0;bottom:36px;z-index:5}
.hero-slider .hero-controls .hero-container{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.hero-slider .hero-pagination{display:flex;gap:28px;position:static;width:auto;margin:0;padding:0;transform:none}
.hero-slider .hero-pagination .swiper-pagination-bullet{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-width:150px;padding-top:4px}
.hero-slider .hero-tab__label{font:600 .88em/1.2 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--on-dark-muted);transition:color .2s;text-align:left}
.hero-slider .hero-tab__bar{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.2);overflow:hidden}
.hero-slider .hero-tab__bar i{display:block;height:100%;width:100%;background:var(--hs-blue);transform-origin:left;transform:scaleX(0)}
.hero-slider .hero-pagination .swiper-pagination-bullet:hover .hero-tab__label,
.hero-slider .hero-pagination .swiper-pagination-bullet-active .hero-tab__label{color:#fff}
.hero-slider .hero-pagination .swiper-pagination-bullet-active .hero-tab__bar i{transform:scaleX(var(--hero-progress,1))}
.hero-slider .hero-pagination .swiper-pagination-bullet:focus-visible{outline:3px solid var(--hs-sky);outline-offset:6px;border-radius:4px}

.hero-slider .hero-nav{display:flex;gap:10px;flex-shrink:0}
.hero-slider .hero-btn{all:unset;box-sizing:border-box;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:color-mix(in srgb,var(--dark-color) 40%,transparent);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .15s,border-color .15s}
.hero-slider .hero-btn:hover{background:var(--hs-blue);border-color:var(--hs-blue)}
.hero-slider .hero-btn:focus-visible{outline:3px solid var(--hs-sky);outline-offset:3px}
.hero-slider .hero-btn[hidden]{display:none}
.hero-slider .hero-btn .icon-play{display:none}
.hero-slider .hero-btn[aria-pressed="true"] .icon-pause{display:none}
.hero-slider .hero-btn[aria-pressed="true"] .icon-play{display:block}
.hero-slider.is-single .hero-controls{display:none}
.hero-slider.is-single .hero-grid{padding-bottom:112px}

@media (max-width:960px){
  .hero-slider{--hs-header-offset:90px}
  .hero-slider .hero-grid{grid-template-columns:1fr;gap:48px;padding-top:calc(var(--hs-header-offset) + 48px);padding-bottom:130px}
  .hero-slider .hero-controls .hero-container{align-items:center}
  .hero-slider .hero-pagination{flex:1;gap:16px}
  .hero-slider .hero-pagination .swiper-pagination-bullet{min-width:0;flex:1}
}
@media (max-width:640px){
  .hero-slider .hero-tab__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hero-slider .hero-pagination .swiper-pagination-bullet{padding:14px 0}
  .hero-slider .hero-controls{bottom:20px}
  .hero-slider .hero-btn{width:42px;height:42px}
  .hero-slider .hero-grid{padding-bottom:104px}
  .hero-slider .hero-cta{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .hero-slider.is-ready .hero-copy > *,.hero-slider.is-ready .hero-visual{transition:none;transform:none}
  .hero-slider .live-dot{animation:none}
}

/* =========================================================
   Trust bar under the banner
   ========================================================= */
.hero-trust{
  --hs-navy-deep:var(--dark-color);--hs-line:var(--primary-line);--hs-sky:var(--tertiary-color);
  --hs-max:1200px;--hs-gutter:clamp(20px,4vw,48px);
  background:var(--hs-navy-deep);border-top:1px solid var(--hs-line);color:#fff;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-size:16px;line-height:1.4;text-align:left;-webkit-font-smoothing:antialiased;
}
.hero-trust *{box-sizing:border-box}
.hero-trust .hero-container{width:100%;max-width:calc(var(--hs-max) + var(--hs-gutter) * 2);margin:0 auto;padding-left:var(--hs-gutter);padding-right:var(--hs-gutter)}
.hero-trust .hero-trust__list{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.hero-trust .hero-trust__item{display:flex;align-items:center;gap:16px;margin:0;padding:26px 24px;border-left:1px solid var(--hs-line)}
.hero-trust .hero-trust__item:first-child{border-left:0;padding-left:0}
.hero-trust .hero-trust__item svg{flex-shrink:0;color:var(--hs-sky)}
.hero-trust .hero-trust__title{display:block;margin:0 0 3px;font:700 16px/1.3 "Host Grotesk", sans-serif;color:#fff}
.hero-trust .hero-trust__sub{display:block;font:400 14px/1.4 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--on-dark-muted)}

@media (max-width:1100px){
  .hero-trust .hero-trust__list{grid-auto-flow:row;grid-template-columns:repeat(2,1fr)}
  .hero-trust .hero-trust__item{border-left:0;padding-left:0;padding-right:16px}
}
@media (max-width:640px){
  .hero-trust .hero-trust__list{grid-template-columns:1fr}
  .hero-trust .hero-trust__item{padding:16px 0;border-top:1px solid var(--hs-line)}
  .hero-trust .hero-trust__item:first-child{border-top:0}
}


/* =========================================================
   4. INNER PAGE BANNER
   ========================================================= */

.page-hero{position:relative;overflow:hidden;isolation:isolate;margin:0;background:var(--primary-color);color:#fff;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-size:16px;line-height:1.6;text-align:left;-webkit-font-smoothing:antialiased}
.page-hero *,.page-hero *::before,.page-hero *::after{box-sizing:border-box}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 500px at 85% 20%,color-mix(in srgb,var(--secondary-color) 35%,transparent),transparent 60%),linear-gradient(180deg,var(--primary-color) 0%,var(--dark-color) 100%)}
.page-hero:not(.has-bg)::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:linear-gradient(color-mix(in srgb,var(--tertiary-color) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--tertiary-color) 7%,transparent) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}

/* Optional background photo */
.page-hero .page-hero__bg{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-width:none;object-fit:cover;margin:0}
.page-hero .page-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--dark-color) 95%,transparent) 0%,color-mix(in srgb,var(--primary-color) 85%,transparent) 45%,color-mix(in srgb,var(--primary-color) 60%,transparent) 100%)}

/* Layout (written without fr units so WordPress's built-in code checker accepts it).
   Widths match Bootstrap's .container so it lines up with the header.
   The top padding leaves room for the logo hanging below the header. */
.page-hero .page-hero__container{position:relative;width:100%;margin:0 auto;padding:112px 12px 96px;
  display:grid;grid-template-columns:calc(51% - 28px) calc(49% - 28px);gap:56px;align-items:center}
@media (min-width:576px){.page-hero .page-hero__container{max-width:540px}}
@media (min-width:768px){.page-hero .page-hero__container{max-width:720px}}
@media (min-width:992px){.page-hero .page-hero__container{max-width:960px}}
@media (min-width:1200px){.page-hero .page-hero__container{max-width:1140px}}
@media (min-width:1400px){.page-hero .page-hero__container{max-width:1320px}}
.page-hero--text-only .page-hero__container{grid-template-columns:100%;padding-bottom:88px}
.page-hero--text-only .page-hero__copy{max-width:760px}
.page-hero--image-left .page-hero__visual{order:-1}
.page-hero .page-hero__copy{min-width:0}

/* Breadcrumb */
.page-hero .page-hero__crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px;padding:0;font-size:14px;color:var(--on-dark-muted)}
.page-hero .page-hero__crumbs li{margin:0;padding:0}
.page-hero .page-hero__crumbs li+li::before{content:"/";margin-right:8px;color:var(--gray7-color)}
.page-hero .page-hero__crumbs a{color:var(--on-dark-text);text-decoration:none}
.page-hero .page-hero__crumbs a:hover{color:#fff;text-decoration:underline}

/* Text */
.page-hero .page-hero__kicker{margin:0 0 12px;padding:0;font:600 15px/1.35 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--tertiary-color);text-align:left}
.page-hero .page-hero__title,
.page-hero .page-hero__text h1,.page-hero .page-hero__text h2,.page-hero .page-hero__text h3{margin:0;padding:0;max-width:18ch;
  font:800 clamp(36px,4.6vw,58px)/1.06 "Host Grotesk", sans-serif;letter-spacing:-.025em;color:#fff;text-transform:none}
.page-hero .page-hero__meta{margin:14px 0 0;padding:0;font-size:15px;color:var(--on-dark-muted);text-align:left}
.page-hero .page-hero__text{margin:22px 0 0;max-width:52ch;color:var(--on-dark-text);font-size:17px;line-height:1.65}
.page-hero .page-hero__text p{margin:0 0 12px;padding:0;color:inherit;font-size:inherit;line-height:inherit;text-align:left}
.page-hero .page-hero__text p:last-child{margin-bottom:0}
.page-hero .page-hero__text h1+p,.page-hero .page-hero__text h2+p,.page-hero .page-hero__text h3+p{margin-top:22px}
.page-hero .page-hero__text a{color:#fff;text-decoration:underline}
.page-hero .page-hero__text strong{color:#fff}

/* Buttons */
.page-hero .page-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 0}
.page-hero .ph-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;margin:0;border-radius:6px;border:1.5px solid transparent;
  font:600 16px/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;text-decoration:none;white-space:nowrap;box-shadow:none;transition:background-color .15s,border-color .15s}
.page-hero .ph-btn--primary,.page-hero .ph-btn--primary:visited{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff}
.page-hero .ph-btn--primary:hover,.page-hero .ph-btn--primary:focus{background:var(--secondary-hover);border-color:var(--secondary-hover);color:#fff}
.page-hero .ph-btn--ghost,.page-hero .ph-btn--ghost:visited{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.page-hero .ph-btn--ghost:hover,.page-hero .ph-btn--ghost:focus{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.page-hero a:focus-visible{outline:3px solid var(--tertiary-color);outline-offset:3px}

/* Image panel */
.page-hero .page-hero__visual{min-width:0}
.page-hero .page-hero__panel{position:relative;border-radius:20px;background:linear-gradient(160deg,var(--gray1-color) 0%,var(--gray3-color) 100%);padding:28px 22px 22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.page-hero .page-hero__img{display:block;width:100%;max-width:100%;height:auto;margin:0;mix-blend-mode:multiply;border-radius:12px}
.page-hero .page-hero__badge{position:absolute;top:-16px;left:24px;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 16px 10px 12px;border-radius:999px;background:#fff;color:var(--primary-color);
  font:600 14px/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;box-shadow:0 12px 30px -10px color-mix(in srgb,var(--dark-color) 45%,transparent)}
.page-hero .page-hero__badge svg{color:#22B45E}

@media (max-width:991.98px){
  .page-hero .page-hero__container{grid-template-columns:100%;gap:48px;padding-top:72px;padding-bottom:72px}
  .page-hero--image-left .page-hero__visual{order:0}
}
@media (max-width:575.98px){
  .page-hero .page-hero__container{padding-left:20px;padding-right:20px}
  .page-hero .ph-btn{width:100%}
}


/* =========================================================
   5. [blog-slider] NEWS CARDS
   ========================================================= */

.nas-news .news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}
.nas-news .post{display:flex;flex-direction:column;margin:0;background:#fff;border:1px solid var(--gray3-color);border-radius:12px;overflow:hidden;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;text-align:left;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.nas-news .post:hover{border-color:var(--gray5-color);box-shadow:0 18px 40px -24px color-mix(in srgb,var(--primary-color) 40%,transparent);transform:translateY(-2px)}

/* Image / icon panel */
.nas-news .post-art{position:relative;display:grid;place-items:center;aspect-ratio:16/8;overflow:hidden;color:#fff;text-decoration:none}
.nas-news .post-art.a{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 85%,var(--secondary-color)),var(--secondary-color))}
.nas-news .post-art.b{background:linear-gradient(135deg,var(--dark-color),color-mix(in srgb,var(--primary-color) 70%,var(--secondary-color)))}
.nas-news .post-art.c{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary-color) 70%,var(--primary-color)),color-mix(in srgb,var(--secondary-color) 70%,#fff))}
.nas-news .post-art svg{opacity:.9}
.nas-news .post-art img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;transition:transform .4s ease}
.nas-news .post:hover .post-art img{transform:scale(1.04)}

/* Text */
.nas-news .post-body{display:flex;flex-direction:column;flex:1;padding:24px 24px 28px}
.nas-news .post-body time{font-size:14px;font-weight:500;color:var(--gray8-color)}
.nas-news .post-body h3{margin:8px 0 10px;padding:0;font:700 19px/1.3 "Host Grotesk", sans-serif;letter-spacing:-.005em;text-transform:none}
.nas-news .post-body h3 a{color:var(--primary-color);text-decoration:none}
.nas-news .post-body h3 a:hover{color:var(--secondary-color)}
.nas-news .post-body p{flex:1;margin:0 0 20px;padding:0;font-size:15px;line-height:1.6;color:var(--gray8-color);text-align:left}
.nas-news .text-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-weight:600;font-size:15px;color:var(--secondary-color);text-decoration:none}
.nas-news .text-link:hover{color:var(--secondary-hover);text-decoration:none}
.nas-news .text-link svg{transition:transform .15s}
.nas-news .text-link:hover svg{transform:translateX(3px)}
.nas-news a:focus-visible{outline:3px solid var(--tertiary-color);outline-offset:3px;border-radius:4px}
.nas-news .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:991.98px){.nas-news .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.nas-news .news-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.nas-news *{transition:none!important}}


/* =========================================================
   6. BLOG HOME
   ========================================================= */

.blog-home{background:#fff;font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color:var(--text-color)}
.blog-home *,.blog-home *::before,.blog-home *::after{box-sizing:border-box}
.blog-home .bh-container{width:100%;margin:0 auto;padding:72px 12px 96px}
@media (min-width:576px){.blog-home .bh-container{max-width:540px}}
@media (min-width:768px){.blog-home .bh-container{max-width:720px}}
@media (min-width:992px){.blog-home .bh-container{max-width:960px}}
@media (min-width:1200px){.blog-home .bh-container{max-width:1140px}}
@media (min-width:1400px){.blog-home .bh-container{max-width:1320px}}

/* Rows */
.blog-home .bh-row{display:grid;gap:24px;margin:0 0 24px}
.blog-home .bh-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-home .bh-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.blog-home .bh-row--featured{grid-template-columns:100%;margin-bottom:40px}
.blog-home .bh-row--compact{margin-top:40px;padding-top:40px;border-top:1px solid var(--gray3-color)}

/* Card base */
.blog-home .bh-post{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--gray3-color);border-radius:12px;overflow:hidden;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.blog-home .bh-post:hover{border-color:var(--gray5-color);box-shadow:0 18px 40px -24px color-mix(in srgb,var(--primary-color) 40%,transparent);transform:translateY(-2px)}
.blog-home .bh-post__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--light-color)}
.blog-home .bh-post__media img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;transition:transform .4s ease}
.blog-home .bh-post:hover .bh-post__media img{transform:scale(1.04)}
.blog-home .bh-post__media.is-empty{display:grid;place-items:center;color:#fff}
.blog-home .bh-post__media.is-empty svg{opacity:.85}
.blog-home .bh-tone-a{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 85%,var(--secondary-color)),var(--secondary-color))!important}
.blog-home .bh-tone-b{background:linear-gradient(135deg,var(--dark-color),color-mix(in srgb,var(--primary-color) 70%,var(--secondary-color)))!important}
.blog-home .bh-tone-c{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary-color) 70%,var(--primary-color)),color-mix(in srgb,var(--secondary-color) 70%,#fff))!important}
.blog-home .bh-post__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:22px 24px 26px}

.blog-home .bh-badge{display:inline-block;margin:0 0 12px;padding:5px 10px;border-radius:999px;background:var(--light-color);color:var(--secondary-color);
  font:600 12px/1 "Inter", system-ui, sans-serif;letter-spacing:.02em;text-decoration:none}
.blog-home .bh-badge:hover{background:var(--secondary-color);color:#fff}
.blog-home .bh-post__title{margin:0 0 10px;padding:0;font:700 20px/1.3 "Host Grotesk", sans-serif;letter-spacing:-.005em;text-transform:none}
.blog-home .bh-post__title a{color:var(--primary-color);text-decoration:none}
.blog-home .bh-post__title a:hover{color:var(--secondary-color)}
.blog-home .bh-post__excerpt{flex:1;margin:0 0 16px;padding:0;color:var(--gray8-color);font-size:15px;line-height:1.6;text-align:left}

.blog-home .bh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;font-size:13px;color:var(--gray7-color)}
.blog-home .bh-meta__avatar img{width:32px;height:32px;border-radius:50%;display:block}
.blog-home .bh-dot{width:3px;height:3px;border-radius:50%;background:var(--gray5-color)}
.blog-home .bh-more{display:inline-flex;align-items:center;gap:6px;color:var(--secondary-color);font-weight:600;font-size:15px;text-decoration:none}
.blog-home .bh-more:hover{color:var(--secondary-hover)}
.blog-home .bh-more svg{transition:transform .15s}
.blog-home .bh-more:hover svg{transform:translateX(3px)}
.blog-home a:focus-visible{outline:3px solid var(--tertiary-color);outline-offset:3px;border-radius:4px}
.blog-home .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Row 1: featured */
.blog-home .bh-post--featured{display:grid;grid-template-columns:58% 42%;border-radius:20px}
.blog-home .bh-post--featured .bh-post__media{aspect-ratio:auto;min-height:420px}
.blog-home .bh-post--featured .bh-post__body{justify-content:center;padding:44px 48px}
.blog-home .bh-post--featured .bh-post__title{font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
.blog-home .bh-post--featured .bh-post__excerpt{flex:0;font-size:17px;margin-bottom:22px}
.blog-home .bh-flag{position:absolute;top:18px;left:18px;padding:8px 14px;border-radius:999px;background:#fff;color:var(--primary-color);font:700 13px/1 "Inter", system-ui, sans-serif;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--dark-color) 50%,transparent)}

/* Row 3: call-to-action card */
.blog-home .bh-cta{display:flex;flex-direction:column;align-items:flex-start;padding:32px 28px;border-radius:12px;color:#fff;
  background:radial-gradient(420px 260px at 100% 0%,color-mix(in srgb,var(--secondary-color) 45%,transparent),transparent 60%),linear-gradient(160deg,var(--primary-color),var(--dark-color))}
.blog-home .bh-cta__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--tertiary-color) 16%,transparent);color:var(--tertiary-color);margin-bottom:22px}
.blog-home .bh-cta__kicker{margin:0 0 8px;color:var(--tertiary-color);font-weight:600;font-size:14px}
.blog-home .bh-cta__title{margin:0 0 12px;color:#fff;font:800 24px/1.2 "Host Grotesk", sans-serif;letter-spacing:-.015em}
.blog-home .bh-cta__text{flex:1;margin:0 0 24px;color:var(--on-dark-text);font-size:15px;line-height:1.6;text-align:left}
.blog-home .bh-cta__btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:6px;background:var(--secondary-color);color:#fff;font-weight:600;text-decoration:none;transition:background-color .15s}
.blog-home .bh-cta__btn:hover{background:var(--secondary-hover);color:#fff}

/* Row 4: wide cards (image left) */
.blog-home .bh-post--wide{display:grid;grid-template-columns:42% 58%}
.blog-home .bh-post--wide .bh-post__media{aspect-ratio:auto;min-height:100%}
.blog-home .bh-post--wide .bh-post__title{font-size:21px}

/* Row 5: compact cards */
.blog-home .bh-post--compact .bh-post__body{padding:18px 20px 20px}
.blog-home .bh-post--compact .bh-post__title{font-size:17px}
.blog-home .bh-post--compact .bh-post__excerpt{font-size:14px;margin-bottom:12px}
.blog-home .bh-post--compact .bh-meta{margin:0}

/* Pagination */
.blog-home .bh-pagination{display:block!important;margin-top:56px;padding:0}
.blog-home .bh-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.blog-home .bh-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--gray3-color);border-radius:8px;
  color:var(--gray9-color);font-weight:600;font-size:15px;text-decoration:none;background:#fff;transition:all .15s}
.blog-home .bh-pagination a.page-numbers:hover{border-color:var(--secondary-color);color:var(--secondary-color)}
.blog-home .bh-pagination .page-numbers.current{background:var(--primary-color);border-color:var(--primary-color);color:#fff}
.blog-home .bh-pagination .page-numbers.dots{border:0;min-width:24px;padding:0}
.blog-home .bh-pagination .prev{margin-right:auto}
.blog-home .bh-pagination .next{margin-left:auto}
.blog-home .bh-pagination .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.blog-home .bh-empty{text-align:center;padding:60px 0}
.blog-home .bh-empty h2{font:800 28px/1.2 "Host Grotesk", sans-serif;color:var(--primary-color)}
.blog-home .bh-empty p{color:var(--gray8-color)}

/* Responsive */
@media (max-width:1100px){
  .blog-home .bh-post--wide{grid-template-columns:1fr}
  .blog-home .bh-post--wide .bh-post__media{aspect-ratio:16/9;min-height:0}
}
@media (max-width:960px){
  .blog-home .bh-row--three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-home .bh-post--featured{grid-template-columns:1fr}
  .blog-home .bh-post--featured .bh-post__media{min-height:0;aspect-ratio:16/9}
  .blog-home .bh-post--featured .bh-post__body{padding:28px 26px 30px}
}
@media (max-width:640px){
  .blog-home .bh-container{padding:48px 20px 72px}
  .blog-home .bh-row--three,.blog-home .bh-row--two{grid-template-columns:1fr}
  .blog-home .bh-pagination .prev span,.blog-home .bh-pagination .next span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce){.blog-home *{transition:none!important}}


/* =========================================================
   7. SINGLE POST
   ========================================================= */

.single-post-page .sp-container{padding-top:40px}

/* Meta strip */
.single-post-page .sp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px;padding:0 0 28px;margin:0 0 32px;border-bottom:1px solid var(--gray3-color)}
.single-post-page .sp-meta small{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray7-color);margin-bottom:3px}
.single-post-page .sp-meta b{display:block;font:600 15px/1.3 "Inter", system-ui, sans-serif;color:var(--primary-color)}
.single-post-page .sp-meta__author{display:flex;align-items:center;gap:12px}
.single-post-page .sp-meta__author img{width:44px;height:44px;border-radius:50%;display:block}
.single-post-page .sp-meta__cats{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.single-post-page .sp-meta__cats .bh-badge{margin:0}

/* Featured image */
.single-post-page .sp-hero-image{margin:0 0 48px}
.single-post-page .sp-hero-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:20px}
.single-post-page .sp-hero-image figcaption{margin-top:10px;font-size:14px;color:var(--gray7-color);text-align:center}

/* Two columns: article + sidebar */
.single-post-page .sp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.single-post-page .sp-main{min-width:0;max-width:760px}

/* ---------- Article typography ---------- */
.single-post-page .sp-content{font-size:18px;line-height:1.75;color:var(--gray9-color);text-align:left}
.single-post-page .sp-content > *{margin-top:0;margin-bottom:1.25em}
.single-post-page .sp-content p{text-align:left;font-size:inherit;line-height:inherit;color:inherit}
.single-post-page .sp-content > p:first-child{font-size:21px;line-height:1.65;color:var(--text-color)}
.single-post-page .sp-content h2,.single-post-page .sp-content h3,.single-post-page .sp-content h4{font-family:"Host Grotesk", sans-serif;color:var(--primary-color);text-transform:none;letter-spacing:-.015em;scroll-margin-top:140px}
.single-post-page .sp-content h2{font-size:clamp(26px,2.4vw,32px);line-height:1.2;font-weight:800;margin-top:1.8em;margin-bottom:.6em}
.single-post-page .sp-content h3{font-size:22px;line-height:1.3;font-weight:700;margin-top:1.6em;margin-bottom:.5em}
.single-post-page .sp-content h4{font-size:18px;font-weight:700;margin-top:1.4em;margin-bottom:.4em}
.single-post-page .sp-content a{color:var(--secondary-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.single-post-page .sp-content a:hover{color:var(--secondary-hover)}
.single-post-page .sp-content strong{color:var(--text-color)}
.single-post-page .sp-content ul,.single-post-page .sp-content ol{padding-left:1.4em}
.single-post-page .sp-content li{margin-bottom:.5em}
.single-post-page .sp-content ul li::marker{color:var(--secondary-color)}
.single-post-page .sp-content ol li::marker{color:var(--secondary-color);font-weight:700}
.single-post-page .sp-content blockquote{margin:2em 0;padding:24px 28px;border-left:4px solid var(--secondary-color);border-radius:0 12px 12px 0;background:var(--light-color);font-size:20px;line-height:1.6;color:var(--primary-color)}
.single-post-page .sp-content blockquote p{margin:0}
.single-post-page .sp-content blockquote cite{display:block;margin-top:10px;font-size:15px;font-style:normal;color:var(--gray8-color)}
.single-post-page .sp-content img{max-width:100%;height:auto;border-radius:12px}
.single-post-page .sp-content figure{margin:2em 0}
.single-post-page .sp-content figcaption,.single-post-page .sp-content .wp-caption-text{margin-top:8px;font-size:14px;color:var(--gray7-color);text-align:center}
.single-post-page .sp-content table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}
.single-post-page .sp-content th,.single-post-page .sp-content td{padding:12px 14px;border-bottom:1px solid var(--gray3-color);text-align:left}
.single-post-page .sp-content th{background:var(--light-color);color:var(--primary-color);font-weight:700}
.single-post-page .sp-content code{padding:2px 6px;border-radius:4px;background:var(--light-color);font-size:.9em}
.single-post-page .sp-content pre{padding:18px;border-radius:12px;background:var(--dark-color);color:var(--light-color);overflow-x:auto;font-size:15px}
.single-post-page .sp-content hr{border:0;border-top:1px solid var(--gray3-color);margin:2.5em 0}
.single-post-page .sp-pages{display:flex;gap:8px;align-items:center;font-weight:600}

/* Tags + share */
.single-post-page .sp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:40px 0 0}
.single-post-page .sp-tags span{font-weight:700;color:var(--primary-color);margin-right:6px}
.single-post-page .sp-tags a{padding:6px 12px;border:1px solid var(--gray3-color);border-radius:999px;color:var(--gray8-color);font-size:14px;text-decoration:none}
.single-post-page .sp-tags a:hover{border-color:var(--secondary-color);color:var(--secondary-color)}
.single-post-page .sp-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:32px 0 0;padding:20px 0;border-top:1px solid var(--gray3-color);border-bottom:1px solid var(--gray3-color)}
.single-post-page .sp-share > span{font-weight:700;color:var(--primary-color)}
.single-post-page .sp-share__links{display:flex;align-items:center;gap:8px}
.single-post-page .sp-share__btn{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--gray3-color);border-radius:50%;background:#fff;color:var(--primary-color);cursor:pointer;transition:all .15s}
.single-post-page .sp-share__btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}
.single-post-page .sp-share__btn:focus-visible{outline:3px solid var(--tertiary-color);outline-offset:2px}
.single-post-page .sp-copy__note{font-size:14px;color:#1B8A4B;font-weight:600}

/* Author box */
.single-post-page .sp-author{display:flex;gap:22px;margin:40px 0 0;padding:28px;border-radius:16px;background:var(--light-color)}
.single-post-page .sp-author img{width:80px;height:80px;border-radius:50%;flex-shrink:0;display:block}
.single-post-page .sp-author small{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--secondary-color);font-weight:600}
.single-post-page .sp-author__name{margin:4px 0 8px;font:700 20px/1.3 "Host Grotesk", sans-serif;color:var(--primary-color)}
.single-post-page .sp-author p{margin:0 0 12px;color:var(--gray8-color);font-size:16px;line-height:1.6;text-align:left}

/* Previous / next */
.single-post-page .sp-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0 0}
.single-post-page .sp-prevnext__link{display:block;padding:20px 22px;border:1px solid var(--gray3-color);border-radius:12px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.single-post-page .sp-prevnext__link:hover{border-color:var(--gray5-color);box-shadow:0 14px 30px -20px color-mix(in srgb,var(--primary-color) 40%,transparent)}
.single-post-page .sp-prevnext__link small{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--secondary-color)}
.single-post-page .sp-prevnext__link b{display:block;font:700 16px/1.35 "Host Grotesk", sans-serif;color:var(--primary-color)}
.single-post-page .sp-prevnext__link--next{text-align:right}

/* Sidebar */
.single-post-page .sp-sticky{position:sticky;top:140px;display:grid;gap:20px}
.admin-bar .single-post-page .sp-sticky{top:172px}
.single-post-page .sp-toc{padding:24px;border:1px solid var(--gray3-color);border-radius:12px;background:#fff}
.single-post-page .sp-side-title{margin:0 0 14px;font:700 16px/1.3 "Host Grotesk", sans-serif;color:var(--primary-color)}
.single-post-page .sp-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;display:grid;gap:2px}
.single-post-page .sp-toc li{counter-increment:toc;margin:0}
.single-post-page .sp-toc a{display:grid;grid-template-columns:26px 1fr;padding:8px 10px;border-radius:8px;color:var(--gray8-color);font-size:15px;line-height:1.4;text-decoration:none;transition:background-color .15s,color .15s}
.single-post-page .sp-toc a::before{content:counter(toc,decimal-leading-zero);font-weight:700;font-size:13px;color:var(--on-dark-muted);padding-top:1px}
.single-post-page .sp-toc a:hover,.single-post-page .sp-toc a.is-active{background:var(--light-color);color:var(--primary-color)}
.single-post-page .sp-toc a.is-active::before{color:var(--secondary-color)}
.single-post-page .sp-cta .bh-cta__title{font-size:22px}
.single-post-page .sp-cta .bh-cta__text{flex:0}

/* Related + comments */
.single-post-page .sp-related{margin-top:88px;padding-top:56px;border-top:1px solid var(--gray3-color)}
.single-post-page .sp-related__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}
.single-post-page .sp-related__head h2{margin:0;font:800 clamp(26px,2.6vw,34px)/1.15 "Host Grotesk", sans-serif;color:var(--primary-color);letter-spacing:-.02em}
.single-post-page .sp-comments{max-width:760px;margin-top:64px}

/* Responsive */
@media (max-width:1100px){
  .single-post-page .sp-layout{grid-template-columns:minmax(0,1fr) 290px;gap:40px}
}
@media (max-width:960px){
  .single-post-page .sp-layout{grid-template-columns:1fr}
  .single-post-page .sp-main{max-width:none}
  .single-post-page .sp-sticky{position:static}
  .single-post-page .sp-toc{display:none}
  .single-post-page .sp-meta__cats{margin-left:0}
}
@media (max-width:640px){
  .single-post-page .sp-content{font-size:17px}
  .single-post-page .sp-content > p:first-child{font-size:19px}
  .single-post-page .sp-hero-image{margin-bottom:32px}
  .single-post-page .sp-hero-image img{border-radius:14px}
  .single-post-page .sp-author{flex-direction:column;padding:24px}
  .single-post-page .sp-prevnext{grid-template-columns:1fr}
  .single-post-page .sp-prevnext__link--next{text-align:left}
}


/* =========================================================
   8. GRAVITY FORMS — QUOTE FORM
   ========================================================= */

.quote-form .gform_wrapper{margin:0!important;padding:0!important;max-width:none!important;
  --gf-ctrl-bg-color:var(--dark-color);--gf-ctrl-border-color:var(--primary-line-strong);--gf-ctrl-color:#fff;--gf-ctrl-label-color-primary:var(--on-dark-text);
  --gf-color-primary:var(--secondary-color);--gf-ctrl-btn-bg-color-primary:var(--secondary-color);--gf-ctrl-placeholder-color:var(--gray7-color);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}

/* Two-column grid with the message full width */
.quote-form .gform_wrapper .gform_fields{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:14px!important;row-gap:14px!important}
.quote-form .gform_wrapper .gfield{grid-column:1 / -1;margin:0!important;padding:0!important}
.quote-form .gform_wrapper .gfield--width-half{grid-column:span 6}

/* Labels */
.quote-form .gform_wrapper .gfield_label,
.quote-form .gform_wrapper .gform-field-label{display:block;margin:0 0 6px!important;padding:0!important;
  font:500 14px/1.3 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important;color:var(--on-dark-text)!important}
.quote-form .gform_wrapper .gfield_required{color:var(--tertiary-color)!important;margin-left:3px;font-weight:600}

/* Inputs */
.quote-form .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.quote-form .gform_wrapper select,
.quote-form .gform_wrapper textarea{width:100%!important;min-height:50px;margin:0!important;padding:12px 14px!important;border:1px solid var(--primary-line-strong)!important;border-radius:6px!important;
  background-color:var(--dark-color)!important;color:#fff!important;box-shadow:none!important;
  font:400 16px/1.4 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important}
.quote-form .gform_wrapper textarea{min-height:120px!important;height:120px;resize:vertical}
.quote-form .gform_wrapper select{-webkit-appearance:none;appearance:none;padding-right:40px!important;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%237CC0FF' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:12px 8px!important}
.quote-form .gform_wrapper select option{background:var(--dark-color);color:#fff}
.quote-form .gform_wrapper ::placeholder{color:var(--gray7-color)!important;opacity:1}
.quote-form .gform_wrapper input:focus,.quote-form .gform_wrapper select:focus,.quote-form .gform_wrapper textarea:focus{
  outline:none!important;border-color:var(--tertiary-color)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tertiary-color) 25%,transparent)!important}

/* Submit button */
.quote-form .gform_wrapper .gform_footer,
.quote-form .gform_wrapper .gform_page_footer{margin:20px 0 0!important;padding:0!important}
.quote-form .gform_wrapper .gform_button,
.quote-form .gform_wrapper .gform_footer input[type="submit"],
.quote-form .gform_wrapper .gform_footer button{width:100%!important;min-height:52px;margin:0!important;padding:0 24px!important;border:0!important;border-radius:6px!important;
  background:var(--secondary-color)!important;color:#fff!important;cursor:pointer;box-shadow:none!important;text-transform:none!important;
  font:600 16px/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important;transition:background-color .15s}
.quote-form .gform_wrapper .gform_button:hover,.quote-form .gform_wrapper .gform_footer input[type="submit"]:hover{background:var(--secondary-hover)!important}
.quote-form .gform_wrapper .gform_button:focus-visible{outline:3px solid var(--tertiary-color)!important;outline-offset:3px}
.quote-form .gform_wrapper .gform_ajax_spinner{margin-left:10px}

/* Errors */
.quote-form .gform_wrapper .gfield_error input,
.quote-form .gform_wrapper .gfield_error select,
.quote-form .gform_wrapper .gfield_error textarea{border-color:#FF8A80!important}
.quote-form .gform_wrapper .gfield_error .gfield_label{color:#FFB4AB!important}
.quote-form .gform_wrapper .validation_message,
.quote-form .gform_wrapper .gfield_validation_message{margin:6px 0 0!important;padding:0!important;border:0!important;background:none!important;color:#FFB4AB!important;font-size:14px!important}
.quote-form .gform_wrapper .gform_validation_errors{margin:0 0 18px!important;padding:12px 16px!important;border:1px solid #FF8A80!important;border-radius:8px!important;background:rgba(255,138,128,.1)!important;box-shadow:none!important}
.quote-form .gform_wrapper .gform_validation_errors h2,
.quote-form .gform_wrapper .gform_validation_errors .gform_submission_error{margin:0!important;color:#FFB4AB!important;font-size:15px!important;font-weight:600}

/* Thank-you message */
.quote-form .gform_confirmation_message{padding:18px 20px;border:1px solid rgba(95,213,143,.5);border-radius:10px;background:rgba(95,213,143,.1);color:#fff;font-size:16px;line-height:1.6;text-align:left}
.quote-form .gform_confirmation_message strong{color:#5FD58F}

/* Hide the honeypot and Orbital's "required fields" note */
.quote-form .gform_wrapper .gform_validation_container,
.quote-form .gform_wrapper .gform_required_legend{display:none!important}

@media (max-width:640px){
  .quote-form .gform_wrapper .gfield--width-half{grid-column:1 / -1}
}


/* =========================================================
   9. GRAVITY FORMS — CONTACT FORM
   ========================================================= */

.contact-form-gf .gform_wrapper{margin:0!important;padding:0!important;max-width:none!important;
  --gf-ctrl-border-color:var(--gray4-color);--gf-color-primary:var(--secondary-color);--gf-ctrl-btn-bg-color-primary:var(--secondary-color);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}

/* Two-column grid */
.contact-form-gf .gform_wrapper .gform_fields{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px!important;row-gap:16px!important}
.contact-form-gf .gform_wrapper .gfield{grid-column:1 / -1;margin:0!important;padding:0!important;border:0}
.contact-form-gf .gform_wrapper .gfield--width-half{grid-column:span 6}

/* Labels */
.contact-form-gf .gform_wrapper .gfield_label,
.contact-form-gf .gform_wrapper .gform-field-label:not(.gform-field-label--type-inline),
.contact-form-gf .gform_wrapper legend.gfield_label{display:block;margin:0 0 6px!important;padding:0!important;
  font:600 14px/1.3 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important;color:var(--text-color)!important}
.contact-form-gf .gform_wrapper .gfield_required{color:var(--secondary-color)!important;margin-left:3px}

/* Inputs */
.contact-form-gf .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.contact-form-gf .gform_wrapper select,
.contact-form-gf .gform_wrapper textarea{width:100%!important;min-height:50px;margin:0!important;padding:12px 14px!important;
  border:1px solid var(--gray4-color)!important;border-radius:6px!important;background:#fff!important;color:var(--text-color)!important;box-shadow:none!important;
  font:400 16px/1.4 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important}
.contact-form-gf .gform_wrapper textarea{min-height:140px!important;height:140px;resize:vertical}
.contact-form-gf .gform_wrapper ::placeholder{color:var(--gray7-color)!important;opacity:1}
.contact-form-gf .gform_wrapper input:focus,.contact-form-gf .gform_wrapper textarea:focus,.contact-form-gf .gform_wrapper select:focus{
  outline:none!important;border-color:var(--secondary-color)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary-color) 18%,transparent)!important}

/* "What can we help with?" radio buttons as pills (field CSS class: nas-pills) */
.contact-form-gf .gform_wrapper .nas-pills .gfield_radio{display:flex!important;flex-wrap:wrap;gap:8px!important;margin:0;padding:0}
.contact-form-gf .gform_wrapper .nas-pills .gchoice{position:relative;display:block;margin:0!important;padding:0!important}
.contact-form-gf .gform_wrapper .nas-pills .gchoice input[type="radio"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important}
.contact-form-gf .gform_wrapper .nas-pills .gchoice label{display:inline-flex!important;align-items:center;min-height:40px;max-width:none!important;margin:0!important;padding:0 16px!important;
  border:1px solid var(--gray4-color);border-radius:999px;background:#fff;cursor:pointer;
  font:500 15px/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important;color:var(--gray8-color)!important;transition:background-color .15s,border-color .15s,color .15s}
.contact-form-gf .gform_wrapper .nas-pills .gchoice label::before,
.contact-form-gf .gform_wrapper .nas-pills .gchoice label::after{display:none!important}
.contact-form-gf .gform_wrapper .nas-pills .gchoice label:hover{border-color:var(--secondary-color);color:var(--secondary-color)!important}
.contact-form-gf .gform_wrapper .nas-pills .gchoice input:checked + label{background:var(--primary-color);border-color:var(--primary-color);color:#fff!important}
.contact-form-gf .gform_wrapper .nas-pills .gchoice input:focus-visible + label{outline:3px solid var(--tertiary-color);outline-offset:2px}

/* Button */
.contact-form-gf .gform_wrapper .gform_footer{margin:22px 0 0!important;padding:0!important}
.contact-form-gf .gform_wrapper .gform_button,
.contact-form-gf .gform_wrapper .gform_footer input[type="submit"],
.contact-form-gf .gform_wrapper .gform_footer button{width:100%!important;min-height:54px;margin:0!important;padding:0 24px!important;border:0!important;border-radius:6px!important;
  background:var(--secondary-color)!important;color:#fff!important;cursor:pointer;box-shadow:none!important;text-transform:none!important;
  font:600 16px/1 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif!important;transition:background-color .15s}
.contact-form-gf .gform_wrapper .gform_button:hover,.contact-form-gf .gform_wrapper .gform_footer input[type="submit"]:hover{background:var(--secondary-hover)!important}
.contact-form-gf .gform_wrapper .gform_button:focus-visible{outline:3px solid var(--tertiary-color)!important;outline-offset:3px}

/* Errors */
.contact-form-gf .gform_wrapper .gfield_error input,
.contact-form-gf .gform_wrapper .gfield_error textarea{border-color:#D93025!important}
.contact-form-gf .gform_wrapper .gfield_error .gfield_label{color:#C5221F!important}
.contact-form-gf .gform_wrapper .validation_message,
.contact-form-gf .gform_wrapper .gfield_validation_message{margin:6px 0 0!important;padding:0!important;border:0!important;background:none!important;color:#C5221F!important;font-size:14px!important}
.contact-form-gf .gform_wrapper .gform_validation_errors{margin:0 0 18px!important;padding:12px 16px!important;border:1px solid #F3B4AE!important;border-radius:8px!important;background:#FDF0EF!important;box-shadow:none!important}
.contact-form-gf .gform_wrapper .gform_validation_errors h2{margin:0!important;color:#C5221F!important;font-size:15px!important;font-weight:600}

/* Thank-you message */
.contact-form-gf .gform_confirmation_message{padding:18px 20px;border:1px solid #BFE5CD;border-radius:10px;background:#EEF9F2;color:var(--text-color);font-size:16px;line-height:1.6;text-align:left}
.contact-form-gf .gform_confirmation_message strong{color:#1B8A4B}

/* Hide honeypot and Orbital's "required fields" note (the card already says it) */
.contact-form-gf .gform_wrapper .gform_validation_container,
.contact-form-gf .gform_wrapper .gform_required_legend{display:none!important}

@media (max-width:640px){
  .contact-form-gf .gform_wrapper .gfield--width-half{grid-column:1 / -1}
}


/* =========================================================
   10. CORPORATE CONTENT — layouts and photo styles used by the
       Page Builder sections on the corporate pages
   ========================================================= */

/* Two-column split (service detail, about story) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.sub-h{margin:30px 0 8px;font-size:1.2rem}

/* About page grids */
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

/* Contact page grids */
.contact-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:48px;align-items:start}
.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}

/* Photos in service cards and the about panel */
.service > img,.service img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0;background:var(--line)}
.about-photo img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:16/10;object-fit:cover}

/* Photos instead of product shots: no multiply blend, crop to fill */
.hero-slider .showcase{padding:10px;background:#fff}
.hero-slider .showcase img{aspect-ratio:16/10;object-fit:cover;mix-blend-mode:normal;border-radius:14px;background:var(--line)}
.page-hero .page-hero__panel{padding:10px;background:#fff}
.page-hero .page-hero__img{aspect-ratio:16/10;object-fit:cover;mix-blend-mode:normal;border-radius:14px;background:var(--line)}
.keypad-visual img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}

/* Client / partner names in the logo grid */
.certs-grid .partner{display:flex;align-items:center;gap:10px;font:700 1.15rem/1 "Host Grotesk", sans-serif;letter-spacing:.02em;color:var(--gray7-color);transition:color .2s}
.certs-grid li:hover .partner{color:var(--navy)}

/* Award badges (about page, giving back) */
.award-badge{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font:700 .9rem/1.2 "Host Grotesk", sans-serif;color:var(--navy)}
.award-badge small{font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray7-color)}

@media (max-width:1199.98px){
  .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:991.98px){
  .split,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:48px}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:575.98px){
  .value-grid,.team-grid{grid-template-columns:1fr}
}
