  /* Fraunces and Work Sans: SIL Open Font License 1.1, self-hosted so no visitor data goes to a third party */
  @font-face{font-family:'Fraunces'; font-style:normal; font-weight:400 600; font-display:swap; src:url('/assets/fonts/Fraunces-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Work Sans'; font-style:normal; font-weight:400 600; font-display:swap; src:url('/assets/fonts/WorkSans-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

  :root{
    --bg:#F4F8F7;
    --paper:#FFFFFF;
    --ink:#10282E;
    --muted:#456A71;
    --border:#D3E2E0;
    --brand:#0F4C5C;
    --brand-dark:#0A3641;
    --brand-tint:#DCEBEA;
    --accent:#E8604C;
    --accent-text:#C4442F;
    --accent-tint:#FBE1DB;
    --band:#0A3641;
    --focus:#0F4C5C;
    --shadow: 0 1px 2px rgba(16,40,46,0.04), 0 12px 32px -16px rgba(16,40,46,0.2);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0B1A1E;
      --paper:#112429;
      --ink:#E5F0EF;
      --muted:#8FB0B4;
      --border:#21393F;
      --brand:#5CB8C6;
      --brand-dark:#86CEDA;
      --brand-tint:#143239;
      --accent:#F0735F;
      --accent-text:#F58C7A;
      --accent-tint:#3A1F1A;
      --band:#123640;
      --focus:#5CB8C6;
      --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 20px 40px -20px rgba(0,0,0,0.6);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0B1A1E;
    --paper:#112429;
    --ink:#E5F0EF;
    --muted:#8FB0B4;
    --border:#21393F;
    --brand:#5CB8C6;
    --brand-dark:#86CEDA;
    --brand-tint:#143239;
    --accent:#F0735F;
    --accent-text:#F58C7A;
    --accent-tint:#3A1F1A;
    --band:#123640;
    --focus:#5CB8C6;
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 20px 40px -20px rgba(0,0,0,0.6);
  }

  [hidden]{display:none !important;}
  *{box-sizing:border-box;}
  @media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth;}}
  @media (prefers-reduced-motion: reduce){*{transition:none !important;}}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    padding-inline:clamp(20px, 5vw, 64px);
  }
  h1,h2,h3{
    font-family:'Fraunces', Georgia, 'Times New Roman', serif;
    font-weight:500;
    line-height:1.12;
    margin:0;
    text-wrap:balance;
    color:var(--ink);
  }
  p{margin:0;}
  a{color:inherit;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;}
  :focus-visible{outline:2px solid var(--focus); outline-offset:3px;}
  img,svg{max-width:100%;}

  .wrap{max-width:1120px; margin-inline:auto;}
  .eyebrow{
    font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
    color:var(--brand); display:flex; align-items:center; gap:.5em;
  }
  .eyebrow::before{content:""; width:6px; height:6px; background:var(--accent); border-radius:1px; display:inline-block; transform:rotate(45deg);}

  /* ---- Nav ---- */
  header.site-nav{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px) saturate(1.1);
    border-bottom:1px solid var(--border);
  }
  .nav-inner{
    max-width:1120px; margin-inline:auto;
    display:flex; align-items:center; justify-content:space-between;
    padding-block:16px; gap:24px;
  }
  .brand-lockup{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .brand-mark{width:28px; height:28px; flex:none;}
  .brand-word{font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem; letter-spacing:-.01em;}
  .brand-word span{font-weight:400; color:var(--muted);}
  nav.nav-links{display:flex; align-items:center; gap:clamp(14px,2vw,28px);}
  nav.nav-links a{
    font-size:.92rem; font-weight:500; text-decoration:none; color:var(--muted);
    padding-block:6px; border-bottom:2px solid transparent;
  }
  nav.nav-links a:hover{color:var(--ink);}
  nav.nav-links a[aria-current="page"]{color:var(--ink); border-color:var(--accent);}
  nav.nav-links a.nav-cta{
    background:var(--brand); color:var(--bg); padding:10px 18px; border-radius:8px;
    font-size:.9rem; font-weight:600; text-decoration:none; white-space:nowrap;
  }
  nav.nav-links a.nav-cta:hover{background:var(--brand-dark); color:var(--bg);}
  .nav-toggle{display:none;}

  @media (max-width:760px){
    nav.nav-links{
      position:fixed; inset:64px 0 0 0; background:var(--bg);
      flex-direction:column; align-items:flex-start; padding:24px clamp(20px,5vw,64px);
      gap:18px; border-top:1px solid var(--border);
      transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility .18s;
    }
    nav.nav-links[data-open="true"]{opacity:1; transform:translateY(0); visibility:visible; pointer-events:auto;}
    nav.nav-links a{font-size:1.05rem;}
    .nav-toggle{
      display:inline-flex; align-items:center; justify-content:center;
      width:38px; height:38px; border:1px solid var(--border); border-radius:8px;
      background:var(--paper); cursor:pointer;
    }
    .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
      content:""; display:block; width:16px; height:2px; background:var(--ink); position:relative;
    }
    .nav-toggle span::before{position:absolute; top:-5px;}
    .nav-toggle span::after{position:absolute; top:5px;}
  }

  /* ---- Buttons ---- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.5em;
    font-weight:600; font-size:.95rem; text-decoration:none; cursor:pointer;
    padding:13px 24px; border-radius:9px; border:1px solid transparent; transition:background .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn-primary{background:var(--brand); color:var(--bg);}
  .btn-primary:hover{background:var(--brand-dark);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--border);}
  .btn-ghost:hover{border-color:var(--brand); color:var(--brand);}
  .btn-block{width:100%;}

  /* ---- Sections ---- */
  main{max-width:1120px; margin-inline:auto;}
  section{padding-block:clamp(56px,7vw,108px);}
  section.tight{padding-block:clamp(40px,5vw,64px);}
  section + section{border-top:1px solid var(--border);}
  .section-head{max-width:640px; margin-bottom:clamp(32px,4vw,56px);}
  .section-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem); margin-top:14px;}
  .section-head p{color:var(--muted); margin-top:14px; font-size:1.05rem;}
  .center{text-align:center; margin-inline:auto;}

  /* ---- Hero ---- */
  .hero{padding-block:clamp(72px,10vw,128px) clamp(56px,7vw,96px);}
  .hero-inner{max-width:760px;}
  .hero h1{font-size:clamp(2.5rem,5.6vw,4.1rem); margin-top:18px;}
  .hero p.lede{margin-top:22px; font-size:1.2rem; color:var(--muted); max-width:620px;}
  .hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
  .trust-row{
    margin-top:56px; padding-top:28px; border-top:1px solid var(--border);
    display:flex; flex-wrap:wrap; gap:14px 32px;
  }
  .trust-row span{
    font-size:.82rem; color:var(--muted); display:flex; align-items:center; gap:8px;
  }
  .trust-row svg{flex:none; color:var(--brand);}

  /* ---- Credentials & clients rows ---- */
  .credentials-row{display:flex; flex-wrap:wrap; gap:12px; align-items:center;}
  .credential-badge{
    border:1px solid var(--border); border-radius:99px; padding:10px 18px; font-size:.88rem;
    font-weight:600; color:var(--ink); background:var(--paper); white-space:nowrap;
  }
  .credential-badge.featured{background:var(--brand); color:var(--bg); border-color:var(--brand);}
  .clients-row{display:flex; flex-wrap:wrap; gap:24px 32px; align-items:center; justify-content:space-between;}

  /* ---- Feature grid ---- */
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px);}
  @media (max-width:820px){.grid-3{grid-template-columns:1fr;}}
  .feature .icon{
    width:44px; height:44px; border-radius:10px; background:var(--brand-tint); color:var(--brand);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  }
  .feature h3{font-size:1.2rem; font-weight:500;}
  .feature p{margin-top:10px; color:var(--muted);}

  /* ---- Split (text + visual) ---- */
  .split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center;}
  .split.reverse .split-visual{order:-1;}
  @media (max-width:860px){
    .split{grid-template-columns:1fr;}
    .split.reverse .split-visual{order:0;}
  }
  .split-text h2{font-size:clamp(1.6rem,3vw,2.15rem);}
  .split-text p{color:var(--muted); margin-top:16px; font-size:1.05rem;}
  .split-text ul{margin-top:22px; display:flex; flex-direction:column; gap:12px;}
  .split-text li{display:flex; gap:10px; font-size:.96rem; color:var(--ink);}
  .split-text li svg{flex:none; color:var(--brand); margin-top:3px;}

  /* mock UI card */
  .mock-card{
    background:var(--paper); border:1px solid var(--border); border-radius:16px;
    box-shadow:var(--shadow); padding:24px; font-family:'Work Sans',sans-serif;
  }
  .mock-card .mock-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px;}
  .mock-card .mock-label{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted);}
  .mock-card .mock-fmv{font-family:'Fraunces',serif; font-size:2rem; margin-top:4px;}
  .pill{
    font-size:.72rem; font-weight:600; padding:5px 10px; border-radius:99px;
    background:var(--brand-tint); color:var(--brand); white-space:nowrap;
  }
  .mock-rows{display:flex; flex-direction:column; gap:0;}
  .mock-row{display:flex; justify-content:space-between; padding-block:12px; border-top:1px solid var(--border); font-size:.9rem;}
  .mock-row span:first-child{color:var(--muted);}
  .mock-row span:last-child{font-variant-numeric:tabular-nums; font-weight:500;}

  .chip-card{background:var(--paper); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow); padding:26px;}
  .chip-card .mock-label{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:14px;}
  .chip-grid{display:flex; flex-wrap:wrap; gap:8px;}
  .chip{border:1px solid var(--border); border-radius:99px; padding:7px 13px; font-size:.82rem; color:var(--ink); background:var(--bg);}
  .chip.on{background:var(--brand); border-color:var(--brand); color:var(--bg);}

  /* ---- Process ---- */
  .process{display:flex; flex-direction:column;}
  .process-step{display:grid; grid-template-columns:64px 1fr; gap:24px; padding-block:28px;}
  .process-step + .process-step{border-top:1px solid var(--border);}
  .process-num{font-family:'Fraunces',serif; font-size:1.6rem; color:var(--accent-text);}
  .process-step h3{font-size:1.15rem; font-weight:500;}
  .process-step p{color:var(--muted); margin-top:8px; max-width:560px;}

  /* ---- Product cards ---- */
  .product-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  @media (max-width:1040px){.product-cards{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.product-cards{grid-template-columns:1fr;}}
  .product-card{
    background:var(--paper); border:1px solid var(--border); border-radius:16px; padding:28px;
    display:flex; flex-direction:column; gap:14px;
  }
  .product-card .icon{
    width:42px; height:42px; border-radius:10px; background:var(--brand-tint); color:var(--brand);
    display:flex; align-items:center; justify-content:center;
  }
  .product-card h3{font-size:1.25rem; font-weight:500;}
  .product-card p{color:var(--muted); font-size:.95rem; flex:1;}
  .product-card a{font-size:.9rem; font-weight:600; color:var(--brand); text-decoration:none;}
  .product-card a:hover{text-decoration:underline;}

  .product-detail{padding-block:clamp(48px,6vw,80px);}
  .product-detail-head{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
  .product-detail-head .icon{
    width:48px; height:48px; border-radius:12px; background:var(--brand-tint); color:var(--brand);
    display:flex; align-items:center; justify-content:center; flex:none;
  }
  .product-detail h2{font-size:clamp(1.6rem,3vw,2.1rem);}
  .product-detail > p.lede{color:var(--muted); font-size:1.08rem; max-width:680px; margin-top:6px;}
  .fact-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px 32px; margin-top:26px; max-width:760px;}
  @media (max-width:640px){.fact-grid{grid-template-columns:1fr;}}
  .fact-grid li{display:flex; gap:10px; font-size:.95rem;}
  .fact-grid li svg{flex:none; color:var(--brand); margin-top:3px;}

  .report-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
  @media (max-width:760px){.report-grid{grid-template-columns:1fr;}}
  .report-card{border:1px solid var(--border); border-radius:14px; padding:20px 22px; background:var(--paper);}
  .report-card h3{font-family:'Work Sans',sans-serif; font-weight:600; font-size:1.02rem;}
  .report-card p{color:var(--muted); font-size:.9rem; margin-top:8px;}

  /* ---- Pricing ---- */
  .pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch;}
  @media (max-width:900px){.pricing-grid{grid-template-columns:1fr; max-width:420px; margin-inline:auto;}}
  .price-card{
    border:1px solid var(--border); border-radius:18px; padding:30px; background:var(--paper);
    display:flex; flex-direction:column;
  }
  .price-card.featured{border-color:var(--brand); box-shadow:var(--shadow); position:relative;}
  .price-card .badge{
    position:absolute; top:-13px; left:26px; background:var(--accent); color:#241a04;
    font-size:.72rem; font-weight:700; letter-spacing:.04em; padding:5px 11px; border-radius:99px;
  }
  .price-card h3{font-size:1.1rem; font-weight:600; font-family:'Work Sans',sans-serif;}
  .price-card .price{font-family:'Fraunces',serif; font-size:2.3rem; margin-top:14px;}
  .price-card .price sub{font-family:'Work Sans',sans-serif; font-size:.95rem; color:var(--muted); font-weight:400;}
  .price-card .price-note{font-size:.85rem; color:var(--muted); margin-top:4px;}
  .price-card ul{margin-top:22px; display:flex; flex-direction:column; gap:12px; flex:1;}
  .price-card li{display:flex; gap:10px; font-size:.9rem;}
  .price-card li svg{flex:none; color:var(--brand); margin-top:3px;}
  .price-card .btn{margin-top:24px;}
  .pricing-disclaimer{max-width:680px; margin-top:28px; font-size:.88rem; color:var(--muted);}

  .addon-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:12px;}
  @media (max-width:900px){.addon-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.addon-grid{grid-template-columns:1fr;}}
  .addon-card{border:1px solid var(--border); border-radius:14px; padding:22px; background:var(--paper);}
  .addon-card .price{font-family:'Fraunces',serif; font-size:1.4rem; margin-top:8px;}
  .addon-card p{color:var(--muted); font-size:.88rem; margin-top:8px;}

  /* ---- About ---- */
  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media (max-width:820px){.pillars{grid-template-columns:1fr;}}
  .pillar .num{font-family:'Fraunces',serif; color:var(--accent-text); font-size:1.1rem;}
  .pillar h3{margin-top:8px; font-size:1.2rem;}
  .pillar p{margin-top:8px; color:var(--muted);}

  /* ---- FAQ ---- */
  .faq-list{display:flex; flex-direction:column; max-width:820px;}
  details.faq-item{border-top:1px solid var(--border); padding-block:6px;}
  details.faq-item:last-child{border-bottom:1px solid var(--border);}
  details.faq-item summary{
    list-style:none; cursor:pointer; padding-block:18px; display:flex; justify-content:space-between; align-items:center;
    gap:16px; font-weight:500; font-size:1.03rem;
  }
  details.faq-item summary::-webkit-details-marker{display:none;}
  details.faq-item summary .plus{flex:none; width:22px; height:22px; position:relative; color:var(--brand);}
  details.faq-item summary .plus::before, details.faq-item summary .plus::after{
    content:""; position:absolute; background:currentColor; top:50%; left:50%; transform:translate(-50%,-50%);
  }
  details.faq-item summary .plus::before{width:14px; height:2px;}
  details.faq-item summary .plus::after{width:2px; height:14px; transition:transform .15s ease;}
  details.faq-item[open] summary .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
  details.faq-item .faq-a{color:var(--muted); padding-bottom:22px; max-width:680px; font-size:.98rem;}
  .faq-group + .faq-group{margin-top:56px; padding-top:48px; border-top:1px solid var(--border);}
  .faq-group h2{font-size:clamp(1.3rem,2.4vw,1.6rem); margin-bottom:20px;}

  /* ---- CTA band ---- */
  .cta-band{
    background:var(--band); color:#fff; border-radius:22px; padding:clamp(40px,6vw,72px);
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin-block:clamp(56px,7vw,96px);
  }
  .cta-band h2{color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); max-width:480px;}
  .cta-band p{color:#CFE3E6; margin-top:8px;}
  .cta-band .btn-primary{background:#fff; color:var(--band);}
  .cta-band .btn-primary:hover{background:var(--accent-tint);}

  /* ---- Get started ---- */
  .gs-layout{display:grid; grid-template-columns:1.1fr .9fr; gap:56px;}
  @media (max-width:900px){.gs-layout{grid-template-columns:1fr;}}
  .field{display:flex; flex-direction:column; gap:7px; margin-bottom:18px;}
  .field label{font-size:.85rem; font-weight:600;}
  .field input, .field select, .field textarea{
    font:inherit; padding:12px 14px; border-radius:9px; border:1px solid var(--border); background:var(--paper); color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--brand);}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media (max-width:520px){.field-row{grid-template-columns:1fr;}}
  form#lead-form{background:var(--paper); border:1px solid var(--border); border-radius:18px; padding:clamp(24px,3vw,36px); box-shadow:var(--shadow);}
  .gs-side h3{font-size:1.1rem; font-weight:500; font-family:'Fraunces',serif;}
  .gs-side .contact-line{display:flex; gap:12px; align-items:flex-start; margin-top:20px;}
  .gs-side .contact-line svg{flex:none; color:var(--brand); margin-top:2px;}
  .gs-side .contact-line strong{display:block; font-size:.95rem;}
  .gs-side .contact-line span{color:var(--muted); font-size:.9rem;}
  #form-success{display:none; text-align:center; padding:48px 24px;}
  #form-success.show{display:block;}
  #form-success .icon{
    width:56px; height:56px; border-radius:50%; background:var(--brand-tint); color:var(--brand);
    display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  }
  #form-success h3{font-size:1.3rem;}
  #form-success p{color:var(--muted); margin-top:8px;}


  /* ---- Accessibility, consent, legal ---- */
  .skip-link{position:absolute; left:16px; top:-64px; background:var(--brand); color:var(--bg); padding:10px 16px; border-radius:8px; z-index:100; text-decoration:none; font-weight:600;}
  .skip-link:focus{top:12px;}
  main:focus, h1:focus{outline:none;}
  .form-note{font-size:.88rem; color:var(--muted); margin-bottom:22px;}
  .opt{font-weight:400; color:var(--muted);}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .form-error{color:var(--accent-text); font-size:.9rem; font-weight:500; margin-bottom:14px;}
  .consent{margin-bottom:20px;}
  label.check{display:flex; gap:12px; align-items:flex-start; font-size:.9rem; line-height:1.5; cursor:pointer;}
  label.check input{width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--brand);}
  label.check a{color:var(--brand); font-weight:600;}
  .legal{max-width:720px;}
  .legal h2{font-size:1.25rem; margin-top:40px;}
  .legal h2:first-child{margin-top:0;}
  .legal p, .legal li{font-size:1rem; margin-top:12px;}
  .legal ul{margin-top:8px; padding-left:1.25rem; list-style:disc;}
  .legal li{margin-top:6px;}
  .legal a{color:var(--brand); font-weight:600;}

  /* ---- Footer ---- */
  footer{border-top:1px solid var(--border); padding-block:clamp(40px,5vw,64px) 32px; margin-top:24px;}
  .footer-grid{display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:32px;}
  @media (max-width:960px){.footer-grid{grid-template-columns:repeat(4,1fr); row-gap:36px;} .footer-grid > div:first-child{grid-column:1 / -1;}}
  @media (max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;}}
  .footer-grid .footer-heading{font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:14px;}
  .footer-grid ul{display:flex; flex-direction:column; gap:10px;}
  .footer-grid a{font-size:.92rem; text-decoration:none; color:var(--ink); overflow-wrap:anywhere;}
  .footer-grid a:hover{color:var(--brand);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    margin-top:clamp(32px,4vw,56px); padding-top:24px; border-top:1px solid var(--border);
    font-size:.82rem; color:var(--muted);
  }

  /* ---- Pricing note ---- */
  .addon-card p.card-note{margin-top:14px; padding-top:12px; border-top:1px solid var(--border); color:var(--ink); font-weight:500;}

  /* ---- Comparison ---- */
  .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
  .compare{background:#0A3641; color:#F4F8F7; border-radius:22px; padding:clamp(28px,5vw,64px);}
  .compare h2{color:#F4F8F7; font-size:clamp(1.6rem,3.2vw,2.3rem); max-width:620px;}
  .compare .table-scroll{overflow-x:auto; margin-top:clamp(24px,4vw,40px);}
  .compare table{width:100%; border-collapse:separate; border-spacing:0;}
  .compare th, .compare td{padding:18px 22px; text-align:left; vertical-align:middle; border-top:1px solid rgba(244,248,247,.18);}
  .compare thead th{border-top:0; font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:1.2rem; color:#F4F8F7;}
  .compare th:first-child, .compare td:first-child{background:#F4F8F7; color:#10282E; border-top-color:#D3E2E0; width:50%;}
  .compare thead th:first-child{border-radius:14px 14px 0 0;}
  .compare tbody tr:last-child td:first-child{border-radius:0 0 14px 14px;}
  .compare td:last-child{color:#CFE3E6;}
  .compare .cell{display:flex; align-items:center; gap:12px; font-size:.98rem;}
  .compare .cell svg{flex:none;}
  .compare-note{margin-top:20px; font-size:.8rem; color:#CFE3E6; max-width:640px;}

  /* ---- Blog ---- */
  .crumbs{font-size:.85rem; color:var(--muted); margin-bottom:6px;}
  .crumbs a{color:var(--muted); text-decoration:none;}
  .crumbs a:hover{color:var(--brand); text-decoration:underline;}
  .post-meta{font-size:.85rem; color:var(--muted); margin-top:18px;}
  .post-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
  @media (max-width:760px){.post-grid{grid-template-columns:1fr;}}
  .post-card{background:var(--paper); border:1px solid var(--border); border-radius:16px; padding:28px; display:flex; flex-direction:column; gap:12px;}
  .post-card .post-meta{margin-top:0;}
  .post-card h2{font-size:1.45rem; line-height:1.2;}
  .post-card h2 a{text-decoration:none; color:var(--ink);}
  .post-card h2 a:hover{color:var(--brand);}
  .post-card p{color:var(--muted);}
  .post-card .read-more{margin-top:auto; font-weight:600; font-size:.92rem; color:var(--brand); text-decoration:none;}
  .post-card .read-more:hover{text-decoration:underline;}
  .article{max-width:720px;}
  .article h2{font-size:1.6rem; margin-top:52px;}
  .article h2:first-child{margin-top:0;}
  .article h3{font-size:1.2rem; margin-top:34px;}
  .article p, .article li{font-size:1.05rem; line-height:1.8;}
  .article p{margin-top:16px;}
  .article ul, .article ol{margin-top:14px; padding-left:1.3rem;}
  .article ul{list-style:disc;}
  .article ol{list-style:decimal;}
  .article li{margin-top:8px;}
  .article a{color:var(--brand); font-weight:600;}
  .article .table-wrap{overflow-x:auto; margin-top:20px; border:1px solid var(--border); border-radius:12px; background:var(--paper);}
  .article table{width:100%; border-collapse:collapse; font-size:.95rem; min-width:480px;}
  .article th, .article td{padding:14px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--border);}
  .article th{background:var(--brand-tint); font-weight:600;}
  .article tbody tr:last-child td{border-bottom:0;}
  .article .callout{margin-top:44px; padding:20px 24px; border:1px solid var(--border); background:var(--paper); border-radius:14px;}
  .article .callout p{margin:0; font-size:.95rem; line-height:1.7; color:var(--muted);}
  @media (max-width:560px){
    .compare th, .compare td{padding:14px 12px;}
    .compare thead th{font-size:1rem;}
    .compare .cell{gap:8px; font-size:.88rem; align-items:flex-start;}
    .compare .cell svg{margin-top:2px; width:16px; height:16px;}
  }

  /* ---- Founders ---- */
  .founders{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media (max-width:900px){.founders{grid-template-columns:1fr; max-width:520px;}}
  .founder{display:flex; flex-direction:column; gap:14px;}
  .founder-photo{display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; border-radius:16px; background:var(--brand-tint); border:1px solid var(--border);}
  .founder h3{font-size:1.3rem;}
  .founder .role{font-size:.88rem; color:var(--muted); margin-top:2px;}
  .founder .bio{color:var(--muted); font-size:.98rem;}

  /* ---- Client logos (recolored with the theme so they work in light and dark) ---- */
  .client-logo{display:inline-block; flex:none; background-color:var(--muted); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain;}
  .logo-sydecar{-webkit-mask-image:url('/assets/clients/sydecar.png'); mask-image:url('/assets/clients/sydecar.png');}
  .logo-bitwise{-webkit-mask-image:url('/assets/clients/bitwise.png'); mask-image:url('/assets/clients/bitwise.png');}
  .logo-appsmith{-webkit-mask-image:url('/assets/clients/appsmith.png'); mask-image:url('/assets/clients/appsmith.png');}
  .logo-runway{-webkit-mask-image:url('/assets/clients/runway.png'); mask-image:url('/assets/clients/runway.png');}
