  :root{
    --ink:#0f2233; --ink2:#3f5566; --line:#e2e8ed; --bg:#ffffff; --soft:#f5f8fa;
    --brand:#0f6e56; --brand-d:#0a4d3c; --brandbg:#e1f5ee;
    --red:#a32d2d; --redbg:#fceaea; --amber:#854f0b; --amberbg:#faeeda;
    --radius:10px; --max:1060px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  a{color:var(--brand);text-decoration:none}
  h1,h2,h3{line-height:1.2;font-weight:700}
  .btn{display:inline-block;background:var(--brand);color:#fff;padding:14px 26px;border-radius:var(--radius);font-weight:600;font-size:16px;border:none;cursor:pointer;transition:background .15s}
  .btn:hover{background:var(--brand-d)}
  .btn-lg{padding:17px 34px;font-size:17px}
  /* header */
  /* Opaque: 5% transparency let dense text ghost through the sticky header. */
  header{border-bottom:1px solid var(--line);position:sticky;top:0;
    background:#fff;z-index:10}

  /* The header is sticky, so anchor targets need clearance beneath it. */
  [id]{scroll-margin-top:84px}
  .nav{display:flex;align-items:center;justify-content:space-between;height:66px}
  .logo{font-size:21px;font-weight:800;letter-spacing:-.3px;color:var(--ink)}
  .logo span{color:var(--brand)}
  .nav-links a{color:var(--ink2);font-size:15px;margin-left:26px}
  .nav-links a.cta{color:var(--brand);font-weight:600}
  /* hero */
  .hero{padding:76px 0 64px;text-align:center;background:var(--soft);border-bottom:1px solid var(--line)}
  .hero h1{font-size:46px;letter-spacing:-1px;margin-bottom:20px}
  .hero p.sub{font-size:20px;color:var(--ink2);max-width:680px;margin:0 auto 32px}
  .hero .note{font-size:14px;color:var(--ink2);margin-top:14px}
  .pill{display:inline-block;background:var(--amberbg);color:var(--amber);font-size:13px;font-weight:600;padding:6px 14px;border-radius:20px;margin-bottom:22px}
  section{padding:60px 0}
  .sec-title{font-size:30px;text-align:center;margin-bottom:14px;letter-spacing:-.5px}
  .sec-sub{text-align:center;color:var(--ink2);max-width:640px;margin:0 auto 40px;font-size:17px}
  /* deadline table */
  table.dl{width:100%;border-collapse:collapse;max-width:760px;margin:0 auto;font-size:16px}
  table.dl th,table.dl td{padding:14px 16px;border:1px solid var(--line);text-align:left}
  table.dl th{background:var(--ink);color:#fff;font-weight:600}
  table.dl td:first-child{font-weight:600}
  .urgent{max-width:760px;margin:24px auto 0;background:var(--amberbg);border:1px solid #f0d9a8;border-radius:var(--radius);padding:16px 20px;font-size:15px;color:var(--amber)}
  .penalty{max-width:760px;margin:16px auto 0;text-align:center;color:var(--ink2);font-size:15px}
  /* steps */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto}
  .step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 24px}
  .step .n{width:34px;height:34px;border-radius:50%;background:var(--brandbg);color:var(--brand-d);font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
  .step h3{font-size:19px;margin-bottom:8px}
  .step p{font-size:15px;color:var(--ink2)}
  .step .price{margin-top:12px;font-size:14px;color:var(--brand-d);font-weight:600}
  .founding{max-width:920px;margin:26px auto 0;background:var(--brandbg);border-radius:12px;padding:18px 24px;text-align:center;color:var(--brand-d);font-weight:600;font-size:16px}
  /* why / who */
  .why{background:var(--soft)}
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;max-width:860px;margin:0 auto}
  .why-item{display:flex;gap:12px;align-items:flex-start;font-size:16px}
  .why-item .dot{color:var(--brand);font-weight:800;margin-top:1px}
  .who{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:920px;margin:0 auto}
  .who-card{border:1px solid var(--line);border-radius:12px;padding:22px}
  .who-card h3{font-size:16px;margin-bottom:8px;color:var(--brand-d)}
  .who-card p{font-size:14px;color:var(--ink2)}
  /* form */
  .form-sec{background:var(--ink);color:#fff}
  .form-sec .sec-title,.form-sec .sec-sub{color:#fff}
/* Section headings are centred; width-capped prose must be too. */
  .form-sec p,.form-sec ul,.form-sec ol{margin-left:auto;margin-right:auto}
  .form-card{max-width:560px;margin:0 auto;background:#fff;border-radius:14px;padding:34px;color:var(--ink)}
  .form-card label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
  .form-card input,.form-card select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px;font-family:inherit}
  .drop{border:2px dashed var(--line);border-radius:var(--radius);padding:26px;text-align:center;color:var(--ink2);font-size:15px;margin-top:6px;cursor:pointer}
  .form-card .btn{width:100%;margin-top:20px}
  .form-card .fine{font-size:12.5px;color:var(--ink2);text-align:center;margin-top:14px}
  /* faq */
  details{border-bottom:1px solid var(--line);padding:16px 0;max-width:760px;margin:0 auto}
  details summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
  details summary::after{content:'+';color:var(--brand);font-weight:700}
  details[open] summary::after{content:'–'}
  details p{margin-top:10px;color:var(--ink2);font-size:15px}
  /* footer */
  footer{background:var(--soft);border-top:1px solid var(--line);padding:36px 0;text-align:center;color:var(--ink2);font-size:14px}
  footer .logo{font-size:18px;margin-bottom:8px;display:inline-block}
  @media(max-width:820px){
    .hero h1{font-size:34px}.steps,.who{grid-template-columns:1fr}.cols{grid-template-columns:1fr}
    .sec-title{font-size:25px}
  }

/* ---- article & index pages ---- */
.page{max-width:760px;margin:0 auto;padding:52px 24px 72px}
.page h1{font-size:36px;letter-spacing:-.7px;margin-bottom:12px}
.page .meta{color:var(--ink2);font-size:14px;margin-bottom:34px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.page h2{font-size:25px;margin:34px 0 12px;letter-spacing:-.3px}
.page h3{font-size:19px;margin:26px 0 10px}
.page p{margin-bottom:15px;color:var(--ink)}
.page ul,.page ol{margin:0 0 16px 22px}
.page li{margin-bottom:7px}
.page table{width:100%;border-collapse:collapse;font-size:15px;margin:18px 0 22px}
.page table th{background:var(--brand);color:#fff;text-align:left;padding:9px 12px;font-weight:600;font-size:14px}
.page table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.page table tr:nth-child(even) td{background:var(--soft)}
.page code,.page pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;background:var(--soft);border:1px solid var(--line);border-radius:6px}
.page code{padding:2px 6px}
.page pre{padding:12px 14px;overflow-x:auto;margin-bottom:18px}
.page blockquote{border-left:3px solid var(--brand);padding-left:16px;color:var(--ink2);margin:0 0 16px}
.page .disclaimer{font-size:13.5px;color:var(--ink2);border-top:1px solid var(--line);padding-top:18px;margin-top:36px}
.back{display:inline-block;font-size:14px;margin-bottom:20px;color:var(--ink2)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s,box-shadow .15s;display:block}
.card:hover{border-color:var(--brand);box-shadow:0 2px 14px rgba(15,110,86,.09)}
.card h3{font-size:18px;margin-bottom:8px;color:var(--ink)}
.card p{font-size:14.5px;color:var(--ink2);margin:0}
.card .tag{display:inline-block;font-size:12px;font-weight:600;color:var(--brand);background:var(--brandbg);padding:3px 10px;border-radius:12px;margin-bottom:10px}
.lead{font-size:18px;color:var(--ink2);margin-bottom:8px}
@media(max-width:820px){.cards{grid-template-columns:1fr}.page h1{font-size:28px}}
