/* AFIS Press & Media | v4 | Oct 2026 */
:root {
  --navy:#052f4f;
  --navy-deep:#052a46;
  --navy-2:#06436a;
  --afis:#075689;
  --blue:#0d699b;
  --accent:#76c9ea;
  --ink:#173044;
  --muted:#526978;
  --paper:#f7f9fa;
  --line:#dce6ec;
  --white:#fff;
  --max:1172px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:26px; }
body { margin:0; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.container { width:min(calc(100% - 88px),var(--max)); margin-inline:auto; }
.skip-link { position:absolute; top:-100px; left:16px; padding:12px 18px; background:#fff; color:var(--navy); z-index:100; }
.skip-link:focus { top:12px; }
h1,h2,h3,p { margin-top:0; }

/* Header */
.site-header { background:var(--navy); border-bottom:1px solid rgba(255,255,255,.15); color:#fff; }
.header-inner { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:38px; }
.brand { display:flex; align-items:center; gap:7px; min-width:0; flex-shrink:0; }
.brand img { height:76px; width:auto; max-width:none; object-fit:contain; }
.brand-words { display:flex; flex-direction:column; gap:4px; padding-left:8px; border-left:1px solid rgba(255,255,255,.25); }
.brand-name { font-size:24px; font-weight:750; letter-spacing:.13em; line-height:1; }
.brand-full { color:#c5dae7; font-size:9px; line-height:1.4; letter-spacing:.12em; font-weight:700; }
.top-nav { display:flex; align-items:center; gap:32px; font-size:13px; font-weight:700; letter-spacing:.015em; white-space:nowrap; }
.nav-section { color:#cfdfeb; transition:color .15s; }
.nav-section:hover { color:#fff; }
.corporate-link { border:1px solid rgba(255,255,255,.43); border-radius:5px; padding:14px 19px; color:#fff; transition:background .2s,color .2s; }
.corporate-link:hover { background:#fff; color:var(--navy); }
.corporate-link span:last-child { margin-left:7px; font-size:1.1em; }
.short-link-label { display:none; }

/* Shared headings */
.eyebrow { font-size:10px; letter-spacing:.19em; font-weight:800; line-height:1.55; margin:0 0 21px; text-transform:uppercase; display:flex; align-items:center; gap:13px; }
.eyebrow-rule { width:28px; height:2px; background:var(--accent); flex:0 0 28px; }
.dark-eyebrow { color:var(--blue); }

/* Hero */
.hero { background:radial-gradient(ellipse at 90% 4%,rgba(50,135,183,.20),transparent 47%),linear-gradient(130deg,var(--navy),#064774 72%,#064d79); padding:68px 0 72px; color:#fff; position:relative; isolation:isolate; }
.hero:after { content:""; position:absolute; inset:0; opacity:.12; z-index:-1; pointer-events:none; background:repeating-linear-gradient(155deg,transparent 0,transparent 94px,rgba(255,255,255,.25) 95px,transparent 96px); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(360px,.93fr); gap:85px; align-items:center; }
.hero-eyebrow { color:#9dd4f0; }
h1 { font-size:clamp(58px,6vw,88px); font-weight:760; letter-spacing:-.055em; line-height:1.02; margin:0 0 29px; }
.amp { color:#91bcd3; font-weight:300; }
.period { color:var(--accent); }
.hero-lede { font-size:clamp(19px,1.74vw,23px); font-weight:500; line-height:1.57; max-width:620px; margin:0; letter-spacing:-.009em; }
.hero-signoff { margin-top:33px; padding-top:26px; border-top:1px solid rgba(151,206,235,.34); max-width:575px; }
.hero-promise { margin:0 0 10px; color:#fff; font-size:clamp(20px,2vw,25px); line-height:1.3; font-weight:780; letter-spacing:-.025em; }
.hero-personality { color:#bcd8e9; font-size:17px; line-height:1.5; margin:0; }
.award-feature { background:#fff; color:var(--ink); border-radius:7px; box-shadow:0 28px 75px rgba(0,18,35,.17); padding:23px 28px 27px; overflow:hidden; }
.award-category { color:var(--afis); font-size:10px; letter-spacing:.13em; font-weight:800; margin:0; }
.award-shield { width:248px; height:249px; object-fit:contain; margin:13px auto 13px; }
.award-caption { border-top:1px solid #e7edf1; padding-top:21px; }
.award-publication { color:var(--blue); letter-spacing:.13em; font-size:10px; font-weight:800; margin-bottom:10px; }
.award-caption h2 { color:var(--ink); font-size:23px; letter-spacing:-.025em; line-height:1.22; margin:0 0 20px; }
.award-links { display:flex; flex-wrap:wrap; gap:23px; }
.award-links a { font-size:12px; font-weight:800; color:var(--afis); border-bottom:1px solid #bcd2df; padding-bottom:6px; }
.award-links a:hover { color:#083049; }
.award-links span { margin-left:7px; }

/* Sergio profile */
.profile-section { background:#fff; padding:88px 0 98px; }
.profile-introduction { max-width:1050px; margin-bottom:53px; }
.profile-introduction .eyebrow { margin-bottom:19px; text-transform:none; font-size:11px; letter-spacing:.10em; }
.profile-introduction h2 { color:#13344b; font-size:clamp(31px,3.7vw,46px); letter-spacing:-.04em; font-weight:750; line-height:1.23; margin:0; }
.profile-introduction h2 span { color:var(--afis); }
.profile-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:78px; align-items:start; }
.profile-image { margin:0; padding:0; overflow:visible; background:none; border-radius:4px; }
.profile-image img { width:100%; height:auto; object-fit:contain; border-radius:4px; }
.profile-copy { padding-top:2px; }
.profile-copy strong { font-weight:800; color:#15364e; }
.profile-copy h3 { color:#102f46; font-size:clamp(34px,3.3vw,43px); line-height:1.12; letter-spacing:-.045em; margin:0 0 5px; }
.profile-role { color:var(--blue); font-size:15px; font-weight:700; margin:0; }
.profile-divider { height:1px; background:#d6e2ea; width:100%; margin:22px 0 25px; }
.profile-copy>p:not(.profile-role) { font-size:15px; line-height:1.73; color:#455d6c; margin:0 0 17px; }
.profile-actions { display:flex; flex-wrap:wrap; gap:27px; margin-top:27px; }
.profile-actions a { font-size:13px; font-weight:800; color:var(--afis); border-bottom:1px solid #9cbfce; padding-bottom:7px; }
.profile-actions a:hover { color:#034061; }
.profile-actions span { margin-left:7px; }

/* Media coverage */
.coverage-section { background:var(--paper); padding:80px 0 77px; border-block:1px solid #eef2f4; }
.section-heading { margin-bottom:33px; }
.section-heading .eyebrow { margin-bottom:14px; text-transform:none; font-size:11px; letter-spacing:.10em; }
.section-heading h2 { color:#102f46; font-size:clamp(35px,3.7vw,49px); line-height:1.12; letter-spacing:-.045em; margin:0; }
.coverage-list { border-top:2px solid #a8bdcb; }
.coverage-item { display:grid; grid-template-columns:172px 1fr 130px; gap:34px; align-items:center; border-bottom:1px solid var(--line); padding:29px 0; }
.outlet { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.outlet-name { font-weight:850; line-height:1; letter-spacing:-.04em; color:#143a54; }
.cnn { font-size:37px; font-style:italic; letter-spacing:-.11em; }
.outlet-dot { color:#c73634; }
.npr { font-size:34px; letter-spacing:.015em; }
.lat { font-size:27px; letter-spacing:-.07em; }
.lat-divider { color:#9bb9c9; font-weight:400; }
.outlet-category { font-size:10px; font-weight:800; letter-spacing:.15em; color:#7c8e9a; }
.item-date,.publication-meta { font-size:10px; color:#5888a3; font-weight:800; letter-spacing:.14em; margin-bottom:10px; }
.coverage-details h3 { font-size:20px; font-weight:770; line-height:1.3; letter-spacing:-.02em; color:#173549; margin:0 0 8px; }
.coverage-details>p:last-child { color:#586c7a; font-size:13.5px; line-height:1.6; margin:0; max-width:650px; }
.arrow-link { font-size:12px; line-height:1.5; font-weight:800; color:var(--afis); white-space:nowrap; justify-self:end; border-bottom:1px solid #9dbecd; padding-bottom:6px; }
.arrow-link:hover { color:#034061; }
.arrow-link span { margin-left:7px; }
.coverage-footnote { font-size:11px; color:#7b8992; margin:18px 0 0; line-height:1.5; }

/* Publications */
.archive-section { padding:82px 0 89px; background:#fff; }
.archive-heading { margin-bottom:31px; }
.archive-tagline { margin:18px 0 0; max-width:900px; color:#426173; font-size:clamp(16px,1.7vw,20px); line-height:1.55; letter-spacing:-.012em; }
.publication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.publication { display:flex; align-items:flex-start; gap:16px; border:1px solid #e0e8ed; background:#fbfcfd; padding:16px; border-radius:4px; min-height:185px; }
.publication img { width:103px; height:151px; flex:0 0 103px; object-fit:cover; object-position:top; background:#ebeff2; border:1px solid #e2e5e8; }
.publication-meta { line-height:1.5; font-size:9px; margin:4px 0 10px; }
.publication h3 { font-size:16px; line-height:1.28; letter-spacing:-.018em; margin:0 0 9px; color:#18364b; }
.publication p:last-child { color:#6b7a85; font-size:12px; line-height:1.5; margin:0; }

/* Contact form: fully native Netlify form, no JS dependency */
.contact-section { background:#0a476e; padding:77px 0 85px; color:#fff; }
.contact-inner { display:grid; grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr); gap:90px; align-items:start; }
.contact-intro { padding-top:17px; }
.contact-eyebrow { color:#a5d3ea; letter-spacing:.17em; margin-bottom:16px; }
.contact-intro h2 { color:#fff; font-size:clamp(38px,3.9vw,50px); letter-spacing:-.045em; line-height:1.12; margin:0; }
.contact-intro>p:not(.eyebrow) { color:#d0e1eb; font-size:16px; line-height:1.7; max-width:440px; }
.contact-direct { margin-top:28px; padding-top:27px; border-top:1px solid rgba(255,255,255,.23); }
.contact-direct-label { font-size:12px; font-weight:700; letter-spacing:.03em; color:#c2dbe8; margin:0 0 13px; }
.email-copy-wrap { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.contact-email { font-size:15px; font-weight:760; color:#fff; overflow-wrap:anywhere; user-select:text; }
.copy-email { background:transparent; border:1px solid #85c5e7; padding:9px 13px; border-radius:4px; color:#daeff9; font-size:12px; font-weight:750; cursor:pointer; }
.copy-email:hover { background:rgba(255,255,255,.1); }
.copy-feedback { color:#e4f8ff; font-size:12px; min-height:1.3em; margin:13px 0 0; }
.media-form { background:#fff; color:var(--ink); padding:33px 35px 33px; border-radius:6px; box-shadow:0 24px 65px rgba(0,20,42,.2); }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.form-field { margin:0 0 19px; min-width:0; }
.form-field label { display:block; color:#25485c; font-size:13px; font-weight:770; line-height:1.4; margin:0 0 9px; }
.form-field label>span:not(.optional) { color:var(--afis); }
.optional { color:#8796a0; font-size:11px; font-weight:500; }
.form-field input,.form-field textarea { display:block; width:100%; min-width:0; border:1px solid #c7d8e2; border-radius:4px; background:#fff; color:var(--ink); padding:12px 13px; font-size:14px; line-height:1.4; transition:border-color .15s,box-shadow .15s; }
.form-field input { height:45px; }
.form-field textarea { min-height:126px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--afis); box-shadow:0 0 0 2px rgba(7,86,137,.08); }
.form-field textarea::placeholder { color:#7b8e9b; }
.submit-inquiry { cursor:pointer; width:100%; padding:15px 21px; margin-top:2px; border:1px solid var(--afis); border-radius:4px; background:var(--afis); color:#fff; font-size:14px; font-weight:800; line-height:1.25; text-align:center; transition:background .15s,transform .15s; }
.submit-inquiry span { margin-left:9px; }
.submit-inquiry:hover { background:#034b7c; transform:translateY(-1px); }
.required-note { color:#7d8a95; text-align:right; margin:14px 0 0; font-size:11px; }

/* Footer and confirmation */
/* Compact legal links; all three documents open in a new tab. */
.footer-copyright { flex:0 1 340px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px 12px; }
.footer-links .footer-corporate { margin-right:8px; }
.footer-links .footer-policy { border:1px solid rgba(183,211,229,.30); border-radius:4px; padding:6px 9px; font-size:11px; white-space:nowrap; }
.footer-links .footer-policy:hover { border-color:#d6eaf4; }
.footer-consent { background:none; border:0; padding:5px 0; color:#d6eaf4; font:inherit; font-size:11px; font-weight:750; line-height:1.5; cursor:pointer; }
.footer-consent:hover, .footer-consent:focus-visible { color:#fff; text-decoration:underline; }
.footer { background:var(--navy-deep); color:#a4bece; padding:25px 0; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:11px; line-height:1.5; }
.footer a { color:#d6eaf4; font-weight:750; }
.footer a:hover { color:#fff; }
.success-page { min-height:100vh; display:flex; flex-direction:column; }
.confirmation-wrap { background:radial-gradient(ellipse at 70% 30%,#eaf3f9,#f7f9fa 65%); display:flex; flex:1; align-items:center; padding:75px 0; }
.confirmation-card { padding:55px 0; max-width:800px; }
.confirmation-card h1 { font-size:clamp(44px,5.2vw,70px); color:var(--navy); margin:0 0 18px; }
.confirmation-card>p:not(.eyebrow) { font-size:19px; color:#3f5a6b; line-height:1.6; margin:0 0 33px; }
.back-link { color:var(--afis); font-size:15px; font-weight:780; border-bottom:1px solid #a2c7db; padding-bottom:8px; }

@media (max-width:1100px) {
  .container { width:min(calc(100% - 58px),var(--max)); }
  .header-inner { gap:16px; }
  .top-nav { gap:18px; }
  .hero-grid { gap:45px; }
  .profile-grid { gap:52px; }
  .contact-inner { gap:55px; }
  .coverage-item { grid-template-columns:130px 1fr 118px; gap:22px; }
  .publication { gap:12px; padding:13px; }
  .publication img { width:82px; height:132px; flex-basis:82px; }
  .publication h3 { font-size:14px; }
  .publication-meta { font-size:8px; }
}
@media (max-width:850px) {
  .header-inner { min-height:95px; }
  .brand img { height:65px; }
  .brand-name { font-size:20px; }
  .brand-full { font-size:7.5px; }
  .hero-grid { grid-template-columns:1fr; gap:44px; }
  .hero { padding:58px 0 63px; }
  .hero-lede { max-width:690px; }
  .award-feature { width:min(100%,650px); justify-self:center; display:grid; grid-template-columns:205px 1fr; gap:14px 25px; align-items:center; }
  .award-category { grid-column:1/-1; }
  .award-shield { width:200px; height:236px; grid-column:1; grid-row:2; }
  .award-caption { grid-column:2; grid-row:2; border-top:0; border-left:1px solid #e5ebef; padding:0 0 0 20px; }
  .award-caption h2 { font-size:21px; }
  .award-links { gap:13px; }
  .profile-section { padding:72px 0 80px; }
  .profile-introduction { margin-bottom:36px; }
  .profile-grid { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:30px; }
  .profile-copy h3 { font-size:34px; }
  .profile-divider { margin:16px 0 20px; }
  .profile-copy>p:not(.profile-role) { font-size:13.5px; line-height:1.66; }
  .coverage-section,.archive-section { padding:66px 0; }
  .coverage-item { grid-template-columns:95px 1fr; gap:19px; padding:26px 0; }
  .arrow-link { grid-column:2; justify-self:start; }
  .publication-grid { grid-template-columns:1fr; gap:14px; }
  .publication { min-height:0; padding:15px; gap:22px; }
  .publication img { width:85px; height:110px; flex-basis:85px; }
  .publication h3 { font-size:17px; }
  .publication-meta { font-size:9px; }
  .contact-inner { grid-template-columns:1fr; gap:35px; }
  .contact-intro { padding-top:0; }
  .contact-direct { margin-top:27px; }
  .media-form { max-width:680px; width:100%; }
}
@media (max-width:570px) {
  .container { width:calc(100% - 38px); }
  .header-inner { flex-wrap:wrap; min-height:0; gap:0; padding-block:10px 12px; }
  .brand img { height:54px; }
  .brand-words { padding-left:7px; }
  .brand-name { font-size:17px; }
  .brand-full { font-size:6.2px; letter-spacing:.07em; }
  .top-nav { gap:15px; font-size:11px; margin-left:auto; }
  .corporate-link { padding:10px 11px; }
  .full-link-label { display:none; }
  .short-link-label { display:inline; }
  .hero { padding:48px 0 53px; }
  .hero-eyebrow { font-size:8.5px; letter-spacing:.12em; }
  .eyebrow-rule { width:19px; flex-basis:19px; }
  .hero h1 { font-size:clamp(47px,11vw,64px); margin-bottom:23px; }
  .hero-lede { font-size:18px; line-height:1.58; }
  .hero-signoff { margin-top:28px; padding-top:23px; }
  .hero-promise { font-size:21px; }
  .hero-personality { font-size:15px; }
  .award-feature { display:block; padding:19px 21px 23px; }
  .award-shield { width:205px; height:228px; margin:10px auto 13px; }
  .award-caption { border-left:0; border-top:1px solid #e5ebef; padding:18px 0 0; }
  .award-caption h2 { font-size:21px; }
  .profile-section { padding:58px 0 65px; }
  .profile-introduction { margin-bottom:28px; }
  .profile-introduction h2 { font-size:clamp(29px,7vw,37px); }
  .profile-grid { display:block; }
  .profile-image { width:100%; margin:0 0 31px; }
  .profile-image img { width:100%; height:auto; }
  .profile-copy h3 { font-size:38px; }
  .profile-copy>p:not(.profile-role) { font-size:14.5px; line-height:1.69; }
  .section-heading h2 { font-size:38px; }
  .coverage-section,.archive-section { padding:56px 0 63px; }
  .coverage-item { grid-template-columns:70px 1fr; gap:17px; }
  .cnn { font-size:32px; }
  .npr { font-size:29px; }
  .lat { font-size:20px; }
  .outlet-category { font-size:8px; }
  .coverage-details h3 { font-size:17px; }
  .coverage-details>p:last-child { font-size:12.5px; }
  .item-date { font-size:9px; }
  .arrow-link { font-size:11px; }
  .publication { gap:15px; padding:13px; }
  .publication img { width:78px; height:112px; flex-basis:78px; }
  .publication h3 { font-size:16px; }
  .contact-section { padding:55px 0 65px; }
  .contact-intro h2 { font-size:41px; }
  .contact-intro>p:not(.eyebrow) { font-size:15px; }
  .media-form { padding:23px 20px 27px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-inner { display:block; }
  .footer-copyright { display:block; }
  .footer-links { justify-content:flex-start; margin-top:14px; gap:8px 10px; }
  .footer-links .footer-corporate { margin-right:0; }
  .footer a { display:inline-flex; margin-top:0; }
}
@media (max-width:380px) {
  .header-inner { padding-bottom:12px; }
  .brand img { height:48px; }
  .brand-name { font-size:15px; }
  .brand-full { display:none; }
  .top-nav { gap:12px; font-size:10.5px; }
  .corporate-link { padding:9px 9px; }
  .hero h1 { font-size:43px; }
  .coverage-item { grid-template-columns:57px 1fr; gap:11px; }
  .lat { font-size:17px; }
  .publication { gap:11px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
