@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

  :root{
    --ink:#0a1220; --ink-soft:#4a5b76; --paper:#ffffff; --paper-deep:#eef3fa;
    --manila:#dde8f7; --navy:#1a4fad; --navy-deep:#0a1e46; --seal:#1a56b0;
    --seal-deep:#0a1e46; --gold:#149664; --line:#cfdcee; --white:#ffffff;
    --spine-w:64px; --transition:0.25s cubic-bezier(.4,0,.2,1);
  }
  html[data-theme="dark"]{
    --ink:#eef2f7; --ink-soft:#9fb0c4; --paper:#0a0f1c; --paper-deep:#111a2c;
    --manila:#152847; --navy:#3f7fd6; --navy-deep:#122a52; --seal:#4a8fe0;
    --seal-deep:#7ab0ec; --gold:#2fbd80; --line:#22355a; --white:#0a0f1c;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; line-height:1.6; transition:background var(--transition), color var(--transition);
    background-image:repeating-linear-gradient(transparent, transparent 38px, rgba(31,95,168,0.06) 39px);}
  h1,h2,h3{font-family:'Source Serif 4',serif; color:var(--navy-deep); font-weight:700;}
  .mono{font-family:'IBM Plex Mono',monospace; letter-spacing:0.04em;}
  a{color:inherit;}
  img{max-width:100%; display:block;}

  /* fade-in on scroll */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  .spine{position:fixed; left:0; top:0; bottom:0; width:var(--spine-w); background:var(--navy-deep); z-index:80; display:flex; flex-direction:column; align-items:center; padding:26px 0;}
  .spine .mark{width:34px; height:34px; border:1.5px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:36px; flex-shrink:0; background:#ffffff; overflow:hidden;}
  .spine .mark img{width:22px; height:22px; object-fit:contain;}
  .spine .mark span{font-family:'Source Serif 4',serif; font-weight:700; color:var(--white); font-size:13px;}
  .theme-toggle{width:30px; height:30px; border:1px solid #3a527a; border-radius:50%; background:none; color:#cdd9e8; cursor:pointer; font-size:13px; margin-bottom:36px; display:flex; align-items:center; justify-content:center; transition:border-color .15s;}
  .theme-toggle:hover{border-color:var(--gold);}
  .spine-tabs{display:flex; flex-direction:column; gap:38px; flex-grow:1; align-items:center;}
  .spine-tabs a{writing-mode:vertical-rl; transform:rotate(180deg); font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#8fa3bd; text-decoration:none; padding:6px 4px; border-left:2px solid transparent; transition:color .15s, border-color .15s;}
  .spine-tabs a:hover, .spine-tabs a.active{color:var(--white); border-left-color:var(--gold);}
  .spine-foot{font-family:'IBM Plex Mono',monospace; font-size:9px; color:#5d7290; writing-mode:vertical-rl; transform:rotate(180deg); letter-spacing:0.1em;}

  .page{margin-left:var(--spine-w);}
  .ribbon{background:var(--gold); color:#ffffff; font-family:'Inter',sans-serif; font-size:15px; font-weight:700; letter-spacing:0.02em; text-align:center; padding:16px 46px; text-transform:none; position:relative; line-height:1.4;}
  .ribbon a{font-weight:800; font-size:15px;}
  @media (max-width:640px){ .ribbon{font-size:13px; padding:14px 40px;} }

  header{background:var(--paper); border-bottom:1.5px solid var(--ink); position:sticky; top:0; z-index:50; transition:background var(--transition);}
  .nav-wrap{max-width:1240px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:20px 44px;}
  .brand-text .name{font-family:'Source Serif 4',serif; font-weight:700; font-size:20px; color:var(--navy-deep); line-height:1.1;}
  .brand-text .tag{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.14em; color:var(--ink-soft); text-transform:uppercase;}
  .brand-row{display:flex; align-items:center; gap:12px;}
  .brand-logo{height:26px; width:auto; display:block; flex-shrink:0;}
  .brand-logo.footer-logo{height:22px;}
  .btn{display:inline-block; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; padding:11px 22px; border:1.5px solid var(--ink); text-decoration:none; cursor:pointer; transition:all var(--transition);}
  .btn-primary{background:var(--seal); color:var(--white); border-color:var(--seal);}
  .btn-primary:hover{background:var(--seal-deep); border-color:var(--seal-deep); transform:translateY(-2px);}
  .btn-ghost{background:transparent; color:var(--ink);}
  .btn-ghost:hover{background:var(--navy-deep); color:var(--paper); transform:translateY(-2px);}

  .hero{max-width:1240px; margin:0 auto; padding:80px 44px 60px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:60px; align-items:start; overflow:hidden;}
  .hero-simple{grid-template-columns:1fr; max-width:900px;}
  .hero-simple .lede{max-width:60ch;}
  .file-tag{display:inline-flex; align-items:center; gap:10px; background:var(--manila); border:1px solid var(--ink); padding:5px 12px 5px 10px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--seal-deep); margin-bottom:24px;}
  .file-tag::before{content:"●"; color:var(--seal); font-size:8px;}
  .hero h1{font-size:clamp(32px,4.2vw,52px); line-height:1.06; letter-spacing:-0.01em; margin-bottom:22px;}
  .hero h1 em{font-style:normal; color:var(--seal); text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:6px;}
  .hero p.lede{font-size:17px; color:var(--ink-soft); max-width:48ch; margin-bottom:32px;}
  .hero-ctas{display:flex; gap:14px; margin-bottom:40px;}
  .ledger{border-top:1px solid var(--ink);}
  .ledger-row{display:flex; justify-content:space-between; padding:13px 2px; border-bottom:1px dashed var(--line); font-size:13.5px;}
  .ledger-row .k{font-family:'IBM Plex Mono',monospace; color:var(--ink-soft); font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em;}
  .ledger-row .v{font-weight:600; color:var(--navy-deep); font-family:'Source Serif 4',serif; font-size:16px;}

  .dossier{background:var(--white); border:1px solid var(--ink); position:relative; box-shadow:6px 6px 0 var(--manila); transition:transform .35s ease, box-shadow .35s ease;}
  .dossier:hover{transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--manila);}
  .dossier-tab{background:var(--navy-deep); color:var(--paper); font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; padding:8px 18px;}
  .dossier-body{padding:30px 28px; position:relative; overflow:hidden;}
  .stamp{position:absolute; top:18px; right:18px; width:108px; height:108px; border-radius:50%; border:3px solid var(--seal); color:var(--seal); display:flex; align-items:center; justify-content:center; transform:rotate(-16deg); opacity:0.85;}
  .stamp::before{content:""; position:absolute; inset:8px; border:1px solid var(--seal); border-radius:50%;}
  .stamp span{font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:12px; letter-spacing:0.08em; text-align:center; line-height:1.5;}
  .cert-title{font-family:'Source Serif 4',serif; font-weight:700; font-size:18px; color:var(--navy-deep); margin-bottom:2px; max-width:62%;}
  .cert-sub{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:24px;}
  .cert-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px dashed var(--line); font-size:13.5px; max-width:78%;}
  .cert-row .k{color:var(--ink-soft);}
  .cert-row .v{font-weight:600; color:var(--navy-deep);}

  section{max-width:1240px; margin:0 auto; padding:90px 44px;}
  .section-head{margin-bottom:50px; max-width:680px; display:flex; gap:24px; align-items:flex-start;}
  .tab-num{font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:600; color:var(--white); background:var(--seal); width:34px; height:34px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}
  .section-head .htext .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:0.1em; color:var(--seal); text-transform:uppercase; margin-bottom:10px;}
  .section-head h2{font-size:clamp(26px,3vw,36px); margin-bottom:14px;}
  .section-head p{color:var(--ink-soft); font-size:15.5px; max-width:54ch;}
  hr.rule{border:none; border-top:1.5px solid var(--ink); margin:0 44px;}

  /* ---- stats (animated counters) ---- */
  .stats-wrap{background:var(--navy-deep);}
  .stats-grid{max-width:1240px; margin:0 auto; padding:64px 44px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.12);}
  .stat-box{background:var(--navy-deep); padding:16px 20px; text-align:center;}
  .stat-box .num{font-family:'Source Serif 4',serif; font-size:42px; font-weight:700; color:#ffffff;}
  .stat-box .lbl{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:#aab8cb; margin-top:8px;}

  /* ---- how it works ---- */
  .docket-list{border-top:1.5px solid var(--ink);}
  .docket-item{display:grid; grid-template-columns:90px 1fr 1.6fr; gap:26px; padding:26px 4px; border-bottom:1px solid var(--line); align-items:start; transition:background var(--transition);}
  .docket-item:hover{background:var(--paper-deep);}
  .docket-item .di-num{font-family:'Source Serif 4',serif; font-size:30px; font-weight:700; -webkit-text-stroke:1px var(--seal); color:transparent;}
  .docket-item h3{font-size:17px; font-family:'Inter',sans-serif; font-weight:600; color:var(--navy-deep);}
  .docket-item p{font-size:13.5px; color:var(--ink-soft);}

  /* ---- guides + search ---- */
  .guide-search{display:flex; align-items:center; gap:10px; background:var(--white); border:1.5px solid var(--ink); padding:12px 16px; margin-bottom:30px; max-width:420px;}
  .guide-search input{border:none; outline:none; background:none; font-family:'Inter',sans-serif; font-size:14px; color:var(--ink); width:100%;}
  .guide-search span{color:var(--ink-soft);}
  .guides{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .guide-card{background:var(--white); border:1px solid var(--ink); padding:26px 24px; position:relative; transition:transform var(--transition), box-shadow var(--transition);}
  .guide-card:hover{transform:translateY(-5px); box-shadow:0 14px 26px -16px rgba(0,0,0,0.35);}
  .guide-card::before{content:""; position:absolute; top:0; left:22px; width:34px; height:6px; background:var(--manila); border-left:1px solid var(--ink); border-right:1px solid var(--ink);}
  .guide-card .tag-row{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; margin-top:6px;}
  .guide-card .cat{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--navy-deep);}
  .guide-card .ref{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--seal);}
  .guide-card h3{font-size:17px; font-family:'Source Serif 4',serif; margin-bottom:10px; line-height:1.3;}
  .guide-card p{font-size:13.5px; color:var(--ink-soft); margin-bottom:18px;}
  .guide-card .read{font-size:13px; font-weight:600; color:var(--seal); text-decoration:none; border-bottom:1px solid var(--seal); padding-bottom:1px;}
  .no-results{font-size:13.5px; color:var(--ink-soft); padding:30px 0; display:none;}

  /* ---- testimonials ---- */
  .testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .t-card{background:var(--white); border:1px solid var(--ink); padding:28px 26px; transition:transform var(--transition);}
  .t-card:hover{transform:translateY(-5px);}
  .t-stars{color:var(--gold); font-size:14px; letter-spacing:2px; margin-bottom:14px;}
  .t-quote{font-size:14.5px; color:var(--ink-soft); margin-bottom:22px; font-style:italic;}
  .t-person{display:flex; align-items:center; gap:12px;}
  .t-avatar{width:42px; height:42px; border-radius:50%; background:var(--navy-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Source Serif 4',serif; font-weight:700; font-size:15px; flex-shrink:0;}
  .t-name{font-size:13.5px; font-weight:600; color:var(--navy-deep);}
  .t-role{font-size:12px; color:var(--ink-soft);}

  /* ---- pricing ---- */
  .toggle-row{display:flex; align-items:center; gap:14px; margin-bottom:36px;}
  .toggle-row .tlabel{font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft);}
  .toggle-row .tlabel.active{color:var(--seal); font-weight:600;}
  .switch{width:46px; height:24px; background:var(--navy); border-radius:14px; position:relative; cursor:pointer; flex-shrink:0;}
  .switch::after{content:""; width:18px; height:18px; background:var(--paper); border-radius:50%; position:absolute; top:3px; left:3px; transition:left .2s ease;}
  .switch.on::after{left:25px;}
  .save-badge{font-family:'IBM Plex Mono',monospace; font-size:10px; background:var(--gold); color:var(--ink); padding:3px 8px;}
  .pricing{display:grid; grid-template-columns:repeat(3,1fr); border:1.5px solid var(--ink); border-bottom:none;}
  .plan{padding:34px 28px; display:flex; flex-direction:column; border-right:1px solid var(--ink); border-bottom:1.5px solid var(--ink); background:var(--white); position:relative; transition:transform var(--transition);}
  .plan:hover{transform:translateY(-4px);}
  .plan:last-child{border-right:none;}
  .plan.featured{background:var(--navy-deep);}
  .plan.featured *{color:var(--white) !important;}
  .plan.featured .price{color:#8fc4ff !important;}
  .popular-badge{position:absolute; top:-1px; right:-1px; background:var(--seal); color:var(--white) !important; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.08em; padding:6px 12px;}
  .plan .plan-name{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px;}
  .plan .price{font-family:'Source Serif 4',serif; font-size:38px; color:var(--navy-deep); margin-bottom:4px;}
  .plan .price sup{font-size:15px; font-family:'Inter',sans-serif; font-weight:500; vertical-align:6px;}
  .plan .price-note{font-size:12.5px; color:var(--ink-soft); margin-bottom:24px;}
  .plan ul{list-style:none; margin-bottom:28px; flex-grow:1;}
  .plan li{font-size:13.5px; padding:9px 0; border-top:1px dashed var(--line); color:var(--ink-soft); padding-left:22px; position:relative;}
  .plan.featured li{border-top:1px dashed #2d4d76;}
  .plan li:first-child{border-top:none;}
  .plan li::before{content:"✓"; position:absolute; left:0; color:var(--gold); font-weight:700;}

  .pricing-faq{margin-top:50px; border-top:1px solid var(--line); padding-top:36px;}
  .pricing-faq h3{font-size:18px; margin-bottom:18px;}

  /* ---- pay-as-you-go clickable box (sits below the annual plans grid) ---- */
  .payg-card{display:flex; align-items:center; gap:22px; background:var(--white); border:1.5px solid var(--ink); padding:26px 30px; margin-top:26px; text-decoration:none; color:inherit; cursor:pointer; box-shadow:6px 6px 0 var(--manila); transition:transform var(--transition), box-shadow var(--transition);}
  .payg-card:hover{transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--manila);}
  .payg-card-icon{width:46px; height:46px; flex-shrink:0; border-radius:50%; background:var(--navy-deep); color:var(--gold); font-family:'Source Serif 4',serif; font-weight:700; font-size:20px; display:flex; align-items:center; justify-content:center;}
  .payg-card-body{flex-grow:1;}
  .payg-card-name{font-family:'Source Serif 4',serif; font-weight:700; font-size:18px; color:var(--navy-deep); margin-bottom:6px;}
  .payg-card-body p{font-size:13.5px; color:var(--ink-soft); max-width:64ch;}
  .payg-card-cta{font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:var(--seal); white-space:nowrap; flex-shrink:0; display:flex; align-items:center; gap:6px;}
  .payg-card-arrow{transition:transform .15s ease;}
  .payg-card:hover .payg-card-arrow{transform:translateX(3px);}
  @media (max-width:640px){
    .payg-card{flex-wrap:wrap; padding:22px;}
    .payg-card-cta{width:100%; justify-content:flex-start; margin-top:4px;}
  }

  /* ---- pay-as-you-go detail page: full pricing table ---- */
  .payg-table-wrap{overflow-x:auto; border:1.5px solid var(--ink); box-shadow:6px 6px 0 var(--manila);}
  .payg-table{width:100%; border-collapse:collapse; font-size:14px; min-width:560px;}
  .payg-table th{background:var(--seal); color:#fff; text-align:left; padding:15px 20px; font-family:'Inter',sans-serif; font-weight:700; font-size:13.5px; letter-spacing:0.02em; white-space:nowrap;}
  .payg-table td{padding:15px 20px; border-top:1px solid var(--line); color:var(--ink); background:var(--white);}
  .payg-table tbody tr:nth-child(even) td{background:var(--paper-deep);}
  .payg-table td:nth-child(2){font-weight:700; color:var(--navy-deep); white-space:nowrap;}
  .payg-table td:nth-child(3){color:var(--ink-soft); white-space:nowrap;}
  @media (max-width:600px){
    .payg-table{font-size:12.5px;}
    .payg-table th, .payg-table td{padding:11px 12px;}
  }

  /* ---- accordion FAQ ---- */
  .accordion-item{border-bottom:1px solid var(--line);}
  .accordion-q{display:flex; justify-content:space-between; align-items:center; padding:20px 4px; cursor:pointer; font-weight:600; font-size:15px; color:var(--navy-deep);}
  .accordion-q .plus{font-family:'IBM Plex Mono',monospace; font-size:18px; color:var(--seal); transition:transform .2s ease;}
  .accordion-item.open .plus{transform:rotate(45deg);}
  .accordion-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .accordion-a p{font-size:14px; color:var(--ink-soft); padding:0 4px 20px;}

  /* ---- trust ---- */
  .trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .trust-card{background:var(--white); border:1px solid var(--ink); padding:24px 20px; text-align:center; transition:transform var(--transition);}
  .trust-card:hover{transform:translateY(-4px);}
  .trust-card .ti{font-size:24px; margin-bottom:12px;}
  .trust-card h4{font-size:13.5px; font-weight:600; color:var(--navy-deep); margin-bottom:6px;}
  .trust-card p{font-size:12px; color:var(--ink-soft);}
  .partner-row{display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:40px; padding-top:30px; border-top:1px solid var(--line); flex-wrap:wrap;}
  .partner-row span{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); border:1px dashed var(--line); padding:8px 16px;}

  /* ---- about/team ---- */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; margin-bottom:60px;}
  .about-grid p{color:var(--ink-soft); font-size:14.5px; margin-bottom:16px;}
  .values-list{list-style:none;}
  .values-list li{padding:14px 0; border-top:1px dashed var(--line); font-size:13.5px;}
  .values-list li:first-child{border-top:none;}
  .values-list strong{color:var(--navy-deep); display:block; margin-bottom:3px;}
  .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .team-card{text-align:center;}
  .team-avatar{width:78px; height:78px; border-radius:50%; background:var(--navy-deep); color:#ffffff; display:flex; align-items:center; justify-content:center; font-family:'Source Serif 4',serif; font-weight:700; font-size:24px; margin:0 auto 14px;}
  .team-card h4{font-size:14px; color:var(--navy-deep); margin-bottom:3px;}
  .team-card p{font-size:12px; color:var(--ink-soft);}

  /* ---- dashboard preview ---- */
  .dash-wrap{background:var(--white); border:1.5px solid var(--ink); padding:0; box-shadow:8px 8px 0 var(--manila);}
  .dash-bar{background:var(--navy-deep); color:var(--paper); display:flex; gap:8px; padding:10px 16px;}
  .dash-bar span{width:9px; height:9px; border-radius:50%; background:#3a5a8c;}
  .dash-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:1px; background:var(--line);}
  .dash-panel{background:var(--white); padding:24px;}
  .dash-panel h4{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--seal); margin-bottom:16px;}
  .dash-row{display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px dashed var(--line); font-size:13px;}
  .dash-row:last-child{border-bottom:none;}
  .dash-tag{font-family:'IBM Plex Mono',monospace; font-size:10px; padding:3px 8px; text-transform:uppercase;}
  .dash-tag.due{background:#dbe8fa; color:var(--seal-deep);}
  .dash-tag.ok{background:#d8e8da; color:#2f6b3f;}
  .dash-tag.pending{background:var(--manila); color:var(--ink-soft);}

  /* ---- registration ---- */
  .reg-wrap{background:var(--navy-deep); padding:100px 44px;}
  .reg-inner{max-width:920px; margin:0 auto;}
  .reg-inner .section-head{margin-bottom:30px;}
  .reg-inner .tab-num{background:#ffffff; color:var(--navy-deep);}
  .reg-inner .eyebrow{color:#8fc4ff;}
  .reg-inner h2{color:var(--paper);}
  .reg-inner > .section-head p{color:#c4d6ec;}
  .reg-tabs{display:flex; gap:12px; margin-bottom:34px;}
  .reg-tab{font-family:'Inter',sans-serif; font-weight:600; font-size:14px; padding:11px 22px; border:1.5px solid rgba(255,255,255,0.4); background:transparent; color:#dbe7f7; cursor:pointer; transition:all var(--transition);}
  .reg-tab:hover{border-color:#ffffff; color:#ffffff;}
  .reg-tab.active{background:#ffffff; color:var(--navy-deep); border-color:#ffffff;}

  .progress-wrap{margin-bottom:30px;}
  .progress-track{height:6px; background:#1c2e4a; position:relative; overflow:hidden;}
  .progress-fill{height:100%; width:25%; background:var(--gold); transition:width .35s ease;}
  .progress-labels{display:flex; justify-content:space-between; margin-top:8px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#b8c9e0; text-transform:uppercase; letter-spacing:0.06em;}
  .autosave-note{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#8fae8f; margin-top:8px; display:flex; align-items:center; gap:6px; opacity:0; transition:opacity .3s ease;}
  .autosave-note.show{opacity:1;}

  .form-card{background:var(--paper); padding:44px; border:1.5px solid var(--ink); position:relative;}

  .reg-cta-card{background:var(--paper); padding:52px 48px; border:1.5px solid var(--ink); position:relative;}
  .reg-cta-card p{color:var(--ink-soft); font-size:15px; line-height:1.75; max-width:74ch;}
  .reg-cta-card p + p{margin-top:16px;}
  .reg-cta-btn-row{margin-top:36px; padding-top:36px; border-top:1.5px dashed var(--line); text-align:center;}
  .reg-cta-btn{font-size:16.5px; font-weight:700; padding:18px 46px; box-shadow:0 14px 30px -12px rgba(10,18,32,0.35);}
  .reg-cta-btn:hover{box-shadow:0 18px 34px -12px rgba(10,18,32,0.45);}
  @media (max-width:640px){
    .reg-cta-card{padding:32px 24px;}
    .reg-cta-btn{width:100%; padding:16px 20px; font-size:15px;}
  }
  .form-section-title{display:flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--seal); margin-bottom:18px; padding-bottom:10px; border-bottom:1.5px solid var(--ink);}
  .form-section-title::before{content:""; width:8px; height:8px; background:var(--seal); display:inline-block;}
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:38px;}
  .form-grid.full{grid-template-columns:1fr;}
  .field{display:flex; flex-direction:column; gap:7px; position:relative;}
  .field label{font-size:12.5px; font-weight:600; color:var(--navy-deep); display:flex; align-items:center; gap:6px;}
  .field .hint{font-size:11.5px; color:var(--ink-soft); font-weight:400;}
  .tip{width:14px; height:14px; border-radius:50%; background:var(--manila); color:var(--ink-soft); font-size:9.5px; display:inline-flex; align-items:center; justify-content:center; cursor:help; font-family:'IBM Plex Mono',monospace; position:relative;}
  .tip:hover .tip-text{display:block;}
  .tip-text{display:none; position:absolute; bottom:22px; left:0; width:220px; background:var(--navy-deep); color:var(--paper); font-size:11px; font-weight:400; padding:10px 12px; z-index:10; line-height:1.5;}
  .field input, .field select, .field textarea{font-family:'Inter',sans-serif; font-size:14px; color:var(--ink); background:var(--white); border:1px solid var(--line); padding:11px 13px; outline:none; transition:border-color .15s;}
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--seal);}
  .field textarea{resize:vertical; min-height:80px;}

  .checklist{display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin-bottom:38px;}
  .check-item{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--ink-soft); padding:11px 12px; background:var(--white); border:1px solid var(--line); transition:border-color .15s;}
  .check-item:hover{border-color:var(--seal);}
  .check-item input{margin-top:3px; accent-color:var(--seal);}
  .check-item strong{display:block; color:var(--navy-deep); font-weight:600; font-size:13.5px;}

  .upload-box{border:1.5px dashed var(--ink); background:var(--white); padding:26px; text-align:center; margin-bottom:38px; cursor:pointer; transition:all .2s ease;}
  .upload-box.drag{border-color:var(--seal); background:var(--paper-deep);}
  .upload-box .mono{font-size:11px; color:var(--ink-soft); display:block; margin-top:6px;}
  .upload-box strong{color:var(--navy-deep); font-size:14px;}
  #file-list{margin-top:14px; text-align:left; font-size:12.5px; color:var(--ink-soft);}
  #file-list div{padding:5px 0; border-top:1px dashed var(--line);}

  .submit-row{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
  .submit-row .fineprint{font-size:11.5px; color:var(--ink-soft); max-width:40ch;}
  button.submit-btn{font-family:'Inter',sans-serif; font-weight:700; font-size:14.5px; background:var(--seal); color:var(--white); border:none; padding:15px 30px; cursor:pointer; transition:background .15s;}
  button.submit-btn:hover{background:var(--seal-deep);}

  .confirm{display:none; text-align:center; padding:36px 20px;}
  .confirm.show{display:block; animation:popin .4s ease;}
  @keyframes popin{from{opacity:0; transform:scale(.9);} to{opacity:1; transform:scale(1);}}
  .confirm .stamp-inline{width:74px; height:74px; border:3px solid var(--seal); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; transform:rotate(-10deg);}
  .confirm .stamp-inline span{font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:10px; color:var(--seal); letter-spacing:0.06em;}
  .confirm h3{margin-bottom:10px;}
  .confirm p{color:var(--ink-soft); font-size:14px; max-width:44ch; margin:0 auto;}
  .confirm .ref{font-family:'IBM Plex Mono',monospace; color:var(--navy-deep); font-weight:600; margin-top:14px;}
  .dash-preview{margin-top:34px;}
  .dash-preview-label{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:12px;}
  .confirm .dash-wrap{text-align:left; max-width:640px; margin:0 auto;}
  .dash-doc-row{display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px dashed var(--line); font-size:13px;}
  .dash-doc-row:last-child{border-bottom:none;}

  /* ---- footer ---- */
  footer{background:var(--manila); border-top:1.5px solid var(--ink); padding:60px 44px 30px;}
  .footer-inner{max-width:1240px; margin:0 auto;}
  .footer-grid{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:36px; margin-bottom:40px;}
  .footer-grid h4{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:16px;}
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:10px; font-size:13.5px;}
  .footer-grid a{text-decoration:none; color:var(--ink-soft); transition:color .15s;}
  .footer-grid a:hover{color:var(--seal);}
  .social-row{display:flex; gap:10px; margin-top:16px;}
  .social-row a{width:34px; height:34px; border:1px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:13px; transition:all .15s;}
  .social-row a:hover{background:var(--navy-deep); color:var(--paper);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--ink); font-size:12px; color:var(--ink-soft); flex-wrap:wrap; gap:10px;}
  .footer-bottom .legal-links{display:flex; gap:18px;}
  .footer-bottom .legal-links a{text-decoration:none; color:var(--ink-soft);}
  .footer-bottom .legal-links a:hover{color:var(--seal);}

  /* ---- chat widget ---- */
  .chat-widget{position:fixed; bottom:26px; right:26px; z-index:90;}
  .chat-btn{background:var(--seal); color:var(--white); border:none; padding:14px 20px; font-family:'Inter',sans-serif; font-weight:700; font-size:13.5px; cursor:pointer; display:flex; align-items:center; gap:8px; box-shadow:0 10px 24px -10px rgba(0,0,0,0.45); transition:transform .2s ease;}
  .chat-btn:hover{transform:translateY(-3px);}
  .chat-pop{display:none; position:absolute; bottom:62px; right:0; width:260px; background:var(--white); border:1.5px solid var(--ink); padding:20px; box-shadow:0 14px 30px -10px rgba(0,0,0,0.4);}
  .chat-pop.show{display:block;}
  .chat-pop h4{font-size:14px; margin-bottom:8px; color:var(--navy-deep);}
  .chat-pop p{font-size:12.5px; color:var(--ink-soft); margin-bottom:14px;}

  @media (max-width:980px){
    .spine{display:none;}
    .page{margin-left:0;}
    .hero{grid-template-columns:1fr;}
    .docket-item{grid-template-columns:50px 1fr;}
    .docket-item p{grid-column:1/-1;}
    .guides{grid-template-columns:1fr;}
    .testimonials{grid-template-columns:1fr;}
    .pricing{grid-template-columns:1fr;}
    .trust-grid{grid-template-columns:1fr 1fr;}
    .about-grid{grid-template-columns:1fr;}
    .team-grid{grid-template-columns:1fr 1fr;}
    .dash-grid{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .form-grid{grid-template-columns:1fr;}
    .checklist{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    section, .nav-wrap, hr.rule{padding-left:24px; padding-right:24px;}
    .btn{padding:13px 20px;}
    .chat-widget{bottom:18px; right:18px;}
    .brand-logo{height:22px;}
  }
  @media (max-width:520px){
    .stats-grid{grid-template-columns:1fr 1fr;}
    .trust-grid{grid-template-columns:1fr 1fr;}
    .team-grid{grid-template-columns:1fr 1fr;}
  }

  .nav-links{display:flex; align-items:center; gap:26px; margin:0 28px; flex-wrap:nowrap;}
  .nav-links a{font-family:'Inter',sans-serif; font-size:15.5px; font-weight:600; color:var(--ink-soft); text-decoration:none; transition:color .15s; cursor:pointer; white-space:nowrap; flex-shrink:0;}
  .nav-links a:hover, .nav-links a.active{color:var(--seal);}
  /* Slightly tighten spacing before the nav collapses to mobile, so every
     tab name still fits on a single line at narrower desktop widths. */
  @media (max-width:1200px){
    .nav-links{gap:18px; margin:0 18px;}
    .nav-links a{font-size:14.5px;}
    .nav-ctas .btn{padding:9px 14px; font-size:12.5px;}
  }
  .nav-ctas{display:flex; align-items:center; gap:10px;}
  .nav-ctas .btn{padding:10px 16px; font-size:13px;}
  @media (max-width:1080px){ .nav-links{display:none;} }
  .page-hero{max-width:1240px; margin:0 auto; padding:64px 44px 10px;}
  .page-hero .file-tag{margin-bottom:18px;}
  .page-hero h1{font-size:clamp(28px,3.6vw,42px); line-height:1.1; margin-bottom:14px;}
  .page-hero p.lede{font-size:16px; color:var(--ink-soft); max-width:60ch;}
  .spine-tabs{gap:26px;}
  .route-page{display:none;}
  .route-page.active{display:block;}

  /* ---- types & compliance page ---- */
  .types-layout{display:grid; grid-template-columns:320px 1fr; gap:32px; align-items:start;}
  .types-list{display:flex; flex-direction:column; gap:10px;}
  .type-btn{text-align:left; background:var(--white); border:1px solid var(--ink); padding:16px 18px; cursor:pointer; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:var(--navy-deep); transition:all .15s; width:100%;}
  .type-btn .type-sub{display:block; font-family:'IBM Plex Mono',monospace; font-weight:400; font-size:10.5px; color:var(--ink-soft); margin-top:4px; text-transform:uppercase; letter-spacing:.05em;}
  .type-btn:hover{border-color:var(--seal); transform:translateX(2px);}
  .type-btn.active{background:var(--navy-deep); border-color:var(--navy-deep);}
  .type-btn.active, .type-btn.active .type-sub{color:#fff !important;}
  .type-btn-funding{display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; background:linear-gradient(135deg, var(--gold), #0c7a51); border:1px solid var(--gold); padding:16px 18px; cursor:pointer; font-family:'Inter',sans-serif; font-weight:700; font-size:17px; color:#fff !important; text-decoration:none; width:100%; box-shadow:3px 3px 0 var(--navy-deep); transition:all .15s;}
  .type-btn-funding .type-sub{display:block; font-family:'IBM Plex Mono',monospace; font-weight:400; font-size:12.5px; color:rgba(255,255,255,.85); margin-top:5px; text-transform:uppercase; letter-spacing:.05em;}
  .type-btn-funding .fund-arrow{font-size:18px; line-height:1; flex-shrink:0;}
  .type-btn-funding:hover{transform:translateX(2px) translateY(-1px); box-shadow:5px 5px 0 var(--navy-deep);}
  .types-list-divider{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); text-align:center; margin:6px 0 -2px;}
  .types-panel{background:var(--white); border:1px solid var(--ink); padding:38px; min-height:380px; box-shadow:6px 6px 0 var(--manila);}

  .promo-overlay{position:fixed; inset:0; background:rgba(10,18,32,.6); z-index:200; display:none; align-items:center; justify-content:center; padding:20px;}
  .promo-overlay.show{display:flex;}
  .promo-modal{position:relative; max-width:440px; width:100%; background:var(--white); border:1.5px solid var(--ink); box-shadow:8px 8px 0 var(--gold); padding:34px 30px 28px; text-align:left;}
  .promo-tag{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--white); background:var(--gold); padding:4px 10px; margin-bottom:14px;}
  .promo-modal h3{font-family:'Source Serif 4',serif; color:var(--navy-deep); font-size:24px; line-height:1.25; margin-bottom:12px;}
  .promo-modal p{font-family:'Inter',sans-serif; font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:22px;}
  .promo-modal .btn{width:100%; text-align:center; display:block;}
  .promo-close{position:absolute; top:12px; right:14px; background:none; border:none; font-size:20px; line-height:1; cursor:pointer; color:var(--ink-soft); font-family:'Inter',sans-serif;}
  .promo-close:hover{color:var(--ink);}
  .types-panel .cat{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--seal);}
  .types-panel h3{font-size:23px; margin:6px 0 8px;}
  .types-panel .type-desc{color:var(--ink-soft); font-size:14px; margin-bottom:26px; max-width:62ch;}
  .compliance-list{list-style:none;}
  .compliance-list li{display:flex; gap:14px; padding:13px 0; border-top:1px dashed var(--line); font-size:13.5px; color:var(--ink-soft);}
  .compliance-list li:first-child{border-top:none;}
  .compliance-list li .c-num{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--seal); flex-shrink:0; padding-top:2px;}
  .compliance-list li strong{display:block; color:var(--navy-deep); font-weight:600; margin-bottom:2px;}
  @media (max-width:900px){.types-layout{grid-template-columns:1fr;}}

  /* ---- home page: company types teaser ---- */
  .type-chip-row{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px;}
  .type-chip{border:1px solid var(--ink); padding:11px 20px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--navy-deep); background:var(--white); transition:all .15s;}
  .type-chip:hover{border-color:var(--seal); color:var(--seal); transform:translateY(-2px);}
  .types-teaser-link{font-size:14.5px; color:var(--ink-soft);}
  .types-teaser-link a{color:var(--seal); font-weight:600; text-decoration:none; border-bottom:1px solid var(--seal); padding-bottom:1px;}
  .types-teaser-link a:hover{color:var(--seal-deep);}

  .plans-nudge{margin-top:34px; padding-top:30px; border-top:1px dashed var(--line); text-align:center;}
  .plans-nudge p{color:var(--ink-soft); font-size:13.5px; margin-bottom:14px;}

  /* ---- plans page: limited-time offer popup ---- */
  .plans-popup-overlay{position:fixed; inset:0; background:rgba(10,18,32,.6); z-index:210; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease;}
  .plans-popup-overlay.show{opacity:1; visibility:visible;}
  .plans-popup-modal{position:relative; max-width:600px; width:100%; max-height:88vh; overflow-y:auto; background:var(--white); border:1.5px solid var(--ink); box-shadow:8px 8px 0 var(--gold); padding:36px 34px 30px; text-align:left; transform:scale(.92); transition:transform .3s ease;}
  .plans-popup-overlay.show .plans-popup-modal{transform:scale(1);}
  .plans-popup-tag{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--white); background:var(--gold); padding:4px 10px; margin-bottom:14px;}
  .plans-popup-modal h3{font-family:'Source Serif 4',serif; color:var(--navy-deep); font-size:23px; line-height:1.28; margin-bottom:8px;}
  .plans-popup-price{font-family:'Inter',sans-serif; font-weight:700; font-size:14.5px; color:var(--ink); margin-bottom:16px;}
  .plans-popup-desc{color:var(--ink-soft); font-size:13.5px; line-height:1.55; margin-bottom:20px;}
  .plans-popup-table-wrap{overflow-x:auto; border:1.5px solid var(--ink); margin-bottom:16px;}
  .plans-popup-table{width:100%; border-collapse:collapse; font-size:13px; min-width:420px;}
  .plans-popup-table th{background:var(--navy-deep); color:#fff; text-align:left; padding:10px 14px; font-weight:700; white-space:nowrap;}
  .plans-popup-table td{padding:10px 14px; border-top:1px solid var(--line); color:var(--ink);}
  .plans-popup-table tr.plans-popup-total td{font-weight:700; background:var(--paper-deep);}
  .plans-popup-terms{font-size:11.5px; color:var(--ink-soft); line-height:1.55; margin-bottom:24px;}
  .plans-popup-modal .btn{width:100%; text-align:center; display:block;}
  .plans-popup-close{position:absolute; top:12px; right:14px; background:none; border:none; font-size:20px; line-height:1; cursor:pointer; color:var(--ink-soft); font-family:'Inter',sans-serif;}
  .plans-popup-close:hover{color:var(--ink);}
  body.no-scroll{overflow:hidden;}
  @media (max-width:600px){
    .plans-popup-modal{padding:26px 20px 22px;}
    .plans-popup-modal h3{font-size:20px;}
    .plans-popup-table{font-size:12px;}
    .plans-popup-table th, .plans-popup-table td{padding:8px 10px;}
  }

  /* ---- annual pricing note ---- */
  .annual-badge{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--seal-deep); background:var(--manila); display:inline-block; padding:5px 12px; margin-bottom:30px;}

  /* ---- language switcher (Google Translate) ---- */
  .lang-switch{position:relative;}
  .lang-switch-btn{display:flex; align-items:center; gap:6px; background:var(--white); border:1.5px solid var(--ink); padding:9px 14px; font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--navy-deep); cursor:pointer; transition:all .15s;}
  .lang-switch-btn:hover{border-color:var(--seal); color:var(--seal);}
  .lang-switch-icon{font-size:13px; line-height:1;}
  .lang-switch-current{line-height:1;}
  .lang-switch-caret{font-size:9px; color:var(--ink-soft); transition:transform .15s; line-height:1;}
  .lang-switch-btn[aria-expanded="true"] .lang-switch-caret{transform:rotate(180deg);}
  .lang-switch-menu{list-style:none; position:absolute; top:calc(100% + 8px); right:0; background:var(--white); border:1.5px solid var(--ink); box-shadow:6px 6px 0 var(--manila); min-width:190px; max-height:320px; overflow-y:auto; z-index:120; display:none; padding:6px 0; margin:0;}
  .lang-switch-menu.show{display:block;}
  .lang-switch-menu li{padding:10px 16px; font-family:'Inter',sans-serif; font-size:13.5px; color:var(--ink); cursor:pointer; transition:background .15s, color .15s; white-space:nowrap;}
  .lang-switch-menu li:hover{background:var(--paper-deep); color:var(--seal);}
  .lang-switch-menu li.active{color:var(--seal); font-weight:600; background:var(--manila);}
  @media (max-width:480px){
    .lang-switch-current{display:none;}
    .lang-switch-btn{padding:9px 10px;}
  }

  /* Google Translate is driven headlessly through the widget above -
     the stock Google UI (banner, tooltips, highlight boxes) is suppressed
     so it never disturbs this site's layout or branding. */
  .gt-hidden{position:absolute !important; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; top:auto; left:-9999px;}
  .goog-te-banner-frame.skiptranslate,
  .goog-te-gadget-icon{display:none !important;}
  body{top:0 !important; position:static !important;}
  .goog-text-highlight{background:none !important; box-shadow:none !important;}
  .goog-tooltip, .goog-tooltip:hover{display:none !important;}


  /* ---- article read modal ---- */
  .guide-card{cursor:pointer;}
  button.read{background:none; border:none; border-bottom:1px solid var(--seal); padding:0 0 1px; font-family:'Inter',sans-serif; cursor:pointer;}
  .article-modal-overlay{position:fixed; inset:0; background:rgba(10,18,32,.6); z-index:220; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease;}
  .article-modal-overlay.show{opacity:1; visibility:visible;}
  .article-modal{position:relative; max-width:720px; width:100%; max-height:86vh; background:var(--white); border:1.5px solid var(--ink); box-shadow:8px 8px 0 var(--manila); display:flex; flex-direction:column; transform:translateY(30px) scale(.97); opacity:0; transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .35s ease;}
  .article-modal-overlay.show .article-modal{transform:translateY(0) scale(1); opacity:1;}
  .article-modal-close{position:absolute; top:14px; right:16px; background:none; border:none; font-size:20px; line-height:1; cursor:pointer; color:var(--ink-soft); font-family:'Inter',sans-serif; z-index:2; padding:6px;}
  .article-modal-close:hover{color:var(--ink);}
  .article-modal-scroll{overflow-y:auto; padding:42px 40px 36px;}
  .article-modal .tag-row{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
  .article-modal .cat{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--navy-deep);}
  .article-modal .ref{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--seal);}
  .article-modal h2{font-family:'Source Serif 4',serif; font-size:clamp(21px,3vw,27px); line-height:1.28; color:var(--navy-deep); margin-bottom:22px;}
  .article-modal-body p{font-size:14.5px; color:var(--ink-soft); line-height:1.75; margin-bottom:16px;}
  .article-modal-body p.lede-strong{color:var(--navy-deep); font-weight:600; font-size:15px;}
  .article-modal-body h4{font-family:'Source Serif 4',serif; font-size:16.5px; color:var(--navy-deep); margin:26px 0 12px;}
  .article-modal-body ol{margin:0 0 18px 20px; color:var(--ink-soft); font-size:14.5px; line-height:1.7;}
  .article-modal-body li{margin-bottom:10px; padding-left:2px;}
  .article-modal-body li::marker{color:var(--seal); font-weight:600;}
  .article-modal-cta{margin-top:8px; padding-top:20px; border-top:1px dashed var(--line); font-size:13.5px; color:var(--ink-soft); line-height:1.65;}
  .article-modal-cta strong{display:block; color:var(--navy-deep); font-weight:600; margin-bottom:4px;}
  @media (max-width:640px){
    .article-modal{max-height:90vh;}
    .article-modal-scroll{padding:34px 22px 28px;}
    .article-modal-close{top:8px; right:10px;}
  }