/* ============================================================
   NEW DESIGN SYSTEM (2026 redesign) — assets/css/newdesign.css
   ============================================================
   Ported from Newdesign/callrank-digital-redesign.html (client-supplied
   mockup). Ships ALONGSIDE the existing assets/css/style.css, not in
   place of it — every class here is "nd-"-prefixed and every custom
   property is "--nd-"-prefixed, so nothing in this file can ever collide
   with or override the old design`s identically-named classes/tokens
   (.container, .btn, .eyebrow, --font-body, etc. all exist in both
   systems under different names on purpose). This lets pages migrate to
   the new look one at a time — the header/footer/nav below render on
   EVERY page immediately, but a page`s own body content only gets the
   new styling once its markup is rewritten to use nd- classes.
   
   Two small hand-written exceptions below (search "HAND-WRITTEN") replace
   the source file`s unscoped body/h1-h4/p resets, which would otherwise
   have silently changed typography on every not-yet-migrated page. They
   are scoped to body.nd-home instead — add that class to a page`s <body>
   (see app/Views/layouts/main.php) once that page has been fully rebuilt
   with nd- markup.
   ============================================================ */

/* ---- HAND-WRITTEN: paper background + base type, home page only ---- */
body.nd-home {
  background: var(--nd-paper);
  color: var(--nd-text-soft);
  font-family: var(--nd-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.nd-home h1, body.nd-home h2, body.nd-home h3, body.nd-home h4 {
  font-family: var(--nd-font-display);
  color: var(--nd-text);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.08;
  margin: 0;
}
body.nd-home .nd-bg-ink h1, body.nd-home .nd-bg-ink h2,
body.nd-home .nd-bg-ink h3, body.nd-home .nd-bg-ink h4 { color: var(--nd-on-ink); }
body.nd-home h1 { font-size: clamp(2.3rem, 1.55rem + 3.1vw, 3.9rem); font-weight: 700; letter-spacing: -0.02em; }
body.nd-home h2 { font-size: clamp(1.85rem, 1.5rem + 1.5vw, 2.85rem); }
body.nd-home h3 { font-size: clamp(1.2rem, 1.08rem + .5vw, 1.4rem); }
body.nd-home p { max-width: 64ch; margin: 0; }
body.nd-home ul, body.nd-home ol { list-style: none; }
body.nd-home img, body.nd-home svg { display: block; max-width: 100%; }
body.nd-home a { color: inherit; text-decoration: none; }
body.nd-home button, body.nd-home input, body.nd-home textarea, body.nd-home select { font: inherit; color: inherit; }
/* :not(.nd-btn) — a plain <button> reset (no default background/border/
   padding) is right for bare icon buttons (theme toggle, menu, FAQ
   question, mega-menu trigger), but "button, element" beats a single
   class on specificity, so left unscoped this was silently overriding
   every .nd-btn/.nd-btn--pulse/etc.'s own background — every real button
   on the page rendered transparent regardless of its modifier class. */
body.nd-home button:not(.nd-btn) { cursor: pointer; background: none; border: none; padding: 0; }
body.nd-home input, body.nd-home textarea { outline: none; }

  /* ============ RESET ============ */
  /* ============ TOKENS ============ */
  :root{
    --nd-ink:#0B1F3D;
    --nd-ink-2:#13315C;
    --nd-paper:#F5F8FC;
    --nd-mist:#E8EEF8;
    --nd-surface:#FFFFFF;
    --nd-line:#D7E1F0;
    --nd-growth:#1857CE;
    --nd-growth-dark:#123F9E;
    --nd-growth-tint:#E4EDFC;
    --nd-sky:#4FB6E8;
    --nd-sky-dark:#2E96CB;
    --nd-pulse:#9E1B24;
    --nd-pulse-dark:#7A121A;
    --nd-pulse-tint:#F3D9DB;
    --nd-text:#101B2E;
    --nd-text-soft:#47536B;
    --nd-text-mute:#78859C;
    --nd-on-ink:#EAF1FB;
    --nd-on-ink-soft:#A9C0DE;
    --nd-shadow:0 20px 45px -22px rgba(11,31,61,.35);
    --nd-shadow-sm:0 10px 24px -14px rgba(11,31,61,.28);
    --nd-radius-s:10px;
    --nd-radius-m:18px;
    --nd-radius-l:30px;
    --nd-container:1220px;
    --nd-font-display:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,sans-serif;
    --nd-font-body:'Manrope',ui-sans-serif,system-ui,-apple-system,sans-serif;
    --nd-brain-img:url('../images/brain-network.jpg');
    --nd-logo-img:url('../images/cr-logo.svg');
  }
  :root[data-theme="dark"]{
    --nd-ink:#050C1A;
    --nd-ink-2:#0A1730;
    --nd-paper:#071022;
    --nd-mist:#0D1B33;
    --nd-surface:#0E1C36;
    --nd-line:#1C2E4D;
    --nd-growth:#4C8DFF;
    --nd-growth-dark:#2F6FE0;
    --nd-growth-tint:#122544;
    --nd-sky:#6BCBF2;
    --nd-sky-dark:#3FA9D6;
    --nd-pulse:#E0293D;
    --nd-pulse-dark:#B81F30;
    --nd-pulse-tint:#34121A;
    --nd-text:#E8EFFA;
    --nd-text-soft:#B7C6DE;
    --nd-text-mute:#7E93B0;
    --nd-on-ink:#EAF1FB;
    --nd-on-ink-soft:#9FB6D6;
    --nd-shadow:0 20px 45px -18px rgba(0,0,0,.55);
    --nd-shadow-sm:0 10px 24px -12px rgba(0,0,0,.5);
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --nd-ink:#050C1A;
      --nd-ink-2:#0A1730;
      --nd-paper:#071022;
      --nd-mist:#0D1B33;
      --nd-surface:#0E1C36;
      --nd-line:#1C2E4D;
      --nd-growth:#4C8DFF;
      --nd-growth-dark:#2F6FE0;
      --nd-growth-tint:#122544;
      --nd-sky:#6BCBF2;
      --nd-sky-dark:#3FA9D6;
      --nd-pulse:#E0293D;
      --nd-pulse-dark:#B81F30;
      --nd-pulse-tint:#34121A;
      --nd-text:#E8EFFA;
      --nd-text-soft:#B7C6DE;
      --nd-text-mute:#7E93B0;
      --nd-on-ink:#EAF1FB;
      --nd-on-ink-soft:#9FB6D6;
      --nd-shadow:0 20px 45px -18px rgba(0,0,0,.55);
      --nd-shadow-sm:0 10px 24px -12px rgba(0,0,0,.5);
    }
  }
.nd-container{width:100%;max-width:var(--nd-container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem);}
  .nd-section-pad{position:relative;padding-block:clamp(3.75rem,7vw,7rem);}
  .nd-bg-mist{background:var(--nd-mist);}
  .nd-bg-ink{background:var(--nd-ink);color:var(--nd-on-ink);}
.nd-bg-ink h1,.nd-bg-ink h2,.nd-bg-ink h3,.nd-bg-ink h4{color:var(--nd-on-ink);}
.nd-lede{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);color:var(--nd-text-soft);}

  .nd-eyebrow{
    display:inline-flex;align-items:center;gap:.55rem;
    font-family:var(--nd-font-display);
    font-size:.82rem;font-weight:600;
    color:var(--nd-growth-dark);
    letter-spacing:.02em;
    margin-bottom:.9rem;
  }
  .nd-bg-ink .nd-eyebrow{color:var(--nd-growth);}
  .nd-eyebrow::before{content:"";width:22px;height:2px;background:var(--nd-pulse);border-radius:2px;flex:none;}

  .nd-section-head{max-width:44rem;margin-bottom:clamp(2.25rem,4vw,3.25rem);}
  .nd-section-head.nd-center{margin-inline:auto;text-align:center;}
  .nd-section-head.nd-center .nd-eyebrow{justify-content:center;}
  .nd-section-head.nd-center .nd-eyebrow::before{display:none;}
  .nd-section-head.nd-split{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:none;}

  /* ============ BUTTONS ============ */
  .nd-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
    padding:1rem 1.7rem;border-radius:999px;
    font-family:var(--nd-font-display);font-weight:600;font-size:.98rem;
    white-space:nowrap;
    transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
  }
  .nd-btn svg{width:18px;height:18px;flex:none;}
  .nd-btn--pulse{background:var(--nd-pulse);color:#fff;box-shadow:0 14px 28px -12px rgba(158,27,36,.6);}
  .nd-btn--pulse:hover{background:var(--nd-pulse-dark);transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(158,27,36,.7);}
  .nd-btn--paper{background:var(--nd-paper);color:var(--nd-ink);}
  .nd-btn--paper:hover{transform:translateY(-2px);background:#fff;}
  .nd-btn--outline{border:1.5px solid var(--nd-line);color:var(--nd-text);}
  .nd-btn--outline:hover{border-color:var(--nd-growth-dark);color:var(--nd-growth-dark);}
  .nd-bg-ink .nd-btn--outline{border-color:rgba(234,241,251,.3);color:var(--nd-on-ink);}
  .nd-bg-ink .nd-btn--outline:hover{border-color:var(--nd-on-ink);}
  .nd-btn--text{padding:.4rem 0;font-weight:600;color:var(--nd-text);border-bottom:2px solid var(--nd-line);border-radius:0;}
  .nd-btn--text:hover{border-color:var(--nd-pulse);color:var(--nd-pulse-dark);}
  .nd-btn--sm{padding:.75rem 1.25rem;font-size:.88rem;}
  .nd-btn--block{width:100%;}
  .nd-btn[disabled]{opacity:.6;pointer-events:none;}

  /* ============ TOPBAR ============ */
  .nd-topbar{background:var(--nd-ink);color:var(--nd-on-ink-soft);font-size:.85rem;}
  .nd-topbar .nd-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.55rem;}
  .nd-topbar-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
  .nd-topbar-links a{display:inline-flex;align-items:center;gap:.45rem;transition:color .15s ease;}
  .nd-topbar-links a:hover{color:#fff;}
  .nd-topbar-links svg{width:15px;height:15px;flex:none;color:var(--nd-growth);}
  .nd-topbar-social{display:flex;align-items:center;gap:.85rem;}
  .nd-topbar-social a{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(234,241,251,.08);transition:background-color .15s ease,color .15s ease;}
  .nd-topbar-social a:hover{background:var(--nd-growth);color:var(--nd-ink);}
  .nd-topbar-social svg{width:14px;height:14px;}
  @media (max-width:760px){ .nd-topbar-links span.nd-hide-sm{display:none;} }
  @media (max-width:560px){ .nd-topbar{display:none;} }

  /* ============ HEADER / NAV ============ */
  .nd-site-header{position:sticky;top:0;z-index:80;background:var(--nd-surface);border-bottom:1px solid var(--nd-line);color:var(--nd-text);}
  .nd-nav-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem;}
  .nd-brand{display:flex;align-items:center;gap:.65rem;font-family:var(--nd-font-display);font-weight:700;font-size:1.25rem;color:var(--nd-text);flex:none;}
  .nd-brand-logo-chip{display:inline-flex;align-items:center;background:var(--nd-ink);border-radius:10px;padding:.5rem .75rem;flex:none;}
  .nd-brand-logo-img{display:block;width:103px;height:30px;background-image:var(--nd-logo-img);background-size:contain;background-repeat:no-repeat;background-position:center;}
  .nd-mobile-menu__top .nd-brand-logo-img{width:90px;height:26px;}
  .nd-footer-brand .nd-brand-logo-chip{padding:.6rem .9rem;}
  .nd-footer-brand .nd-brand-logo-img{width:117px;height:34px;}

  .nd-main-nav{display:flex;align-items:center;gap:.15rem;}
  .nd-main-nav>ul{display:flex;align-items:center;gap:.15rem;}
  .nd-main-nav>ul>li{position:relative;}
  /* background:transparent explicitly, not just "unset" — nav.php is a shared
     partial rendered on every page including ones not yet migrated to the nd-
     design (no body.nd-home), where nothing else resets <button>'s native
     UA background; without this it shows a stray grey fill (see commit
     "Fix nav button backgrounds bleeding through on un-migrated pages"). */
  .nd-nav-link{display:flex;align-items:center;gap:.4rem;padding:.85rem 1rem;font-weight:600;font-size:.96rem;color:var(--nd-text);background:transparent;border:none;border-radius:999px;transition:background-color .15s ease,color .15s ease;}
  .nd-nav-link:hover,.nd-nav-link[aria-expanded="true"]{background:var(--nd-mist);color:var(--nd-growth-dark);}
  .nd-nav-link svg{width:15px;height:15px;stroke-width:2.75;transition:transform .2s ease,color .15s ease;color:var(--nd-text-mute);flex:none;}
  .nd-nav-link:hover svg,.nd-nav-link[aria-expanded="true"] svg{color:var(--nd-growth-dark);}
  .nd-nav-link[aria-expanded="true"] svg{transform:rotate(180deg);}

  .nd-mega{
    position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
    width:min(880px,86vw);
    background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-m);
    box-shadow:var(--nd-shadow);padding:1.75rem;
    display:none;grid-template-columns:repeat(3,1fr);gap:.35rem 1.5rem;
    max-height:70vh;overflow:auto;
  }
  .nd-mega.nd-mega--wide{grid-template-columns:repeat(3,1fr);}
  li.nd-has-mega.nd-open .nd-mega{display:grid;}
  /* Opens on hover (mouse), same convention the old nav used — the click
     handler in newdesign.js still runs too, purely so keyboard users
     (Tab + Enter, no hover) and touch devices can open/close it as well. */
  @media (hover:hover){
    li.nd-has-mega:hover .nd-mega{display:grid;}
    li.nd-has-mega:hover .nd-nav-link svg{transform:rotate(180deg);color:var(--nd-growth-dark);}
  }
  .nd-mega-col-head{grid-column:1/-1;font-family:var(--nd-font-display);font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--nd-text-mute);padding-bottom:.6rem;margin-bottom:.4rem;border-bottom:1px solid var(--nd-line);}
  .nd-mega a{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:var(--nd-radius-s);font-size:.92rem;font-weight:500;color:var(--nd-text-soft);transition:background-color .15s ease,color .15s ease;}
  .nd-mega a:hover{background:var(--nd-mist);color:var(--nd-growth-dark);}
  .nd-mega a .nd-dot{width:6px;height:6px;border-radius:50%;background:var(--nd-pulse);flex:none;}

  .nd-nav-cta{display:flex;align-items:center;gap:.9rem;flex:none;}
  .nd-nav-phone{display:flex;align-items:center;gap:.5rem;font-family:var(--nd-font-display);font-weight:700;font-size:.95rem;color:var(--nd-text);}
  .nd-nav-phone svg{width:19px;height:19px;color:var(--nd-pulse);}
  .nd-theme-toggle{width:42px;height:42px;border-radius:50%;background:transparent;color:inherit;border:1px solid var(--nd-line);display:inline-flex;align-items:center;justify-content:center;flex:none;}
  .nd-theme-toggle svg{width:19px;height:19px;}
  .nd-theme-toggle .nd-i-sun{display:none;}
  :root[data-theme="dark"] .nd-theme-toggle .nd-i-moon{display:none;}
  :root[data-theme="dark"] .nd-theme-toggle .nd-i-sun{display:block;}
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .nd-theme-toggle .nd-i-moon{display:none;}
    :root:not([data-theme="light"]) .nd-theme-toggle .nd-i-sun{display:block;}
  }

  .nd-menu-btn{display:none;width:44px;height:44px;border-radius:var(--nd-radius-s);background:transparent;color:inherit;border:1px solid var(--nd-line);align-items:center;justify-content:center;flex:none;}
  .nd-menu-btn svg{width:20px;height:20px;}

  @media (max-width:1080px){
    .nd-main-nav{display:none;}
    .nd-nav-phone span{display:none;}
    .nd-menu-btn{display:inline-flex;}
  }
  @media (max-width:600px){
    .nd-nav-cta>a.nd-btn{display:none;}
  }

  /* ============ MOBILE MENU ============ */
  .nd-mobile-menu{position:fixed;inset:0;z-index:100;visibility:hidden;}
  .nd-mobile-menu.nd-open{visibility:visible;}
  .nd-mobile-menu__scrim{position:absolute;inset:0;background:rgba(5,12,26,.55);opacity:0;transition:opacity .25s ease;}
  .nd-mobile-menu.nd-open .nd-mobile-menu__scrim{opacity:1;}
  .nd-mobile-menu__panel{
    position:absolute;top:0;right:0;height:100%;width:min(360px,88vw);
    background:var(--nd-surface);color:var(--nd-text);padding:1.5rem;overflow-y:auto;
    transform:translateX(100%);transition:transform .3s ease;
    display:flex;flex-direction:column;gap:1.5rem;
  }
  .nd-mobile-menu.nd-open .nd-mobile-menu__panel{transform:translateX(0);}
  .nd-mobile-menu__top{display:flex;align-items:center;justify-content:space-between;}
  .nd-mobile-menu__close{width:40px;height:40px;border-radius:50%;background:transparent;color:inherit;border:1px solid var(--nd-line);display:inline-flex;align-items:center;justify-content:center;}
  .nd-mobile-menu__close svg{width:18px;height:18px;}
  .nd-mobile-acc{border-bottom:1px solid var(--nd-line);}
  .nd-mobile-acc>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.95rem .1rem;font-weight:700;font-family:var(--nd-font-display);text-align:left;background:transparent;border:none;color:inherit;}
  .nd-mobile-acc>button svg{width:16px;height:16px;transition:transform .2s ease;color:var(--nd-text-mute);}
  .nd-mobile-acc.nd-open>button svg{transform:rotate(180deg);}
  .nd-mobile-acc__list{display:none;padding:0 .1rem .9rem;}
  .nd-mobile-acc.nd-open .nd-mobile-acc__list{display:block;}
  .nd-mobile-acc__list a{display:block;padding:.5rem 0;font-size:.92rem;color:var(--nd-text-soft);}
  .nd-mobile-menu__direct a{display:block;padding:.85rem .1rem;font-weight:700;font-family:var(--nd-font-display);border-bottom:1px solid var(--nd-line);}
  .nd-mobile-menu__foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--nd-line);display:flex;flex-direction:column;gap:.9rem;}

  /* ============ HERO ============ */
  .nd-hero{position:relative;overflow:hidden;padding-block:clamp(2.75rem,6vw,5rem) clamp(3.5rem,7vw,6rem);}
  .nd-hero>.nd-container{position:relative;z-index:1;}

  /* ---- animated "AI sketch" network background (hero) ---- */
  .nd-ai-sketch{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .nd-star-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .nd-star-field svg{width:100%;height:100%;display:block;animation:ndStarSpin 140s linear infinite;transform-origin:center;}
  .nd-star-field .nd-spark{fill:var(--nd-sky);transform-box:fill-box;transform-origin:center;animation:ndStarTwinkle 3.4s ease-in-out infinite;}
  .nd-star-field .nd-spark.nd-sp-growth{fill:var(--nd-growth);}
  .nd-star-field .nd-spark.nd-sp-pulse{fill:var(--nd-pulse);}
  .nd-star-field .nd-star-dot{fill:var(--nd-sky);transform-box:fill-box;transform-origin:center;animation:ndStarTwinkle 2.6s ease-in-out infinite;}
  .nd-star-field .nd-star-dot.nd-sp-growth{fill:var(--nd-growth);}
  .nd-star-field .nd-star-dot.nd-sp-pulse{fill:var(--nd-pulse);}
  @keyframes ndStarTwinkle{0%,100%{opacity:0;transform:scale(.4);}50%{opacity:.85;transform:scale(1);}}
  @keyframes ndStarSpin{to{transform:rotate(360deg);}}
  @media (prefers-reduced-motion:reduce){
    .nd-star-field svg{animation:none;}
    .nd-star-field .nd-spark,.nd-star-field .nd-star-dot{animation:none;opacity:.4;transform:scale(1);}
  }
  .nd-ai-sketch svg{width:100%;height:100%;display:block;}
  .nd-ai-sketch .nd-sk-line{fill:none;stroke:var(--nd-growth);stroke-width:1.4;stroke-linecap:round;opacity:.15;stroke-dasharray:5 11;animation:ndSkFlow 7s linear infinite;}
  .nd-ai-sketch .nd-sk-line.nd-sk-sky{stroke:var(--nd-sky);}
  .nd-ai-sketch .nd-sk-line.nd-sk-pulse{stroke:var(--nd-pulse);}
  .nd-ai-sketch .nd-sk-node{fill:var(--nd-surface);stroke:var(--nd-growth);stroke-width:1.5;opacity:.4;transform-box:fill-box;transform-origin:center;animation:ndSkPulse 4.5s ease-in-out infinite;}
  .nd-ai-sketch .nd-sk-node.nd-sk-sky{stroke:var(--nd-sky);}
  .nd-ai-sketch .nd-sk-node.nd-sk-pulse{stroke:var(--nd-pulse);}
  .nd-ai-sketch .nd-sk-chip{fill:none;stroke:var(--nd-pulse);stroke-width:1.3;opacity:.32;transform-box:fill-box;transform-origin:center;animation:ndSkPulse 5.5s ease-in-out infinite;}
  .nd-ai-sketch--onink .nd-sk-node{fill:var(--nd-on-ink);}
  .nd-ai-sketch--faint{opacity:.5;}
  @keyframes ndSkPulse{0%,100%{opacity:.22;transform:scale(1);}50%{opacity:.58;transform:scale(1.22);}}
  @keyframes ndSkFlow{to{stroke-dashoffset:-160;}}
  @media (max-width:980px){ .nd-ai-sketch--hero,.nd-ai-sketch--cta{display:none;} }
  @media (prefers-reduced-motion:reduce){
    .nd-ai-sketch .nd-sk-node,.nd-ai-sketch .nd-sk-chip{animation:none;opacity:.3;}
    .nd-ai-sketch .nd-sk-line{animation:none;}
  }
  .nd-hero .nd-container{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;}
  .nd-hero-kicker{display:inline-flex;align-items:center;gap:.6rem;background:var(--nd-mist);border:1px solid var(--nd-line);color:var(--nd-growth-dark);font-weight:600;font-size:.85rem;padding:.5rem 1rem .5rem .6rem;border-radius:999px;margin-bottom:1.5rem;}
  .nd-hero-kicker .nd-tag-dot{width:22px;height:22px;border-radius:50%;background:var(--nd-growth);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;}
  .nd-hero-kicker svg{width:12px;height:12px;}
  .nd-hero h1{margin-bottom:1.3rem;}
  .nd-hero-lede{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem;max-width:40rem;}
  .nd-hero-lede p:first-child{font-family:var(--nd-font-display);font-weight:600;color:var(--nd-text);font-size:1.15rem;}
  .nd-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-bottom:2.75rem;}
  .nd-hero-phonelink{display:flex;align-items:center;gap:.7rem;font-family:var(--nd-font-display);font-weight:700;}
  .nd-hero-phonelink .nd-ico{width:44px;height:44px;border-radius:50%;background:var(--nd-mist);color:var(--nd-pulse);display:inline-flex;align-items:center;justify-content:center;flex:none;}
  .nd-hero-phonelink .nd-ico svg{width:18px;height:18px;}
  .nd-hero-phonelink span{display:block;font-family:var(--nd-font-body);font-weight:600;font-size:.78rem;color:var(--nd-text-mute);}
  .nd-hero-phonelink strong{font-size:1.05rem;}

  .nd-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;border-top:1px solid var(--nd-line);padding-top:1.75rem;}
  .nd-stat b{display:block;font-family:var(--nd-font-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);color:var(--nd-text);font-weight:700;}
  .nd-stat span{font-size:.82rem;color:var(--nd-text-mute);line-height:1.4;display:block;margin-top:.15rem;}

  /* hero visual */
  .nd-hero-visual{position:relative;}
  .nd-hero-blob{position:absolute;inset:-10% -15%;background:
      radial-gradient(38% 45% at 25% 20%, color-mix(in srgb, var(--nd-growth) 30%, transparent), transparent 70%),
      radial-gradient(45% 50% at 85% 80%, color-mix(in srgb, var(--nd-pulse) 24%, transparent), transparent 70%);
    filter:blur(10px);z-index:0;}
  .nd-rank-card{
    position:relative;z-index:1;background:var(--nd-surface);border:1px solid var(--nd-line);
    border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow);padding:1.5rem;
  }
  .nd-rank-card__search{display:flex;align-items:center;gap:.7rem;background:var(--nd-mist);border-radius:999px;padding:.8rem 1.1rem;margin-bottom:1.35rem;}
  .nd-rank-card__search svg{width:17px;height:17px;color:var(--nd-text-mute);flex:none;}
  .nd-rank-card__search span{font-size:.92rem;color:var(--nd-text-soft);}
  .nd-rank-result{border:1.5px solid var(--nd-growth);border-radius:var(--nd-radius-m);padding:1rem 1.1rem;position:relative;background:var(--nd-growth-tint);display:flex;gap:.8rem;align-items:flex-start;}
  .nd-rank-result__badge{position:absolute;top:-13px;left:1.1rem;background:var(--nd-growth);color:#fff;font-family:var(--nd-font-display);font-weight:700;font-size:.72rem;padding:.3rem .65rem;border-radius:999px;letter-spacing:.03em;}
  .nd-rank-listing__icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--nd-growth-tint);}
  .nd-rank-listing__icon svg{width:21px;height:21px;color:var(--nd-growth);}
  .nd-rank-listing__icon--leaf{background:color-mix(in srgb, #1FA35C 16%, var(--nd-surface));}
  .nd-rank-listing__icon--leaf svg{color:#1FA35C;}
  .nd-rank-result .nd-rank-listing__body{flex:1;min-width:0;}
  .nd-rank-result h4{font-size:1.02rem;margin-bottom:.25rem;}
  .nd-rank-result .nd-stars{color:var(--nd-pulse);font-size:.8rem;letter-spacing:.1em;margin-bottom:.25rem;}
  .nd-rank-result .nd-stars b{color:var(--nd-text);font-weight:700;letter-spacing:0;}
  .nd-rank-result p{font-size:.8rem;color:var(--nd-text-mute);margin-bottom:.75rem;}
  .nd-rank-result__cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--nd-ink);color:var(--nd-on-ink);font-family:var(--nd-font-display);font-weight:600;font-size:.78rem;padding:.48rem .95rem;border-radius:999px;}
  .nd-rank-result__cta svg{width:13px;height:13px;}
  .nd-rank-result__cta--outline{background:transparent;color:var(--nd-text);border:1.5px solid var(--nd-line);}
  .nd-rank-competitors{margin-top:.7rem;display:flex;flex-direction:column;gap:.6rem;}
  .nd-rank-listing--plain{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem;border-radius:var(--nd-radius-m);border:1px solid var(--nd-line);background:var(--nd-surface);}
  .nd-rank-listing--plain .nd-rank-listing__icon{width:34px;height:34px;border-radius:9px;}
  .nd-rank-listing--plain .nd-rank-listing__icon svg{width:18px;height:18px;}
  .nd-rank-listing--plain h5{font-size:.88rem;margin-bottom:.2rem;color:var(--nd-text);}
  .nd-rank-listing--plain .nd-stars{font-size:.72rem;color:var(--nd-pulse);letter-spacing:.08em;margin-bottom:.2rem;}
  .nd-rank-listing--plain .nd-stars b{color:var(--nd-text-soft);font-weight:700;letter-spacing:0;}
  .nd-rank-listing--plain p{font-size:.74rem;color:var(--nd-text-mute);margin-bottom:.55rem;}
  .nd-rank-listing--plain .nd-rank-result__cta{font-size:.72rem;padding:.4rem .8rem;}
  .nd-float-chip{
    position:absolute;z-index:2;background:var(--nd-surface);border:1px solid var(--nd-line);box-shadow:var(--nd-shadow-sm);
    border-radius:var(--nd-radius-m);padding:.7rem .95rem;display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;font-family:var(--nd-font-display);
  }
  .nd-float-chip svg{width:16px;height:16px;flex:none;}
  .nd-chip-a{top:-6%;right:-8%;color:var(--nd-growth-dark);}
  .nd-chip-a svg{color:var(--nd-growth);}
  .nd-chip-b{bottom:-3%;left:-9%;color:var(--nd-pulse-dark);}
  .nd-chip-b svg{color:var(--nd-pulse);}
  @media (max-width:640px){ .nd-chip-a,.nd-chip-b{display:none;} }

  @media (max-width:980px){
    .nd-hero .nd-container{grid-template-columns:1fr;}
    .nd-hero-visual{max-width:30rem;margin-inline:auto;width:100%;}
    .nd-stat-row{grid-template-columns:repeat(2,1fr);row-gap:1.5rem;}
  }
  @media (max-width:480px){
    .nd-hero-actions{gap:1.1rem;}
  }

  /* shared: reveal-on-load for the ONE signature hero moment */
  .nd-pop-in{animation:ndPopIn .7s cubic-bezier(.22,1,.36,1) both;}
  .nd-pop-in.nd-d1{animation-delay:.15s;}
  .nd-pop-in.nd-d2{animation-delay:.32s;}
  @keyframes ndPopIn{from{opacity:0;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){ .nd-pop-in{animation:none;} }

  .nd-skip-link{position:absolute;left:-999px;top:auto;background:var(--nd-ink);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 8px 0;z-index:200;}
  .nd-skip-link:focus{left:0;top:0;}

  /* ============ PAGE HERO (inner pages — About, Contact, Services hub,
     every service/industry page, etc.) — simpler than the homepage's
     two-column hero: centered eyebrow/h1/lede over a subtle ai-sketch
     network background, no rank-card visual or stat row. ============ */
  .nd-page-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);background:var(--nd-mist);text-align:center;}
  .nd-page-hero>.nd-container{position:relative;z-index:1;max-width:46rem;}
  .nd-page-hero .nd-eyebrow{justify-content:center;}
  .nd-page-hero .nd-eyebrow::before{display:none;}
  .nd-page-hero h1{margin-bottom:1rem;}
  .nd-page-hero .nd-lede{margin-inline:auto;}
  .nd-page-hero .nd-breadcrumb{display:flex;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--nd-text-mute);margin-bottom:1.25rem;}
  .nd-page-hero .nd-breadcrumb a{color:var(--nd-text-mute);}
  .nd-page-hero .nd-breadcrumb a:hover{color:var(--nd-growth-dark);}
  .nd-page-hero .nd-breadcrumb svg{width:13px;height:13px;flex:none;}

  /* ============ SERVICE/INDUSTRY CARD GRID (Services hub, Industries hub) ============ */
  .nd-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;}
  .nd-service-card{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);padding:2rem 1.75rem;box-shadow:var(--nd-shadow-sm);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
  .nd-service-card:hover{transform:translateY(-4px);box-shadow:var(--nd-shadow);}
  .nd-service-card .nd-ico{width:50px;height:50px;border-radius:var(--nd-radius-m);background:var(--nd-growth-tint);color:var(--nd-growth-dark);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1.1rem;flex:none;}
  .nd-service-card h3{font-size:1.08rem;margin-bottom:.6rem;line-height:1.3;}
  .nd-service-card p{font-size:.92rem;color:var(--nd-text-soft);flex:1;margin-bottom:1.35rem;max-width:none;}
  .nd-card-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.88rem;color:var(--nd-growth-dark);}
  .nd-card-link svg{width:14px;height:14px;flex:none;transition:transform .15s ease;}
  .nd-service-card:hover .nd-card-link svg,.nd-card-link:hover svg{transform:translateX(3px);}
  .nd-hub-subhead{max-width:46rem;margin:0 auto clamp(2rem,4vw,2.75rem);text-align:center;}

  /* ============ MARQUEE ============ */
  .nd-marquee{background:var(--nd-ink);overflow:hidden;padding-block:1.1rem;}
  .nd-marquee__track{display:flex;width:max-content;animation:ndScrollMarquee 34s linear infinite;}
  .nd-marquee:hover .nd-marquee__track{animation-play-state:paused;}
  .nd-marquee__set{display:flex;align-items:center;flex:none;}
  .nd-marquee__set span{display:flex;align-items:center;gap:.7rem;font-family:var(--nd-font-display);font-weight:600;font-size:.95rem;color:var(--nd-on-ink-soft);white-space:nowrap;padding-inline:1.4rem;}
  .nd-marquee__set span i{width:5px;height:5px;border-radius:50%;background:var(--nd-pulse);flex:none;}
  @keyframes ndScrollMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.nd-marquee__track{animation:none;overflow-x:auto;}}

  /* ============ PROBLEM ============ */
  .nd-problem-grid{display:grid;grid-template-columns:1.2fr .82fr;gap:clamp(2rem,4vw,3.75rem);align-items:start;}
  .nd-problem-list{display:flex;flex-direction:column;gap:1.1rem;margin:1.85rem 0 1.75rem;}
  .nd-problem-list li{display:flex;gap:.85rem;align-items:flex-start;font-size:1.02rem;color:var(--nd-text-soft);}
  .nd-problem-list .nd-x{width:26px;height:26px;border-radius:50%;background:var(--nd-pulse-tint);color:var(--nd-pulse-dark);display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:.15rem;}
  .nd-problem-list .nd-x svg{width:13px;height:13px;}
  .nd-problem-close{font-size:1.05rem;color:var(--nd-text);font-weight:500;margin-bottom:1.75rem;}
  .nd-badge-row{display:flex;flex-wrap:wrap;gap:.65rem;}
  .nd-badge-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--nd-growth-tint);color:var(--nd-growth-dark);font-weight:700;font-size:.83rem;padding:.55rem 1.05rem;border-radius:999px;}
  .nd-badge-pill svg{width:15px;height:15px;flex:none;}

  .nd-trust-card{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);padding:2.25rem 2rem;text-align:center;}
  .nd-trust-card .nd-medal{width:104px;margin:0 auto 1.1rem;}
  .nd-trust-card h4{margin-bottom:.35rem;font-size:1.15rem;}
  .nd-trust-card>p{font-size:.85rem;color:var(--nd-text-mute);margin-inline:auto;}
  .nd-trust-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.9rem;text-align:left;border-top:1px solid var(--nd-line);padding-top:1.4rem;}
  .nd-trust-list div{display:flex;align-items:center;gap:.7rem;font-size:.88rem;font-weight:700;color:var(--nd-text);}
  .nd-trust-list svg{width:19px;height:19px;color:var(--nd-growth);flex:none;}

  @media (max-width:900px){ .nd-problem-grid{grid-template-columns:1fr;} .nd-trust-card{max-width:26rem;margin-inline:auto;} }

  /* ============ SERVICES (connected spine) ============ */
  .nd-services-spine{position:relative;max-width:52rem;}
  .nd-services-spine::before{content:"";position:absolute;left:27px;top:8px;bottom:8px;width:2px;background:repeating-linear-gradient(var(--nd-line),var(--nd-line) 6px,transparent 6px,transparent 12px);}
  .nd-service-row{position:relative;display:grid;grid-template-columns:56px 1fr;column-gap:1.6rem;padding-block:1.65rem;}
  .nd-service-row:first-child{padding-top:0;}
  .nd-service-row:last-child{padding-bottom:0;}
  .nd-service-node{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:var(--nd-surface);border:2px solid var(--nd-growth);color:var(--nd-growth-dark);display:flex;align-items:center;justify-content:center;flex:none;}
  .nd-service-node svg{width:23px;height:23px;}
  .nd-service-body h3{font-size:1.22rem;margin-bottom:.45rem;}
  .nd-service-body p{font-size:.97rem;max-width:38rem;}
  .nd-services-aside{position:sticky;top:6.5rem;}
  .nd-services-layout{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
  @media (max-width:900px){ .nd-services-layout{grid-template-columns:1fr;} .nd-services-aside{position:static;} }
  .nd-brain-bg{position:absolute;inset:-4%;overflow:hidden;pointer-events:none;opacity:.17;animation:ndBrainDrift 26s ease-in-out infinite alternate;}
  .nd-brain-bg__img{position:absolute;inset:0;background-image:var(--nd-brain-img);background-size:cover;background-position:center 35%;filter:grayscale(100%) brightness(1.55) contrast(.6) blur(2px);}
  .nd-brain-bg__tint{position:absolute;inset:0;background:var(--nd-growth);mix-blend-mode:color;}
  @keyframes ndBrainDrift{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.045) translate(-1%,-1.2%);}}
  :root[data-theme="dark"] .nd-brain-bg{opacity:.22;}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .nd-brain-bg{opacity:.22;} }
  @media (prefers-reduced-motion:reduce){ .nd-brain-bg{animation:none;} }

  /* ============ WHY US ============ */
  .nd-why-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
  .nd-why-stat-card{background:var(--nd-ink);color:var(--nd-on-ink);border-radius:var(--nd-radius-l);padding:2.1rem;margin-top:2rem;}
  .nd-why-stat-card b{display:block;font-family:var(--nd-font-display);font-size:2.6rem;font-weight:700;color:var(--nd-growth);line-height:1;}
  .nd-why-stat-card p{color:var(--nd-on-ink-soft);font-size:.9rem;margin-top:.55rem;max-width:16rem;}
  .nd-why-list{display:flex;flex-direction:column;}
  .nd-why-item{display:grid;grid-template-columns:44px 1fr;gap:1.15rem;padding-block:1.55rem;border-top:1px solid var(--nd-line);}
  .nd-why-item:first-child{border-top:none;padding-top:0;}
  .nd-why-item:last-child{padding-bottom:0;}
  .nd-why-ico{width:44px;height:44px;border-radius:var(--nd-radius-s);background:var(--nd-pulse-tint);color:var(--nd-pulse-dark);display:flex;align-items:center;justify-content:center;flex:none;}
  .nd-why-ico svg{width:21px;height:21px;}
  .nd-why-item h3{font-size:1.15rem;margin-bottom:.4rem;}
  .nd-why-item p{font-size:.96rem;}
  @media (max-width:900px){ .nd-why-layout{grid-template-columns:1fr;} }

  /* ============ INDUSTRIES ============ */
  .nd-industries-grid{display:flex;flex-wrap:wrap;gap:.85rem;}
  .nd-industry-pill{display:inline-flex;align-items:center;gap:.7rem;background:var(--nd-surface);border:1px solid var(--nd-line);padding:.8rem 1.35rem .8rem .8rem;border-radius:999px;font-weight:700;font-size:.94rem;color:var(--nd-text);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
  .nd-industry-pill:hover{border-color:var(--nd-growth);box-shadow:var(--nd-shadow-sm);transform:translateY(-2px);}
  .nd-industry-pill .nd-ico{width:34px;height:34px;border-radius:50%;background:var(--nd-growth-tint);color:var(--nd-growth-dark);display:inline-flex;align-items:center;justify-content:center;flex:none;}
  .nd-industry-pill .nd-ico svg{width:17px;height:17px;}
  .nd-industries-foot{margin-top:2rem;font-size:.95rem;color:var(--nd-text-mute);}

  /* ============ PROCESS ============ */
  .nd-process-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:1.75rem;position:relative;}
  .nd-process-stepper::before{content:"";position:absolute;top:27px;left:9%;right:9%;height:2px;background:var(--nd-line);z-index:0;}
  .nd-process-step{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem;}
  .nd-process-num{width:54px;height:54px;border-radius:50%;background:var(--nd-ink);color:var(--nd-on-ink);display:flex;align-items:center;justify-content:center;font-family:var(--nd-font-display);font-weight:700;font-size:1.15rem;flex:none;}
  .nd-process-step:last-child .nd-process-num{background:var(--nd-pulse);}
  .nd-process-step h3{font-size:1.08rem;}
  .nd-process-step p{font-size:.9rem;}
  @media (max-width:900px){
    .nd-process-stepper{grid-template-columns:1fr;gap:0;}
    .nd-process-stepper::before{display:none;}
    .nd-process-step{flex-direction:row;align-items:flex-start;gap:1.2rem;padding-bottom:2rem;}
    .nd-process-step:not(:last-child){position:relative;}
    .nd-process-step:not(:last-child)::after{content:"";position:absolute;left:27px;top:54px;bottom:0;width:2px;background:var(--nd-line);}
  }

  /* ============ ROADMAP (SEO Made Simple) ============ */
  .nd-roadmap-wrap{background:var(--nd-ink);border-radius:var(--nd-radius-l);padding:clamp(1.75rem,4vw,3rem);}
  .nd-roadmap-stairs{display:flex;align-items:flex-end;gap:clamp(.55rem,1.6vw,1.25rem);height:280px;}
  .nd-roadmap-step{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border-radius:14px 14px 0 0;padding:1.1rem .5rem;position:relative;color:#fff;}
  .nd-roadmap-step .nd-n{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:#fff;color:#0B1F3D;font-family:var(--nd-font-display);font-weight:700;font-size:.78rem;display:flex;align-items:center;justify-content:center;flex:none;}
  .nd-roadmap-step .nd-labels{display:flex;flex-direction:column;gap:.4rem;width:100%;}
  .nd-roadmap-step span.nd-label{font-family:var(--nd-font-display);font-size:.8rem;font-weight:600;line-height:1.3;}
  .nd-roadmap-step span.nd-label+span.nd-label{padding-top:.4rem;border-top:1px solid rgba(255,255,255,.25);}
  .nd-rs-1{height:38%;background:color-mix(in srgb, var(--nd-growth) 38%, var(--nd-ink) 62%);}
  .nd-rs-2{height:56%;background:color-mix(in srgb, var(--nd-growth) 80%, var(--nd-ink) 20%);}
  .nd-rs-3{height:72%;background:var(--nd-ink-2);border:1px solid rgba(255,255,255,.14);}
  .nd-rs-4{height:88%;background:color-mix(in srgb, var(--nd-pulse) 62%, var(--nd-ink) 38%);}
  .nd-rs-5{height:100%;background:var(--nd-pulse);}
  .nd-roadmap-caption{display:flex;justify-content:space-between;margin-top:1.5rem;font-size:.82rem;color:var(--nd-on-ink-soft);}
  @media (max-width:760px){
    .nd-roadmap-stairs{flex-direction:column;height:auto;gap:.75rem;}
    .nd-roadmap-step{flex-direction:row;justify-content:flex-start;text-align:left;border-radius:14px;padding:1rem 1.15rem;gap:1.1rem;height:auto !important;}
    .nd-roadmap-step .nd-n{position:static;transform:none;}
    .nd-roadmap-step span.nd-label+span.nd-label{border-top:none;padding-top:0;}
    .nd-roadmap-caption{flex-direction:column;gap:.4rem;}
  }

  /* ============ CTA BAND ============ */
  .nd-cta-band{text-align:center;overflow:hidden;}
  .nd-cta-band .nd-container{max-width:42rem;position:relative;z-index:1;}
  .nd-cta-band h2{margin-bottom:.9rem;}
  .nd-cta-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.75rem;margin:1.85rem 0 2.35rem;}
  .nd-cta-badges span{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;color:var(--nd-on-ink-soft);}
  .nd-cta-badges svg{width:16px;height:16px;color:var(--nd-growth);flex:none;}
  .nd-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;}

  /* ============ TESTIMONIALS ============ */
  .nd-test-wrap{max-width:50rem;margin-inline:auto;position:relative;}
  .nd-test-track{overflow:hidden;border-radius:var(--nd-radius-l);}
  .nd-test-slides{display:flex;transition:transform .55s cubic-bezier(.65,0,.35,1);}
  .nd-test-slide{flex:0 0 100%;min-width:0;}
  .nd-test-card{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);padding:clamp(1.85rem,4vw,2.85rem);}
  .nd-test-stars{color:var(--nd-pulse);letter-spacing:.2em;font-size:1rem;margin-bottom:1.2rem;}
  .nd-test-quote{font-size:1.08rem;color:var(--nd-text);line-height:1.75;max-width:none;}
  .nd-test-person{display:flex;align-items:center;gap:.9rem;margin-top:1.85rem;padding-top:1.5rem;border-top:1px solid var(--nd-line);}
  .nd-test-avatar{width:48px;height:48px;border-radius:50%;background:var(--nd-ink);color:var(--nd-on-ink);display:flex;align-items:center;justify-content:center;font-family:var(--nd-font-display);font-weight:700;flex:none;}
  .nd-test-person strong{display:block;font-size:.98rem;color:var(--nd-text);}
  .nd-test-person span{font-size:.85rem;color:var(--nd-text-mute);}
  .nd-test-nav{display:flex;justify-content:center;align-items:center;gap:.6rem;margin-top:1.85rem;}
  .nd-test-dot{width:9px;height:9px;border-radius:50%;background:var(--nd-line);transition:background-color .2s ease,transform .2s ease;}
  .nd-test-dot[aria-current="true"]{background:var(--nd-growth);transform:scale(1.3);}
  .nd-test-arrow{position:absolute;top:38%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:var(--nd-surface);border:1px solid var(--nd-line);display:flex;align-items:center;justify-content:center;box-shadow:var(--nd-shadow-sm);flex:none;}
  .nd-test-arrow svg{width:18px;height:18px;}
  .nd-test-arrow.nd-prev{left:-23px;}
  .nd-test-arrow.nd-next{right:-23px;}
  @media (max-width:760px){ .nd-test-arrow{display:none;} }

  /* ============ FAQ ============ */
  .nd-faq-wrap{max-width:46rem;margin-inline:auto;}
  #faq>.nd-container{position:relative;z-index:1;}
  .nd-faq-item{border-bottom:1px solid var(--nd-line);}
  .nd-faq-item:first-child{border-top:1px solid var(--nd-line);}
  .nd-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.5rem .1rem;text-align:left;font-family:var(--nd-font-display);font-weight:600;font-size:1.05rem;color:var(--nd-text);}
  .nd-faq-q svg{width:20px;height:20px;color:var(--nd-text-mute);flex:none;transition:transform .25s ease,color .2s ease;}
  .nd-faq-item.nd-open .nd-faq-q svg{transform:rotate(45deg);color:var(--nd-pulse);}
  .nd-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .nd-faq-a p{padding:0 .1rem 1.65rem;font-size:.98rem;max-width:none;}
  .nd-faq-item.nd-open .nd-faq-a{max-height:420px;}

  /* ============ CONTACT ============ */
  .nd-contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
  .nd-contact-info{display:flex;flex-direction:column;gap:1.4rem;margin-top:2rem;}
  .nd-contact-info-item{display:flex;align-items:flex-start;gap:1rem;}
  .nd-contact-info-item .nd-ico{width:46px;height:46px;border-radius:50%;background:var(--nd-growth-tint);color:var(--nd-growth-dark);display:flex;align-items:center;justify-content:center;flex:none;}
  .nd-contact-info-item .nd-ico svg{width:20px;height:20px;}
  .nd-contact-info-item strong{display:block;font-size:1rem;color:var(--nd-text);margin-bottom:.2rem;}
  .nd-contact-info-item span,.nd-contact-info-item a{font-size:.95rem;color:var(--nd-text-soft);}
  .nd-contact-social{display:flex;gap:.65rem;margin-top:.5rem;}
  .nd-contact-social a{width:38px;height:38px;border-radius:50%;background:var(--nd-mist);color:var(--nd-text);display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;}
  .nd-contact-social a:hover{background:var(--nd-growth);color:#fff;}
  .nd-contact-social svg{width:16px;height:16px;}

  /* shared form card */
  .nd-form-card{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);padding:clamp(1.75rem,4vw,2.5rem);position:relative;overflow:hidden;}
  .nd-form-card h3{margin-bottom:.35rem;}
  .nd-form-card>p.nd-form-sub{font-size:.9rem;color:var(--nd-text-mute);margin-bottom:1.6rem;}
  .nd-field{margin-bottom:1.1rem;}
  .nd-field label{display:block;font-size:.83rem;font-weight:700;color:var(--nd-text);margin-bottom:.4rem;}
  .nd-field input,.nd-field textarea{width:100%;border:1.5px solid var(--nd-line);border-radius:var(--nd-radius-s);padding:.85rem 1rem;background:var(--nd-paper);font-size:.96rem;transition:border-color .15s ease;font-family:var(--nd-font-body);}
  .nd-field input:focus,.nd-field textarea:focus{border-color:var(--nd-growth);}
  .nd-field textarea{resize:vertical;min-height:96px;}
  .nd-form-note{font-size:.78rem;color:var(--nd-text-mute);margin-top:1.1rem;text-align:center;}
  .nd-form-success{display:none;text-align:center;padding:1.5rem 0 .5rem;}
  .nd-form-success.nd-show{display:block;}
  .nd-form-success.nd-show ~ *{display:none;}
  .nd-form-success svg{width:50px;height:50px;color:var(--nd-growth);margin:0 auto 1rem;}
  .nd-form-success h4{margin-bottom:.5rem;}

  /* ============ LEAD SECTION ============ */
  .nd-lead-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center;}
  .nd-lead-value-list{display:flex;flex-direction:column;gap:1rem;margin:1.75rem 0 2rem;}
  .nd-lead-value-list div{display:flex;align-items:center;gap:.85rem;font-weight:700;color:var(--nd-text);font-size:.98rem;}
  .nd-lead-value-list svg{width:22px;height:22px;color:var(--nd-growth);flex:none;}
  .nd-lead-value-list .nd-value-tag{margin-left:auto;background:var(--nd-pulse-tint);color:var(--nd-pulse-dark);font-size:.76rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;white-space:nowrap;}

  @media (max-width:900px){
    .nd-contact-layout,.nd-lead-layout{grid-template-columns:1fr;}
  }

  /* ============ FOOTER ============ */
  .nd-site-footer{position:relative;overflow:hidden;background:var(--nd-ink);color:var(--nd-on-ink-soft);padding-top:clamp(3rem,6vw,5rem);}
  .nd-site-footer>.nd-container{position:relative;z-index:1;}
  .nd-footer-grid{display:grid;grid-template-columns:1.5fr .9fr .95fr 1.05fr;gap:2.5rem;padding-bottom:2.75rem;border-bottom:1px solid rgba(234,241,251,.14);}
  .nd-footer-brand .nd-brand{color:#fff;margin-bottom:1.1rem;}
  .nd-footer-brand>p{color:var(--nd-on-ink-soft);font-size:.92rem;max-width:24rem;}
  .nd-footer-brand .nd-contact-info{margin-top:1.5rem;gap:.95rem;}
  .nd-footer-brand .nd-contact-info-item .nd-ico{background:rgba(234,241,251,.08);color:var(--nd-growth);}
  .nd-footer-brand .nd-contact-info-item strong{color:#fff;}
  .nd-footer-brand .nd-contact-info-item span,.nd-footer-brand .nd-contact-info-item a{color:var(--nd-on-ink-soft);}
  .nd-footer-col h4{color:#fff;font-size:.95rem;font-family:var(--nd-font-display);margin-bottom:1.15rem;}
  .nd-footer-col ul{display:flex;flex-direction:column;gap:.75rem;}
  .nd-footer-col a{font-size:.9rem;color:var(--nd-on-ink-soft);transition:color .15s ease;}
  .nd-footer-col a:hover{color:#fff;}
  .nd-footer-newsletter p{font-size:.9rem;color:var(--nd-on-ink-soft);margin-bottom:1.1rem;}
  .nd-footer-newsletter form{display:flex;flex-direction:column;gap:.65rem;}
  .nd-footer-newsletter input{border:1px solid rgba(234,241,251,.22);background:rgba(255,255,255,.06);border-radius:var(--nd-radius-s);padding:.8rem 1rem;color:#fff;font-size:.9rem;}
  .nd-footer-newsletter input::placeholder{color:var(--nd-on-ink-soft);}
  .nd-footer-newsletter .nd-fn-success{display:none;font-size:.88rem;color:var(--nd-growth);font-weight:700;}
  .nd-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-block:1.75rem;font-size:.85rem;color:var(--nd-on-ink-soft);}
  .nd-footer-bottom .nd-contact-social a{background:rgba(234,241,251,.08);}
  .nd-footer-bottom .nd-contact-social a:hover{background:var(--nd-growth);color:var(--nd-ink);}
  @media (max-width:900px){ .nd-footer-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .nd-footer-grid{grid-template-columns:1fr;} }

  /* ============ PROMO POPUP ============ */
  .nd-promo-popup{position:fixed;right:1.5rem;bottom:1.5rem;z-index:90;width:min(336px,88vw);background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow);padding:1.5rem;transform:translateY(24px) scale(.96);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;}
  .nd-promo-popup.nd-show{transform:none;opacity:1;pointer-events:auto;}
  .nd-promo-popup__close{position:absolute;top:.85rem;right:.85rem;width:30px;height:30px;border-radius:50%;background:var(--nd-mist);display:flex;align-items:center;justify-content:center;}
  .nd-promo-popup__close svg{width:14px;height:14px;}
  .nd-promo-popup h4{font-size:1.05rem;margin-bottom:.5rem;padding-right:1.5rem;}
  .nd-promo-popup>p{font-size:.87rem;margin-bottom:1.15rem;}
  .nd-promo-popup .nd-field{margin-bottom:.65rem;}
  .nd-promo-popup .nd-field input{padding:.65rem .85rem;font-size:.88rem;}
  .nd-promo-popup .nd-form-success svg{width:40px;height:40px;margin-bottom:.6rem;}
  .nd-promo-popup .nd-form-success p{margin-inline:auto;}
  @media (max-width:480px){ .nd-promo-popup{right:.65rem;left:.65rem;bottom:5.5rem;width:auto;} }

  /* ============ FLOATING ACTIONS ============ */
  .nd-fab-stack{position:fixed;left:1.5rem;bottom:1.5rem;z-index:85;display:flex;flex-direction:column;gap:.75rem;}
  .nd-fab{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--nd-shadow-sm);color:#fff;transition:transform .18s ease;}
  .nd-fab:hover{transform:scale(1.08);}
  .nd-fab svg{width:22px;height:22px;}
  .nd-fab--call{background:var(--nd-pulse);}
  .nd-fab--whatsapp{background:#25D366;}
  @media (max-width:480px){
    .nd-fab-stack{left:1rem;bottom:1rem;}
    .nd-fab{width:46px;height:46px;}
    .nd-fab svg{width:19px;height:19px;}
  }
  @media (max-width:980px){
    .nd-fab-stack{display:none;}
  }

  .nd-fab-bar{display:none;}
  @media (max-width:980px){
    .nd-fab-bar{
      display:flex;position:fixed;left:0;right:0;bottom:0;z-index:85;
      background:var(--nd-surface);border-top:1px solid var(--nd-line);box-shadow:0 -8px 24px -18px rgba(11,31,61,.35);
      padding-bottom:env(safe-area-inset-bottom,0px);
    }
    .nd-fab-bar a{
      flex:1;display:flex;align-items:center;justify-content:center;gap:.55rem;
      padding:.95rem 1rem;font-family:var(--nd-font-display);font-weight:700;font-size:.92rem;color:#fff;
    }
    .nd-fab-bar svg{width:19px;height:19px;flex:none;}
    .nd-fab-bar .nd-fab-bar__call{background:var(--nd-pulse);}
    .nd-fab-bar .nd-fab-bar__whatsapp{background:#25D366;}
    body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px));}
  }

  .nd-back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;z-index:84;width:46px;height:46px;border-radius:50%;background:var(--nd-ink);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--nd-shadow-sm);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease;}
  @media (max-width:980px){ .nd-back-to-top{display:none;} }
  .nd-back-to-top.is-visible{ /* matches assets/js/theme.js toggle, unchanged */opacity:1;pointer-events:auto;transform:none;}
  .nd-back-to-top svg{width:18px;height:18px;}

  [id]{scroll-margin-top:86px;}
  ::selection{background:var(--nd-growth);color:#fff;}

  /* ---------------------------------------------------------------------
     Blog (app/Views/blog/*.php) — these views aren't page-builder driven
     (no page_sections rows), so they're plain static PHP + these nd-
     classes, same visual language as the rest of the redesigned site.
     --------------------------------------------------------------------- */
  .nd-blog-layout{display:grid;grid-template-columns:1fr 320px;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
  @media (max-width:900px){ .nd-blog-layout{grid-template-columns:1fr;} }

  .nd-blog-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:6.5rem;}
  @media (max-width:900px){ .nd-blog-sidebar{position:static;} }
  .nd-blog-widget{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);padding:1.5rem 1.6rem;}
  .nd-blog-widget h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem;}
  .nd-blog-widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
  .nd-blog-widget li{border-bottom:1px solid var(--nd-line);padding-bottom:.75rem;}
  .nd-blog-widget li:last-child{border-bottom:none;padding-bottom:0;}
  .nd-blog-widget a{font-size:.9rem;color:var(--nd-text-soft);line-height:1.4;transition:color .15s ease;}
  .nd-blog-widget a:hover{color:var(--nd-growth-dark);}
  .nd-blog-empty{color:var(--nd-text-mute);padding:2rem 0;}

  /* /blog — browse categories as zig-zag rows */
  .nd-blog-cat-rows{display:flex;flex-direction:column;gap:1.75rem;}
  .nd-blog-cat-row{display:flex;gap:2.2rem;align-items:center;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);overflow:hidden;}
  .nd-blog-cat-row.nd-reverse{flex-direction:row-reverse;}
  .nd-blog-cat-row-image{flex:0 0 40%;align-self:stretch;}
  .nd-blog-cat-row-image img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;}
  .nd-blog-cat-row-content{flex:1;padding:1.75rem 2rem;}
  .nd-blog-cat-row.nd-reverse .nd-blog-cat-row-content{padding:1.75rem 2rem;}
  .nd-blog-cat-row-content h2{font-size:1.35rem;margin-bottom:.6rem;}
  .nd-blog-cat-row-content h2 a{color:var(--nd-text);}
  .nd-blog-cat-row-content h2 a:hover{color:var(--nd-growth-dark);}
  .nd-blog-cat-row-content p{color:var(--nd-text-soft);font-size:.95rem;line-height:1.6;margin-bottom:1.1rem;}
  @media (max-width:760px){
    .nd-blog-cat-row,.nd-blog-cat-row.nd-reverse{flex-direction:column;}
    .nd-blog-cat-row-image{flex-basis:auto;width:100%;}
    .nd-blog-cat-row-image img{min-height:190px;}
  }

  /* category/tag listing — square-image card grid */
  .nd-blog-post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem;}
  .nd-blog-post-card{display:flex;flex-direction:column;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:var(--nd-radius-l);box-shadow:var(--nd-shadow-sm);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;}
  .nd-blog-post-card:hover{transform:translateY(-4px);box-shadow:var(--nd-shadow);}
  .nd-blog-post-card-image{position:relative;aspect-ratio:1/1;overflow:hidden;display:block;}
  .nd-blog-post-card-image img{width:100%;height:100%;object-fit:cover;display:block;}
  .nd-blog-post-card-date{position:absolute;top:.75rem;right:.75rem;background:var(--nd-pulse);color:#fff;font-family:var(--nd-font-display);font-weight:600;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px;box-shadow:var(--nd-shadow-sm);}
  .nd-blog-post-card-content{flex:1;display:flex;flex-direction:column;padding:1.35rem 1.5rem 1.6rem;}
  .nd-blog-post-card-content h2{font-size:1.08rem;margin-bottom:.5rem;}
  .nd-blog-post-card-content h2 a{color:var(--nd-text);}
  .nd-blog-post-card-content h2 a:hover{color:var(--nd-growth-dark);}
  .nd-blog-post-card-content p{color:var(--nd-text-soft);font-size:.88rem;line-height:1.55;margin:0 0 1rem;}
  .nd-blog-post-card-content .nd-card-link{margin-top:auto;}

  .nd-blog-card-category{display:inline-flex;align-self:flex-start;background:var(--nd-growth-tint);color:var(--nd-growth-dark);border-radius:999px;padding:.28rem .75rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.75rem;}

  .nd-blog-pagination{display:flex;justify-content:space-between;margin-top:2.75rem;gap:1.25rem;}
  .nd-blog-pagination a,.nd-blog-pagination span{font-family:var(--nd-font-display);font-weight:600;font-size:.88rem;padding:.65rem 1.4rem;border:1.5px solid var(--nd-line);border-radius:999px;color:var(--nd-text);transition:border-color .15s ease,color .15s ease;}
  .nd-blog-pagination a:hover{border-color:var(--nd-growth);color:var(--nd-growth-dark);}
  .nd-blog-pagination span.nd-disabled{opacity:.4;pointer-events:none;}

  /* single post */
  .nd-blog-post-image{width:100%;max-height:480px;object-fit:cover;border-radius:var(--nd-radius-l);margin-bottom:2rem;box-shadow:var(--nd-shadow-sm);}
  .nd-blog-post-body{color:var(--nd-text-soft);line-height:1.85;font-size:1.05rem;}
  .nd-blog-post-body h2,.nd-blog-post-body h3{color:var(--nd-text);margin:2rem 0 1rem;}
  .nd-blog-post-body p{margin-bottom:1.1rem;}
  .nd-blog-post-body img{max-width:100%;height:auto;border-radius:var(--nd-radius-m);}
  .nd-blog-post-body a{color:var(--nd-growth-dark);text-decoration:underline;}
  .nd-blog-post-body ul,.nd-blog-post-body ol{padding-left:1.4rem;margin-bottom:1.1rem;}
  .nd-blog-post-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
  .nd-blog-tag-pill{background:var(--nd-surface);border:1px solid var(--nd-line);color:var(--nd-text-soft);border-radius:999px;padding:.35rem 1rem;font-size:.82rem;transition:border-color .15s ease,color .15s ease;}
  .nd-blog-tag-pill:hover{border-color:var(--nd-growth);color:var(--nd-growth-dark);}
  .nd-blog-back-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:2.5rem;font-family:var(--nd-font-display);font-weight:700;font-size:.9rem;color:var(--nd-growth-dark);}
  .nd-blog-post-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center;color:var(--nd-text-mute);font-size:.9rem;margin-top:.5rem;}