:root {
  --ink: #19191b;
  --muted: #68656a;
  --paper: #f7f4ef;
  --white: #fffdf9;
  --red: #b90e1c;
  --red-dark: #820d19;
  --orange: #f26a0a;
  --line: #ddd8d0;
  --green: #217547;
  --yellow: #a35b00;
  --shadow: 0 16px 50px rgba(25, 25, 27, .08);
  --radius: 3px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.narrow { max-width: 760px; }
.skip-link { position: absolute; left: -999px; top: 8px; background: var(--orange); color: white; padding: 8px 14px; z-index: 10; }
.skip-link:focus { left: 8px; }
.site-header { background: var(--white); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; }
.nav-wrap { min-height: 154px; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; min-width: 180px; }
.brand img { width: 145px; height: 145px; object-fit: contain; background: white; }
.main-nav { display: flex; align-self: stretch; align-items: center; gap: 23px; flex: 1; }
.main-nav a, .nav-link { color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.main-nav a { height: 100%; display: inline-flex; align-items: center; position: relative; }
.main-nav a.active, .main-nav a:hover, .nav-link:hover { color: var(--red); }
.main-nav a.active::after { content: ""; height: 3px; background: var(--orange); position: absolute; bottom: 0; left: 0; right: 0; }
.nav-actions { display: flex; align-items: center; gap: 15px; white-space: nowrap; }
.menu-toggle { display: none; border: 0; background: none; font-size: 22px; }
.button { border: 1px solid var(--red); background: var(--red); color: white; display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 0 20px; border-radius: var(--radius); font-size: 14px; font-weight: 800; letter-spacing: .01em; transition: .2s ease; }
.button:hover { background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-1px); }
.button-light { background: white; border-color: white; color: var(--red-dark); }
.button-light:hover { background: #ffece2; border-color: #ffece2; }
.button-dark { background: var(--ink); border-color: var(--ink); }
.button-dark:hover { background: #000; border-color: #000; }
.button-outline { background: transparent; color: var(--red); }
.button-outline:hover { color: white; }
.button-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.button-ghost:hover { background: white; border-color: var(--ink); color: var(--ink); }
.button-small { min-height: 36px; padding: 0 13px; font-size: 12px; }
.text-button { color: var(--red); font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 0; }
.text-button span, .resource-link span, .download-link span { color: var(--orange); font-size: 20px; line-height: 1; }
.text-button.light { color: white; }
.text-button.danger { color: var(--red); }
.eyebrow { color: var(--red); font-size: 11px; text-transform: uppercase; letter-spacing: .17em; font-weight: 900; margin: 0 0 14px; }
.eyebrow.light { color: #ffae67; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.06; letter-spacing: -.035em; }
h1 { font-size: clamp(42px, 6vw, 76px); margin-bottom: 22px; }
h2 { font-size: clamp(30px, 4vw, 48px); margin-bottom: 20px; }
h3 { font-size: 24px; margin-bottom: 12px; }
.hero { background: var(--red-dark); color: white; overflow: hidden; position: relative; }
.hero::after { content: ""; position: absolute; width: 45vw; height: 45vw; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; right: -18vw; top: -12vw; box-shadow: 0 0 0 90px rgba(255,255,255,.03), 0 0 0 180px rgba(255,255,255,.02); }
.hero-grid { min-height: 620px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 40px; position: relative; z-index: 1; }
.hero-copy { max-width: 700px; padding: 68px 0; }
.hero-copy h1 { max-width: 720px; }
.hero-lead { color: rgba(255,255,255,.87); font-size: 19px; max-width: 650px; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 32px; }
.hero-note { color: rgba(255,255,255,.65); font-size: 12px; max-width: 620px; margin-top: 23px; }
.hero-mark { min-height: 420px; display: grid; place-items: center; position: relative; }
.hero-card { width: 275px; height: 310px; background: var(--orange); color: white; padding: 31px 28px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 13px 13px 0 rgba(0,0,0,.14); transform: rotate(4deg); }
.hero-card-kicker { font-size: 11px; letter-spacing: .16em; font-weight: 900; }
.hero-card strong { font-size: 47px; line-height: .92; letter-spacing: -.065em; }
.hero-card-line { height: 2px; width: 85px; background: white; }
.hero-card small { font-weight: 800; font-size: 12px; line-height: 1.3; }
.hero-orbit { position: absolute; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.orbit-one { transform: rotate(28deg) scaleX(.6); }
.orbit-two { transform: rotate(-28deg) scaleX(.6); }
.trust-strip { background: var(--ink); color: white; }
.trust-grid { min-height: 135px; display: grid; grid-template-columns: .6fr .6fr .6fr 1.5fr; align-items: center; gap: 30px; }
.trust-grid > div { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.15); }
.trust-grid strong { color: #ff9447; font-size: 31px; line-height: 1; }
.trust-grid span { color: #d1ced0; font-size: 12px; margin-top: 7px; }
.trust-grid p { color: #d1ced0; font-size: 13px; margin: 0; max-width: 340px; }
.section { padding: 105px 0; }
.section-paper { background: #eeebe5; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.intro-grid, .section-heading, .two-col-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.intro-text { font-size: 18px; color: #3c393d; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); margin-top: 75px; }
.pillar { background: var(--paper); padding: 32px; min-height: 240px; }
.pillar-number { color: var(--orange); font-size: 13px; font-weight: 900; }
.pillar h3 { margin-top: 58px; }
.pillar p { color: var(--muted); font-size: 14px; }
.section-heading { align-items: end; margin-bottom: 42px; }
.section-heading > * { margin: 0; }
.section-note { color: var(--muted); font-size: 14px; max-width: 360px; justify-self: end; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.choice-card { padding: 35px; background: white; border-top: 6px solid var(--red); box-shadow: var(--shadow); }
.choice-orange { border-color: var(--orange); }
.choice-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 42px; }
.tag { color: var(--red); font-size: 10px; letter-spacing: .11em; font-weight: 900; text-transform: uppercase; }
.choice-icon { width: 39px; height: 39px; display: grid; place-items: center; background: var(--red); color: white; border-radius: 50%; font-weight: 900; }
.choice-orange .choice-icon { background: var(--orange); }
.choice-card p { color: var(--muted); min-height: 50px; }
.choice-card ul { list-style: none; margin: 28px 0; padding: 0; color: #454148; font-size: 14px; }
.choice-card li { padding: 9px 0 9px 22px; border-top: 1px solid var(--line); position: relative; }
.choice-card li::before { content: ""; background: var(--orange); width: 7px; height: 7px; position: absolute; left: 0; top: 17px; }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 18px; border-top: 1px solid var(--line); padding-top: 27px; }
.timeline > div { min-height: 115px; position: relative; padding-right: 10px; }
.timeline > div::after { content: ""; width: 100%; height: 1px; background: var(--orange); opacity: .5; position: absolute; left: 0; top: -28px; }
.timeline span { display: block; color: var(--orange); font-weight: 900; font-size: 12px; margin-bottom: 23px; }
.timeline strong { display: block; font-size: 16px; }
.timeline small { display: block; color: var(--muted); font-size: 12px; line-height: 1.35; margin-top: 8px; }
.cta-band { background: var(--orange); color: white; padding: 65px 0; }
.cta-grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta-grid h2 { max-width: 650px; margin-bottom: 0; }
.page-hero { background: var(--red-dark); color: white; padding: 80px 0 86px; }
.page-hero h1 { max-width: 820px; }
.page-hero p:not(.eyebrow) { color: rgba(255,255,255,.82); font-size: 18px; }
.page-hero.compact { padding: 55px 0 60px; }
.page-hero-row { display: flex; justify-content: space-between; gap: 45px; align-items: end; }
.status-card { background: white; color: var(--ink); padding: 20px 22px; min-width: 210px; display: flex; flex-direction: column; border-left: 5px solid var(--orange); }
.status-card small, .status-card time { color: var(--muted); font-size: 11px; }
.status-card strong { font-size: 19px; margin: 7px 0 10px; }
.status-dot { height: 10px; width: 10px; border-radius: 50%; display: block; margin-bottom: 11px; background: var(--orange); }
.status-dot.success { background: var(--green); }
.status-dot.warning { background: var(--yellow); }
.status-dot.muted { background: #8f8b91; }
.form-shell { padding: 60px 0 110px; max-width: 900px; }
.form-progress { display: flex; align-items: center; gap: 11px; color: #9a9695; margin-bottom: 65px; }
.form-progress span { font-size: 12px; font-weight: 900; white-space: nowrap; }
.form-progress small { font-weight: 500; margin-left: 5px; }
.form-progress .current { color: var(--red); }
.form-progress i { flex: 1; height: 1px; background: var(--line); }
.form-step { display: none; }
.form-step.active { display: block; animation: appear .28s ease; }
@keyframes appear { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.form-step h2 { max-width: 680px; }
.form-intro { color: var(--muted); max-width: 650px; margin-bottom: 35px; }
.model-picker { display: grid; gap: 13px; margin: 32px 0; }
.model-option { display: flex; gap: 18px; align-items: center; padding: 25px; border: 1px solid var(--line); background: white; cursor: pointer; transition: .15s; }
.model-option:hover, .model-option.selected { border-color: var(--red); box-shadow: inset 5px 0 var(--red); }
.model-option input { position: absolute; opacity: 0; }
.model-option:has(input:focus-visible) { outline: 3px solid #f5ae78; }
.model-mark { flex: 0 0 43px; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: white; font-weight: 900; }
.model-mark.orange { background: var(--orange); }
.model-option strong, .model-option small { display: block; }
.model-option small { color: var(--muted); margin-top: 5px; font-size: 14px; }
.notice { padding: 18px 20px; background: #fff3ea; border-left: 4px solid var(--orange); margin: 26px 0; }
.notice strong { font-size: 13px; }
.notice p { color: #55494a; font-size: 13px; margin: 6px 0 0; }
.notice-quiet { background: #f0eeea; border-color: #8f8a85; }
.field-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 21px 18px; margin: 32px 0; }
label { display: flex; flex-direction: column; gap: 7px; color: #302d30; font-size: 13px; font-weight: 800; }
label.wide { grid-column: 1 / -1; }
.optional { color: var(--muted); font-size: 11px; font-weight: 500; }
input, select, textarea { border: 1px solid #cfc9c1; background: white; color: var(--ink); min-height: 47px; padding: 11px 13px; border-radius: 2px; outline: none; }
textarea { resize: vertical; min-height: 108px; line-height: 1.5; }
input:focus, select:focus, textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(185,14,28,.1); }
.consents { display: grid; gap: 14px; margin: 28px 0; }
.consents label, .toggle-line { flex-direction: row; align-items: start; gap: 10px; font-weight: 500; font-size: 13px; }
.consents input, .toggle-line input { min-height: auto; margin-top: 3px; accent-color: var(--red); }
.step-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 37px; }
.save-button { border: 0; background: none; color: var(--muted); font-weight: 700; font-size: 13px; padding: 10px; }
.save-button:hover { color: var(--red); }
.flash-stack { padding-top: 16px; }
.flash { padding: 12px 16px; font-size: 14px; border-left: 4px solid var(--orange); background: white; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.flash.success { border-color: var(--green); }
.flash.error { border-color: var(--red); }
.flash.warning { border-color: var(--yellow); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 22px; padding-top: 50px; padding-bottom: 110px; }
.dashboard-main, .dashboard-side, .detail-main, .detail-side { display: grid; gap: 22px; align-content: start; }
.panel { background: white; border: 1px solid var(--line); padding: 28px; }
.panel-soft { background: #ece8e2; }
.panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 24px; }
.panel-heading h2 { font-size: 26px; margin-bottom: 0; }
.journey { display: grid; gap: 0; }
.journey-item { display: grid; grid-template-columns: 45px 1fr; gap: 13px; position: relative; padding-bottom: 27px; }
.journey-item:not(:last-child)::before { content: ""; width: 1px; height: calc(100% - 16px); position: absolute; left: 22px; top: 31px; background: var(--line); }
.journey-item.done:not(:last-child)::before { background: var(--orange); }
.journey-item > span { width: 29px; height: 29px; border: 1px solid var(--line); color: #9a9695; display: grid; place-items: center; font-size: 11px; font-weight: 900; background: white; position: relative; z-index: 1; }
.journey-item.done > span { border-color: var(--orange); background: var(--orange); color: white; }
.journey-item strong, .journey-item small { display: block; }
.journey-item small { color: var(--muted); font-size: 13px; margin-top: 4px; }
.summary-list, .detail-list { margin: 0; display: grid; gap: 18px; }
.summary-list div, .detail-list div { display: grid; gap: 4px; border-bottom: 1px solid var(--line); padding-bottom: 14px; }
dt { color: var(--muted); font-size: 11px; text-transform: uppercase; font-weight: 900; letter-spacing: .08em; }
dd { margin: 0; font-size: 14px; }
.message-list { display: grid; gap: 13px; margin-bottom: 22px; }
.message { border: 1px solid var(--line); padding: 16px; background: #fffdfa; }
.message.from-candidate { background: #f2efea; }
.message.internal { background: #fff1ea; border-left: 4px solid var(--orange); }
.message-meta { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; }
.message-meta time { color: var(--muted); white-space: nowrap; }
.message p { margin: 10px 0 0; font-size: 14px; }
.inline-form, .admin-message-grid form, .admin-action-form, .access-form, .admin-login-card form, .upload-form { display: grid; gap: 12px; }
.inline-form { border-top: 1px solid var(--line); padding-top: 21px; }
.inline-form input, .inline-form textarea { background: var(--paper); }
.empty { color: var(--muted); font-size: 14px; }
.doc-list { display: grid; gap: 11px; }
.doc-row { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.doc-icon { width: 27px; height: 31px; border: 1px solid var(--orange); color: var(--orange); display: grid; place-items: center; }
.doc-row strong, .doc-row small { display: block; }
.doc-row strong { font-size: 13px; word-break: break-word; }
.doc-row small { color: var(--muted); font-size: 11px; }
.doc-download { margin-left: auto; color: var(--red); font-size: 18px; font-weight: 900; }
.upload-form { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.upload-form small, .small, .form-hint { font-size: 12px; color: var(--muted); }
.resource-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); margin-top: 20px; padding-top: 16px; color: var(--red); font-size: 13px; font-weight: 800; }
.copy-link { background: transparent; border: 1px solid #aaa39c; padding: 9px 12px; color: var(--ink); font-size: 12px; font-weight: 800; }
.access-form { max-width: 440px; background: white; padding: 24px; margin-top: 32px; }
.admin-login-card { background: white; color: var(--ink); padding: 28px; margin-top: 30px; max-width: 510px; }
.admin-top { background: var(--red-dark); color: white; padding: 54px 0 0; }
.admin-top-row { display: flex; justify-content: space-between; align-items: start; gap: 25px; }
.admin-top h1 { font-size: 49px; margin-bottom: 13px; }
.admin-top p:not(.eyebrow) { color: rgba(255,255,255,.75); }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 35px; background: rgba(255,255,255,.16); }
.admin-stats div { padding: 20px 14px; background: var(--red-dark); }
.admin-stats strong, .admin-stats span { display: block; }
.admin-stats strong { color: #ff9a53; font-size: 30px; }
.admin-stats span { color: rgba(255,255,255,.74); font-size: 12px; }
.admin-shell { padding: 45px 0 100px; }
.admin-panel { padding: 27px 0 0; }
.admin-panel > .panel-heading, .admin-panel > .filters, .admin-panel > .table-wrap { margin-left: 27px; margin-right: 27px; }
.result-count { color: var(--muted); font-size: 12px; }
.filters { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto auto; align-items: end; gap: 10px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.filters label { font-size: 11px; }
.filters input, .filters select { min-height: 40px; font-size: 13px; padding: 8px; }
.filters .button { min-height: 40px; padding: 0 14px; font-size: 12px; }
.reset-link { color: var(--muted); font-size: 12px; padding-bottom: 11px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { text-align: left; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: 10px; padding: 14px 10px; white-space: nowrap; }
td { border-top: 1px solid var(--line); padding: 17px 10px; vertical-align: top; }
td strong, td small { display: block; }
td small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.status-badge { display: inline-block; padding: 4px 8px; background: #fff0e6; color: var(--red); font-size: 10px; font-weight: 900; line-height: 1.2; }
.status-badge.success { color: var(--green); background: #e9f3eb; }
.status-badge.warning { color: var(--yellow); background: #fff5da; }
.status-badge.muted { color: #69656a; background: #eceaec; }
.table-link { color: var(--red); font-weight: 900; white-space: nowrap; }
.table-empty { padding: 32px 0; }
.admin-roles { margin-top: 60px; }
.role-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); margin-top: 28px; }
.role-grid article { background: white; padding: 21px; }
.role-grid strong { font-size: 14px; }
.role-grid p { color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.admin-detail { padding: 38px 0 100px; }
.identity-panel { padding-top: 28px; }
.identity-form { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 18px; align-items: center; }
.identity-form .button, .identity-form .form-hint { grid-column: span 2; }
.detail-back { display: flex; justify-content: space-between; align-items: center; margin-bottom: 35px; }
.detail-header { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
.detail-header h1 { font-size: 48px; margin-bottom: 12px; }
.detail-header p { color: var(--muted); }
.detail-meta { display: grid; gap: 5px; color: var(--muted); font-size: 12px; text-align: right; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 22px; }
.admin-action-form { border-bottom: 1px solid var(--line); padding-bottom: 22px; margin-bottom: 22px; }
.split-action { grid-template-columns: 1fr 1fr auto; align-items: end; }
.split-action label:first-of-type { grid-column: 1; }
.split-action button { min-height: 47px; }
.form-hint { margin: 0; }
.answers { border-top: 1px solid var(--line); margin-top: 27px; padding-top: 24px; }
.answers h3 { font-size: 16px; margin-top: 22px; }
.answers p { color: #454148; font-size: 14px; }
.admin-message-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; border-top: 1px solid var(--line); padding-top: 23px; }
.admin-message-grid h3 { font-size: 16px; }
.admin-message-grid input, .admin-message-grid textarea { background: var(--paper); }
.resource-list { display: grid; gap: 0; }
.resource-list a { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--red); font-weight: 800; font-size: 13px; }
.resource-list span { color: var(--orange); font-size: 18px; }
.audit-list { display: grid; gap: 13px; }
.audit-list div { border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.audit-list strong, .audit-list small { display: block; }
.audit-list strong { font-size: 12px; }
.audit-list small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.archive-form { margin-top: 23px; border-top: 1px solid var(--line); padding-top: 18px; }
.locations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.location-card { background: white; border: 1px solid var(--line); padding: 23px; min-height: 210px; display: flex; flex-direction: column; }
.location-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.location-card h2 { font-size: 31px; margin: 48px 0 3px; }
.location-region { color: var(--muted); margin: 0; }
.location-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; margin-top: auto; padding-top: 24px; }
.empty-state { grid-column: 1 / -1; text-align: center; padding: 75px 20px; border: 1px dashed #bdb5ae; }
.empty-mark { display: block; color: var(--orange); font-size: 35px; }
.empty-state p { color: var(--muted); max-width: 460px; margin: 0 auto 25px; }
.kit-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.kit-intro p:not(.eyebrow) { color: var(--muted); }
.kit-list { display: grid; gap: 1px; background: var(--line); }
.kit-item { display: grid; grid-template-columns: 42px 1fr auto; gap: 16px; align-items: center; background: white; padding: 22px; }
.kit-index { color: var(--orange); font-weight: 900; }
.kit-item h3 { font-size: 18px; margin: 0 0 5px; }
.kit-item p { color: var(--muted); margin: 0; font-size: 13px; }
.download-link { color: var(--red); font-size: 12px; font-weight: 900; white-space: nowrap; display: flex; align-items: center; gap: 8px; }
.locked { color: var(--muted); font-size: 11px; white-space: nowrap; }
.two-col-copy > p, .legal-copy { color: #454148; font-size: 17px; }
.legal-copy { max-width: 790px; }
.legal-copy h2 { font-size: 27px; margin-top: 38px; }
.site-footer { background: var(--ink); color: white; padding: 60px 0 22px; }
.footer-grid { display: grid; grid-template-columns: 1.8fr .7fr .7fr .8fr; gap: 30px; padding-bottom: 48px; }
.footer-title { max-width: 340px; font-size: 20px; line-height: 1.15; letter-spacing: -.02em; }
.footer-label { color: #ff9b55; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 900; }
.footer-grid a { display: block; color: #d4d0d3; font-size: 13px; margin: 9px 0; }
.footer-grid a:hover { color: #ff9b55; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.18); padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; color: #969195; font-size: 11px; }
@media (max-width: 900px) {
  .main-nav { gap: 12px; }
  .nav-actions .nav-link { display: none; }
  .hero-grid, .intro-grid, .section-heading, .two-col-copy, .kit-grid { grid-template-columns: 1fr; gap: 35px; }
  .hero-grid { min-height: auto; }
  .hero-mark { min-height: 320px; margin-bottom: 60px; }
  .trust-grid { grid-template-columns: repeat(3, 1fr); padding: 25px 0; }
  .trust-grid p { grid-column: 1 / -1; }
  .timeline { grid-template-columns: repeat(2, 1fr); }
  .section-heading { align-items: start; }
  .section-note { justify-self: start; }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
  .filters { grid-template-columns: 1fr 1fr; }
  .filters .button, .reset-link { align-self: end; }
  .role-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-header, .page-hero-row { align-items: start; flex-direction: column; }
  .detail-meta { text-align: left; }
}
@media (max-width: 650px) {
  .shell { width: min(100% - 30px, 1180px); }
  .site-header { position: relative; }
  .nav-wrap { min-height: 96px; justify-content: space-between; }
  .brand { min-width: 0; }
  .brand img { width: 88px; height: 88px; }
  .menu-toggle { display: block; }
  .main-nav { display: none; position: absolute; top: 96px; left: 0; right: 0; background: white; padding: 18px 15px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: start; height: auto; }
  .main-nav.open { display: flex; }
  .main-nav a { height: auto; padding: 7px 0; }
  .main-nav a.active::after { display: none; }
  .nav-actions { margin-left: auto; }
  .nav-actions .button { display: none; }
  h1 { font-size: 43px; }
  h2 { font-size: 34px; }
  .hero-copy { padding: 60px 0 30px; }
  .hero-lead { font-size: 17px; }
  .hero-actions { align-items: start; flex-direction: column; }
  .hero-mark { min-height: 280px; }
  .hero-card { transform: rotate(2deg) scale(.86); }
  .hero-orbit { transform: rotate(28deg) scaleX(.55) scale(.8); }
  .orbit-two { transform: rotate(-28deg) scaleX(.55) scale(.8); }
  .trust-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .trust-grid > div { border: 0; }
  .trust-grid > div:nth-child(3) { grid-column: 1 / -1; }
  .section { padding: 70px 0; }
  .pillars, .choice-grid, .locations-grid { grid-template-columns: 1fr; }
  .pillar { min-height: auto; }
  .pillar h3 { margin-top: 30px; }
  .timeline { grid-template-columns: 1fr; gap: 18px; }
  .timeline > div { min-height: auto; padding-bottom: 15px; }
  .timeline > div::after { top: -12px; }
  .timeline span { margin-bottom: 7px; }
  .cta-grid { flex-direction: column; align-items: start; }
  .page-hero { padding: 55px 0 60px; }
  .form-shell { padding-top: 38px; }
  .form-progress { gap: 5px; margin-bottom: 45px; }
  .form-progress small { display: none; }
  .field-grid { grid-template-columns: 1fr; }
  label.wide { grid-column: auto; }
  .dashboard-grid, .detail-grid { grid-template-columns: 1fr; }
  .panel { padding: 21px; }
  .admin-top h1, .detail-header h1 { font-size: 39px; }
  .admin-top-row { flex-direction: column; }
  .filters { grid-template-columns: 1fr; }
  .role-grid, .admin-message-grid { grid-template-columns: 1fr; }
  .identity-form { grid-template-columns: 1fr; }
  .identity-form .button, .identity-form .form-hint { grid-column: auto; }
  .split-action { grid-template-columns: 1fr; }
  .split-action button { width: 100%; }
  .kit-item { grid-template-columns: 30px 1fr; }
  .download-link, .locked { grid-column: 2; justify-self: start; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
}
