/* Compact shared masthead and footer, drawn from the Killerburst proportions. */
.announcement { display:block; padding:0; background:#171716; color:#dcd7cf; font-size:10px; letter-spacing:1.2px; }
.utility-inner { display:flex; justify-content:space-between; align-items:center; min-height:28px; gap:20px; }
.announcement a { font-size:11px; letter-spacing:.2px; color:#dcd7cf; }
.site-header, .has-scrolled .site-header { height:76px; margin:0; background:#f1ece3; transition:none; box-shadow:0 1px 0 #29251d1a; }
.header-main, .has-scrolled .header-main { position:relative; height:76px; padding:0; display:flex; align-items:center; flex-wrap:nowrap; gap:28px; transition:none; }
.logo { width:222px; flex:0 0 222px; }
.logo img { width:100%; max-width:none; mix-blend-mode:multiply; }
.logo span { display:none; }
.nav, .has-scrolled .nav { position:static; display:flex; flex:1; height:76px; width:auto; margin:0; padding:0; border:0; gap:23px; align-items:center; justify-content:center; font-size:13px; font-weight:500; transition:none; }
.nav > a { white-space:nowrap; }
.shop-menu { position:static; height:100%; }
.shop-trigger { height:100%; font-size:13px; }
.nav > a, .nav .shop-trigger { font-weight:600; }
.nav > a:hover, .shop-trigger:hover { color:#8b6438; }
.mega-menu { top:100%; left:0; right:0; width:100%; background:#fcfcfa; text-align:left; }
.header-actions { display:flex; gap:18px; align-items:center; flex-shrink:0; }
.phone { margin:0; font-size:17px; letter-spacing:-.3px; line-height:1.35; }
.phone span { font-size:8px; color:#777064; letter-spacing:1px; margin-bottom:3px; }
.search-toggle { width:34px; height:40px; display:grid; place-items:center; padding:7px; border:0; background:transparent; }
.search-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; }
.menu-toggle { display:none; }
.header-search[hidden] { display:none; }
.header-search { position:absolute; top:100%; left:0; right:0; background:#f1ece3; border-top:1px solid #d9d1c4; box-shadow:0 12px 24px #0002; }
.search-inner { display:flex; gap:20px; padding-block:18px; align-items:center; }
.site-search { display:flex; flex:1; order:0; max-width:none; margin:0; padding:10px 14px; background:#fffdf8; border:1px solid #d8cfbf; }
.site-search input { font-size:16px; }
.search-close { border:0; background:transparent; font-size:28px; width:40px; height:40px; }
html { scroll-padding-top:94px; }
.site-footer { display:block; width:100%; margin:0; padding:52px 0 0; background:#171716; color:#f5f0e7; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:70px; padding-bottom:38px; }
.site-footer .footer-logo { display:inline-block; font-size:21px; font-weight:700; letter-spacing:1.8px; margin-bottom:17px; }
.site-footer p { color:#bcb6ac; font-size:14px; line-height:1.8; }
.site-footer h2 { font:23px/1.2 var(--serif); letter-spacing:-.3px; margin-bottom:20px; }
.footer-address { display:block; margin-top:22px; font-size:14px; line-height:1.7; color:#d8d0c4; }
.footer-browse > a, .footer-connect > a { display:block; width:fit-content; font-size:14px; margin-bottom:10px; color:#d8d0c4; }
.footer-connect > .footer-phone { font-size:21px; color:#fff8ed; }
.footer-connect p { margin-top:20px; }
.site-footer a:hover { color:#d8b584; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:20px; border-top:1px solid #ffffff20; color:#a59e92; font-size:12px; }
.footer-bottom small { color:inherit; font-size:12px; }
@media(min-width:1101px) and (max-width:1250px) {
 .header-main { gap:20px; }.logo { width:200px; flex-basis:200px; }.nav { gap:17px; font-size:12px; }.shop-trigger { font-size:12px; }.header-actions { gap:12px; }.phone { font-size:16px; }
}
@media(max-width:1100px) {
 .site-header, .has-scrolled .site-header { height:70px; }
 .header-main, .has-scrolled .header-main { height:70px; gap:18px; }
 .logo { width:220px; flex-basis:220px; }
 .header-actions { margin-left:auto; gap:20px; }
 .phone { font-size:18px; }.phone span { font-size:8px; }
 .menu-toggle { display:flex; width:28px; height:34px; padding:5px 2px; background:none; border:0; flex-direction:column; justify-content:center; gap:6px; }
 .menu-toggle span { height:1.5px; width:22px; background:var(--ink); transition:transform .2s; }
 .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.75px) rotate(45deg); }
 .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.75px) rotate(-45deg); }
 .nav, .has-scrolled .nav { display:none; position:absolute; top:100%; left:0; right:0; height:auto; max-height:calc(100dvh - 98px); width:100%; overflow:auto; padding:12px 22px 22px; background:#f1ece3; box-shadow:0 15px 25px #0002; }
 .nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .nav > a { padding:13px 0; border-bottom:1px solid #d8cfbf; font-size:15px; }
 .shop-menu { position:relative; display:block; height:auto; }
 .shop-trigger { display:flex; width:100%; height:48px; justify-content:space-between; font-size:15px; }
 .mega-menu { position:static; width:100%; box-shadow:none; border:0; border-top:2px solid var(--gold); }
 .mega-grid { grid-template-columns:1fr 1fr; padding:20px; gap:25px; }
 .mega-top { padding:18px 20px; }.mega-top > span { display:none; }
 .mega-feature { display:none!important; }.mega-bottom { display:block; padding:18px 20px; }
 .mega-bottom > a { display:block; margin-top:12px; }
}
@media(max-width:760px) {
 .utility-inner { min-height:25px; justify-content:center; }.announcement { font-size:9px; letter-spacing:.9px; }.announcement a { display:none; }
 .site-header, .has-scrolled .site-header { height:65px; }.header-main, .has-scrolled .header-main { height:65px; gap:10px; }
 .logo { width:auto; flex:1; min-width:0; }.logo img { width:100%; max-width:205px; }
 .header-actions { gap:9px; }.phone { font-size:14px; }.phone span { font-size:7px; letter-spacing:.5px; }
 .search-toggle { width:27px; height:36px; padding:4px; }.search-toggle svg { width:19px; height:19px; }
 .menu-toggle { width:25px; }.menu-toggle span { width:21px; }
 .nav, .has-scrolled .nav { max-height:calc(100dvh - 90px); }
 .mega-grid { grid-template-columns:1fr; }.mega-menu .mega-all { font-size:16px; }.mega-column a { font-size:15px; }
 .search-inner { padding-block:12px; gap:8px; }.site-search { padding:8px 10px; }
 html { scroll-padding-top:82px; }
 .site-footer { padding-top:36px; }.footer-grid { grid-template-columns:1fr 1fr; gap:32px 22px; padding-bottom:30px; }
 .footer-identity { grid-column:1/-1; }.site-footer .footer-logo { font-size:21px; }.site-footer h2 { font-size:21px; }
 .footer-connect > .footer-phone { font-size:17px; }.footer-browse > a,.footer-connect > a { font-size:13px; overflow-wrap:anywhere; }
 .footer-bottom { flex-wrap:wrap; gap:10px 20px; padding-bottom:calc(95px + env(safe-area-inset-bottom)); }.footer-bottom > span { display:none; }
}
@media(max-width:380px) { .header-actions { gap:7px; }.phone { font-size:12px; }.phone span { font-size:6px; }.logo img { min-width:95px; } }
