:root {
  --ink: #112d32;
  --muted: #5f706f;
  --paper: #f7f3ea;
  --paper-2: #ece7db;
  --white: #fffdf8;
  --teal: #0c515b;
  --teal-deep: #082f37;
  --orange: #c9682d;
  --line: #d8d2c5;
  --green: #2f765d;
  --amber: #a65e21;
  --shadow: 0 18px 55px rgba(11, 48, 54, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; }
button, input { font: inherit; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: white; padding: .7rem 1rem; border-radius: .4rem; }
.skip-link:focus { top: 1rem; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  padding: .8rem clamp(1.2rem, 4vw, 4.5rem);
  color: var(--white);
  background: rgba(8, 47, 55, .96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; width: max-content; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(255,255,255,.5); border-radius: .45rem; color: var(--orange); font: 800 1.2rem Georgia, serif; }
.brand strong, .brand small { display: block; letter-spacing: .08em; }
.brand small { color: #b8cccc; font-size: .72rem; text-transform: uppercase; }
nav { display: flex; gap: 1.4rem; }
nav a { color: #d7e2df; text-decoration: none; font-size: .9rem; }
nav a:hover, nav a:focus { color: white; }
.search-toggle { justify-self: end; border: 1px solid rgba(255,255,255,.25); background: transparent; color: white; border-radius: 999px; padding: .48rem .8rem; cursor: pointer; }
.search-panel { position: sticky; top: 3.9rem; z-index: 18; padding: .85rem clamp(1.2rem, 7vw, 8rem); background: var(--white); box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.search-panel label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.search-panel input { width: min(680px, 100%); margin-left: 1rem; border: 0; border-bottom: 2px solid var(--teal); background: transparent; padding: .5rem; outline: none; }
.search-panel p { display: inline; margin-left: .7rem; color: var(--muted); font-size: .8rem; }

main { overflow: hidden; }
.masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .75fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  min-height: 58vh;
  padding: clamp(3.8rem, 7vw, 6rem) clamp(1.2rem, 7vw, 8rem);
  color: var(--white);
  background:
    radial-gradient(circle at 12% 20%, rgba(27, 109, 113, .55), transparent 30%),
    linear-gradient(120deg, #082e36 0%, #0c434c 58%, #092a31 100%);
}
.eyebrow { display: block; margin-bottom: 1rem; color: var(--orange); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 900px; margin-bottom: 1.4rem; font: 500 clamp(3.1rem, 6vw, 5.8rem)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.05em; }
.lede { max-width: 720px; color: #d5e3e0; font-size: clamp(1.05rem, 1.7vw, 1.35rem); }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.8rem; padding: .65rem 1rem; border-radius: .35rem; text-decoration: none; font-weight: 750; font-size: .86rem; }
.button.primary { background: var(--orange); color: white; }
.button.ghost { border: 1px solid rgba(255,255,255,.38); color: white; }
.stop-card { padding: 1.6rem; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); box-shadow: var(--shadow); }
.stop-card h2 { margin: .8rem 0 .6rem; font: 500 1.7rem Georgia, serif; }
.stop-card p { color: #d9e4e2; }
.stop-card a { color: #ffd3b3; font-size: .82rem; font-weight: 700; }
.status-dot { display: block; width: .65rem; height: .65rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 6px rgba(201,104,45,.18); }

.pulse { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 clamp(1.2rem, 7vw, 8rem); background: var(--teal-deep); color: white; border-top: 1px solid rgba(255,255,255,.12); }
.pulse article { padding: 1.3rem 1.4rem 1.5rem; border-right: 1px solid rgba(255,255,255,.12); }
.pulse article:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.pulse strong, .pulse span { display: block; }
.pulse strong { color: #fff2e8; font: 500 1.65rem Georgia, serif; }
.pulse span { color: #b9c9c7; font-size: .84rem; }

.section { padding: clamp(4rem, 8vw, 7rem) clamp(1.2rem, 7vw, 8rem); }
.section.muted { background: var(--paper-2); }
.section.current { color: white; background: #133b41; }
.section-heading { max-width: 820px; margin-bottom: 2.5rem; }
.section-heading h2 { margin-bottom: .8rem; font: 500 clamp(2.3rem, 4.3vw, 4.2rem)/1 Georgia, serif; letter-spacing: -.035em; }
.section-heading p { color: var(--muted); }
.current .section-heading p { color: #cbd9d7; }
.row-heading { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.text-button { border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--teal); cursor: pointer; padding: .2rem 0; }
.device-note { color: var(--muted); font-size: .84rem; }

.triage-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.decision-card { min-height: 245px; padding: 1.4rem; background: var(--white); border-right: 1px solid var(--line); }
.decision-card:last-child { border-right: 0; }
.decision-card.accent { background: #d8733a; color: white; }
.decision-card h3 { margin: 2.5rem 0 .7rem; font: 600 1.35rem/1.15 Georgia, serif; }
.decision-card p { color: var(--muted); font-size: .95rem; }
.decision-card.accent p { color: #fff0e7; }
.step { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid var(--line); border-radius: 50%; font-size: .75rem; font-weight: 800; }
.notice { margin-top: 1rem; padding: 1rem 1.2rem; border-left: 4px solid var(--orange); background: #fff8ed; font-size: .95rem; }

.workflow-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #c6bfb1; }
.workflow-list li { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 2rem; padding: 1.1rem 0; border-bottom: 1px solid #c6bfb1; }
.workflow-list label { display: flex; gap: 1rem; cursor: pointer; }
.workflow-list input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--orange); }
.workflow-list strong, .workflow-list span { display: block; }
.workflow-list strong { margin-bottom: .18rem; }
.workflow-list span { color: var(--muted); }
.workflow-list label > span { max-width: 950px; }
.workflow-list input:checked + span { opacity: .55; text-decoration: line-through; }
.workflow-list em { color: var(--teal); font-size: .82rem; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }

.pack-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.pack-grid article { padding: 1.3rem; border-top: 3px solid var(--teal); background: var(--white); box-shadow: 0 10px 30px rgba(15,55,60,.06); }
.pack-grid h3 { font: 600 1.25rem Georgia, serif; }
.pack-grid ul { padding-left: 1.1rem; color: var(--muted); font-size: .92rem; }
.pack-grid li { margin-bottom: .45rem; }
.inline-download { display: inline-block; margin-top: 1.5rem; color: var(--teal); font-weight: 800; }

.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.2); }
.role-grid article { min-height: 240px; padding: 1.4rem; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.role-grid article:nth-child(3n) { border-right: 0; }
.role-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.role-grid article > span { color: #f5b182; font-weight: 800; }
.role-grid h3 { margin: 2.4rem 0 .6rem; font: 600 1.35rem Georgia, serif; }
.role-grid p { color: #c3d3d1; }
.role-grid strong { color: #ffd3b3; font-size: .84rem; text-transform: uppercase; letter-spacing: .04em; }
.handoff-rule { display: grid; grid-template-columns: 220px 1fr; gap: 1.5rem; margin-top: 1.4rem; padding: 1.3rem; background: rgba(255,255,255,.07); }
.handoff-rule strong { color: #f5b182; }
.handoff-rule span { color: #d4e0de; }

.template-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.template-card { display: flex; flex-direction: column; min-height: 220px; padding: 1.3rem; border: 1px solid #d2cabc; background: var(--white); }
.template-card.featured { background: var(--teal); color: white; border-color: var(--teal); }
.template-card h3 { margin: auto 0 .5rem; font: 600 1.35rem Georgia, serif; }
.template-card p { color: var(--muted); font-size: .92rem; }
.template-card.featured p { color: #c6dad7; }
.template-card a:not(.button) { color: var(--teal); font-weight: 800; font-size: .88rem; }
.filetype { color: var(--orange); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.copy-templates { margin-top: 2rem; border-top: 1px solid #cfc7b9; }
details { border-bottom: 1px solid #cfc7b9; }
summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; font-weight: 800; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary b { color: var(--orange); font-size: .75rem; }
.copy-body { position: relative; padding: 0 0 1.5rem; }
pre { max-height: 360px; overflow: auto; margin: 0; padding: 1.2rem; color: #e8f0ee; background: #102f34; border-radius: .25rem; white-space: pre-wrap; font: .78rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.copy-button { position: absolute; top: .65rem; right: .65rem; z-index: 2; padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.3); color: white; background: rgba(0,0,0,.25); border-radius: .25rem; cursor: pointer; }

.guardrail-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.guardrail-grid article { min-height: 180px; padding: 1.25rem; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.guardrail-grid article:nth-child(3n) { border-right: 0; }
.guardrail-grid strong { color: var(--orange); font: 600 1.2rem Georgia, serif; }
.guardrail-grid p { margin-top: 1.5rem; color: var(--muted); font-size: .92rem; }
.status-note { display: grid; grid-template-columns: 250px 1fr; gap: 1.5rem; margin-top: 1rem; padding: 1.2rem; border-left: 4px solid var(--orange); background: #fff8ed; }
.status-note strong { color: var(--teal); }
.status-note span { color: var(--muted); }
.legal-note { margin-top: 1rem; padding: 1.2rem; color: #f5e7db; background: var(--teal-deep); }

.verification { color: white; background: #102f35; }
.verification .section-heading p { color: #c6d6d4; }
.identity-panel { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.6fr); gap: 2rem; padding: 1.6rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.055); }
.identity-intro h3 { margin: 2.2rem 0 .5rem; font: 600 1.7rem Georgia, serif; }
.identity-intro p { color: #c5d5d3; }
.identity-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
.identity-facts div { min-width: 0; padding: 1rem; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.identity-facts dt { color: #f2aa7b; font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.identity-facts dd { margin: .3rem 0 0; overflow-wrap: anywhere; font-weight: 750; }
.verification-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.verification-card { display: flex; flex-direction: column; min-height: 230px; padding: 1.3rem; border: 1px solid rgba(255,255,255,.17); background: #173e44; }
.verification-card.registry-card { background: #f6eee2; color: var(--ink); }
.verification-card h3 { margin: auto 0 .55rem; font: 600 1.35rem Georgia, serif; }
.verification-card p { color: #c3d4d1; font-size: .9rem; }
.verification-card.registry-card p { color: var(--muted); }
.verification-card a { color: #f3ac7e; font-size: .88rem; font-weight: 800; }
.verification-card.registry-card a { color: var(--teal); }
.controlled-note { display: grid; grid-template-columns: 220px 1fr; gap: 1.5rem; margin-top: 1rem; padding: 1.3rem; color: var(--ink); background: #f5b47f; }
.controlled-note span { color: #453b34; }

.sources { background: var(--white); }
.source-list { border-top: 1px solid var(--line); }
.source-list a { display: flex; justify-content: space-between; gap: 2rem; padding: 1rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.source-list a:hover span { color: var(--orange); }
.source-list span { font-weight: 800; }
.source-list small { color: var(--muted); text-align: right; }
.source-note { max-width: 900px; margin-top: 1.5rem; color: var(--muted); font-size: .78rem; }

footer { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 2rem clamp(1.2rem, 7vw, 8rem); color: #c9d8d5; background: #061f25; font-size: .78rem; }
footer strong, footer span { display: block; }
footer a { color: #f0a677; }
.compact-bar { grid-template-columns: 1fr auto; }
.return-link { justify-self: end; color: #f0a677; font-weight: 750; text-decoration: none; }
.verification-index { background: var(--paper); }
.verification-hero { padding: clamp(4rem, 8vw, 7rem) clamp(1.2rem, 7vw, 8rem); color: white; background: linear-gradient(120deg, #082e36, #0c515b); }
.verification-hero h1 { margin-bottom: 1rem; }
.verification-sheet { padding-top: clamp(2.4rem, 5vw, 4rem); }
.light-panel { color: var(--ink); border-color: var(--line); background: var(--white); }
.light-panel .identity-intro p { color: var(--muted); }
.light-panel .identity-intro h2 { margin: 2rem 0 .5rem; font: 500 2rem Georgia, serif; }
.light-facts { border-color: var(--line); }
.light-facts div { border-color: var(--line); }
.verification-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.verification-links article { display: flex; flex-direction: column; min-height: 210px; padding: 1.3rem; border: 1px solid var(--line); background: var(--white); }
.verification-links h3 { margin: auto 0 .5rem; font: 600 1.3rem Georgia, serif; }
.verification-links p { color: var(--muted); font-size: .9rem; }
.verification-links a { color: var(--teal); font-weight: 800; }
.index-boundary { background: #f5b47f; }
.toast { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 30; transform: translateY(20px); opacity: 0; padding: .7rem 1rem; color: white; background: #173d43; border-radius: .3rem; box-shadow: var(--shadow); transition: .2s ease; pointer-events: none; }
.toast.show { transform: none; opacity: 1; }
[data-search].search-hidden { display: none !important; }

@media (max-width: 980px) {
  .topbar { grid-template-columns: 1fr auto; }
  nav { display: none; }
  .masthead { grid-template-columns: 1fr; min-height: auto; }
  .pulse, .triage-grid, .pack-grid { grid-template-columns: repeat(2, 1fr); }
  .template-grid, .guardrail-grid, .role-grid, .verification-grid, .verification-links { grid-template-columns: repeat(2, 1fr); }
  .identity-panel { grid-template-columns: 1fr; }
  .role-grid article:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.16); }
  .role-grid article:nth-child(2n) { border-right: 0; }
  .role-grid article:nth-last-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .role-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .guardrail-grid article:nth-child(3n) { border-right: 1px solid var(--line); }
  .guardrail-grid article:nth-child(2n) { border-right: 0; }
}

@media (max-width: 640px) {
  .topbar { gap: .8rem; padding: .7rem 1rem; }
  .search-panel { top: 3.5rem; padding: .8rem 1rem; }
  .search-panel label { display: none; }
  .search-panel input { margin: 0; }
  h1 { font-size: 3.1rem; }
  .pulse, .triage-grid, .pack-grid, .template-grid, .guardrail-grid, .role-grid, .verification-grid, .verification-links, .identity-facts { grid-template-columns: 1fr; }
  .pulse article, .pulse article:first-child { border-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .decision-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .workflow-list li { grid-template-columns: 1fr; gap: .5rem; }
  .role-grid article, .role-grid article:nth-child(2n), .role-grid article:nth-child(3n) { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .role-grid article:last-child { border-bottom: 0; }
  .handoff-rule { grid-template-columns: 1fr; gap: .5rem; }
  .controlled-note, .status-note { grid-template-columns: 1fr; gap: .5rem; }
  .source-list a, .row-heading, footer { align-items: flex-start; flex-direction: column; }
  .source-list small { text-align: left; }
}

@media print {
  .topbar, .search-panel, .actions, .copy-button, footer { display: none !important; }
  .masthead { min-height: 0; color: black; background: white; padding-top: 2rem; }
  .masthead p { color: #333; }
  .section { break-inside: avoid; padding: 2rem; }
}
