@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root {
  --color-navy: #071d33;
  --color-navy-light: #0d2947;
  --color-gold: #f2c94c;
  --color-gold-dark: #755700;
  --color-paper: #f5f5f2;
  --color-charcoal: #171a1d;
  --font-serif: 'Libre Baskerville', Georgia, serif;
  --font-sans: 'Inter', Arial, sans-serif;
  color: var(--color-charcoal);
  font-family: var(--font-sans);
  background: white;
  font-synthesis: none;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; font-size: 16px; }
h1, h2, h3, h4 { font-family: var(--font-serif); text-wrap: balance; }
button, a, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
p { line-height: 1.75; }
::selection { background: var(--color-gold); color: var(--color-navy); }
:focus-visible { outline: 3px solid var(--color-gold-dark); outline-offset: 3px; }

.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 100; padding: 12px 16px; background: var(--color-gold); color: var(--color-navy); font-size: 13px; font-weight: 700; transform: translateY(-150%); transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
.utility { background: var(--color-navy); color: white; border-bottom: 1px solid rgba(255,255,255,.14); }
.utility__inner { height: 29px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; letter-spacing: .12em; font-weight: 700; opacity: .9; }
.site-header { position: sticky; top: 0; z-index: 50; background: white; border-bottom: 1px solid #d8d8d3; box-shadow: 0 2px 12px rgba(7,29,51,.05); }
.header__inner { height: 83px; display: flex; align-items: center; gap: 30px; }
.brand { display: flex; align-items: center; gap: 11px; min-width: 198px; }
.brand__seal { width: 55px; height: 55px; object-fit: contain; flex: 0 0 auto; }
.brand strong { display: block; color: var(--color-navy); font-family: var(--font-serif); font-size: 18px; line-height: 1; letter-spacing: .05em; }
.brand small { display: block; margin-top: 6px; color: #444a4e; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.main-nav { display: flex; align-items: stretch; align-self: stretch; justify-content: center; flex: 1; }
.main-nav a { display: grid; place-items: center; position: relative; padding: 0 10px; color: #30373d; font-size: 13px; font-weight: 600; white-space: nowrap; }
.main-nav a:after { position: absolute; left: 10px; right: 10px; bottom: 0; height: 3px; background: var(--color-gold); content: ''; transform: scaleX(0); transition: transform .2s ease; }
.main-nav a:hover:after, .main-nav a.active:after { transform: scaleX(1); }
.main-nav a.active { color: var(--color-navy); }
.main-nav .mobile-verification { display: none; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 45px; padding: 0 18px; border: 1px solid transparent; font-size: 11px; line-height: 1.2; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; transition: all .2s ease; }
.button--gold { background: var(--color-gold); color: var(--color-navy); border-color: var(--color-gold); }
.button--gold:hover { background: white; border-color: white; }
.header__inner > .button { min-height: 44px; padding-inline: 13px; font-size: 10px; }
.button--outline { color: white; border-color: rgba(255,255,255,.6); }
.button--outline:hover { background: white; color: var(--color-navy); }
.button--navy { background: var(--color-navy); color: white; }
.button--navy:hover { background: var(--color-navy-light); }
.button--text { padding-inline: 0; color: var(--color-navy); }
.menu-button { display: none; background: none; border: 0; color: var(--color-navy); }
.page-hero { position: relative; overflow: hidden; background: var(--color-navy); color: white; border-bottom: 5px solid var(--color-gold); }
.page-hero:before { position: absolute; inset: 0; content: ''; opacity: .13; background-image: linear-gradient(90deg, transparent 49.8%, white 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, white 50%, transparent 50.2%); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent 25%, black); -webkit-mask-image: linear-gradient(to right, transparent 25%, black); }
.page-hero__mark { position: absolute; right: 2%; top: 50%; width: min(38vw, 470px); height: min(38vw, 470px); transform: translateY(-50%); object-fit: contain; opacity: .045; filter: grayscale(1); }
.page-hero__content { position: relative; z-index: 1; padding-block: 78px 82px; }
.page-hero__content .eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; color: var(--color-gold); font-size: 12px; line-height: 1.6; letter-spacing: .13em; font-weight: 700; }
.page-hero__content .eyebrow:before { width: 32px; height: 2px; background: var(--color-gold); content: ''; }
.page-hero h1 { max-width: 950px; margin: 0; font-size: clamp(42px, 5.3vw, 71px); line-height: 1.08; letter-spacing: -.04em; font-weight: 700; }
.page-hero p { max-width: 780px; margin: 26px 0 0; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.8; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.hero-reference { display: flex; align-items: center; gap: 15px; width: fit-content; margin-top: 45px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); font-size: 10px; letter-spacing: .08em; }
.hero-reference span { color: var(--color-gold); font-weight: 700; }
.hero-reference strong { padding-right: 16px; font-size: 11px; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); background: white; box-shadow: 0 8px 35px rgba(7,29,51,.12); transform: translateY(-1px); position: relative; z-index: 2; }
.metrics div { padding: 26px 28px; border-right: 1px solid #deded9; }
.metrics div:last-child { border: 0; }
.metrics strong { display: block; color: var(--color-navy); font-family: var(--font-serif); font-size: 22px; }
.metrics span { display: block; margin-top: 6px; color: #4e5356; font-size: 12px; line-height: 1.5; letter-spacing: .05em; text-transform: uppercase; }
.section { padding-block: 100px; }
.section--tight { padding-block: 62px; }
.section--paper { background: var(--color-paper); }
.section--navy { background: var(--color-navy); color: white; }
.section-title { max-width: 690px; margin-bottom: 48px; }
.section-title > span, .accountability span, .statement span, .section-number { display: block; margin-bottom: 14px; color: var(--color-gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.section--navy .section-number { color: var(--color-gold); }
.section-title h2, .accountability h2 { margin: 0; color: var(--color-navy); font-size: clamp(31px, 4vw, 45px); line-height: 1.18; letter-spacing: -.035em; }
.section-title p { margin: 17px 0 0; color: #5a5e61; font-size: 15px; }
.legal-alert { display: grid; grid-template-columns: 1fr auto; gap: 18px 50px; padding: 36px 40px; border-top: 4px solid var(--color-gold); background: var(--color-paper); box-shadow: inset 0 0 0 1px #d5d5d0; }
.legal-alert__label { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; color: var(--color-navy); font-size: 12px; letter-spacing: .11em; text-transform: uppercase; font-weight: 700; }
.legal-alert h2 { margin: 0 0 9px; color: var(--color-navy); font-size: 28px; }
.legal-alert p { max-width: 790px; margin: 0; color: #4a4e51; font-size: 14px; }
.legal-alert .button { align-self: center; }
.testimony-grid, .pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.quote-card { min-height: 330px; padding: 34px; background: white; border: 1px solid #deded8; display: flex; flex-direction: column; }
.quote-mark { color: var(--color-gold); font-family: var(--font-serif); font-size: 64px; line-height: .8; }
.quote-card blockquote { margin: 21px 0 30px; color: var(--color-navy); font-family: var(--font-serif); font-size: 19px; line-height: 1.6; }
.quote-card > div { margin-top: auto; padding-top: 18px; border-top: 1px solid #ddd; }
.quote-card strong, .quote-card small { display: block; }
.quote-card strong { color: var(--color-navy); font-size: 11px; }
.quote-card small { margin-top: 7px; color: #4e5356; font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .05em; }
.pillar { position: relative; min-height: 300px; padding: 34px; border: 1px solid #d7d7d2; transition: transform .2s ease, box-shadow .2s ease; }
.pillar:hover { transform: translateY(-5px); box-shadow: 0 16px 35px rgba(7,29,51,.1); }
.pillar__top { display: flex; justify-content: space-between; color: var(--color-navy); }
.pillar__top span { color: var(--color-gold-dark); font-family: var(--font-serif); font-size: 13px; font-weight: 700; }
.pillar h3 { margin: 48px 0 13px; color: var(--color-navy); font-size: 23px; line-height: 1.3; }
.pillar p { color: #5a5e61; font-size: 13px; }
.pillar a, .directorate-grid a, .accordion a { display: flex; align-items: center; gap: 8px; width: fit-content; min-height: 44px; margin-top: 12px; color: var(--color-navy); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.statement { padding-block: 61px; background: var(--color-navy); color: white; margin-bottom: 0px; }
.statement__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.statement h2 { margin: 0; font-size: clamp(29px, 3.5vw, 42px); }
.statement span { color: var(--color-gold); }
.split-editorial { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.prose { max-width: 670px; }
.prose p { color: #444a4e; font-size: 15px; }
.prose .lead, .legal-document .lead { margin-top: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: 21px; line-height: 1.65; }
.citation { margin: 35px 0; padding: 22px 25px; border-left: 4px solid var(--color-gold); background: var(--color-paper); }
.citation span, .citation strong { display: block; }
.citation span { margin-bottom: 6px; color: var(--color-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .09em; }
.citation strong { color: var(--color-navy); font-family: var(--font-serif); font-size: 14px; }
.self-exclusion { max-width: 1040px; }
.self-exclusion blockquote { margin: 28px 0; max-width: 980px; font-family: var(--font-serif); font-size: clamp(28px, 4vw, 46px); line-height: 1.45; letter-spacing: -.03em; }
.self-exclusion p { max-width: 680px; color: rgba(255,255,255,.7); }
.gold-rule { width: 130px; height: 4px; margin-top: 36px; background: var(--color-gold); }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 30px 0; padding: 0; list-style: none; color: var(--color-navy); font-size: 12px; font-weight: 600; }
.check-list li { display: flex; gap: 9px; align-items: center; }
.check-list .icon { color: var(--color-gold-dark); }
.org-chart { padding: 55px; background: var(--color-paper); border: 1px solid #d8d8d3; }
.org-node { position: relative; display: flex; flex-direction: column; align-items: center; min-height: 190px; padding: 28px; text-align: center; background: white; border: 1px solid #d4d4cf; color: var(--color-navy); }
.org-node--top { width: min(500px, 100%); min-height: 150px; margin: auto; background: var(--color-navy); color: white; border-top: 4px solid var(--color-gold); }
.org-node small { margin: 15px 0 10px; color: var(--color-gold-dark); font-size: 11px; letter-spacing: .09em; font-weight: 700; }
.org-node strong { font-family: var(--font-serif); font-size: 22px; }
.org-node span { margin-top: 8px; color: #707477; font-size: 11px; }
.org-node--top span { color: rgba(255,255,255,.65); }
.org-line { width: 1px; height: 50px; margin: auto; background: var(--color-navy); }
.org-branches { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.org-branches:before { position: absolute; top: -1px; left: 25%; right: 25%; height: 1px; content: ''; background: var(--color-navy); transform: translateY(-1px); }
.org-branches .org-node:before { position: absolute; top: -51px; width: 1px; height: 50px; content: ''; background: var(--color-navy); }
.org-node > a { display: flex; gap: 8px; align-items: center; min-height: 44px; margin-top: 12px; color: var(--color-navy); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.directorate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.directorate-grid article { padding: 33px; background: white; border: 1px solid #deded9; }
.directorate-grid article > div { display: flex; justify-content: space-between; color: var(--color-navy); }
.directorate-grid article > div span { color: var(--color-gold-dark); font-family: var(--font-serif); font-weight: 700; }
.directorate-grid h3 { margin: 30px 0 9px; color: var(--color-navy); font-size: 21px; }
.directorate-grid p { color: #5a5e61; font-size: 13px; }
.accountability { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.accountability p { padding-left: 35px; border-left: 3px solid var(--color-gold); color: #555b5e; font-size: 15px; }
.constitutional { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.legal-index { padding: 24px; border-left: 3px solid var(--color-gold); background: var(--color-paper); }
.legal-index span, .legal-index strong { display: block; }
.legal-index span { margin-bottom: 8px; color: var(--color-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.legal-index strong { color: var(--color-navy); font-family: var(--font-serif); font-size: 13px; line-height: 1.6; }
.accordion article { border-top: 1px solid #cfcfca; }
.accordion article:last-child { border-bottom: 1px solid #cfcfca; }
.accordion button { width: 100%; display: grid; grid-template-columns: 120px 1fr auto; align-items: center; gap: 20px; padding: 25px 0; border: 0; background: none; text-align: left; color: var(--color-navy); }
.accordion button span { color: var(--color-gold-dark); font-size: 11px; font-weight: 700; }
.accordion button strong { font-family: var(--font-serif); font-size: 17px; }
.accordion button i { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ccc; transition: transform .2s ease; }
.accordion .open button i { transform: rotate(180deg); background: var(--color-gold); border-color: var(--color-gold); }
.accordion article > div { padding: 0 54px 28px 140px; }
.accordion p { margin: 0; color: #565b5e; font-size: 13px; }
[hidden] { display: none !important; }
.human-cost { background: var(--color-navy); color: white; }
.human-cost .section-title h2 { color: white; }
.cost-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(255,255,255,.23); }
.cost-grid div { padding: 39px; border-right: 1px solid rgba(255,255,255,.23); }
.cost-grid div:last-child { border: 0; }
.cost-grid strong { display: block; color: var(--color-gold); font-family: var(--font-serif); font-size: 44px; }
.cost-grid span { display: block; margin-top: 11px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.6; }
.source-note { color: rgba(255,255,255,.72); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); }
.timeline article { position: relative; padding: 0 27px 20px 0; border-top: 2px solid var(--color-navy); }
.timeline__marker { height: 39px; margin-top: -20px; display: flex; align-items: center; }
.timeline__marker span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; background: var(--color-navy); color: white; border: 6px solid white; outline: 2px solid var(--color-navy); font-size: 11px; font-weight: 700; }
.timeline article:last-child { border-color: var(--color-gold-dark); }
.timeline article:last-child .timeline__marker span { background: var(--color-gold); color: var(--color-navy); outline-color: var(--color-gold-dark); }
.timeline small { display: block; margin-top: 28px; color: var(--color-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.timeline h3 { margin: 11px 0; color: var(--color-navy); font-size: 20px; }
.timeline p { color: #5a5e61; font-size: 12px; }
.escrow { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.escrow > div > p { color: #575c60; font-size: 14px; }
.escrow-tags { display: flex; align-items: center; gap: 20px; margin-top: 30px; }
.escrow-tags > span { min-width: 145px; padding: 15px; background: var(--color-navy); color: white; font-size: 11px; font-weight: 700; }
.escrow-tags small { color: rgba(255,255,255,.78); font-size: 11px; font-weight: 400; }
.allocation { display: flex; align-items: center; gap: 35px; }
.donut { position: relative; flex: 0 0 230px; height: 230px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--color-gold) 0 60%, var(--color-navy) 60% 100%); box-shadow: 0 0 0 1px #ccc; }
.donut:before { content: ''; position: absolute; width: 144px; height: 144px; border-radius: 50%; background: var(--color-paper); }
.donut > div { position: relative; z-index: 1; text-align: center; }
.donut strong, .donut span { display: block; color: var(--color-navy); }
.donut strong { font-family: var(--font-serif); font-size: 32px; }
.donut span { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.allocation__legend > div { display: flex; gap: 12px; margin: 19px 0; }
.allocation__legend i { flex: 0 0 10px; height: 10px; margin-top: 6px; background: var(--color-gold); }
.allocation__legend > div:last-child i { background: var(--color-navy); }
.allocation__legend p, .allocation__legend strong, .allocation__legend small { display: block; margin: 0; }
.allocation__legend strong { color: var(--color-navy); font-family: var(--font-serif); font-size: 19px; }
.allocation__legend p { color: var(--color-navy); font-size: 11px; font-weight: 600; line-height: 1.5; }
.allocation__legend small { margin-top: 5px; color: #4e5356; font-size: 11px; font-weight: 400; }
.publication-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.filters { display: flex; margin-bottom: 48px; border-bottom: 1px solid #ccc; }
.filters button { min-height: 44px; padding: 11px 14px; border: 0; border-bottom: 3px solid transparent; background: none; color: #4e5356; font-size: 12px; font-weight: 600; white-space: nowrap; }
.filters button.active { border-color: var(--color-gold-dark); color: var(--color-navy); }
.document-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.document-card { padding: 34px; border: 1px solid #d7d7d2; display: flex; flex-direction: column; min-height: 420px; }
.document-card__top { display: flex; align-items: center; gap: 14px; }
.doc-icon { width: 51px; height: 59px; display: grid; place-items: center; color: var(--color-navy); background: var(--color-paper); border: 1px solid #ddd; border-top: 3px solid var(--color-gold); }
.document-card__top span, .document-card__top small { display: block; }
.document-card__top span { color: var(--color-gold-dark); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.document-card__top small { margin-top: 5px; color: #4e5356; font-size: 11px; }
.document-card h3 { margin: 27px 0 11px; color: var(--color-navy); font-size: 23px; }
.document-card > p { color: #5a5e61; font-size: 13px; }
.document-meta { display: grid; grid-template-columns: auto 1fr; gap: 7px 18px; margin-top: auto; padding-top: 21px; border-top: 1px solid #ddd; font-size: 11px; }
.document-meta span { color: #777; letter-spacing: .08em; }
.document-meta strong { color: var(--color-navy); }
.document-actions { display: flex; gap: 22px; align-items: center; margin-top: 22px; }
.document-actions button { display: flex; gap: 7px; align-items: center; min-height: 44px; padding: 11px 14px; border: 0; background: var(--color-navy); color: white; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.document-actions a { display: flex; gap: 7px; align-items: center; min-height: 44px; color: var(--color-navy); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.registry-note { display: flex; align-items: center; gap: 18px; margin-top: 30px; padding: 24px 28px; background: var(--color-paper); border-left: 4px solid var(--color-gold); color: var(--color-navy); }
.registry-note p { flex: 1; margin: 0; }
.registry-note strong, .registry-note span { display: block; }
.registry-note strong { font-family: var(--font-serif); font-size: 14px; }
.registry-note span { color: #686c6e; font-size: 11px; }
.registry-note a { min-height: 44px; display: flex; align-items: center; font-size: 11px; font-weight: 700; text-transform: uppercase; text-decoration: underline; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.contact-block { display: flex; gap: 18px; padding: 23px 0; border-top: 1px solid #d9d9d4; color: var(--color-navy); }
.contact-block:last-of-type { border-bottom: 1px solid #d9d9d4; }
.contact-block span { display: block; margin-bottom: 7px; color: var(--color-gold-dark); font-size: 11px; letter-spacing: .08em; font-weight: 700; }
.contact-block a { font-family: var(--font-serif); font-size: 15px; font-weight: 700; }
.contact-block p { margin: 0; font-family: var(--font-serif); font-size: 14px; line-height: 1.6; }
.contact-block small { display: block; margin-top: 5px; color: #4e5356; font-size: 11px; }
.secure-note { display: flex; gap: 13px; margin-top: 28px; padding: 20px; background: var(--color-paper); color: var(--color-navy); }
.secure-note p { margin: 0; color: #555; font-size: 11px; line-height: 1.6; }
.secure-note strong { display: block; color: var(--color-navy); }
.contact-form-wrap { padding: 38px; background: var(--color-paper); border-top: 4px solid var(--color-gold); }
.form-heading { display: flex; justify-content: space-between; margin-bottom: 28px; font-size: 11px; letter-spacing: .07em; }
.form-heading span { color: var(--color-navy); font-weight: 700; }
.form-heading strong { color: #707477; font-weight: 500; }
.contact-form label { display: block; margin-bottom: 18px; color: var(--color-navy); font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 24px; margin-top: 12px; margin-right: 12px; padding: 14px 15px; border: 1px solid #707477; border-radius: 0; background: white; color: var(--color-charcoal); font-size: 14px; font-weight: 400; outline: none; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--color-navy); box-shadow: 0 0 0 2px var(--color-gold); }
.contact-form textarea { resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-form .consent { display: flex; align-items: start; gap: 10px; color: #555; line-height: 1.5; font-weight: 400; }
.contact-form .consent input { width: 15px; height: 15px; margin: 1px 0 0; accent-color: var(--color-navy); }
.submit-button, .success-message button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 20px; border: 0; background: var(--color-navy); color: white; text-transform: uppercase; letter-spacing: .06em; font-size: 12px; font-weight: 700; }
.success-message { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.success-message > div { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; background: var(--color-gold); color: var(--color-navy); }
.success-message h2 { margin: 25px 0 8px; color: var(--color-navy); font-size: 30px; }
.success-message p { max-width: 400px; color: #555; font-size: 13px; }
.success-message button { margin-top: 15px; }
.legal-layout { display: grid; grid-template-columns: 290px 1fr; align-items: start; gap: 70px; padding-block: 80px 110px; }
.legal-layout aside { position: sticky; top: 30px; padding: 28px; background: var(--color-navy); color: white; }
.legal-layout aside > span { display: block; margin-bottom: 18px; color: var(--color-gold); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.legal-layout aside > a { display: flex; gap: 12px; min-height: 16px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.9); font-size: 12px; line-height: 1.5; }
.legal-layout aside > a i { color: var(--color-gold); font-style: normal; font-size: 11px; }
.legal-layout aside > div { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--color-gold); }
.legal-layout aside small, .legal-layout aside strong { display: block; }
.legal-layout aside small { color: rgba(255,255,255,.76); font-size: 11px; letter-spacing: .08em; }
.legal-layout aside strong { margin-top: 5px; font-size: 11px; }
.legal-document { max-width: 760px; }
.legal-document__meta { display: flex; justify-content: space-between; margin-bottom: 36px; padding-bottom: 15px; border-bottom: 1px solid #ccc; color: #4e5356; font-size: 11px; letter-spacing: .08em; }
.legal-document > section { display: grid; grid-template-columns: 36px 1fr; gap: 22px; padding-block: 36px; border-top: 1px solid #d8d8d3; scroll-margin-top: 30px; }
.legal-document > section > span { color: var(--color-gold-dark); font-family: var(--font-serif); font-weight: 700; }
.legal-document h2 { margin: 0 0 13px; color: var(--color-navy); font-size: 25px; }
.legal-document section p { margin: 0; color: #4e5356; font-size: 14px; }
.verification-box { display: flex; gap: 15px; margin-top: 24px; padding: 20px; background: var(--color-paper); border-left: 3px solid var(--color-gold); color: var(--color-navy); }
.verification-box p { font-size: 11px !important; }
.verification-box strong { display: block; color: var(--color-navy); }
.not-found { min-height: 65vh; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.not-found > span { color: var(--color-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.not-found h1 { margin: 12px 0; color: var(--color-navy); font-size: 55px; }
.not-found p { margin-bottom: 28px; color: #666; }
.footer { padding-top: 70px; background: var(--color-navy); color: white; }
.footer .brand strong { color: white; }
.footer .brand small { color: rgba(255,255,255,.58); }
.footer__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; }
.footer__intro p { max-width: 320px; margin-top: 25px; color: rgba(255,255,255,.76); font-size: 13px; }
.footer__top h3 { margin: 4px 0 19px; color: var(--color-gold); font-family: var(--font-sans); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.footer__top > div > a { display: flex; align-items: center; min-height: 36px; color: rgba(255,255,255,.84); font-size: 12px; }
.footer__top > div > a:hover { color: white; }
.verification { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-top: 60px; padding-block: 24px; border-block: 1px solid rgba(255,255,255,.18); }
.verification > .icon { color: var(--color-gold); }
.verification strong { display: block; color: var(--color-gold); font-size: 11px; letter-spacing: .1em; }
.verification p { margin: 5px 0 0; max-width: 760px; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.6; }
.verification .button { min-height: 44px; font-size: 10px; }
.footer__bottom { display: flex; justify-content: space-between; padding-block: 26px; color: rgba(255,255,255,.72); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }

@media (max-width: 1050px) {
  .header__inner { gap: 18px; }
  .main-nav a { padding-inline: 6px; font-size: 11px; }
  .header__inner > .button { display: none; }
  .escrow { gap: 45px; }
  .allocation { flex-direction: column; }
}

@media (max-width: 820px) {
  .shell { width: min(100% - 32px, 680px); }
  .utility { display: none; }
  .header__inner { height: 70px; justify-content: space-between; }
  .brand__seal { width: 47px; height: 47px; }
  .menu-button { display: block; padding: 7px; }
  .main-nav { position: absolute; display: none; left: 0; right: 0; top: 70px; padding: 10px 16px 20px; background: white; border-bottom: 4px solid var(--color-gold); box-shadow: 0 15px 30px rgba(7,29,51,.18); }
  .main-nav.is-open { display: block; }
  .main-nav a { display: flex; align-items: center; min-height: 48px; padding: 10px 5px; border-bottom: 1px solid #e3e3df; font-size: 13px; }
  .main-nav a:after { display: none; }
  .main-nav .mobile-verification { display: flex; gap: 8px; margin-top: 10px; padding-inline: 14px; background: var(--color-gold); color: var(--color-navy); border: 0; }
  .page-hero__content { padding-block: 60px; }
  .page-hero h1 { font-size: clamp(37px, 9vw, 55px); }
  .metrics { grid-template-columns: 1fr 1fr; }
  .metrics div:nth-child(2) { border-right: 0; }
  .metrics div:nth-child(-n+2) { border-bottom: 1px solid #deded9; }
  .section { padding-block: 75px; }
  .testimony-grid, .pillar-grid { grid-template-columns: 1fr; }
  .quote-card { min-height: 280px; }
  .legal-alert { grid-template-columns: 1fr; }
  .legal-alert__label { grid-column: auto; }
  .split-editorial, .constitutional, .escrow, .contact-layout { grid-template-columns: 1fr; gap: 45px; }
  .section-title { margin-bottom: 34px; }
  .org-chart { padding: 35px 25px; }
  .org-branches { gap: 25px; }
  .directorate-grid { grid-template-columns: 1fr; }
  .accountability { grid-template-columns: 1fr; gap: 25px; }
  .accountability p { margin: 0; }
  .timeline { grid-template-columns: 1fr 1fr; gap: 50px 0; }
  .publication-head { display: block; }
  .filters { overflow-x: auto; }
  .document-grid { grid-template-columns: 1fr; }
  .legal-layout { grid-template-columns: 220px 1fr; gap: 35px; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__intro { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 560px) {
  .shell { width: calc(100% - 28px); }
  .brand small { display: none; }
  .page-hero__content .eyebrow { line-height: 1.6; }
  .page-hero__mark { width: 260px; height: 260px; right: -70px; }
  .page-hero p { font-size: 14px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-reference { display: grid; grid-template-columns: auto 1fr; }
  .metrics { width: 100%; }
  .metrics div { padding: 21px 18px; }
  .metrics strong { font-size: 18px; }
  .legal-alert { padding: 27px 23px; }
  .statement__inner { align-items: start; flex-direction: column; }
  .check-list { grid-template-columns: 1fr; }
  .org-branches { grid-template-columns: 1fr; gap: 62px; }
  .org-branches:before { display: none; }
  .org-branches .org-node:before { top: -63px; height: 62px; }
  .accordion button { grid-template-columns: 90px 1fr auto; gap: 10px; }
  .accordion article > div { padding-left: 100px; }
  .cost-grid { grid-template-columns: 1fr; }
  .cost-grid div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.23); }
  .timeline { grid-template-columns: 1fr; gap: 42px; }
  .timeline article { border-top: 0; border-left: 2px solid var(--color-navy); padding: 0 0 15px 30px; }
  .timeline__marker { position: absolute; left: -20px; top: 0; margin: 0; }
  .timeline small { margin-top: 0; }
  .allocation { align-items: start; }
  .donut { align-self: center; flex-basis: 220px; width: 220px; }
  .document-card { padding: 25px; }
  .registry-note { align-items: start; flex-wrap: wrap; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form-wrap { padding: 27px 20px; }
  .legal-layout { display: block; padding-block: 45px 70px; }
  .legal-layout aside { position: static; margin-bottom: 42px; }
  .legal-document > section { grid-template-columns: 25px 1fr; gap: 12px; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 45px 30px; }
  .footer__intro { grid-column: 1 / -1; }
  .verification { grid-template-columns: auto 1fr; }
  .verification .button { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; gap: 9px; }
}

/* Sovereign dossier layout */
.page-hero {
  display: grid;
  grid-template-columns: minmax(150px, 12vw) 1fr;
  min-height: 540px;
  background: white;
  color: var(--color-navy);
  border-bottom: 1px solid #d8d8d3;
  border-left: 8px solid var(--color-gold);
}
.page-hero:before {
  opacity: .2;
  background-image: linear-gradient(90deg, transparent 49.8%, var(--color-navy) 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, var(--color-navy) 50%, transparent 50.2%);
  background-size: 72px 72px;
  mask-image: linear-gradient(to left, black, transparent 75%);
}
.page-hero__folio {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 45px 26px;
  background: var(--color-navy);
  color: white;
  border-right: 1px solid var(--color-gold);
}
.page-hero__folio span,
.page-hero__folio small {
  font-size: 9px;
  line-height: 1.55;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.page-hero__folio span { color: var(--color-gold); font-weight: 700; }
.page-hero__folio small { color: rgba(255,255,255,.62); }
.page-hero__folio strong {
  font-family: var(--font-serif);
  font-size: 16px;
  letter-spacing: .03em;
}
.page-hero__folio i {
  width: 1px;
  height: 76px;
  margin-block: 4px;
  background: var(--color-gold);
}
.page-hero__content {
  align-self: center;
  width: min(100% - 72px, 1040px);
  margin: 0;
  padding: 82px 0 78px 64px;
}
.page-hero__content .eyebrow { color: var(--color-gold-dark); }
.page-hero__content .eyebrow:before { background: var(--color-gold-dark); }
.page-hero h1 {
  max-width: 920px;
  color: var(--color-navy);
  font-size: clamp(45px, 5vw, 72px);
  line-height: 1.11;
}
.page-hero p { color: #444a4e; }
.page-hero .button--outline { color: var(--color-navy); border-color: var(--color-navy); }
.page-hero .button--outline:hover { background: var(--color-navy); color: white; }
.page-hero__mark {
  right: 1.5%;
  width: min(33vw, 430px);
  height: min(33vw, 430px);
  opacity: .035;
  filter: none;
}
.hero-reference { border-color: #d8d8d3; }
.hero-reference strong { color: var(--color-navy); }
.metrics {
  width: 100%;
  box-shadow: none;
  border-bottom: 1px solid #d8d8d3;
}
.metrics div {
  position: relative;
  padding-block: 31px;
}
.metrics div:before {
  position: absolute;
  left: 28px;
  top: 0;
  width: 38px;
  height: 4px;
  background: var(--color-gold);
  content: '';
}
.quote-card,
.pillar,
.directorate-grid article,
.document-card {
  border-top: 4px solid var(--color-navy);
}
.pillar:hover { box-shadow: none; border-top-color: var(--color-gold-dark); }
.section--paper {
  background-color: var(--color-paper);
  background-image: linear-gradient(90deg, rgba(7,29,51,.035) 1px, transparent 1px);
  background-size: 84px 100%;
}

@media (max-width: 1180px) {
  .page-hero { grid-template-columns: 105px 1fr; min-height: 500px; }
  .page-hero__folio { padding: 34px 20px; }
  .page-hero__content { width: min(100% - 50px, 900px); padding-left: 42px; }
}

@media (max-width: 820px) {
  .page-hero {
    display: block;
    min-height: 0;
    border-left-width: 5px;
  }
  .page-hero__folio { display: none; }
  .page-hero__content {
    width: calc(100% - 32px);
    margin-inline: auto;
    padding: 64px 0;
  }
  .page-hero h1 { font-size: clamp(38px, 9vw, 56px); }
  .page-hero__mark { right: -60px; width: 300px; height: 300px; }
}

@media (max-width: 560px) {
  .page-hero__content { width: calc(100% - 28px); padding-block: 52px; }
  .metrics div:before { left: 18px; }
}

/* Contact Form Fixes */
.contact-form-wrap { 
  padding: 38px; 
  background: var(--color-paper); 
  border-top: 4px solid var(--color-gold); 
}

.form-heading { 
  display: flex; 
  justify-content: space-between; 
  margin-bottom: 28px; 
  font-size: 11px; 
  letter-spacing: .07em; 
}
.form-heading span { color: var(--color-navy); font-weight: 700; }
.form-heading strong { color: #707477; font-weight: 500; }

.contact-form label { 
  display: block; 
  margin-bottom: 18px; 
  color: var(--color-navy); 
  font-size: 12px; 
  font-weight: 700; 
}

/* Fix input, select, and textarea sizing */
.contact-form input:not([type="checkbox"]), 
.contact-form select, 
.contact-form textarea { 
  width: 100%; 
  min-height: 48px; 
  margin-top: 8px; 
  padding: 12px 15px; 
  border: 1px solid #707477; 
  border-radius: 0; 
  background: white; 
  color: var(--color-charcoal); 
  font-size: 14px; 
  font-weight: 400; 
  outline: none;
  box-sizing: border-box; /* Crucial for proper sizing */
}

.contact-form input:focus, 
.contact-form select:focus, 
.contact-form textarea:focus { 
  border-color: var(--color-navy); 
  box-shadow: 0 0 0 2px var(--color-gold); 
}

.contact-form textarea { 
  resize: vertical; 
  min-height: 140px;
}

/* Fix the 2-column row for Email and Organization */
.form-row { 
  display: grid; 
  grid-template-columns: 1fr 1fr; 
  gap: 15px; 
}

/* Fix the checkbox alignment */
.contact-form .consent { 
  display: flex; 
  align-items: center; /* Centers the checkbox with the text vertically */
  gap: 12px; 
  margin-top: 24px;
  margin-bottom: 24px;
  color: #555; 
  line-height: 1.5; 
  font-weight: 400; 
}

.contact-form .consent input { 
  width: 18px; 
  height: 18px; 
  margin: 0; 
  accent-color: var(--color-navy); 
  cursor: pointer;
  flex-shrink: 0; /* Prevents checkbox from squishing */
}

/* Fix Submit Button */
.submit-button { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  gap: 9px; 
  min-height: 48px; 
  padding: 0 24px; 
  border: 0; 
  background: var(--color-navy); 
  color: white; 
  text-transform: uppercase; 
  letter-spacing: .06em; 
  font-size: 12px; 
  font-weight: 700; 
  transition: background .2s ease;
  cursor: pointer;
}

.submit-button:hover {
  background: var(--color-navy-light);
}

@media (max-width: 560px) {
  .form-row { 
    grid-template-columns: 1fr; 
    gap: 0; 
  }
}

/* SEO Breadcrumbs */
.breadcrumb-container {
    padding-top: 20px;
    padding-bottom: 0;
}
.breadcrumb {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #5a5e61;
}
.breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    padding: 0 10px;
    color: #a0a5a8;
}
.breadcrumb-item a {
    color: var(--color-navy);
    text-decoration: none;
    transition: color 0.2s;
}
.breadcrumb-item a:hover {
    color: var(--color-gold-dark);
    text-decoration: underline;
}
.breadcrumb-item.active {
    color: var(--color-gold-dark);
}

/* Hide breadcrumbs on mobile to save space */
@media (max-width: 560px) {
    .breadcrumb-container { display: none; }
}