:root{--brick:#111816;--ink:#222E2A;--cream:#F6F1E3;--warm:#DED8C8;--orange:#F27442;--yellow:#F2C45A;--teal:#38B6A8;--line:rgba(222,216,200,.28);--surface:#18221F;--display:'Anton',Impact,sans-serif;--body:'Libre Franklin',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--brick);color:var(--cream);font:400 18px/1.65 var(--body);overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--cream);text-decoration-thickness:1px;text-underline-offset:.17em}a:hover{color:var(--orange)}button,summary{min-height:44px}h1,h2,h3,h4{margin:0;color:var(--cream);font-family:var(--display);line-height:1.06;text-transform:uppercase}h2{font-size:clamp(1.7rem,3vw,2.6rem)}h3{font-size:1.2rem}p{margin:0 0 1.15em}.wrap{width:min(1120px,100% - 40px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:10px;z-index:100;padding:10px 16px;background:var(--orange);color:var(--brick);font:600 14px var(--mono)}.skip-link:focus{top:10px}
.top{position:sticky;top:0;z-index:20;background:rgba(17,24,22,.96);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:18px}.brand{color:var(--cream);font:600 17px/1 var(--mono);letter-spacing:.02em;text-decoration:none;white-space:nowrap}.brand span{color:var(--orange)}.desk{display:flex;gap:18px;align-items:center;font:500 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase}.desk a,.menu a{color:var(--cream);text-decoration:none}.desk a[aria-current=page],.desk a:hover{color:var(--orange)}.menu{display:none;font:500 11px var(--mono);text-transform:uppercase}.menu summary{display:flex;align-items:center;padding:0 13px;border:1px solid var(--yellow);color:var(--yellow);cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;left:0;right:0;top:64px;padding:10px 20px 18px;background:var(--brick);border-bottom:1px solid var(--line);display:grid;gap:2px}.menu nav a{padding:13px 6px;min-height:44px}.menu[open] summary{background:var(--orange);color:var(--brick);border-color:var(--orange)}
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 64px);display:flex;align-items:flex-end;overflow:hidden;background:var(--brick)}.hero>picture,.hero-photo,.hero-scrim{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center 52%;filter:sepia(.08) saturate(1.12)}.hero-scrim{z-index:1;background:linear-gradient(180deg,rgba(17,24,22,.08) 18%,rgba(17,24,22,.14) 38%,rgba(17,24,22,.76) 70%,rgba(17,24,22,.99) 100%)}.hero-content{position:relative;z-index:2;width:min(1120px,100% - 40px);margin:0 auto;padding:0 0 9vh}.eyebrow{display:table;margin:0 0 18px;padding:8px 10px;background:rgba(17,24,22,.86);color:var(--yellow);font:500 11px/1 var(--mono);letter-spacing:.13em}.hero h1{max-width:900px;font-size:clamp(3.5rem,7.2vw,6.4rem);text-shadow:4px 4px 0 var(--ink)}.hero .dek{max-width:680px;margin:20px 0 0;color:var(--warm);font-size:clamp(1rem,1.5vw,1.25rem)}.primary-cta{display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding:15px 20px;background:var(--orange);color:var(--brick);font:600 13px/1 var(--mono);text-decoration:none}.primary-cta span{font-size:20px}.path-cards{display:flex;gap:16px;margin-top:28px}.path-card{display:block;width:270px;padding:18px 20px;background:rgba(17,24,22,.84);border-top:3px solid var(--orange);text-decoration:none}.path-card h2{font-size:1.45rem}.path-card p{margin:8px 0 0;color:var(--warm);font-size:14px;line-height:1.45}.price-flag{position:absolute;z-index:3;right:7vw;top:25%;padding:18px 22px;background:var(--orange);color:var(--brick);transform:rotate(-1deg);box-shadow:7px 7px 0 rgba(43,43,43,.65);font-family:var(--mono)}.flag-label{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:10px}.price-flag strong{display:block;font-size:17px;line-height:1.25}.price-flag small{display:block;margin-top:8px;font-size:10px}.hero-caption{position:absolute;z-index:3;right:24px;bottom:24px;margin:0;padding:7px 9px;background:rgba(17,24,22,.72);color:var(--warm);font:500 10px/1 var(--mono);letter-spacing:.1em}
.page-banner{position:relative;isolation:isolate;height:55vh;min-height:390px;display:flex;align-items:flex-end;overflow:hidden;background:var(--brick)}.page-banner picture,.page-banner picture img,.banner-scrim{position:absolute;inset:0;width:100%;height:100%}.page-banner picture img{object-fit:cover;object-position:var(--photo-position,center)}.banner-scrim{z-index:1;background:linear-gradient(180deg,rgba(17,24,22,.08),rgba(17,24,22,.9) 86%)}.banner-inner{position:relative;z-index:2;width:min(1120px,100% - 40px);margin:0 auto;padding-bottom:58px}.banner-inner h1{font-size:clamp(3rem,6vw,5.8rem);max-width:900px;text-shadow:3px 3px 0 var(--ink)}.banner-inner .dek{max-width:700px;margin:18px 0 0;color:var(--warm);font-size:1.15rem}.banner-caption{position:absolute;z-index:2;right:24px;bottom:22px;margin:0;color:var(--warm);font:500 10px var(--mono);letter-spacing:.08em}.page-banner--type{height:350px;min-height:0;border-bottom:1px solid var(--line)}.page-banner--type:after{content:'';position:absolute;left:max(20px,calc((100% - 1120px)/2));right:max(20px,calc((100% - 1120px)/2));bottom:0;height:3px;background:var(--orange)}
.breadcrumbs{width:min(1120px,100% - 40px);margin:0 auto;padding:18px 0 0;color:var(--warm);font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase}.breadcrumbs a{color:var(--warm)}.breadcrumbs .sep{color:var(--yellow);padding:0 7px}main.wrap{padding-bottom:80px}.prose{max-width:700px;margin:0 auto;padding:58px 0 16px}.article-body{max-width:700px}.prose p,.prose li,.prose td,.prose th{overflow-wrap:break-word}.prose .dek{color:var(--warm);font-size:1.15rem}.prose h2{position:relative;margin:2.6em 0 .7em;padding-top:16px;font:600 clamp(1.55rem,2.8vw,2.2rem)/1.1 var(--body);text-transform:none}.prose h2:before{content:'';position:absolute;top:0;left:0;width:64px;height:3px;background:var(--orange)}.prose h3{margin:1.5em 0 .5em;font:600 1.2rem/1.2 var(--body);text-transform:none;color:var(--yellow)}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose a{color:var(--cream)}.prose a:hover{color:var(--orange)}.prose blockquote{margin:2em 0;padding:22px 24px;border-left:3px solid var(--orange);color:var(--warm);font-size:1.2rem}.prose blockquote p:last-child{margin-bottom:0}.prose code,.prose pre{font-family:var(--mono)}
.callout-fact,.callout-tip,.callout-downside,.callout-quote{margin:2em 0;padding:20px 22px;border-top:1px dotted var(--warm);border-bottom:1px dotted var(--warm);background:rgba(43,43,43,.25);color:var(--warm);font:500 14px/1.6 var(--mono)}.callout-fact:before{content:'FIELD RECEIPT';display:block;margin-bottom:8px;color:var(--yellow);font-size:10px;letter-spacing:.1em}.callout-tip{border-color:var(--yellow)}.callout-tip:before{content:'TIP';display:block;margin-bottom:8px;color:var(--yellow);font-size:11px;letter-spacing:.13em}.callout-quote{border-left:3px solid var(--orange);font:400 1.25rem/1.5 var(--body)}.table-scroll{width:100%;overflow-x:auto;margin:28px 0}.prose table{width:100%;border-collapse:collapse;font-size:14px}.prose th{color:var(--yellow);font:500 11px var(--mono);letter-spacing:.06em;text-align:left}.prose td,.prose th{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.prose tr:nth-child(even){background:rgba(222,216,200,.04)}.table-wide th:first-child,.table-wide td:first-child{position:sticky;left:0;background:var(--brick);z-index:1}.sources{padding-left:1.2em}.sources li{margin:.35em 0}.sources ul{padding-left:1em}.sources .cited{display:block;color:var(--warm);font:400 11px/1.5 var(--mono)}.sources .cited a{color:var(--warm)}
.home-section,.story-section{padding:86px 0}.discovery-grid{width:min(1120px,100% - 40px);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.discovery-card{min-height:250px;padding:22px 20px;border-top:3px solid var(--orange);background:var(--surface)}.discovery-card h3{font:600 1.15rem/1.15 var(--body);text-transform:none}.discovery-card p{margin:12px 0;color:var(--warm);font-size:15px;line-height:1.55}.discovery-card .more{display:block;margin-top:auto;font:500 11px var(--mono);text-transform:uppercase}.discovery-card .more a{text-decoration:none}.quote-band{padding:86px max(20px,calc((100% - 900px)/2));background:#151E1B;border-block:1px solid var(--line)}.quote-band blockquote{margin:0;border-left:3px solid var(--orange);padding-left:24px;color:var(--warm);font-size:clamp(1.35rem,2.7vw,2.1rem);line-height:1.4}.quote-band cite{display:block;margin-top:20px;color:var(--yellow);font:500 11px var(--mono);font-style:normal}.story-section .prose{padding-top:0}.video-wrapper{position:relative;width:min(760px,100%);aspect-ratio:16/9;margin:30px auto 0;background:var(--surface);overflow:hidden;border:1px solid var(--line)}.video-poster{width:100%;height:100%;object-fit:cover}.video-play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:0;border-radius:50%;background:var(--orange);cursor:pointer}.video-play-btn:after{content:'';position:absolute;left:26px;top:20px;border:12px solid transparent;border-left-color:var(--brick)}.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.card-grid{width:min(1120px,100% - 40px);margin:0 auto 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{display:block;padding:22px;border-top:3px solid var(--orange);background:var(--surface);text-decoration:none}.card h3{font:600 1.2rem/1.2 var(--body);text-transform:none}.card p{margin:10px 0 0;color:var(--warm);font-size:15px}.coming-soon,.notfound{max-width:700px;margin:60px auto;padding:60px 0}.coming-soon h1,.notfound h1{font-size:clamp(3rem,7vw,5rem)}.coming-soon a,.notfound a{display:inline-block;margin-top:15px;padding:13px 16px;background:var(--orange);color:var(--brick);font:600 12px var(--mono);text-decoration:none}
footer{padding:50px 0;background:#0C1210;border-top:1px solid var(--line);color:var(--warm);font:400 12px/1.6 var(--mono)}footer p{margin-bottom:22px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px}.footer-links a{color:var(--cream);text-decoration:none;text-transform:uppercase;font-size:11px}.footer-links a:hover{color:var(--orange)}
.hill-map-section,.hill-cards-section{max-width:1120px;margin:0 auto;padding:30px 20px}.hill-map-container{display:grid;grid-template-columns:1fr 220px;gap:18px}.hill-map-container #hill-map{min-height:480px;background:var(--surface)}.hill-legend,.hill-card{padding:18px;background:var(--surface);color:var(--warm)}.hill-legend-row{margin:8px 0}.hill-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.hill-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hill-cards-heading{grid-column:1/-1;color:var(--yellow);font:500 13px var(--mono);text-transform:uppercase}.hill-card h3{font:600 1.1rem var(--body);text-transform:none}.hill-card-cat,.hill-card-source{font:11px var(--mono);color:var(--yellow)}
@media(max-width:900px){.desk{gap:8px}.discovery-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.price-flag{right:4vw}.hero h1{font-size:clamp(3rem,8vw,5.2rem)}}
.home-paths{padding:34px 20px;background:#151E1B;border-bottom:1px solid var(--line)}.home-paths .path-cards{width:min(1120px,100%);margin:0 auto;justify-content:center}.home-paths .path-card{width:min(360px,100%)}
@media(max-width:700px){body{font-size:18px}.wrap{width:min(100% - 36px,700px)}.desk{display:none}.menu{display:block}.hero{min-height:calc(100svh - 64px)}.hero-content{width:calc(100% - 36px);padding-bottom:158px}.hero h1{font-size:clamp(2.35rem,10.2vw,3.5rem);line-height:1.04}.hero .dek{font-size:1rem;line-height:1.5;margin-top:14px}.path-cards{display:flex;flex-direction:column}.primary-cta{margin-top:18px;padding:15px 17px}.price-flag{left:0;right:0;bottom:0;top:auto;padding:14px 18px 14px 48px;transform:none;box-shadow:none}.price-flag:before{content:'';position:absolute;left:23px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--brick)}.flag-label{font-size:9px;margin-bottom:6px}.price-flag strong{font-size:15px}.price-flag small{font-size:9px;margin-top:5px}.hero-caption{left:18px;right:auto;bottom:132px;font-size:9px}.page-banner{height:42vh;min-height:340px}.banner-inner{width:calc(100% - 36px);padding-bottom:46px}.banner-inner h1{font-size:clamp(2.5rem,11vw,4rem)}.banner-inner .dek{font-size:1rem;line-height:1.45}.banner-caption{left:18px;right:auto;bottom:17px;font-size:9px}.page-banner--type{height:300px;min-height:0}.page-banner--type:after{left:18px;right:18px}.breadcrumbs{width:calc(100% - 36px);font-size:10px}.prose{padding-top:42px}.prose h2{margin-top:2em}.discovery-grid{width:calc(100% - 36px);grid-template-columns:1fr;gap:14px}.discovery-card{min-height:0}.home-section,.story-section{padding:58px 0}.quote-band{padding:58px 18px}.card-grid{width:calc(100% - 36px);grid-template-columns:1fr}.hill-map-container,.hill-cards{grid-template-columns:1fr}.hill-map-container #hill-map{min-height:380px}.footer-links{gap:12px 16px}}
iframe{display:block;max-width:100%;height:auto}.prose iframe{width:100%;aspect-ratio:16/9}.menu{position:relative}.menu nav{left:auto;right:-18px;width:100vw}

/* review fixes 2026-10-12 */
.prose a.src,.discovery-card a.src,.callout-fact a.src,.callout-tip a.src,.callout-quote a.src{display:inline-block;margin:0 .15em;padding:1px 6px 2px;border:1px solid var(--line);border-radius:2px;color:var(--warm);font:500 .68em/1.4 var(--mono);letter-spacing:.02em;text-decoration:none;vertical-align:.12em;white-space:nowrap}
.prose a.src:hover{color:var(--orange);border-color:var(--orange)}
.hero-scrim{background:linear-gradient(180deg,rgba(17,24,22,0) 30%,rgba(17,24,22,.35) 55%,rgba(17,24,22,.85) 82%,rgba(17,24,22,.97) 100%)}
.banner-scrim{background:linear-gradient(180deg,rgba(17,24,22,0) 35%,rgba(17,24,22,.55) 65%,rgba(17,24,22,.92) 100%)}
.banner-caption,.hero-caption{background:rgba(17,24,22,.78);padding:6px 9px;color:var(--cream)}
.page-banner--type{height:auto;min-height:0;padding:72px 0 44px}
.callout-fact,.callout-tip{font-size:15px}
@media(max-width:700px){.page-banner--type{padding:44px 0 34px}.callout-fact,.callout-tip{font-size:15px;line-height:1.6}}
.prose hr{display:none}
@media(max-width:700px){.hero-scrim{background:linear-gradient(180deg,rgba(17,24,22,0) 18%,rgba(17,24,22,.55) 40%,rgba(17,24,22,.9) 62%,rgba(17,24,22,.98) 100%)}.banner-scrim{background:linear-gradient(180deg,rgba(17,24,22,0) 20%,rgba(17,24,22,.7) 55%,rgba(17,24,22,.95) 100%)}}
/* review 2: opaque sticky header; anchors clear it; lighter mobile H1 shadow; tighter hub sections */
.top{background:#111816!important;backdrop-filter:none}
html{scroll-padding-top:76px}
@media(max-width:700px){.hero h1,.banner-inner h1{text-shadow:2px 2px 0 var(--ink)}}
.home-section,.story-section{padding:64px 0}
.hub-intro{padding-top:36px}.hub-intro .article-body>h2{margin-top:1.55em}.hub-intro .article-body>p{margin-bottom:.8em}.hub-intro .article-body>hr{margin:.65em 0;border:0;border-top:1px solid var(--line)}
.hub-cards{grid-template-columns:repeat(6,1fr);align-items:stretch}.hub-cards .card{grid-column:span 2;display:flex;flex-direction:column}.hub-cards .card:nth-child(4){grid-column:2/span 2}.hub-cards .card:nth-child(5){grid-column:4/span 2}
.prose ul.named-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:1.2em 0;padding:0;list-style:none}.prose ul.named-grid li{margin:0;padding:14px 16px;border-top:2px solid var(--orange);background:var(--surface);font-size:15px;line-height:1.55}.prose ul.named-grid li>strong:first-child{display:block;margin-bottom:5px;color:var(--orange);font:600 11px/1.25 var(--mono);letter-spacing:.07em;text-transform:uppercase}
@media(max-width:900px){.hub-cards{grid-template-columns:repeat(2,1fr)}.hub-cards .card:nth-child(4),.hub-cards .card:nth-child(5){grid-column:auto}}
@media(max-width:700px){.hub-intro{padding-top:28px}.hub-intro .article-body>h2{margin-top:1.35em}.prose ul.named-grid{grid-template-columns:1fr}.hub-cards{grid-template-columns:1fr}.hub-cards .card,.hub-cards .card:nth-child(4),.hub-cards .card:nth-child(5){grid-column:auto}}
.prose figure.inline-photo{margin:28px 0;max-width:100%}
.prose figure.inline-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.prose figure.inline-photo figcaption{font:500 12px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--warm);opacity:.8;margin-top:8px}

/* Architecture field guide + style map */
.styleguide{max-width:1320px;margin:56px auto;padding:0 24px}
.styleguide-head{max-width:760px;margin-bottom:24px}
.styleguide-head h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(30px,4.2vw,52px);line-height:1.02;color:var(--cream);margin:8px 0 12px}
.styleguide-head p{color:var(--warm)}
.sg-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sg-chip{font:600 12px/1 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);background:transparent;border:1px solid rgba(255,243,214,.35);border-radius:999px;padding:9px 13px;cursor:pointer;min-height:36px}
.sg-chip[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#111816}
.sg-chip:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.styleguide .stylemap-layout{grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:28px}
.styleguide .stylemap-cards{display:grid;grid-template-columns:1fr;gap:14px}
.style-card{display:grid;grid-template-columns:168px minmax(0,1fr);gap:18px;background:var(--surface);border:1px solid rgba(255,243,214,.12);border-radius:4px;padding:14px;color:var(--warm);transition:border-color .15s}
.style-card[hidden]{display:none}
.style-card:not(:has(.style-img)){grid-template-columns:1fr}
.styleguide .style-card:hover{border-color:rgba(255,107,53,.6)}
.styleguide .style-card[data-active="true"]{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,107,53,.35)}
.style-img{margin:0}
.style-img img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:2px}
.style-img figcaption{font:500 10px/1.3 "IBM Plex Mono",monospace;color:var(--warm);opacity:.6;margin-top:6px}
.style-meta{font:600 11px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow);margin:0 0 4px}
.style-card h3{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:21px;line-height:1.15;color:var(--cream);margin:0 0 6px}
.style-card p{margin:0 0 8px;font-size:15px;line-height:1.5}
.style-card h4{font:600 11px/1.4 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin:10px 0 4px}
.style-card ul{margin:0 0 4px;padding-left:18px;font-size:14.5px;line-height:1.45}
.style-where{font-size:14.5px}
.style-maphint{display:inline-block;font:500 11px/1.4 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--orange);opacity:.85;margin-top:4px}
.styleguide .stylemap-map{top:84px}
.styleguide .neighborhood-map-module{--bg:#241C18;--ink:#FFF3D6;background:var(--surface);color:var(--cream);border:1px solid rgba(255,243,214,.15);border-radius:4px;height:min(calc(100vh - 110px),46rem)}
.styleguide .neighborhood-map-toolbar{padding:10px 14px}
.sg-map-label{margin:0;font:600 12px/1.4 "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow)}
.styleguide .neighborhood-map-canvas{background:#111816;min-height:0}
.styleguide .neighborhood-map-status{font-size:12px;color:var(--warm);padding:8px 14px}
.styleguide .leaflet-container{font-family:"Libre Franklin",sans-serif}
.styleguide .leaflet-control-attribution{background:rgba(17,24,22,.8);color:var(--warm)}
.styleguide .leaflet-control-attribution a{color:var(--yellow)}
.styleguide .leaflet-popup-content-wrapper,.styleguide .leaflet-popup-tip{background:#241C18;color:var(--cream)}
@media (max-width:760px){
 .styleguide{padding:0 16px;margin:40px auto}
 .styleguide .stylemap-map{top:60px}
 .styleguide .neighborhood-map-module{height:36vh;min-height:14rem}
 .style-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}
 .style-card h3{font-size:18px}
 .style-img figcaption{display:none}
 .sg-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
 .sg-chip{flex:0 0 auto}
}
.styleguide .neighborhood-map-controls,.styleguide .neighborhood-map-legend{display:none!important}
.nbmap .neighborhood-map-module{height:auto;min-height:0}
.nbmap .neighborhood-map-canvas{min-height:0;height:min(68vh,560px)}
.nbmap-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font:500 13px/1.5 "IBM Plex Mono",monospace}
.nbmap-list a{color:var(--warm)}
.nbmap-list li[hidden]{display:none}
.nbmap-groups{font:600 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase;opacity:.75}
.prose [id^="nb-"]{scroll-margin-top:80px}
@media (max-width:760px){.nbmap .neighborhood-map-module{height:auto;min-height:0}.nbmap .neighborhood-map-canvas{height:62vh;min-height:20rem}}
.styleguide .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.78) contrast(.92) saturate(.25) sepia(.25)}
@media (max-width:760px){.styleguide .neighborhood-map-status{display:none}}

button.style-maphint{background:none;border:1px solid rgba(255,107,53,.5);border-radius:999px;padding:6px 11px;cursor:pointer;min-height:32px}
button.style-maphint[aria-pressed="true"]{background:var(--orange);color:#111816;opacity:1}
button.style-maphint:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
@media(min-width:901px){.hero h1{max-width:1000px;font-size:clamp(3.2rem,5.9vw,5.4rem)}}
.style-outside{font-size:13px;color:var(--warm);opacity:.75;margin-top:2px}
.styleguide .leaflet-bar a{background:#241C18;color:var(--cream);border-bottom-color:rgba(255,243,214,.2)}
.styleguide .leaflet-bar a:hover{background:#3a2e28}
.styleguide .leaflet-bar a.leaflet-disabled{background:#241C18;color:rgba(255,243,214,.35)}
.styleguide .leaflet-bar{border:1px solid rgba(255,243,214,.25)}
.styleguide .leaflet-control-attribution{white-space:normal;max-width:100%;font-size:10px;line-height:1.3}
@media (max-width:760px){
 .styleguide .stylemap-map{display:none;position:static;order:0;margin-top:12px}
 .styleguide .stylemap-map.is-open{display:block}
 .styleguide .stylemap-map.is-open .neighborhood-map-module{height:300px;min-height:0}
 .styleguide .style-card[data-active="true"] .style-body{grid-column:1/-1}
}
/* Anton has one weight (400); default bold on headings made browsers fake-bold it, which clogs the letters. */
h1,h2,h3,h4{font-weight:400}
.path-card h2{letter-spacing:.025em}
.hero h1,.banner-inner h1{letter-spacing:.005em}
.video-poster{object-position:100% 50%}
.video-play-btn{left:22%;top:72%}
.breadcrumbs+main .styleguide:first-child,.styleguide:first-child{margin-top:28px}
@media (max-width:480px){.prose td,.prose th{padding:10px 8px}}

.home-paths .path-card{width:min(520px,100%);padding:22px 24px}
.home-paths .path-card h2 a{color:var(--cream);text-decoration:none}
.path-qs{list-style:none;margin:14px 0 0;padding:0}
.path-qs li{padding:10px 0;border-top:1px solid var(--line);color:var(--warm);font-size:15px;line-height:1.5}
.path-qs li a{display:block;color:var(--cream);font-weight:600}
.path-go{display:inline-block;margin-top:12px;color:var(--orange);font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.path-go-2{margin-left:14px}
@media(max-width:700px){.path-go-2{margin-left:0;display:block;margin-top:8px}}
.desk{margin-left:auto}.search-link{display:inline-flex;align-items:center;gap:6px;color:var(--cream);text-decoration:none;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border:1px solid var(--line)}
.search-link:hover,.search-link:focus-visible{border-color:var(--orange);color:var(--orange)}
@media(max-width:700px){.search-link span{display:none}.search-link{margin-left:auto;margin-right:4px;padding:9px}}
.search-page{--pagefind-ui-primary:#F27442;--pagefind-ui-text:#F6F1E3;--pagefind-ui-background:#18221F;--pagefind-ui-border:rgba(222,216,200,.3);--pagefind-ui-tag:#222E2A;--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:4px;--pagefind-ui-font:'Libre Franklin',Arial,sans-serif}
.search-page .pagefind-ui__result-link{color:var(--cream)}
.search-page .pagefind-ui__result-excerpt{color:var(--warm)}
.search-page mark{background:var(--orange);color:#111816}
.search-page .pagefind-ui__search-input{color:var(--cream)}.search-page .pagefind-ui__search-input::placeholder{color:var(--warm);opacity:.7}.search-page .pagefind-ui__search-clear{color:var(--cream);background:transparent}
.range-homes{padding:56px 20px 48px;background:var(--brick);border-bottom:1px solid var(--line)}.rh-head{width:min(1120px,100%);margin:0 auto 26px}.rh-head h2{font-size:clamp(2.2rem,4.5vw,3.4rem)}.rh-head p{max-width:680px;margin:10px 0 0;color:var(--warm)}.rh-grid{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rh-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border-top:3px solid var(--orange)}.rh-card picture img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.rh-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}.rh-era{margin:0;color:var(--yellow);font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}.rh-card h3{margin:8px 0 0;font-size:1.6rem}.rh-card h3 a{color:var(--cream);text-decoration:none}.rh-card h3 a:after{content:'';position:absolute;inset:0}.rh-card:hover h3 a{text-decoration:underline}.rh-house{margin:8px 0 14px;color:var(--warm);font-size:15px;line-height:1.45}.rh-price{margin:auto 0 0}.rh-price strong{display:block;color:var(--orange);font:400 1.9rem/1 var(--display);letter-spacing:.02em}.rh-price span{display:block;margin-top:4px;color:var(--warm);font:500 11px/1.4 var(--mono)}.rh-credit{position:relative;z-index:1;display:block;padding:0 18px 12px;color:rgba(222,216,200,.7);font:500 10px/1.3 var(--mono)}
@media(max-width:900px){.rh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.range-homes{padding:44px 0 36px}.rh-head{width:calc(100% - 36px)}.rh-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 18px 8px;width:100%}.rh-card{flex:0 0 82%;scroll-snap-align:center}}
.rh-art{background:#18130F;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}.rh-art img{width:auto;height:100%;max-width:100%;object-fit:contain;display:block}.rh-credit{margin-top:-4px}.rh-credit:hover{color:var(--orange)}
.rh-art img{-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%)}
.rh-art{position:relative}.rh-tag{position:absolute;left:10px;bottom:10px;padding:5px 7px;background:rgba(17,24,22,.85);color:var(--warm);font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.rh-body{padding-bottom:20px}
.rh-photo{position:relative}.rh-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.rh-credit{position:static;padding:0 18px 14px;margin-top:-6px}
@media(max-width:600px){.table-cards{overflow-x:visible}.table-cards table,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-cards tr{padding:12px 0;border-bottom:1px solid var(--line)}.table-cards td{border:0;padding:3px 0;display:grid;grid-template-columns:38% 1fr;gap:10px}.table-cards td:before{content:attr(data-label);color:var(--yellow);font:500 10.5px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.table-cards td:first-child{display:block;font-weight:700;color:var(--cream);font-size:15px;padding-bottom:6px}.table-cards td:first-child:before{content:none}}
.hill-card-map-btn{margin-left:14px;padding:6px 10px;background:transparent;border:1px solid var(--line);color:var(--cream);font:500 11px var(--mono);cursor:pointer}.hill-card-map-btn:hover{border-color:var(--orange);color:var(--orange)}
@media(max-width:600px){.table-cards td{display:block;position:relative;padding:3px 0 3px 40%;min-height:1.6em}.table-cards td:before{position:absolute;left:0;top:3px;width:37%}.table-cards td:first-child{padding-left:0}}

.lc{text-transform:none}
.sg-glossary{margin:14px 0 18px;border:1px solid rgba(255,243,214,.18);border-radius:4px;padding:10px 14px}.sg-glossary summary{cursor:pointer;font:600 12px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow)}.sg-glossary dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 22px;margin:12px 0 4px}.sg-glossary dt{font-weight:700;color:var(--cream);display:inline}.sg-glossary dt::after{content:": "}.sg-glossary dd{display:inline;margin:0;color:var(--warm)}
@media (max-width:600px){.styleguide .style-card{display:block}.styleguide .style-card .style-img{float:left;width:96px;margin:2px 12px 6px 0}.styleguide .style-card::after{content:"";display:block;clear:both}.styleguide .style-card h4{clear:left}}
.nw{white-space:nowrap}
/* Phones: banner captions can wrap to two lines; leave room so the intro text never touches them. */
@media(max-width:700px){.banner-inner{padding-bottom:78px}}
/* Search: visible focus on the input, and keep the hidden "Clear" button out of the tab order. */
.search-page .pagefind-ui__search-input:focus{outline:2px solid var(--orange);outline-offset:2px}
.search-page .pagefind-ui__search-clear.pagefind-ui__suppressed{visibility:hidden}
@media(max-width:700px){
  /* Menu panel opens flush under the 65px header (it sat 9px low, letting page text show through). */
  .menu nav{top:55px}
  /* Tap targets: header search 44x44, breadcrumb links get vertical padding, captions stay inside the frame. */
  .search-link{min-width:44px;min-height:44px;justify-content:center}
  .breadcrumbs{padding-top:8px}
  .breadcrumbs a{display:inline-block;padding:10px 0}
  .banner-caption{max-width:calc(100% - 36px)}
  .path-go{display:inline-block;padding:10px 0}
}
/* Sources page filter */
.src-filter{display:flex;align-items:center;gap:10px;margin:18px 0 6px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.src-filter input{flex:1;min-height:44px;padding:8px 12px;background:#241C18;border:1px solid var(--line);color:var(--cream);font:400 16px 'Libre Franklin',Arial,sans-serif}
.src-filter input:focus{outline:2px solid var(--orange);outline-offset:2px}
.src-count{min-height:1.2em;font:500 11px var(--mono);color:var(--warm)}
/* Neighborhood name list under the map: taller tap targets */
.nbmap-list a{display:inline-block;padding:9px 0}

.menu-sub{display:block;margin-top:10px;padding:12px 6px 4px;border-top:1px solid var(--line);color:var(--yellow);font-size:10px;letter-spacing:.08em}
/* Photo banners grow with their text: a fixed height let long intros push the eyebrow under the sticky header on phones. */
.page-banner:not(.page-banner--type){height:auto;min-height:max(390px,55vh);padding-top:72px}
@media(max-width:700px){.page-banner:not(.page-banner--type){min-height:max(340px,42vh);padding-top:40px}}
/* Contact form */
.contact-form{display:grid;gap:8px;max-width:620px;margin-top:28px}
.contact-form label{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warm);margin-top:12px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;min-height:44px;border:1px solid var(--line);background:var(--brick);color:var(--cream);font:inherit;font-size:1rem;border-radius:0}
.contact-form textarea{resize:vertical;line-height:1.5}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:2px}
.contact-form .cf-turnstile{margin-top:16px;min-height:65px}
.contact-send{justify-self:start;margin-top:8px;padding:14px 24px;min-height:44px;border:0;background:var(--orange);color:var(--brick);font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.contact-send:disabled{opacity:.6;cursor:wait}
.contact-send:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-status{min-height:1.5em;margin:6px 0 0}
.cf-ok{color:var(--yellow)}
.cf-err{color:#ff8a70}

/* Tap targets: a phone QA pass found these under the WCAG 2.2 minimum of 24x24.
   Grow the hit box with padding and take the space back with negative margin,
   so glyphs and the surrounding layout stay exactly where they were. */
.brand{padding:12px 0;margin:-12px 0}
.breadcrumbs a{display:inline-block;padding:10px 6px;margin:-10px -6px}
@media(max-width:700px){.breadcrumbs a{display:inline-block;padding:10px 6px;margin:0 -6px}}
.footer-links a{padding:4px 8px;margin:-4px -8px}
/* Source chips are inline citation links, which WCAG exempts in running text.
   Bump their padding only where the surrounding text line is tall enough to
   hold a 24px box (paragraphs, list items, blockquotes, the quote band).
   Callout, card and table lines are ~21-24px tall: a 24px chip there would
   grow the line, so those chips keep their current small padding and stay
   shorter than the line they sit in. */
.quote-band p a.src{padding:4px 6px 4px}
.prose a.src{padding:2.5px 6px 2.5px}
.prose ul.named-grid a.src,.prose td a.src,.prose th a.src{padding:1px 6px 2px}
.callout-fact a.src,.callout-tip a.src,.callout-quote a.src,.discovery-card a.src{padding:1px 6px 2px}

/* --- accessibility repairs 2026-10-25 ------------------------------------------------ */
/* Keyboard focus was invisible. The UA ring is rgb(16,16,16) on a #111816 background:
   1.04:1, i.e. present in the DOM but not perceivable (WCAG 2.4.7). Give it an authored
   indicator in the palette — yellow on brick measures 11.2:1. */
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* Print. There were no print rules at all, so cream text went onto white paper: pages came
   out effectively blank unless the reader enabled background graphics. Force ink-on-paper,
   drop the chrome, and show where links point. */
@media print{
  body{background:#fff!important;color:#111!important}
  .top,.skip-link,.search-link,.menu,.breadcrumbs,.footer-links,.hero,.page-banner,
  .price-flag,.hero-caption,.banner-caption,.video-wrapper,.hill-map-section,.nbmap,
  .path-cards,.hub-cards,.discovery-grid{display:none!important}
  h1,h2,h3,h4,p,li,td,th,blockquote,cite,figcaption,.dek,.eyebrow,.sources .cited,
  .callout-fact,.callout-tip,.callout-quote{color:#111!important;background:none!important}
  h2:before{background:#111!important}
  a{color:#111!important;text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:85%;color:#444;word-break:break-all}
  .prose a.src{color:#444!important;border-color:#bbb!important}
  .prose a.src::after{content:""}
  .callout-fact,.callout-tip,.callout-quote{border-color:#999!important}
  .table-scroll{overflow:visible!important}
  .prose table{font-size:10pt}
  img{max-width:100%!important}
  footer{background:#fff!important;color:#111!important;border-top:1px solid #ccc}
  .footer-links{display:none!important}
}

/* Ozark typography, limestone bands and spring-water contours. */
.top{background:#111816!important;backdrop-filter:none}
.page-banner--type{background:radial-gradient(ellipse at 80% 20%,rgba(56,182,168,.14),transparent 60%),linear-gradient(180deg,#16221E 0%,#111816 100%);height:auto;min-height:330px}
.page-banner--type:after{background:var(--orange);height:3px}
.hero.page-banner--type{min-height:690px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}
.river-contours{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-content{position:relative;padding:70px 0 180px;width:min(1120px,100% - 40px);margin:auto}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.7rem);max-width:920px;line-height:1.09;letter-spacing:0}
.hero .dek{max-width:650px}.price-flag{bottom:25px;top:auto;right:4vw;transform:none}.price-flag a{color:var(--brick)}
.home-section>h2{margin:0 0 28px}.living-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.living-card{position:relative;overflow:hidden}.living-card .era{font:11px var(--mono);color:var(--yellow)}.contour-mark{font:100px/1 var(--body);color:var(--teal);margin:10px 0}.housing-source{font-size:13px;color:var(--warm);margin-top:20px}.housing-source .src{color:var(--warm)}
.hero .eyebrow,.banner-inner .eyebrow{color:var(--yellow)}
.banner-inner{position:relative;bottom:auto;padding:55px 0}.banner-inner h1{font-size:clamp(2.2rem,5vw,4.2rem)}
.prose{overflow-wrap:anywhere}.prose .card-grid{width:100%}.home-paths .path-cards{display:flex;gap:30px}.quote-band a.src{font-size:14px;color:var(--warm)}
@media(max-width:1100px){.desk{display:none}.menu{display:block}}
@media(max-width:700px){.living-grid{grid-template-columns:1fr}.hero.page-banner--type{min-height:700px}.hero-content{padding:50px 0 180px}.hero h1{font-size:clamp(2.25rem,8.6vw,3.8rem)}.price-flag{bottom:0;right:0}.page-banner--type{min-height:320px}.banner-inner{padding:45px 0}.home-paths .path-cards{flex-direction:column}.hero .eyebrow{font-size:10px}}
.discovery-card a.src,.prose a.src{padding:3px 6px;margin:2px .15em}
@media(max-width:700px){.prose a.src,.discovery-card a.src,.callout-fact a.src,.callout-tip a.src,.callout-downside a.src,.callout-quote a.src{white-space:normal;max-width:100%}.nw{white-space:normal}}
