@import url("design-tokens.css");@import url("subpage-phase2.css");
:root{--red:#CD2026;--gold:#E0AC26;--cream:#F7F5EB;--ink:#191613;--teal:#077187;--line:rgba(25,22,19,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-primary)}.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:28px;padding:18px clamp(22px,6vw,90px);background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.brand{width:128px}.brand img{width:100%}.site-header nav{display:flex;gap:clamp(14px,2.5vw,34px);margin-left:auto}.site-header nav a,.header-link{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.site-header nav a:hover,.header-link:hover{color:var(--red)}.header-link{border-left:1px solid var(--line);padding-left:24px;color:var(--red)}.mobile-nav{display:none}.page-hero{padding:clamp(90px,13vw,190px) clamp(22px,9vw,150px) 80px;background:var(--red);color:#fff}.eyebrow,.kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}h1{font-size:clamp(64px,10vw,150px);line-height:.84;letter-spacing:-.075em;margin:28px 0 0;max-width:1000px}h1 em,h2 em{font-style:italic;color:var(--gold)}.page-section{padding:clamp(75px,10vw,145px) clamp(22px,9vw,150px);border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:54px}h2{font-size:clamp(42px,6vw,86px);line-height:.9;letter-spacing:-.065em;margin:0}.lead{font-size:18px;line-height:1.6;color:#665f57;max-width:560px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{min-height:230px;padding:24px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:7px;background:#fff;transition:transform .4s ease,background .4s ease}.card:hover{transform:translateY(-8px);background:#fff2d1}.card b{color:var(--red);font-size:11px}.card h3{font-size:32px;letter-spacing:-.05em;margin:70px 0 12px}.card p{font-size:14px;line-height:1.45;color:#665f57}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{padding:34px;border-radius:7px;background:var(--teal);color:#fff;min-height:260px}.panel.gold{background:var(--gold);color:var(--ink)}.panel h3{font-size:42px;letter-spacing:-.06em;margin:45px 0 0}.panel p{line-height:1.55}.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px clamp(22px,6vw,90px);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.site-footer img{width:110px}.site-footer a{color:var(--red)}@media(max-width:850px){.site-header{padding:16px 22px}.site-header nav,.header-link{display:none}.mobile-nav{display:flex;flex-direction:column;gap:20px;padding:28px 22px;background:var(--red);color:#fff}.mobile-nav a{font-size:25px}.section-head,.split{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}}
.skip-link{position:fixed;z-index:40;left:18px;top:12px;transform:translateY(-170%);background:var(--aurum-red);color:#fff;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;transition:transform .25s var(--ease-editorial)}.skip-link:focus{transform:none}.shell-menu{display:none;margin-left:auto;border:1px solid var(--aurum-red);background:transparent;color:var(--aurum-red);padding:10px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.mobile-nav[aria-label="Mobile navigation"] a[aria-current="page"]{color:var(--aurum-gold)}
/* header.php's .menu-toggle button (shared with the homepage) needs its own
   desktop-hide rule here — styles.css supplies this on the homepage, but
   subpage.css never did, which is what let it render unstyled and overlap
   the desktop nav/Contact link on every subpage. modern-refresh.css already
   supplies the max-width:850px override that shows it again on mobile. */
.menu-toggle{display:none}
@media(max-width:850px){.shell-menu{display:block}.mobile-nav.is-open{display:flex;position:fixed;z-index:4;inset:74px 0 auto 0;max-height:calc(100svh - 74px);overflow:auto;transform:none}.mobile-nav.is-open a{font-size:25px}}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}
.site-header nav{gap:7px;align-items:center}.site-header nav a{position:relative;display:inline-flex;align-items:center;color:var(--aurum-ink);padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);text-decoration:none;transition:color .25s var(--ease-editorial),background .25s var(--ease-editorial),border-color .25s var(--ease-editorial),transform .25s var(--ease-editorial)}.site-header nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--aurum-gold);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease-editorial)}.site-header nav a:hover{color:var(--aurum-red);background:rgba(224,172,38,.12);border-color:rgba(224,172,38,.55);transform:translateY(-1px)}.site-header nav a:hover::after,.site-header nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}.site-header nav a[aria-current="page"]{color:var(--aurum-red);background:rgba(205,32,38,.055);border-color:rgba(205,32,38,.34)}.site-header nav a[aria-current="page"]::before{content:"";width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--aurum-gold)}.site-header .header-link{color:var(--aurum-red);text-decoration:none}.site-header .header-link:hover{color:var(--aurum-ink)}
@media(max-width:850px){.site-header nav a{padding:0;border:0;border-radius:0;background:none}.site-header nav a::after,.site-header nav a::before{display:none}}
@media(prefers-reduced-motion:reduce){.site-header nav a{transition:none}}
