@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/homepage/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/homepage/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/homepage/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/homepage/space-mono-400.ttf) format('truetype');
}

/* Shared navigation; scoped to preserve existing product-page presentation. */
.ec-primary { position:relative; display:flex; align-items:center; gap:32px; margin-left:auto; }
.ec-primary>a,.ec-projects>summary { display:flex; align-items:center; min-height:44px; padding:10px 0; color:inherit; font:500 12px/1.5 'DM Sans',system-ui,sans-serif; letter-spacing:.025em; text-decoration:none; }
.ec-primary>a:hover,.ec-projects>summary:hover { text-decoration:underline; text-underline-offset:4px; }
.ec-primary :focus-visible { outline:2px solid #A9472D; outline-offset:5px; }
.ec-projects>summary { cursor:pointer; list-style:none; gap:9px; }
.ec-projects>summary::-webkit-details-marker { display:none; }
.ec-chevron { width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.ec-projects[open] .ec-chevron { transform:rotate(225deg) translate(-2px,-1px); }
.ec-mega { position:absolute; top:calc(100% + 10px); right:0; z-index:101; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:900px; max-width:calc(100vw - 64px); padding:32px; background:#F5F0E8; border:1px solid #E3E9E1; color:#1C2B3A; }
.ec-mega-column { min-width:0; }
.ec-mega-column+.ec-mega-column { margin-left:24px; padding-left:24px; border-left:1px solid #E3E9E1; }
.ec-mega .ec-mega-heading { margin:0 0 16px; color:#A9472D; font:400 11px/1.5 'Space Mono',monospace; letter-spacing:.18em; text-transform:uppercase; }
.ec-mega a,.ec-unavailable { display:block; padding:12px 0; font:500 15px/1.5 'DM Sans',system-ui,sans-serif; text-decoration:none; }
.ec-mega a { color:#1C2B3A; }
.ec-mega a:hover { color:#A9472D; text-decoration:underline; text-underline-offset:4px; }
.ec-mega-description { display:block; margin-top:5px; color:#1C2B3A; font-size:12px; font-weight:400; line-height:1.5; }
.ec-mega .ec-mega-all { grid-column:1/-1; margin-top:24px; padding:18px 0 0; border-top:1px solid #E3E9E1; color:#A9472D; font-size:12px; }
.ec-mega a:hover .ec-mega-description { color:#1C2B3A; text-decoration:none; }
.ec-unavailable { color:var(--bp-ink,#1C2B3A); cursor:default; }
.ec-unavailable small { display:block; font-size:11px; font-weight:400; }
.ec-primary .ec-contact-link { justify-content:center; padding:10px 20px; border-radius:999px; background:var(--deep-navy,#142536); color:var(--white,#FFFFFF); border-color:var(--burnt-orange,#D2643C); }
.ec-primary .ec-contact-link:hover { background:var(--deep-navy,#142536); color:var(--white,#FFFFFF); border-color:var(--burnt-orange,#D2643C); text-decoration:none; }
.bp-menu .ec-primary { color:var(--bp-ink,#1C2B3A); }
.bp-menu .ec-chevron { color:#1C2B3A; }
.site-header .ec-primary { color:#F5F0E8; }
@media (max-width:1023.98px) {
 .ec-primary { width:100%; flex-direction:column; align-items:stretch; gap:4px; }
 .ec-primary .ec-contact-link { align-self:flex-start; }
 .ec-mega { position:static; grid-template-columns:minmax(0,1fr); width:100%; max-width:none; margin:8px 0 16px; padding:24px; }
 .ec-mega-column+.ec-mega-column { margin:20px 0 0; padding:20px 0 0; border-left:0; border-top:1px solid #E3E9E1; }
 .site-header .navbar-expand-lg>.container { flex-wrap:wrap; }
 .site-header .navbar-expand-lg .navbar-toggler { display:block; }
 .site-header .navbar-expand-lg .navbar-collapse { flex-basis:100%; }
 .site-header .navbar-expand-lg .navbar-collapse:not(.show):not(.collapsing) { display:none!important; }
 .site-header .navbar-expand-lg .navbar-collapse.show { display:block!important; }
}
