/* Town pages (neighborhoods/<slug>.html), 2026-11 rebuild. Generated by the town-pages assembler from each page's styles;
   rules that differ between pages are scoped to that page with body.twp-<slug>. */
.ph{background:#FFF6D6;outline:1px dashed #C9A93A;padding:0 4px;font-family:var(--adv-sans);font-size:.85em;color:#6B5600;}
.mk-jump{border-top:1px solid var(--adv-rule);border-bottom:1px solid var(--adv-rule);}
.mk-jump__row{display:flex;gap:26px;overflow-x:auto;padding:14px 0;scrollbar-width:none;}
.mk-jump__row::-webkit-scrollbar{display:none;}
.mk-jump a{font-family:var(--adv-sans);font-size:13px;color:var(--adv-gray-text);white-space:nowrap;}
.mk-jump a:hover{color:var(--adv-ink);}
.mk-sec{padding:110px 0;}
.mk-sec--tight{padding-top:0;}
.mk-lead{margin-top:18px !important;max-width:720px;font-family:var(--adv-serif-text);font-size:17px;line-height:1.75;color:var(--adv-gray-copy);}
.mk-src{margin-top:18px !important;font-family:var(--adv-sans);font-size:12px;line-height:1.6;color:var(--adv-gray-text);}
.mk-cite{display:block;margin-top:10px;font-family:var(--adv-sans);font-size:11.5px;line-height:1.6;color:var(--adv-muted);}
.mk-table{width:100%;margin-top:40px;border-collapse:collapse;font-family:var(--adv-sans);font-size:14px;color:var(--adv-on-black-link);}
:is(.twp-del-mar,.twp-la-jolla,.twp-bird-rock,.twp-solana-beach,.twp-rancho-santa-fe,.twp-cardiff,.twp-encinitas,.twp-carlsbad,.twp-carmel-valley,.twp-san-diego,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-table th,:is(.twp-del-mar,.twp-la-jolla,.twp-bird-rock,.twp-solana-beach,.twp-rancho-santa-fe,.twp-cardiff,.twp-encinitas,.twp-carlsbad,.twp-carmel-valley,.twp-san-diego,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-table td{text-align:right;padding:14px 10px;border-bottom:1px solid var(--adv-on-black-rule);white-space:nowrap;}
.mk-table th:first-child,.mk-table td:first-child{text-align:left;padding-left:0;}
.mk-table thead th{font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--adv-on-black-label);}
.mk-table td strong{font-weight:400;color:var(--adv-on-black);}
.mk-table-wrap{overflow-x:auto;}
/* Market section, short closed-sales table (Option C, 2026-11): this year by home type, small change lines vs the same
   dates last year; the full table sits in "See all numbers" below it. The refresh job regenerates the table. */
.mk-chg{display:block;margin-top:4px;font-size:11px;letter-spacing:.02em;color:var(--adv-on-black-label);}
.mk-sum-note{margin-top:10px !important;}
.mk-more{margin-top:22px;}
.mk-more summary{cursor:pointer;list-style:none;display:inline-block;font-family:var(--adv-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--adv-on-black);border-bottom:1px solid var(--adv-on-black-rule);padding-bottom:4px;}
.mk-more summary::-webkit-details-marker{display:none;}
.mk-more summary::after{content:" +";}
.mk-more[open] summary::after{content:" \2212";}
.mk-more .mk-table{margin-top:18px;}
.mk-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin-top:40px;}
.mk-band{border-top:1px solid var(--adv-ink);padding-top:24px;}
.mk-band__price{font-size:clamp(40px,3.6vw,62px);line-height:1;}
.mk-band__range{margin-top:10px;color:var(--adv-gray-text);}
.mk-band__facts{margin-top:22px !important;}
.mk-band__facts li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--adv-rule);font-family:var(--adv-sans);font-size:14px;}
.mk-band__facts li span:first-child{color:var(--adv-gray-text);}
.mk-band__p{margin-top:18px !important;font-family:var(--adv-serif-text);font-size:15.5px;line-height:1.7;color:var(--adv-gray-copy);}
.mk-hoods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin-top:8px;}
.mk-hood{padding:30px 0;border-bottom:1px solid var(--adv-rule);}
.mk-hood__h{font-size:clamp(26px,2.1vw,36px);line-height:1.1;}
.mk-hood__tag{margin-top:8px;color:var(--adv-gray-text);}
.mk-hood__p{margin-top:12px !important;font-family:var(--adv-serif-text);font-size:16px;line-height:1.75;color:var(--adv-gray-copy);}
.mk-ph-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--adv-placeholder);font-family:var(--adv-sans);font-size:12px;color:var(--adv-gray-text);text-align:center;padding:12px;box-sizing:border-box;}
.mk-take{background:var(--adv-panel);}
.mk-take__in{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;}
.mk-take__label{grid-column:1 / 3;}
.mk-take__body{grid-column:3 / 11;}
.mk-take__q{font-size:clamp(28px,2.4vw,42px);line-height:1.25;}
.mk-take__by{margin-top:22px;display:block;color:var(--adv-gray-text);}
.mk-faq{margin-top:12px;border-top:1px solid var(--adv-ink);}
.mk-faq details{border-bottom:1px solid var(--adv-rule);}
.mk-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:24px 0;font-family:var(--adv-serif);font-size:clamp(21px,1.6vw,27px);line-height:1.2;}
.mk-faq summary::-webkit-details-marker{display:none;}
.mk-faq summary::after{content:"+";font-family:var(--adv-sans);font-size:20px;color:var(--adv-gray-text);flex:none;}
.mk-faq details[open] summary::after{content:"–";}
.mk-faq__a{padding:0 0 26px;max-width:780px;}
.mk-faq__a p{font-family:var(--adv-serif-text);font-size:16px;line-height:1.75;color:var(--adv-gray-copy);}
.mk-faq__a p + p{margin-top:12px !important;}
.mk-faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;}
.mk-faq-grid__l{grid-column:1 / 5;}
.mk-faq-grid__r{grid-column:5 / 13;}
.mk-jsonld-note{margin-top:18px !important;font-family:var(--adv-sans);font-size:12px;color:var(--adv-muted);}
.mk-feas{background:var(--adv-ink);color:var(--adv-on-black);}
.mk-feas__in{padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:end;}
.mk-feas__l{grid-column:1 / 8;}
.mk-feas__h{margin-top:16px !important;font-size:clamp(38px,3.6vw,64px);line-height:1.04;}
.mk-feas__p{margin-top:18px !important;max-width:560px;font-family:var(--adv-serif-text);font-size:16px;line-height:1.75;color:var(--adv-on-black-link);}
.mk-feas__r{grid-column:9 / 13;justify-self:end;}
.mk-feas .adv-btn-pill{background:var(--adv-on-black);color:var(--adv-ink);border-color:var(--adv-on-black);}
.mk-feas .adv-btn-pill:hover{background:transparent;color:var(--adv-on-black);}
.mk-feas .adv-label{color:var(--adv-on-black-label);}
.mk-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin-top:44px;text-align:left;border-top:1px solid var(--adv-rule);}
.mk-contact div{padding-top:20px;}
.mk-contact .adv-label{color:var(--adv-gray-text);}
.mk-contact p{margin-top:8px !important;font-family:var(--adv-serif);font-size:22px;}
.mk-lead-cta__opts{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.mk-lead-cta__note{font-family:var(--adv-sans);font-size:12px;line-height:1.55;color:var(--adv-gray-text);max-width:260px;}
:is(.twp-del-mar,.twp-carlsbad,.twp-carmel-valley) .mk-maeve{text-align:left;display:inline-flex;align-items:center;gap:10px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);border:1px solid var(--adv-rule);border-radius:999px;padding:9px 16px 9px 10px;background:var(--adv-paper);cursor:pointer;}
:is(.twp-la-jolla,.twp-san-diego) .mk-maeve{display:inline-flex;align-items:center;gap:10px;font-family:var(--adv-sans);font-size:14px;color:var(--adv-ink);border:1px solid var(--adv-ink);border-radius:999px;padding:10px 18px;background:transparent;cursor:pointer;}
:is(.twp-rancho-santa-fe) .mk-maeve{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--adv-rule);border-radius:999px;background:transparent;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);cursor:not-allowed;}
:is(.twp-cardiff,.twp-encinitas) .mk-maeve{appearance:none;background:transparent;border:1px solid var(--adv-rule);border-radius:999px;padding:10px 18px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-gray-text);cursor:pointer;text-align:left;}
:is(.twp-del-mar,.twp-carlsbad,.twp-carmel-valley) .mk-maeve__dot{width:22px;height:22px;border-radius:50%;background:var(--adv-panel);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--adv-gray-text);flex:none;}
:is(.twp-la-jolla,.twp-san-diego) .mk-maeve__dot{width:8px;height:8px;border-radius:50%;background:var(--adv-gray-text);flex:none;}
.mk-maeve small{color:var(--adv-gray-text);font-size:11.5px;}
.mk-search{background:var(--adv-panel);}
.mk-search__in{padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:start;}
.mk-search__l{grid-column:1 / 7;}
.mk-search__h{margin-top:16px !important;font-size:clamp(34px,3vw,52px);line-height:1.06;}
.mk-search__p{margin-top:18px !important;max-width:540px;font-family:var(--adv-serif-text);font-size:16px;line-height:1.75;color:var(--adv-gray-copy);}
.mk-search__r{grid-column:8 / 13;}
.mk-steps{counter-reset:st;border-top:1px solid var(--adv-ink);}
.mk-steps li{counter-increment:st;display:flex;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--adv-rule);font-family:var(--adv-sans);font-size:14px;color:var(--adv-gray-copy);}
.mk-steps li::before{content:counter(st,decimal-leading-zero);font-size:10.5px;letter-spacing:.14em;color:var(--adv-gray-text);width:22px;flex:none;}
.mk-search__btns{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;}
.mk-hood__get{display:inline-block;margin-top:12px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);border-bottom:1px solid var(--adv-rule);}
.mk-stepmock{background:var(--adv-paper);border:1px solid var(--adv-rule);padding:22px 22px 18px;margin-bottom:26px;}
.mk-stepmock__top{display:flex;align-items:center;gap:14px;}
.mk-stepmock__bar{flex:1;height:2px;background:var(--adv-rule);position:relative;}
.mk-stepmock__bar span{position:absolute;left:0;top:0;bottom:0;background:var(--adv-ink);}
.mk-stepmock__q{margin-top:14px !important;font-size:26px;line-height:1.15;}
.mk-stepmock__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.mk-stepmock__chips span{font-family:var(--adv-sans);font-size:12.5px;padding:7px 12px;border:1px solid var(--adv-rule);border-radius:999px;color:var(--adv-gray-copy);white-space:nowrap;}
.mk-stepmock__chips span.is-on{border-color:var(--adv-ink);color:var(--adv-ink);}
.mk-stepmock__nav{display:flex;justify-content:flex-end;margin-top:16px;}
.mk-stepmock__next{font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);}
:is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta{margin-top:44px;background:var(--adv-panel);padding:34px 36px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:center;}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta{border:1px solid var(--adv-rule);background:var(--adv-panel);padding:34px 36px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:48px;row-gap:24px;align-items:start;}
:is(.twp-rancho-santa-fe) .mk-lead-cta{font-family:var(--adv-sans);}
.mk-lead-cta__l{grid-column:1 / 8;}
:is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__h{margin-top:12px !important;font-size:clamp(26px,2.2vw,36px);line-height:1.12;}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__h{margin-top:12px !important;font-size:clamp(26px,2.1vw,36px);line-height:1.12;}
:is(.twp-rancho-santa-fe) .mk-lead-cta__h{margin-top:14px !important;font-size:clamp(28px,2.4vw,42px);line-height:1.15;}
:is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__p{margin-top:12px !important;font-family:var(--adv-serif-text);font-size:16px;line-height:1.7;color:var(--adv-gray-copy);max-width:560px;}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__p{margin-top:12px !important;font-family:var(--adv-serif-text);font-size:16px;line-height:1.7;color:var(--adv-gray-copy);max-width:520px;}
:is(.twp-rancho-santa-fe) .mk-lead-cta__p{font-family:var(--adv-serif-text);font-size:15px;line-height:1.65;color:var(--adv-gray-copy);}
:is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__steps{margin-top:16px !important;display:flex;flex-wrap:wrap;gap:8px;}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
:is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__steps li{font-family:var(--adv-sans);font-size:12px;color:var(--adv-gray-text);border:1px solid var(--adv-rule);border-radius:999px;padding:5px 11px;background:var(--adv-white,#fff);}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__steps li{font-family:var(--adv-sans);font-size:12.5px;color:var(--adv-gray-text);background:var(--adv-paper);border:1px solid var(--adv-rule);border-radius:999px;padding:6px 12px;white-space:nowrap;}
.mk-lead-cta__r{grid-column:8 / 13;display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.mk-lead-cta__r .adv-btn-pill{white-space:nowrap;}
.mk-maeve-note{font-family:var(--adv-sans);font-size:11.5px;line-height:1.5;color:var(--adv-muted);max-width:300px;}
.mk-lead-cta--plain{margin-top:0;}
.mk-towns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:44px;margin-top:40px;}
.mk-town{display:block;color:inherit;}
.mk-town__ph{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--adv-placeholder);}
.mk-town__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--adv-ease);}
.mk-town:hover .mk-town__ph img{transform:scale(1.03);}
.mk-town__tier{display:block;margin-top:16px;color:var(--adv-gray-text);}
.mk-town__h{margin-top:6px !important;font-size:clamp(26px,2.1vw,34px);line-height:1.1;}
.mk-town__stat{margin-top:8px !important;font-family:var(--adv-sans);font-size:14px;color:var(--adv-gray-copy);}
.mk-town__p{margin-top:8px !important;font-family:var(--adv-serif-text);font-size:15px;line-height:1.65;color:var(--adv-gray-copy);}
.mk-town__more{display:inline-block;margin-top:10px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);}
.mk-towns--lead .mk-town:nth-child(-n+2) .mk-town__h{font-size:clamp(30px,2.6vw,42px);}
.mk-towns--lead{grid-template-columns:repeat(2,minmax(0,1fr));}
.mk-lead-cta__steps li b{font-weight:500;color:var(--adv-ink);margin-right:6px;}
.mk-lead-cta__btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:22px;}
.mk-lead-cta__maeve{display:inline-flex;align-items:center;gap:10px;font-family:var(--adv-sans);font-size:14px;color:var(--adv-ink);background:transparent;border:1px solid var(--adv-ink);border-radius:999px;padding:11px 18px;cursor:pointer;}
.mk-lead-cta__dot{width:8px;height:8px;border-radius:50%;background:var(--adv-gray-text);flex:none;}
.mk-lead-cta__fine{margin-top:14px !important;font-family:var(--adv-sans);font-size:11.5px;line-height:1.6;color:var(--adv-muted);}
.mk-village-cta{margin-top:56px;}
.mk-area-link{display:inline-block;margin-top:12px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);border-bottom:1px solid var(--adv-rule);}
.mk-area-link:hover{border-color:var(--adv-ink);}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-slot{border:1px dashed #C9A93A;background:#FFFBEA;padding:48px 24px;text-align:center;font-family:var(--adv-sans);font-size:13px;line-height:1.6;color:#6B5600;}
:is(.twp-carlsbad,.twp-carmel-valley) .mk-slot{border:1px dashed #C9A93A;background:#FFF9E6;font-family:var(--adv-sans);font-size:13px;color:#6B5600;padding:28px;text-align:center;}
:is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-share{margin-top:28px !important;font-family:var(--adv-sans);font-size:13px;line-height:1.6;color:var(--adv-on-black-link);}
:is(.twp-cardiff,.twp-encinitas,.twp-carlsbad,.twp-carmel-valley) .mk-share{margin-top:10px !important;font-family:var(--adv-sans);font-size:12px;line-height:1.6;color:var(--adv-on-black-label);}
.mk-share strong{font-weight:500;color:var(--adv-on-black);}
.tw-card__side{display:block;margin-top:6px;font-family:var(--adv-sans);font-size:12px;color:var(--adv-gray-text);}
.mk-lead-cta--side{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.mk-lead-cta--band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:end;border-top:1px solid var(--adv-ink);border-bottom:1px solid var(--adv-rule);padding:44px 0;}
.mk-lead-cta--band .mk-lead-cta__l{grid-column:1 / 8;}
.mk-lead-cta--band .mk-lead-cta__r{grid-column:9 / 13;display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.mk-lead-cta--band .mk-lead-cta__p{margin-top:16px !important;max-width:620px;font-size:16px;}
.mk-maeve::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--adv-gray-text);}
.mk-maeve__note{font-family:var(--adv-sans);font-size:11.5px;line-height:1.5;color:var(--adv-muted);max-width:260px;}
.mk-leadcta{background:var(--adv-panel);}
.mk-leadcta__in{padding-top:64px;padding-bottom:64px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:end;}
.mk-leadcta__copy{grid-column:1 / 8;}
.mk-leadcta__h{margin-top:14px !important;font-size:clamp(28px,2.4vw,40px);line-height:1.15;}
.mk-leadcta__h--sm{margin-top:0 !important;font-size:clamp(22px,1.8vw,30px);}
.mk-leadcta__p{margin-top:14px !important;max-width:560px;font-family:var(--adv-serif-text);font-size:16px;line-height:1.7;color:var(--adv-gray-copy);}
.mk-leadcta__btns{grid-column:8 / 13;display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-self:end;}
.mk-leadcta--slim .mk-leadcta__in{padding-top:44px;padding-bottom:44px;}
.mk-maeve:hover{border-color:var(--adv-ink);color:var(--adv-ink);}
.tw-hero__clip .mk-ph-img{font-size:14px;}
.mk-table td[colspan]{color:var(--adv-gray-text);}
@media (max-width:899px){
  .mk-sec{padding:64px 0;}
  .mk-sec--tight{padding-top:0;}
  .mk-lead{font-size:16px;}
  .mk-table{font-size:12.5px;margin-top:26px;}
  .mk-table th:nth-child(4),.mk-table td:nth-child(4){display:none;}
  .mk-sold-note{margin:16px 20px 0 !important;}
  :is(.twp-del-mar,.twp-la-jolla,.twp-bird-rock,.twp-solana-beach,.twp-rancho-santa-fe,.twp-cardiff,.twp-encinitas,.twp-carlsbad,.twp-carmel-valley,.twp-san-diego,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-table th,:is(.twp-del-mar,.twp-la-jolla,.twp-bird-rock,.twp-solana-beach,.twp-rancho-santa-fe,.twp-cardiff,.twp-encinitas,.twp-carlsbad,.twp-carmel-valley,.twp-san-diego,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-table td{padding:12px 6px;}
  :is(.twp-la-jolla,.twp-san-diego) .mk-table th,:is(.twp-la-jolla,.twp-san-diego) .mk-table td{padding-left:4px;padding-right:4px;}
  .mk-bands{display:block;margin-top:26px;}
  .mk-band + .mk-band{margin-top:40px;}
  .mk-band__price{font-size:44px;}
  .mk-hoods{display:block;}
  .mk-hood{padding:22px 0;}
  .mk-hood__h{font-size:25px;}
  .mk-hood__p{font-size:15px;}
  .mk-take__in{display:block;padding-top:60px;padding-bottom:60px;}
  .mk-take__q{margin-top:16px !important;font-size:25px;}
  .mk-faq-grid{display:block;}
  .mk-faq{margin-top:22px;}
  .mk-faq summary{font-size:20px;padding:18px 0;}
  .mk-faq__a p{font-size:15px;}
  .mk-feas__in{display:block;padding-top:60px;padding-bottom:60px;}
  .mk-feas__h{font-size:36px;}
  .mk-feas__r{margin-top:26px;}
  .mk-contact{grid-template-columns:1fr;row-gap:0;}
  .mk-contact p{font-size:20px;}
  .mk-search__in{display:block;padding-top:60px;padding-bottom:60px;}
  .mk-search__h{font-size:32px;}
  .mk-search__r{margin-top:28px;}
  .mk-search__btns{flex-direction:column;align-items:flex-start;gap:16px;}
  .mk-lead-cta__note{max-width:none;}
  :is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta{display:block;padding:26px 20px;margin-top:32px;}
  :is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta{display:block;padding:26px 20px;}
  :is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__h{font-size:25px;}
  :is(.twp-rancho-santa-fe) .mk-lead-cta__h{font-size:26px;}
  :is(.twp-la-jolla,.twp-san-diego) .mk-lead-cta__p{font-size:15px;}
  .mk-lead-cta__r{margin-top:22px;}
  .mk-towns,.mk-towns--lead{display:block;margin-top:26px;}
  .mk-town + .mk-town{margin-top:36px;}
  .mk-town__h,.mk-towns--lead .mk-town:nth-child(-n+2) .mk-town__h{font-size:28px;}
  .mk-table td:first-child,.mk-table th:first-child{white-space:normal;line-height:1.35;padding-right:8px;}
  :is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__steps{margin-top:20px;}
  :is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__steps li{font-size:12px;}
  :is(.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-lead-cta__steps li{white-space:normal;}
  .mk-village-cta{margin-top:36px;}
  :is(.twp-bird-rock,.twp-solana-beach,.twp-pacific-beach,.twp-point-loma,.twp-coronado,.twp-mission-hills,.twp-hillcrest,.twp-north-park,.twp-south-park,.twp-mission-beach,.twp-bankers-hill,.twp-little-italy,.twp-downtown) .mk-slot{padding:32px 16px;}
  .mk-lead-cta--band{display:block;padding:32px 0;}
  .mk-lead-cta--band .mk-lead-cta__r{margin-top:22px;}
  .mk-leadcta__in{display:block;padding-top:48px;padding-bottom:48px;}
  .mk-leadcta--slim .mk-leadcta__in{padding-top:36px;padding-bottom:36px;}
  .mk-leadcta__h{font-size:25px;}
  .mk-leadcta__h--sm{font-size:21px;}
  .mk-leadcta__p{font-size:15px;}
  .mk-leadcta__btns{margin-top:24px;justify-self:auto;}
  .mk-table th:first-child,.mk-table td:first-child{white-space:normal;min-width:120px;}
  .mk-table td[colspan]{white-space:normal;}
}
/* ===== Small markets (map + micro-market numbers). Shared by every town page. ===== */
.sm{--sm-1:#ECECEC;--sm-2:#D2D2D2;--sm-3:#AAAAAA;--sm-4:#707070;--sm-5:#2E2E2E;--sm-ocean:#EEF0F0;--sm-land:#F7F7F7;--sm-mk:1;}
.sm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--adv-ink);padding-bottom:22px;}
.sm-head__h{font-size:clamp(38px,3.4vw,58px);line-height:1.04;margin-top:14px !important;}
.sm-lead{margin-top:18px !important;max-width:720px;font-family:var(--adv-serif-text);font-size:17px;line-height:1.75;color:var(--adv-gray-copy);}
.sm-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;margin-top:40px;align-items:start;}
/* Desktop: the map stays in view (clear of the 72px sticky site header) while the area cards scroll past. */
.sm-map{margin:0;position:sticky;top:92px;align-self:start;}
.sm-svg{display:block;width:100%;height:auto;max-height:calc(100vh - 250px);min-height:320px;margin:0 auto;background:var(--adv-paper);}
.sm-svg .sm-oc{fill:var(--sm-ocean);}
.sm-svg .sm-ctx{fill:var(--sm-land);stroke:#E2E2E2;stroke-width:1;}
.sm-svg .sm-ctxl{font-family:var(--adv-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;fill:#A3A3A3;}
.sm-svg .sm-ocl{font-family:var(--adv-serif);font-style:italic;font-size:15px;fill:#9A9A9A;}
.sm-svg .sm-a path{stroke:#FFFFFF;stroke-width:1.6;stroke-linejoin:round;cursor:pointer;transition:opacity .15s;}
.sm-svg .sm-a.c1 path{fill:var(--sm-1);} .sm-svg .sm-a.c2 path{fill:var(--sm-2);} .sm-svg .sm-a.c3 path{fill:var(--sm-3);}
.sm-svg .sm-a.c4 path{fill:var(--sm-4);} .sm-svg .sm-a.c5 path{fill:var(--sm-5);} .sm-svg .sm-a.c0 path{fill:url(#sm-hatch);}
.sm-svg .sm-open path{fill:url(#sm-dots);stroke:#E2E2E2;stroke-width:1;}
.sm-svg .sm-openl{font-family:var(--adv-serif);font-style:italic;font-size:12px;fill:#8C8C8C;}
.sm-svg .sm-out{fill:none;stroke:var(--adv-ink);stroke-width:1.4;stroke-linejoin:round;pointer-events:none;}
.sm-svg.is-hl .sm-a path{opacity:.35;}
.sm-svg.is-hl .sm-a.is-on path{opacity:1;stroke:var(--adv-ink);stroke-width:2.4;}
.sm-svg .sm-ld{stroke:var(--adv-ink);stroke-width:1;fill:none;pointer-events:none;}
.sm-svg .sm-mk{transform-box:fill-box;transform-origin:center;transform:scale(var(--sm-mk));pointer-events:none;}
.sm-svg .sm-mk circle{fill:#FFFFFF;stroke:var(--adv-ink);stroke-width:1.3;}
.sm-svg .sm-mk text{font-family:var(--adv-sans);font-size:13px;font-weight:500;fill:var(--adv-ink);text-anchor:middle;dominant-baseline:central;}
.sm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:16px;font-family:var(--adv-sans);font-size:12px;color:var(--adv-gray-text);}
.sm-legend__t{width:100%;font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--adv-ink);}
.sm-legend__i{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.sm-sw{display:inline-block;width:14px;height:14px;border:1px solid #D9D9D9;}
.sm-sw.c1{background:var(--sm-1);} .sm-sw.c2{background:var(--sm-2);} .sm-sw.c3{background:var(--sm-3);} .sm-sw.c4{background:var(--sm-4);} .sm-sw.c5{background:var(--sm-5);}
.sm-sw.c0{background:repeating-linear-gradient(45deg,#FFFFFF 0 3px,#D6D6D6 3px 4px);}
.sm-info{min-height:22px;margin-top:10px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);}
.sm-cards{list-style:none;margin:0;padding:0;border-top:1px solid var(--adv-ink);}
.sm-card{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;padding:18px 0 18px;border-bottom:1px solid var(--adv-rule);transition:background .15s;}
.sm-card.is-on{background:var(--adv-panel);}
.sm-card__n{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1.3px solid var(--adv-ink);border-radius:50%;font-family:var(--adv-sans);font-size:12px;font-weight:500;margin-top:2px;}
.sm-card__h{font-family:var(--adv-serif);font-weight:400;font-size:22px;line-height:1.15;letter-spacing:-.01em;margin:0;}
.sm-card__g{display:block;margin-top:4px;font-family:var(--adv-sans);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--adv-gray-text);}
.sm-card__row{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-family:var(--adv-sans);font-size:13.5px;line-height:1.5;color:var(--adv-gray-copy);}
.sm-card__row b{font-weight:500;color:var(--adv-ink);}
.sm-card__big{font-family:var(--adv-serif);font-size:24px;line-height:1;color:var(--adv-ink);}
.sm-card__sub{margin-top:6px;font-family:var(--adv-sans);font-size:12.5px;line-height:1.5;color:var(--adv-gray-text);}
.sm-card__few{margin-top:10px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-gray-text);font-style:italic;}
.sm-card__get{display:inline-block;margin-top:10px;font-family:var(--adv-sans);font-size:13px;color:var(--adv-ink);text-decoration:none;border-bottom:1px solid var(--adv-rule);}
.sm-card__get:hover{border-bottom-color:var(--adv-ink);}
.sm-src{margin-top:22px !important;font-family:var(--adv-sans);font-size:12px;line-height:1.6;color:var(--adv-gray-text);}
.sm-how{margin-top:14px;font-family:var(--adv-sans);font-size:12.5px;color:var(--adv-gray-text);}
.sm-how summary{cursor:pointer;color:var(--adv-ink);}
.sm-how li{margin-top:8px;line-height:1.55;}
.sm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media (max-width:899px){
  .sm{--sm-mk:1.45;}
  .sm-svg .sm-ctxl{font-size:15px;}
  .sm-svg .sm-ocl{font-size:19px;}
  .sm-svg .sm-openl{font-size:15px;}
  .sm-grid{display:block;margin-top:26px;}
  .sm-map{position:static;}
  .sm-svg{max-height:82vh;min-height:0;}
  .sm-cards{margin-top:28px !important;}
  .sm-card__h{font-size:20px;}
  .sm-lead{font-size:16px;}
}

/* ===== San Diego hub: towns map (needs engine/small-markets.css for .sm, .sm-a, .sm-mk, .sm-legend, .sm-card__n) ===== */
.tm-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;margin-top:40px;align-items:start;}
.tm-map{margin:0;}
.tm-panels{display:flex;gap:14px;align-items:flex-start;}
.tm-panel{min-width:0;flex-basis:0;}
.tm-panel--n{flex-grow:600;}
.tm-panel--s{flex-grow:441.6;}
.tm-panel__cap{display:block;margin-bottom:8px;color:var(--adv-gray-text);}
.tm-svg.sm-svg{display:block;width:100%;height:auto;max-height:none;background:var(--adv-paper);}
.tm-svg .tm-land{fill:var(--sm-land);}
.tm-svg .tm-a{outline:none;}
.tm-svg .tm-a:hover .sm-a path,.tm-svg .tm-a:focus .sm-a path{filter:brightness(.93);}
.tm-lists{border-top:1px solid var(--adv-ink);}
.tm-group + .tm-group{margin-top:26px;}
.tm-group__h{display:block;padding:16px 0 4px;color:var(--adv-gray-text);}
.tm-list{list-style:none;margin:0;padding:0;}
.tm-li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--adv-rule);font-family:var(--adv-sans);font-size:14px;}
.tm-li .sm-card__n{margin-top:0;}
.tm-li__a{font-family:var(--adv-serif);font-size:19px;line-height:1.2;color:var(--adv-ink);text-decoration:none;border-bottom:1px solid var(--adv-rule);justify-self:start;}
.tm-li__a:hover{border-bottom-color:var(--adv-ink);}
.tm-li__note{grid-column:2;font-size:12px;color:var(--adv-gray-text);}
.tm-li__v{grid-column:3;grid-row:1;text-align:right;color:var(--adv-gray-copy);white-space:nowrap;font-size:13px;}
.tm-li__v b{font-weight:500;color:var(--adv-ink);}
@media (max-width:899px){
  .tm-grid{display:block;margin-top:26px;}
  .tm-panels{display:block;}
  .tm-panel + .tm-panel{margin-top:24px;}
  .tm-svg.sm-svg{max-height:78vh;width:auto;max-width:100%;margin:0 auto;}
  .tm-lists{margin-top:28px;}
  .tm-li__a{font-size:18px;}
}
.tm-svg .tm-water{fill:#E8ECED;stroke:#D6DADB;stroke-width:.8;}
.tm-svg .tm-out{fill:none;stroke:#5A5A5A;stroke-width:.9;stroke-linejoin:round;pointer-events:none;}
.tm-svg .tm-a:hover .tm-out,.tm-svg .tm-a:focus .tm-out{stroke:var(--adv-ink);stroke-width:2.2;}
/* "In the city, and across the bay" link list under the town cards (#towns) */
.tm-city{margin-top:36px;border-top:1px solid var(--adv-rule);padding-top:18px;}
.tm-city__h{display:block;color:var(--adv-gray-text);}
.tm-city__list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;}
.tm-city__list a{font-family:var(--adv-serif);font-size:20px;color:var(--adv-ink);text-decoration:none;border-bottom:1px solid var(--adv-rule);}
.tm-city__list a:hover{border-bottom-color:var(--adv-ink);}
@media (max-width:899px){.tm-city__list{gap:8px 20px;}.tm-city__list a{font-size:18px;}}

/* small-markets slot while a town's map is being built */
.tw-sm-soon{border-top:1px solid var(--adv-ink);padding:28px 0 8px;}
.tw-sm-soon p{margin-top:10px;font-family:var(--adv-serif-text);font-size:17px;color:var(--adv-gray-copy);}
/* sold card without a photo yet: plain photo box */
.tw-card__ph:empty{display:block;}


/* Sold cards wrap to a second row on desktop when a town has more than four. */
@media (min-width:900px){.tw-sold__row{row-gap:48px;}}
@media (max-width:899px){.tw-sold__wrap > .mk-lead{margin-left:20px;margin-right:20px;}}
