:root { --red:#e00b00; --ink:#101010; --white:#fff; --container:1440px; --gutter:clamp(20px,5vw,76px); --font-display:"Montserrat",sans-serif; --font-data:"IBM Plex Mono",monospace; --ease:cubic-bezier(.16,.84,.44,1); --shadow:0 24px 70px rgba(5,5,5,.16); }
.site-header { position:fixed; top:0; right:0; left:0; z-index:9999; color:var(--white); transition:background .25s ease,box-shadow .25s ease; }
.site-header.is-scrolled,.site-header.is-menu-open { background:rgba(16,16,16,.98); box-shadow:0 12px 40px rgba(0,0,0,.18); backdrop-filter:blur(14px); }
.site-header__bar { display:grid; width:min(100%,var(--container)); min-height:144px; margin-inline:auto; align-items:center; grid-template-columns:240px minmax(0,1fr) 240px; gap:clamp(12px,1vw,20px); padding:0 var(--gutter); box-sizing:border-box; }
.brand { display:inline-flex; align-items:center; flex:none; line-height:0; }.brand img { width:225px; height:auto; }
.primary-navigation { display:flex; align-items:center; justify-content:center; gap:clamp(12px,1vw,18px); }
.primary-navigation>a,.services-dropdown__trigger { padding:58px 0; border:0; background:transparent; color:var(--white); cursor:pointer; font-family:var(--font-display); font-size:14px; font-weight:600; letter-spacing:.02em; text-decoration:none; }
.primary-navigation>a { position:relative; }.primary-navigation>a::after { position:absolute; right:0; bottom:45px; left:0; height:2px; background:var(--red); content:""; transform:scaleX(0); transform-origin:right; transition:transform .25s ease; }.primary-navigation>a:hover::after { transform:scaleX(1); transform-origin:left; }
.services-dropdown__trigger { display:flex; align-items:center; gap:8px; }.services-dropdown__trigger svg { width:10px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s ease; }.services-dropdown__trigger[aria-expanded="true"] svg { transform:rotate(180deg); }
.services-menu { position:absolute; top:78px; right:0; left:0; display:grid; max-height:calc(100vh - 78px); overflow:auto; grid-template-columns:minmax(230px,.35fr) minmax(0,1fr); gap:clamp(30px,5vw,88px); padding:clamp(34px,4vw,64px) var(--gutter); background:var(--ink); border-top:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(-12px); transition:opacity .25s ease,transform .3s var(--ease); }.services-menu.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
.services-menu__heading p { margin:0 0 12px; color:var(--red); font-family:var(--font-data); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }.services-menu__heading strong { display:block; max-width:18ch; font-family:var(--font-display); font-size:clamp(22px,2vw,32px); line-height:1.2; }
.services-menu ol { display:grid; margin:0; padding:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 26px; list-style:none; }.services-menu__link { display:grid; min-height:76px; align-content:center; grid-template-columns:30px 1fr; gap:3px 8px; padding:12px; color:#fff; border-bottom:1px solid rgba(255,255,255,.12); text-decoration:none; transition:background .2s ease,border-color .2s ease; }.services-menu__link:hover,.services-menu__link.is-current { background:rgba(224,11,0,.12); border-color:var(--red); }.services-menu__link>span { color:var(--red); font-family:var(--font-data); font-size:10px; grid-row:1 / span 2; }.services-menu__link strong { font-family:var(--font-display); font-size:12px; font-weight:600; line-height:1.35; }.services-menu__link small { color:rgba(255,255,255,.48); font-family:var(--font-data); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.site-header__actions { display:flex; align-items:center; justify-self:end; gap:14px; }.button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:15px 24px; border:0; color:#fff; font-family:var(--font-display); font-size:13px; font-weight:700; text-decoration:none; }.button--primary { background:var(--red); }.button--primary:hover { background:#b90900; }.site-header__actions .button--compact { min-height:48px; padding:12px 18px; font-size:13px; white-space:nowrap; }.nav-toggle,.sr-only { display:none; }#slide-out { display:none!important; }
.reading-progress { height:2px; background:rgba(255,255,255,.08); }.reading-progress span { display:block; width:0; height:100%; background:var(--red); }
@media(max-width:1240px){.site-header{isolation:isolate;z-index:9999}.site-header__bar{grid-template-columns:auto auto 1fr}.nav-toggle{display:inline-grid;width:44px;height:44px;place-content:center;gap:5px;border:0;background:transparent;cursor:pointer}.nav-toggle>span:not(.sr-only){display:block;width:23px;height:2px;background:var(--white);transition:transform .2s ease,opacity .2s ease}.nav-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-navigation{position:fixed;top:144px;right:0;left:0;z-index:10000;display:none;max-height:calc(100vh - 144px);overflow:auto;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:0;padding:18px var(--gutter) 28px;background:var(--ink);border-top:1px solid rgba(255,255,255,.12)}.primary-navigation.is-open{display:flex}.primary-navigation>a,.services-dropdown__trigger{width:100%;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.services-dropdown__trigger{justify-content:space-between}.services-menu{position:static;display:none;max-height:none;overflow:visible;grid-template-columns:1fr;padding:28px 0 10px;box-shadow:none;opacity:1;pointer-events:auto;transform:none}.services-menu.is-open{display:grid}.services-menu ol{grid-template-columns:repeat(2,minmax(0,1fr))}.services-menu__heading{display:none}.site-header__actions{justify-self:end}}
@media(max-width:820px){.site-header__bar{min-height:96px;grid-template-columns:minmax(0,1fr) auto;gap:8px}.brand img{width:190px}.primary-navigation{top:96px;max-height:calc(100dvh - 96px)}.site-header__actions{display:none}.nav-toggle{justify-self:end}.services-menu ol{grid-template-columns:1fr}.services-menu__link{min-height:66px}}
