/* Windsor Watchers styles.
   Lime and bright yellow on a dark ink field, vintage detective comic-strip look.
   Local SIL OFL fonts. */
@font-face{font-family:"Alfa Slab One";src:url("/windsor-watchers/assets/fonts/AlfaSlabOne-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue";src:url("/windsor-watchers/assets/fonts/BebasNeue-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Special Elite";src:url("/windsor-watchers/assets/fonts/SpecialElite-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url("/windsor-watchers/assets/fonts/SourceSansPro-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url("/windsor-watchers/assets/fonts/SourceSansPro-Semibold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url("/windsor-watchers/assets/fonts/SourceSansPro-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  --ww-shadow:#0B1405;
  --ww-card:#142410;
  --ww-deep-lime:#5E8C12;
  --ww-lime:#9BE22E;
  --ww-yellow:#FFD400;
  --ww-yellow-deep:#E6C200;
  --ww-ink:#0B1405;
  --ww-text:#F4F8EA;
  --ww-muted:#C5D6A0;
  --ww-flare:#E8F5C8;
  --ww-ice:#F4F8EA;
  --ww-rule:rgba(155,226,46,.22);
  --ww-serif:"Alfa Slab One","Newsreader",Georgia,"Times New Roman",serif;
  --ww-display:"Alfa Slab One",Georgia,serif;
  --ww-stamp:"Special Elite","Courier New",monospace;
  --ww-condensed:"Bebas Neue","Arial Narrow",sans-serif;
  --ww-sans:"Source Sans Pro","Source Sans 3",system-ui,"Segoe UI",sans-serif;
  --ww-sheen:linear-gradient(180deg, rgba(255,255,230,.45) 0%, rgba(255,212,0,.2) 18%, rgba(255,212,0,0) 40%), linear-gradient(180deg, #c8f65a 0%, #9BE22E 52%, #6aad14 100%);
  --ww-sheen-yellow:linear-gradient(180deg, rgba(255,255,240,.55) 0%, rgba(255,255,240,0) 38%), linear-gradient(180deg, #ffe767 0%, #FFD400 55%, #E6C200 100%);
}
*{box-sizing:border-box}
html{font-size:19px;scroll-behavior:smooth;background:var(--ww-shadow)}
body.ww{
  margin:0;
  background:var(--ww-shadow);
  color:var(--ww-text);
  font-family:var(--ww-sans);
  line-height:1.55;
}
img{max-width:100%;height:auto}
a{color:var(--ww-lime);text-underline-offset:2px}
a:hover,a:focus-visible{color:var(--ww-yellow);text-decoration-color:var(--ww-yellow)}
.skip{position:absolute;left:-999px;top:auto}
.skip:focus{left:16px;top:16px;background:var(--ww-yellow);color:var(--ww-ink);padding:8px 12px;z-index:20}

.mockflag{
  position:sticky;top:0;z-index:1000;
  background:#7a2e0e;color:#fff;
  font:600 14px/1.35 var(--ww-sans);
  text-align:center;padding:8px 16px;
  border-bottom:3px solid var(--ww-ink);
}

.mast{
  background:
    linear-gradient(115deg, rgba(255,212,0,.14) 0 12%, rgba(155,226,46,.10) 12% 28%, transparent 28%),
    linear-gradient(180deg, #142410 0%, #0B1405 100%);
  color:var(--ww-text);
  padding:12px 0 0;
  position:relative;
}
.mast::after{
  content:"";
  display:block;
  height:3px;
  background:linear-gradient(90deg, transparent 0%, var(--ww-yellow) 18%, var(--ww-lime) 50%, var(--ww-yellow) 82%, transparent 100%);
}
.mast a{color:var(--ww-flare)}
.mast a:hover,.mast a:focus-visible{color:var(--ww-yellow)}
.mast .wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.home-link{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  opacity:.9;
  margin-bottom:8px;
}
.emblem-row{
  display:flex;align-items:center;gap:18px;
  padding:8px 0 18px;
}
.emblem-row picture{flex-shrink:0;line-height:0;display:block}
.emblem-row img{
  width:92px;height:92px;border-radius:50%;
  background:transparent;flex-shrink:0;
  box-shadow:0 0 0 3px var(--ww-shadow), 0 0 0 5px rgba(255,212,0,.7), 0 10px 22px rgba(0,0,0,.55);
}
.emblem-row .kicker{
  margin:0;font-family:var(--ww-condensed);
  font-size:1.05rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ww-lime);
}
.emblem-row .site-title{
  margin:2px 0 0;font-family:var(--ww-display);
  font-weight:400;font-size:clamp(1.85rem,4vw,2.7rem);
  letter-spacing:.01em;line-height:1.05;color:var(--ww-text);
}
.mast .entrance-tagline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  width:fit-content;
  max-width:100%;
  margin:0 auto 14px;
  padding:0 16px 4px;
  text-align:center;
  font-family:var(--ww-stamp);
  font-weight:400;
  font-size:clamp(18px,2.3vw,34px);
  line-height:1.2;
  color:var(--ww-yellow);
}
.mast .tagline-text{min-width:0}
.tagline-flare{
  flex:0 0 auto;
  width:clamp(18px,4vw,90px);
  height:.55em;
  background:var(--ww-yellow);
  clip-path:polygon(0 50%, 30% 0, 30% 36%, 100% 36%, 100% 64%, 30% 64%, 30% 100%);
}
.tagline-flare-end{
  clip-path:polygon(0 36%, 70% 36%, 70% 0, 100% 50%, 70% 100%, 70% 64%, 0 64%);
}
@media (max-width:640px){
  .mast .entrance-tagline{flex-wrap:nowrap;width:100%}
  .mast .entrance-tagline .tagline-text{white-space:normal;min-width:0}
  .emblem-row img{width:72px;height:72px}
}

.exhibit-nav{
  background:#070e03;
  border-bottom:3px solid var(--ww-yellow);
}
.exhibit-nav .wrap{
  width:min(1120px,calc(100% - 32px));margin:0 auto;
  display:flex;flex-wrap:wrap;gap:2px 0;
}
.exhibit-nav a,.exhibit-nav span.is-current{
  display:inline-block;
  color:var(--ww-flare);
  text-decoration:none;
  padding:10px 14px;
  font-size:.92rem;font-weight:600;
}
.exhibit-nav a:hover,.exhibit-nav a:focus-visible{
  background:var(--ww-yellow);color:var(--ww-ink);
}
.exhibit-nav span.is-current{
  background:var(--ww-lime);color:var(--ww-ink);
  box-shadow:inset 0 -3px 0 var(--ww-yellow);
}

.alert-911{
  background:var(--ww-yellow);
  border-bottom:3px solid var(--ww-ink);
  color:var(--ww-ink);
}
.alert-911 .wrap{
  width:min(1120px,calc(100% - 32px));margin:0 auto;
  padding:12px 0;
  font-size:.98rem;
}
.alert-911 strong{color:var(--ww-ink)}
.alert-911 a{color:var(--ww-ink);text-decoration-color:var(--ww-ink)}

main.chapter,main.ww-main{
  width:min(800px,calc(100% - 32px));
  margin:28px auto 64px;
}
main.wide{width:min(1120px,calc(100% - 32px))}
.crumbs{font-size:.85rem;color:var(--ww-muted);margin:0 0 10px}
h1,h2,h3{font-family:var(--ww-serif);font-weight:700;line-height:1.2;color:var(--ww-text)}
h1{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 12px}
h2{font-size:1.55rem;margin:1.8rem 0 .6rem}
h3{font-size:1.2rem;margin:1.3rem 0 .4rem}
.lede{font-size:1.15rem;margin:0 0 1.2rem;color:var(--ww-text)}
.note,.small{font-size:.92rem;color:var(--ww-muted)}
.photo-block{margin:1.2rem 0 1.4rem}
.photo-block img{
  border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,.55);
}
.photo-block figcaption,.credit{
  font-size:.85rem;color:var(--ww-muted);margin-top:.4rem;
}

.film{
  background:
    linear-gradient(180deg, rgba(255,212,0,.10) 0%, transparent 16%),
    var(--ww-card);
  color:var(--ww-text);
  padding:0;margin:0 0 1.6rem;border-radius:10px;overflow:hidden;
  border:1px solid var(--ww-deep-lime);
  box-shadow:0 22px 44px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,212,0,.2);
}
.film video{display:block;width:100%;background:#000}
.film .cap{padding:10px 14px;font-size:.88rem;color:var(--ww-muted)}

/* Cards: dark, glossy, reflective, deep drop shadow */
.callout,
.wanted-card,
.sup-tier,
.charity,
.spotlight-card,
.placeholder-note,
.process-note,
.form-result,
.tip-form,
table.data,
.contrib-box{
  background:
    linear-gradient(165deg, rgba(255,212,0,.10) 0%, rgba(155,226,46,.05) 22%, transparent 46%),
    var(--ww-card);
  color:var(--ww-text);
  border:1px solid var(--ww-deep-lime);
  border-radius:10px;
  box-shadow:0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.14);
}

.btn,a.btn,.sup-btn,button.btn{
  display:inline-block;
  background:var(--ww-sheen);
  color:var(--ww-ink) !important;
  text-decoration:none;
  font-weight:700;
  padding:10px 18px;
  border:2px solid var(--ww-deep-lime);
  border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,234,.45), 0 8px 16px rgba(0,0,0,.4);
  letter-spacing:.01em;
  cursor:pointer;
  font-family:inherit;
}
.btn:hover,a.btn:hover,.sup-btn:hover,button.btn:hover,
.btn:focus-visible,a.btn:focus-visible,.sup-btn:focus-visible,button.btn:focus-visible{
  background:var(--ww-yellow);
  color:var(--ww-ink) !important;
  border-color:var(--ww-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 0 0 2px rgba(255,212,0,.45);
}
.btn:active,a.btn:active,.sup-btn:active,button.btn:active{
  background:var(--ww-yellow-deep);
  color:var(--ww-ink) !important;
}
.btn-alert,a.btn-alert{
  background:var(--ww-yellow);
  color:var(--ww-ink) !important;
  border-color:var(--ww-ink);
}
.btn-alert:hover,a.btn-alert:hover,
.btn-alert:focus-visible,a.btn-alert:focus-visible{
  background:#fff3a0;
  color:var(--ww-ink) !important;
}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}

.callout{padding:16px 18px;margin:16px 0 20px;box-shadow:inset 4px 0 0 var(--ww-yellow), 0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.14)}
.callout.alert{border-color:var(--ww-yellow)}

.steps{counter-reset:step;list-style:none;padding:0;margin:0 0 1.4rem}
.steps li{
  counter-increment:step;
  position:relative;
  padding:10px 0 10px 48px;
  border-bottom:1px solid var(--ww-rule);
}
.steps li::before{
  content:counter(step);
  position:absolute;left:0;top:10px;
  width:32px;height:32px;border-radius:50%;
  background:var(--ww-lime);color:var(--ww-ink);
  font-weight:700;font-size:.95rem;
  display:flex;align-items:center;justify-content:center;
}

table.data{
  width:100%;border-collapse:separate;border-spacing:0;
  font-size:.92rem;
  margin:12px 0 8px;overflow:hidden;
  padding:0;
}
table.data th,table.data td{
  border-bottom:1px solid var(--ww-rule);
  padding:8px 10px;text-align:right;
  color:var(--ww-text);
}
table.data th:first-child,table.data td:first-child{text-align:left}
table.data thead th{background:#0B1405;color:var(--ww-lime);font-weight:600}
table.data tbody tr:nth-child(even){background:rgba(11,20,5,.45)}
.higher td:nth-child(2),.higher td:nth-child(3){font-weight:700;color:var(--ww-yellow)}

#ww-map{
  height:560px;width:100%;
  border:2px solid var(--ww-deep-lime);
  border-radius:8px;
  margin:12px 0;
  background:var(--ww-card);
  box-shadow:0 18px 36px rgba(0,0,0,.55);
}
.leaflet-container{font-family:var(--ww-sans);background:var(--ww-card);color:#0B1405}
.map-fallback{display:none;margin:12px 0}
.map-fallback img{border:2px solid var(--ww-deep-lime);border-radius:8px}
@media (max-width:640px){
  #ww-map{height:420px}
  .map-noscript .map-fallback,html.no-js .map-fallback{display:block}
  .exhibit-nav a,.exhibit-nav span.is-current{padding:10px 10px;font-size:.86rem}
  table.data{font-size:.8rem}
}

.legend{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:.85rem;margin:8px 0 16px;color:var(--ww-muted);
}
.legend .sw{width:22px;height:14px;border:1px solid var(--ww-deep-lime);display:inline-block;vertical-align:middle}

.wanted-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0}
.wanted-card{padding:14px 16px}
.wanted-card h3{margin:0 0 6px;font-size:1.15rem}
.wanted-card p{margin:.25rem 0;font-size:.92rem}
.do-not{color:var(--ww-yellow);font-weight:700}

.tip-form{padding:16px 18px}
.tip-form label{display:block;font-weight:600;margin:12px 0 4px;color:var(--ww-text)}
.tip-form input[type=text],.tip-form input[type=email],.tip-form input[type=tel],.tip-form textarea,.tip-form input[type=file]{
  width:100%;padding:8px 10px;
  border:2px solid var(--ww-deep-lime);border-radius:6px;
  font:inherit;background:#0B1405;color:var(--ww-text);
}
.tip-form textarea{min-height:140px}
.tip-form .check{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-weight:400}
.tip-form .check input{margin-top:6px}
.form-result{
  display:none;margin:16px 0;padding:14px 16px;
}

.sup-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0}
.sup-tier{padding:16px 18px}
.sup-tier.sup-feature{border-color:var(--ww-lime);box-shadow:0 0 0 2px var(--ww-lime), 0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.14)}
.sup-price{font-family:var(--ww-serif);font-size:2rem;margin:.2rem 0 .6rem;color:var(--ww-lime)}
.sup-price span{font-size:1rem;font-family:var(--ww-sans);color:var(--ww-muted)}
.charity-list{display:grid;gap:14px;margin:16px 0}
.charity{padding:16px 18px}
.charity.recommend{border-color:var(--ww-lime);box-shadow:0 0 0 2px var(--ww-lime), 0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.14)}
.charity .bn{font-size:.88rem;color:var(--ww-muted)}
.placeholder-note{padding:10px 14px;margin:12px 0;border-left:4px solid var(--ww-lime)}

.contrib-box{
  width:min(800px,calc(100% - 32px));
  margin:0 auto 32px;
  padding:16px 18px;
}

.site-footer{
  background:
    linear-gradient(180deg, rgba(255,212,0,.08) 0%, transparent 18%),
    #070e03;
  color:var(--ww-text);
  padding:28px 0 40px;margin-top:12px;
  border-top:3px solid var(--ww-deep-lime);
}
.site-footer a{color:var(--ww-lime)}
.site-footer a:hover{color:var(--ww-yellow)}
.site-footer .wrap, .site-footer .foot-cols, .site-footer .brand-row, .site-footer .foot-meta{
  width:min(1120px,calc(100% - 32px));margin-left:auto;margin-right:auto;
}
.foot-cols{display:grid;grid-template-columns:1fr;gap:12px 28px;padding-bottom:14px}
.foot-cols h2{color:var(--ww-lime);font-size:1rem;margin:0 0 6px;font-family:var(--ww-sans);letter-spacing:.08em;text-transform:uppercase}
.foot-cols ul{list-style:none;padding:0;margin:0;columns:2;column-gap:16px}
.foot-cols li{margin:0 0 2px;break-inside:avoid}
@media (min-width:720px){
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:719px){
  .foot-cols ul{column-gap:12px}
  .foot-cols a{font-size:16px}
}
.brand-row{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:18px 0;border-top:1px solid var(--ww-rule);
}
.brand-button{
  display:inline-flex;align-items:center;gap:8px;
  background:#142410;color:var(--ww-text) !important;text-decoration:none;
  border:2px solid var(--ww-deep-lime);border-radius:8px;padding:8px 12px;
  font-weight:700;font-size:.92rem;
  box-shadow:inset 0 1px 0 rgba(255,212,0,.2), 0 6px 14px rgba(0,0,0,.4);
}
.brand-button img{width:26px;height:26px;border-radius:50%;background:var(--ww-ice)}
.brand-button.is-current{background:var(--ww-lime);color:var(--ww-ink) !important;border-color:var(--ww-ink);box-shadow:inset 0 1px 0 rgba(255,255,234,.4), 0 0 0 2px var(--ww-yellow)}
.brand-button.is-current .brand-label{color:var(--ww-ink)}
.brand-button:hover,.brand-button:focus-visible{
  background:var(--ww-yellow) !important;
  color:var(--ww-ink) !important;
  border-color:var(--ww-ink);
}
.brand-button:hover .brand-label,
.brand-button:focus-visible .brand-label{color:var(--ww-ink) !important}
.brand-button.brand-rcr{background:#5c1630;border-color:#3a0d1e}
.brand-button.brand-wwc{background:#8b1a1a;border-color:#5a1010}

.brand-button.brand-wwc img,
img.wwc-ico{
  background:transparent;
  border-radius:0;
}
.brand-button.brand-news{background:#0c1220;border-color:#070a12}
.foot-meta{font-size:.85rem;color:var(--ww-muted);padding-top:8px}

body.ww .tip-line,
body.ww a[href^="sms:"],
body.ww a[href^="tel:"]{
  font-weight:700;
  text-decoration:none;
  color:var(--ww-ink);
  background:var(--ww-yellow);
  padding:.05em .35em;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(11,20,5,.35);
}
body.ww a[href^="sms:"]:hover,
body.ww a[href^="tel:"]:hover,
body.ww a[href^="sms:"]:focus-visible,
body.ww a[href^="tel:"]:focus-visible{
  background:var(--ww-yellow-deep);
  color:var(--ww-ink);
}

.example-flag,
.badge-alert{
  display:inline-block;
  background:var(--ww-yellow);
  color:var(--ww-ink);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:999px;
  margin:0 0 10px;
}
.spotlight-card{
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr;
  gap:20px;
  padding:16px;
  margin:16px 0 24px;
  align-items:start;
  border-style:dashed;
  border-color:var(--ww-yellow);
}
.spotlight-card img{width:100%;border:2px solid var(--ww-deep-lime);background:var(--ww-ice)}
.spotlight-card .slot-label{font-size:.9rem;color:var(--ww-muted)}
.process-note{padding:12px 16px;margin:16px 0}
@media (max-width:640px){
  .spotlight-card{grid-template-columns:1fr}
}

.cta-band{
  background:
    linear-gradient(165deg, rgba(255,212,0,.14) 0%, rgba(155,226,46,.08) 24%, transparent 50%),
    var(--ww-card);
  border:2px solid var(--ww-lime);
  border-radius:10px;
  padding:20px 22px 8px;
  margin:20px 0 28px;
  box-shadow:0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.16);
}
.cta-kicker{
  font-family:var(--ww-serif);
  font-weight:650;
  font-size:clamp(1.15rem,2.6vw,1.55rem);
  color:var(--ww-yellow);
  margin:0 0 8px;
  line-height:1.25;
}
.cta-action{font-size:1.15rem;margin:0 0 8px;color:var(--ww-text);font-weight:700}
.cta-note{font-size:.92rem;color:var(--ww-muted);margin:0 0 4px}
.contrib-box .cta-kicker{font-size:1.2rem;margin-bottom:8px}
.page-cta{margin:.2rem 0 1rem}

.flow-steps{
  list-style:none;
  margin:16px 0 28px;
  padding:0;
  display:grid;
  gap:12px;
}
.flow-steps li{
  background:var(--ww-card);
  border:1px solid rgba(155,226,46,.28);
  border-left:4px solid var(--ww-lime);
  border-radius:8px;
  padding:12px 16px 10px;
}
.flow-steps h3{margin:0 0 4px;font-size:1.05rem;color:var(--ww-yellow)}
.flow-steps p{margin:0;color:var(--ww-text)}
.partner-slots{
  list-style:none;
  margin:16px 0 28px;
  padding:0;
  display:grid;
  gap:12px;
}
.partner-slots li{
  background:var(--ww-card);
  border:1px dashed var(--ww-yellow-deep);
  border-radius:8px;
  padding:12px 16px 10px;
}
.partner-slots h3{margin:0 0 4px;font-size:1.05rem;color:var(--ww-flare)}
.partner-slots p{margin:0}
.form-result{
  display:none;
  margin:16px 0 0;
  padding:12px 14px;
  border-radius:8px;
  background:#142410;
  border:1px solid var(--ww-lime);
  color:var(--ww-text);
}


/* Coverage map: unpublished areas and Belle River label */
#ww-map path.ww-hatch{
  fill: url(#ww-no-data-hatch) !important;
  fill-opacity: 0.9;
}
.ww-hatch-sw{
  background: repeating-linear-gradient(45deg, #3a4430 0 4px, #8a9478 4px 8px) !important;
  border: 1px solid #C5D6A0;
  box-sizing: border-box;
}
.ww-place-label{
  background: #0B1405;
  color: #FFD400;
  border: 1px solid #FFD400;
  border-radius: 2px;
  font-weight: 700;
  font-size: 11px;
  padding: 1px 5px;
  box-shadow: none;
}
.ww-place-label::before{display:none}
.foot-meta p{margin:0 0 .4rem}


/* Comic-noir restyle: ink frames, halftone field, glossy lime and yellow. Body type stays Source Sans Pro for reading contrast. */
body.ww{
  background-color:var(--ww-shadow);
  background-image:
    radial-gradient(circle at 20% 0%, rgba(255,212,0,.08), transparent 42%),
    radial-gradient(circle at 100% 30%, rgba(155,226,46,.07), transparent 38%),
    repeating-radial-gradient(circle at 0 0, rgba(155,226,46,.07) 0 1px, transparent 1px 3px);
  background-attachment:fixed;
}
.mast{
  background:
    repeating-radial-gradient(circle at 0 0, rgba(255,212,0,.06) 0 1px, transparent 1px 3px),
    linear-gradient(115deg, rgba(255,212,0,.16) 0 12%, rgba(155,226,46,.12) 12% 28%, transparent 28%),
    linear-gradient(180deg, #1a2c14 0%, #0B1405 100%);
  border-bottom:4px solid var(--ww-ink);
}
.mast::after{
  height:5px;
  box-shadow:0 1px 0 rgba(255,255,230,.35);
}
.emblem-row img{
  box-shadow:
    0 0 0 3px var(--ww-ink),
    0 0 0 6px var(--ww-yellow),
    0 0 0 8px var(--ww-ink),
    0 12px 24px rgba(0,0,0,.6);
  background:transparent;
}
.brand-button.brand-ww img, img.ww-ico{
  background:transparent;
  border-radius:50%;
}

.exhibit-nav{
  background:var(--ww-ink);
  border-top:1px solid var(--ww-lime);
  border-bottom:3px solid var(--ww-yellow);
}
.exhibit-nav a, .exhibit-nav span{
  font-family:var(--ww-condensed);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.alert-911{
  background:var(--ww-yellow);
  color:var(--ww-ink);
  border-bottom:4px solid var(--ww-ink);
  font-weight:700;
}
.alert-911 a{color:var(--ww-ink)}

.ww-main h1, .chapter h1, main h1{
  font-family:var(--ww-display);
  font-weight:400;
  letter-spacing:.01em;
  line-height:1.15;
  color:var(--ww-text);
  text-shadow:2px 2px 0 var(--ww-ink);
}
.ww-main h2, .chapter h2, main h2{
  font-family:var(--ww-condensed);
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ww-lime);
}
.lede{
  font-size:1.08em;
}
.crumbs{font-family:var(--ww-stamp);font-size:.9rem;color:var(--ww-muted)}

.ww-main .callout, .chapter .callout, .cta-band, .wanted-card, .spotlight-card, .charity, .sup-tier, .tip-form, .film, .photo-block, .process-note, .contrib-box, .oath-swear{
  position:relative;
  border:3px solid var(--ww-ink) !important;
  box-shadow:
    0 0 0 2px var(--ww-lime),
    4px 4px 0 var(--ww-ink);
  background-image:repeating-radial-gradient(circle at 1px 1px, rgba(155,226,46,.06) 0 1px, transparent 1px 3px);
}
.callout.alert, .cta-band{
  box-shadow:
    0 0 0 2px var(--ww-yellow),
    4px 4px 0 var(--ww-ink);
}

/* Comic panel corners */
.ww-main .callout::before, .cta-band::before, .wanted-card::before, .tip-form::before, .film::before{
  content:"";
  position:absolute;
  top:-5px;left:-5px;
  width:14px;height:14px;
  border-top:3px solid var(--ww-yellow);
  border-left:3px solid var(--ww-yellow);
  pointer-events:none;
}
.ww-main .callout::after, .cta-band::after, .wanted-card::after, .tip-form::after, .film::after{
  content:"";
  position:absolute;
  bottom:-5px;right:-5px;
  width:14px;height:14px;
  border-bottom:3px solid var(--ww-yellow);
  border-right:3px solid var(--ww-yellow);
  pointer-events:none;
}

.btn, .sup-btn, button.btn{
  font-family:var(--ww-condensed);
  letter-spacing:.08em;
  text-transform:uppercase;
  border:3px solid var(--ww-ink) !important;
  box-shadow:0 3px 0 var(--ww-ink), inset 0 2px 0 rgba(255,255,230,.45);
  background-image:var(--ww-sheen);
  color:var(--ww-ink) !important;
  text-decoration:none;
}
.btn:hover, .sup-btn:hover, button.btn:hover,
.btn:focus-visible, .sup-btn:focus-visible, button.btn:focus-visible{
  background-image:var(--ww-sheen-yellow);
  color:var(--ww-ink) !important;
}
.btn-alert{
  background-image:var(--ww-sheen-yellow);
}

table.data{
  border:3px solid var(--ww-ink);
  box-shadow:3px 3px 0 var(--ww-lime);
  background:var(--ww-card);
}
table.data th{
  font-family:var(--ww-condensed);
  letter-spacing:.06em;
  text-transform:uppercase;
  background:var(--ww-ink);
  color:var(--ww-lime);
}
table.data td{border-color:var(--ww-rule)}

.site-footer{
  background:
    repeating-radial-gradient(circle at 0 0, rgba(155,226,46,.06) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, #0B1405 0%, #050a02 100%);
  border-top:5px solid var(--ww-yellow);
  color:var(--ww-muted);
}
.site-footer h2{
  font-family:var(--ww-condensed);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ww-lime);
}
.cta-kicker, .cta-action{
  font-family:var(--ww-stamp);
  color:var(--ww-yellow);
}
.do-not{font-family:var(--ww-stamp);color:var(--ww-yellow)}

#ww-map{
  border:4px solid var(--ww-ink);
  box-shadow:0 0 0 2px var(--ww-lime), 4px 4px 0 var(--ww-ink);
}


/* Entrance stage: same structure as War Chest / Rose City Roots, WW lime and yellow noir */
.hero{margin:0 0 8px}
.film-feature{margin:8px 0 22px}
.film-frame{
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  margin:0 0 12px;
  overflow:hidden;
  border:3px solid var(--ww-ink);
  box-shadow:0 0 0 2px var(--ww-lime), 4px 4px 0 var(--ww-ink);
}
.film-frame video{
  width:100%;
  height:100%;
  display:block;
  background:#000;
  object-fit:cover;
}
.entrance-stage{
  display:grid;
  gap:16px;
  margin:0 0 18px;
}
.entrance-copy{min-width:0}
.entrance-copy .lede{margin:0 0 .8rem}
.entrance-copy .film-note{
  margin:0 0 .8rem;
  max-width:42em;
  font-size:.92rem;
  color:var(--ww-muted);
}
.opening-pair{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  margin:8px 0 28px;
}
.opening-photo{margin:0}
.opening-photo .photo-frame{
  aspect-ratio:3 / 4;
  overflow:hidden;
  background:#000;
  border:3px solid var(--ww-ink);
  box-shadow:0 0 0 2px var(--ww-lime), 4px 4px 0 var(--ww-ink);
}
.opening-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  display:block;
}
.opening-photo figcaption{
  font-size:.85rem;
  color:var(--ww-muted);
  margin-top:.5rem;
}
.below-film h2{margin-top:0}
.below-film-top{display:block}
.enter-links{
  display:flex;
  flex-direction:column;
  margin:0 0 22px;
}
.enter-links a{
  min-height:44px;
  display:flex;
  align-items:center;
  color:var(--ww-lime);
  font-family:var(--ww-condensed);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:clamp(18px, 2.4vw, 24px);
  text-decoration:underline;
  text-underline-offset:3px;
}
.enter-links a:hover,.enter-links a:focus-visible{color:var(--ww-yellow)}
.below-film .enter-links{margin:0 0 14px}
@media (min-width:900px){
  .entrance-stage{
    grid-template-columns:minmax(0, 1.05fr) minmax(260px, .95fr);
    gap:16px 32px;
    align-items:start;
  }
  .film-frame{margin:0}
  .opening-pair{grid-template-columns:1fr 1fr;gap:28px}
  .below-film-top{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
    gap:12px 36px;
    align-items:start;
  }
}
@media (max-width:720px){
  .below-film-top{display:block}
  .enter-links a{font-size:18px}
}

/* Nav balance fix, 11 Nov 2026: five tabs on the top row, four centred on the bottom
   with the same tab width. Phone stays two columns, last tab left in place. */
.exhibit-nav .wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:2px;
}
.exhibit-nav .wrap > a,.exhibit-nav .wrap > span{
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  padding:10px 8px;
  min-width:0;
  box-sizing:border-box;
  flex:0 0 calc((100% - 8px) / 5);
  width:calc((100% - 8px) / 5);
  max-width:calc((100% - 8px) / 5);
}
@media (max-width:640px){
  .exhibit-nav .wrap{justify-content:flex-start}
  .exhibit-nav .wrap > a,.exhibit-nav .wrap > span{
    padding:10px 6px;
    font-size:.84rem;
    flex:0 0 calc((100% - 2px) / 2);
    width:calc((100% - 2px) / 2);
    max-width:calc((100% - 2px) / 2);
  }
}
@media (min-width:900px){
  .mast .entrance-tagline{white-space:nowrap;width:auto;max-width:none}
  .mast .entrance-tagline .tagline-text{white-space:nowrap}
}

/* Possible-reward stamp and Wanted official-photo cards. 10 November 2026.
   Stamp is out of flow so the mast and nav do not shift. Hidden on small screens. */
header.mast .wrap{position:relative}
a.ww-reward-stamp{
  position:absolute;
  z-index:4;
  left:640px;
  top:2px;
  width:448px;
  height:124px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#C41A1A;
  pointer-events:auto;
  box-sizing:border-box;
}
a.ww-reward-stamp:hover,
a.ww-reward-stamp:focus-visible{
  color:#E02424;
  text-decoration:none;
}
a.ww-reward-stamp:focus-visible{
  outline:2px solid #FFD400;
  outline-offset:4px;
}
.ww-reward-stamp-ink{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:10px 14px 8px;
  box-sizing:border-box;
  transform:rotate(-6deg);
  border:5px solid #C41A1A;
  border-radius:8px;
  box-shadow:inset 0 0 0 3px #C41A1A;
  background:transparent;
  font-family:"Special Elite","Courier New",monospace;
  font-weight:400;
  line-height:.95;
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
  opacity:.92;
  filter:url(#ww-stamp-ink);
}
.ww-reward-stamp-line1{
  display:block;
  font-size:42px;
  letter-spacing:.14em;
}
.ww-reward-stamp-line2{
  display:block;
  font-size:36px;
  letter-spacing:.04em;
  margin-top:.08em;
}
/* 12 Nov 2026: hide the reward stamp below 1120px so mid-width screens
   do not slide sideways. The stamp is 448px wide and sits at left 640px,
   so it only fits once the header is desktop-wide. overflow-x:clip is a
   backstop so any leftover paint cannot widen the page. */
header.mast{
  overflow-x:clip;
}
@media (max-width:1119px){
  a.ww-reward-stamp{display:none}
}
#possible-reward{scroll-margin-top:24px}

.wanted-photo{
  margin:0 0 10px;
  background:#0B1405;
  border:1px solid #5E8C12;
}
.wanted-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  background:#0B1405;
}
.wanted-photo figcaption,
.wanted-placeholder figcaption{
  margin:0;
  padding:6px 8px 8px;
  font-size:.8rem;
  color:#C5D6A0;
}
.wanted-placeholder{
  margin:0 0 10px;
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    repeating-linear-gradient(-45deg, rgba(155,226,46,.07) 0 8px, transparent 8px 16px),
    #0B1405;
  border:1px dashed #5E8C12;
  color:#9BE22E;
  text-align:center;
}
.wanted-placeholder .ph-label{
  font-family:"Special Elite","Courier New",monospace;
  font-size:1.05rem;
  letter-spacing:.04em;
  padding:24px 12px 8px;
  color:#FFD400;
}
.arrest-label{
  color:#FFD400;
  font-weight:700;
}

/* crime-watch-on-map:start */
#crime-watch{margin-top:2.2rem;padding-top:1.4rem;border-top:2px solid var(--ww-deep-lime)}
#crime-watch .map-fallback{display:block}
/* crime-watch-on-map:end */

/* how-to-turn-yourself-in:start */
.turn-in{
  margin:20px 0 28px;
  overflow:hidden;
  background:
    linear-gradient(165deg, rgba(255,212,0,.10) 0%, rgba(155,226,46,.05) 22%, transparent 46%),
    var(--ww-card);
  color:var(--ww-text);
  border:1px solid var(--ww-deep-lime);
  border-radius:10px;
  box-shadow:0 18px 36px rgba(0,0,0,.55), inset 0 1px 0 rgba(244,248,234,.14), inset 4px 0 0 var(--ww-lime);
}
.turn-in .turn-in-photo{
  margin:0;
}
.turn-in .turn-in-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:260px;
  object-fit:cover;
  object-position:center 42%;
  border-radius:0;
  box-shadow:none;
}
.turn-in .turn-in-photo figcaption{
  font-size:.85rem;
  color:var(--ww-muted);
  margin:0;
  padding:8px 18px 0;
}
.turn-in .turn-in-body{
  padding:12px 18px 18px;
}
.turn-in h2{
  margin:8px 0 10px;
}
.turn-in .steps{
  margin:.4rem 0 1rem;
}
.turn-in .steps li p,
.turn-in .steps li ul{
  margin:.45rem 0 0;
}
.turn-in .steps li ul{
  padding-left:1.15rem;
}
.turn-in h3{
  margin:1rem 0 .25rem;
  font-size:1.05rem;
}
.turn-in .small{
  margin:.35rem 0 .7rem;
}
@media (max-width:600px){
  .turn-in .turn-in-photo img{max-height:180px}
  .turn-in .turn-in-body{padding:10px 14px 16px}
  .turn-in .turn-in-photo figcaption{padding:8px 14px 0}
}
/* Only the two top-level steps get numbered circles. Nested contact lists stay ordinary bullets. */
.turn-in .steps ul{
  list-style:disc;
  margin:.45rem 0 .2rem;
}
.turn-in .steps ul li{
  counter-increment:none;
  position:static;
  padding:2px 0 2px .15rem;
  border-bottom:none;
}
.turn-in .steps ul li::before{
  content:none !important;
  display:none !important;
}
/* how-to-turn-yourself-in:end */

/* other-services-wanted:start */
.wanted-service{
  display:flex;
  align-items:center;
  gap:10px;
  margin:8px 0 10px;
  font-size:.92rem;
}
.wanted-service img{
  width:48px;height:48px;
  object-fit:cover;
  border-radius:6px;
  border:1px solid var(--ww-deep-lime);
  background:#0B1405;
}
.wanted-service .svc-name{font-weight:700}
.wanted-service .svc-note{color:var(--ww-muted);font-size:.85rem}
.checked-line{margin:1rem 0 1.6rem}
/* other-services-wanted:end */

/* footer-standards-2026-11-12:start
   Keep Windsor Watchers' own button colours and content-sized desktop
   buttons (a filled equal-width row made Windsor War Chest wrap). Add
   72px of footer padding so the Get the app pill sits under the last
   line. On a phone the buttons stack at equal width with the usual
   16px inset. Site tops are unchanged. */
body.ww .site-footer{
  padding-bottom:max(72px, calc(60px + env(safe-area-inset-bottom, 0px)));
  box-sizing:border-box;
  overflow-x:clip;
}
body.ww .site-footer .brand-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
  width:min(1120px, calc(100% - 32px));
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
body.ww .site-footer .brand-row .site-pair{
  display:flex;
  flex:0 1 auto;
  min-width:0;
  gap:8px;
  align-items:stretch;
}
body.ww .site-footer .brand-row .brand-button,
body.ww .site-footer .brand-row a.brand-button,
body.ww .site-footer .brand-row span.brand-button,
body.ww .site-footer .brand-row .site-pair .brand-button,
body.ww .site-footer .brand-row .site-pair a.brand-button,
body.ww .site-footer .brand-row .site-pair span.brand-button{
  display:flex;
  flex:0 1 auto;
  min-width:0;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  min-height:46px;
  height:auto;
  white-space:nowrap;
}
@media (max-width:720px){
  body.ww .site-footer .brand-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  body.ww .site-footer .brand-row .site-pair{display:contents}
  body.ww .site-footer .brand-row .brand-button,
  body.ww .site-footer .brand-row a.brand-button,
  body.ww .site-footer .brand-row span.brand-button,
  body.ww .site-footer .brand-row .site-pair .brand-button,
  body.ww .site-footer .brand-row .site-pair a.brand-button,
  body.ww .site-footer .brand-row .site-pair span.brand-button{
    width:100%;
    max-width:100%;
    min-height:46px;
    flex:none;
    white-space:nowrap;
  }
}
/* footer-standards-2026-11-12:end */

/* 12 Nov 2026: long official URLs on How to Report were widening a 390px
   phone screen by about 14px. Allow those links to wrap. */
main.ww-main a{
  overflow-wrap:anywhere;
  word-break:break-word;
}
