/* DLKennedy V7.3 — One public header, homepage visual identity across every route.
   Keep all navigation styling here rather than duplicating rules in page CSS. */
.site-header{position:relative;z-index:60;top:auto;left:auto;right:auto;width:100%;background:#f4f1ea;border:0;box-shadow:none;font-family:Inter,Arial,sans-serif;color:#111212}
.page-home .site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(244,241,234,.97) 0%,rgba(244,241,234,.89) 49%,rgba(244,241,234,0) 100%)}
.site-header .header-layout{width:min(1392px,calc(100% - 10.2%));margin:0 auto;min-height:111px;height:111px;display:grid;grid-template-columns:minmax(238px,1fr) auto minmax(152px,1fr);align-items:center;gap:clamp(20px,3vw,48px);position:relative;padding:0}
.site-header .brand{display:flex;align-items:center;gap:15px;min-width:0;width:max-content;max-width:100%;text-decoration:none;line-height:1.4;letter-spacing:normal;color:#111212}
.site-header .brand img{display:block;width:77px;height:77px;object-fit:contain;flex:none}
.site-header .brand-copy{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.site-header .brand-copy strong{font-size:13px;font-weight:800;letter-spacing:.065em;line-height:1.3}
.site-header .brand-copy>span{font-size:9px;font-weight:500;letter-spacing:.17em;line-height:1.55}
.site-header .desktop-nav{position:static;display:flex;align-items:center;justify-content:center;gap:clamp(15px,2.5vw,39px);width:max-content;margin:0}
.site-header .desktop-nav a{display:inline-block;position:relative;padding:12px 0;color:#111212;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.135em;line-height:1.35;border:0;white-space:nowrap;text-transform:uppercase}
.site-header .desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;width:0;height:3px;background:#d5a021;transition:width .2s}
.site-header .desktop-nav a:hover::after,.site-header .desktop-nav a:focus-visible::after,.site-header .desktop-nav a[aria-current="page"]::after{width:31px}
.site-header .header-cta{justify-self:end;display:inline-flex;align-items:center;gap:12px;white-space:nowrap;border:1px solid #d5a021;color:#fff;background:#0b0c0c;border-radius:30px;padding:12px 20px;text-decoration:none;font-size:11px;letter-spacing:.13em;line-height:1.2;font-weight:700;min-width:0}
.site-header .header-cta span{font-size:18px;line-height:1;color:#d5a021;margin:0}
.site-header .header-cta:hover{background:#1d2222}
.site-header .menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;justify-self:end;width:43px;height:43px;padding:0;border:1px solid #b39324;background:#f4f1ea;border-radius:50%;cursor:pointer;flex:none}
.site-header .menu-toggle span{display:block;width:17px;height:2px;background:#111212;transition:transform .2s,opacity .2s}
.site-header .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.site-header .mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:70;background:#f4f1ea;border-top:1px solid #d6d3cd;box-shadow:0 24px 34px #0002;padding:18px max(20px,5.1vw) 26px}
.site-header .mobile-nav:not([hidden]){display:flex;flex-direction:column}
.site-header .mobile-nav a{display:block;padding:13px 0;border:0;border-bottom:1px solid #d9d4c9;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.14em;text-decoration:none;color:#111212}
.site-header .mobile-nav a[aria-current="page"]{color:#056e7b;border-bottom-color:#d5a021}
.site-header .mobile-nav a:hover{color:#087987}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #1b9aaa;outline-offset:4px}
@media(max-width:1350px){
 .site-header .header-layout{display:flex;justify-content:space-between;gap:18px;min-height:100px;height:100px}
 .site-header .desktop-nav{display:none}
 .site-header .header-cta{margin-left:auto;justify-self:auto}
 .site-header .menu-toggle{display:flex}
}
@media(max-width:900px){
 .site-header .header-layout{height:93px;min-height:93px}
 .site-header .brand{gap:8px}
 .site-header .brand img{height:60px;width:60px}
 .site-header .brand-copy strong{font-size:11px}
 .site-header .brand-copy>span{font-size:8px}
 .site-header .header-cta{font-size:10px;padding:10px 14px}
}
@media(max-width:680px){
 .site-header .header-layout{width:calc(100% - 40px);height:81px;min-height:81px}
 .page-home .site-header{background:linear-gradient(180deg,rgba(244,241,234,.95),rgba(244,241,234,.1))}
 .site-header .brand img{height:56px;width:56px}
 .site-header .brand-copy strong{font-size:10px}
 .site-header .brand-copy>span{font-size:7px}
 .site-header .header-cta{display:none}
 .site-header .menu-toggle{width:45px;height:45px;margin-left:auto}
 .site-header .mobile-nav{padding-left:20px;padding-right:20px}
}
@media(max-width:350px){
 .site-header .brand img{width:48px;height:48px}
 .site-header .brand-copy strong{font-size:9px}
 .site-header .brand-copy>span{font-size:6.5px}
 .site-header .header-layout{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){.site-header *{transition:none!important}}
