:root{
  --navy:#10283A;
  --navy-deep:#0A1C2A;
  --cream:#F3EBD9;
  --paper:#FBF8F1;
  --gold:#F3BC49;
  --orange:#E56E2F;
  --ocean:#245872;
  --forest:#1D4A3B;
  --sky:#A9C9D3;
  --ink:#1B2C3A;
  --muted:#5E6B77;

  --sans-ui:'Montserrat', Arial, sans-serif;
  --sans-tag:'DM Sans', Arial, sans-serif;
  --mono:'DM Mono', monospace;

  --line-on-navy:rgba(243,235,217,.08);
  --line:rgba(16,40,58,.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans-tag);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;}
.wrap{width:min(720px, calc(100% - 48px));margin:auto;}
.wrap-wide{width:min(1040px, calc(100% - 48px));margin:auto;}

/* ===== LOGO / HEADER ===== */
.logo-icon{display:block;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-linecap:round;}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--cream);}
.brand-word{
  display:inline-flex;align-items:baseline;gap:.6em;flex-wrap:nowrap;white-space:nowrap;
  font-family:var(--sans-ui);font-weight:600;font-size:12px;line-height:1.4;color:inherit;
}
.brand-word .ma{letter-spacing:normal;}
.brand-word .ma .slash{color:var(--gold);margin:0 .18em;}
.brand-word .full{letter-spacing:.22em;}

header{
  background:var(--navy);position:relative;z-index:5;
  background-image:linear-gradient(var(--line-on-navy) 1px, transparent 1px), linear-gradient(90deg, var(--line-on-navy) 1px, transparent 1px);
  background-size:44px 44px;
}
header .wrap-wide{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;}
header .logo-icon{width:26px;height:20px;stroke-width:20;}
.back-link{
  font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(243,235,217,.6);text-decoration:none;transition:color 220ms ease;
  display:flex;align-items:center;gap:8px;
}
.back-link:hover{color:var(--gold);}
.arrow-icon{width:11px;height:11px;flex-shrink:0;}

/* ===== ARTICLE ===== */
article{padding:64px 0 40px;}
.kicker{
  font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);margin:0 0 18px;display:flex;align-items:center;gap:9px;
}
.kicker .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}

h1{
  font-family:var(--sans-ui);font-weight:600;
  font-size:clamp(30px,5vw,46px);line-height:1.12;letter-spacing:-.02em;
  color:var(--navy);margin:0 0 22px;
}
.standfirst{
  font-family:var(--sans-ui);font-weight:400;font-size:clamp(17px,2.4vw,20px);
  line-height:1.6;color:var(--muted);margin:0 0 10px;
}
.meta-line{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(16,40,58,.4);border-top:1px solid var(--line);
  padding-top:16px;margin-top:34px;
}

article h2{
  font-family:var(--sans-ui);font-weight:600;font-size:clamp(21px,3.2vw,27px);
  line-height:1.3;color:var(--navy);margin:52px 0 16px;letter-spacing:-.01em;
}
article h3{
  font-family:var(--sans-ui);font-weight:600;font-size:17px;
  color:var(--navy);margin:32px 0 10px;
}
article p{font-size:16.5px;line-height:1.75;color:var(--ink);margin:0 0 18px;}
article strong{font-weight:600;color:var(--navy);}
article ul,article ol{margin:0 0 22px;padding-left:22px;}
article li{font-size:16.5px;line-height:1.75;margin-bottom:10px;}

/* pull quote */
.pull{
  border-left:2px solid var(--gold);padding:4px 0 4px 22px;margin:34px 0;
  font-family:var(--sans-ui);font-weight:500;font-size:clamp(18px,2.6vw,22px);
  line-height:1.45;color:var(--navy);
}

/* step table */
.steps{border-top:1px solid var(--line);margin:28px 0 34px;}
.step{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.step .n{
  font-family:var(--mono);font-size:12px;color:var(--gold);flex-shrink:0;width:26px;letter-spacing:.04em;
}
.step .body{flex:1;}
.step .title{font-family:var(--sans-ui);font-weight:600;font-size:16px;color:var(--navy);margin:0 0 4px;}
.step .desc{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0;}
.step .time{
  font-family:var(--mono);font-size:11.5px;color:var(--ocean);white-space:nowrap;flex-shrink:0;letter-spacing:.03em;
}
@media (max-width:620px){
  .step{flex-wrap:wrap;gap:8px 14px;}
  .step .time{width:100%;padding-left:44px;}
}

/* callout */
.callout{
  background:var(--cream);border-radius:4px;padding:26px 28px;margin:34px 0;
}
.callout .label{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);margin:0 0 10px;
}
.callout p{margin:0;font-size:16px;}
.callout p + p{margin-top:12px;}

/* contrast list */
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:30px 0;}
.contrast > div{background:var(--paper);padding:22px 20px;}
.contrast h4{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;
}
.contrast .neg h4{color:var(--orange);}
.contrast .pos h4{color:var(--forest);}
.contrast ul{margin:0;padding-left:18px;}
.contrast li{font-size:14.5px;line-height:1.6;margin-bottom:9px;color:var(--muted);}
@media (max-width:620px){.contrast{grid-template-columns:1fr;}}

/* ===== NEXT / FOOTER ===== */
.next{border-top:1px solid var(--line);padding:44px 0 10px;margin-top:56px;}
.next .label{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0 0 20px;
}
.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:620px){.next-grid{grid-template-columns:1fr;}}
.next-card{
  display:block;text-decoration:none;border:1px solid var(--line);border-radius:4px;
  padding:20px;transition:border-color 220ms ease;
}
.next-card:hover{border-color:var(--gold);}
.next-card .t{font-family:var(--sans-ui);font-weight:600;font-size:15.5px;color:var(--navy);margin:0 0 6px;line-height:1.35;}
.next-card .d{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55;}

.cta-band{
  background:var(--navy);color:var(--cream);padding:52px 0;margin-top:60px;
}
.cta-band h2{
  font-family:var(--sans-ui);font-weight:600;font-size:clamp(21px,3.2vw,27px);
  color:var(--cream);margin:0 0 14px;line-height:1.3;
}
.cta-band p{color:rgba(243,235,217,.7);font-size:16px;margin:0 0 26px;max-width:46ch;line-height:1.7;}
.cta-band a.mail{
  font-family:var(--mono);font-size:13px;letter-spacing:.05em;color:var(--gold);
  text-decoration:none;border-bottom:1px solid rgba(243,188,73,.4);padding-bottom:4px;
}

footer{background:var(--navy-deep);color:rgba(243,235,217,.6);padding:34px 0;}
footer .wrap-wide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:0 24px;}
footer .logo-icon{width:20px;height:15px;stroke-width:21;}
footer .brand-word{font-size:10.5px;}
footer .contact{
  font-family:var(--sans-ui);font-weight:400;font-size:12px;letter-spacing:.05em;
  text-decoration:none;color:rgba(243,235,217,.6);transition:color 220ms ease;
}
footer .contact:hover{color:var(--gold);}

/* ===== HUB ===== */
.hub-head{padding:64px 0 10px;}
.hub-list{padding:16px 0 20px;}
.hub-item{
  display:block;text-decoration:none;border-top:1px solid var(--line);
  padding:28px 0;transition:opacity 220ms ease;
}
.hub-item:last-child{border-bottom:1px solid var(--line);}
.hub-item:hover .hub-t{color:var(--ocean);}
.hub-n{font-family:var(--mono);font-size:11.5px;color:var(--gold);letter-spacing:.06em;margin:0 0 8px;}
.hub-t{
  font-family:var(--sans-ui);font-weight:600;font-size:clamp(18px,2.8vw,23px);
  color:var(--navy);margin:0 0 8px;line-height:1.3;transition:color 220ms ease;
}
.hub-d{font-size:15px;color:var(--muted);margin:0;line-height:1.65;max-width:60ch;}

@media (max-width:640px){
  header .wrap-wide{gap:10px;}
  header .brand{gap:8px;}
  header .logo-icon{width:19px;height:15px;}
  header .brand-word{font-size:9px;}
  header .brand-word .full{letter-spacing:.1em;}
  .back-link{font-size:9.5px;}
  article{padding:44px 0 30px;}
}
