:root{
  --navy:#0B1F33;
  --navy-2:#122B45;
  --teal:#13B8A6;
  --teal-dark:#0E8C7F;
  --ink:#1B2733;
  --muted:#5A6B7B;
  --line:#E2E8EE;
  --bg:#F5F7FA;
  --card:#FFFFFF;
  --max:860px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Header ---------- */
header{
  background:var(--navy);
  background-image:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  padding:48px 24px 40px;
}
.wrap{max-width:var(--max);margin:0 auto;}
.brand{
  display:flex;align-items:center;gap:12px;
  font-weight:700;letter-spacing:.02em;font-size:15px;
  text-transform:uppercase;color:#9FB3C6;
}
.mark{
  width:32px;height:32px;border-radius:8px;flex:none;
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%);
  display:flex;align-items:center;justify-content:center;
  color:#04231F;font-weight:800;font-size:17px;
}
header h1{
  margin:22px 0 10px;
  font-size:34px;line-height:1.2;font-weight:700;letter-spacing:-.02em;
}
header p{margin:0;color:#B9CBDA;font-size:15px;max-width:60ch;}
.meta{
  margin-top:24px;display:flex;flex-wrap:wrap;gap:10px;
}
.pill{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#D6E3EE;
  border-radius:999px;
  padding:6px 14px;font-size:13px;
}

/* ---------- Layout ---------- */
main{max-width:var(--max);margin:0 auto;padding:0 24px 72px;}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px 30px;
  margin-top:-24px;
  box-shadow:0 2px 14px rgba(11,31,51,.06);
}
.card + .card{margin-top:22px;}

/* ---------- Table of contents ---------- */
nav.toc h2{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;}
nav.toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px;}
nav.toc li{margin-bottom:6px;break-inside:avoid;}
nav.toc a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;}
nav.toc a:hover{border-bottom-color:var(--teal);color:var(--teal-dark);}

/* ---------- Typography ---------- */
section{scroll-margin-top:20px;}
h2{
  font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.01em;
  color:var(--navy);margin:0 0 14px;
  padding-bottom:10px;border-bottom:2px solid var(--line);
}
h3{font-size:16px;font-weight:700;color:var(--navy-2);margin:24px 0 8px;}
p{margin:0 0 14px;}
ul{margin:0 0 14px;padding-left:22px;}
li{margin-bottom:7px;}
a{color:var(--teal-dark);}
strong{color:var(--navy);}
.lead{color:var(--muted);}

/* ---------- Table ---------- */
.table-scroll{overflow-x:auto;margin:0 0 16px;-webkit-overflow-scrolling:touch;}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px;}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
thead th{
  background:#EEF3F7;color:var(--navy);
  font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;
  border-bottom:2px solid #D5DFE8;
}
tbody tr:last-child td{border-bottom:none;}

/* ---------- Callout ---------- */
.callout{
  border-left:4px solid var(--teal);
  background:#F0FBF9;
  padding:16px 18px;
  border-radius:0 10px 10px 0;
  margin:0 0 16px;
}
.callout p:last-child{margin-bottom:0;}

/* ---------- Contact ---------- */
.contact{
  background:var(--navy);
  background-image:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;border:none;
}
.contact h2{color:#fff;border-bottom-color:rgba(255,255,255,.18);}
.contact a{color:var(--teal);}
.contact p{color:#C6D6E3;}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:6px;}
.contact-grid div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:14px 16px;}
.contact-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#93A9BC;margin-bottom:4px;}

footer{
  text-align:center;color:var(--muted);font-size:13.5px;
  padding:0 24px 48px;max-width:var(--max);margin:0 auto;
}
footer a{color:var(--muted);}

@media (max-width:640px){
  header{padding:36px 20px 34px;}
  header h1{font-size:26px;}
  main{padding:0 16px 56px;}
  .card{padding:22px 20px;border-radius:12px;}
  nav.toc ol{columns:1;}
  h2{font-size:19px;}
}

@media print{
  body{background:#fff;font-size:11pt;}
  header{background:#fff !important;color:#000;padding:0 0 18pt;}
  header h1,.brand,header p,.pill{color:#000 !important;}
  .pill{border:1px solid #999;background:#fff;}
  .card{box-shadow:none;border:none;padding:0;margin:0 0 18pt;}
  nav.toc{display:none;}
  .contact{background:#fff !important;color:#000;}
  .contact h2,.contact p,.contact-grid span{color:#000 !important;}
  .contact-grid div{border:1px solid #999;background:#fff;}
  a{color:#000;}
}

/* ---------- Ordered step list ---------- */
main ol{margin:0 0 14px;padding-left:22px;}
main ol li{margin-bottom:8px;}
