/* Shared shell: one masthead, one search overlay, one legal footer across the site. */
.masthead{
  height:112px;background:#f4f1e9;display:grid;
  grid-template-columns:420px 176px minmax(300px,1fr) 42px 190px;
  align-items:center;column-gap:10px;padding:4px 4.2vw 3px;position:relative;z-index:40;overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.08);color:#11100f;
}
.masthead .brand{display:block;width:415px;max-width:100%;transform:rotate(-.35deg);transform-origin:left center;position:relative;z-index:45}
.masthead .brand img{display:block;width:100%;height:auto}
.masthead .motto{font:900 14px/.96 "Courier New",Courier,monospace;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap;margin-left:-2px}
.masthead .nav{display:flex;align-items:center;justify-content:center;gap:clamp(28px,3vw,52px);font:400 18px/1 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase}
.masthead .nav a{position:relative;padding:12px 0;color:inherit;text-decoration:none}
.masthead .nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:3px;background:#d92520;transition:right .16s ease}
.masthead .nav a:hover::after,.masthead .nav a[aria-current="page"]::after{right:0}
.masthead .search{width:34px;height:34px;position:relative;display:block;border:0;background:transparent;cursor:pointer;padding:0}
.masthead .search::before{content:"";position:absolute;width:12px;height:12px;border:3px solid #111;border-radius:50%;left:7px;top:6px}
.masthead .search::after{content:"";position:absolute;width:11px;height:3px;background:#111;transform:rotate(45deg);left:19px;top:20px;border-radius:2px}
.masthead .badge{justify-self:end;min-width:184px;color:#fff;background:#d92520;font:400 17px/.92 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;text-align:center;letter-spacing:.02em;padding:17px 20px 15px;transform:rotate(-2.5deg);clip-path:polygon(3% 0,97% 2%,100% 10%,98% 20%,100% 30%,98% 40%,100% 50%,98% 60%,100% 70%,98% 80%,100% 90%,96% 100%,3% 98%,0 90%,2% 80%,0 70%,2% 60%,0 50%,2% 40%,0 30%,2% 20%,0 10%);box-shadow:0 5px 0 rgba(0,0,0,.05);position:relative}
.masthead .badge::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.4)}

.search-overlay{position:fixed;inset:0;z-index:2000;background:rgba(10,10,9,.94);display:none;color:#fff;padding:8vh 5vw;overflow:auto}
.search-overlay.open{display:block}
.search-panel{max-width:920px;margin:0 auto;background:#f4f1e9;color:#111;padding:30px 30px 34px;box-shadow:14px 16px 0 #d92520;position:relative}
.search-panel h2{margin:0 50px 8px 0;font:700 clamp(38px,5vw,64px)/.9 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.search-panel .search-sub{margin:0 0 20px;font:900 11px/1.4 "Courier New",monospace;text-transform:uppercase;color:#69635b}
.search-close{position:absolute;right:20px;top:16px;border:0;background:transparent;font:400 38px/1 Arial;cursor:pointer;color:#111}
.search-input{width:100%;border:2px solid #111;background:#fffdf8;padding:15px 16px;font:20px/1.2 Arial,sans-serif;outline:none}
.search-input:focus{box-shadow:0 0 0 3px rgba(217,37,32,.18)}
.search-results{margin-top:22px;display:grid;gap:12px}
.search-result{display:block;border-top:1px solid #c9c0b2;padding:15px 2px 4px;color:#111;text-decoration:none}
.search-result:first-child{border-top:0}
.search-result small{font:900 10px/1 "Courier New",monospace;text-transform:uppercase;color:#777}
.search-result h3{margin:5px 0 4px;font:700 25px/1 Georgia,"Times New Roman",serif}
.search-result p{margin:0;color:#5d574f;line-height:1.35}
.search-empty{padding:18px 0;font:900 12px/1.5 "Courier New",monospace;text-transform:uppercase;color:#6c665d}

.site-legal-footer{background:#0d0d0c;color:#8c8881;border-top:1px solid rgba(255,255,255,.11);padding:18px 5vw 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font:900 9px/1.4 "Courier New",monospace;text-transform:uppercase;letter-spacing:.07em}
.site-legal-footer nav{display:flex;gap:17px;flex-wrap:wrap}
.site-legal-footer a{color:#aaa59c;text-decoration:none}
.site-legal-footer a:hover{color:#fff}
.byline-link{text-decoration:underline;text-decoration-color:#d92520;text-decoration-thickness:2px;text-underline-offset:3px}

@media(max-width:1200px){
  .masthead{grid-template-columns:minmax(320px,380px) 160px 1fr 36px;height:auto;min-height:108px;padding:4px 3vw;column-gap:10px}
  .masthead .brand{width:min(370px,100%)}.masthead .badge{display:none}.masthead .nav{gap:26px}
}
@media(max-width:900px){
  .masthead{grid-template-columns:auto 1fr;padding:7px 20px;gap:4px 14px}
  .masthead .brand{width:min(410px,64vw);min-width:0}.masthead .motto{grid-column:2;grid-row:1;font-size:11px;margin-left:0;justify-self:start}
  .masthead .nav{grid-column:1/3;justify-content:flex-start;gap:24px;border-top:1px solid rgba(0,0,0,.12);padding-top:2px;font-size:16px;padding-right:42px}
  .masthead .search{position:absolute;right:20px;bottom:9px}.masthead .badge{display:none}
}
@media(max-width:600px){
  .masthead{grid-template-columns:1fr;padding:6px 14px;gap:0}.masthead .brand{grid-column:1;width:min(360px,92vw)}
  .masthead .motto{grid-column:1;grid-row:auto;font-size:10px;margin:0 0 2px 6px}.masthead .nav{grid-column:1;overflow-x:auto;white-space:nowrap;gap:19px;font-size:14px;padding-right:38px}
  .search-overlay{padding:5vh 18px}.search-panel{padding:25px 18px 28px;box-shadow:8px 9px 0 #d92520}.search-panel h2{font-size:43px}
  .site-legal-footer{align-items:flex-start;flex-direction:column}
}
