/*
Theme Name: Terranova Real Estate
Theme URI: https://www.terranovareg.com/
Author: AssistantStead
Description: Professional brokerage theme for Terranova Real Estate Group and Terranova Lending Group. Full-bleed neighborhood photography (free-licensed, pulled automatically), license and credential display, team, testimonials, properties, a daily-updated Bitcoin real estate page and quote forms. Preserves the URL structure of the previous Squarespace site. The banner above the header is editable in Appearance > Customize > Top Announcement Bar.
Version: 1.16.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: terranova
*/

:root{
  --white:#fff;
  --paper:#f5f8fc;
  --ice:#eaf3fc;
  --baby:#a9d8ff;
  --baby-2:#7cc0f7;
  --blue:#1a6cc0;
  --brand:#115b9b;
  --navy:#0a2c52;
  --deep:#071f3a;
  --ink:#1a2b40;
  --muted:#5a6b7f;
  --line:#dbe4ee;
  --radius:6px;
  --shadow:0 1px 2px rgba(7,31,58,.06),0 12px 32px -14px rgba(7,31,58,.22);
  --shadow-sm:0 1px 2px rgba(7,31,58,.06),0 4px 14px -8px rgba(7,31,58,.18);
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --maxw:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:16.5px}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none;transition:color .2s}
a:hover{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.14;color:var(--navy);margin:0 0 .55em;letter-spacing:-.01em;font-weight:600}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:500}
h2{font-size:clamp(1.9rem,3.3vw,2.75rem)}
h3{font-size:1.28rem;line-height:1.25}
p{margin:0 0 1.1em}
.container{width:min(var(--maxw),90%);margin-inline:auto}
.section{padding:clamp(60px,8vw,104px) 0;position:relative}
.section--ice{background:var(--paper)}
.section--paper{background:var(--paper)}
.section--dark{background:var(--navy);color:#d5e6f7;position:relative;isolation:isolate;overflow:hidden}
.section--dark h2,.section--dark h3{color:#fff}
.eyebrow{display:block;font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.9rem}
.section--dark .eyebrow{color:var(--baby)}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
.head{max-width:680px;margin-bottom:clamp(2rem,4vw,3rem)}
.head h2{margin-bottom:.4em}
.head .lead{margin:0}
.center{text-align:center}.center .lead{margin-inline:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.6rem;border-radius:4px;font-weight:600;font-size:.94rem;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;font-family:var(--sans);line-height:1.2;letter-spacing:.01em}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--brand);color:#fff}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:#fff}
.btn--white{background:#fff;color:var(--navy)}
.btn--white:hover{background:var(--baby);color:var(--navy)}
.btn--outline-w{border-color:rgba(255,255,255,.7);color:#fff}
.btn--outline-w:hover{background:#fff;color:var(--navy)}
.arrow-link{font-weight:600;color:var(--brand);border-bottom:1.5px solid var(--baby-2);padding-bottom:2px}
.arrow-link::after{content:" →"}
.arrow-link:hover{border-color:var(--navy);color:var(--navy)}

/* Announcement (colors come from the Customizer, inline) */
.announce{background:var(--navy);color:#fff;text-align:center;font-size:.84rem;font-weight:500;padding:.55rem 2.8rem;position:relative;letter-spacing:.01em}
.announce p{margin:0}
.announce a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.announce button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;font-size:1.3rem;cursor:pointer;line-height:1;opacity:.8}
.announce button:hover{opacity:1}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 10px 26px -20px rgba(7,31,58,.6)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.brand img{height:48px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:.06em;color:var(--navy)}
.brand-text span{font-size:.58rem;letter-spacing:.3em;color:var(--muted);margin-top:.4rem;font-weight:600;white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--navy);transition:.3s}
.nav-toggle span{top:21px}.nav-toggle span::before{top:-7px;left:0;right:0}.nav-toggle span::after{top:7px;left:0;right:0}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.1rem}
.main-nav li{position:relative}
.main-nav a{display:block;padding:.6rem .7rem;color:var(--navy);font-weight:500;font-size:.88rem;white-space:nowrap;position:relative}
.main-nav>ul>li>a::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.2rem;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.main-nav>ul>li:hover>a::after,.main-nav>ul>li.current-menu-item>a::after,.main-nav>ul>li.current-menu-ancestor>a::after{transform:scaleX(1)}
.main-nav a:hover{color:var(--blue)}
.main-nav .menu-item-has-children>a::before{content:"";position:absolute;right:.05rem;top:50%;width:4px;height:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.main-nav .menu-item-has-children>a{padding-right:1.05rem}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--blue);padding:.4rem 0;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;display:block}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{font-weight:500;padding:.6rem 1.1rem}
.main-nav .sub-menu a:hover{background:var(--paper)}
.header-cta{white-space:nowrap;padding:.7rem 1.2rem;font-size:.84rem}

/* Photo frames (photo, or a quiet navy skyline until photos are imported) */
.ph{position:relative;overflow:hidden;background:linear-gradient(165deg,#1b5f9e 0%,#0d3a68 55%,#071f3a 100%);isolation:isolate;margin:0}
.ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px);z-index:0}
.ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 200' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='.07' d='M0 200V120h30V90h26v40h20V70h34v60h24V100h30v30h22V60h28v70h26V95h32v35h20V80h30v50h28V110h24v90z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.05' d='M0 200V150h40v-24h30v24h24v-40h36v40h30v-20h28v20h34v-34h30v34h26v-16h30v16h40v-30h26v30h26v-22h30v22h70v30z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.credit{font-size:.72rem;color:var(--muted);line-height:1.4;margin-top:.6rem}
.credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}

/* Hero */
.hero{position:relative;color:#fff;isolation:isolate;overflow:hidden;background:var(--deep)}
.hero .hero-bg{position:absolute;inset:0;z-index:-2}
.hero .hero-bg .ph{position:absolute;inset:0}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,31,58,.9) 0%,rgba(7,31,58,.72) 45%,rgba(7,31,58,.25) 100%),linear-gradient(0deg,rgba(7,31,58,.55),transparent 40%)}
.hero-inner{padding:clamp(80px,11vw,150px) 0 clamp(110px,13vw,170px);max-width:720px}
.hero .eyebrow{color:var(--baby)}
.hero h1{color:#fff;margin-bottom:.4em}
.hero .lead{color:#d5e6f7;font-size:1.18rem;max-width:52ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin-top:2rem;align-items:center}
.hero-credit{position:absolute;right:1.2rem;bottom:.7rem;font-size:.68rem;color:rgba(255,255,255,.7);max-width:60%;text-align:right;margin:0}
.hero-credit a{color:rgba(255,255,255,.8)}

/* Finder bar overlapping hero */
.finder-wrap{position:relative;z-index:5;margin-top:-64px}
.finder{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 1fr auto;gap:0;align-items:stretch;border-top:3px solid var(--blue)}
.finder .f{padding:1.1rem 1.5rem;border-right:1px solid var(--line)}
.finder label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.finder select{width:100%;border:0;background:transparent;font:600 1.05rem var(--sans);color:var(--navy);padding:.2rem 0;cursor:pointer}
.finder .links{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;align-items:center}
.finder .links a{font-weight:600;font-size:.92rem;color:var(--brand)}
.finder .links a:hover{color:var(--blue);text-decoration:underline}
.finder .go{border-radius:0 var(--radius) var(--radius) 0;padding:0 2rem;border:0}

/* Trust bar */
.trust{padding:clamp(2.6rem,5vw,3.6rem) 0 0}
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid var(--line);padding-bottom:clamp(1.6rem,3vw,2.4rem)}
.tr{padding:0 1.2rem;border-left:1px solid var(--line)}
.tr:first-child{border-left:0;padding-left:0}
.tr b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3vw,2.6rem);color:var(--navy);line-height:1.05}
.tr span{display:block;margin-top:.35rem;font-size:.84rem;color:var(--muted);line-height:1.4}

/* Broker feature */
.broker{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.broker .team-photo{aspect-ratio:4/5;box-shadow:var(--shadow)}
.broker h2{margin-bottom:.15em}
.broker .role{color:var(--blue);font-weight:600;font-size:.95rem;margin-bottom:1.2rem}
.broker .creds{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:1.2rem 0 1.6rem}
.broker blockquote{margin:0 0 1.2rem;padding-left:1.3rem;border-left:3px solid var(--baby-2);font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:var(--navy)}

/* Services */
.grid{display:grid;gap:1.4rem}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc{padding:2rem 1.8rem 2.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:#fff;transition:background .25s,box-shadow .25s}
.svc:hover{background:var(--paper);box-shadow:inset 0 3px 0 var(--blue)}
.svc .icon{width:44px;height:44px;margin-bottom:1.1rem}
.svc .icon svg,.card .icon svg{width:100%;height:100%;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc h3{margin-bottom:.4rem}
.svc p{margin:0 0 1rem;color:var(--muted);font-size:.96rem}
.svc .more{font-weight:600;font-size:.9rem;color:var(--brand)}
.svc .more::after{content:" →"}
.svc a.cover{position:absolute;inset:0;z-index:2}

/* Cards (inner pages) */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow-sm);transition:box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.card:hover{box-shadow:var(--shadow);border-color:var(--baby-2)}
.card .icon{width:44px;height:44px;margin-bottom:1rem}
.card p{color:var(--muted);margin-bottom:.8rem;font-size:.97rem}
.card .more{font-weight:600;font-size:.9rem;color:var(--brand)}
.card .more::after{content:" →"}
.card-link{position:absolute;inset:0;z-index:2}

/* Neighborhoods */
.nb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem 1.2rem}
.tile{display:block;color:var(--ink);transition:transform .3s}
.tile .ph{aspect-ratio:4/3;border-radius:var(--radius);transition:box-shadow .3s}
.tile .ph img{transition:transform .8s}
.tile:hover .ph{box-shadow:var(--shadow)}
.tile:hover .ph img{transform:scale(1.05)}
.tile h3{margin:.9rem 0 .15rem;font-size:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.tile h3::after{content:"→";font-family:var(--sans);font-size:1rem;color:var(--blue);transition:transform .25s}
.tile:hover h3::after{transform:translateX(4px)}
.tile span{display:block;font-size:.88rem;color:var(--muted);line-height:1.45}

/* Process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--navy)}
.pr{padding:1.6rem 1.6rem 0 0}
.pr .n{font-family:var(--serif);font-size:2.4rem;color:#2b7fcb;line-height:1;margin-bottom:.8rem;display:block;font-weight:500}
.pr h3{margin-bottom:.35rem}
.pr p{color:var(--muted);font-size:.95rem;margin:0}

/* Team */
.team-card{background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s;position:relative}
.team-card:hover{box-shadow:0 22px 40px -22px rgba(7,31,58,.45)}
.team-photo{aspect-ratio:4/5;background:linear-gradient(165deg,#1b5f9e,#0a2c52);display:grid;place-items:center;position:relative;overflow:hidden;border-radius:var(--radius)}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-photo .initials{font-family:var(--serif);font-size:3.2rem;font-weight:500;color:rgba(255,255,255,.92);letter-spacing:.04em}
.team-body{padding:1rem 0 .6rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.team-body h3{margin:0;font-size:1.22rem}
.team-body h3 a{color:var(--navy)}
.team-role{font-size:.72rem;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.14em}
.team-meta{font-size:.88rem;color:var(--muted)}
.team-meta a{color:var(--muted)}.team-meta a:hover{color:var(--blue)}
.badge{display:inline-block;font-size:.7rem;font-weight:600;background:var(--ice);color:var(--brand);padding:.22rem .6rem;border-radius:3px;margin:.2rem .3rem 0 0;letter-spacing:.02em}

/* Founder feature (team page) */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,3rem)}
.founder .team-photo{aspect-ratio:4/5;box-shadow:var(--shadow)}

/* Bitcoin */
.ticker{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.coin{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;color:var(--ink);border-top:3px solid var(--blue)}
.coin-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.coin-badge{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:1rem}
.coin-badge.btc{background:#f7931a}
.coin-badge.eth{background:#5b6ee1}
.coin-badge.bch{background:#0ac18e}
.coin-name{font-weight:600;color:var(--navy)}.coin-name small{display:block;color:var(--muted);font-weight:500;font-size:.75rem}
.coin-price{font-family:var(--serif);font-size:2.2rem;font-weight:600;color:var(--navy);letter-spacing:-.01em}
.coin-price small{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-weight:500}
.chg{display:inline-block;font-weight:600;font-size:.82rem;padding:.2rem .65rem;border-radius:3px;margin-top:.4rem}
.chg.up{background:#e2f6ea;color:#0c7a44}.chg.down{background:#fbe9e9;color:#b02a2a}
.ticker-note{font-size:.8rem;color:var(--muted);margin-top:1rem}
.section--dark .ticker-note{color:#a9c9e8}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;position:relative;border-top:3px solid var(--baby-2)}
.step::before{counter-increment:s;content:counter(s);display:block;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--baby-2);margin-bottom:.6rem;font-weight:500}
.step b{display:block;color:var(--navy);margin-bottom:.15rem;font-family:var(--serif);font-size:1.12rem;font-weight:600}.step span{font-size:.9rem;color:var(--muted)}
.converter{background:var(--navy);border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.6rem);color:#d5e6f7;box-shadow:var(--shadow)}
.converter h2{color:#fff}
.converter-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-top:1.4rem}
.converter input{width:100%;padding:1rem 1.2rem;border-radius:4px;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:#fff;font:600 1.3rem var(--sans)}
.converter input::placeholder{color:rgba(255,255,255,.5)}
.converter input:focus{border-color:var(--baby)}
.converter .arrow{font-size:1.6rem;color:var(--baby)}
.converter label{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--baby);display:block;margin-bottom:.4rem}

/* Forms */
.form{display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{font-size:.82rem;font-weight:600;color:var(--navy);display:block;margin-bottom:.35rem}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;padding:.85rem 1rem;border-radius:4px;border:1px solid #c5d3e2;background:#fff;font:400 .97rem var(--sans);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,108,192,.15)}
.form textarea{min-height:120px;resize:vertical}
.form .checks{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}
.form .checks label{font-weight:400;display:flex;align-items:center;gap:.45rem;margin:0}
.form .hp{position:absolute;left:-9999px}
.notice{padding:1rem 1.3rem;border-radius:4px;font-weight:600;margin-bottom:1.4rem}
.notice.ok{background:#e2f6ea;color:#0b6a3b}.notice.err{background:#fbe9e9;color:#992424}
.form-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow)}
.contact-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.office h2{font-size:2rem}
.office dl{margin:1.6rem 0 0;display:grid;gap:1.1rem}
.office dt{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.office dd{margin:0;font-size:1.02rem;color:var(--navy)}
.office dd a{color:var(--navy);font-weight:600}
.office dd a:hover{color:var(--blue)}

/* Page banner (inner pages) */
.page-banner{background:var(--navy);padding:clamp(52px,7vw,92px) 0 clamp(56px,7vw,88px);position:relative;overflow:hidden;isolation:isolate;color:#fff}
.page-banner .banner-bg{position:absolute;inset:0;z-index:-2}
.page-banner .banner-bg .ph{position:absolute;inset:0}
.page-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,31,58,.92),rgba(7,31,58,.6))}
.page-banner:not(.has-photo)::before{background:linear-gradient(120deg,#0a2c52 0%,#115b9b 130%)}
.page-banner h1{font-size:clamp(2.1rem,4.4vw,3.6rem);margin:0;color:#fff}
.page-banner p{color:#d5e6f7;max-width:60ch;margin:1rem 0 0;font-size:1.1rem}
.crumbs{font-size:.8rem;font-weight:500;color:#a9c9e8;margin-bottom:1rem;letter-spacing:.02em}
.crumbs a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.banner-credit{position:absolute;right:1.2rem;bottom:.6rem;font-size:.68rem;color:rgba(255,255,255,.7);margin:0}
.banner-credit a{color:rgba(255,255,255,.85)}
.entry{max-width:780px;margin:0 auto;font-size:1.05rem}
.entry h2{margin-top:1.6em;font-size:1.75rem}
.entry ul{padding-left:1.2rem}
.entry li{margin-bottom:.4em}

/* Neighborhood */
.nb-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,3.6rem);align-items:start}
.nb-layout>div>p:first-child{font-family:var(--serif);font-size:1.35rem;line-height:1.5;color:var(--navy)}
.nb-side{position:sticky;top:110px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--radius);padding:1.8rem}
.nb-side h3{margin-bottom:.6rem}
.sub-sect{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.sub-sect h3{color:var(--brand)}

/* Property */
.prop{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.3s}
.prop:hover{box-shadow:var(--shadow)}
.prop-img{aspect-ratio:16/10;background:linear-gradient(165deg,#1b5f9e,#0a2c52);position:relative}
.prop-img img{width:100%;height:100%;object-fit:cover}
.prop-status{position:absolute;top:14px;left:14px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:3px}
.prop-body{padding:1.3rem 1.5rem 1.5rem}
.prop-price{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--navy)}
.prop-facts{display:flex;gap:1rem;color:var(--muted);font-size:.88rem;font-weight:500;margin-top:.5rem}
.empty{border:1px dashed #b8c8da;border-radius:var(--radius);padding:3rem;text-align:center;background:var(--paper)}

/* Testimonial */
.quote{background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:var(--radius);padding:1.8rem 1.8rem 1.6rem;box-shadow:var(--shadow-sm)}
.quote p{font-family:var(--serif);font-size:1.2rem;line-height:1.5;color:var(--navy);margin-bottom:1rem}
.quote cite{font-style:normal;font-weight:600;color:var(--brand);font-size:.9rem}
.quote cite a{color:var(--brand)}
.stars{color:#e9a825;letter-spacing:.18em;font-size:1rem;margin-bottom:.6rem;display:block}
.quote--feature{max-width:860px;margin:0 auto;text-align:center;border:0;box-shadow:none;background:transparent;padding:0}
.quote--feature p{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.35}

/* FAQ */
.faq{max-width:860px;border-top:1px solid var(--navy)}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:1.5rem;font-weight:300;color:var(--blue);transition:transform .3s;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:.7rem 0 0;color:var(--muted);max-width:64ch}

/* CTA */
.cta{border-radius:var(--radius);padding:clamp(2.2rem,5vw,3.8rem);background:linear-gradient(120deg,#0a2c52 0%,#115b9b 130%);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.cta h2{color:#fff;margin-bottom:.4em}
.cta p{color:#d5e6f7;max-width:52ch;margin:0}
.cta .btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}
.cta--center{display:block;text-align:center}
.cta--center p{margin-inline:auto}
.cta--center .btns{justify-content:center;margin-top:1.4rem}

/* Lending strip */
.lending{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.lending-logo{background:#fff;border-radius:var(--radius);padding:2.2rem;border:1px solid var(--line);box-shadow:var(--shadow)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.6rem}
.chips span{border:1px solid #b8c8da;color:var(--navy);font-weight:500;font-size:.8rem;padding:.3rem .8rem;border-radius:3px;background:#fff}

/* Footer */
.site-footer{background:var(--deep);color:#b9d0e6;padding:0;position:relative}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.4rem;padding:64px 0 48px}
.site-footer h4{font-family:var(--sans);color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.1rem;font-weight:700}
.site-footer a{color:#b9d0e6}.site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:.5rem;font-size:.92rem}
.footer-brand img{height:56px;margin-bottom:1rem}
.footer-brand p{font-size:.92rem;max-width:36ch}
.socials{display:flex;gap:.6rem;margin-top:1rem}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;transition:.25s}
.socials a:hover{background:var(--baby);border-color:var(--baby)}
.socials a:hover svg{fill:var(--navy)}
.socials svg{width:16px;height:16px;fill:#fff}
.legal{border-top:1px solid rgba(255,255,255,.12);padding:1.5rem 0;font-size:.78rem;line-height:1.7;color:#8fb0cf;display:flex;flex-wrap:wrap;gap:1rem 2.4rem;justify-content:space-between;align-items:flex-start}
.legal p{margin:0;max-width:78ch}
.eho{display:inline-flex;align-items:center;gap:.5rem;color:#b9d0e6;font-weight:600;font-size:.78rem;border:1px solid rgba(255,255,255,.25);padding:.4rem .75rem;border-radius:3px;white-space:nowrap}
.eho svg{width:18px;height:18px;fill:none;stroke:#b9d0e6;stroke-width:1.6}
.footer-credits{font-size:.7rem;color:#7fa3c6;padding:0 0 1rem;line-height:1.6}
.footer-credits a{color:#7fa3c6;text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.2rem 0;font-size:.8rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;color:#8fb0cf}

/* Reveal animation */
.reveal{opacity:0;transform:perspective(1200px) translate3d(0,42px,-60px) rotateX(9deg);transform-origin:50% 100%;transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.tilt{transform:none!important}}

/* Utilities */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.screen-reader-text:focus{clip:auto;width:auto;height:auto;background:#fff;color:var(--navy);padding:.8rem 1.2rem;z-index:1000;top:8px;left:8px;border-radius:4px}
.alignwide{max-width:1100px}.wp-block-image img{border-radius:var(--radius)}
.nav-links,.pagination{display:flex;gap:.5rem;justify-content:center}
.page-numbers{padding:.5rem .95rem;border-radius:4px;background:var(--ice);font-weight:600}
.page-numbers.current{background:var(--blue);color:#fff}

/* Responsive */
@media (max-width:1520px){.header-cta{display:none}}
@media (max-width:1080px){
  .grid-4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nb-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr);row-gap:1.6rem}
  .tr:nth-child(4){border-left:0;padding-left:0}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr);row-gap:2rem}
}
@media (max-width:900px){
  .nav-toggle{display:block}
  .main-nav{position:fixed;inset:70px 0 0 0;background:#fff;padding:1.2rem 5%;overflow:auto;transform:translateX(100%);transition:transform .35s;z-index:99}
  .main-nav.open{transform:none}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .main-nav a{padding:.9rem .4rem;border-bottom:1px solid var(--line);font-size:1.02rem}
  .main-nav>ul>li>a::after,.main-nav .menu-item-has-children>a::before{display:none}
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 1rem;display:block}
  .broker,.founder,.lending,.nb-layout,.contact-split,.cta{grid-template-columns:1fr}
  .broker .team-photo{max-width:380px}
  .nb-side{position:static}
  .finder{grid-template-columns:1fr}
  .finder .f{border-right:0;border-bottom:1px solid var(--line)}
  .finder .go{border-radius:0 0 var(--radius) var(--radius);padding:1rem}
  .grid-3,.ticker{grid-template-columns:1fr}
  .grid-2,.form .row,.converter-row{grid-template-columns:1fr}
  .converter .arrow{transform:rotate(90deg);text-align:center}
  .cta .btns{justify-content:flex-start}
}
@media (max-width:600px){
  body{font-size:16px}
  .grid-4,.steps,.footer-grid,.svc-grid,.process{grid-template-columns:1fr}
  .nb-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .tr:nth-child(odd){border-left:0;padding-left:0}
  .tr:nth-child(3){border-left:0;padding-left:0}
  .brand img{height:40px}.brand-text strong{font-size:1.2rem}.brand-text span{letter-spacing:.2em;font-size:.52rem}
  .hero-inner{padding-bottom:120px}
}

/* Team page */

/* Smooth scrolling (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}

/* 3D depth */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--baby-2),var(--blue));z-index:200;pointer-events:none}
.tilt{will-change:transform}
.tilt.is-tilting{transition:transform .12s ease-out!important}
.tilt.tilt-reset{transition:transform .6s cubic-bezier(.2,.7,.2,1)!important}
.tile .ph{transform:translateZ(0);box-shadow:var(--shadow-sm)}
.tile.is-tilting .ph{box-shadow:0 30px 50px -22px rgba(7,31,58,.55)}
.tilt .glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.28),transparent 55%);opacity:0;transition:opacity .3s;z-index:3}
.tilt.is-tilting .glare{opacity:1}
.hero .hero-bg{pointer-events:none}

.finder{transform:translateZ(0)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(0deg,rgba(7,31,58,.45),transparent);z-index:-1;pointer-events:none}
.tilt.is-tilting{transition-delay:0s!important}

/* ===== Team page ===== */
.tm-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#071f3a 0%,#0a2c52 60%,#0d3a6b 100%);color:#fff;padding:clamp(3rem,6vw,5rem) 0 clamp(3.2rem,6vw,5rem)}
.tm-hero::after{content:"";position:absolute;right:-8%;top:-30%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(47,143,232,.35),transparent)}
.tm-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.tm-hero h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:0 0 .9rem;color:#fff}
.tm-hero h1 em{font-style:italic;color:var(--baby)}
.tm-hero p{color:#c9dcf0;font-size:1.02rem;max-width:44ch;margin:0}
.tm-fan{position:relative;height:clamp(290px,32vw,400px);perspective:1100px;transform-style:preserve-3d}
.tm-fan-card{position:absolute;margin:0;width:44%;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#2a5c91;box-shadow:0 28px 50px -18px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.12);transition:transform .25s ease-out}
.tm-fan-card img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
.tm-fan-0{left:27%;top:6%;z-index:3;transform:translateZ(60px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg))}
.tm-fan-1{left:0;top:20%;z-index:2;transform:rotateY(calc(18deg + var(--ry,0deg))) rotate(-5deg)}
.tm-fan-2{right:0;top:18%;z-index:1;transform:rotateY(calc(-18deg + var(--ry,0deg))) rotate(5deg)}
.tm-main{padding:clamp(2.2rem,5vw,3.6rem) 0 clamp(2.6rem,6vw,4.4rem);background:var(--paper)}
.tm-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.tm-filters{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.25rem}
.tm-filters button{font:inherit;font-size:.84rem;font-weight:600;border:0;background:transparent;color:var(--brand);padding:.48rem 1.05rem;border-radius:999px;cursor:pointer;transition:.2s}
.tm-filters button.is-on{background:var(--navy);color:#fff}
.tm-search input{font:inherit;font-size:.88rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.58rem 1.1rem;min-width:230px}
.tm-search input:focus{border-color:var(--blue)}
.tm-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,1.8vw,1.4rem)}
.tm-card{display:flex;position:relative;border-radius:14px;background:#fff;box-shadow:0 14px 34px -22px rgba(10,44,82,.5),0 0 0 1px rgba(17,91,155,.08);transition:box-shadow .3s}
.tm-card:hover{box-shadow:0 26px 50px -22px rgba(10,44,82,.6),0 0 0 1px rgba(17,91,155,.2)}
.tm-card.is-hidden{display:none}
.tm-open{all:unset;box-sizing:border-box;display:block;width:100%;flex:1;cursor:pointer;border-radius:14px;overflow:hidden;position:relative;background:#fff}
.tm-open:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.tm-photo{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#dbe6f1}
.tm-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tm-photo .initials{display:grid;place-items:center;height:100%;font-family:var(--serif);font-size:3rem;color:var(--brand)}
.tm-card:hover .tm-photo img{transform:scale(1.05)}
.tm-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(7,31,58,.86) 100%)}
.tm-info{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:1rem 1.05rem 1.05rem;color:#fff;display:flex;flex-direction:column;gap:.1rem}
.tm-role{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--baby)}
.tm-name{font-size:1.04rem;line-height:1.2;font-weight:700;color:#fff}
.tm-sub{display:none}
.tm-more-cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;color:#fff;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s,opacity .3s,margin .3s}
.tm-card:hover .tm-more-cta,.tm-open:focus-visible .tm-more-cta{max-height:24px;opacity:1;margin-top:.35rem}
.tm-quick{position:absolute;z-index:5;top:.7rem;right:.7rem;display:flex;flex-direction:column;gap:.4rem;opacity:0;transform:translateX(8px);transition:.25s}
.tm-card:hover .tm-quick,.tm-card:focus-within .tm-quick{opacity:1;transform:none}
.tm-quick a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--navy);background:#fff;box-shadow:0 6px 16px -6px rgba(0,0,0,.45);transition:.2s}
.tm-quick a:hover{background:var(--blue);color:#fff}
.tm-card.is-lead{grid-column:span 2}
.tm-card.is-lead .tm-open{min-height:300px}
.tm-card.is-lead .tm-photo{position:absolute;inset:0;aspect-ratio:auto}
.tm-card.is-lead .tm-photo img{object-position:50% 20%}
.tm-card.is-lead .tm-name{font-size:1.45rem}
.tm-card.is-lead .tm-sub{display:block;font-size:.8rem;color:#c9dcf0}
.tm-empty{text-align:center;color:var(--muted);padding:2rem 0}
/* profile window (plain overlay, no <dialog>) */
.tm-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,31,58,.72)}
.tm-modal[hidden]{display:none}
.tm-modal-box{position:relative;display:flex;width:min(900px,100%);height:min(600px,calc(100vh - 40px));background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 40px 90px -20px rgba(0,0,0,.6)}
.tm-modal-photo{position:relative;flex:0 0 300px;background:#dbe6f1}
.tm-modal-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block}
.tm-modal-photo .initials{display:grid;place-items:center;height:100%;font-size:3rem;color:var(--brand)}
.tm-modal-photo::after{display:none}
.tm-modal-body{flex:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.3rem,3vw,2rem) clamp(1.2rem,3vw,2rem) 1.2rem}
.tm-modal-body .tm-role{display:block;color:var(--blue)}
.tm-modal-body h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin:.2rem 2.2rem .2rem 0}
.tm-modal-body .tm-sub{display:block;color:var(--muted);font-size:.92rem;margin:0 0 1rem}
.tm-full-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}
.tm-full-meta .btn{padding:.55rem 1rem;font-size:.84rem}
.tm-lic{margin-bottom:.4rem}
.tm-extra{font-size:.8rem;color:var(--muted);margin:.3rem 0 0}
.tm-bio{margin-top:1rem;font-size:.94rem;line-height:1.7;color:#33465c}
.tm-bio p{margin:0 0 .9em}
.tm-x{position:absolute;z-index:6;top:.7rem;right:.8rem;width:36px;height:36px;border-radius:50%;border:0;background:#eef2f7;font-size:1.4rem;line-height:1;color:var(--navy);cursor:pointer}
.tm-x:hover{background:var(--navy);color:#fff}
.tm-modal-nav{display:flex;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line)}
.tm-modal-nav button{font:inherit;font-size:.84rem;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer;padding:.3rem 0}
.tm-modal-nav button:hover{color:var(--blue)}
body.tm-lock{overflow:hidden}
@media (max-width:1100px){.tm-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.tm-hero-in{grid-template-columns:1fr}.tm-fan{height:290px;max-width:420px;margin:0 auto;width:100%}.tm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-card.is-lead{grid-column:span 2}.tm-modal-box{flex-direction:column;height:calc(100vh - 40px)}.tm-modal-photo{flex:0 0 220px}}
@media (max-width:480px){.tm-cards{gap:.7rem}.tm-name{font-size:.9rem}.tm-search,.tm-search input{width:100%}}

/* ===== Modern home (1.7) ===== */
.hero--split{min-height:min(88vh,820px);display:flex;align-items:center}
.hero--split .hero-bg{inset:-8% 0}
.hero--split::before{background:linear-gradient(95deg,rgba(7,31,58,.94) 0%,rgba(7,31,58,.78) 48%,rgba(7,31,58,.4) 100%),linear-gradient(0deg,rgba(7,31,58,.6),transparent 45%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero--split .hero-inner{padding:clamp(70px,9vw,120px) 0 clamp(120px,12vw,160px)}
.hero--split h1{font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:1.04}
.hero--split h1 em{font-style:italic;color:var(--baby)}
.hero-stack{position:relative;height:clamp(340px,40vw,520px);perspective:1200px;transform-style:preserve-3d;margin-bottom:60px}
.stack-card{position:absolute;width:56%;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#1b4f86;box-shadow:0 40px 70px -24px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.16);transition:transform .3s ease-out;will-change:transform}
.stack-card .ph{position:absolute;inset:0;border-radius:0}
.ph img{color:transparent}
.stack-card span{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .9rem;color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.04em;background:linear-gradient(0deg,rgba(7,31,58,.8),transparent);z-index:2}
.stack-card:nth-child(1){left:2%;top:4%;z-index:1;transform:rotateY(calc(24deg + var(--ry,0deg))) rotateX(var(--rx,0deg)) rotate(-4deg)}
.stack-card:nth-child(2){right:0;top:0;z-index:3;transform:translateZ(80px) rotateY(calc(-10deg + var(--ry,0deg))) rotateX(var(--rx,0deg)) rotate(3deg);width:52%}
.stack-card:nth-child(3){left:20%;bottom:-2%;z-index:2;transform:translateZ(30px) rotateY(calc(12deg + var(--ry,0deg))) rotateX(var(--rx,0deg)) rotate(-1.5deg);width:48%;aspect-ratio:16/11}
.finder{border-radius:16px;border-top:0;box-shadow:0 30px 60px -28px rgba(7,31,58,.55);overflow:hidden}
.finder .go{border-radius:0}

.trust{background:var(--deep);padding:clamp(3rem,5vw,4rem) 0;margin-top:clamp(2.2rem,4vw,3rem)}
.trust-grid{border-bottom:0;padding-bottom:0}
.tr{border-left:1px solid rgba(169,216,255,.2)}
.tr b{color:#fff}
.tr span{color:#9fbedd}
.mq{overflow:hidden;white-space:nowrap;background:#fff;border-bottom:1px solid var(--line)}
.mq-track{display:inline-flex;animation:mq 46s linear infinite}
.mq span{font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.8rem);font-weight:600;color:transparent;-webkit-text-stroke:1px #9db8d3;padding:1rem 2.2rem;letter-spacing:.01em}
.mq span::after{content:"/";margin-left:4.4rem;color:var(--baby-2);-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-50%)}}

/* services as a bento */
.svc-grid{grid-template-columns:repeat(4,1fr);gap:1.1rem;border:0}
.svc{border:0;border-radius:20px;padding:2rem 1.8rem 2.2rem;background:#fff;box-shadow:0 1px 0 #fff inset,0 18px 40px -26px rgba(10,44,82,.5),0 0 0 1px var(--line);min-height:250px;display:flex;flex-direction:column;overflow:hidden}
.svc:hover{background:#fff;box-shadow:0 30px 56px -28px rgba(10,44,82,.6),0 0 0 1px var(--baby-2)}
.svc .icon{width:50px;height:50px;padding:11px;border-radius:14px;background:var(--ice);margin-bottom:auto;transition:transform .4s,background .3s}
.svc:hover .icon{transform:rotate(-8deg) scale(1.08);background:var(--baby)}
.svc h3{margin-top:2.2rem;font-size:1.35rem}
.svc:nth-child(1){grid-column:span 2;background:linear-gradient(135deg,#0a2c52,#115b9b);color:#d5e6f7}
.svc:nth-child(5){grid-column:span 2;background:linear-gradient(135deg,#0d3a6b,#071f3a);color:#d5e6f7}
.svc:nth-child(4){background:var(--ice)}
.svc:nth-child(1) h3,.svc:nth-child(5) h3{color:#fff;font-size:1.7rem}
.svc:nth-child(1) p,.svc:nth-child(5) p{color:#c4dbf1}
.svc:nth-child(1) .more,.svc:nth-child(5) .more{color:#fff}
.svc:nth-child(1) .icon,.svc:nth-child(5) .icon{background:rgba(255,255,255,.12)}
.svc:nth-child(1) .icon svg,.svc:nth-child(5) .icon svg{stroke:#fff}
.svc .more{margin-top:.2rem}

/* founder photo frame */
.broker .team-photo{border-radius:22px;position:relative;overflow:visible;background:none;box-shadow:none}
.broker .team-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:22px;background:linear-gradient(160deg,var(--baby),var(--blue));z-index:0}
.broker .team-photo img{position:relative;z-index:1;border-radius:22px;box-shadow:0 30px 60px -30px rgba(10,44,82,.7)}

/* neighborhoods: pinned horizontal scroll */
.nb-pin{position:relative;background:var(--paper)}
.nb-sticky{padding:clamp(60px,7vw,90px) 0 clamp(36px,5vw,56px)}
.nb-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}
.nb-hint{margin:0;font-size:.95rem;color:var(--muted)}
.nb-viewport{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(20px,calc((100vw - var(--maxw))/2));scrollbar-width:thin}
.nb-track{display:flex;gap:1.2rem;width:max-content;padding:6px 0 24px}
.nb-card{position:relative;flex:0 0 clamp(250px,26vw,340px);aspect-ratio:3/4;border-radius:22px;overflow:hidden;scroll-snap-align:start;background:#17497c;color:#fff;box-shadow:0 26px 50px -28px rgba(10,44,82,.7);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.nb-card .ph{position:absolute;inset:0;border-radius:0}
.nb-card .ph img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.nb-card:hover{box-shadow:0 40px 70px -30px rgba(10,44,82,.8),0 0 0 2px rgba(124,192,247,.5)}
.nb-card:hover .ph img{transform:scale(1.08)}
.nb-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,31,58,.88) 0%,rgba(7,31,58,.1) 55%);z-index:1}
.nb-num{position:absolute;z-index:2;top:1rem;left:1.2rem;font-family:var(--serif);font-size:.95rem;letter-spacing:.14em;color:rgba(255,255,255,.85)}
.nb-label{position:absolute;z-index:2;left:1.3rem;right:1.3rem;bottom:1.2rem;display:flex;flex-direction:column;gap:.2rem}
.nb-label strong{font-family:var(--serif);font-size:1.6rem;line-height:1.1;font-weight:600}
.nb-label em{font-style:normal;font-size:.84rem;color:#cfe3f6;line-height:1.35}
.nb-bar{display:none;height:3px;background:var(--line);margin:0 auto;max-width:1200px;border-radius:3px;overflow:hidden}
.nb-bar i{display:block;height:100%;width:0;background:var(--blue)}
.nb-credit{margin-top:1rem!important;font-size:.7rem}
.nb-pin.has-pin{height:var(--pin-h,300vh)}
.nb-pin.has-pin .nb-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:84px 0 28px;overflow:hidden}
.nb-pin.has-pin .nb-viewport{overflow:hidden}
.nb-pin.has-pin .nb-track{will-change:transform;perspective:1200px}
.nb-pin.has-pin .nb-bar{display:block;width:min(1200px,calc(100% - 40px))}
.nb-pin.has-pin .nb-hint{display:none}

/* bitcoin */
.btc-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.4rem;flex-wrap:wrap}
.coin3d{position:relative;width:150px;height:150px;transform-style:preserve-3d;animation:coinSpin 9s linear infinite;flex:none;margin-right:clamp(0px,6vw,80px)}
.coin3d i,.coin3d b{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd27a,#f7931a 60%,#b8650a)}
.coin3d i:nth-child(1){transform:translateZ(-8px)}.coin3d i:nth-child(2){transform:translateZ(-4px)}.coin3d i:nth-child(3){transform:translateZ(0)}.coin3d i:nth-child(4){transform:translateZ(4px)}.coin3d i:nth-child(5){transform:translateZ(7px)}
.coin3d b{transform:translateZ(9px);display:grid;place-items:center;font:700 5.2rem/1 var(--sans);color:#fff;text-shadow:0 2px 0 rgba(150,80,0,.6);box-shadow:inset 0 0 0 7px rgba(255,255,255,.16)}
@keyframes coinSpin{to{transform:rotateY(360deg)}}
.section--dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(800px 400px at 85% 0,rgba(47,143,232,.28),transparent 70%)}

/* process */
.process{border-top:0;gap:1.1rem}
.pr{background:#fff;border-radius:18px;padding:1.6rem 1.5rem;box-shadow:0 18px 40px -28px rgba(10,44,82,.5),0 0 0 1px var(--line);border-left:0!important;transition:transform .3s,box-shadow .3s}
.pr:hover{box-shadow:0 24px 44px -24px rgba(7,31,58,.45)}
.pr .n{font-family:var(--serif);font-size:2.4rem;color:#2b7fcb;font-weight:600}

.tm-cards--home{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.hero-grid{grid-template-columns:1fr}.hero-stack{display:none}.svc-grid{grid-template-columns:repeat(2,1fr)}.svc:nth-child(1),.svc:nth-child(5){grid-column:span 2}.tm-cards--home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}.svc:nth-child(1),.svc:nth-child(5){grid-column:auto}.svc{min-height:0}.coin3d{width:100px;height:100px}.coin3d b{font-size:3.4rem}}
@media (prefers-reduced-motion:reduce){.mq-track,.coin3d{animation:none}}

/* ===== 1.8: local focus, IDX, polish ===== */
.hero--split h1{font-size:clamp(2.3rem,4.9vw,4rem);line-height:1.06;max-width:15em;text-wrap:balance}
.hero--split h1 em{white-space:normal}
.hero-areas{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:2.1rem 0 0;padding:0}
.hero-areas a{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;background:rgba(255,255,255,.07);backdrop-filter:blur(6px);transition:background .25s,border-color .25s,transform .25s}
.hero-areas a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--baby)}
.hero-areas a:hover,.hero-areas a:focus-visible{background:rgba(255,255,255,.18);border-color:var(--baby);box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.finder .links{flex-wrap:wrap}

/* home turf */
.turf{background:var(--paper)}
.turf .head{max-width:720px}
.turf .head a{font-weight:600}
.turf-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:1.2rem;margin-top:2.2rem}
.turf-card{position:relative;display:block;border-radius:22px;overflow:hidden;min-height:250px;background:linear-gradient(160deg,#1b4f86,#0a2c52);color:#fff;box-shadow:0 26px 50px -30px rgba(10,44,82,.7);isolation:isolate;transition:box-shadow .45s}
.turf-card:first-child{grid-row:span 2;min-height:520px}
.turf-card .ph{position:absolute;inset:0;border-radius:0;z-index:-2}
.turf-card .ph img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.turf-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,31,58,.88) 0%,rgba(7,31,58,.35) 52%,rgba(7,31,58,.05) 100%)}
.turf-card:hover{box-shadow:0 34px 60px -28px rgba(10,44,82,.8),0 0 0 2px rgba(124,192,247,.55)}
.turf-card:hover .ph img{transform:scale(1.06)}
.turf-txt{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1.6rem 1.5rem;display:flex;flex-direction:column;gap:.35rem}
.turf-txt strong{font-family:var(--serif,'Source Serif 4',Georgia,serif);font-size:clamp(1.5rem,2.4vw,2.2rem);font-weight:500;line-height:1.1}
.turf-card:first-child .turf-txt strong{font-size:clamp(1.9rem,3.2vw,2.9rem)}
.turf-txt em{font-style:normal;color:#d5e6f7;max-width:34ch;font-size:.97rem;line-height:1.5}
.turf-txt b{margin-top:.5rem;font-size:.9rem;color:var(--baby);font-weight:600}
.turf-txt b::after{content:"\2192";display:inline-block;margin-left:.4rem;transition:transform .3s}
.turf-card:hover .turf-txt b::after{transform:translateX(5px)}
@media (max-width:820px){.turf-grid{grid-template-columns:1fr;grid-template-rows:none}.turf-card:first-child{grid-row:auto;min-height:340px}.turf-card{min-height:260px}}

/* IDX / MLS embeds */
.idx-wrap{width:100%;margin:1.5rem 0;overflow:hidden}
.idx-wrap iframe,.idx-wrap embed,.idx-wrap object{width:100%;max-width:100%;border:0;min-height:640px}
.idx-wrap img{max-width:100%;height:auto}
.idx-wrap table{width:100%}
.idx-wrap [id^="IDX"],.idx-wrap [class*="IDX-"]{max-width:100%}
.idx-wrap--frame iframe{display:block;border-radius:16px;box-shadow:0 0 0 1px var(--line)}
.idx-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem}
.idx-chips a{padding:.45rem .95rem;border-radius:999px;background:var(--ice);color:var(--brand);font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s}
.idx-chips a:hover,.idx-chips a:focus-visible{background:var(--brand);color:#fff}
.idx-empty{max-width:720px;padding:2rem;border-radius:20px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.idx-empty h2{margin-top:0}
.idx-admin-note{margin-top:1.4rem;padding:.8rem 1rem;border-radius:12px;background:#fff7e0;color:#5c4400;font-size:.9rem}
.nb-homes .idx-wrap{margin-bottom:0}

/* keyboard focus */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.turf-card,.turf-card .ph img,.hero-areas a{transition:none}}

/* ===== 1.8: prose pages, FAQ, mobile menu ===== */
.prose{max-width:760px}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2.2em 0 .5em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:1.7em 0 .4em}
.prose p,.prose li{font-size:1.04rem;line-height:1.75}
.prose ul,.prose ol{padding-left:1.25rem;margin:.6em 0 1.2em}
.prose li{margin-bottom:.55em}
.prose .lead{font-size:1.2rem;line-height:1.65;color:var(--ink)}
.prose a:not(.btn){text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(26,108,192,.4)}
.copy-section .prose{margin:0 auto}
.faq-block{margin-top:2.4rem}
.faq-block h2{margin-bottom:1rem}
.faq-block details{border-bottom:1px solid var(--line);padding:.2rem 0}
.faq-block summary{cursor:pointer;font-weight:600;color:var(--navy);padding:.95rem 2rem .95rem 0;position:relative;list-style:none}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--blue);transition:transform .25s}
.faq-block details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-block details p{margin:0 0 1rem;color:var(--muted)}
.side-links{list-style:none;margin:0;padding:0;font-size:.93rem}
.side-links li{margin-bottom:.35rem}
.nav-cta,.nav-scrim{display:none}

@media (max-width:1450px){
  .header-cta{display:none}
  .site-header .header-inner{padding:.55rem 0}
  .brand img{height:42px}
  .nav-toggle{display:block;margin-right:-8px;border-radius:12px}
  .nav-toggle:active{background:var(--ice)}
  .nav-toggle span{transition:background .2s}
  .nav-toggle span::before,.nav-toggle span::after{left:0;right:0;transition:transform .3s,top .3s}
  .nav-toggle.is-open span{background:transparent}
  .nav-toggle.is-open span::before{top:0;transform:rotate(45deg)}
  .nav-toggle.is-open span::after{top:0;transform:rotate(-45deg)}
  .main-nav{--hdr:64px;position:fixed;top:var(--hdr);right:0;bottom:0;left:auto;width:min(420px,100%);inset-inline-start:auto;background:#fff;padding:.4rem 1.4rem 2rem;overflow-y:auto;overscroll-behavior:contain;transform:translateX(102%);transition:transform .38s cubic-bezier(.2,.7,.2,1);z-index:99;box-shadow:-30px 0 60px -30px rgba(7,31,58,.5);visibility:hidden;display:flex;flex-direction:column}
  .main-nav.open{transform:none;visibility:visible}
  .main-nav>ul{display:block}
  .main-nav li{position:static;border-bottom:1px solid var(--line)}
  .main-nav li.menu-item-has-children{display:grid;grid-template-columns:1fr 52px;align-items:stretch}
  .main-nav li.menu-item-has-children>.sub-menu{grid-column:1/-1}
  .main-nav a{border-bottom:0;padding:1rem .2rem;font-size:1.08rem;font-weight:600;color:var(--navy);white-space:normal}
  .main-nav .sub-menu a{font-weight:500;font-size:1rem;color:var(--ink);padding:.7rem .2rem .7rem 1rem;border-top:1px solid var(--line);border-left:2px solid var(--baby);margin-left:.2rem}
  .main-nav .sub-menu a:hover{background:transparent;color:var(--blue)}
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;display:block;max-height:0;overflow:hidden;transition:max-height .35s ease;background:transparent;min-width:0}
  .main-nav li.open-sub>.sub-menu{max-height:900px;padding-bottom:.6rem}
  .sub-toggle{display:flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--navy);border-radius:10px}
  .sub-toggle i{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s}
  .open-sub>.sub-toggle i{transform:rotate(-135deg) translate(-2px,-2px)}
  .main-nav .nav-cta{display:grid;gap:.7rem;margin-top:1.6rem}
  .nav-cta .btn{width:100%;justify-content:center;text-align:center}
  .nav-cta-link{text-align:center;font-weight:600;color:var(--brand)!important;font-size:.95rem!important;border:0!important}
  .nav-scrim{display:block;position:fixed;inset:0;z-index:98;background:rgba(7,31,58,.5);backdrop-filter:blur(2px)}
  .nav-scrim[hidden]{display:none}
  .nav-open body,html.nav-open{overflow:hidden}
  .main-nav>ul>li>a::after,.main-nav .menu-item-has-children>a::before{display:none}
}
@media (max-width:900px){
  .prose{max-width:none}
  .prose p,.prose li{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.main-nav,.main-nav .sub-menu{transition:none}}
@media (max-width:1450px){.main-nav .nav-cta .btn--primary{color:#fff;padding:.95rem 1.2rem}.main-nav .nav-cta .btn--ghost{color:var(--navy);padding:.95rem 1.2rem;border:1.5px solid var(--navy)}}
.sub-toggle{display:none}
.prose p>.btn{margin:.3rem .4rem .3rem 0}
@media (max-width:1450px){.sub-toggle{display:flex}}
@media (max-width:900px){.prose .lead{font-size:1.1rem;line-height:1.6}}

/* ===== 1.10: native smooth fallback, MLS disclaimer, speed ===== */
html.native-smooth{scroll-behavior:smooth;scroll-padding-top:84px}
.mls-disclaimer{font-size:.78rem;line-height:1.55;color:var(--muted,#5b6b7e);max-width:none;margin:.2rem 0 1.5rem}
.mls-disclaimer a{color:inherit}
img{height:auto}

/* ===== 1.10 desktop header: breathing room around the menu and "Search homes" ===== */
.header-actions{display:flex;align-items:center;gap:.6rem;flex:none;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--line)}
.header-search{white-space:nowrap;padding:.62rem 1.15rem;font-size:.84rem;border-radius:999px}
.header-actions .header-cta{padding:.6rem 1.05rem}
.header-inner{gap:1rem}
.brand{flex:none}
@media (min-width:1451px){
.main-nav{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-end}
.main-nav>ul{gap:.1rem}
.main-nav>ul>li>a{padding:.6rem .6rem;font-size:.86rem}
}
@media (min-width:1451px) and (max-width:1560px){ .brand-text span{display:none} .main-nav>ul>li>a{padding:.55rem .5rem;font-size:.84rem} }
@media (min-width:1451px){ .site-header .container{width:94%;max-width:max(1440px,var(--maxw))} }
@media (max-width:1450px){ .header-actions{display:none} }

.header-actions .header-cta{display:none}

/* ===== 1.10 mobile-first polish ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,select,input,textarea,label{-webkit-tap-highlight-color:rgba(17,91,155,.15)}
a,button,summary,.btn{touch-action:manipulation}
.footer-credits details summary{cursor:pointer;font-size:.8rem;opacity:.75;padding:.4rem 0;list-style:none}
.footer-credits details summary::-webkit-details-marker{display:none}
.footer-credits details summary::after{content:" +"}
.footer-credits details[open] summary::after{content:" \2212"}
.m-bar{display:none}
@media (max-width:900px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .m-bar{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(7,31,58,.35);transition:transform .3s}
  .m-bar a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;border-radius:14px;font-weight:700;font-size:.9rem;color:var(--navy);background:var(--ice,#eaf3fc);text-decoration:none}
  .m-bar a.m-bar-main{background:var(--blue,#115b9b);color:#fff}
  .m-bar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html.nav-open .m-bar{transform:translateY(110%)}
  .site-footer{padding-bottom:1rem}

  /* tap targets and no iOS zoom on focus */
  input,select,textarea{font-size:16px!important;min-height:48px;border-radius:12px}
  textarea{min-height:120px}
  .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding-top:.8rem;padding-bottom:.8rem}
  .site-footer li{margin:0}
  .site-footer li a,.footer-bottom a,.crumbs a,.breadcrumb a{display:inline-block;padding:.55rem 0;min-height:40px}
  .socials a{width:46px;height:46px}
  .finder .links a,.finder a:not(.go){display:inline-flex;align-items:center;min-height:40px;padding:0 .2rem}
  .arrow-link,.more{display:inline-flex;align-items:center;min-height:44px}
  .prose a{padding:.1rem 0}

  /* hero */
  .hero{padding-top:2.2rem}
  .hero h1{font-size:clamp(1.95rem,8.6vw,2.6rem);line-height:1.08}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:.6rem}
  .hero-actions .btn{width:100%}
  .hero-areas{gap:.45rem}
  .hero-areas a{min-height:40px;display:inline-flex;align-items:center}

  /* sections breathe less, read better */
  .section{padding:3rem 0}
  h2{font-size:clamp(1.55rem,6.4vw,2rem);line-height:1.15}
  .lead{font-size:1.05rem}
  .container{width:min(100% - 2.2rem,1200px)}
  .page-banner{padding:2.6rem 0 2.2rem}
  .page-banner h1{font-size:clamp(1.8rem,7.6vw,2.4rem)}

  /* cards and grids stack, big rounded touch cards */
  .grid-2,.grid-3,.grid-4{gap:1rem}
  .svc{min-height:0}
  .turf-card{min-height:240px}
  .tm-cards{gap:.7rem}
  details>summary{min-height:48px;display:flex;align-items:center;padding-right:2rem}

  /* swipeable rows */
  .nb-scroller,.nb-track,.pin-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .nb-scroller>*,.nb-track>*,.pin-track>*{scroll-snap-align:center}

  /* MLS / IDX */
  .idx-wrap--frame iframe{min-height:900px;border-radius:12px}
  .idx-chips{flex-wrap:nowrap;overflow-x:auto;padding:0 0 .4rem;scrollbar-width:none;max-width:100%}
  .idx-chips::-webkit-scrollbar{display:none}
  .idx-chips a{flex:none;min-height:40px;display:inline-flex;align-items:center}
  .mls-disclaimer{font-size:.72rem}

  /* lighter effects on phones */
  .announce{font-size:.82rem;padding:.5rem 2.4rem .5rem .9rem}
  *{backdrop-filter:none}
  .m-bar,.nav-scrim{backdrop-filter:blur(8px)}
  .tilt{transform:none!important}
  .scroll-progress{height:3px}
}
@media (max-width:380px){
  .m-bar a{font-size:.82rem;gap:.25rem}
  .m-bar svg{width:17px;height:17px}
  .container{width:min(100% - 1.8rem,1200px)}
}
@supports (height:100dvh){ @media (max-width:1450px){ .main-nav{height:calc(100dvh - var(--hdr,64px))} } }
@media (max-width:1450px){
  .site-header{z-index:120}
  .nav-scrim{top:var(--hdr,64px)}
  .main-nav{z-index:119}
}

/* ===== 1.12 interactivity (no transforms on hit targets, so nothing shakes) ===== */
.turf-card .turf-txt{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.turf-card:hover .turf-txt{transform:translateY(-6px)}
.turf-card,.tile,.svc,.team-card,.nb-card{--mx:50%;--my:50%}
.spot{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;z-index:3;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.22),transparent 55%)}
.is-spot .spot{opacity:1}
.svc .spot{background:radial-gradient(360px circle at var(--mx) var(--my),rgba(124,192,247,.28),transparent 60%)}
.btn{position:relative;overflow:hidden}
.btn .rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:rip .6s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(3.2);opacity:0}}
.to-top{position:fixed;right:1.1rem;bottom:1.1rem;width:52px;height:52px;border-radius:50%;border:0;background:#fff;color:var(--navy);box-shadow:0 10px 30px -10px rgba(7,31,58,.5);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:95}
.to-top.show{opacity:1;visibility:visible}
.to-top svg{grid-area:1/1;width:52px;height:52px}
.to-top .ring-bg{fill:none;stroke:var(--line);stroke-width:3}
.to-top .ring{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
.to-top .arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
@media (max-width:900px){.to-top{bottom:calc(76px + env(safe-area-inset-bottom));right:.8rem;width:46px;height:46px}.to-top svg{width:46px;height:46px}}

/* neighborhood matcher */
.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.match-opts{display:grid;gap:.7rem;margin-top:1.6rem}
.match-opt{text-align:left;display:grid;gap:.15rem;padding:1rem 1.2rem;border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.match-opt b{font-size:1.02rem;color:var(--navy)}
.match-opt span{font-size:.9rem;color:var(--muted)}
.match-opt:hover{border-color:var(--baby-2)}
.match-opt[aria-checked="true"]{border-color:var(--blue);background:var(--ice);box-shadow:0 12px 28px -16px rgba(26,108,192,.6)}
.match-result{position:relative;min-height:380px}
.match-card{border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-rows:200px auto;animation:matchin .5s cubic-bezier(.2,.7,.2,1)}
.match-card[hidden]{display:none}
.match-card .ph{border-radius:0}
.match-body{padding:1.4rem 1.6rem 1.7rem;display:grid;gap:.5rem;justify-items:start}
.match-body h3{margin:0;font-size:1.7rem}
.match-body p{margin:0;color:var(--muted)}
.match-empty{height:100%;min-height:380px;border-radius:24px;border:2px dashed var(--line);display:grid;place-content:center;text-align:center;gap:.3rem;color:var(--muted)}
.match-empty strong{color:var(--navy);font-size:1.15rem}
.match-empty[hidden]{display:none}
@keyframes matchin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* payment estimator */
.calc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.calc-form{display:grid;gap:1.3rem;margin-top:1.6rem}
.calc-form label{display:grid;grid-template-columns:1fr auto;gap:.5rem .8rem;font-weight:600;color:var(--navy);font-size:.95rem}
.calc-form output{font-weight:700;color:var(--blue)}
.calc-form input[type=range]{grid-column:1/-1;width:100%;min-height:32px!important;padding:0;accent-color:var(--blue);background:transparent;border:0}
.calc-term{display:flex;gap:.5rem}
.calc-term button{flex:1;min-height:46px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:600 .95rem var(--sans);color:var(--navy);cursor:pointer}
.calc-term button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.calc-out{background:linear-gradient(160deg,var(--navy),var(--deep));color:#fff;border-radius:26px;padding:2rem;display:grid;gap:1rem;box-shadow:0 40px 70px -35px rgba(7,31,58,.8)}
.calc-label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--baby)}
.calc-total{font:600 clamp(2.6rem,6vw,3.8rem)/1 var(--serif);color:#fff}
.calc-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.12)}
.calc-bar i{display:block;height:100%;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.calc-bar i[data-bar=pi],.k1{background:var(--baby-2)}
.calc-bar i[data-bar=tax],.k2{background:#fff}
.calc-bar i[data-bar=ins],.k3{background:#5a8fc4}
.calc-break{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.95rem}
.calc-break li{display:flex;align-items:center;gap:.6rem;color:#dbe9f7}
.calc-break li b{margin-left:auto;color:#fff}
.calc-break i{width:10px;height:10px;border-radius:50%;flex:none}
.calc-note{margin:0;font-size:.78rem;color:#a9c3de}
@media (max-width:900px){.match-grid,.calc-grid{grid-template-columns:1fr;gap:1.8rem}.match-result,.match-empty{min-height:300px}.calc-out{padding:1.5rem}}
@media (prefers-reduced-motion:reduce){.match-card{animation:none}.btn .rip{display:none}}

.tilt.is-tilting,.tilt.tilt-reset{transition:none!important}
.tilt{will-change:auto}
.tilt.is-tilting{will-change:transform}
.nb-card .nb-label{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.nb-card:hover .nb-label{transform:translateY(-6px)}
.footer-bottom .site-credit{font-size:.66rem;opacity:.45;letter-spacing:.02em}
.footer-bottom .site-credit a{color:inherit;text-decoration:none}
.footer-bottom .site-credit a:hover{opacity:1;text-decoration:underline}

.hero-stack,.hero-stack *{pointer-events:none}
.stack-card{transition:none!important}
.hero .hero-bg,.hero .hero-bg *{pointer-events:none}
.hero-inner{will-change:auto}

/* 1.12.4 hero flicker proofing: flat, static layers (no scale, no will-change, no backdrop blur, no 3D) */
.hero .hero-bg,.hero .hero-bg .ph,.hero .hero-bg img{transform:none!important;will-change:auto!important;transition:none!important;animation:none!important}
.hero--split .hero-bg{inset:0}
.hero-areas a{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(255,255,255,.1)}
.hero-stack{perspective:none!important;transform-style:flat!important}
.stack-card{will-change:auto!important;transform:none;transition:none!important}
.stack-card:nth-child(1){transform:rotate(-4deg)!important}
.stack-card:nth-child(2){transform:rotate(3deg)!important}
.stack-card:nth-child(3){transform:rotate(-1.5deg)!important}
.stack-card .ph img{transition:none!important;transform:none!important}

/* ============ 1.14 Accessibility (WCAG 2.1 AA) ============ */
.site-footer h4,.site-footer .fh{font-family:var(--sans);color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;margin:0 0 1.1rem;font-weight:700}
.footer-bottom .site-credit{opacity:1;color:#b7cde4;font-size:.72rem}
.footer-bottom .site-credit a{color:#b7cde4;text-decoration:underline}
.footer-credits,.footer-credits a{color:#b7cde4}
.footer-credits details summary{opacity:1;color:#b7cde4}
.form .checks-set{border:0;margin:0;padding:0;min-width:0}
.form .checks-set legend{padding:0;font-weight:600;margin-bottom:.4rem}
.mq{position:relative}
.mq-pause{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:3;min-height:44px;min-width:44px;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--navy);background:#fff;color:var(--navy);font:600 .8rem var(--sans);cursor:pointer}
.mq-pause:hover{background:var(--navy);color:#fff}
.main-nav .menu-item-has-children.esc-closed>.sub-menu{opacity:0!important;visibility:hidden!important}
:target{scroll-margin-top:96px}
.screen-reader-text:focus{outline:3px solid var(--blue)}
.site-footer a:focus-visible,.site-footer button:focus-visible,.hero a:focus-visible,.hero button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (forced-colors:active){.btn,.mq-pause,.tm-filters button{border:2px solid ButtonText}a:focus-visible,button:focus-visible{outline:3px solid Highlight}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.mq-track{animation:none!important}}

/* ============ 1.14 Large desktop screens: "zoom in" so the page fills the screen (desktop only; mobile/tablet untouched) ============ */
:root{--z:1}
@media (min-width:1600px){:root{--z:1.08}html{zoom:1.08}}
@media (min-width:1700px){:root{--z:1.15}html{zoom:1.15}}
@media (min-width:1850px){:root{--z:1.28}html{zoom:1.28}}
@media (min-width:2050px){:root{--z:1.4}html{zoom:1.4}}
@media (min-width:2300px){:root{--z:1.55}html{zoom:1.55}}
@media (min-width:2600px){:root{--z:1.75}html{zoom:1.75}}
@media (min-width:3000px){:root{--z:2}html{zoom:2}}
@media (min-width:3400px){:root{--z:2.3}html{zoom:2.3}}
@media (min-width:1600px){
  .hero--split{min-height:max(540px,calc(100vh / var(--z) - 110px))}
  .hero--split .hero-inner{padding:clamp(48px,calc(7vh / var(--z)),90px) 0 clamp(110px,calc(12vh / var(--z)),150px)}
  .hero-stack{height:clamp(320px,calc(56vh / var(--z)),480px);margin-bottom:40px}
  .hero--split h1{font-size:3.3rem;max-width:16em}
  .hero--split .hero-inner{padding:clamp(40px,calc(5vh / var(--z)),70px) 0 clamp(96px,calc(10vh / var(--z)),130px)}
  .nb-pin.has-pin .nb-sticky{height:calc(100vh / var(--z))}
  .tm-modal-box{height:min(600px,calc(100vh / var(--z) - 40px))}
}
.h3like{font-size:1.28rem;line-height:1.25}
.converter .eyebrow,.section--dark .eyebrow{color:var(--baby)}
.mq span{color:#2f64a0;-webkit-text-stroke:0}.mq span::after{color:#2f64a0}
/* Never hide focus: restore a strong outline on every field (strong visible outline on every field) */
.finder select:focus-visible,.converter input:focus-visible,.tm-search input:focus-visible,.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--blue)!important;outline-offset:2px}
.converter input:focus-visible{outline-color:#fff!important}
.finder:focus-within{box-shadow:0 0 0 3px var(--blue)}
/* 1.14.4 reflow + target size */
.process{grid-template-columns:repeat(4,minmax(0,1fr))}.pr{min-width:0;overflow-wrap:anywhere}
@media (max-width:1000px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.process{grid-template-columns:1fr}}
.arrow-link{display:inline-block;min-height:24px;padding-top:.1rem}
/* Enlarged-text safety: only changes layout when words would otherwise overflow */
.entry,.prose,.lead,p,h1,h2,h3,li{overflow-wrap:break-word}
.header-inner{min-width:0}.brand{min-width:0;flex-shrink:1}.brand-text span{white-space:normal}.nav-toggle{flex-shrink:0}

/* ============ 1.15 Accessibility options widget ============ */
.a11y-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:1002;width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px -8px rgba(7,31,58,.6)}
.a11y-fab svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.a11y-fab circle{fill:#fff}
.a11y-fab:hover{background:var(--blue)}
.a11y-fab:focus-visible{outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.to-top{bottom:calc(1.1rem + 64px)}
.a11y-overlay{position:fixed;inset:0;background:rgba(7,31,58,.55);z-index:1003}
.a11y-overlay[hidden],.a11y-panel[hidden]{display:none}
.a11y-panel{position:fixed;z-index:1004;right:1.1rem;bottom:1.1rem;width:min(430px,calc(100vw - 2rem));max-height:min(86vh,720px);overflow:auto;background:#fff;color:var(--ink);border-radius:16px;padding:1.4rem 1.5rem 1.6rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);font-size:.95rem;line-height:1.6}
.a11y-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem}
.a11y-head h2{font-size:1.6rem;margin:0}
.a11y-close{min-height:44px;padding:.4rem 1.1rem;border:1px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);font:600 .9rem var(--sans);cursor:pointer}
.a11y-close:hover{background:var(--navy);color:#fff}
.a11y-panel h3{font-size:1.1rem;margin:1.4rem 0 .3rem}
.a11y-panel p{margin:0 0 .6rem}
.a11y-opts{display:grid;gap:.6rem;margin-top:.8rem}
.a11y-opt{width:100%;min-height:48px;text-align:left;padding:.7rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--navy);font:600 1rem var(--sans);cursor:pointer}
.a11y-opt:hover{border-color:var(--blue)}
.a11y-opt[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.a11y-reset{background:#fff}
.a11y-panel a{color:var(--brand);text-decoration:underline}
.a11y-panel :focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media (max-width:900px){.a11y-fab{right:.8rem;bottom:calc(76px + env(safe-area-inset-bottom));width:46px;height:46px}.to-top{bottom:calc(76px + 58px + env(safe-area-inset-bottom))}.a11y-panel{right:1rem;left:1rem;bottom:1rem;width:auto;max-height:84vh}}
/* user-selected modes */
html.a11y-text1{font-size:112.5%}html.a11y-text1 body{font-size:18.5px}
html.a11y-text2{font-size:125%}html.a11y-text2 body{font-size:20.5px}
html.a11y-text3{font-size:150%}html.a11y-text3 body{font-size:24px}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px!important}
html.a11y-font body,html.a11y-font body *{font-family:Verdana,Tahoma,"Trebuchet MS",Arial,sans-serif!important}
html.a11y-spacing body *{line-height:1.8!important;letter-spacing:.05em!important;word-spacing:.12em!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-motion .reveal{opacity:1!important;transform:none!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M4 2l26 14-11 3 7 14-5 3-7-14-8 8z' fill='black' stroke='white' stroke-width='2'/></svg>") 4 2,auto!important}
html.a11y-targets a,html.a11y-targets button,html.a11y-targets input,html.a11y-targets select,html.a11y-targets summary{min-height:48px;min-width:48px}
html.a11y-targets .main-nav a,html.a11y-targets p a,html.a11y-targets li a{display:inline-flex;align-items:center}
html.a11y-contrast body,html.a11y-contrast body *:not(img):not(svg):not(path):not(circle):not(video){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important;-webkit-text-stroke:0!important}
html.a11y-contrast body a,html.a11y-contrast body a *{color:#ffff00!important;text-decoration:underline!important}
html.a11y-contrast body svg{fill:#fff!important;stroke:#fff!important}
html.a11y-contrast .hero::before,html.a11y-contrast .hero::after{background:rgba(0,0,0,.8)!important}
html.a11y-contrast .a11y-opt[aria-pressed="true"],html.a11y-contrast .btn--primary{background:#ffff00!important;color:#000!important}
html.a11y-contrast :focus-visible{outline:4px solid #00ffff!important;outline-offset:3px}
html.a11y-colorblind a{text-decoration:underline!important;text-decoration-thickness:2px!important}
html.a11y-colorblind .btn,html.a11y-colorblind button:not(.a11y-fab):not(.nav-toggle),html.a11y-colorblind input,html.a11y-colorblind select,html.a11y-colorblind textarea{border:2px solid currentColor!important}
html.a11y-colorblind [aria-pressed="true"],html.a11y-colorblind .is-on{outline:3px solid currentColor;outline-offset:2px;font-weight:800}
html.a11y-colorblind [aria-pressed="true"]::before{content:"\2713\00a0"}
html.a11y-gray body>*:not(.a11y-panel):not(.a11y-fab):not(.a11y-overlay){filter:grayscale(1)}
html.a11y-invert body>*:not(.a11y-panel):not(.a11y-fab):not(.a11y-overlay){filter:invert(1) hue-rotate(180deg)}
html.a11y-invert body>*:not(.a11y-panel):not(.a11y-fab):not(.a11y-overlay) img{filter:invert(1) hue-rotate(180deg)}
.a11y-guide{position:fixed;left:0;right:0;height:4px;background:#ff0;border-top:2px solid #000;border-bottom:2px solid #000;z-index:1001;pointer-events:none}
.a11y-guide[hidden]{display:none}
.a11y-head{position:sticky;top:-1.4rem;margin-top:-1.4rem;padding-top:1.4rem;padding-bottom:.4rem;background:#fff;z-index:2}
html.a11y-contrast body .nav-toggle span,html.a11y-contrast body .nav-toggle span::before,html.a11y-contrast body .nav-toggle span::after{background-color:#fff!important}
html.a11y-contrast body .hero-stack *,html.a11y-contrast body .hero-bg,html.a11y-contrast body .ph,html.a11y-contrast body [style*="background-image"]{background-color:transparent!important}
@media (max-width:900px){.mq-pause{right:auto;left:8px}}
.idx-fallback{margin:.8rem 0 0;font-size:.95rem;text-align:center}.idx-fallback a{font-weight:600;text-decoration:underline}
.idx-cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.4rem;margin:1.2rem 0}.idx-cta strong{display:block;font-family:var(--serif);font-size:1.25rem;color:var(--navy)}.idx-cta span{color:var(--muted)}
/* MLS frame: let theMLS script size it; never force a height on phones */

.idx-wrap--frame{overflow:visible}
.idx-wrap--frame iframe{min-height:700px}

/* MLS card: modern container around theMLS's search */
.idx-card{position:relative;background:#fff;border-radius:20px;box-shadow:0 30px 70px -30px rgba(7,31,58,.35),0 0 0 1px var(--line);overflow:hidden;margin:1.4rem 0}
.idx-card iframe{position:relative;z-index:1;display:block;border:0;border-radius:0;box-shadow:none;background:transparent}
.idx-skel{position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,#eef3f9 30%,#f8fbfe 50%,#eef3f9 70%);background-size:200% 100%;animation:idxsk 1.4s linear infinite}
.idx-card.is-loaded .idx-skel{display:none}
@keyframes idxsk{to{background-position:-200% 0}}
@media (min-width:901px){.idx-card{min-height:700px}.idx-card iframe{max-width:none!important}}
@media (max-width:900px){.idx-card{border-radius:14px;margin-left:-6px;margin-right:-6px}.idx-card iframe{min-height:900px}}
@media (prefers-reduced-motion:reduce){.idx-skel{animation:none}}
/* Listings cards */
.prop-status.is-sold{background:#1f7a4d}
.prop-title{font-size:1.05rem;margin:.2rem 0 0}.prop-title a{color:inherit;text-decoration:none}.prop-title a:hover{text-decoration:underline}
.prop-img img{transition:transform .5s}.prop:hover .prop-img img{transform:scale(1.04)}
