  :root{
    --ink:#15181f;
    --ink-soft:#4a5160;
    --paper:#faf8f4;
    --paper-deep:#f1eee6;
    --line:#dcd6c8;
    --primary:#56669c;
    --primary-deep:#3c4877;
    --primary-tint:#a8b7d1;
    --signal:#7ed957;
    --signal-deep:#4f9e34;
    --white:#ffffff;
    --radius:14px;
    --max:1600px;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  html,body{max-width:100%;overflow-x:hidden;}
  img,svg,video,canvas{max-width:100%;height:auto;}
  body{
    font-family:'Lato',sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.6;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Raleway',sans-serif;color:var(--ink);letter-spacing:-0.01em;}
  a{color:inherit;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(16px, 4vw, 56px);}

  /* Full-bleed sections: every section spans edge-to-edge with its inner
     content capped by .wrap, so all sections line up whether or not a given
     WordPress block is set to "Full width". Horizontal overflow is clipped by
     the overflow-x:hidden on html,body above. */
  .nav,.hero,.trust,#platform,#audiences,#proof,#news,.stats,#contact,footer{
    margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  }
  .mono{font-family:'JetBrains Mono',monospace;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:13px 26px;border-radius:999px;
    font-weight:600;font-size:14.5px;text-decoration:none;
    border:1.5px solid transparent;cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px -6px rgba(56,72,119,.55);}
  .btn-primary:hover{background:var(--primary-deep);transform:translateY(-1px);}
  .btn-ghost{background:transparent;color:var(--primary-deep);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--primary);background:var(--white);}
  .btn-sm{padding:9px 18px;font-size:13.5px;}

  /* ---------- Nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:300;
    background:rgba(250,248,244,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
  }
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
  .brand-logo{height:66px;width:auto;display:block;}
  .footer-brand .brand-logo{height:34px;}
  .product-logo{width:auto;height:auto;max-width:100%;max-height:150px;display:block;margin-bottom:26px;}
  .hero-soc{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap;}
  .hero-soc-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
  .hero-soc img{display:block;width:auto;}
  .hero-soc .soc-aicpa{height:96px;}
  .hero-soc .soc-sensiba{height:96px;}
  .brand-mark{
    width:38px;height:38px;border-radius:9px;
    background:linear-gradient(155deg,var(--primary),var(--primary-deep));
    display:flex;align-items:center;justify-content:center;
    position:relative;flex-shrink:0;
  }
  .brand-mark::after{
    content:"";position:absolute;width:13px;height:13px;
    border-radius:50%;background:var(--signal);
    bottom:-3px;right:-3px;border:2.5px solid var(--paper);
  }
  .brand-mark svg{width:19px;height:19px;}
  .brand-name{font-family:'Raleway',sans-serif;font-weight:800;font-size:19px;color:var(--ink);}
  .brand-name span{color:var(--primary);}

  nav.links{display:flex;align-items:center;gap:26px;}
  nav.links a{
    font-size:15px;font-weight:600;color:var(--ink-soft);text-decoration:none;
    transition:color .15s;
  }
  nav.links a:hover{color:var(--primary-deep);}
  .nav-actions{display:flex;align-items:center;gap:14px;}
  .nav-toggle{display:none;}

  @media (max-width:880px){
    nav.links{display:none;}
    .nav-actions .btn-ghost{display:none;}
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:88px 0 64px;
    overflow:hidden;
  }
  .hero::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:
      radial-gradient(circle at 85% 8%, rgba(126,217,87,.10), transparent 45%),
      radial-gradient(circle at 8% 30%, rgba(86,102,156,.10), transparent 50%);
  }
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  @media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
  @media (max-width:640px){
    .hero{padding:48px 0 48px;}
    .hero p.lead{font-size:16px;}
    .tape-card{max-width:100%;overflow:hidden;}
  }

  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%;
    font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--primary-deep);
    background:var(--primary-tint);background:rgba(168,183,209,.35);
    padding:7px 14px;border-radius:999px;margin-bottom:22px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--signal-deep);flex-shrink:0;}

  .hero h1{
    font-size:clamp(30px,4.6vw,52px);
    font-weight:800;line-height:1.08;
    margin-bottom:22px;overflow-wrap:break-word;
  }
  .hero h1 em{font-style:normal;color:var(--primary-deep);}
  .hero p.lead{
    font-size:18px;color:var(--ink-soft);max-width:520px;margin-bottom:32px;
  }
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;}
  .hero-microcopy{font-size:13px;color:var(--ink-soft);}
  .hero-tagline{font-family:'JetBrains Mono',monospace;font-size:clamp(16px,4.2vw,24px);letter-spacing:normal;color:var(--primary-deep);margin:0 0 22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .hero-tagline .tag-rule{width:28px;height:2px;background:var(--signal);display:inline-block;flex-shrink:0;}
  .hero-tagline sup{font-size:14px;margin-left:-2px;color:var(--ink-soft);letter-spacing:0;}

  /* Reconciliation tape — signature visual */
  .tape-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 24px 60px -28px rgba(21,24,31,.25);
    overflow:hidden;
  }
  .tape-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 22px;border-bottom:1px solid var(--paper-deep);
  }
  .tape-head-title{font-size:13px;font-weight:700;color:var(--ink-soft);}
  .tape-head-status{
    display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--signal-deep);
  }
  .tape-head-status .pulse{width:7px;height:7px;border-radius:50%;background:var(--signal);
    box-shadow:0 0 0 0 rgba(126,217,87,.6); animation:pulse 2s infinite;}
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(126,217,87,.5);}
    70%{box-shadow:0 0 0 7px rgba(126,217,87,0);}
    100%{box-shadow:0 0 0 0 rgba(126,217,87,0);}
  }
  .tape-row{
    display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;
    padding:13px 22px;border-bottom:1px solid var(--paper-deep);
    font-size:13.5px;
  }
  .tape-row:last-child{border-bottom:none;}
  .tape-row .badge{
    width:30px;height:30px;border-radius:8px;background:var(--paper-deep);
    display:flex;align-items:center;justify-content:center;
    font-family:'Raleway',sans-serif;font-weight:700;font-size:12px;color:var(--primary-deep);
  }
  .tape-row .name{font-weight:600;color:var(--ink);}
  .tape-row .sub{display:block;font-size:11.5px;color:var(--ink-soft);font-weight:400;margin-top:1px;}
  .tape-row .amt{font-family:'JetBrains Mono',monospace;font-weight:500;color:var(--ink);text-align:right;}
  .tape-row .tick{
    width:22px;height:22px;border-radius:50%;background:rgba(126,217,87,.18);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .tape-row .tick svg{width:11px;height:11px;}
  .tape-row.pending .tick{background:var(--paper-deep);}
  .tape-row.pending .amt{color:var(--ink-soft);}
  .tape-foot{
    padding:16px 22px;background:var(--paper-deep);
    display:flex;align-items:center;justify-content:space-between;
  }
  .tape-foot .label{font-size:12px;color:var(--ink-soft);font-weight:600;}
  .tape-foot .total{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:15px;color:var(--primary-deep);}

  /* ---------- Trust strip ---------- */
  .trust{padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-deep);overflow:hidden;}
  .trust .wrap{display:flex;justify-content:center;margin-bottom:22px;}
  .trust-label{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
  .trust-marquee{position:relative;width:100%;overflow-x:auto;scrollbar-width:thin;}
  .trust-marquee.is-enhanced{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .trust-marquee.is-enhanced::-webkit-scrollbar{display:none;}
  .trust-track{display:flex;align-items:center;width:max-content;}
  .trust-track > *{margin-right:60px;flex-shrink:0;}
  .trust-track.is-marquee{animation:trust-scroll 48s linear infinite;}
  .trust-marquee.is-enhanced:hover .trust-track.is-marquee{animation-play-state:paused;}
  @keyframes trust-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.trust-track.is-marquee{animation:none;}}
  .trust-track img,.trust-track .logo-finsecure{display:block;width:auto;flex-shrink:0;opacity:.78;transition:opacity .2s;object-fit:contain;}
  .trust-track img:hover,.trust-track .logo-finsecure:hover{opacity:1;}
  .trust-track .logo-purplecircle{height:46px;}
  .trust-track .logo-vision{height:46px;}
  .trust-track .logo-mlb{height:44px;}
  .trust-track .logo-hejaz{height:42px;}
  .trust-track .logo-ratemoney{height:40px;}
  .trust-track .logo-ybr{height:30px;}
  .trust-track .logo-rab{height:28px;}
  .trust-track .logo-wlth{height:26px;}
  .trust-track .logo-outsource{height:26px;}
  .trust-track .logo-finsecure{height:24px;}
  .trust-track .logo-custom{height:22px;}
  .trust-track .logo-sfg{height:15px;max-width:200px;}

  /* ---------- Section scaffolding ---------- */
  section{padding:96px 0;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-eyebrow{
    font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--primary-deep);margin-bottom:14px;display:block;
  }
  .section-head h2{font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.18;margin-bottom:14px;}
  .section-head p{font-size:16.5px;color:var(--ink-soft);}
  .section-head.center{margin-inline:auto;text-align:center;}

  /* ---------- News (carousel) ---------- */
  .news-carousel{position:relative;}
  .news-track{
    display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
    scroll-behavior:smooth;padding-bottom:12px;scrollbar-width:thin;
  }
  .news-track::-webkit-scrollbar{height:8px;}
  .news-track::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
  .news-track .news-card{flex:0 0 calc((100% - 48px) / 3);scroll-snap-align:start;}
  @media (max-width:900px){.news-track .news-card{flex:0 0 100%;}}
  .news-nav{display:none;justify-content:center;gap:12px;margin-top:26px;}
  .news-nav button{
    width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);
    background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;
    color:var(--primary-deep);transition:background .15s,border-color .15s,opacity .15s;
  }
  .news-nav button:hover{border-color:var(--primary);background:var(--paper-deep);}
  .news-nav button:disabled{opacity:.3;cursor:default;}
  .news-nav button svg{width:20px;height:20px;}
  /* When the carousel script runs it adds .is-enhanced: hide the scrollbar
     and reveal the arrow controls. Without JS, the scrollbar stays so the
     cards are still reachable by scroll/swipe. */
  .news-carousel.is-enhanced .news-track{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;}
  .news-carousel.is-enhanced .news-track::-webkit-scrollbar{display:none;}
  .news-carousel.is-enhanced .news-nav{display:flex;}
  .news-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px;display:flex;flex-direction:column;gap:12px;
    box-shadow:0 18px 44px -30px rgba(21,24,31,.18);transition:transform .18s,box-shadow .18s;
  }
  .news-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px -28px rgba(21,24,31,.24);}
  .news-tag{
    display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;color:var(--signal-deep);
  }
  .news-date{font-size:12.5px;color:var(--ink-soft);font-family:'JetBrains Mono',monospace;}
  .news-card h3{font-size:17.5px;font-weight:800;line-height:1.32;margin:2px 0 0;}
  .news-card p{font-size:14px;color:var(--ink-soft);line-height:1.5;flex:1;}
  .news-link{font-size:13.5px;font-weight:700;color:var(--primary-deep);display:inline-flex;align-items:center;gap:5px;}
  .news-link svg{width:13px;height:13px;}

  /* ---------- Press release modal (pure CSS, no JS) ---------- */
  .pr-modal{
    display:none;position:fixed;inset:0;z-index:200;background:rgba(21,24,31,.6);
    padding:0;overflow-y:auto;
  }
  .pr-modal:target{display:block;}
  .pr-modal-card{
    background:var(--white);max-width:100%;min-height:100vh;margin:0;border-radius:0;
    padding-top:clamp(56px,6vw,88px);padding-bottom:clamp(56px,6vw,88px);
    padding-left:max(24px,(100% - 860px)/2);padding-right:max(24px,(100% - 860px)/2);
    position:relative;box-shadow:none;
  }
  .pr-close{
    position:absolute;top:20px;right:20px;width:34px;height:34px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;background:var(--paper-deep);
    color:var(--ink-soft);text-decoration:none;font-size:18px;font-weight:700;line-height:1;
  }
  .pr-close:hover{background:var(--line);}
  .pr-label{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:4px;margin-bottom:18px;}
  .pr-modal-card h3{font-size:clamp(24px,3.4vw,32px);font-weight:800;line-height:1.3;margin-bottom:8px;}
  .pr-dateline{font-size:15px;color:var(--ink-soft);font-style:italic;margin-bottom:22px;}
  .pr-modal-card p{font-size:17px;line-height:1.7;color:var(--ink-soft);margin-bottom:18px;}
  .pr-modal-card h4{font-size:16px;font-weight:800;color:var(--primary-deep);margin:28px 0 10px;}
  .pr-quote{
    border-left:3px solid var(--primary-deep);background:var(--paper-deep);
    padding:16px 20px;border-radius:0 8px 8px 0;font-size:17px;line-height:1.65;
    color:var(--ink);font-style:italic;margin-bottom:8px;
  }
  .pr-attrib{font-size:14.5px;font-weight:700;color:var(--ink-soft);margin-bottom:20px;}
  .pr-quote p{font-style:italic;margin-bottom:14px;}
  .pr-quote p:last-child{margin-bottom:0;}
  div.pr-quote{margin-bottom:16px;}

  /* ---------- Problem / solution alternating ---------- */
  .feature-row{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
    padding:64px 0;border-bottom:1px solid var(--line);
  }
  .feature-row:last-child{border-bottom:none;}
  .feature-row.reverse .feature-visual{order:2;}
  .feature-row.reverse .feature-copy{order:1;}
  @media (max-width:900px){
    .feature-row, .feature-row.reverse{grid-template-columns:1fr;gap:32px;}
    .feature-row.reverse .feature-visual, .feature-row.reverse .feature-copy{order:initial;}
  }
  .feature-copy .section-eyebrow{margin-bottom:12px;}
  .feature-copy h3{font-size:25px;font-weight:800;margin-bottom:14px;line-height:1.25;}
  .feature-copy p{color:var(--ink-soft);font-size:15.5px;margin-bottom:20px;}
  .feature-list{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .feature-list li{
    display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink);
  }
  .feature-list svg{flex-shrink:0;margin-top:3px;width:15px;height:15px;color:var(--signal-deep);}

  .feature-visual{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;box-shadow:0 18px 44px -26px rgba(21,24,31,.2);
  }
  .feature-visual.screenshot{padding:14px;overflow:hidden;}
  .feature-visual.screenshot img{display:block;width:100%;border-radius:10px;}

  /* mini visual: lender ingest */
  .lender-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
  .lender-chip{
    background:var(--paper-deep);border-radius:9px;padding:11px 8px;text-align:center;
    font-size:11.5px;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);
  }
  .ingest-arrow{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);font-size:12px;margin-bottom:18px;}
  .ingest-arrow svg{width:16px;height:16px;}
  .ingest-result{
    display:flex;align-items:center;justify-content:space-between;
    background:var(--paper-deep);border-radius:10px;padding:14px 16px;
  }
  .ingest-result .t{font-size:13px;font-weight:700;color:var(--ink);}
  .ingest-result .v{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--signal-deep);font-size:13px;}

  /* mini visual: dashboard cards */
  .dash-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .dash-card{background:var(--paper-deep);border-radius:10px;padding:16px;}
  .dash-card .k{font-size:11.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
  .dash-card .v{font-family:'Raleway',sans-serif;font-size:24px;font-weight:800;color:var(--primary-deep);}
  .dash-card .delta{font-size:12px;font-weight:600;color:var(--signal-deep);margin-top:4px;}

  /* mini visual: RCTI doc */
  .doc-card{background:var(--paper-deep);border-radius:10px;padding:0;overflow:hidden;}
  .doc-top{background:var(--primary);color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;}
  .doc-top .tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85;}
  .doc-top .num{font-family:'JetBrains Mono',monospace;font-size:12.5px;}
  .doc-body{padding:18px;}
  .doc-line{display:flex;justify-content:space-between;font-size:13px;padding:9px 0;border-bottom:1px dashed var(--line);}
  .doc-line:last-child{border-bottom:none;font-weight:700;}
  .doc-line .amt{font-family:'JetBrains Mono',monospace;}

  /* ---------- Audience cards ---------- */
  .audience{background:var(--paper-deep);}
  .audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media (max-width:980px){.audience-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.audience-grid{grid-template-columns:1fr;}}
  .audience-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:28px 24px;transition:transform .18s, box-shadow .18s;
  }
  .audience-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(21,24,31,.28);}
  .audience-icon{
    width:44px;height:44px;border-radius:11px;background:rgba(86,102,156,.12);
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  }
  .audience-icon svg{width:22px;height:22px;color:var(--primary-deep);}
  .audience-card h4{font-size:17px;font-weight:700;margin-bottom:8px;}
  .audience-card p{font-size:14px;color:var(--ink-soft);}

  /* ---------- Proof / quote ---------- */
  .proof{
    background:linear-gradient(165deg,var(--primary-deep),var(--primary));
    color:#fff;border-radius:24px;
    padding:56px 56px;
    display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
  }
  @media (max-width:780px){.proof{grid-template-columns:1fr;padding:40px 28px;}}
  .proof-mark{font-family:'Raleway',sans-serif;font-size:64px;font-weight:800;color:rgba(255,255,255,.35);line-height:1;}
  .proof blockquote{font-size:22px;font-weight:600;line-height:1.45;margin-bottom:18px;}
  .proof cite{display:block;font-style:normal;font-size:14px;opacity:.85;font-weight:500;}
  .proof-readmore{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-family:'Raleway',sans-serif;font-size:13.5px;font-weight:700;color:#7ed957;text-decoration:none;}
  .proof-readmore svg{width:13px;height:13px;}
  .proof-readmore:hover{color:#fff;}
  .proof + .proof{margin-top:24px;}

  /* ---------- Stats band ---------- */
  .stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center;}
  @media (max-width:780px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:36px;}}
  .stat-num{font-family:'Raleway',sans-serif;font-size:clamp(32px,4vw,44px);font-weight:800;color:var(--primary-deep);}
  .stat-num .stat-suffix{color:var(--signal-deep);}
  .stat-label{font-size:13.5px;color:var(--ink-soft);margin-top:6px;font-weight:600;}

  /* ---------- CTA ---------- */
  .cta-band{
    background:var(--primary-deep);color:#fff;border-radius:24px;
    padding:64px 56px;text-align:center;position:relative;overflow:hidden;
  }
  .cta-band::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(circle at 50% 0%, rgba(126,217,87,.18), transparent 60%);
  }
  .cta-band h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:14px;position:relative;color:#fff;}
  .cta-band p{color:rgba(255,255,255,.72);font-size:16px;max-width:520px;margin:0 auto 30px;position:relative;}
  .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;}
  .cta-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);}
  .cta-band .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}

  /* ---------- Footer ---------- */
  footer{padding:56px 0 32px;border-top:1px solid var(--line);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
  @media (max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
  .footer-brand .brand{margin-bottom:14px;}
  .footer-brand p{font-size:13.5px;color:var(--ink-soft);max-width:260px;}
  .footer-col h5{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:16px;}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .footer-col a{font-size:14px;color:var(--ink);text-decoration:none;}
  .footer-col a:hover{color:var(--primary-deep);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    padding-top:28px;border-top:1px solid var(--line);
    font-size:12.5px;color:var(--ink-soft);
  }
  .footer-bottom .tm{font-style:normal;}
  .footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap;}
  .footer-bottom-links a{color:var(--ink-soft);text-decoration:none;}
  .footer-bottom-links a:hover{color:var(--primary-deep);text-decoration:underline;}

  @media (prefers-reduced-motion: reduce){
    .pulse{animation:none;}
  }

  /* ---------- Contact form ---------- */
  .contact-form{max-width:640px;margin:32px auto 0;text-align:left;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:640px){.form-row{grid-template-columns:1fr;}}
  .form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
  .form-field label{font-size:13px;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.85);}
  .form-field input,.form-field textarea{
    font-family:'Lato',sans-serif;font-size:15px;color:var(--ink);
    border:1.5px solid var(--line);border-radius:10px;
    padding:12px 14px;background:var(--white);width:100%;
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .form-field input:focus,.form-field textarea:focus{
    outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(86,102,156,.18);
  }
  .form-field textarea{resize:vertical;min-height:120px;}
  .form-honeypot{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden;}
  .form-note{font-size:13px;color:rgba(255,255,255,.65);margin-top:14px;}
  .form-note a{color:#fff;text-decoration:underline;}
  .form-success{
    max-width:640px;margin:32px auto 0;text-align:left;
    background:rgba(126,217,87,.12);border:1.5px solid var(--signal);
    border-radius:var(--radius);padding:24px 28px;color:var(--ink);
  }
  .form-success h3{margin-bottom:8px;}
  .form-error{
    max-width:640px;margin:32px auto 0;text-align:left;
    background:rgba(214,69,69,.08);border:1.5px solid #d64545;
    border-radius:10px;padding:12px 16px;color:#a8302f;font-size:14px;
  }

  /* ---------- Thank-you popup ---------- */
  .thanks-modal{
    display:none;position:fixed;inset:0;z-index:1000;
    background:rgba(21,24,31,.6);
    align-items:center;justify-content:center;padding:0;
  }
  .thanks-modal.is-open{display:flex;}
  .thanks-modal-card{
    background:var(--white);border-radius:0;
    max-width:100%;width:100%;min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:clamp(40px,6vw,80px) clamp(24px,6vw,80px);text-align:center;
    box-shadow:none;position:relative;
  }
  .thanks-modal-card .thanks-icon{
    width:58px;height:58px;border-radius:50%;
    background:rgba(126,217,87,.16);color:var(--signal-deep);
    display:flex;align-items:center;justify-content:center;
    font-size:30px;font-weight:800;margin:0 auto 18px;
  }
  .thanks-modal-card h3{font-size:22px;font-weight:800;margin-bottom:10px;color:var(--ink);}
  .thanks-modal-card p{font-size:15px;color:var(--ink-soft);margin-bottom:26px;line-height:1.6;}
  .thanks-close{
    position:absolute;top:12px;right:16px;background:none;border:none;
    font-size:26px;line-height:1;color:var(--ink-soft);cursor:pointer;
  }
