@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3.woff2) format("woff2");font-weight:200 900;font-display:swap}
:root{--heart:#d62839;--header-h:78px;--rock:#A63A1A;--rock-d:#7A2810;--canyon:#4A1A0E;--sand:#F7EEE3;--sand-2:#EFE0CC;--dune:#E2C6A2;--sage:#5E6F52;--sky:#1F4E6B;--night:#1D1714;--ink:#2A211C;--muted:#5F534B;--line:#E2D5C4;--white:#fff;--focus:#1F6FEB;--r:14px;--shadow:0 10px 30px -12px rgba(74,26,14,.25);--max:1220px;--serif:Fraunces,Georgia,"Times New Roman",serif;--sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--sand)}
img{max-width:100%;height:auto;display:block}
a{color:var(--rock-d);text-underline-offset:3px}a:hover{color:var(--canyon)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.15;color:var(--canyon);margin:0 0 .5em;font-weight:650;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.3rem}
p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--night);color:#fff;padding:10px 16px;z-index:1000}.skip:focus{left:10px;top:10px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(247,238,227,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:16px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--canyon);flex:0 0 auto;min-width:0}
.brand-heart{width:44px;height:44px;flex:none;overflow:visible;transform-origin:50% 55%}
.brand-lockup{display:flex;flex-direction:column;justify-content:center;gap:3px;line-height:1}
.brand-name{font-family:var(--serif);font-weight:750;font-size:1.72rem;letter-spacing:-.03em;color:var(--canyon);white-space:nowrap}
.brand-tld{font-size:.52em;font-weight:650;letter-spacing:0;color:var(--rock);margin-left:.04em;position:relative;top:-.08em}
.brand-tag{font-family:var(--sans);font-weight:600;font-size:.62rem;letter-spacing:.035em;color:var(--muted);white-space:nowrap}
.brand:hover .brand-heart,.brand:focus-visible .brand-heart{animation:brand-heart-pulse .8s ease-in-out 1}
@keyframes brand-heart-pulse{0%,100%{transform:scale(1)}30%{transform:scale(1.1)}55%{transform:scale(.97)}75%{transform:scale(1.05)}}
@media (prefers-reduced-motion:reduce){.brand:hover .brand-heart,.brand:focus-visible .brand-heart{animation:none}}
.heart{color:var(--heart);font-style:normal;font-weight:700;font-family:Georgia,"Times New Roman",serif}
footer.site .brand-name{color:#fff}footer.site .brand-tld{color:#FFB27F}footer.site .brand-tag{color:#A8998B}footer.site .brand-heart{width:40px;height:40px}
nav.main{margin-left:auto}nav.main ul{list-style:none;display:flex;gap:2px;margin:0;padding:0}
nav.main a{display:block;padding:10px 11px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.98rem}
nav.main a:hover,nav.main a[aria-current=page]{background:var(--sand-2);color:var(--canyon)}
.hbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font:600 .95rem var(--sans);color:var(--ink);cursor:pointer}
.hbtn:hover{border-color:var(--rock)}.hbtn kbd{font:600 .75rem var(--sans);background:var(--sand-2);border-radius:5px;padding:1px 6px;color:var(--muted)}
#menuBtn{display:none}
/* Header weather chip: reserved size so the temp fill cannot shift the wordmark. No alerts. */
.wx-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-width:6.6em;height:40px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:999px;text-decoration:none;color:var(--ink);font:600 .95rem var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}
.wx-chip:hover{border-color:var(--rock);color:var(--canyon)}
.wx-chip .wx-i{font-size:1.05rem;line-height:1}
@media (max-width:1140px){:root{--header-h:64px}.brand-tag{display:none}.brand-heart{width:36px;height:36px}.brand-name{font-size:1.48rem}nav.main{position:fixed;inset:var(--header-h) 0 auto 0;background:var(--sand);border-bottom:1px solid var(--line);display:none;max-height:calc(100vh - var(--header-h));overflow:auto}nav.main.open{display:block}nav.main ul{flex-direction:column;padding:10px 16px 20px}nav.main a{padding:14px 12px;font-size:1.1rem}#menuBtn{display:inline-flex;margin-left:auto}.hbtn .lbl{display:none}}@media (max-width:640px){.brand-heart{width:32px;height:32px}.brand-name{font-size:1.28rem}header.site .wrap{gap:10px}.wx-chip{min-width:38px;width:38px;height:38px;padding:0;gap:0}.wx-chip .wx-t{display:none}}
/* hero */
.hero{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;color:#fff;overflow:hidden;background:var(--canyon)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,23,20,.38) 0%,rgba(29,23,20,.30) 40%,rgba(29,23,20,.84) 100%),linear-gradient(90deg,rgba(29,23,20,.38) 0%,rgba(29,23,20,.12) 55%,rgba(29,23,20,0) 80%)}
.hero .eyebrow,.hero p.lede{text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero .wrap{position:relative;z-index:2;padding-bottom:56px;padding-top:120px}
.hero h1{color:#fff;font-size:clamp(2.6rem,7vw,5.6rem);font-weight:700;max-width:14ch;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero p.lede{font-size:clamp(1.1rem,2vw,1.4rem);max-width:56ch;color:#FBEFE3}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.8rem;color:var(--rock)}
.hero .eyebrow{color:#FFC9A3}
.hsearch{display:flex;max-width:640px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--shadow);margin-top:18px}
.hsearch input{flex:1;border:0;background:transparent;font:500 1.1rem var(--sans);padding:12px 18px;color:var(--ink);min-width:0}
.hsearch input:focus{outline:none}.hsearch:focus-within{outline:3px solid var(--focus)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rock);color:#fff;border:0;border-radius:999px;padding:12px 22px;font:700 1rem var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--rock-d);color:#fff}.btn.ghost{background:transparent;color:var(--rock-d);border:2px solid var(--rock)}.btn.ghost:hover{background:var(--rock);color:#fff}
.btn.sm{padding:8px 14px;font-size:.92rem}
.photo-credit{position:absolute;right:12px;bottom:8px;z-index:3;font-size:.75rem;color:#eee;opacity:.85}
.photo-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.hero picture{position:absolute;inset:0}
.hero img.bg{object-position:50% 32%}
@media (max-width:700px){.photo-credit{left:12px;right:12px;bottom:6px;font-size:.68rem;text-align:right}}
/* sections */
section.band{padding:64px 0}section.band.alt{background:#fff}section.band.dark{background:var(--night);color:#F2E6D9}section.band.dark h2,section.band.dark h3{color:#FFE6D1}
.sechead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.sechead p{color:var(--muted);max-width:60ch;margin:0}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.g3{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.g4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;position:relative;transition:transform .15s,box-shadow .15s}
a.card{text-decoration:none;color:inherit;display:block}a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--dune)}
.card h3{margin-bottom:.35em}.card p{color:var(--muted);margin-bottom:.6em}.card .meta{font-size:.92rem;color:var(--muted)}
.card.photo{padding:0;overflow:hidden}.card.photo img{aspect-ratio:16/10;object-fit:cover;width:100%}.card.photo .in{padding:18px 20px}
.tag{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:999px;background:var(--sand-2);color:var(--canyon);margin:0 6px 6px 0}
.src{font-size:.85rem;color:var(--muted)}.src a{color:var(--muted)}
/* task grid */
.tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.task{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:650}
.task:hover{border-color:var(--rock);color:var(--canyon)}.task .ic{flex:0 0 38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--sand-2);font-size:1.25rem}
/* page header */
.phead{background:linear-gradient(135deg,var(--canyon),var(--rock) 70%,#C8673A);color:#fff;padding:56px 0 44px;position:relative;overflow:hidden}
.phead h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem)}.phead p{color:#FBE8D8;max-width:70ch;font-size:1.15rem;margin:0}
.phead .crumbs{font-size:.9rem;margin-bottom:10px}.phead .crumbs a{color:#FFD9BE}
.phead svg.ridge{position:absolute;bottom:-1px;left:0;width:100%;height:60px}
.note{background:#FFF8EC;border:1px solid #F1D9AE;border-left:5px solid #D69A3A;border-radius:10px;padding:12px 16px;font-size:.96rem;color:#5B4320}
/* footer */
footer.site{background:var(--night);color:#D9CBBE;padding:56px 0 30px;margin-top:0}footer.site a{color:#F5D9C2}footer.site h4{color:#fff;font-family:var(--sans);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
footer.site ul{list-style:none;margin:0;padding:0}footer.site li{margin:6px 0}
.fgrid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:28px}@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
.credit{display:flex;gap:14px;align-items:center;border-top:1px solid #3A302A;margin-top:34px;padding-top:22px;font-size:.9rem;flex-wrap:wrap}.credit img{height:44px;width:auto;background:#fff;border-radius:6px;padding:4px}
.fb-group{display:inline-flex;align-items:center;gap:.45em;text-decoration:none}.fb-group:hover{text-decoration:underline}.fb-icon{flex:none;vertical-align:middle}
/* search dialog */
dialog{border:0;border-radius:18px;padding:0;max-width:760px;width:calc(100% - 24px);box-shadow:0 30px 80px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(29,23,20,.6)}
.sdlg header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.sdlg input{flex:1;border:0;font:500 1.2rem var(--sans);padding:8px}.sdlg input:focus{outline:none}
.sres{max-height:60vh;overflow:auto;padding:8px}.sres a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}.sres a:hover,.sres a.on{background:var(--sand-2)}.sres small{color:var(--muted);display:block}
.xbtn{border:0;background:var(--sand-2);border-radius:999px;width:36px;height:36px;font-size:1.2rem;cursor:pointer}
/* tables */
table.data{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:.97rem}table.data th,table.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.data th{background:var(--sand-2);color:var(--canyon)}
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
/* calendar */
.calbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{border:0;background:transparent;padding:8px 14px;border-radius:999px;font:700 .95rem var(--sans);cursor:pointer;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--rock);color:#fff}
.calnav{display:flex;gap:8px;align-items:center}.calnav h2{margin:0 8px;font-size:1.6rem;min-width:220px;text-align:center}
.iconbtn{border:1px solid var(--line);background:#fff;border-radius:999px;width:42px;height:42px;cursor:pointer;font-size:1.1rem}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:600 .9rem var(--sans);cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.chip[aria-pressed=true]{background:var(--canyon);color:#fff;border-color:var(--canyon)}
.chip i{width:10px;height:10px;border-radius:50%;display:inline-block}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--line);gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.calgrid .dow{background:var(--sand-2);text-align:center;font-weight:700;font-size:.85rem;padding:8px 2px;color:var(--canyon)}
.calgrid .day{background:#fff;min-height:118px;padding:6px;font-size:.85rem}.calgrid .day.out{background:#FBF7F2;color:#A99B8E}.calgrid .day.today{box-shadow:inset 0 0 0 3px var(--rock)}
.calgrid .dn{font-weight:700;margin-bottom:4px;display:flex;justify-content:space-between}
.ev{display:block;width:100%;text-align:left;border:0;border-left:4px solid var(--rock);background:var(--sand);border-radius:6px;padding:3px 6px;margin:2px 0;font:600 .8rem/1.25 var(--sans);color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev:hover{background:var(--sand-2)}.more{border:0;background:none;color:var(--rock-d);font:700 .8rem var(--sans);cursor:pointer;padding:2px 4px}
.weekgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.weekgrid .col{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:240px}.weekgrid .col h3{font-size:1rem;font-family:var(--sans);margin-bottom:8px}
@media (max-width:820px){.calgrid .day{min-height:64px}.calgrid .ev{font-size:0;padding:0;height:8px;border-left-width:0}.weekgrid{grid-template-columns:1fr}}
.list .dayhead{position:sticky;top:68px;background:var(--sand);padding:10px 0;font-family:var(--serif);font-size:1.25rem;color:var(--canyon);border-bottom:2px solid var(--dune);z-index:2}
.lrow{display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}
.lrow:hover{border-color:var(--rock)}.lrow .t{font-weight:700;color:var(--rock-d)}.lrow h3{font-size:1.15rem;margin:0 0 4px}.lrow p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width:640px){.lrow{grid-template-columns:1fr}}
.evdlg .in{padding:24px 26px}.evdlg h2{margin-bottom:6px}.evdlg dl{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;margin:14px 0}.evdlg dt{font-weight:700;color:var(--canyon)}.evdlg dd{margin:0}
.minimap{height:220px;border-radius:12px;border:1px solid var(--line);margin:10px 0}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
/* map page */
.mapwrap{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - 68px - 36px);min-height:560px}
.mapside{overflow:auto;border-right:1px solid var(--line);background:#fff;padding:16px}#bigmap{height:100%}
@media (max-width:900px){.mapwrap{grid-template-columns:1fr;height:auto}#bigmap{height:60vh}.mapside{max-height:none;border-right:0}}
.plist button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 4px;cursor:pointer;font:inherit}.plist button:hover{background:var(--sand)}.plist b{display:block}.plist small{color:var(--muted)}
.leaflet-popup-content{font-family:var(--sans);font-size:.95rem}.leaflet-popup-content h3{font-size:1.05rem;margin:0 0 4px}
.dot{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
form.f label{display:block;font-weight:700;margin:14px 0 4px}form.f input,form.f select,form.f textarea{width:100%;padding:12px;border:1px solid #BFAE9C;border-radius:10px;font:inherit;background:#fff}form.f textarea{min-height:130px}
.hp{position:absolute;left:-5000px}
.pill-row{display:flex;gap:8px;flex-wrap:wrap}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:18px}.stat b{display:block;font-family:var(--serif);font-size:2.2rem;color:#FFD2AE}
a.stat{color:#F2E6D9;text-decoration:none;display:block;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
a.stat:hover,a.stat:focus-visible{background:rgba(255,255,255,.16);border-color:rgba(255,210,174,.6);transform:translateY(-2px);color:#FFF6EE;box-shadow:0 10px 22px -12px rgba(0,0,0,.55)}
a.stat:focus-visible{outline:3px solid #FFD2AE;outline-offset:3px}
.timeline{border-left:3px solid var(--dune);margin-left:10px;padding-left:22px}.timeline .ti{position:relative;margin-bottom:22px}.timeline .ti:before{content:"";position:absolute;left:-31px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--rock);border:3px solid var(--sand)}
.timeline .yr{font-family:var(--serif);font-weight:700;color:var(--rock);font-size:1.2rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{header.site,footer.site{display:none}}
.form label{display:block;font-weight:600;margin-bottom:4px}
.form fieldset label,.form p>label:has(input[type=checkbox]){display:inline;font-weight:400}
.form input:not([type=radio]):not([type=checkbox]),.form textarea,.form select{width:100%;padding:10px 12px;border:1px solid #8a7a6c;border-radius:8px;font:inherit;background:#fff;color:inherit}
.form fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:0 0 12px}
.form p{margin:0 0 14px}
#subMsg{font-weight:600}
.hero h1 .hl-town{display:block;font-style:italic;color:#FFB27F;letter-spacing:-.01em}
/* Directory (added Nov 14, 2026) */
.dsearch{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dsearch input{flex:1 1 320px;font:inherit;font-size:1.08rem;padding:14px 16px;border:2px solid var(--line);border-radius:12px;background:#fff}
.dsearch input:focus{border-color:var(--rock);outline:none}
.dtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.dtile{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink)}
.dtile .ic{grid-row:span 2;font-size:1.7rem}.dtile b{font-size:1.06rem;color:var(--canyon)}.dtile small{color:var(--muted)}
.dtile:hover{border-color:var(--rock);box-shadow:var(--shadow)}
.dcard .facts{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:10px 0;font-size:.98rem}
.dcard .facts dt{font-weight:700;color:var(--muted)}.dcard .facts dd{margin:0}
.dcard .actions{display:flex;flex-wrap:wrap;gap:8px}.dsrc{margin-top:10px;font-size:.85rem}
.dcard:target{outline:3px solid var(--rock);outline-offset:2px}
.azjump{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px}.azjump a{min-width:34px;text-align:center;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;font-weight:700}
.azcols{columns:3 300px;column-gap:28px}.azsec{break-inside:avoid-column}.azl{font-family:var(--serif);color:var(--rock);border-bottom:2px solid var(--line);margin:18px 0 6px}
.azlist{list-style:none;margin:0;padding:0}.azlist li{padding:5px 0;break-inside:avoid}.azlist small{display:block;color:var(--muted);font-size:.85rem}
.azlist.cols{columns:2 280px}
.chip[aria-pressed=true]{background:var(--rock);color:#fff;border-color:var(--rock)}
button.chip{font:inherit;cursor:pointer}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.prevnext{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px}.prevnext a{font-weight:700}
.numhero{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:22px}
.bigcall{display:block;padding:16px 18px;border-radius:14px;background:var(--rock);color:#fff;text-decoration:none;font-weight:600}
.bigcall b{display:block;font-size:1.6rem;font-family:var(--serif)}.bigcall.alt{background:#fff;color:var(--canyon);border:2px solid var(--rock)}
table.nums td.num{white-space:nowrap;font-weight:700}
.steps{list-style:none;padding:0;margin:14px 0 0}.step{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.step .sn{width:40px;height:40px;border-radius:50%;background:var(--rock);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.1rem}
.step h3{margin:4px 0 6px}
@media (max-width:820px){.wrap.grid.g2[style*="2fr 1fr"]{grid-template-columns:1fr!important}.wrap.grid.g2 aside[style*=sticky]{position:static!important}.azcols{columns:1}}
@media print{.dsearch,.numhero,.band.alt{display:none}}
@media (max-width:640px){header.site [data-search] kbd{display:none}}
/* HOAs (Nov 14, 2026) */
.hoalayout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;margin-top:16px;align-items:start}
.hoalayout>div:first-child{position:sticky;top:84px}
.hoamap{border-radius:14px;border:1px solid var(--line);background:#eee}
.hoalist{grid-template-columns:1fr;gap:12px;max-height:900px;overflow:auto;padding-right:4px}
.hcard h3{font-size:1.08rem;margin:2px 0 4px}.hcard h3 a{text-decoration:none;color:var(--canyon)}.hcard p{margin:4px 0}
.sel{font:inherit;padding:13px 12px;border:2px solid var(--line);border-radius:12px;background:#fff}
table.facts{width:100%;border-collapse:collapse}table.facts th,table.facts td{text-align:left;vertical-align:top;padding:8px 6px;border-bottom:1px solid var(--line);font-size:.95rem}table.facts th{color:var(--muted);width:42%}
@media (max-width:900px){.hoalayout{grid-template-columns:1fr}.hoalayout>div:first-child{position:static}.hoalist{max-height:none}.wrap.grid.g2[style*="3fr 2fr"]{grid-template-columns:1fr!important}}

/* Ivins CERT homepage callout */
.cert-callout{display:flex;align-items:center;gap:22px;margin-top:22px;padding:16px 20px}
.cert-callout .cert-logo{flex:none;display:block;line-height:0;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px -8px rgba(29,23,20,.45)}
.cert-callout .cert-logo img{display:block;width:160px;height:auto;background:#fff}
.cert-callout h3{margin:0 0 .25em}
.cert-callout p{margin-bottom:.55em}
@media (max-width:640px){.cert-callout{flex-direction:column;align-items:flex-start;gap:14px}.cert-callout .cert-logo img{width:132px}}

/* Golf page, Arts Commission feature, city leadership panels (Nov 14, 2026) */
.golf-card .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
a.book-tee{background:var(--sage);border-color:var(--sage);color:#fff;font-weight:700}
a.book-tee:hover{background:#4a5a41;color:#fff}
.arts-feature{display:block;text-decoration:none;color:inherit;margin-bottom:28px;padding:22px 24px;border:2px solid var(--rock);background:#fff}
.arts-feature:hover,.arts-feature:focus-visible{box-shadow:var(--shadow);transform:translateY(-1px)}
.arts-feature h2{margin:0 0 .35em;font-size:1.55rem}
.arts-feature p{color:var(--muted);margin-bottom:.5em}
.leader-card h3 a{color:var(--canyon);text-decoration:none}
.leader-card h3 a:hover,.leader-card h3 a:focus-visible{text-decoration:underline}
.leader-term{font-weight:600;margin:.2em 0 .6em}
.leader-panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.leader-panel p{margin:0 0 .35em}
/* Ivins in the News */
.news-wrap{max-width:980px}
.news-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 28px}.news-stats div{background:var(--sand-2);border-radius:14px;padding:14px 16px;font-weight:600;color:var(--ink)}.news-stats b{display:block;font-family:var(--serif);font-size:1.9rem;color:var(--canyon)}
.news-decades{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:8px 0 30px}.news-decades a{display:block;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;text-decoration:none;color:var(--ink)}.news-decades a:hover{border-color:var(--canyon)}.news-decades b{display:block;font-family:var(--serif);font-size:1.25rem;color:var(--canyon)}.news-decades span{font-size:.82rem;color:#6b5a4c}
.news-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px}.news-filters input[type=search]{flex:1 1 280px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.news-filters select{padding:9px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;max-width:100%}.news-cb{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem}
.news-item{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 12px;background:#fff}.news-item.hl{border-left:5px solid var(--canyon)}.news-item.men{background:#fcfaf7}.news-item h3{margin:2px 0 6px;font-size:1.15rem}.news-item p{margin:0 0 8px}
.news-meta{font-size:.85rem;color:#6b5a4c}.news-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0 0!important}.news-foot .tag{margin:0}.news-src{font-weight:700;font-size:.9rem}
.news-ex{margin:6px 0 8px;padding:8px 12px;border-left:3px solid var(--sand-2);color:#4a3b30;font-style:italic;font-size:.95rem}.news-ex .src{font-style:normal;font-size:.75rem}
.news-year{margin:0 0 26px}.news-year h2{border-bottom:2px solid var(--sand-2);padding-bottom:4px}.news-years{margin:0 0 20px}
.news-mentions{margin:6px 0 0;border:1px dashed var(--line);border-radius:12px;padding:8px 14px;background:#fcfaf7}.news-mentions summary{cursor:pointer;font-weight:700}.news-mentions ul{margin:8px 0 4px;padding-left:18px;font-size:.92rem}.news-mentions li{margin:0 0 6px}
.news-hl{list-style:none;padding:0;columns:2 320px;column-gap:28px}.news-hl li{break-inside:avoid;margin:0 0 10px}.news-hl b{display:block;font-size:.85rem;color:var(--canyon)}.news-hl span{display:block;font-size:.8rem;color:#6b5a4c}
.news-mini h3{font-size:1.05rem;margin:4px 0 6px}.news-mini p:last-child{font-size:.92rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.muted{color:#6b5a4c}
@media(max-width:640px){.news-item{padding:14px}.news-filters select{flex:1 1 45%}}

/* Directions from my location + Leaflet locate control */
.dirs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4em .8em}
.actions .dirs{margin:0}
a.dirs-apple{font-size:.92rem;font-weight:600;white-space:nowrap}
.li-locate a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;line-height:1;color:#1F4E6B;background:#fff;text-decoration:none}
.li-locate a:hover{background:#F7EEE3}
.li-locate a.is-locating{color:#1F6FEB}
@media (prefers-reduced-motion:reduce){.li-locate a.is-locating{opacity:.75}}
/* business directory */
.bcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.bsec{margin-top:34px}.bsec>h2{margin-bottom:12px}
.bbadge{display:inline-block;font:700 .78rem var(--sans);padding:3px 9px;border-radius:999px;vertical-align:middle;background:#F3EDE6;color:var(--ink);border:1px solid var(--line)}
.bbadge.lic{background:#E6F2EA;color:#1B5E36;border-color:#9CC9AC}
.bbadge.comm{background:#FFF1E6;color:#8A3B0E;border-color:#F0C3A0}
.bnote{margin-top:30px}
.bmap{height:460px;border-radius:14px;border:1px solid var(--line);margin-top:10px}
.bcard h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#bizCats .chip small{opacity:.75;font-weight:500}
@media (max-width:640px){.bmap{height:340px}}
/* subdivisions */
.submap{height:560px;border-radius:14px;border:1px solid var(--line);margin-top:12px}
.submap.one{height:380px}
.subfilters{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;margin-top:12px}
.subfilters label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem;gap:4px}
.subfilters .sel{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;min-width:200px}
.sublegend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:.88rem}.sublegend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.ptable{width:100%;border-collapse:collapse}.ptable th,.ptable td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line)}
.tablewrap{overflow-x:auto}
@media (max-width:640px){.submap{height:400px}.submap.one{height:300px}.subfilters .sel{min-width:0;width:100%}.subfilters label{flex:1 1 100%}}
.pdet summary{cursor:pointer;font-weight:700;color:var(--canyon);padding:8px 0}
/* HOA governance box on subdivision pages + document lists (Nov 14, 2026) */
.hoabox{border-left:5px solid #c8102e;margin:0 0 18px}
.hoabox + .hoabox{margin-top:12px}
.doclist li,.govlist li,.hoacontact li{margin:.35em 0;line-height:1.4}
.doclist small,.govlist small{color:#5b5b5b}
.hoabox details.pdet summary{cursor:pointer;font-weight:600}
.wx-chip-home{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:6px 14px;text-decoration:none;font-weight:600;font-size:.95rem;backdrop-filter:blur(4px)}.wx-chip-home:hover{color:#fff;background:rgba(0,0,0,.5)}
