/* Brand layer v2 (30 Sep 2026): saynine.ai colour scheme and type, site-wide.
   Navy page (#031d3d) with white panels (60px corners), League Spartan everywhere, blue pill buttons with a
   navy circle arrow. Loaded after main.css + v4.css on every page; the home page adds home.css on top. */
@font-face{font-family:"League Spartan";src:url("/assets/fonts/league-spartan-var.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --font-display:"League Spartan","Helvetica Neue",Arial,sans-serif;
  --font-body:"League Spartan","Helvetica Neue",Arial,sans-serif;
  --navy:#031d3d; --navy-2:#10335f;
  --ink:#181f35; --text:#181f35; --text-2:#4a5578; --muted:#646e8c;
  --brand:#077dfd; --brand-600:#0569d6; --brand-50:#e5f1ff; --brand-100:#c6e1ff; --brand-200:#99caff;
  --line:#dcdfea;
  --mesh:none; --grad:#077dfd; --warm:#aae9ff;
  --arrow-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- Page frame: navy base, white content panel ---------- */
html{background:var(--navy)}
body{background:var(--navy);font-size:1.0625rem;line-height:1.6;color:var(--text-2)}
main{background:#fff;border-radius:0 0 60px 60px;overflow:clip}
main:has(> .sn){background:transparent;border-radius:0}
@media (max-width:767px){main{border-radius:0 0 32px 32px}}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-weight:700;letter-spacing:-.01em;color:var(--ink)}
h3,h4{letter-spacing:0}
.eyebrow{font-family:var(--font-display);font-weight:500;font-size:.95rem;letter-spacing:.02em;text-transform:none;border:0;background:var(--navy);color:#fff;padding:.4rem 1rem .3rem}
.lead{color:var(--text-2)}
a{color:var(--brand)}
.grad-text{background:none;-webkit-text-fill-color:currentColor;color:var(--brand)}

/* ---------- Buttons: blue pill, navy circle arrow ---------- */
.btn{font-weight:600;font-size:1.1rem;letter-spacing:0;border-width:2px;padding:.75rem 1.5rem .6rem}
.btn-sm{font-size:1rem;min-height:44px;padding:.55rem 1.1rem .45rem}
.btn-primary,.btn-light,a.btn-primary,a.btn-light{background:var(--brand);color:#fff;box-shadow:none}
.btn-primary::before,.btn-light::before{display:none}
.btn-primary:hover,.btn-light:hover{background:var(--brand-600);filter:none;box-shadow:0 14px 30px -14px rgba(7,125,253,.8)}
.btn-primary:not(.no-arrow):not(:has(.icon))::after{width:32px;height:32px;margin:-.3rem -1rem -.3rem .1rem;border-radius:50%;background:var(--navy) var(--arrow-white) center/16px no-repeat;-webkit-mask:none;mask:none}
.btn-primary.btn-sm:not(.no-arrow):not(:has(.icon))::after{width:26px;height:26px;margin:-.2rem -.7rem -.2rem 0;background-size:13px}
.btn-ghost,a.btn-ghost{color:var(--ink);background:#fff;border-color:var(--ink);box-shadow:none}
.btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Offer bar ---------- */
.topbar{background:var(--brand);font-size:.95rem}
.topbar-inner{min-height:40px}
.topbar-tag{background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:700}
.topbar b{background:rgba(255,255,255,.16);border:1px dashed rgba(255,255,255,.6)}

/* ---------- Header: white bar, big navy links ---------- */
.site-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header.is-scrolled{background:#fff}
.brand svg{height:32px}
.nav-link{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--navy);border-radius:200px;padding:.5rem .85rem .35rem}
.nav-link:hover,.nav-link.is-active,.has-menu.is-open>.nav-link{background:var(--brand-50);color:var(--navy)}
.nav-link.is-active{color:var(--brand)}
.nav-new{background:var(--brand);color:#fff;border-radius:200px;padding:.1rem .45rem 0}
.menu{border-radius:24px}
.menu-item strong,.menu-foot{font-family:var(--font-display);font-weight:600;color:var(--navy)}
.menu-icon{background:var(--brand-50);color:var(--brand)}
.menu-promo{background:var(--navy);color:#fff}
.menu-promo strong{color:#fff}
.menu-promo small{color:#b9c0d4}
.menu-promo-tag{background:var(--brand);color:#fff}
.menu-promo .link-arrow{color:#aae9ff}
.nav-cta .btn-ghost{border-color:transparent;background:transparent}
.nav-cta .btn-ghost:hover{background:var(--brand-50);color:var(--navy)}
@media (max-width:960px){
  .nav-link{border-radius:0;font-size:1.2rem}
  .nav-link:hover,.nav-link.is-active,.has-menu.is-open>.nav-link{background:none}
  .nav-cta .btn-ghost{border-color:var(--ink)}
}

/* ---------- Footer: white panel with rounded top on navy ---------- */
.site-footer{background:#fff;border-top:0;border-radius:60px 60px 0 0;margin-top:24px;padding-top:clamp(3.5rem,6vw,5rem)}
.footer-col h2{font-family:var(--font-display);font-size:1.25rem;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:700}
.footer-col a:not(.btn){color:var(--text-2);font-size:1.05rem;transition:color .2s}
.footer-col a:not(.btn):hover{color:var(--brand);text-decoration:none}
.footer-brand p{color:var(--text-2)}
.footer-socials a{background:var(--brand-50);border-radius:50%}
.footer-contact address a:not(.btn){color:var(--navy)}
.footer-legal{border-top-color:var(--line);color:var(--muted)}
@media (max-width:767px){.site-footer{border-radius:32px 32px 0 0}}

/* ---------- Shapes and surfaces ---------- */
.card,.svc-card,.price-card,.case-card,.post-card{border-radius:24px}
.section-alt{background:#f6faff}
.field input,.field select,.field textarea{border-radius:12px;font-family:var(--font-body)}
.mobile-bar-cta{font-family:var(--font-display);font-weight:600;background:var(--brand)}
.cookie-bar{font-family:var(--font-body)}

/* ---------- Motion: page headings paint immediately (better LCP) ---------- */
[data-reveal]{filter:none!important}
.page-hero [data-reveal],.tl-hero [data-reveal],.mk-hero [data-reveal],.hero [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}

/* =====================================================================
   Inner pages (30 Sep 2026): the same SayNine language on every page.
   ===================================================================== */

/* ---------- Clean-up: remove decorative noise ---------- */
.scroll-progress,.cta-glow{display:none!important}
.hero-bg,.hero-mesh{background:none}
.hero-bg::before,.hero-mesh::before,.tl-hero-bg,.tl-hero-bg::before,.tl-hero-bg::after{display:none!important}
.hero-bg::after,.hero-mesh::after{background-image:linear-gradient(rgba(3,29,61,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(3,29,61,.045) 1px,transparent 1px);background-size:96px 96px;-webkit-mask-image:linear-gradient(#000 30%,transparent 95%);mask-image:linear-gradient(#000 30%,transparent 95%)}
.card::after,.svc-card::after,.price-card::after,.mk-card::after{display:none}
.svc-card.is-top::before,.price-card.is-featured::before,.card-feature::before{display:none}
.eyebrow::before,.eyebrow::after,.section-head.center .eyebrow::after{display:none!important}
.eyebrow{display:inline-flex;width:max-content;max-width:100%}

/* ---------- Headings and page heroes ---------- */
h1.display,.display{font-weight:700;letter-spacing:-.015em}
.page-hero,.sv-hero,.tl-hero,.mk-hero{border-bottom:0}
.page-hero .display{max-width:20ch;font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.04}
.page-hero .lead,.sv-hero .lead{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55;max-width:60ch}
.hero-pill{font-family:var(--font-display);background:#e5f1ff;border:0;box-shadow:none;color:var(--navy)}
.section-head h2,.section h2{letter-spacing:-.015em}

/* ---------- Sections ---------- */
.section-alt{background:#f6faff}

/* ---------- Cards: soft, rounded, gentle lift ---------- */
.card,.svc-card,.price-card,.mk-card,.case-card,.post-card,.svc-mini,.niche-tile{border:1px solid rgba(3,29,61,.07);border-radius:24px;box-shadow:0 10px 26px rgba(3,29,61,.06);background:#fff}
.card:hover,.svc-card:hover,.price-card:hover,.mk-card:hover,.case-card:hover,.post-card:hover,.niche-tile:hover{transform:translateY(-4px);border-color:rgba(3,29,61,.07);box-shadow:0 18px 38px rgba(3,29,61,.12)}
.card-icon,.svc-ico,.managed-ico,.toast-icon{background:#e5f1ff!important;color:var(--brand)!important;box-shadow:none!important;border-radius:16px}
.card h3,.svc-card h3,.post-card-title{font-weight:700}
.link-arrow{color:var(--brand)}
.tag{background:#e5f1ff;color:var(--navy);border:0}

/* ---------- Pricing: featured plan in navy ---------- */
.price-card.is-featured{background:var(--navy);border-color:var(--navy);box-shadow:0 30px 60px -30px rgba(3,29,61,.7)}
.price-card.is-featured h3,.price-card.is-featured .price-value{color:#fff}
.price-card.is-featured .price-audience,.price-card.is-featured .price-period,.price-card.is-featured .price-perlink,.price-card.is-featured .price-features li{color:#b9c0d4}
.price-card.is-featured .price-features{border-top-color:rgba(255,255,255,.18)}
.price-card.is-featured .price-features .icon{color:#aae9ff}
.price-badge{background:#aae9ff;color:var(--navy);box-shadow:none}
.price-value{font-weight:700;letter-spacing:-.02em}

/* ---------- Call-to-action block: navy card with a grid, like the home "Our work" band ---------- */
.cta-panel{background:var(--navy);border:0;box-shadow:none;border-radius:40px;color:#b9c0d4;
  background-image:linear-gradient(rgba(99,174,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(99,174,255,.07) 1px,transparent 1px);background-size:96px 96px}
.cta-content h2,.cta-panel h2{color:#fff}
.cta-content p,.cta-panel p{color:#b9c0d4}
.cta-panel .eyebrow{background:var(--navy-2);color:#fff}
.cta-panel .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cta-panel .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.cta-note{color:#b9c0d4!important}
.cta-panel .lead-form,.cta-panel .lead-form-short{background:#fff;border:0}

/* ---------- FAQ accordion ---------- */
.faq-item{border-radius:20px;border-color:rgba(3,29,61,.08);box-shadow:none}
.faq-item[open]{border-color:#c6e1ff;box-shadow:0 10px 26px rgba(3,29,61,.06)}
.faq-item summary{font-weight:600;color:var(--ink)}
.faq-icon{color:var(--brand)}

/* ---------- Stats, tables, misc ---------- */
.stat strong,.sv-points strong,.mk-kpis strong{color:var(--brand)}
table{border-radius:16px}
.badge-guarantee{background:#e5f1ff;color:var(--navy);border:0}
.breadcrumbs a{color:var(--text-2)}

/* ---------- Mobile polish ---------- */
@media (max-width:767px){
  .container{padding-inline:16px}
  .page-hero .display{font-size:clamp(2rem,9vw,2.6rem)}
  .cta-panel{border-radius:28px}
  .btn-lg{font-size:1.05rem}
  .btn-row{gap:.6rem}
  .btn-row .btn{flex:1 1 100%}
  .card,.svc-card,.price-card,.case-card,.post-card{border-radius:20px}
  .footer-grid{gap:1.75rem 1.25rem}
}

/* ---------- Marketplace offer, basket and chips in the SayNine palette ---------- */
.promo-card{background:var(--navy);box-shadow:none;border-radius:32px;
  background-image:linear-gradient(rgba(99,174,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(99,174,255,.07) 1px,transparent 1px);background-size:80px 80px}
.promo-glow{display:none}
.promo-burst{background:#aae9ff;color:var(--navy);box-shadow:0 0 0 6px rgba(170,233,255,.18)}
.promo-kicker{background:var(--navy-2);color:#aae9ff}
.promo-copy b{color:#aae9ff}
.promo-apply{background:var(--brand);color:#fff!important}
.promo-apply,.promo-apply::after{color:#fff}
.promo-apply::after{background:var(--navy)}
.promo-apply:hover{background:var(--brand-600);color:#fff}
.basket-fab{background:var(--navy);box-shadow:0 18px 40px -12px rgba(3,29,61,.55)}
.basket-fab-ico{background:var(--brand)}
.basket-fab-ico b{color:var(--navy);box-shadow:0 0 0 2px var(--navy)}
.live-dot,.dot{background:#15803d}

/* ---------- Mobile: compact footer ---------- */
@media (max-width:767px){
  .footer-col h2{font-size:1.05rem;margin-bottom:.7rem}
  .footer-col ul{gap:.35rem}
  .footer-col a:not(.btn){font-size:.95rem}
  .footer-brand p{font-size:.95rem}
  .footer-legal{font-size:.8rem}
  .mk-hero .mk-stats,.mk-hero-stats{gap:.4rem}
}
.tl-hero{background-image:linear-gradient(rgba(3,29,61,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(3,29,61,.045) 1px,transparent 1px);background-size:96px 96px;background-position:center top}

/* ---------- Free tools: one brand accent instead of a rainbow ---------- */
.tl-card,.tl-hero-tool,.tl-other,[style*="--a1"]{--a1:#077dfd!important;--a2:#63aeff!important}
.tl-card::after{display:none}
.tl-card{box-shadow:0 10px 26px rgba(3,29,61,.06);border:1px solid rgba(3,29,61,.07);border-radius:24px}
.tl-card:hover{box-shadow:0 18px 38px rgba(3,29,61,.12)}
.tl-ico{background:#e5f1ff;color:var(--brand);box-shadow:none}
.tl-badge{background:var(--navy);color:#fff}
.hl{white-space:normal}
.hl-swoosh path{stroke:#63aeff}
@media (max-width:767px){.hl-swoosh{display:none}}

/* ---------- Blog articles: comfortable long-form reading ---------- */
.prose{font-size:1.125rem;line-height:1.75;color:#33405e}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:2.2em}
.prose h3{font-size:clamp(1.25rem,2vw,1.5rem)}
.prose a{color:var(--brand);text-underline-offset:.18em}
.prose blockquote{border-left:4px solid #63aeff;background:#f6faff;border-radius:0 16px 16px 0}
@media (max-width:767px){.prose{font-size:1.06rem;line-height:1.7}}
@media (max-width:960px){.contact-grid{display:flex;flex-direction:column}.contact-grid>:last-child{order:-1}}
@media (max-width:767px){
  .card{padding:1.15rem 1.2rem}
  .card-icon{width:44px;height:44px}
  .card h3{font-size:1.15rem;margin-top:.7rem}
  .section{padding-block:clamp(3rem,10vw,4rem)}
}

/* =====================================================================
   Panels (30 Sep 2026, pass 3): the saynine.ai inner-page rhythm.
   Page tops sit in a soft-blue rounded panel with Ollie at the right; tinted sections become
   inset rounded panels instead of full-bleed stripes; section labels are small navy pills.
   ===================================================================== */
.page-hero,.sv-hero,.mk-hero,.tl-hero,.cm-hero{margin:12px clamp(8px,1.8vw,24px) 0;border-radius:clamp(28px,4.4vw,60px);background-color:#f6faff;overflow:hidden;isolation:isolate}
.page-hero{padding:clamp(2.25rem,4.5vw,4rem) 0 clamp(2.5rem,5vw,4.25rem)}
.page-hero .breadcrumbs{margin-bottom:1.4rem}
.page-hero.has-owl{min-height:clamp(380px,34vw,470px)}
.page-hero-owl{position:absolute;right:clamp(24px,7vw,120px);bottom:-6px;width:clamp(230px,23vw,320px);height:auto;mix-blend-mode:multiply;pointer-events:none;z-index:0;
  -webkit-mask-image:radial-gradient(ellipse 62% 70% at 50% 58%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 62% 70% at 50% 58%,#000 70%,transparent 100%)}
.page-hero .container{position:relative;z-index:1}
@media (min-width:961px){.page-hero.has-owl .container{padding-right:clamp(280px,30vw,420px)}}
@media (max-width:960px){.page-hero-owl{display:none}.page-hero.has-owl{min-height:0}}

/* Section labels: small navy pills */
.eyebrow{border-radius:200px;background:var(--navy-2);font-size:.88rem;font-weight:600;padding:.42rem 1rem .3rem;margin-bottom:1rem}
.hero-pill{border-radius:200px}
@media (max-width:767px){.hero-pill{border-radius:18px}}
.section-head.center,.section-head.center .lead{margin-inline:auto}

/* Tinted sections: inset rounded panels */
.section-alt{margin-inline:clamp(8px,1.8vw,24px);border-radius:clamp(28px,4.4vw,60px);border:0!important;background:#f6faff}
.section-alt + .section-alt{margin-top:24px}
.section-dark,.section.is-dark{margin-inline:clamp(8px,1.8vw,24px);border-radius:clamp(28px,4.4vw,60px)}

/* Stats: cyan tiles like the home "Why" widgets */
.stat{border-radius:24px}
.stat strong{white-space:nowrap}
@media (max-width:767px){
  .page-hero,.sv-hero,.mk-hero,.tl-hero,.cm-hero{margin:8px 8px 0}
  .page-hero{padding:1.75rem 0 2.25rem}
  .page-hero .breadcrumbs{margin-bottom:1rem}
  .stat strong{font-size:clamp(1.6rem,7vw,2rem)}
}
main{display:flow-root}
@media (max-width:767px){.stat{padding:1rem 1.1rem;min-height:0}.stat span{font-size:.92rem;line-height:1.35}}

/* Service price tiers: recommended tier in navy, like the featured plan on /pricing/ */
.sv-tier{border-radius:24px;border:1px solid rgba(3,29,61,.07);box-shadow:0 10px 26px rgba(3,29,61,.06)}
.sv-tier strong{font-weight:700;color:var(--ink)}
.sv-tier.is-hot{background:var(--navy);border:0;box-shadow:0 26px 50px -26px rgba(3,29,61,.7)}
.sv-tier.is-hot strong{color:#fff}
.sv-tier.is-hot .sv-tier-dr{color:#aae9ff}
.sv-tier.is-hot small{color:#b9c0d4}
.sv-tier.is-hot .link-arrow{color:#fff}
.sv-tier-badge,.svc-badge{background:#aae9ff;color:var(--navy);letter-spacing:.04em}
@media (max-width:767px){.sv-tiers>:last-child:nth-child(odd){grid-column:1/-1}}
/* Marketplace DR rings in the brand blues (strongest = deepest) */
.mk-dr{--tc:#077dfd;background:radial-gradient(closest-side,#fff 80%,transparent 82% 100%),conic-gradient(var(--tc) calc(var(--p)*1%),#e5f1ff 0)}
.mk-dr.t-a{--tc:#0e44b0}.mk-dr.t-b{--tc:#077dfd}.mk-dr.t-c{--tc:#63aeff}.mk-dr.t-d{--tc:#99caff}
/* Free tools: drop the gradient top bar and striped corner */
.tl-card::before,.tl-card .tl-card-top::after{display:none!important}
.tl-pill{box-shadow:none;background:#e5f1ff;color:var(--navy)}
.tl-pill svg,.tl-pill .icon{color:var(--brand)!important}
.tl-spark{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--brand)}
/* Breathing room under the hero panel (older pages zeroed it inline when heroes were full-bleed) */
:is(.page-hero,.sv-hero,.mk-hero,.tl-hero,.cm-hero) + :is(section,div)[style*="padding-top:0"]{padding-top:clamp(2rem,4vw,3.25rem)!important}
/* Retire the old indigo/violet gradients still referenced by legacy rules */
:root{--grad-text:linear-gradient(90deg,#0e44b0,#077dfd);--grad-cool:#077dfd;--blue-200:#e5f1ff;--blue-300:#c6e1ff;--blue-400:#077dfd;--brand-700:#0e44b0}
.hero-search .btn{background:var(--brand)}
.tl-human-ico,.managed-ico{background:var(--navy)!important;color:#fff!important}
.svc-feature .svc-card{--a1:#077dfd!important;--a2:#63aeff!important}
.tl-mini{--a1:#077dfd;--a2:#63aeff}
:root{--grad-soft:#f6faff;--violet:#077dfd}
.reach-col.is-future,.basket-deal{background:#e5f1ff}
.avatar.a1,.avatar.a2,.avatar.a3,.avatar.a4,.avatar.a5,.avatar.a6{background:var(--navy-2)}
.report-cta{background:#f6faff;border-color:#c6e1ff;border-radius:24px}
/* Phones: icon cards become compact rows (icon left, text right) so long card lists scroll less */
@media (max-width:767px){
  .card:has(> .card-icon:first-child){display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start;padding:1rem 1.1rem}
  .card:has(> .card-icon:first-child)>*{grid-column:2}
  .card:has(> .card-icon:first-child)>.card-icon{grid-column:1;grid-row:1 / span 3;width:44px;height:44px}
  .card:has(> .card-icon:first-child)>h3{margin:.1rem 0 .25rem;font-size:1.1rem}
  .card:has(> .card-icon:first-child)>p{margin:0;font-size:.98rem;line-height:1.5}
  .grid{gap:.75rem}
}
/* Blog article top in the same soft panel; phones drop the (long) current-page crumb */
.article-hero{margin:12px clamp(8px,1.8vw,24px) 0;border-radius:clamp(28px,4.4vw,60px);background:#f6faff;padding:clamp(1.75rem,4vw,3.25rem) 0 clamp(2rem,4vw,3rem)}
.article-hero + *{margin-top:clamp(1.5rem,3vw,2.5rem)}
@media (max-width:767px){.article-hero{margin:8px 8px 0}.breadcrumbs li:last-child:nth-child(n+3){display:none}.breadcrumbs li:nth-last-child(2)::after{display:none}}
.article-hero{margin:12px 0 0;padding-inline:clamp(20px,3.2vw,44px);border-radius:clamp(24px,3.4vw,44px)}
@media (max-width:767px){.article-hero{margin:8px -8px 0;padding:1.5rem 20px 1.75rem}}
/* Team: initials tile while photos are pending */
.team-card{border-radius:24px;overflow:hidden}
.team-initials{aspect-ratio:16/9;display:grid;place-items:center;background:var(--navy);background-image:linear-gradient(rgba(99,174,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,174,255,.08) 1px,transparent 1px);background-size:48px 48px}
.team-initials span{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#aae9ff;color:var(--navy);font:700 2.2rem/1 var(--font-display);padding-top:.2rem}
/* FAQ on phones: questions first, the contact box after them, section links as a swipeable chip row */
@media (max-width:960px){
  .faq-cols{display:flex;flex-direction:column}
  .faq-cols>.sticky{display:contents}
  .faq-cols .widget-cta{order:9;margin-top:1.5rem!important}
  .faq-cols nav.widget{background:none;border:0;padding:0;box-shadow:none}
  .faq-cols nav.widget h2{display:none}
  .faq-cols nav.widget ul{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem;margin:0}
  .faq-cols nav.widget li a{display:block;white-space:nowrap;padding:.5rem 1rem .4rem;border-radius:200px;background:#e5f1ff;color:var(--navy);font-weight:600}
}
.widget-cta{background:var(--navy);border:0;color:#b9c0d4;border-radius:24px}
.widget-cta h3{color:#fff}
.widget-cta p{color:#b9c0d4}
.cm-hero-bg{display:none}
.nf-owl{display:block;width:clamp(140px,22vw,190px);height:auto;margin:0 auto .75rem;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse 62% 70% at 50% 58%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 62% 70% at 50% 58%,#000 70%,transparent 100%)}

/* ---------- Services mega menu (30 Sep 2026): centred on the header, never off-screen ---------- */
@media (min-width:961px){
  .nav-wrap{position:relative}
  .nav-list>li.has-menu:has(.menu-services){position:static}
  .menu.menu-services{left:50%;width:min(1040px,calc(100vw - 40px));padding:14px;max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain}
  .menu-cols{min-width:0;grid-template-columns:minmax(0,1fr) 270px;gap:12px}
  .menu-services .menu-grid{grid-template-columns:1fr 1fr}
  .menu-item small{font-size:.9rem}
}
@media (max-width:960px){
  .menu-cols{grid-template-columns:1fr;min-width:0;gap:.5rem}
  .menu-services .menu-grid{grid-template-columns:1fr;min-width:0}
  .menu-services .menu-item small{display:none}
  .menu-side{background:none;padding:0}
  .menu-promo{margin:.25rem 0 .5rem}
}
.menu-grid>* .menu-icon{background:#e5f1ff!important;color:var(--brand)!important;box-shadow:none!important}
.menu-from{background:#e5f1ff;color:var(--brand)}
.footer-office{display:block;margin-top:.5rem;font-size:.92rem;line-height:1.45;color:var(--text-2)}.footer-office b{color:var(--navy)}
@media (max-width:960px){
  .menu,.has-menu.is-open>.menu{transform:none!important;left:auto;width:100%;max-height:none;border:0;border-radius:16px;box-shadow:none;padding:0 0 .75rem}
  .menu-services .menu-item{padding:.55rem .25rem}
}
