/* Newhouse Sells · "Coastline" design */
:root{
  --sand:#F7F2EA; --paper:#FFFDF9; --ink:#1C2A33; --muted:#5E6B72; --line:#E6DED2;
  --ocean:#1E6A73; --ocean-2:#2C8C96; --coral:#E07A5F; --foam:#E4F1EF;
  --radius:18px; --shadow:0 1px 2px rgba(28,42,51,.06),0 8px 24px rgba(28,42,51,.07);
}
*{box-sizing:border-box;margin:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--sand);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.1}
section{padding:64px 0}

/* buttons, nav */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 20px;font:inherit;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{border-color:var(--line);background:var(--paper)}
.btn-coral{background:var(--coral);color:#fff}
.link{color:var(--ocean);font-weight:600}
.logo{font-family:Fraunces,serif;font-size:22px;font-weight:600}
.logo span{color:var(--coral)}
/* Site header: dark band matching the footer; links fold into a Menu button on narrow screens */
.site-head{background:#15222A;color:#fff;position:relative;z-index:1500}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0}
.nav .logo{color:#fff}
.nav-menu{display:flex;align-items:center;gap:24px}
.nav ul{display:flex;gap:22px;list-style:none;padding:0;font-size:14.5px;color:#B9C7CB}
.nav ul a{white-space:nowrap;padding:4px 0}
.nav ul a:hover,.nav ul a.on{color:#fff}
.nav ul a.on{box-shadow:inset 0 -2px 0 var(--coral)}
.nav .btn{padding:9px 18px;font-size:14px;white-space:nowrap}
.btn-head{border-color:#3A4C56;color:#fff;background:transparent}
.btn-head:hover{border-color:#fff}
.nav-toggle{display:none;font:inherit;font-size:14px;font-weight:600;color:#fff;background:transparent;border:1px solid #3A4C56;border-radius:999px;padding:8px 16px;cursor:pointer}
@media (max-width:1180px){
  .nav-toggle{display:inline-flex}
  .nav-menu{display:none;position:absolute;left:0;right:0;top:100%;background:#15222A;border-top:1px solid #2A3A43;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 20px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
  .nav-menu.open{display:flex}
  .nav ul{flex-direction:column;gap:0;font-size:16px}
  .nav ul a{display:block;padding:13px 0;border-bottom:1px solid #22323B}
  .nav ul a.on{box-shadow:none;color:#fff;font-weight:600}
  .nav ul a.on::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--coral);margin:0 10px 2px 0}
  .nav-menu .btn{margin-top:16px;align-self:flex-start}
}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ocean)}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:40px 0 64px}
.hero h1{font-size:clamp(40px,5.4vw,66px);margin:14px 0 18px}
.hero h1 em{font-style:italic;color:var(--ocean)}
.hero .lead{font-size:18px;color:var(--muted);max-width:520px}
.search{margin-top:30px;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;display:flex;gap:8px;max-width:560px}
.search input{flex:1;border:0;background:transparent;font:inherit;font-size:16px;padding:12px 14px;outline:none;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center;font-size:14px;color:var(--muted)}
.chip{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 13px;color:var(--ink);font-size:14px}
.ai{font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--foam);color:var(--ocean);padding:3px 7px;border-radius:6px}
.art{position:relative;aspect-ratio:1/1.05;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#F9D9B8 0%,#F4C3A1 38%,#BFE0DC 38.2%,#7FBFC0 70%,#2C8C96 100%);box-shadow:var(--shadow)}
.art svg{position:absolute;inset:0;width:100%;height:100%}
.art .tag{position:absolute;left:22px;bottom:22px;right:22px;background:rgba(255,253,249,.92);backdrop-filter:blur(6px);border-radius:16px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}
.art .tag b{font-family:Fraunces,serif;font-size:26px;display:block}
.art .tag small{color:var(--muted)}
.pulse{width:10px;height:10px;border-radius:50%;background:#3BB273;display:inline-block;margin-right:6px;animation:p 2s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(59,178,115,.5)}70%{box-shadow:0 0 0 10px rgba(59,178,115,0)}100%{box-shadow:0 0 0 0 rgba(59,178,115,0)}}

/* section heads */
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.head h2{font-size:clamp(28px,3.4vw,40px)}
.head p{color:var(--muted);max-width:520px}

/* curated lists */
.lists{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.list{background:var(--paper);border-radius:var(--radius);padding:22px;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-height:190px;transition:transform .2s,box-shadow .2s}
.list:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.list .n{font-family:Fraunces,serif;font-size:42px;line-height:1;color:var(--ocean)}
.list h3{font-size:19px}
.list .meta{margin-top:auto;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}

/* listing cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}
.card:hover{transform:translateY(-4px)}
.ph{position:relative;aspect-ratio:4/3;background:#E9E2D6}
.ph img{width:100%;height:100%;object-fit:cover}
.badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 60px)}
.badge{background:var(--coral);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.badge-back{background:var(--ocean)}
.badge-price{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.badge-oh{position:absolute;left:12px;bottom:12px;background:rgba(28,42,51,.85);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px}
.badge-status{background:var(--ink)}
.card .body{padding:16px 18px 18px}
.price{font-family:Fraunces,serif;font-size:26px}
.price small,.l-price small{font-size:.55em;color:var(--muted);font-family:Inter,sans-serif}
.facts{font-size:14px;margin-top:2px}
.addr{font-size:14px;color:var(--muted);margin-top:4px}
.court{font-size:14px;font-weight:500;color:var(--ink);border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.court span{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}

/* AI band */
.band{background:var(--ink);color:#EAF2F1;border-radius:32px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.band .eyebrow{color:#9FD4CF}
.band h2{font-size:clamp(28px,3.4vw,42px);color:#fff;margin-top:8px}
.band p{color:#B9C9C9;margin-top:14px}
.band ul{margin-top:22px;padding:0;list-style:none;display:grid;gap:10px}
.band li{display:flex;gap:10px}
.band li::before{content:"✓";color:var(--coral);font-weight:700}
.demo{background:#24363F;border-radius:20px;padding:22px}
.demo .q{background:#fff;color:var(--ink);border-radius:12px;padding:14px 16px;font-size:15px}
.demo .note{font-size:13px;color:#8FA3A6;margin-top:14px}

/* areas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.area{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s}
.area:hover{border-color:var(--ocean)}
.area h3{font-size:22px}
.area small{color:var(--muted)}
.area .arrow{width:40px;height:40px;border-radius:50%;background:var(--foam);display:grid;place-items:center;color:var(--ocean)}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,var(--foam),#CFE3E0);display:grid;place-items:center;color:var(--ocean);font-family:Fraunces,serif;font-size:20px;border:1px dashed var(--ocean-2)}
.portrait:has(img){border:0;box-shadow:var(--shadow)}
.portrait img{width:100%;height:100%;object-fit:cover}
.about h2{font-size:clamp(28px,3.4vw,42px);margin-top:8px}
.about p{color:var(--muted);margin-top:14px;font-size:17px}
.about .cta{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

/* search page */
.filters{display:flex;flex-wrap:wrap;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:8px 0 28px;align-items:center}
.filters input[name=q]{flex:1 1 220px}
.filters input[name=q],.filters select{font:inherit;font-size:15px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);min-width:0}
.check{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--muted)}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.results-head h1{font-size:clamp(24px,3vw,34px)}
.sort select{font:inherit;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--paper);margin-left:6px}
.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin:40px 0 0;color:var(--muted)}
.empty{text-align:center;padding:80px 0;display:grid;gap:14px;justify-items:center}
.empty p{color:var(--muted)}

/* listing page */
.crumbs{font-size:14px;color:var(--muted);margin:4px 0 16px}
.crumbs a:hover{color:var(--ink)}
.gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:min(560px,62vw);border-radius:24px;overflow:hidden}
.gallery button{border:0;padding:0;cursor:zoom-in;background:#E9E2D6}
.gallery button img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}
.gallery button:hover img{opacity:.9}
.gallery .g0{grid-row:span 2}
.gallery .more{position:absolute;right:16px;bottom:16px;background:var(--paper);border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;font-size:14px;box-shadow:var(--shadow);cursor:pointer}
.gallery[data-count="1"]{grid-template-columns:1fr}
.l-main{display:grid;grid-template-columns:1fr 340px;gap:48px;margin-top:32px}
.status{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;background:#3BB273}
.dot-pending,.dot-active-under-contract{background:#E0A43B}
.dot-coming-soon{background:var(--ocean-2)}
.l-price{font-family:Fraunces,serif;font-size:clamp(36px,4vw,48px);margin-top:6px}
.l-head h1{font-size:clamp(24px,2.6vw,30px);margin-top:4px}
.l-head h1 small{font-family:Inter,sans-serif;font-weight:400;font-size:17px;color:var(--muted)}
.l-facts{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.l-facts div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 18px;color:var(--muted);font-size:14px}
.l-facts b{display:block;font-family:Fraunces,serif;font-size:22px;color:var(--ink)}
.l-block{padding:32px 0 0}
.l-block h2{font-size:24px;margin-bottom:14px}
.remarks{font-size:16.5px;max-width:70ch}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px}
.kv div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:11px 0;font-size:15px}
.kv dt{color:var(--muted)}
.kv dd{text-align:right;font-weight:500}
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 32px}
.feat h3{font-family:Inter,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ocean);margin-bottom:4px}
.feat p{font-size:15px}
.map{width:100%;height:320px;border:0;border-radius:var(--radius)}
.fine{font-size:12.5px;color:var(--muted);margin-top:8px}
.attribution{font-size:14px;color:var(--muted);display:grid;gap:4px;border-top:1px solid var(--line);margin-top:32px}
.attribution b{color:var(--ink)}
.l-side .contact{position:sticky;top:20px;background:var(--paper);border-radius:22px;box-shadow:var(--shadow);padding:24px;display:grid;gap:12px}
.contact h3{font-size:22px}
.contact p{color:var(--muted);font-size:15px}
.contact small{color:var(--muted);font-size:12px}
.l-similar{padding-top:56px}
.lightbox{position:fixed;inset:0;background:rgba(15,22,28,.94);z-index:2000;display:grid;place-items:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:8px}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:26px;cursor:pointer}
.lb-close{top:20px;right:20px}
.lb-prev{left:20px;top:50%}
.lb-next{right:20px;top:50%}
.lb-count{position:absolute;bottom:20px;color:#ccc;font-size:14px}

/* AI features */
a.chip:hover{border-color:var(--ocean)}
.ai-panel{flex-basis:100%;border-top:1px solid var(--line);padding-top:14px;margin-top:4px;display:grid;gap:10px}
.ai-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.ai-label{display:flex;gap:8px;align-items:center;font-weight:600;padding-top:8px;white-space:nowrap}
.menus{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;display:flex;gap:6px;align-items:center;user-select:none}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"▾";color:var(--muted);font-size:12px}
.menu[open] summary{border-color:var(--ocean);color:var(--ocean)}
.menu summary b{background:var(--ocean);color:#fff;border-radius:999px;font-size:12px;min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 6px}
.menu-panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(420px,86vw);background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px rgba(28,42,51,.16);padding:16px;display:grid;gap:12px}
.menu-panel .btn{justify-self:end;padding:9px 18px}
.chosen{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chosen-chip{background:var(--ocean);color:#fff;border-radius:999px;padding:6px 12px;font-size:14px}
.chosen-chip:hover{background:var(--ink)}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.ai-groups{margin-bottom:6px}
.ai-groups>div{margin:0 0 16px}   /* one category under the next, tags flowing (Elk 2026-10-22: layout A) */
.ai-groups h3{font-family:Inter,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ocean);margin-bottom:8px}
.ai-chip input{position:absolute;opacity:0;pointer-events:none}
.ai-chip span{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:14px;cursor:pointer}
.ai-chip span small{color:var(--muted);margin-left:4px}
.ai-chip input:checked+span{background:var(--ocean);border-color:var(--ocean);color:#fff}
.ai-chip input:checked+span small{color:#CFE7E5}
.ai-chip input:focus-visible+span{outline:2px solid var(--coral)}
.ai-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:32px}
.ai-box h2{display:flex;align-items:center;gap:10px}
.ai-tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ai-tags li{background:var(--foam);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:14px}
.ai-tags small{color:var(--muted)}
.ai-box .fine a{color:var(--ocean);font-weight:600}

/* AI search box */
.ai-search{display:flex;gap:10px;align-items:center;background:var(--paper);border:2px solid var(--ocean);border-radius:20px;padding:8px 8px 8px 16px;margin:8px 0 14px;box-shadow:var(--shadow)}
.ai-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;padding:10px 4px;outline:none}
.ai-note{margin:-4px 0 14px}
.ai-result{background:var(--foam);border-radius:var(--radius);padding:16px 20px;margin:0 0 16px;display:grid;gap:10px}
.agent-only{background:var(--paper);border:1px solid #F3D9B5;border-left:4px solid var(--coral);border-radius:14px;padding:16px;display:grid;gap:12px;justify-items:start}
.hero .ai-search{max-width:600px;margin-top:30px}
.hero .browse{margin-top:12px;font-size:14px;color:var(--muted)}
.hero .browse a{color:var(--ocean);font-weight:600}
@media (max-width:560px){.ai-search{flex-wrap:wrap}.ai-search .btn{flex:1}}

/* lead forms */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form{display:grid;gap:12px}
.lead-form label:not(.check){display:grid;gap:6px;font-size:14px;font-weight:600}
.lead-form input:not([type=checkbox]):not([type=radio]),.lead-form textarea,.lead-form select,.settings textarea,.settings select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;width:100%}
.lead-form textarea{resize:vertical}
.lead-form fieldset{border:0;padding:0;display:grid;gap:8px}
.lead-form legend{font-size:14px;font-weight:600;margin-bottom:6px}
.lead-form small{color:var(--muted);font-weight:400}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--sand);border-radius:999px;padding:4px}
.tabs input{position:absolute;opacity:0}
.tabs span{display:block;text-align:center;padding:8px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;color:var(--muted)}
.tabs input:checked+span{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.contact:has(input[value=question]:checked) .tour-only{display:none}
.days{display:flex;flex-wrap:wrap;gap:6px}
.days input{position:absolute;opacity:0}
.days span{display:block;border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 9px;font-size:13px;cursor:pointer;font-weight:500}
.days input:checked+span{background:var(--ocean);border-color:var(--ocean);color:#fff}
.card-form{background:var(--paper);border-radius:22px;box-shadow:var(--shadow);padding:24px}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;padding:24px 0}
.contact-intro h1{font-size:clamp(32px,4vw,48px);margin:8px 0 14px}
.contact-intro p{color:var(--muted);font-size:17px;margin-bottom:12px}
.thanks{margin:40px auto;text-align:center;justify-items:center}
.thanks .cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.send-favs{margin-top:20px}
.send-favs summary{list-style:none;display:inline-flex}
.send-favs summary::-webkit-details-marker{display:none}
.send-favs form{max-width:560px;margin-top:16px}

/* admin */
.status-tabs{display:flex;gap:6px;margin:10px 0 18px;flex-wrap:wrap}
.status-tabs a{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 14px;font-size:14px}
.status-tabs a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.leads{width:100%;border-collapse:collapse;background:var(--paper);border-radius:16px;overflow:hidden;font-size:14px}
.leads th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line)}
.leads td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.leads tr:hover td{background:#FBF8F2;cursor:pointer}
.kind{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;background:var(--foam);color:var(--ocean);white-space:nowrap}
.kind-tour{background:#FCE6DE;color:#9A3B22}
.kind-private_search{background:#FFF1D6;color:#8A5A00}
.kind-valuation{background:var(--foam);color:var(--ocean)}
.lead-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:10px;margin-bottom:20px}
.panel h3{font-size:20px}
.activity{list-style:none;padding:0;display:grid;gap:8px;font-size:14px}
.activity small{display:inline-block;width:92px;color:var(--muted)}
@media (max-width:900px){.contact-grid,.lead-grid{grid-template-columns:1fr}}
@media (max-width:560px){.two{grid-template-columns:1fr}.leads td:nth-child(4),.leads th:nth-child(4){display:none}}

/* favorites */
.card{position:relative}
.card-link{display:block}
.fav-form{position:absolute;top:10px;right:10px}
.fav{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:19px;line-height:1;cursor:pointer;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.fav.on{color:var(--coral)}
.l-head{position:relative}
.l-fav .fav-form{top:0;right:0}

/* accounts */
.auth{display:grid;place-items:center;padding:40px 24px 20px}
.auth-card{width:100%;max-width:440px;background:var(--paper);border-radius:24px;box-shadow:var(--shadow);padding:32px;display:grid;gap:14px}
.auth-card h1{font-size:30px}
.auth-card form{display:grid;gap:14px}
.auth-card label:not(.check),.settings label:not(.check){display:grid;gap:6px;font-size:14px;font-weight:600}
.auth-card input:not([type=checkbox]),.settings input:not([type=checkbox]),.danger input{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}
.auth-card .check,.settings .check{align-items:flex-start;font-size:13.5px;line-height:1.45}
.auth-card .check input{margin-top:3px}
.auth-card .check a,.alt a{color:var(--ocean);font-weight:600}
.sub,.alt,.muted{color:var(--muted)}
.alt{font-size:14px}
.error{background:#FBE7E1;color:#8A2E17;border-radius:12px;padding:10px 12px;font-size:14px}
.notice{background:var(--foam);color:var(--ocean);border-radius:12px;padding:10px 12px;font-size:14px}
button.link{background:none;border:0;padding:0;font:inherit;color:var(--ocean);font-weight:600;cursor:pointer}
.account h2{font-size:26px;margin:40px 0 16px}
.banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#FFF4E5;border:1px solid #F3D9B5;border-radius:14px;padding:12px 16px;font-size:14px}
.saved{list-style:none;padding:0;display:grid;gap:10px}
.saved li{display:flex;gap:16px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;flex-wrap:wrap}
.saved li a{flex:1}
.settings{display:grid;gap:14px;max-width:480px}
.danger{margin-top:40px;font-size:14px;color:var(--muted)}
.danger summary{cursor:pointer}
.danger form{display:grid;gap:10px;max-width:480px;margin-top:12px}
.save-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-8px 0 22px;font-size:14px;color:var(--muted)}
.save-search input[name=name]{flex:1 1 260px;font:inherit;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff}
.unlock{margin-top:28px;background:var(--ink);color:#EAF2F1;border-radius:28px;padding:40px;text-align:center;display:grid;gap:14px;justify-items:center}
.unlock h2{color:#fff;font-size:clamp(24px,3vw,34px)}
.unlock p{color:#B9C9C9;max-width:560px}
.unlock .link{color:#9FD4CF}

/* footer */
.footer{background:#15222A;color:#A9B8BC;padding:56px 0 40px;margin-top:64px;font-size:14px}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer .logo{color:#fff}
.footer p{margin-top:10px}
.broker-logo{display:block;margin-top:16px;background:#fff;border-radius:10px;padding:8px 12px;height:auto}
.footer h4{color:#fff;font-size:14px;margin-bottom:10px}
.footer ul{list-style:none;padding:0;display:grid;gap:6px}
.footer a:hover{color:#fff}
.legal{border-top:1px solid #2A3A43;margin-top:36px;padding-top:20px;font-size:12px;display:grid;gap:8px}

@media (max-width:900px){
  .hero,.band,.about,.l-main{grid-template-columns:1fr}
  .lists{grid-template-columns:repeat(2,1fr)}
  .grid,.areas{grid-template-columns:1fr 1fr}
  .band{padding:32px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;height:auto;aspect-ratio:4/3.4}
  .gallery .g0{grid-column:span 2;grid-row:auto}
  .gallery .g3,.gallery .g4{display:none}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .lists,.grid,.areas,.footer .cols,.kv,.feat{grid-template-columns:1fr}
  .search{flex-direction:column}
  .filters select,.filters .btn{flex:1 1 45%}
  .gallery{grid-template-columns:1fr;aspect-ratio:4/3}
  .gallery .g1,.gallery .g2{display:none}
}
.ai-search.busy{opacity:.75}
.ai-search button:disabled{cursor:wait}
.relax{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:6px}
.relax span{color:var(--muted);font-size:14px}
.relax small{color:var(--muted)}
/* text pages (privacy, terms, ...) */
.doc{max-width:760px;padding-top:24px;padding-bottom:24px}
.doc h1{font-size:clamp(34px,4.4vw,52px);margin-bottom:8px}
.doc h2{font-size:24px;margin:34px 0 10px}
.doc p,.doc li{font-size:17px;color:#2E3B43}
.doc p{margin-bottom:12px}
.doc ul{padding-left:20px;display:grid;gap:8px;margin-bottom:12px}
.doc .muted{font-size:14px;margin-bottom:24px}
/* city pages */
.area-page h1{font-size:clamp(38px,5vw,60px);margin:6px 0 12px}
.area-page .lead{font-size:18px;color:var(--muted);max-width:720px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 18px}
.tiles div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--muted);font-size:14px}
.tiles b{display:block;font-family:Fraunces,serif;font-size:30px;color:var(--ink);font-weight:600}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.quick small{color:var(--muted)}
.coverage{margin-top:24px;background:#FFF4E5;border-radius:12px;padding:12px 14px}
.others{margin-top:48px}
.others h2{font-size:24px;margin-bottom:14px}
.footer .cols{grid-template-columns:1.6fr 1fr 1fr 1fr}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}.footer .cols{grid-template-columns:1fr 1fr}}
/* AI highlights that open their photos */
.ai-tags .tag-photo{background:var(--foam);color:var(--ink);border:1px solid transparent;border-radius:999px;padding:6px 12px;font:inherit;font-size:14px;cursor:zoom-in}
.ai-tags .tag-photo:hover{border-color:var(--ocean);background:#fff}
.lb-all{position:absolute;bottom:56px;left:50%;transform:translateX(-50%);width:auto!important;height:auto!important;border-radius:999px!important;padding:9px 16px;font-size:14px!important}
.lb-count{background:rgba(0,0,0,.4);padding:4px 10px;border-radius:999px}
.synopsis{font-size:16px;margin:-4px 0 16px;color:#2E3B43}
.ai-tags .tag-photo small{color:var(--ocean);font-weight:600}

/* ---------------- Find a home (/find) */
.find-page h1{font-size:clamp(28px,3.4vw,40px);margin:28px 0 18px}
.find-form{display:grid;gap:18px}
.find-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.find-top{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:18px;align-items:start}
.find-mapbox{position:sticky;top:12px}
#findmap{height:min(520px,calc(100vh - 180px));border-radius:12px}
.find-maptools{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.find-fields{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;align-items:center}
.find-fields label{font-size:14px;color:var(--muted)}
.find-fields input,.find-fields select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;width:9.5em;max-width:100%}
.find-fields #subPick{width:100%}
.find-checks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 4px}
.find-where{font-family:Inter,system-ui,sans-serif;font-size:15px;margin:16px 0 8px;color:var(--ocean)}
.find-where .fine{font-weight:400;margin-left:6px}
.find-cities{margin-bottom:10px}
.find-cities summary{cursor:pointer;font-size:14px;color:var(--muted)}
.find-citylist{columns:2 170px;margin-top:8px}
.find-citylist .check{margin:3px 0}
.find-citylist small{color:var(--muted)}
#subChips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
#subChips:empty{display:none}
#subChips .chosen-chip button{background:none;border:0;color:#fff;cursor:pointer;padding:0 0 0 4px}
.find-ai{background:linear-gradient(180deg,#f3faf8,var(--paper));border-color:#cfe6e1}
.find-ai-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.find-ai-head h2{font-size:22px;display:flex;align-items:center;gap:10px}
.find-switch{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);margin-bottom:12px;cursor:pointer}
.find-switch input{margin-top:3px}
.find-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;margin-bottom:14px}
.find-grades label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}
.find-grades select{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;width:230px;max-width:60%}
.find-ai .menus{display:flex;flex-wrap:wrap;gap:8px}
.find-feats>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.find-feats>summary::-webkit-details-marker{display:none}
.find-feats>summary::before{content:'▸';color:var(--ocean)}
.find-feats[open]>summary::before{content:'▾'}
.find-feats>summary h2{font-size:22px;display:inline}
#featPicked{color:var(--ocean);font-weight:600;font-size:14px}
.find-feats:not([open]) .find-featnote{display:none}
.find-featnote{flex-basis:100%;margin:0}
.ai-mark{font-size:12px}
.find-groups{columns:4 250px;column-gap:16px;margin-top:14px}
.find-group{break-inside:avoid;border:1px solid var(--line);border-radius:12px;padding:8px 10px 10px;margin:0 0 16px;background:#fff}
.find-group legend{font-weight:600;color:var(--ocean);font-size:14px;padding:0 6px}
.find-group .feat{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 4px;border-radius:8px;font-size:13.5px}
.find-group .feat.must{background:#dcefe9}
.find-group .feat.nice{background:#f6ecd9}
.find-group .tri{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex:0 0 auto}
.find-group .tri label{cursor:pointer}
.find-group .tri input{display:none}
.find-group .tri span{display:inline-block;padding:1px 8px;font-size:12px;color:var(--muted)}
.find-group .tri input:checked+span{background:var(--ink);color:#fff}
.find-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.find-actions select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.find-count{font-size:clamp(22px,2.6vw,30px)}
.find-mode{font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
.find-teaser{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#f3faf8;border:1px solid #cfe6e1;border-radius:var(--radius);padding:14px 18px;margin-bottom:22px}
.find-teaser p{flex:1;min-width:240px;margin:0}
.find-result{display:grid;align-content:start}
.find-match{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fm{font-size:12px;background:#eef3f2;color:var(--ink);border-radius:999px;padding:2px 9px}
.fm-photo{background:var(--foam);color:var(--ocean)}
.find-also{margin-top:46px;border-top:1px solid var(--line);padding-top:26px}
.find-also h2{font-size:24px;display:flex;align-items:center;gap:10px}
.find-also>p{color:var(--muted);max-width:820px;margin:10px 0 20px}
.count-pill{font-family:Inter,system-ui,sans-serif;font-size:14px;background:var(--ink);color:#fff;border-radius:999px;padding:2px 10px}
.pinpop{display:block;color:var(--ink);width:170px}
.pinpop img{width:170px;height:110px;object-fit:cover;border-radius:6px;display:block;margin-bottom:4px}
@media (max-width:1000px){.find-top{grid-template-columns:1fr}.find-mapbox{position:static}.find-grades{grid-template-columns:1fr}}
.new-pill{font-size:10px;font-weight:700;background:var(--coral);color:#fff;border-radius:999px;padding:1px 6px;vertical-align:2px}
/* AI smart-feature dropdowns on /find: wide panels, kept inside the window by find.js */
.find-ai .menu-panel{width:min(880px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto}
.find-ai .ai-chips{gap:8px 10px}
.find-fields .find-q{width:100%}

/* Neighborhood pages */
.hood-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start;margin:8px 0 48px}
.hood-text h2{font-size:26px;margin:28px 0 10px}
.hood-text h2:first-child{margin-top:0}
.hood-text p{font-size:17px;line-height:1.7;margin:0 0 14px;max-width:720px}
.hood-facts{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:sticky;top:20px}
.hood-facts h3{font-size:18px;margin:0 0 10px}
.hood-facts h3:not(:first-child){margin-top:22px}
.hood-facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px}
.hood-facts dt{color:var(--muted)}
.hood-facts dd{margin:0;font-weight:500}
.hood-amen{display:flex;flex-wrap:wrap;gap:6px}
.hood-amen span{font-size:13px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.hood-facts .btn{display:flex;width:100%;text-align:center}
.hood-alert{margin-top:20px;display:grid;gap:10px;justify-items:start}
.hood-alert form{width:100%}
.hood-alert .fine{margin:0}
.hood-alert-on{margin:0;font-size:14px;color:var(--ocean)}
.hood-none{margin:0 0 40px}
.hood-faq{margin-top:48px;max-width:820px}
.hood-faq h2{font-size:26px;margin-bottom:12px}
.hood-faq details{border-bottom:1px solid var(--line);padding:14px 0}
.hood-faq summary{cursor:pointer;font-weight:600;font-size:17px}
.hood-faq details p{margin:10px 0 0;line-height:1.65;color:var(--muted)}
.hoods{margin:-16px 0 36px}
.hoods h2{font-size:22px;margin-bottom:12px}
@media (max-width:900px){.hood-grid{grid-template-columns:1fr;gap:24px}.hood-facts{position:static}}
.city-text{margin-top:48px;margin-bottom:32px;max-width:820px}
.guide-box{margin-top:32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 20px}
.guide-box h2{margin-bottom:10px}
.guide-box p{line-height:1.6;margin:0 0 14px}
.guide-box-stats{display:flex;flex-wrap:wrap;gap:10px 28px;margin:4px 0 16px;color:var(--muted);font-size:14px}
.guide-box-stats b{display:block;font-family:Fraunces,serif;font-size:22px;color:var(--ink);font-weight:600}
.guide-box-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0}
/* Guide maps and the areas hub */
.guide-map{margin:8px 0 36px}
.guide-map-canvas{height:380px;border-radius:var(--radius);border:1px solid var(--line);z-index:0}
.guide-map-tall .guide-map-canvas{height:480px}
.guide-map-small .guide-map-canvas{height:300px}
.guide-map-key{font-size:13px;color:var(--muted);margin:8px 0 0}
.guide-map-key .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 10px;vertical-align:-1px;border:1px solid #fff}
.guide-map-key .dot:first-child{margin-left:0}
.guide-map-key .n{background:#1E6A73}.guide-map-key .c{background:#E07A5F}.guide-map-key .h{background:#fff;border-color:#1C2A33}
.areas-list{display:grid;gap:28px}
.areas-city{border-top:1px solid var(--line);padding-top:22px}
.areas-city-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.areas-city h2{font-size:28px;margin:0}
.areas-city p{color:var(--muted);max-width:820px;line-height:1.6}
.areas-city .hoods{margin:10px 0 0}
.areas-city .hoods h2{font-size:15px;font-family:Inter,sans-serif;font-weight:600;color:var(--muted);margin-bottom:8px}
@media (max-width:700px){.guide-map-canvas,.guide-map-tall .guide-map-canvas{height:320px}}
.hood-map-title{font-size:24px;margin:0 0 10px}
.find-guides{font-size:14px;color:var(--muted);display:inline-flex;flex-wrap:wrap;gap:4px 14px}
.see-all{display:flex;justify-content:flex-end;margin:18px 0 0}
.form-label{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:var(--ocean);background:#E8F1F1;border-radius:999px;padding:2px 9px}
.form-note{font-size:14px;color:var(--ocean);background:#E8F1F1;border-radius:10px;padding:10px 12px;margin:12px 0 0;max-width:640px}
.fees .fee-total dd{font-weight:600}
.flood-note{font-size:14px;color:var(--ink);background:#E8F1F1;border-radius:10px;padding:10px 12px;margin:12px 0 0;max-width:640px}
.flood-high .flood-note{background:#FBEAE4}
.flood .kv{grid-template-columns:1fr;max-width:640px}
.flood .kv dt{flex:0 0 170px}
.school-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 4px}
.school{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.school-level{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ocean)}
.school b{font-size:16px;line-height:1.3}
.school b a{color:var(--ink)}
.school a.fine{color:var(--ocean)}
.school a.fine:first-of-type{margin-top:auto}
@media (max-width:700px){.school-list{grid-template-columns:1fr}}
.find-schools select{width:100%}
.presented-by{margin:12px 0 4px;font-size:14px;line-height:1.45;color:var(--ink);text-align:center}
.presented-by b{font-weight:600}
.map-hint{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;pointer-events:none;
  background:rgba(28,42,51,.35);color:#fff;font:600 15px/1.3 Inter,sans-serif;text-align:center;padding:0 16px;opacity:0;transition:opacity .25s}
.map-hint.on{opacity:1}
.listing-map{height:320px;border-radius:12px;overflow:hidden}
.kv.beach{grid-template-columns:1fr;max-width:640px;margin-bottom:6px}
.kv.beach dt{flex:0 0 170px}
.l-change{display:inline-block;margin:4px 0 2px;font-size:14px;font-weight:600;color:var(--coral)}
.oh-box{margin:16px 0 0;background:#E8F1F1;border-radius:12px;padding:14px 16px;max-width:640px}
.oh-box h2{font-size:18px;margin:0 0 6px}
.oh-box ul{margin:0;padding-left:18px}
.oh-box li{margin:4px 0}
.oh-box .fine{margin:8px 0 0}
.oh-cities{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.oh-cities .chip{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:14px;color:var(--ink);background:#fff;text-decoration:none}
.oh-cities .chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.oh-cities .chip small{color:inherit;opacity:.7}
.oh-day{font-size:22px;margin:28px 0 10px}
.oh-day small{font-size:14px;color:var(--muted);font-family:Inter,sans-serif}
.oh-time{font-weight:700;color:var(--ocean);margin:0 0 6px;font-size:15px}

/* What's my home worth (/home-value) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hv-hero{padding:56px 0 24px;max-width:860px}
.hv-hero h1{font-size:clamp(34px,5vw,56px);margin:10px 0 14px}
.hv-hero h1 em{font-style:italic;color:var(--ocean)}
.hv-hero .lead{font-size:18px;color:var(--muted);max-width:680px}
.hv-lookup{display:flex;gap:10px;margin-top:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow);max-width:680px}
.hv-lookup input{flex:1;min-width:0;font:inherit;font-size:17px;border:0;background:transparent;padding:10px 12px}
.hv-lookup input:focus{outline:none}
.hv-snap{margin-top:24px}
.hv-snap-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.hv-snap-head h2{font-size:28px;margin-top:4px}
.hv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.hv-stats div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px}
.hv-stats b{display:block;font-family:Fraunces,serif;font-size:30px;line-height:1.1;color:var(--ocean)}
.hv-stats span{font-size:14px;color:var(--muted)}
.hv-facts{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:6px;font-size:15px}
.hv-main{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:start;margin-top:56px}
.hv-side{position:sticky;top:20px}
.hv-side h2,.hv-how h2,.hv-strat h2,.hv-faq h2{font-size:30px;margin:6px 0 14px}
.hv-ladder{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.hv-ladder li{display:flex;gap:14px}
.hv-ladder .step{flex:none;width:34px;height:34px;border-radius:50%;background:var(--foam);color:var(--ocean);display:grid;place-items:center;font-weight:700}
.hv-ladder li:last-child .step{background:var(--coral);color:#fff}
.hv-ladder p{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.hv-form h2{font-size:26px}
.hv-row{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:10px}
.hv-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lead-form label.hv-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font-weight:400;cursor:pointer}
.hv-choice:has(input:checked){border-color:var(--ocean);background:var(--foam)}
.hv-choice input{margin-top:4px;flex:none}
.hv-choice small{display:block;font-size:13px}
.hv-levels{grid-template-columns:repeat(3,1fr)}
.hv-checks{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.lead-form .hv-checks label{display:inline-flex;gap:6px;font-weight:400}
.hv-how,.hv-strat,.hv-faq{margin-top:64px}
.hv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.hv-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}
.hv-card h3{font-size:20px;margin-bottom:8px}
.hv-card p{color:var(--muted);margin:0}
.hv-s1{border-top:4px solid var(--ocean-2)}.hv-s2{border-top:4px solid var(--ocean)}.hv-s3{border-top:4px solid var(--coral)}
.hv-asis{margin-top:16px}
.hv-faq{max-width:820px;margin-bottom:64px}
.hv-faq details{border-bottom:1px solid var(--line);padding:14px 0}
.hv-faq summary{font-weight:600;cursor:pointer}
.hv-faq details p{color:var(--muted);margin:8px 0 0}
.hv-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.hv-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
@media (max-width:900px){.hv-main{grid-template-columns:1fr}.hv-side{position:static}.hv-cards{grid-template-columns:1fr}.hv-row{grid-template-columns:1fr 1fr 1fr}.hv-levels{grid-template-columns:1fr}}
@media (max-width:560px){.hv-lookup{flex-direction:column}.hv-choices{grid-template-columns:1fr}.hv-row{grid-template-columns:1fr 1fr}.hv-hero{padding-top:32px}}
.hv-s2{box-shadow:var(--shadow);background:#fff}
.hv-rec{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ocean);background:var(--foam);border-radius:999px;padding:3px 10px;margin-bottom:8px}
.amen-photo{border-style:dashed!important}
.l-similar .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.l-similar-more{font-size:20px;margin:32px 0 14px}
.card-why{font-size:13px;color:var(--ocean);font-weight:500;margin-top:4px}

/* Monthly cost box (listing page) */
.mcost .mc-total{display:flex;align-items:baseline;gap:10px;margin:4px 0 16px}
.mcost .mc-sum{font-family:Fraunces,serif;font-size:36px;color:var(--ocean)}
.mcost .mc-sum-note{color:var(--muted);font-size:14px}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.mc-inputs{display:grid;gap:10px}
.mc-inputs label:not(.check){display:grid;gap:4px;font-size:14px;font-weight:600}
.mc-inputs small{color:var(--muted);font-weight:400}
.mc-inputs input:not([type=checkbox]),.mc-inputs select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;width:100%;min-width:0}
.mc-inputs .check{display:flex;gap:8px;align-items:center;font-size:14px}
.mc-step{display:flex;gap:6px}
.mc-add-quote{font:inherit;color:var(--ocean);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.mc-inputs input.mc-flash{border-color:var(--coral);box-shadow:0 0 0 3px rgba(224,122,95,.3);transition:box-shadow .3s}
.mc-step button{flex:none;width:38px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:18px;cursor:pointer}
.mc-suffix{display:flex;align-items:center;gap:6px}
.mc-suffix i{font-style:normal;color:var(--muted)}
.mc-lines dd{font-weight:600}
.mc-lines small{display:block;color:var(--muted);font-weight:400;font-size:12px}
@media (max-width:700px){.mc-grid{grid-template-columns:1fr}}
.mcost .mc-grid{grid-template-columns:1fr;gap:18px}
.mcost .mc-lines{order:-1;display:grid;grid-template-columns:1fr;gap:0;margin:0}
.mcost .mc-lines>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.mcost .mc-lines>div[hidden]{display:none}
.mcost .mc-lines dt small{display:inline;margin-left:6px}
.mcost .mc-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.mcost .mc-inputs .two{display:contents}
.mcost .mc-inputs .mc-rate-note,.mcost .mc-inputs .check{grid-column:1/-1}
@media (max-width:560px){.mcost .mc-inputs{grid-template-columns:1fr}}

/* /find: top button + "Search this area" on the map */
.find-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#findmap{position:relative}
.map-search-here{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:1000;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:9px 16px;font:600 14px Inter,system-ui,sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer}
.map-search-here:hover{background:var(--ocean)}
.map-search-here[hidden]{display:none}
/* /find drive-time box */
.drive-label{background:var(--coral);color:#fff;border:0;font-weight:600;box-shadow:none}
.drive-label::before{display:none}
.place-add{max-width:520px}
.find-drive{position:relative;display:grid;gap:8px;margin-bottom:6px}
.drive-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.drive-row[hidden]{display:none}
.drive-row select{width:auto;flex:none}
.drive-from{color:var(--muted);font-size:14px}
.drive-pick{flex:none;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:7px 10px;font:inherit;font-size:14px;cursor:pointer}
.drive-more{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:14px}
.find-drive.is-locked .drive-row,.find-drive.is-locked .drive-more{opacity:.45;pointer-events:none}
.drive-lock{display:inline-flex;gap:6px;align-items:center;justify-self:start;background:var(--foam);color:var(--ocean);font-weight:600;font-size:14px;border-radius:999px;padding:6px 12px;text-decoration:none}
.drive-lock u{text-decoration:underline}
#findmap.is-picking,#findmap.is-picking .leaflet-interactive{cursor:crosshair!important}
.find-drive select,.find-drive .drive-addr,.find-drive .drive-save-name{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;max-width:100%}
.find-drive .drive-place{flex:1 1 140px;min-width:0}
.drive-row-x{color:var(--muted)}
.drive-new{display:grid;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px}
.drive-new[hidden]{display:none}
.drive-new-name,.drive-new-where,.drive-new-go{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.drive-new-name>span,.drive-new-where>span{font-size:13px;font-weight:600;width:44px;color:var(--muted)}
.drive-quick{cursor:pointer;font-size:13px;padding:4px 10px}
.drive-quick.on{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.find-drive .drive-name{flex:1 1 120px;min-width:0}
.find-drive .drive-addr{flex:1 1 160px;min-width:0}
.drive-new-go .btn{padding:8px 16px;font-size:14px}
.map-pin-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:1000;background:var(--ink);color:#fff;font-size:13px;padding:7px 12px;border-radius:10px;max-width:90%;text-align:center}
.map-pin-hint[hidden]{display:none}

/* Suggest a correction (guide + city pages) */
.correction-line { margin: 1.5rem 0 .5rem; padding: .75rem 1rem; background: #fff; border: 1px solid rgba(28,42,51,.12); border-radius: 8px; font-size: .95rem; }

/* Architecture style quiz (/style-quiz) */
.quiz-page{padding-top:28px;padding-bottom:40px}
.quiz-head h1{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,4vw,40px);margin:0 0 6px}
.quiz-setup{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:18px 0;box-shadow:var(--shadow)}
.quiz-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.quiz-label{font-weight:600;min-width:52px}
.quiz-row select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;max-width:100%}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{border:0;background:#fff;padding:7px 16px;font:inherit;cursor:pointer}
.seg button.on{background:var(--ink);color:#fff}
.quiz-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:6px 0 10px}
.quiz-mode{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;font:inherit}
.quiz-mode b{display:block;font-size:16px}
.quiz-mode span{color:var(--muted);font-size:14px}
.quiz-mode:hover,.quiz-mode.on{border-color:var(--ocean);box-shadow:0 0 0 2px var(--foam)}
.quiz-hard{font-size:14px;color:var(--muted)}
.qz-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.qz-card h2{font-family:Fraunces,Georgia,serif;font-size:24px;margin:4px 0 12px}
.qz-top{display:flex;justify-content:space-between;color:var(--muted);font-size:14px}
.qz-photo{margin:0}
.qz-photo img{width:100%;max-height:520px;object-fit:cover;border-radius:12px;display:block;background:var(--line)}
.qz-label{font-weight:700;margin-top:6px}
.qz-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:14px}
.qz-choice{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;font:inherit;font-weight:600;cursor:pointer}
.qz-choice:hover:not(:disabled){border-color:var(--ocean)}
.qz-choice.right,.qz-pick.right{border-color:#2e8b57;background:#e8f5ec}
.qz-choice.wrong,.qz-pick.wrong{border-color:var(--coral);background:#fbeae5}
.qz-reveal{margin-top:14px}
.qz-verdict{font-weight:700;font-size:18px;margin:0 0 6px}
.qz-verdict.ok{color:#2e8b57}.qz-verdict.no{color:var(--coral)}
.qz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.qz-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.qz-pick{border:2px solid transparent;border-radius:14px;padding:6px}
.qz-pick .qz-photo img{height:260px;max-height:none}
.qz-pick .btn{width:100%;margin-top:8px}
.qz-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.qz-mini .qz-photo img{height:160px}
.qz-mini .court{font-size:12px}.qz-mini .court span{font-size:11px}
.qz-result h3{margin:0 0 4px}
.qz-skip{text-align:center;margin-top:8px}
.link-btn{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit}
.qz-final{text-align:center}
@media (max-width:640px){
  .qz-grid,.qz-pair{grid-template-columns:1fr 1fr;gap:8px}
  .qz-pick .qz-photo img{height:150px}
  .qz-mini{grid-template-columns:1fr 1fr}
  .qz-mini .qz-photo:nth-child(3){display:none}
  .qz-photo img{max-height:340px}
}
.qz-choice.half{border-color:#c9a227;background:#fbf4dc}
.qz-verdict.mid{color:#9a7a12}
.qz-why{background:var(--foam);border-radius:10px;padding:8px 12px;font-size:15px}
.qz-photo{position:relative}
.qz-angle{position:absolute;top:10px;right:10px;border:0;border-radius:999px;background:rgba(28,42,51,.75);color:#fff;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.qz-dis{margin:6px 0}
.qz-disagree{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:#fff}
.qz-disagree h3{margin:0 0 4px}
.qz-disagree label{display:block;font-weight:600;font-size:14px;margin:8px 0 0}
.qz-disagree select,.qz-disagree textarea,.qz-disagree input{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;font-weight:400}
.qz-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qz-err{color:var(--coral);font-weight:600}
.qz-thanks{background:#e8f5ec;border-radius:10px;padding:10px 12px;font-weight:600}
.qz-step2 h3{margin:14px 0 0}
@media (max-width:640px){.qz-two{grid-template-columns:1fr}}
.qz-term{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline dotted var(--ocean);text-decoration-thickness:2px;text-underline-offset:3px;cursor:help}
.qz-term:hover{color:var(--ocean)}
.qz-pop{position:absolute;z-index:3000;background:var(--ink);color:#fff;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.45;box-shadow:var(--shadow)}
.qz-pop b{color:#fff}
.qz-words dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:8px 0 0;font-size:15px}
.qz-words dt{font-weight:700}
.qz-words dd{margin:0;color:var(--muted)}
@media (max-width:640px){.qz-words dl{grid-template-columns:1fr}.qz-words dd{margin-bottom:6px}}
/* Quiz photos: always the WHOLE photo (the roofline matters), never cropped to fill the box */
.qz-photo img{width:100%;height:auto;max-height:72vh;object-fit:contain;background:var(--sand)}
.qz-pick .qz-photo img,.qz-mini .qz-photo img{height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain}
@media (max-width:640px){.qz-photo img{max-height:60vh}.qz-pick .qz-photo img{height:auto}}
.quiz-foot{justify-content:space-between;margin:4px 0 0}
.qz-answers{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:6px;margin-top:12px}
.qz-ans{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;line-height:1.25}
.qz-ans:hover{border-color:var(--ocean);background:var(--foam)}
.qz-ans.mid{background:var(--sand)}
.qz-ans.none{color:var(--muted);font-weight:500}
.qz-bars{margin:10px 0 16px}
.qz-bar{display:grid;grid-template-columns:minmax(120px,240px) 1fr 44px;gap:10px;align-items:center;margin:5px 0;font-size:14px}
.qz-bar-track{height:10px;background:var(--line);border-radius:999px;overflow:hidden}
.qz-bar-track span{display:block;height:100%;background:var(--ocean);border-radius:999px}
.qz-bar-pct{text-align:right;font-weight:600}
.qz-touch,.qz-nope{font-size:15px}
.qz-nope{color:var(--muted)}
@media (max-width:640px){
  .qz-answers{grid-template-columns:1fr 1fr}
  .qz-ans.mid{grid-column:1 / -1}
  .qz-ans.none{grid-column:1 / -1}
  .qz-bar{grid-template-columns:1fr 70px 38px;font-size:13px}
}
.quiz-modes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.quiz-mode-main{background:var(--foam);border-color:var(--ocean)}
.quiz-mode-main b{font-size:18px}
.quiz-sub{margin:14px 0 4px;font-weight:600;color:var(--muted)}
.qz-spot p{margin:6px 0}
.qz-today,.qz-line{font-size:15px}
.qz-line{border-left:3px solid var(--coral);padding-left:10px}

/* blog (2026-10-08) */
.blog{padding-top:24px;max-width:860px}
.blog h1{font-size:clamp(34px,4.4vw,52px);margin-bottom:6px}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.blog-cats .chip{text-decoration:none}
.blog-cats .chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.blog-list{display:grid;gap:22px}
.blog-item{border-bottom:1px solid var(--line);padding-bottom:20px}
.blog-item h2{font-size:24px;margin:4px 0 8px}
.blog-item h2 a{color:var(--ink);text-decoration:none}
.blog-meta{font-size:13px!important;color:#6B7A80!important;text-transform:uppercase;letter-spacing:.04em;margin:0!important}
.blog-meta a{color:inherit}
.draft-tag{color:#B4472E}
.blog-post h3{font-size:19px;margin:22px 0 8px}
.doc .note{background:#EEF5F4;border-left:4px solid #1E6A73;padding:12px 16px;border-radius:6px;margin:0 0 14px;font-size:16px}
.doc .draft-note{background:#FBEDE8;border-color:#E07A5F}
.mtable-wrap{overflow-x:auto;margin:6px 0 18px}
.mtable{border-collapse:collapse;width:100%;font-size:14px;min-width:640px;background:#fff}
.mtable th,.mtable td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.mtable thead th{font-size:12px;color:#6B7A80;font-weight:600;white-space:normal;vertical-align:bottom}
.mtable tbody th,.mtable thead th:first-child{text-align:left}
.mtable-cap{font-size:13px!important;color:#6B7A80!important;margin-top:6px}
.fineprint{font-size:13px!important;color:#6B7A80!important;margin-top:28px}
.blog-back{margin-top:20px}

.rate-due{background:#FFF4D6;border:1px solid #E8C66B;border-radius:8px;padding:10px 14px;margin:10px 0 16px;font-size:15px}
.rate-form{display:grid;gap:14px;max-width:420px;margin-top:18px}
.rate-form label{display:grid;gap:4px;font-weight:600;font-size:14px}
.rate-form input{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit}

/* related posts / latest posts (2026-10-09) */
.post-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.post-card{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.post-card:hover{border-color:#1E6A73;transform:translateY(-2px)}
.post-card h3{font-size:19px;margin:0;line-height:1.3}
.post-card p{font-size:14px!important;color:#55646B!important;margin:0!important;flex:1}
.post-card .arrow{font-size:14px;color:#1E6A73;font-weight:600}
.keep-reading{margin-top:40px;border-top:1px solid var(--line);padding-top:8px}
.doc .keep-reading h2{margin-top:24px}
@media (max-width:860px){.post-cards{grid-template-columns:1fr}}

/* blog header images (2026-10-09): 16:9 Ideogram images in public/images/blog/ */
.post-hero{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);margin:14px 0 26px;background:#E9E2D6}
.post-card.has-img{padding-top:0;overflow:hidden}
.post-card.has-img img{display:block;width:calc(100% + 40px);max-width:none;margin:0 -20px 4px;aspect-ratio:16/9;height:auto;object-fit:cover;background:#E9E2D6}
.blog-item.has-img{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}
.blog-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#E9E2D6}
@media (max-width:640px){.blog-item.has-img{grid-template-columns:1fr;gap:12px}}

/* about page */
.about-hero{padding:40px 0 24px;align-items:start}
.about-hero h1{font-size:clamp(36px,4.8vw,58px);margin:12px 0 10px}
.about-hero h1 em{font-style:italic;color:var(--ocean)}
.about-hero p{color:#2E3B43;margin-top:14px;font-size:17px}
.about-hero .portrait{position:sticky;top:24px}
.about-license{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:22px}
.about-license p{font-size:14px!important;color:var(--muted)!important;margin:0!important}
.about-license img{height:auto}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tool{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 44px;transition:transform .2s,box-shadow .2s}
.tool:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tool h3{font-size:20px}
.tool p{color:var(--muted);margin-top:8px;font-size:15px}
.tool .arrow{position:absolute;right:20px;bottom:16px;color:var(--ocean);font-weight:700}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.work-card{background:var(--foam);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px}
.work-card h3{font-size:24px}
.work-card p{color:#2E3B43;flex:1}
.about-end{display:grid;gap:40px}
.about-personal{max-width:720px}
.about-personal.has-photo{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-personal img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:28px}
.about-personal h2{font-size:clamp(24px,3vw,32px)}
.about-personal p{color:var(--muted);margin-top:10px;font-size:17px}
.about-cta{grid-template-columns:1.3fr 1fr;padding:44px}
.about-cta .cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.about-cta .btn-ghost{color:var(--ink)}
.about-cta .about-cta-broker{font-size:14px;color:#9FB3B5}
@media (max-width:900px){
  .tools,.work{grid-template-columns:1fr 1fr}
  .about-hero .portrait{position:static;max-width:360px}
  .about-cta{grid-template-columns:1fr}
  .about-personal.has-photo{grid-template-columns:1fr;gap:20px}
  .about-cta .cta{justify-content:flex-start}
}
@media (max-width:560px){
  .tools,.work{grid-template-columns:1fr}
  .about-cta{padding:28px}
  .about-hero .portrait{max-width:240px}
}

/* home: investor box */
.investors{background:var(--foam);border-radius:32px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.investors h2{font-size:clamp(28px,3.4vw,40px);margin-top:8px}
.investors p{color:#2E3B43;margin-top:14px;font-size:17px}
.investors .cta{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.inv-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inv-list{background:var(--paper);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:6px;font-weight:600;transition:transform .2s,box-shadow .2s}
.inv-list:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.inv-list .n{font-family:Fraunces,serif;font-size:36px;line-height:1;color:var(--ocean);font-weight:600}
@media (max-width:900px){.investors{grid-template-columns:1fr;padding:32px}}
@media (max-width:560px){.investors{padding:24px}.inv-list .n{font-size:30px}}
.list[hidden]{display:none}

/* home hero: live showcase */
.showcase{background:#DCE7E5}
.show-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
.show-slide.on{opacity:1;pointer-events:auto}
.show-slide img{width:100%;height:100%;object-fit:cover}
.show-info{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,253,249,.94);backdrop-filter:blur(6px);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.4}
.show-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.show-top b{font-family:Fraunces,serif;font-size:24px;font-weight:600}
.show-addr{color:var(--muted)}
.show-court{color:var(--ink);font-weight:500;border-top:1px solid var(--line);margin-top:8px;padding-top:6px}
.show-live{position:absolute;left:18px;top:18px;background:rgba(255,253,249,.94);border-radius:999px;padding:7px 14px;font-size:13px;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow)}
.show-live b{font-weight:700}
.show-dots{position:absolute;right:20px;top:24px;display:flex;gap:6px}
.show-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.6);cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.show-dots button.on{background:#fff;width:22px;border-radius:5px}
@media (max-width:900px){.showcase{aspect-ratio:1/1}}
@media (max-width:560px){
  .show-info{left:10px;right:10px;bottom:10px;padding:10px 12px;font-size:13px}
  .show-top b{font-size:20px}
  .show-court{margin-top:6px;padding-top:4px}
  .show-live{left:10px;top:10px;font-size:12px;padding:6px 11px}
  .show-live .wide{display:none}
  .show-dots{right:12px;top:20px}
}

/* home hero: photo-search chips */
.photo-chips{max-width:580px}
.photo-chips .chips-label{width:100%;display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}
.photo-chips .chip:hover{border-color:var(--ocean);color:var(--ocean)}
.photo-chips .chip-more{background:transparent;border-style:dashed;color:var(--muted)}

/* search suggestions */
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:50;overflow:hidden;text-align:left}
.suggest-item{display:flex;flex-direction:column;padding:10px 14px;border-top:1px solid var(--line)}
.suggest-item:first-child{border-top:0}
.suggest-item b{font-weight:600}
.suggest-item small{color:var(--muted);font-size:13px}
.suggest-item.on,.suggest-item:hover{background:var(--foam)}

.photo-chips .chips-note{width:100%;font-size:13px;color:var(--muted);margin-top:2px}
.inv-list .lock{font-size:12px;font-weight:500;color:var(--muted)}

/* /find: new-listing alerts box */
.alert-box{margin-top:36px;background:var(--foam);border-radius:28px;padding:32px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.alert-box h2{font-size:clamp(22px,2.6vw,30px);margin-top:6px}
.alert-box p{color:#2E3B43;margin-top:10px}
.alert-form{display:grid;gap:12px;align-content:center}
.alert-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.alert-form input,.alert-form select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.alert-form .btn{justify-self:start}
.alert-saved{color:var(--ocean)!important;font-weight:600;margin:0!important}
.saved li{display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:end;padding:18px 20px}
.saved-edit{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.saved-edit label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}
.saved-edit input,.saved-edit select{font:inherit;font-size:15px;font-weight:400;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.saved-actions{display:flex;gap:14px;align-items:center}
.saved-ok{color:var(--ocean);font-weight:600;font-size:14px}
@media (max-width:900px){.saved li{grid-template-columns:1fr}.saved-edit{grid-template-columns:1fr 1fr}.saved-edit .btn{grid-column:1 / -1;justify-self:start}}
@media (max-width:560px){.saved-edit{grid-template-columns:1fr}}
@media (max-width:900px){.alert-box{grid-template-columns:1fr;padding:24px}}

/* back to top (layout.php) */
.to-top{position:fixed;right:20px;bottom:20px;z-index:1001;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:20px;font-weight:700;box-shadow:var(--shadow);cursor:pointer}
.to-top:hover{border-color:var(--ocean);color:var(--ocean)}
.to-top[hidden]{display:none}
@media (max-width:560px){.to-top{right:14px;bottom:14px;width:42px;height:42px}}

/* city pages: About right under the tiles */
.city-about{margin:28px 0 40px;max-width:760px}
.city-about h2:first-child{margin-top:0}

/* /find "Also matching": one line per reason + two ways forward */
.also-why{margin:8px 0 18px;padding-left:20px;display:grid;gap:6px}
.also-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.also-actions>div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.also-actions p{margin-top:6px}
@media (max-width:760px){.also-actions{grid-template-columns:1fr}}

.find-unchecked{background:var(--foam);border-radius:14px;padding:12px 16px;margin-bottom:16px;font-size:15px}

.also-why .see-these{white-space:nowrap;margin-left:4px}

/* private search page */
.ps-list{margin:14px 0 6px;padding-left:20px;display:grid;gap:8px;color:#2E3B43}
/* Multi-family units and rents (listing page, app/lib/units.php) */
.units-wrap{overflow-x:auto}
.units-table{width:100%;border-collapse:collapse;font-size:15px}
.units-table th,.units-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.units-table thead th{font-size:13px;color:var(--muted);font-weight:600}
.units-table td:last-child,.units-table th:last-child{text-align:right;white-space:nowrap}
.units-table tfoot th{font-weight:600;border-bottom:0}
.units .inv{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.units .inv h3{margin:0 0 6px;font-size:16px}
.units .inv-lock,.units .inv-nums{margin:0}
.mc-lines .mc-left dd{font-weight:600}
.mc-lines .mc-rent dd{color:var(--ocean)}
.units .inv-nums small{display:block;color:var(--muted);font-weight:400}
/* Find a home: "describe it in your own words" line + a search Elk set up (app/lib/shared.php) */
.find-ask{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#E6F0EF;border:1px solid #CFE2E0}
.find-ask p{margin:0;flex:1 1 320px}
.find-ask-icon{font-size:22px}
.find-ask .btn{white-space:nowrap}
.share-note{margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#E6F0EF;border:1px solid #CFE2E0}
.share-note p{margin:0 0 6px}
.share-note .share-msg{font-style:italic}
.share-note form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 0}
.admin .send-form{max-width:640px}
.admin .send-form textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.admin .share-link{width:min(520px,100%);font:inherit;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.admin .share-sent{background:#E6F2EE;border-color:#9BC9BB}
/* Find a home: places picked from the search box suggestions (suggest.js "merge") */
.find-picks{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:2px 0 6px}
.find-picks-tags{display:flex;flex-wrap:wrap;gap:6px}
.find-picks-note{color:var(--muted)}
@keyframes btnNudge{0%,100%{box-shadow:0 0 0 0 rgba(224,122,95,0)}40%{box-shadow:0 0 0 6px rgba(224,122,95,.35)}}
.btn-nudge{animation:btnNudge 1.2s ease-out 2}
/* /lists page */
.lists-page{padding:28px 0 56px}
.lists-page h1{margin:0}
.lists-group{margin:30px 0 12px;font-size:22px}
