:root {
  --navy: #102a43;
  --navy-2: #173f6b;
  --blue: #1557c0;
  --paper: #eef3f7;
  --white: #ffffff;
  --ink: #142437;
  --muted: #59697a;
  --gold: #f5bc42;
  --garnet: #a82f4b;
  --mint: #86d9c8;
  --rule: rgba(20, 36, 55, 0.2);
  --display: Georgia, "Times New Roman", serif;
  --body: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  --data: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.shell { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }

.site-header { color: var(--white); background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.18); }
.nav-row { min-height: 86px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 38px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font-weight: 800; letter-spacing: -.025em; }
.brand-mark { width: 54px; height: 46px; display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--gold); font-family: var(--data); font-size: 11px; }
.brand-mark span { display: grid; place-items: center; }
.brand-mark span:first-child { color: var(--navy); background: var(--gold); }
.nav-links { display: flex; justify-content: center; gap: clamp(16px, 2.6vw, 34px); color: #c7d5e4; font-size: 14px; font-weight: 700; }
.nav-links a:hover { color: var(--gold); }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 23px; border: 2px solid var(--navy); background: var(--white); color: var(--navy); font-weight: 850; box-shadow: 5px 5px 0 var(--navy); transition: transform 150ms ease, box-shadow 150ms ease; }
.button:hover { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--navy); }
.button.gold { background: var(--gold); }
.button.blue { color: var(--white); background: var(--blue); border-color: var(--white); box-shadow: 5px 5px 0 rgba(255,255,255,.28); }
.button.small { min-height: 42px; padding: 0 18px; font-size: 13px; }

.hero { padding: clamp(74px, 10vw, 136px) 0 100px; color: var(--white); background: linear-gradient(120deg, var(--navy) 0 54%, var(--navy-2) 54% 100%); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(48px, 8vw, 106px); }
.kicker { margin: 0 0 22px; color: var(--gold); font-family: var(--data); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kicker::before { content: "[ "; }.kicker::after { content: " ]"; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.045em; line-height: .98; }
h1 { margin-bottom: 28px; font-size: clamp(56px, 7.4vw, 104px); }
h2 { margin-bottom: 22px; font-size: clamp(40px, 5vw, 70px); }
h3 { margin-bottom: 12px; font-size: clamp(24px, 2.4vw, 34px); }
.hero-copy > p:not(.kicker), .lead { max-width: 700px; color: #cbd8e6; font-size: clamp(18px, 2vw, 23px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.micro { margin-top: 18px; color: #9eb0c4; font-family: var(--data); font-size: 11px; }

.ledger-sheet { position: relative; padding: 34px 32px 30px 66px; color: var(--ink); background: repeating-linear-gradient(0deg, #fff 0 47px, #dbe3eb 47px 48px); border: 2px solid #07192a; box-shadow: 20px 22px 0 var(--gold); transform: rotate(1deg); }
.ledger-sheet::before { content:""; position:absolute; inset:0 auto 0 44px; width:2px; background:var(--garnet); }
.ledger-head { display:flex; justify-content:space-between; padding-bottom:18px; border-bottom:3px double var(--ink); font-family:var(--data); font-size:11px; font-weight:800; text-transform:uppercase; }
.ledger-row { min-height: 72px; display:grid; grid-template-columns: 1fr 100px 100px; align-items:center; gap:16px; border-bottom:1px solid var(--rule); }
.ledger-row strong { font-family:var(--body); font-size:16px; }
.ledger-row span { font-family:var(--data); font-size:13px; text-align:right; }
.ledger-total { display:grid; grid-template-columns:1fr 100px 100px; gap:16px; margin-top:22px; padding-top:16px; border-top:3px double var(--ink); font-family:var(--data); font-weight:900; text-align:right; }
.close-stamp { position:absolute; right:28px; bottom:30px; padding:8px 12px; border:3px solid var(--garnet); color:var(--garnet); font-family:var(--data); font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; transform:rotate(-7deg); background:rgba(255,255,255,.78); }

.evidence-strip { background:var(--mint); border-block:2px solid var(--ink); }
.evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.evidence-item { min-height:118px; padding:25px 28px; border-right:1px solid rgba(20,36,55,.35); }
.evidence-item:last-child { border-right:0; }
.evidence-item b { display:block; margin-bottom:7px; font-family:var(--display); font-size:28px; letter-spacing:-.04em; }
.evidence-item span { color:#304b55; font-size:13px; }

.section { padding:clamp(76px,10vw,132px) 0; }
.section.white { background:var(--white); border-block:1px solid var(--rule); }
.section.navy { color:var(--white); background:var(--navy); }
.section.navy .section-lead,.section.navy p { color:#c4d1df; }
.section-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:end; margin-bottom:54px; }
.section-heading h2 { margin:0; }
.section-lead { margin-bottom:5px; color:var(--muted); font-size:clamp(18px,2vw,23px); }

.control-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.control-card { min-height:280px; padding:30px; border:2px solid var(--ink); background:var(--white); box-shadow:7px 7px 0 #b8c8d7; }
.control-card:nth-child(2) { background:#dae7f6; }
.control-card .code { display:block; margin-bottom:54px; color:var(--blue); font-family:var(--data); font-size:12px; font-weight:800; }
.control-card p { color:var(--muted); }

.close-sequence { display:grid; grid-template-columns:repeat(4,1fr); border:2px solid var(--ink); background:var(--white); }
.close-step { min-height:260px; padding:30px; border-right:1px solid var(--rule); }
.close-step:last-child { border-right:0; }
.close-step .ordinal { width:44px; height:44px; display:grid; place-items:center; margin-bottom:48px; color:var(--white); background:var(--blue); border-radius:50%; font-family:var(--data); font-weight:800; }
.close-step p { color:var(--muted); }

.cta-ledger { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; padding:clamp(38px,6vw,70px); color:var(--white); background:var(--blue); border:2px solid var(--navy); box-shadow:12px 12px 0 var(--gold); }
.cta-ledger h2 { max-width:760px; margin:0; }

.subhero { padding:clamp(70px,9vw,120px) 0 78px; background:linear-gradient(180deg,#dfe9f2, var(--paper)); }
.subhero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; }
.subhero h1 { max-width:900px; font-size:clamp(54px,6.7vw,94px); }
.subhero .lead { color:var(--muted); }
.control-note { padding:30px; color:var(--white); background:var(--navy); border-left:8px solid var(--gold); box-shadow:10px 10px 0 var(--garnet); }
.control-note span { font-family:var(--data); font-size:11px; font-weight:800; text-transform:uppercase; color:var(--gold); }
.control-note strong { display:block; margin:26px 0 12px; font-family:var(--display); font-size:36px; line-height:1; letter-spacing:-.04em; }
.control-note p { color:#c8d5e3; }

.model-grid { display:grid; grid-template-columns:repeat(2,1fr); border:2px solid var(--ink); background:var(--white); }
.model-item { min-height:210px; padding:30px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.model-item:nth-child(2n) { border-right:0; }
.model-item:nth-last-child(-n+2) { border-bottom:0; }
.model-item code { display:block; margin-bottom:28px; color:var(--garnet); font-family:var(--data); font-weight:800; }
.model-item p { color:var(--muted); }

.matrix { width:100%; border-collapse:collapse; border:2px solid var(--ink); background:var(--white); }
.matrix th,.matrix td { padding:21px 23px; border-bottom:1px solid var(--rule); text-align:left; }
.matrix th { color:var(--blue); font-family:var(--data); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.matrix tr:last-child td { border-bottom:0; }

.evidence-flow { border-left:5px solid var(--blue); margin-left:15px; }
.evidence-row { position:relative; display:grid; grid-template-columns:190px 1fr; gap:38px; padding:0 0 54px 40px; }
.evidence-row:last-child { padding-bottom:0; }
.evidence-row::before { content:""; position:absolute; left:-14px; top:3px; width:17px; height:17px; border:3px solid var(--paper); border-radius:50%; background:var(--gold); box-shadow:0 0 0 2px var(--navy); }
.evidence-row .phase { color:var(--blue); font-family:var(--data); font-weight:800; }
.evidence-row p { color:var(--muted); }

.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.price-card { min-height:430px; display:flex; flex-direction:column; padding:32px; border:2px solid var(--ink); background:var(--white); box-shadow:7px 7px 0 #b8c8d7; }
.price-card.featured { color:var(--white); background:var(--navy-2); box-shadow:9px 9px 0 var(--gold); }
.price-card .label { font-family:var(--data); font-size:11px; font-weight:800; text-transform:uppercase; color:var(--blue); }
.price-card.featured .label { color:var(--gold); }
.price-card h3 { margin-top:48px; }
.price-card ul { padding-left:20px; color:var(--muted); }
.price-card.featured ul,.price-card.featured p { color:#cbd8e6; }
.price-card .button { margin-top:auto; }

.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:3px double var(--ink); }
.faq-grid article { padding:30px 34px 30px 0; border-bottom:1px solid var(--rule); }
.faq-grid article:nth-child(2n) { padding-left:34px; border-left:1px solid var(--rule); }
.faq-grid p { color:var(--muted); }

.site-footer { padding:72px 0 38px; color:var(--white); background:#091b2c; }
.footer-grid { display:grid; grid-template-columns:1.25fr repeat(3,.55fr); gap:40px; }
.footer-grid h2 { max-width:530px; font-size:clamp(36px,4.8vw,62px); }
.footer-col strong { display:block; margin-bottom:17px; color:var(--gold); font-family:var(--data); font-size:11px; text-transform:uppercase; }
.footer-col a { display:block; margin-bottom:10px; color:#c6d2df; }
.footer-bottom { display:flex; justify-content:space-between; margin-top:58px; padding-top:22px; border-top:1px solid rgba(255,255,255,.17); color:#879aad; font-family:var(--data); font-size:11px; }

@media (max-width:920px) {
  .nav-row { grid-template-columns:auto auto; }
  .nav-links { grid-column:1/-1; grid-row:2; justify-content:flex-start; padding-bottom:18px; overflow-x:auto; }
  .nav-row>.button { justify-self:end; }
  .hero-grid,.subhero-grid,.section-heading { grid-template-columns:1fr; }
  .evidence-grid,.close-sequence { grid-template-columns:1fr 1fr; }
  .evidence-item:nth-child(2),.close-step:nth-child(2) { border-right:0; }
  .evidence-item:nth-child(-n+2),.close-step:nth-child(-n+2) { border-bottom:1px solid var(--rule); }
  .control-grid,.price-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:620px) {
  .shell { width:min(100% - 24px,1200px); }
  .nav-row { gap:12px; }
  .brand>span:last-child { display:none; }
  .nav-row>.button { min-height:40px; padding:0 13px; }
  .nav-links { gap:22px; }
  h1 { font-size:clamp(50px,16vw,76px); }
  .ledger-sheet { padding:24px 16px 28px 38px; box-shadow:10px 11px 0 var(--gold); transform:none; }
  .ledger-sheet::before { left:25px; }
  .ledger-row,.ledger-total { grid-template-columns:1fr 68px 68px; gap:8px; }
  .close-stamp { position:static; display:inline-block; margin-top:24px; }
  .evidence-grid,.close-sequence,.model-grid,.faq-grid { grid-template-columns:1fr; }
  .evidence-item,.close-step,.model-item { border-right:0; border-bottom:1px solid var(--rule); }
  .model-item:nth-last-child(2) { border-bottom:1px solid var(--rule); }
  .cta-ledger { grid-template-columns:1fr; box-shadow:7px 7px 0 var(--gold); }
  .evidence-row { grid-template-columns:1fr; gap:8px; }
  .faq-grid article:nth-child(2n) { padding-left:0; border-left:0; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms!important} }

.proto-attribution {
  position: fixed;
  z-index: 1000;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  box-sizing: border-box;
  min-height: 46px;
  padding: 9px 13px 9px 9px;
  border: 1px solid rgba(20, 29, 35, 0.18);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(20, 29, 35, 0.16);
  color: #343239;
  font: 600 14px/1.1 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.proto-attribution strong {
  color: #6d43ea;
  font-weight: 750;
}
.proto-attribution-mark {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: #161b1f;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
}
.proto-attribution:hover,
.proto-attribution:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(20, 29, 35, 0.22);
}
.proto-attribution:focus-visible {
  outline: 3px solid #6d43ea;
  outline-offset: 3px;
}
@media (max-width: 640px) {
  .proto-attribution {
    right: 8px;
    bottom: 8px;
    min-height: 42px;
    padding: 7px 11px 7px 7px;
    font-size: 13px;
  }
  .proto-attribution-mark {
    width: 26px;
    height: 26px;
  }
}
