
:root {
  --navy:#002339; --paper:#F7F7F5; --card:#FFFFFF; --sage:#5F907B;
  --copper:#B47E42; --copper-bright:#C67F35; --stone:#E6E0D2; --mist:#EEF4F0;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--navy);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6;}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.15;}
a{color:var(--copper);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1000px;margin:0 auto;padding:0 24px;}

/* header — solid navy everywhere, so contrast never depends on what's behind
   or below it (photo hero, light page background, whatever) */
header.site{background:var(--navy);border-bottom:0;
  box-shadow:0 2px 10px rgba(0,20,33,.18);position:sticky;top:0;z-index:50;}
header.site .wrap{position:relative;display:flex;align-items:center;
  justify-content:space-between;padding:16px 24px;flex-wrap:wrap;gap:10px;}
.brand:hover{text-decoration:none;}
.brand-text{display:flex;flex-direction:column;}
.brand .mark{font-family:"Playfair Display",serif;font-size:24px;font-weight:700;
  color:#F4F0E8;border-bottom:1px solid var(--copper);padding-bottom:2px;}
.brand .mk-az{color:var(--copper-bright);}
.brand{display:inline-flex;align-items:center;gap:10px;}
.byline{margin-top:18px;font-size:14px;color:var(--sage);display:flex;
  align-items:center;gap:7px;font-weight:500;}
.byline svg{width:16px;height:16px;flex:none;}
nav.site{display:flex;align-items:center;gap:22px;}
nav.site a{color:rgba(244,240,232,.88);font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;font-weight:600;}
nav.site a.navcta{background:var(--copper-bright);color:#fff;padding:9px 18px;
  border-radius:8px;box-shadow:0 3px 10px rgba(198,127,53,.35);}
nav.site a.navcta:hover{text-decoration:none;background:#b8722c;}

/* hamburger toggle -- hidden desktop, shown + nav collapsed to a dropdown below */
.navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;flex:none;background:none;border:0;cursor:pointer;
  padding:0;}
.navtoggle span{display:block;width:100%;height:2px;background:#F4F0E8;
  border-radius:1px;}
@media(max-width:680px){
  .navtoggle{display:flex;}
  nav.site{display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;background:var(--navy);
    padding:8px 24px 20px;box-shadow:0 12px 20px -8px rgba(0,20,33,.35);}
  nav.site.open{display:flex;}
  nav.site a{padding:13px 0;border-top:1px solid rgba(244,240,232,.14);}
  nav.site a.navcta{margin-top:12px;padding:13px 18px;text-align:center;}
}

.label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);
  font-weight:700;}

/* hero — soft cheery band */
.hero{padding:40px 0 26px;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--paper) 100%);
  border-bottom:1px solid var(--stone);}
.hero h1{font-size:36px;margin:6px 0 4px;}
.hero .sub{color:#41586b;font-size:16px;}
.badge{display:inline-flex;align-items:center;gap:7px;background:var(--mist);
  color:#3f6b57;border:1px solid #bcd8ca;border-radius:999px;padding:6px 15px;
  font-size:12.5px;letter-spacing:.03em;font-weight:600;margin-top:16px;}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--sage);}
.badge-note{max-width:640px;margin:12px 0 0;color:#41586b;font-size:14.5px;}

/* thin-line icons */
.ico{width:20px;height:20px;flex:0 0 auto;}
.label{display:inline-flex;align-items:center;gap:7px;}
.label .ico{width:15px;height:15px;color:var(--sage);}

/* above-the-fold action band: stats + teaser update form + claim CTA */
.actionband{position:relative;overflow:hidden;background:var(--card);
  border:1px solid var(--stone);border-radius:16px;padding:24px 26px;margin:24px 0 6px;
  box-shadow:0 6px 22px rgba(0,35,57,.07);}
.actionband::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M0 0h48v48H0z' fill='none'/%3E%3Cpath d='M0 .5H48M.5 0V48' stroke='%23002339' stroke-opacity='0.05'/%3E%3Cpath d='M12 12h24v24H12z' fill='none' stroke='%23B47E42' stroke-opacity='0.06'/%3E%3C/svg%3E");}
.actionband>*{position:relative;}
.statstrip{display:flex;flex-wrap:wrap;gap:10px 26px;margin-bottom:18px;}
.stat{display:flex;align-items:center;gap:9px;}
.stat .ico{color:var(--copper);}
.stat .n{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;
  line-height:1;}
.stat .t{font-size:12px;color:#5f7688;letter-spacing:.02em;}
.teaser h3{font-family:"Playfair Display",serif;font-size:20px;margin:0 0 3px;}
.teaser p.sm{margin:0 0 12px;color:#41586b;font-size:14px;}
.teaserform{display:flex;gap:10px;flex-wrap:wrap;}
.teaserform input{flex:1 1 260px;padding:14px 15px;border:1px solid var(--stone);
  border-radius:10px;font-size:15px;background:#fff;}
.teaserform input:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(95,144,123,.18);}
.teaserform .btn{flex:0 0 auto;}
.btn .ico{width:18px;height:18px;vertical-align:-3px;margin-right:6px;}

/* systems rows with icons */
.systems li .name{display:inline-flex;align-items:center;gap:10px;}
.systems li .name .ico{color:var(--copper);}
.subhead{font-family:"Playfair Display",serif;font-size:19px;margin:26px 0 2px;
  display:flex;align-items:center;gap:8px;}
.subhead .ico{width:17px;height:17px;color:var(--sage);}
.rech{font-family:"Playfair Display",Georgia,serif;font-size:23px;font-weight:600;
  margin:0 0 4px;line-height:1.2;}
.leaflet-container{font:inherit;}

/* systems condition-at-a-glance card grid */
.sysgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:12px;margin-top:16px;}
.syscard{display:flex;align-items:center;gap:12px;background:var(--card);
  border:1px solid var(--stone);border-radius:12px;padding:13px 14px;
  box-shadow:0 1px 3px rgba(0,35,57,.04);}
.syscard>div{min-width:0;}          /* let long values wrap instead of overflowing */
.syscard .ico{width:22px;height:22px;flex:none;color:var(--copper);}
.syscard .sk{font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--sage);font-weight:600;}
.syscard .sv{font-weight:600;font-size:15px;line-height:1.25;overflow-wrap:anywhere;}
/* "Get it done" suggestion cards -- compact, buttons stay side by side */
.suggrid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:10px;}
.suggcard{padding:11px 12px;align-items:flex-start;}
.sugreason{font-size:12px;color:#5f7688;margin-top:2px;line-height:1.35;}
.sugbtns{margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.sugbtns .btn-sm-primary,.sugbtns .btn-sm{font-size:11.5px;padding:6px 9px;
  white-space:nowrap;}
.sugbtns .s-log{color:#5f7688;border-color:transparent;background:none;
  padding-left:10px;padding-right:10px;}
.sugbtns .s-log:hover{color:var(--navy);text-decoration:underline;}
.addform-toggle summary{cursor:pointer;list-style:none;user-select:none;}
.addform-toggle summary::-webkit-details-marker{display:none;}
.addform-toggle .chev{display:inline-block;transition:transform .15s ease;
  color:var(--sage);font-size:15px;}
.addform-toggle[open] .chev{transform:rotate(90deg);}

/* claim page step cards */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;margin-top:22px;}
.step{background:var(--card);border:1px solid var(--stone);border-radius:14px;
  padding:22px 20px;box-shadow:0 1px 3px rgba(0,35,57,.04);}
.step .stepnum{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--mist);color:var(--sage);
  margin-bottom:12px;}
.step .stepnum .ico{width:18px;height:18px;}
.step h3{font-family:"Playfair Display",serif;font-size:18px;margin:0 0 5px;}
.step p{margin:0;color:#41586b;font-size:14px;}
.notice{background:var(--mist);border:1px solid #bcd8ca;border-radius:12px;
  padding:16px 18px;margin-top:26px;color:#3f6b57;font-size:14px;}

/* honey-do list builder (primary CTA) */
.honeydo{position:relative;overflow:hidden;background:var(--card);
  border:1px solid var(--stone);border-radius:18px;padding:26px 26px 28px;
  margin:24px 0 8px;box-shadow:0 8px 28px rgba(0,35,57,.09);}
.honeydo::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M0 .5H48M.5 0V48' stroke='%23002339' stroke-opacity='0.05'/%3E%3Cpath d='M12 12h24v24H12z' fill='none' stroke='%23B47E42' stroke-opacity='0.06'/%3E%3C/svg%3E");}
.honeydo>*{position:relative;}
.honeydo h2{font-size:26px;margin:2px 0 4px;}
.honeydo .lead{color:#41586b;font-size:15px;max-width:640px;margin:0 0 6px;}
.suggests{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:12px;margin:18px 0 14px;}
.chip{text-align:left;cursor:pointer;position:relative;display:block;
  background:#fff;border:1px solid var(--stone);border-radius:12px;
  padding:14px 42px 14px 46px;font:inherit;color:var(--navy);
  box-shadow:0 1px 3px rgba(0,35,57,.04);transition:border-color .12s,box-shadow .12s;}
.chip:hover{border-color:var(--sage);}
.chip .ico{position:absolute;left:14px;top:15px;color:var(--copper);
  width:20px;height:20px;}
.chip .cl{display:block;font-weight:600;line-height:1.25;}
.chip .cr{display:block;font-size:12.5px;color:#5f7688;margin-top:2px;}
.chip .plus{position:absolute;right:13px;top:11px;width:24px;height:24px;
  border-radius:50%;background:var(--mist);color:var(--sage);font-size:17px;
  line-height:24px;text-align:center;font-weight:700;}
.chip.on{border-color:var(--sage);background:var(--mist);
  box-shadow:0 0 0 2px rgba(95,144,123,.3);}
.chip.on .plus{background:var(--sage);color:#fff;}
.chip.marked-done{opacity:.55;}
.chip.marked-done .plus{display:none;}
.chipwrap{display:flex;flex-direction:column;}
.already-did{background:none;border:none;padding:5px 4px 0;margin:0;text-align:left;
  font:inherit;font-size:12px;color:var(--sage);cursor:pointer;text-decoration:underline;
  align-self:flex-start;}
.already-did:hover{color:var(--copper);}
.already-did:disabled{color:#5f7688;text-decoration:none;cursor:default;}
.done-form{margin:6px 2px 0;padding:10px;background:var(--mist);border-radius:10px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.done-form select,.done-form input{font:inherit;font-size:13px;padding:6px 8px;
  border:1px solid var(--stone);border-radius:7px;}
.done-form button{font:inherit;font-size:13px;padding:6px 10px;border-radius:7px;
  border:1px solid var(--sage);background:var(--sage);color:#fff;cursor:pointer;}
.done-form button.cancel{background:none;border-color:var(--stone);color:var(--navy);}
.done-msg{font-size:12px;color:var(--sage);margin:5px 2px 0;}
.addrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.fieldlabel{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sage);font-weight:600;margin:0 0 4px 2px;}
.addrow>div input,.addrow>div select{width:100%;box-sizing:border-box;}
.addrow input:not([type=radio]):not([type=checkbox]){flex:1 1 240px;padding:13px 15px;
  border:1px solid var(--stone);border-radius:10px;font-size:15px;font-family:inherit;
  background:#fff;}
.addrow input:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(95,144,123,.18);}
.addrow select{flex:1 1 240px;appearance:none;-webkit-appearance:none;
  padding:13px 40px 13px 15px;border:1px solid var(--stone);border-radius:10px;
  font-size:15px;color:var(--navy);cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235F907B' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 15px center;}
.addrow select:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(95,144,123,.18);}
.addrow button{flex:0 0 auto;background:var(--mist);color:#3f6b57;font-weight:600;
  border:1px solid #bcd8ca;border-radius:10px;padding:0 20px;cursor:pointer;
  font-size:14px;}
.listwrap{margin:18px 0 6px;padding-top:16px;border-top:1px dashed var(--stone);}
.listwrap .cap{font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--sage);font-weight:700;margin-bottom:10px;}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--card);
  border:1px solid var(--sage);color:var(--navy);border-radius:999px;
  padding:6px 8px 6px 15px;margin:0 8px 8px 0;font-size:14px;}
.tag button{border:0;background:var(--mist);color:var(--sage);border-radius:50%;
  width:22px;height:22px;cursor:pointer;font-size:15px;line-height:1;padding:0;}
.btnbig{font-size:15px;padding:17px 32px;margin-top:10px;}
.btn.off{opacity:.4;pointer-events:none;box-shadow:none;transform:none;}
.byproduct{margin:12px 0 0;font-size:13px;color:#5f7688;}
.agreeline{display:flex;align-items:flex-start;gap:9px;margin:16px 0 0;
  font-size:13px;color:#5f7688;}
.agreeline input[type=checkbox]{flex:none;width:16px;height:16px;margin-top:2px;}
.claimrow{display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;background:var(--mist);border:1px solid #bcd8ca;border-radius:14px;
  padding:18px 22px;margin-top:24px;color:#3f6b57;font-size:15px;}
.claimrow .btn{flex:0 0 auto;}

/* hero split: address (left) + location map (right) */
.herogrid{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;}
.mapcard{background:var(--card);border:1px solid var(--stone);border-radius:16px;
  overflow:hidden;box-shadow:0 8px 26px rgba(0,35,57,.08);}
.mapcard .mapfoot{padding:9px 15px;font-size:11.5px;color:#5f7688;
  border-top:1px solid var(--stone);}
@media(max-width:820px){.herogrid{grid-template-columns:1fr;}}
.home-pin-wrap{background:none;border:none;}
.home-pin{width:18px;height:18px;border-radius:50%;background:var(--copper-bright);
  border:3px solid #fff;box-shadow:0 2px 8px rgba(0,35,57,.4);}

/* two-column above-the-fold: record + timeline side by side */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;}
.cols .col{border-bottom:0;padding-bottom:6px;}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;
  margin:18px 0 8px;}
.cell{background:var(--card);padding:14px 16px;border:1px solid var(--stone);
  border-radius:10px;box-shadow:0 1px 3px rgba(0,35,57,.04);}
.cell .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);
  font-weight:600;}
.cell .v{font-size:18px;font-weight:600;margin-top:3px;}

section.block{padding:30px 0;border-bottom:1px solid var(--stone);}
section.block h2{font-size:25px;margin:0 0 4px;}
.systems{list-style:none;padding:0;margin:16px 0 0;}
.systems li{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;
  border-bottom:1px solid var(--stone);}
.systems li:last-child{border-bottom:0;}
.systems .name{font-weight:600;}
.systems .val{color:#41586b;text-align:right;}

.tl{list-style:none;padding:0;margin:16px 0 0;}
.tl li{position:relative;padding:0 0 18px 26px;border-left:2px solid var(--stone);}
.tl li:last-child{border-left-color:transparent;padding-bottom:0;}
.tl li::before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;
  border-radius:50%;background:var(--copper);box-shadow:0 0 0 3px var(--paper);}
.tl .yr{font-weight:700;font-family:"Playfair Display",serif;}
.tl .kind{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);
  margin-left:8px;}
.tl .kind.inferred{color:var(--copper);}

/* CTA — bright and poppy */
.cta{background:linear-gradient(135deg,#013049 0%,var(--navy) 100%);color:#fff;
  border-radius:16px;padding:36px 28px;margin:36px 0;text-align:center;
  box-shadow:0 10px 30px rgba(0,35,57,.18);}
.cta h2{color:#fff;font-size:28px;margin:0 0 8px;}
.cta p{color:#d8e2e9;max-width:540px;margin:0 auto 22px;}
.btn{display:inline-block;background:var(--copper-bright);color:#fff;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;font-size:14px;padding:16px 34px;
  border-radius:10px;box-shadow:0 6px 18px rgba(198,127,53,.45);
  transition:transform .12s ease,box-shadow .12s ease;}
.btn:hover{text-decoration:none;transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(198,127,53,.55);}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--stone);
  box-shadow:none;}
.btn-ghost:hover{border-color:var(--copper);text-decoration:none;
  box-shadow:none;transform:none;}
.muted{color:#5f7688;font-size:14px;}

/* read-only "what's coming up" insight cards -- same visual language as .chip
   but static (no button, no + control) since nothing is added to a list here */
.insights{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:12px;margin:16px 0 0;}
.insightcard{position:relative;background:#fff;border:1px solid var(--stone);
  border-radius:12px;padding:14px 16px 14px 46px;box-shadow:0 1px 3px rgba(0,35,57,.04);}
.insightcard .ico{position:absolute;left:14px;top:15px;color:var(--copper);
  width:20px;height:20px;}
.insightcard .il{display:block;font-weight:600;line-height:1.25;}
.insightcard .ir{display:block;font-size:12.5px;color:#5f7688;margin-top:2px;}

/* homepage sample-home card */
.samplewrap{position:relative;background:var(--card);border:1px solid var(--stone);
  border-radius:18px;padding:26px 26px 28px;margin:24px 0 8px;
  box-shadow:0 8px 28px rgba(0,35,57,.09);}
.samplebadge{display:inline-block;background:var(--mist);color:#3f6b57;
  border:1px solid #bcd8ca;border-radius:999px;padding:5px 13px;font-size:11.5px;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.samplenote{color:#5f7688;font-size:12.5px;margin-top:14px;}

footer.site{background:var(--navy);color:#c4cfd7;font-size:13px;padding:26px 0;
  margin-top:10px;}
footer.site a{color:#fff;}
footer.site .eho{display:flex;align-items:center;gap:8px;margin:14px 0;
  color:#c4cfd7;}
footer.site .eho .ico{width:17px;height:17px;flex:none;color:#c4cfd7;}
footer.site .foot-note{color:#8ea0ac;font-size:12px;margin:8px 0 0;}

.dir{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px;}
.dir th,.dir td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--stone);}
.dir th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);}
.dir tr:hover td{background:var(--card);}
/* admin console: tabs, inline pro picker, small row actions */
.tabs{display:flex;gap:8px;margin:18px 0 4px;flex-wrap:wrap;}
.tabs button{font:inherit;font-size:14px;padding:9px 16px;border-radius:9px;
  cursor:pointer;border:1px solid var(--stone);}
.tabon{background:var(--navy);color:#fff;border-color:var(--navy);}
.taboff{background:var(--card);color:var(--navy);}
.taboff:hover{border-color:var(--sage);}
.btn-sm{font:inherit;font-size:13px;padding:6px 11px;border-radius:8px;cursor:pointer;
  border:1px solid var(--stone);background:var(--card);color:var(--navy);}
.btn-sm:hover{border-color:var(--sage);}
.btn-sm-primary{font:inherit;font-size:13px;font-weight:600;padding:7px 12px;
  border-radius:8px;cursor:pointer;border:1px solid var(--copper-bright);
  background:var(--copper-bright);color:#fff;}
.btn-sm-primary:hover{box-shadow:0 3px 10px rgba(198,127,53,.35);}
.dir td.expand{background:var(--mist);padding:16px 14px;}
.pickhead{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;
  justify-content:space-between;margin-bottom:6px;}
.sorter{font-size:13px;}
.pill{display:inline-block;background:var(--mist);border:1px solid #bcd8ca;
  border-radius:999px;padding:2px 10px;font-size:12px;color:var(--sage);}
/* homepage fuzzy-search results dropdown */
.findresults{max-width:580px;margin-top:8px;border:1px solid var(--stone);
  border-radius:12px;overflow:hidden;background:var(--card);
  box-shadow:0 8px 24px rgba(0,35,57,.10);}
.findhit{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:12px 16px;color:var(--navy);border-bottom:1px solid var(--stone);
  font-size:15px;text-decoration:none;}
.findhit:last-child{border-bottom:none;}
.findhit:hover{background:var(--mist);}
.findzip{color:var(--sage);font-size:13px;flex:none;}
.findcity{color:var(--sage);font-size:13px;}
/* neighborhood stats block */
.nbhd{list-style:none;padding:0;margin:14px 0 4px;display:grid;gap:10px;}
.nbhd li{background:var(--card);border:1px solid var(--stone);border-radius:12px;
  padding:14px 16px;font-size:16px;color:var(--navy);}
.nbhd li b{color:var(--copper);}
.nbhd .tagline{margin-top:6px;font-size:13px;color:var(--sage);font-weight:500;}
.nbhd .tagline b{color:var(--copper);font-weight:700;}
.nbhd-foot{margin-top:12px;font-size:12px;color:#5f7688;max-width:640px;}
.nbhd-highlight{margin-top:16px;padding:16px 18px;background:#F5E7D8;
  border-left:3px solid var(--copper);border-radius:0 10px 10px 0;}
.nh-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--copper);margin-bottom:8px;}
.nh-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px;}
.nh-list li{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--navy);}
.nh-list li .ico{width:15px;height:15px;color:var(--copper);flex:none;}
.nh-list li b{color:var(--copper);}
.nh-foot{margin-top:10px;font-size:11.5px;color:#5f7688;}
/* neighborhood-stats ticker -- see TICKER_JS. Duration is set inline per
   page by the JS (constant px/sec regardless of how much text a given page
   has), not by this animation-duration -- this is only the un-JS fallback. */
.nbhd-tape-title{font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--copper);margin-bottom:6px;}
.nbhd-tape{overflow:hidden;background:var(--navy);border-radius:10px;
  padding:10px 0;margin-bottom:14px;}
.nbhd-tape-track{display:inline-flex;align-items:center;white-space:nowrap;
  font-size:13.5px;color:#E7D9C3;animation:nbhd-tape-scroll 60s linear infinite;}
.nbhd-tape-track .dot{display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--copper);margin:0 14px;flex:none;}
@keyframes nbhd-tape-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.nbhd-tape-track{animation:none;}}
.nbhd-detail{margin-top:10px;}
.nbhd-detail summary{cursor:pointer;font-size:13px;color:var(--sage);font-weight:500;}
.searchbox{width:100%;max-width:440px;padding:13px 15px;border:1px solid var(--stone);
  border-radius:10px;font-size:15px;line-height:1.3;background:var(--card);
  box-shadow:0 1px 3px rgba(0,35,57,.04);appearance:none;-webkit-appearance:none;}
/* margin-top:16px used to live on the rule above, but both real uses of
   .searchbox are #addr inputs nested inside .az-searchrow (a bordered flex
   row shared with the submit button) -- that leftover top margin pushed
   just the input down inside the row while the button (no margin) stayed
   flush top, so their shared flex line stretched to fit the margin and the
   input's own text rendered visibly low/off-center in the box (confirmed
   live 2026-09-18, both desktop Chrome and the mobile layout). .az-searchrow
   already has its own spacing above it (.az-searchlabel's margin-bottom),
   so the fix is to just not carry this margin into that context at all. */
.searchbox:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(95,144,123,.18);}

@media(max-width:720px){.cols{grid-template-columns:1fr;gap:8px;}
  .cols .col{border-bottom:1px solid var(--stone);padding-bottom:24px;}}
@media(max-width:560px){.hero h1{font-size:27px;}}
