@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;0,800;1,400&display=swap');
:root{--red:#BB060A;--red-dark:#960508;--green:#1D8A4C;--yellow:#EBDA1B;--ink:#2B2D42;--ink-mid:rgba(43,45,66,.72);--ink-soft:rgba(43,45,66,.55);--bg:#FAF9F8;--surface:#F1F1F1;--line:#E7E4E2;--white:#fff;--radius:10px;--shadow:0 1px 2px rgba(43,45,66,.06),0 8px 24px rgba(43,45,66,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Source Sans 3',Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6}
h1,h2,h3,h4{line-height:1.15;margin:0 0 14px;text-wrap:pretty;font-weight:800}
h1{font-size:clamp(34px,4.5vw,54px)}
h2{font-size:clamp(26px,3vw,36px)}
h3{font-size:21px}
p{margin:0 0 14px;text-wrap:pretty}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-dark);text-decoration:underline}
img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;color:var(--red);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.lede{font-size:20px;color:var(--ink-mid);max-width:60ch}
.muted{color:var(--ink-soft)}
section{padding:72px 0}
section.tight{padding:48px 0}
.band{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-ink{background:var(--ink);color:#fff}
.band-ink h2{color:#fff}
.band-ink a{color:#fff;text-decoration:underline}
.btn{display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:16px;padding:13px 26px;border-radius:8px;border:1px solid var(--red);cursor:pointer;font-family:inherit}
.btn:hover{background:var(--red-dark);color:#fff;text-decoration:none}
.btn-outline{display:inline-block;background:transparent;color:var(--red);font-weight:700;font-size:16px;padding:13px 26px;border-radius:8px;border:1.5px solid var(--red);cursor:pointer;font-family:inherit}
.btn-outline:hover{background:var(--red);color:#fff;text-decoration:none}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.card.lift{box-shadow:var(--shadow)}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.chip{display:inline-block;background:var(--surface);border-radius:999px;padding:6px 16px;font-weight:600;font-size:15px}
.badge{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:6px}
.badge.red{background:rgba(187,6,10,.09);color:var(--red)}
.badge.green{background:rgba(29,138,76,.12);color:var(--green)}
.badge.navy{background:rgba(43,45,66,.08);color:var(--ink)}
.page-hero{background:var(--white);border-bottom:1px solid var(--line);padding:64px 0 56px}
.page-hero .lede{margin-bottom:0}
.rule{border:none;border-top:1px solid var(--line);margin:0}
ul.ticks{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:9px}
ul.ticks li{padding-left:26px;position:relative}
ul.ticks li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:2px;background:var(--red)}
.topbar{background:var(--ink);color:#fff;font-size:13.5px}
.topbar .wrap{display:flex;gap:22px;align-items:center;min-height:36px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600}
.topbar a:hover{color:var(--yellow)}
.topbar .spacer{margin-left:auto}
.nav{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.nav-inner{display:flex;align-items:center;gap:10px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand:hover{text-decoration:none;color:var(--ink)}
.brand .mark{width:40px;height:40px;border-radius:9px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:.02em}
.brand b{display:block;font-size:18px;line-height:1.1;white-space:nowrap}
.brand small{display:block;font-size:12px;color:var(--ink-soft);font-weight:600}
.menu{display:flex;gap:2px;margin-left:auto;align-items:center}
.menu>li{list-style:none;position:relative}
.menu{padding:0;margin:0 0 0 auto}
.menu a{display:block;color:var(--ink);font-weight:600;font-size:15.5px;padding:10px 12px;border-radius:7px;white-space:nowrap}
.menu a:hover{color:var(--red);text-decoration:none}
.menu a.on{color:var(--red)}
.menu .cta{background:var(--red);color:#fff;margin-left:8px;padding:10px 18px}
.menu .cta:hover{background:var(--red-dark);color:#fff}
.sub{display:none;position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:8px;min-width:280px;margin:0;list-style:none;z-index:70}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{padding:9px 12px;font-size:15px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:9px 11px;cursor:pointer}
.burger span{display:block;width:20px;height:2.5px;background:var(--ink);margin:4px 0;border-radius:2px}
footer.site{background:var(--ink);color:rgba(255,255,255,.85);margin-top:0}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding:56px 0 44px}
footer.site h4{color:#fff;font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
footer.site a{color:rgba(255,255,255,.85)}
footer.site a:hover{color:var(--yellow);text-decoration:none}
footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer.site .legal{border-top:1px solid rgba(255,255,255,.15);padding:18px 0;font-size:13.5px;color:rgba(255,255,255,.6);display:flex;gap:18px;flex-wrap:wrap}
footer.site .legal .spacer{margin-left:auto}
.contact-line{display:grid;gap:8px;font-size:15.5px}
form.std{display:grid;gap:16px}
form.std label{font-weight:700;font-size:15px;display:grid;gap:6px}
form.std input,form.std textarea,form.std select{font-family:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);width:100%}
form.std input:focus,form.std textarea:focus{outline:2px solid rgba(187,6,10,.35);border-color:var(--red)}
@media(max-width:960px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:36px}footer.site .cols{grid-template-columns:1fr 1fr}}
@media(max-width:1120px){.burger{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:2px;box-shadow:var(--shadow)}.nav-inner.open .menu{display:flex}.sub{display:block;position:static;border:none;box-shadow:none;padding:0 0 0 16px;min-width:0}.menu .cta{margin:10px 0 0}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}section{padding:52px 0}.topbar .hide-s{display:none}footer.site .cols{grid-template-columns:1fr}}

/* Home redesign (editorial) */
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:var(--white)}
.strip img{width:100%;height:190px;object-fit:cover;display:block}
.kicker{display:block;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.mark-y{background:linear-gradient(transparent 58%,#ffe066 58%);padding:0 4px}
.sec-red{background:var(--red);color:#fff}
.sec-red h2{color:#fff}
.sec-red .kicker{color:rgba(255,255,255,.85)}
.sec-red a{color:#fff}
.sec-red .btn-light{color:var(--red)}
.sec-red .lede{color:rgba(255,255,255,.92)}
.btn-light{display:inline-block;background:#fff;color:var(--red);font-weight:700;padding:13px 24px;border-radius:8px}
.btn-light:hover{text-decoration:none;background:#f6efe9}
.cluster{display:flex;gap:22px;justify-content:center;align-items:flex-start;flex-wrap:wrap}
.print{background:#fff;padding:10px 10px 28px;box-shadow:0 14px 34px rgba(0,0,0,.28);transform:rotate(-2.5deg);width:min(300px,80vw)}
.print+.print{transform:rotate(3deg);margin-top:34px}
.print img{width:100%;height:340px;object-fit:cover;display:block}
.flow-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:30px}
.fcard{border-top:2px solid var(--ink);padding-top:20px}
.fcard.s3{grid-column:span 3}
.fcard.s2{grid-column:span 2}
.fcard h3{margin:10px 0 10px}
.fcard p{color:var(--ink-soft);margin:0 0 12px}
.ed-num{font-size:15px;font-weight:800;color:var(--red)}
img.banner{width:100%;display:block;object-fit:cover;max-height:540px;margin-top:10px}
@media(max-width:960px){.flow-grid{grid-template-columns:1fr 1fr}.fcard.s3,.fcard.s2{grid-column:auto}.strip{grid-template-columns:repeat(3,1fr)}.strip img:nth-child(n+4){display:none}}

/* Mobile auto-stacking for inline-styled sections */
@media(max-width:760px){
  div[style*="grid-template-columns:130px 1fr 130px"]{display:block !important}
  div[style*="grid-template-columns:130px 1fr 130px"]>div:first-child,
  div[style*="grid-template-columns:130px 1fr 130px"]>div:last-child{display:none !important}
  div[style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr !important}
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  div[style*="grid-template-columns:1.4fr 1fr"],
  div[style*="grid-template-columns:2fr 1fr"],
  div[style*="grid-template-columns:300px 1fr"],
  div[style*="grid-template-columns:1fr 300px"],
  div[style*="grid-template-columns:120px 1fr"],
  div[style*="grid-template-columns:1fr 380px"]{grid-template-columns:1fr !important}
  div[style*="grid-template-columns:1fr minmax(320px,460px) 1fr"]{grid-template-columns:1fr !important}
  div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  div[style*="grid-template-columns:repeat(8,1fr)"]{grid-template-columns:repeat(4,1fr) !important}
  div[style*="position:sticky"][style*="height:100vh"]{position:static !important;height:auto !important}
  .vac{grid-template-columns:1fr !important}
  .vac .ph{min-height:220px}
  img,image-slot,iframe{max-width:100%}
  h1{font-size:34px !important}
  h2{font-size:27px !important}
}

@media(max-width:760px){
  html,body{overflow-x:hidden;max-width:100vw}
  body *{min-width:0}
  img{height:auto}
  a,p,h1,h2,h3,li,span{overflow-wrap:anywhere}
  .wrap{max-width:100%;padding-left:18px;padding-right:18px}
}

@media(max-width:760px){
  .brand{gap:10px;padding-right:64px}
  .brand .mark{width:96px !important;height:46px !important;flex:0 0 auto}
  .brand-txt b,.brand b{font-size:16px;line-height:1.15;display:block;white-space:normal}
  .brand span:not(.mark){font-size:11px}
}

/* Mobile: keep photo boxes the same shape as desktop so saved crops match */
@media(max-width:960px){
  .bio-v .bio-vph{height:auto !important;aspect-ratio:19/15}
  .tm .ph{height:auto !important;aspect-ratio:27/22}
}
@media(max-width:760px){
  .bio-ph{height:auto !important;min-height:0 !important;aspect-ratio:3/4}
  .vac .ph{min-height:0;aspect-ratio:17/12}
}
