/* GioAviation.aero — shared stylesheet
   Design system: Direction A "Flight Level" — navy / clear-air blue / braid gold,
   technical-manual sans (Archivo: semi-condensed headings, normal-width body). Gold is reserved for the primary CTA and the logo. */

:root{
  /* Direction A "Flight Level" — see project doc claude/colour-system-proposal.md */
  /* Brand */
  --navy: #0C2D4F;          /* primary: headings, dark sections */
  --navy-deep: #071A2E;     /* header, hero top */
  --navy-horizon: #1A4A78;  /* hero bottom stop */
  --sky: #1B6FB0;           /* accent 1: links, icons, focus (5.3:1 on white) */
  --sky-strong: #155A91;    /* link hover */
  --sky-on-dark: #7CC3F2;   /* accent 1 on navy */
  --gold: #E0A93B;          /* accent 2: primary CTA fill ONLY (and the logo) */
  --gold-hover: #C99530;
  --on-gold: #0B1F36;       /* text on gold, 7.8:1 */

  /* Surfaces */
  --paper: #FFFFFF;         /* cards, inputs */
  --page: #F5F7FA;          /* page background */
  --tint: #EDF3F9;          /* alternate section band */
  --tint-strong: #E1ECF6;   /* icon tiles */
  --line: #DDE5EE;

  /* Text on light */
  --ink: #0E1B2A;           /* 16.2:1 */
  --ink-soft: #3D4E62;      /*  7.9:1 */
  --grey: #627286;          /*  4.6:1 */

  /* Text on dark */
  --ink-inverse: #FFFFFF;
  --ink-inverse-soft: #C9D6E3;
  --ink-inverse-mute: #8FA3B8;

  /* Status: never reuse gold */
  --caution: #9A5B12;       /* "in preparation", superseded, pending */
  --amber-status: var(--caution);
  --success: #1F7A4D;
  --danger: #B3261E;
  --focus: #1B6FB0;

  /* Hero: altitude gradient, dark overhead, lighter at the horizon, first light at the base */
  --font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --head-stretch: 87.5%;   /* semi-condensed headings, manual style */
  --radius: 6px;           /* cards, panels */
  --radius-ctl: 4px;       /* buttons, inputs */

  --hero-gradient:
    radial-gradient(120% 60% at 50% 115%, rgba(224,169,59,.20) 0%, rgba(224,169,59,0) 60%),
    linear-gradient(180deg, #071A2E 0%, #0C2D4F 55%, #1A4A78 100%);
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; }
a{ color: inherit; text-decoration: none; }
h1,h2,h3{
  font-family: var(--font);
  color: var(--navy);
  margin: 0;
  font-stretch: var(--head-stretch);
  letter-spacing: -0.005em;
  text-wrap: balance;
}
p{ margin: 0; }
.eyebrow{
  font-family:var(--font); font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--sky);
}
.wrap{
  max-width: 1180px; margin-inline: auto;
  padding-inline: max(20px, env(safe-area-inset-left,0px)) max(20px, env(safe-area-inset-right,0px));
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
  min-height:44px; background: var(--gold); color: var(--on-gold); font-family:var(--font); font-weight:600;
  font-size:0.9375rem; line-height:1; padding: 0 20px; border-radius: var(--radius-ctl); border:1.5px solid transparent;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover, .btn:focus-visible{ background: var(--gold-hover); }
.btn:active{ transform: translateY(1px); }
.btn.sm{ min-height:38px; padding:0 14px; font-size:0.875rem; }
.btn.ghost{ background: transparent; color: var(--navy); border-color: var(--navy); }
.btn.ghost:hover, .btn.ghost:focus-visible{ background: rgba(27,111,176,.08); border-color: var(--navy); color: var(--navy); }
/* ghost buttons on dark surfaces */
header.site .btn.ghost, .hero .btn.ghost, .final-cta .btn.ghost{ color: var(--ink-inverse); border-color: rgba(255,255,255,.55); }
header.site .btn.ghost:hover, header.site .btn.ghost:focus-visible,
.hero .btn.ghost:hover, .hero .btn.ghost:focus-visible{ color: var(--ink-inverse); background: rgba(255,255,255,.08); border-color: var(--ink-inverse); }

header.site{ position: sticky; top: env(safe-area-inset-top,0px); z-index: 50; padding-block: 12px; background: var(--navy-deep); border-bottom: 1px solid #16324F; transition: box-shadow .15s ease, border-color .15s ease; }
header.site.over-hero{ border-bottom-color: transparent; }
header.site.is-scrolled{ border-bottom-color: rgba(255,255,255,.08); box-shadow: 0 6px 18px rgba(7,26,46,.2); }
header.site .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.logo{ display:flex; align-items:center; gap:10px; }
.logo img{ display:block; height:40px; width:40px; }
.logo .name{ font-family:var(--font); font-stretch: var(--head-stretch); font-weight:800; font-size:1.3125rem; letter-spacing:-0.015em; color: var(--ink-inverse); white-space:nowrap; }
.logo .name b{ color: var(--sky-on-dark); font-weight:600; font-size:0.8em; }
nav.primary{ display:flex; gap:26px; flex-wrap:wrap; align-items:center; }
nav.primary a{ font-family:var(--font); font-weight:600; font-size:0.9375rem; color: var(--ink-inverse-soft); }
nav.primary a:not(.btn):hover, nav.primary a:not(.btn):focus-visible, nav.primary a[aria-current="page"]:not(.btn){ color: var(--sky-on-dark); }
nav.primary a.btn:not(.ghost){ color: var(--on-gold); }
nav.primary a.btn.ghost{ color: var(--ink-inverse); }

.hero{ padding-block: 64px 72px; background: var(--hero-gradient); color: var(--ink-inverse); }
.hero .eyebrow{ color: var(--sky-on-dark); }
.hero h1{ color: var(--ink-inverse); }
.hero-grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:48px; align-items:center; }
.hero h1{ font-size: clamp(2rem, 5.2vw, 3.25rem); line-height:1.06; font-weight:750; margin-top:14px; max-width:20ch; }
.hero h1 .accent{ color: var(--sky-on-dark); }
.hero .lead{ margin-top:18px; font-size:1.125rem; color: var(--ink-inverse-soft); max-width:58ch; }
.hero .cta-row{ margin-top:28px; display:flex; gap:14px; flex-wrap:wrap; }
.hero-badge{
  margin-top:30px; display:inline-flex; align-items:center; gap:10px;
  background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius: var(--radius);
  padding: 12px 16px; font-size:0.875rem; color: var(--ink-inverse-soft);
}
.hero-badge strong{ color: var(--ink-inverse); }
.hero-art{
  background: rgba(255,255,255,.06); border-radius: var(--radius); padding: 28px;
  display:flex; flex-direction:column; gap:14px; border: 1px solid rgba(255,255,255,.14);
}
.hero-art .row{ display:flex; align-items:center; gap:12px; background: var(--paper); border-radius: var(--radius); padding: 14px 16px; border: 1px solid var(--line); }
.hero-art .row .ic{ width:36px; height:36px; border-radius:var(--radius); background: var(--sky); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hero-art .row .tx strong{ display:block; font-family:var(--font); font-size:0.9375rem; color: var(--navy); }
.hero-art .row .tx span{ font-size:0.8125rem; color: var(--grey); }
.hero-art .row .ic svg *{ stroke-width: 2; }

section{ padding-block: 56px; }
section.alt{ background: var(--tint); }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:32px; flex-wrap:wrap; }
.section-head h2{ font-size:1.875rem; margin-top:8px; }

.path-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.path-card{
  background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding: 26px;
  display:flex; flex-direction:column; gap:14px;
}
.path-card .ic{ width:48px; height:48px; border-radius:var(--radius); background: var(--tint-strong); display:flex; align-items:center; justify-content:center; }
.path-card h3{ font-size:1.25rem; }
.path-card p{ color: var(--ink-soft); font-size:0.9375rem; }

.resource-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.resource-card{ background: var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; }
.resource-card .top{ background: var(--tint-strong); padding: 18px 22px; display:flex; justify-content:space-between; align-items:center; }
.resource-card .tag{ font-family:var(--font); font-weight:700; font-size:0.6875rem; letter-spacing:0.04em; text-transform:uppercase; color: var(--sky); background: var(--paper); padding:5px 8px; border-radius:3px; }
.resource-card .status{ font-family:var(--font); font-weight:700; font-size:0.6875rem; letter-spacing:0.04em; text-transform:uppercase; color: #fff; background: var(--caution); padding:5px 8px; border-radius:3px; }
.resource-card .body{ padding: 20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex-grow:1; }
.resource-card h3{ font-size:1.125rem; }
.resource-card p{ font-size:0.9375rem; color: var(--ink-soft); flex-grow:1; }
.resource-note{ margin-top: 22px; font-size: 0.875rem; color: var(--grey); }

.standard-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:44px; align-items:start; }
.standard-points{ display:flex; flex-direction:column; gap:18px; }
.standard-point{ display:flex; gap:16px; background: var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; }
.standard-point .ic{ width:38px; height:38px; border-radius:var(--radius); background: var(--tint-strong); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.standard-point h4{ margin:0 0 4px; font-family:var(--font); font-weight:700; font-size:1rem; color: var(--navy); }
.standard-point p{ font-size:0.9375rem; color: var(--ink-soft); }

/* credentials page */
.cred-hero{ padding-block: 52px 40px; }
.cred-hero .kicker{ margin-bottom: 14px; }
.cred-hero h1{ font-size: 2.5rem; line-height:1.15; }
.cred-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; }
.cred-card{ background: var(--tint); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; }
.cred-card .ic{ width:40px; height:40px; border-radius:var(--radius); background: var(--paper); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.cred-card h3{ font-size:1.0625rem; margin-bottom:6px; }
.cred-card p{ font-size:0.9375rem; color: var(--ink-soft); }
.cred-body{ max-width: 68ch; font-size: 1.0625rem; color: var(--ink-soft); display:flex; flex-direction:column; gap:16px; margin-top: 40px; }
.cred-body strong{ color: var(--navy); }

/* contact page */
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items:start; }
.contact-form{ display:flex; flex-direction:column; gap:16px; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-family:var(--font); font-weight:600; font-size:0.875rem; color: var(--navy); }
.field input, .field select, .field textarea{
  font-family:var(--font); font-size:1rem; padding: 11px 12px; border-radius:var(--radius-ctl);
  border: 1px solid #C6D2DF; min-height:44px; background: var(--paper); color: var(--ink);
}
.field textarea{ resize: vertical; min-height: 120px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--sky); }
.contact-side{ display:flex; flex-direction:column; gap:20px; }
.contact-card{ background: var(--tint); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; display:flex; gap:14px; align-items:flex-start; }
.contact-card .ic{ width:38px; height:38px; border-radius:var(--radius); background: var(--paper); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-card h4{ font-family:var(--font); font-weight:700; font-size:0.9375rem; color:var(--navy); margin-bottom:4px; }
.contact-card p, .contact-card a{ font-size:0.9375rem; color: var(--ink-soft); }
.contact-card a:hover{ color: var(--sky); text-decoration: underline; }
.form-status{ font-family:var(--font); font-weight:600; font-size:0.9375rem; padding: 12px 14px; border-radius: var(--radius); display:none; }
.form-status.ok{ display:block; background: #E6F4EC; color: var(--success); }
.form-status.err{ display:block; background: #FBE9E7; color: var(--danger); }

/* email gate modal */
.gate-overlay{
  position: fixed; inset: 0; background: rgba(7,26,46,0.55);
  display:flex; align-items:center; justify-content:center; padding: 20px;
  opacity: 0; pointer-events: none; transition: opacity .15s ease; z-index: 100;
}
.gate-overlay.open{ opacity: 1; pointer-events: auto; }
.gate-modal{
  background: var(--paper); border-radius: var(--radius); padding: 30px; max-width: 420px; width: 100%;
  position: relative; box-shadow: 0 20px 60px -20px rgba(7,26,46,0.45);
}
.gate-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:999px;
  border:none; background: var(--tint); color: var(--ink-soft); font-size:1.25rem; line-height:1; cursor:pointer;
}
.gate-close:hover{ background: var(--tint-strong); }
.gate-title{ font-size: 1.375rem; margin-top: 8px; }
.gate-copy{ margin-top: 10px; font-size: 0.9375rem; color: var(--ink-soft); }
.gate-form{ margin-top: 20px; display:flex; flex-direction:column; gap: 14px; }

footer{ background: var(--navy-deep); color: var(--ink-inverse-soft); padding-block: 30px; margin-top: 0; border-top: 1px solid #16324F; }
footer .wrap{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
footer .logo-fine{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
footer .logo-fine .logo img{ height:28px; width:28px; }
footer .logo-fine .name{ font-size:1.0625rem; }
footer .fine{ font-size:0.8125rem; color: var(--ink-inverse-mute); }
footer nav{ display:flex; gap:20px; flex-wrap:wrap; }
footer nav a{ font-family:var(--font); font-weight:600; font-size:0.875rem; color: var(--ink-inverse-soft); }
footer nav a:hover{ color:#fff; }

:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
header.site :focus-visible, .hero :focus-visible, footer :focus-visible{ outline-color: var(--sky-on-dark); }

@media (max-width: 860px){
  .hero-grid{ grid-template-columns:1fr; }
  .path-grid, .resource-grid, .cred-grid, .contact-grid{ grid-template-columns:1fr; }
  .standard-grid{ grid-template-columns:1fr; }
  .section-head h2{ font-size:1.5rem; }
  .cred-hero h1{ font-size: 2rem; }
  .logo img{ height:34px; width:34px; }
  .logo .name{ font-size:1.125rem; }
}

@media (max-width: 420px){
  .logo img{ height:30px; width:30px; }
  .logo .name{ font-size:1rem; }
}

@media (prefers-reduced-motion: reduce){ .btn, header.site, .lib-card{ transition:none; } .btn:active{ transform:none; } html{ scroll-behavior:auto; } }

/* admin section tabs (admin.html, admin-categorie/articoli/documenti.html) */
.admin-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.admin-tabs a{
  font-family:var(--font); font-weight:700; font-size:0.875rem;
  padding:9px 16px; border-radius:999px; border:1.5px solid var(--line); color: var(--ink-soft); background: var(--paper);
}
.admin-tabs a:hover{ border-color: var(--sky); color: var(--sky); }
.admin-tabs a[aria-current="page"]{ background: var(--navy); border-color: var(--navy); color: #fff; }

/* generic admin form card, reused by categorie/articoli/documenti */
.admin-form{ background: var(--paper); border:1px solid var(--line); border-radius:18px; padding:22px 24px; display:flex; flex-direction:column; gap:14px; margin-bottom:32px; }
.admin-form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.admin-form .row3{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; }
@media (max-width:720px){ .admin-form .row2, .admin-form .row3{ grid-template-columns:1fr; } }
.admin-form textarea.markdown{ min-height:260px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:0.875rem; }
.admin-form .actions-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.badge-cat{
  display:inline-block; font-family:var(--font); font-weight:700;
  font-size:0.6875rem; letter-spacing:0.04em; text-transform:uppercase; color: var(--sky); background: var(--tint-strong);
  padding:4px 10px; border-radius:999px;
}
.pill.draft{ background:#EDF1F5; color: var(--grey); }
.pill.published{ background:#E6F4EC; color: var(--success); }

/* article body (articolo.html), rendered from Markdown */
.article-body{ max-width:70ch; font-size:1.0625rem; color: var(--ink-soft); }
.article-body h1, .article-body h2, .article-body h3{ color: var(--navy); margin-top:1.6em; margin-bottom:0.5em; }
.article-body h1{ font-size:1.625rem; } .article-body h2{ font-size:1.375rem; } .article-body h3{ font-size:1.125rem; }
.article-body p{ margin-top:1em; }
.article-body ul, .article-body ol{ margin-top:1em; padding-left:1.4em; }
.article-body li{ margin-top:0.4em; }
.article-body a{ color: var(--sky); text-decoration:underline; }
.article-body blockquote{ margin:1.4em 0; padding:2px 20px; border-left:3px solid var(--sky); color: var(--ink-soft); background: var(--tint); border-radius:0 12px 12px 0; }
.article-body code{ background: var(--tint-strong); padding:2px 6px; border-radius:6px; font-size:0.875em; }
.article-body pre{ background: var(--navy-deep); color: var(--ink-inverse-soft); padding:16px 18px; border-radius:14px; overflow-x:auto; }
.article-body pre code{ background:none; padding:0; color:inherit; }
.article-body img{ border-radius:14px; margin-top:1em; }

.article-card{ background: var(--paper); border:1px solid var(--line); border-radius:18px; padding:22px 24px; display:flex; flex-direction:column; gap:8px; }
.article-card h3{ font-size:1.1875rem; }
.article-card p{ color: var(--ink-soft); font-size:0.9375rem; }
.article-card .meta{ font-size:0.8125rem; color: var(--grey); }
.article-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media (max-width:860px){ .article-grid{ grid-template-columns:1fr; } }

/* profile wizard (profilo.html) */
.profile-form{ max-width:560px; display:flex; flex-direction:column; gap:16px; margin-top:36px; }

/* resource library grouped by category (risorse.html) */
.resource-category{ margin-top:40px; }
.resource-category:first-child{ margin-top:0; }
.resource-category h3{ font-size:1.25rem; margin-bottom:16px; }

/* ------------------------------------------------------------------ */
/* Landing page (index.html) — approved wireframe, 19 Sep 2026        */
/* ------------------------------------------------------------------ */
.label{ font-family:var(--font); font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.hero-sla{ margin-top:18px; display:flex; align-items:center; gap:10px; color: var(--ink-inverse-mute); font-size:0.875rem; }
.hero-sla svg{ flex:none; }
.hero-cred{ margin-top:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); display:flex; flex-wrap:wrap; gap:8px 22px; font-size:0.875rem; color: var(--ink-inverse-soft); max-width:62ch; }
.hero-cred strong{ color: var(--ink-inverse); font-weight:600; }

section.block{ padding-block: 72px; }
section.block + section.block{ border-top: 1px solid var(--line); }
.sec-head{ display:grid; gap:10px; margin-bottom:32px; max-width:720px; }
.sec-head h2{ font-size: clamp(1.625rem, 3.2vw, 2.125rem); line-height:1.15; font-weight:700; }
.sec-head p{ color: var(--ink-soft); font-size:1.0625rem; }
.sec-foot{ margin-top:24px; font-size:0.9375rem; color: var(--grey); display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; }
.text-link{ color: var(--sky); font-weight:600; }
.text-link:hover, .text-link:focus-visible{ color: var(--sky-strong); text-decoration: underline; text-underline-offset:3px; }

.lib{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lib-card{
  display:grid; grid-template-rows:auto auto 1fr auto; gap:10px;
  background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding:20px;
  color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.lib-card:hover, .lib-card:focus-visible{ border-color: var(--sky); box-shadow: 0 4px 14px rgba(12,45,79,.10); }
.lib-card h3{ font-size:1.125rem; line-height:1.3; }
.lib-card p{ color: var(--ink-soft); font-size:0.9375rem; }
.chips{ display:flex; gap:6px; flex-wrap:wrap; }
.chip{ font-family:var(--font); font-size:0.6875rem; font-weight:600; line-height:1; letter-spacing:0.08em; text-transform:uppercase; padding:6px 8px; border-radius:3px; background: var(--tint-strong); color: var(--sky-strong); }
.chip.grey{ background:#EEF2F6; color: var(--ink-soft); }
.meta{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding-top:12px; border-top:1px solid var(--line); font-size:0.8125rem; color: var(--grey); font-variant-numeric: tabular-nums; }
.lock{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color: var(--navy); }

.aud{ display:grid; grid-template-columns:repeat(3,1fr); background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; }
.aud > div{ padding:24px; display:grid; gap:8px; align-content:start; border-right:1px solid var(--line); }
.aud > div:last-child{ border-right:0; }
.aud h3{ font-size:1.125rem; }
.aud p{ color: var(--ink-soft); font-size:0.9375rem; }

.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.step{ display:grid; gap:8px; align-content:start; padding-top:18px; border-top:3px solid var(--navy); }
.step .n{ font-size:0.8125rem; font-weight:700; letter-spacing:0.1em; color: var(--sky); }
.step h3{ font-size:1.1875rem; }
.step p{ color: var(--ink-soft); font-size:0.9375rem; }
.data-note{ margin-top:28px; background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding:16px 18px; color: var(--ink-soft); font-size:0.9375rem; max-width:760px; }
.data-note strong{ color: var(--ink); }

.standard-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.standard-list h3{ font-size:1.0625rem; margin-bottom:6px; }
.standard-list p{ color: var(--ink-soft); font-size:0.9375rem; }

.author{ display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:start; max-width:820px; }
.author-mark{ width:88px; height:88px; border-radius: var(--radius); background: var(--navy); display:grid; place-items:center; }
.author p{ color: var(--ink-soft); font-size:1.0625rem; max-width:62ch; }
.creds{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }

.final-cta{ background: var(--navy); color: var(--ink-inverse); padding-block:56px; }
.final-cta .wrap{ display:flex; flex-wrap:wrap; gap:20px 32px; align-items:center; justify-content:space-between; }
.final-cta h2{ color: var(--ink-inverse); font-size: clamp(1.5rem, 3vw, 1.875rem); }
.final-cta p{ color: var(--ink-inverse-soft); margin-top:6px; }
.final-cta .cta-row{ display:flex; gap:12px; flex-wrap:wrap; }

footer .disclaimer{ flex-basis:100%; order:3; font-size:0.8125rem; line-height:1.6; color: var(--ink-inverse-mute); max-width:90ch; padding-top:16px; border-top:1px solid #16324F; }

/* request form extras */
.field .opt{ font-weight:400; color: var(--grey); }
.field .help{ font-size:0.8125rem; color: var(--grey); }
.check{ display:flex; gap:10px; align-items:flex-start; font-size:0.9375rem; color: var(--ink-soft); }
.check input{ width:18px; height:18px; margin-top:3px; flex:none; accent-color: var(--navy); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

@media (max-width: 860px){
  .lib, .steps, .standard-list{ grid-template-columns:1fr; }
  .aud{ grid-template-columns:1fr; }
  .aud > div{ border-right:0; border-bottom:1px solid var(--line); }
  .aud > div:last-child{ border-bottom:0; }
  nav.primary .nav-anchor{ display:none; }
}
@media (max-width: 560px){
  .author{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  section.block{ padding-block:56px; }
}

