/* Palos Verdes AI — live Place Atlas */
.place-brain.section{background:var(--limestone);padding-top:clamp(76px,9vw,128px);padding-bottom:clamp(72px,8vw,110px)}
.place-brain-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:end;margin:52px 0 42px}
.place-brain-heading h2{margin-top:15px}
.place-brain-heading h2 em{color:var(--sage)}
.place-brain-intro{max-width:500px}
.place-brain-intro .lead{font-size:clamp(21px,2.2vw,28px);margin-bottom:15px}
.place-brain-intro>p:not(.lead){font-size:12px;line-height:1.85;color:#58646a;margin-bottom:12px}
.place-brain-intro .place-ai-note{padding-top:12px;border-top:1px solid rgba(18,36,45,.18);font-size:10px;letter-spacing:.025em;color:#687276}
.place-brain-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:570px;background:var(--salt);border:1px solid rgba(18,36,45,.17);box-shadow:0 14px 42px rgba(18,36,45,.08)}
.place-brain-field{min-width:0;display:flex;flex-direction:column;background:#0d1d24;color:var(--salt);overflow:hidden}
.place-field-top,.place-field-bottom{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 22px;color:rgba(255,255,255,.55);font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.place-field-top{border-bottom:1px solid rgba(255,255,255,.1)}
.place-field-top>span:first-child{display:flex;align-items:center;gap:8px;color:#e4d5be}
.place-field-top i{width:6px;height:6px;border-radius:50%;background:#b98568;box-shadow:0 0 9px rgba(185,133,104,.55)}
#place-status{letter-spacing:.08em;text-align:right;text-transform:none}
#place-atlas-canvas{display:block;width:100%;height:clamp(420px,45vw,590px);outline:none;touch-action:pan-y}
#place-atlas-canvas:focus-visible{outline:2px solid #dfc49b;outline-offset:-4px}
.place-field-bottom{min-height:44px;border-top:1px solid rgba(255,255,255,.1);font-size:7px;letter-spacing:.14em}
.place-field-bottom b{color:#e4d5be;font-weight:600}
.place-brain-panel{padding:27px 23px 24px;display:flex;flex-direction:column;color:var(--ink);min-width:0}
.place-panel-heading .eyebrow{margin-bottom:8px}
.place-panel-heading h3{font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.05;margin-bottom:16px}
.place-search{width:100%;min-height:45px;padding:0 13px;border:1px solid #c8c3b9;border-radius:0;background:#fff;color:var(--ink);font-size:12px;outline:none}
.place-search:focus{border-color:var(--brass);box-shadow:0 0 0 2px rgba(168,139,99,.16)}
.place-search::placeholder{color:#8b9291}
.place-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 2px}
.place-filter{padding:7px 9px;background:transparent;border:1px solid #d0cbc2;color:#657075;font-size:8px;line-height:1.2;letter-spacing:.03em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.place-filter:hover,.place-filter.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.place-filter:focus-visible,.place-result:focus-visible,.place-index-details button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.place-results{display:grid;gap:2px;max-height:160px;overflow:auto;margin:8px 0 1px;padding:5px;background:#eeece6;border:1px solid #ddd8ce}
.place-result{width:100%;padding:7px 8px;border:0;background:transparent;text-align:left;color:var(--ink);font-size:10px;cursor:pointer}
.place-result:hover{background:#e2ddd3}
.place-result-empty{padding:7px 8px;color:#6c777a;font-size:10px}
.place-type-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0 17px;padding:16px 0;border-top:1px solid #d7d2c9;border-bottom:1px solid #d7d2c9}
.place-type-counts>div{display:flex;flex-direction:column;gap:5px}
.place-type-counts strong{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1;color:var(--ink)}
.place-type-counts span{font-size:7px;line-height:1.45;letter-spacing:.045em;text-transform:uppercase;color:#667175}
.place-legend{display:grid;gap:9px;margin:0 0 19px}
.place-legend>span{display:flex;align-items:center;gap:8px;font-size:8px;color:#5c686d}
.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none}
.legend-dot.council{background:#b98568}.legend-dot.city{background:#53636a}.legend-dot.uninc{background:#718e7e}
.place-detail{margin-top:auto;padding-top:16px;border-top:1px solid #d7d2c9}
.place-detail .eyebrow{margin-bottom:7px}
.place-detail h3{font-family:var(--serif);font-size:25px;line-height:1.1;font-weight:500;margin:0 0 7px}
.place-detail p{font-size:9px;line-height:1.65;color:#667175;margin:0 0 9px}
.place-detail a{display:inline-block;margin:1px 12px 0 0;color:#785f3e;font-size:8px;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid rgba(168,139,99,.55);padding-bottom:2px}
.place-source-note{max-width:850px;margin:16px 0 0;color:#737b7a;font-size:8px;line-height:1.7}
.place-index-details{margin-top:16px;border-top:1px solid rgba(18,36,45,.18);border-bottom:1px solid rgba(18,36,45,.18)}
.place-index-details summary{padding:12px 0;cursor:pointer;color:#5b666a;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.place-index-details summary::marker{color:var(--brass)}
#place-index-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:8px 0 24px}
#place-index-list h4{font-size:9px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#8a7252}
#place-index-list ul{list-style:none;padding:0;margin:0;columns:2;column-gap:15px}
#place-index-list li{break-inside:avoid;margin:0 0 3px}
#place-index-list button{border:0;padding:2px 0;background:none;color:#58646a;text-align:left;font-size:8px;line-height:1.5;cursor:pointer}
#place-index-list button:hover{color:#8a7252;text-decoration:underline}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.place-brain-layout{grid-template-columns:minmax(0,1fr) 285px}.place-brain-panel{padding:23px 18px}.place-filter{font-size:7px;padding:7px}.place-type-counts{gap:6px}}
@media(max-width:760px){.place-brain-heading{grid-template-columns:1fr;gap:25px;margin:39px 0 30px}.place-brain-layout{grid-template-columns:1fr}.place-brain-field{min-height:440px}.place-brain-panel{padding:23px}.place-field-top,.place-field-bottom{padding:0 13px;font-size:7px;letter-spacing:.08em}.place-field-bottom>span:last-child{display:none}#place-atlas-canvas{height:440px}.place-panel-heading h3{font-size:30px}.place-filter-row{gap:5px}.place-filter{font-size:8px;padding:8px 9px}.place-type-counts{margin-top:18px}.place-type-counts span{font-size:7px}#place-index-list{grid-template-columns:1fr 1fr;gap:17px}}
@media(max-width:430px){.place-field-top{align-items:flex-start;padding-top:13px;padding-bottom:10px;flex-direction:column;justify-content:center;gap:4px}.place-field-top{min-height:54px}.place-field-bottom{font-size:6px}.place-type-counts{gap:5px}.place-type-counts strong{font-size:24px}.place-type-counts span{font-size:6px}#place-index-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.place-filter{transition:none}}

/* Indexable local search context, set beneath the graph */
.place-local-copy{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start;margin:42px 0 20px;padding-top:28px;border-top:1px solid rgba(18,36,45,.18)}
.place-local-copy .eyebrow{margin-bottom:14px}
.place-local-copy h3{max-width:470px;font-family:var(--serif);font-size:clamp(25px,3vw,37px);font-weight:400;line-height:1.08;margin:0;color:var(--ink)}
.place-local-copy-content{max-width:760px}
.place-local-copy-content p{font-size:12px;line-height:1.9;color:#58646a;margin:0 0 12px}
@media(max-width:760px){.place-local-copy{grid-template-columns:1fr;gap:18px;margin-top:32px;padding-top:23px}.place-local-copy h3{max-width:560px}}
