@charset "UTF-8";
:root { --ink:#17212a; --teal:#316d73; --teal-dark:#17494f; --paper:#f8f7f2; --cream:#f0efe8; --yellow:#ffcf19; --red:#970c0b; --olive:#626811; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
img { max-width:100%; display:block; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.skip-link { position:absolute; z-index:20; top:-80px; left:1rem; padding:.6rem 1rem; background:white; }
.skip-link:focus { top:1rem; }
.wrap { width:min(100% - 80px, 1260px); margin-inline:auto; }
.site-header { background:#fff; }
.header-inner { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand { text-decoration:none; display:flex; align-items:center; gap:14px; flex-shrink:0; }
.brand-mark { width:45px; height:43px; object-fit:contain; }
.brand-name { display:flex; flex-direction:column; font-size:.91rem; line-height:1.12; letter-spacing:.015em; }
.brand-name strong { font-size:1.2rem; font-weight:750; letter-spacing:-.03em; }
nav { display:flex; align-items:center; gap:2.25rem; font-size:.9rem; font-weight:700; }
nav a { text-decoration:none; }
nav a:hover, .footer-inner a:hover { text-decoration:underline; text-underline-offset:5px; }
.nav-contact { background:var(--teal-dark); color:#fff; padding:.78rem 1.2rem; }
.nav-contact span { margin-left:1.5rem; }
.color-line { display:grid; grid-template-columns:repeat(4,1fr); height:5px; }
.color-line i:nth-child(1) { background:var(--yellow); }.color-line i:nth-child(2) { background:#669598; }.color-line i:nth-child(3) { background:var(--red); }.color-line i:nth-child(4) { background:var(--olive); }
.hero { display:grid; grid-template-columns:minmax(400px, 42%) 1fr; min-height:610px; }
.hero-copy { background:var(--teal-dark); color:#fff; padding:clamp(40px,5vw,85px) 40px 30px max(40px,calc((100vw - 1260px)/2)); display:flex; flex-direction:column; justify-content:space-between; }
.hero-copy-inner { max-width:520px; }
.eyebrow,.section-label,.picture-caption,.card-index,.hero-number { font-size:.77rem; font-weight:700; letter-spacing:.16em; }
.eyebrow { margin:0 0 2.5rem; }.eyebrow.light { color:#b8d7d7; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { letter-spacing:-.048em; line-height:1.08; }
h1 { font-size:clamp(2.7rem,3.3vw,4.5rem); margin-bottom:1.65rem; font-weight:750; }
.hero-lead { max-width:430px; color:#e0eeee; font-size:1.08rem; line-height:1.65; margin-bottom:2.2rem; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2.5rem; padding:1rem 1.25rem; text-decoration:none; font-size:.91rem; font-weight:750; min-width:183px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }.button-light { background:#fff; color:var(--teal-dark); }.button-yellow { background:var(--yellow); color:var(--ink); }
.hero-number { color:#aac8c9; padding-top:3rem; }
.hero-picture { min-width:0; position:relative; background:#eee9df; overflow:hidden; }
.hero-picture img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.picture-caption { position:absolute; right:0; bottom:0; color:var(--ink); background:var(--yellow); padding:1.05rem 1.35rem; font-size:.68rem; }
.section-pad { padding-block:clamp(75px,9vw,125px); }
.intro { display:grid; grid-template-columns:1fr 2fr; gap:4rem; }
.section-label { display:flex; gap:14px; align-items:center; color:var(--teal-dark); white-space:nowrap; }
.label-rule { display:inline-block; width:30px; height:3px; background:var(--yellow); }
.intro h2 { max-width:850px; font-size:clamp(2.5rem,4.4vw,4.7rem); margin-bottom:2rem; }
.intro p { max-width:650px; font-size:1.16rem; line-height:1.7; color:#415058; margin-bottom:0; }
.audiences { background:var(--cream); }
.section-heading { display:flex; justify-content:space-between; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.section-heading h2 { max-width:600px; font-size:clamp(2.5rem,4vw,4.3rem); margin:1.3rem 0 0; }
.section-heading p { max-width:355px; color:#465258; font-size:1.04rem; line-height:1.65; margin:0; }
.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.audience-card { min-height:205px; padding:25px; display:flex; flex-direction:column; background:#fff; }
.card-index { color:#6d7778; font-size:.68rem; }.audience-card h3 { font-size:clamp(1.22rem,1.8vw,1.6rem); letter-spacing:-.035em; margin:auto 0 1rem; }.card-line { height:5px; width:60px; }.yellow { background:var(--yellow); }.blue { background:#669598; }.red { background:var(--red); }.olive { background:var(--olive); }
.contact { background:var(--teal-dark); color:#fff; }
.contact-inner { display:grid; grid-template-columns:1.08fr 1fr; gap:7vw; padding-block:clamp(75px,9vw,125px); }
.section-label.on-dark { color:#b8d7d7; }.contact h2 { font-size:clamp(2.5rem,4.2vw,4.5rem); max-width:640px; margin:1.6rem 0 2.4rem; }
.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding-top:3.1rem; }
.detail-block h3 { text-transform:uppercase; font-size:.75rem; letter-spacing:.16em; color:#b8d7d7; border-bottom:1px solid #558186; padding-bottom:1.15rem; margin-bottom:1.6rem; }
.detail-block p { line-height:1.7; margin-bottom:1.7rem; color:#edf5f4; }.detail-block strong { color:#fff; }.detail-block a { text-decoration:underline; text-decoration-color:#a7c2c2; text-underline-offset:4px; }.detail-block a:hover { color:var(--yellow); }
.site-footer { background:#fff; }.footer-inner { display:flex; justify-content:space-between; padding-block:26px; font-size:.85rem; }.footer-inner a { text-decoration:none; font-weight:700; }
@media (max-width: 950px) { .wrap { width:min(100% - 48px,1260px); }.hero { grid-template-columns:1fr; }.hero-copy { padding:65px 24px 45px; }.hero-copy-inner { max-width:760px; margin-inline:auto; }.hero-number { display:none; }.hero-picture { height:auto; aspect-ratio:3/2; }.hero-picture img { object-fit:cover; }.intro { grid-template-columns:1fr; gap:2rem; }.section-heading { align-items:start; flex-direction:column; gap:1.3rem; }.audience-grid { grid-template-columns:repeat(2,1fr); }.contact-inner { grid-template-columns:1fr; gap:1rem; }.contact-details { padding-top:0; } }
@media (max-width: 580px) { .wrap { width:min(100% - 36px,1260px); }.header-inner { min-height:79px; }.brand-mark { width:35px; height:34px; }.brand-name { font-size:.72rem; }.brand-name strong { font-size:.97rem; }nav { gap:0; }nav a:not(.nav-contact) { display:none; }.nav-contact { padding:.65rem .8rem; font-size:.8rem; }.nav-contact span { margin-left:.35rem; }.hero-copy { padding:54px 18px 48px; }.hero-copy-inner { margin:0; }h1 { font-size:clamp(2.8rem,10vw,4rem); }.eyebrow { margin-bottom:1.8rem; }.hero-lead { font-size:1rem; }.hero-picture { aspect-ratio:3/2; }.picture-caption { padding:.65rem .7rem; font-size:.6rem; }.section-pad,.contact-inner { padding-block:75px; }.intro h2,.section-heading h2,.contact h2 { font-size:clamp(2.45rem,9vw,3.3rem); }.intro p { font-size:1.04rem; }.audience-grid { gap:10px; }.audience-card { min-height:145px; padding:16px; }.audience-card h3 { font-size:1.14rem; }.contact-details { grid-template-columns:1fr; gap:.7rem; }.detail-block h3 { margin-bottom:1rem; }.detail-block p { margin-bottom:1.3rem; }.footer-inner { gap:1rem; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }
