/* Belvedere. Copyright (c) 2026 John James Kennedy. All rights reserved. Unauthorized copying, modification or distribution is prohibited. See /copyright.html */
/* Belvedere agent websites: small additions to ljkennedy.com's stylesheet (site.css) for agent photos, logos and
   sections that have no photo yet. Brand colors come from the agent's profile (inline :root variables). */
.brand img{width:auto;max-width:150px;object-fit:contain}
.hero.noimg{min-height:min(78svh,760px);background:radial-gradient(120% 90% at 85% 10%,color-mix(in srgb,var(--gold,#B48A3C) 26%,transparent),transparent 60%),var(--navy-2,#0F2A4D)}
.ph-photo.ph-plain{background:radial-gradient(120% 90% at 85% 10%,color-mix(in srgb,var(--gold,#B48A3C) 22%,transparent),transparent 60%),var(--navy-2,#0F2A4D)}
.broker .pic .nopic{width:100%;aspect-ratio:4/5.4;background:var(--navy,#0F2A4D)}
.broker .dre{filter:none;max-height:72px;width:auto;max-width:220px;object-fit:contain}
.spec .img:not(:has(img)){background:linear-gradient(160deg,var(--navy,#0F2A4D),color-mix(in srgb,var(--navy,#0F2A4D) 70%,var(--gold,#B48A3C)))}
.area:not(:has(img)){background:linear-gradient(160deg,var(--navy,#0F2A4D),color-mix(in srgb,var(--navy,#0F2A4D) 75%,var(--gold,#B48A3C)))}
.lcard .ph:not(:has(img)){background:var(--navy,#0F2A4D)}
.ftr .logo{width:auto;max-width:160px;max-height:120px;object-fit:contain}
.ftr .dre{max-height:64px;width:auto;object-fit:contain}
.aq{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.aq figure{margin:0;padding:34px 30px;background:var(--bg,#fff);border:1px solid var(--line,rgba(15,42,77,.12))}
.aq blockquote{margin:0;font-family:var(--serif);font-size:clamp(21px,1.9vw,25px);line-height:1.35;color:var(--ink)}
.aq figcaption{margin-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.prose p+p{margin-top:1em}
/* hero shade and sticky header follow the agent's main color */
.hero::after{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-2) 62%,transparent) 0%,color-mix(in srgb,var(--navy-2) 36%,transparent) 38%,color-mix(in srgb,var(--navy-2) 55%,transparent) 70%,color-mix(in srgb,var(--navy-2) 80%,transparent) 100%)}
.hdr.stuck{background:color-mix(in srgb,var(--navy-2) 97%,transparent)}
.ftr::before{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-2) 72%,transparent),color-mix(in srgb,var(--navy-2) 94%,transparent))}
/* local photo credits (Wikimedia Commons) */
.hero .ph-credit{position:absolute;right:var(--gut);bottom:10px;z-index:3;margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.62)}
.hero .ph-credit a{color:rgba(255,255,255,.75);text-decoration:none}.hero .ph-credit a:hover{text-decoration:underline}
@media(max-width:700px){.hero .ph-credit{left:var(--gut);right:auto}}
.ftr .credits{font-size:12px;opacity:.8}.ftr .credits a{color:inherit}
/* Google reviews */
.tcard{margin:0}.tcard .tstars{color:var(--gold,#B8975A);font-size:15px;letter-spacing:2px;margin-bottom:14px}
.tcard figcaption{border-top:1px solid var(--line);padding-top:18px;font-weight:600;color:var(--ink)}
.tcard figcaption a{color:inherit;text-decoration:none}.tcard figcaption a:hover{text-decoration:underline}
.tcard figcaption span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-top:8px;font-weight:400}
.grsum{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.grsum b{font-family:var(--serif);font-weight:400;font-size:44px;color:var(--ink);line-height:1}
.grsum .stars{color:var(--gold,#B8975A);letter-spacing:2px}.grsum span:last-child{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.tfoot .gattr{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
/* placeholder site: MLS home search not live yet */
.soon{border:1px solid var(--line);border-left:3px solid var(--gold,#B8975A);padding:22px 26px;margin:0 0 36px;background:var(--bg,#fff);max-width:820px}
.soon p{margin:0 0 10px;color:var(--text)}.soon .eyebrow{margin-bottom:8px}
.ftr .credits a{font-size:inherit;font-weight:inherit;display:inline}
.prose a.btn{color:#fff;text-decoration:none}.prose a.btn.line{color:var(--navy)}.prose a.btn.white{color:var(--navy)}
/* maps on agent sites: community map (sites waiting on MLS approval), community + living maps */
#amap{height:clamp(380px,50vw,560px);background:#e9ecef;position:relative;z-index:0;isolation:isolate}
#amap .pin{white-space:nowrap;cursor:pointer;padding:6px 10px;font-size:12px}
#hmap,#lvmap{position:relative;z-index:0;isolation:isolate;border:1px solid var(--line)}
/* market reports */
.mr-head .ph-credit{position:absolute;right:var(--gut);bottom:10px;z-index:3;margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.mr-head .ph-credit a{color:rgba(255,255,255,.8);text-decoration:none}
@media(max-width:700px){.mr-head .ph-credit{left:var(--gut);right:auto}}
.hdr .nav a{white-space:nowrap}
@media(max-width:1380px){.hdr .nav a.tel{display:none}}
@media(max-width:1140px){.hdr .nav{display:none}.hdr .burger{display:block}}
/* extra Explore pages (coaching, adult family homes, outreach) */
.xgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:28px}
.xcard{border:1px solid var(--line);background:var(--bg);padding:26px 24px;display:flex;flex-direction:column;gap:10px}
.xcard h3{font-size:clamp(24px,2.2vw,30px)}.xcard p{margin:0;font-size:16px}.xcard .mono{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.xcard a.fine{margin-top:auto;color:var(--navy)}
.xpts ol{list-style:none;margin:0;padding:0;display:grid;gap:18px}.xpts li{font-family:var(--serif);font-size:clamp(22px,2vw,27px);line-height:1.3;color:var(--ink);border-top:1px solid var(--line);padding-top:16px}
.xpts li .mono{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold-2,#a3824a);margin-bottom:6px}
/* hero layouts */
.hero.h-center{align-items:center;text-align:center;min-height:min(84svh,800px)}
.hero.h-center .in{display:flex;flex-direction:column;align-items:center;padding-bottom:80px}
.hero.h-center .meta{justify-content:center}.hero.h-center h1{margin:0 auto}.hero.h-center p.sub{margin-left:auto;margin-right:auto}.hero.h-center .ctas{justify-content:center}
.hero.h-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(88svh,820px);align-items:stretch;background:var(--cream);color:var(--ink)}
.hero.h-split::after{display:none}
.hero.h-split .poster{position:relative;grid-column:2;grid-row:1;inset:auto;height:100%}
.hero.h-split .in{grid-column:1;grid-row:1;margin:0;max-width:none;align-self:center;padding:clamp(56px,7vw,110px) clamp(24px,5vw,80px)}
.hero.h-split h1{color:var(--ink);font-size:clamp(46px,5.6vw,84px)}.hero.h-split p.sub{color:var(--text)}.hero.h-split .eyebrow.light{color:var(--gold-2,#a3824a)}
.hero.h-split .btn.white{background:var(--navy);border-color:var(--navy);color:#fff}.hero.h-split .btn.white:hover{background:var(--navy-3)}
.hero.h-split .btn.ghost{color:var(--navy);border-color:color-mix(in srgb,var(--navy) 45%,transparent)}.hero.h-split .btn.ghost:hover{background:color-mix(in srgb,var(--navy) 8%,transparent)}
.hero.h-split.noimg{grid-template-columns:1fr}
@media(max-width:860px){.hero.h-split{grid-template-columns:1fr;min-height:0}.hero.h-split .poster{grid-column:1;grid-row:1;height:44svh}.hero.h-split .in{grid-row:2}}
html[data-theme=dark] .hero.h-split{background:var(--cream)}html[data-theme=dark] .hero.h-split .btn.ghost{color:var(--ink);border-color:var(--line-2)}
/* style: Noir (black and white, the agent's accent color kept) */
html[data-look=noir]{--navy:#111111;--navy-2:#0a0a0a;--navy-3:#262626}
html[data-look=noir]:not([data-theme=dark]){--ink:#0b0b0b;--text:#262626;--cream:#f2f1ee;--cream-2:#e8e6e1;--soft:#f7f7f6;--line:#e3e3e3}
html[data-look=noir] .btn{border-radius:0;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
html[data-look=noir] .hero h1{letter-spacing:-.025em}
html[data-look=noir] .hdr.solid{background:#0a0a0a;color:#fff;border-color:#222}
html[data-look=noir] .hdr.solid .logo-n{display:none}html[data-look=noir] .hdr.solid .logo-w{display:block}
html[data-look=noir] .hdr.solid .nav .cta{border-color:rgba(255,255,255,.5)}
html[data-look=noir] .sec.cream{background:#0e0e0e;color:#d6d6d6}html[data-look=noir] .sec.cream :is(h2,h3,.eyebrow){color:#fff}
html[data-look=noir] .sec.cream .btn.line{color:#fff;border-color:#fff}html[data-look=noir] .sec.cream .btn:not(.line){background:#fff;color:#0a0a0a;border-color:#fff}
html[data-look=noir] .sec.cream .form :is(input,textarea,select){background:#161616;color:#fff;border-color:#333}
html[data-look=noir] .sec.cream .form label{color:#bbb}
/* style: Editorial (white pages, light sans headlines, italic serif accents) */
html[data-look=editorial]:not([data-theme=dark]){--cream:#ffffff;--soft:#fafaf8;--ink:#111}
html[data-look=editorial] :is(h1,h2,h3){font-family:var(--sans);font-weight:300;letter-spacing:-.04em}
html[data-look=editorial] :is(h1,h2) em{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
html[data-look=editorial] .btn{border-radius:0}
html[data-look=editorial] .sec.cream,html[data-look=editorial] .sec.soft{border-top:1px solid var(--line)}
html[data-look=editorial] .hdr.solid{background:#fff}
/* style: Modern (cool tones, rounded cards) */
html[data-look=modern]:not([data-theme=dark]){--cream:#eef3f7;--cream-2:#e3ebf2;--soft:#f5f8fa;--line:#dfe6ec}
html[data-look=modern] :is(h1,h2,h3){font-family:var(--sans);font-weight:500;letter-spacing:-.035em}
html[data-look=modern] :is(h1,h2) em{font-style:normal;color:var(--gold-2,#a3824a)}
html[data-look=modern] .hero h1 em{color:var(--gold-l,#d9c39a)}html[data-look=modern] .hero.h-split h1 em{color:var(--gold-2,#a3824a)}
html[data-look=modern] :is(.lcard,.area,.spec .card,.tcard,.mapcard,.qbox,.xcard,.aq figure,.soon,.mr-card,.broker .pic img,.broker .pic .nopic){border-radius:16px;overflow:hidden}
html[data-look=modern] .form :is(input,textarea,select){border-radius:10px}
html[data-look=modern] .hdr.solid{background:#fff}
html[data-look=noir] .sec.cream .xcard{background:#161616;border-color:#2a2a2a}html[data-look=noir] .sec.cream .xcard p{color:#cfcfcf}html[data-look=noir] .sec.cream :is(.xcard a.fine,.fine a){color:#fff}
html[data-look=noir] .sec.cream .xpts li{color:#fff;border-color:#2a2a2a}html[data-look=noir] .sec.cream .fine{color:#a9a9a9}
