/* Town guide / AI tools — matches the main site: ivory / espresso / bronze / gold, Cormorant + JR Num (lining) + Jost. No navy. */
.ai-page{background:var(--ivory)}
.ai-page .hdr{background:rgba(247,243,236,.97);color:var(--espresso);box-shadow:0 1px 0 var(--line);padding:12px 0;padding-top:max(12px,env(safe-area-inset-top))}
.ai-page .hdr::before{opacity:0}
.ai-page .hdr .phone{border-color:var(--line)}
.ai-num,.ai-page .price,.ai-page .ai-stat b,.ai-page .est-range{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:"lnum" 1,"tnum" 1!important}
.ai-hero{background:#1E1A18;color:var(--ivory);padding:calc(120px + env(safe-area-inset-top)) 0 64px;position:relative;overflow:hidden}
.ai-hero::after{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(60% 50% at 50% 100%,rgba(201,162,74,.16),transparent 70%);pointer-events:none}
.ai-hero .wrap{position:relative;z-index:1;max-width:980px}
.ai-hero .eyebrow{color:#C9A24A}
.ai-hero h1{font-size:clamp(30px,4.6vw,54px);letter-spacing:.08em;color:var(--ivory)}
.ai-hero p.sub{margin:18px 0 0;max-width:720px;color:rgba(247,243,236,.82);font-size:18px}
.ai-pill{display:inline-flex;align-items:center;gap:8px;font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#1E1A18;background:#E9CF8C;padding:7px 10px;margin:0 0 20px}
.ai-ask{margin-top:30px;display:flex;gap:0;background:var(--ivory);border:1px solid rgba(201,162,74,.6);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.ai-ask input,.ai-ask textarea{flex:1;min-width:0;border:0;background:transparent;color:var(--espresso);padding:20px 22px;font:400 17px/1.4 var(--sans);outline:none}
.ai-ask input::placeholder{color:#8A8580}
.ai-ask button{flex:none;border:0;background:#C9A24A;color:#1E1A18;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;padding:0 26px;cursor:pointer;min-height:60px;transition:background .3s}
.ai-ask button:hover{background:#E9CF8C}
.ai-ask:focus-within{outline:2px solid #E9CF8C;outline-offset:3px}
.ai-try{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ai-try button{border:1px solid rgba(247,243,236,.3);background:transparent;color:rgba(247,243,236,.88);font:400 13.5px/1.3 var(--sans);padding:9px 13px;cursor:pointer;text-align:left;transition:border-color .3s,color .3s}
.ai-try button:hover{border-color:#C9A24A;color:#E9CF8C}
.ai-try .lbl{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(247,243,236,.55);align-self:center;margin-right:4px}
.ai-sec{padding:48px 0 80px}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
.ai-chips .k{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--stone-ink);margin-right:4px}
.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:7px 10px 7px 12px;font:400 14px/1.2 var(--sans)}
.chip button{border:0;background:none;cursor:pointer;color:var(--stone-ink);font-size:16px;line-height:1;padding:0 2px}
.chip button:hover{color:var(--bronze)}
.ai-status{font-size:16px;color:#3b3431;margin:0 0 22px}
.ai-status b{font-weight:500}
.ai-note{font-size:13.5px;color:var(--stone-ink);line-height:1.6}
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.hcard:hover{box-shadow:0 18px 40px rgba(30,26,24,.12);transform:translateY(-2px)}
.hcard .ph{position:relative;aspect-ratio:4/3;background:#e9e2d6 center/cover no-repeat;overflow:hidden}
.hcard .ph img{width:100%;height:100%;object-fit:cover}
.hcard .tag{position:absolute;left:10px;top:10px;background:rgba(30,26,24,.82);color:var(--ivory);font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:6px 8px}
.hcard .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.hcard .price{font-size:30px;font-weight:500;line-height:1;letter-spacing:.01em}
.hcard .facts{font:400 14.5px/1.4 var(--sans);color:#3b3431}
.hcard .addr{font:400 14px/1.4 var(--sans);color:var(--stone-ink)}
.hcard .where{font:500 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.hcard .trans{font-size:13px;color:var(--stone-ink)}
.hcard .act{display:flex;gap:8px;margin-top:auto;padding-top:12px}
.hcard .act a{flex:1;text-align:center;font:500 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:13px 8px;border:1px solid var(--espresso)}
.hcard .act a.ask{background:var(--espresso);color:var(--ivory)}
.hcard .act a.ask:hover{background:var(--bronze);border-color:var(--bronze)}
.hcard .act a.view:hover{background:var(--espresso);color:var(--ivory)}
.ai-more{display:flex;justify-content:center;margin-top:30px}
/* lead CTA */
.lead-cta{grid-column:1/-1;background:#1E1A18;color:var(--ivory);display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding:30px;align-items:center}
.lead-cta h3{color:var(--ivory);font-size:22px;letter-spacing:.1em}
.lead-cta p{margin:10px 0 0;color:rgba(247,243,236,.8);font-size:15.5px}
.lead-cta .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.lead-cta .btn{border-color:rgba(247,243,236,.55);color:var(--ivory);min-height:48px}
.lead-cta .btn.solid{background:#C9A24A;border-color:#C9A24A;color:#1E1A18}
.lead-cta .btn:hover{background:var(--ivory);color:var(--espresso)}
.mini-form{display:grid;gap:10px}
.mini-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-form input,.mini-form textarea,.mini-form select{width:100%;border:1px solid rgba(247,243,236,.25);background:rgba(247,243,236,.06);color:var(--ivory);padding:13px 14px;font:400 15px/1.3 var(--sans);border-radius:0}
.mini-form input::placeholder,.mini-form textarea::placeholder{color:rgba(247,243,236,.5)}
.mini-form button{border:0;background:#C9A24A;color:#1E1A18;font:500 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:16px;cursor:pointer}
.mini-form .msg{font-size:13.5px;color:#E9CF8C;min-height:1em;margin:0}
.light-form input,.light-form textarea,.light-form select{border-color:var(--line);background:#fff;color:var(--espresso)}
.light-form input::placeholder,.light-form textarea::placeholder{color:#8A8580}
.light-form .msg{color:var(--bronze)}
.preview-flag{display:block;font-size:12px;color:rgba(247,243,236,.6);margin-top:4px}
.light-form .preview-flag{color:var(--stone-ink)}
/* value page */
.val-wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
.ai-panel{background:#fff;border:1px solid var(--line);padding:28px}
.ai-panel h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:.1em}
.ai-panel h3{font-size:17px;letter-spacing:.14em;margin:0 0 10px}
.est-range{font-size:clamp(38px,6vw,64px);font-weight:500;line-height:1.05;margin:14px 0 6px;letter-spacing:.01em}
.est-mid{font-size:15.5px;color:#3b3431}
.ai-opt{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.ai-opt label{display:grid;gap:6px;font:500 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(247,243,236,.7)}
.ai-opt select,.ai-opt input{border:1px solid rgba(247,243,236,.3);background:rgba(247,243,236,.06);color:var(--ivory);padding:12px;font:400 15px/1.2 var(--sans);border-radius:0;letter-spacing:0;text-transform:none}
.ai-opt option{color:#1E1A18}
.comps{width:100%;border-collapse:collapse;margin-top:16px;font-size:14.5px}
.comps th{font:500 10.5px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--stone-ink);text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.comps td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.comps td.n{white-space:nowrap}
.comps .a{font-weight:400}
.comps .s{color:var(--stone-ink);font-size:13px}
.pitch{background:#1E1A18;color:var(--ivory);padding:30px;border:1px solid rgba(201,162,74,.4)}
.pitch .eyebrow{color:#C9A24A}
.pitch h2{color:var(--ivory);font-size:clamp(24px,2.8vw,34px);letter-spacing:.08em}
.pitch p{color:rgba(247,243,236,.85);margin:12px 0 0}
.pitch .big{font-family:var(--serif);font-size:72px;line-height:1;color:#E9CF8C;margin:6px 0 0}
.pitch ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;font-size:15px}
.pitch li::before{content:"";display:inline-block;width:14px;height:1px;background:#C9A24A;vertical-align:middle;margin-right:10px}
.save{margin-top:16px;padding:14px 16px;border:1px solid rgba(201,162,74,.35);font-size:14.5px;color:rgba(247,243,236,.9)}
.save b{font-family:var(--serif);font-size:22px;color:#E9CF8C;font-weight:500}
/* towns */
.tw-ans{display:grid;gap:22px}
.tw-card{background:#fff;border:1px solid var(--line);padding:26px 28px}
.tw-card h2{font-size:clamp(22px,2.8vw,32px);letter-spacing:.1em}
.tw-card h3{font-size:16px;letter-spacing:.16em;margin:22px 0 10px;color:var(--espresso)}
.tw-card p{margin:8px 0 0}
.tw-card ul{margin:8px 0 0;padding-left:18px}
.tw-card li{margin:4px 0}
.tw-sub{font:500 11px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-top:8px}
.ai-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.ai-stat{border:1px solid var(--line);padding:14px;background:var(--ivory)}
.ai-stat b{display:block;font-size:28px;font-weight:500;line-height:1.05}
.ai-stat span{display:block;font-size:12.5px;color:var(--stone-ink);margin-top:6px;line-height:1.4}
.src{margin-top:14px;font-size:12.5px;color:var(--stone-ink);border-top:1px dashed var(--line);padding-top:10px;line-height:1.55}
.src a{color:var(--stone-ink)}
.tw-pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tw-tbl{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:8px}
.tw-tbl th,.tw-tbl td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tw-tbl th{font:500 10.5px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone-ink)}
.tw-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tw-cta .btn{min-height:48px}
.ai-dl{max-height:0}
.ai-band{background:#1E1A18;color:var(--ivory);padding:clamp(70px,8vw,110px) 0}
.ai-band .eyebrow{color:#C9A24A}
.ai-band h2{color:var(--ivory)}
.ai-band .sec-head p{color:rgba(247,243,236,.8)}
.ai-band .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ai-band a.c{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid rgba(201,162,74,.35);text-decoration:none;transition:border-color .3s,background .3s}
.ai-band a.c:hover{border-color:#C9A24A;background:rgba(201,162,74,.06)}
.ai-band a.c b{font:500 22px/1.2 var(--serif);letter-spacing:.1em;text-transform:uppercase}
.ai-band a.c span{color:rgba(247,243,236,.78);font-size:15.5px}
.ai-band a.c i{font-style:normal;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#C9A24A;margin-top:auto;padding-top:8px}
.ai-band .ai-pill{margin-bottom:14px}
.ai-loading{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--bronze);border-radius:50%;animation:aispin .8s linear infinite;vertical-align:-2px;margin-right:8px}
@keyframes aispin{to{transform:rotate(360deg)}}
@media (max-width:980px){.ai-grid{grid-template-columns:repeat(2,1fr)}.val-wrap{grid-template-columns:1fr}.ai-stats{grid-template-columns:repeat(2,1fr)}.ai-band .cards{grid-template-columns:1fr}}
@media (max-width:640px){
  .ai-hero{padding:calc(96px + env(safe-area-inset-top)) 0 40px}
  .ai-hero p.sub{font-size:16px}
  .ai-ask{flex-direction:column}
  .ai-ask input{padding:16px}
  .ai-ask button{min-height:52px}
  .ai-grid{grid-template-columns:1fr}
  .lead-cta{grid-template-columns:1fr;padding:22px}
  .mini-form .row{grid-template-columns:1fr}
  .ai-opt{grid-template-columns:1fr 1fr}
  .ai-panel,.pitch,.tw-card{padding:20px}
  .comps thead{display:none}
  .comps tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:10px 0}
  .comps td{border:0;padding:2px 0}
  .comps td.d{color:var(--stone-ink);font-size:13.5px}
  .pitch .big{font-size:56px}
  .ai-try button{font-size:13px}
}
