:root{--navy:#0b357d;--navy-dark:#08285e;--navy-deep:#051a3d;--navy-tint:#f1f6fe;--red:#a80021;--red-dark:#8a001c;--ink:#1b2433;--muted:#566176;--line:#dde3ec;--bg:#fff;--radius:10px;--serif:"Libre Baskerville", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--navy)}h1,h2,h3{font-family:var(--serif);color:var(--navy-deep);margin:0 0 .6em;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,4.5vw,3.1rem)}h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}h3{font-size:1.15rem}p{margin:0 0 1em}.wrap{width:min(1160px,100% - 32px);margin-inline:auto}.sr-only,.hp{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:#fff;padding:8px 12px;top:16px;left:16px}.site-header{z-index:20;border-bottom:1px solid var(--line);background:#fffffff7;position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.brand img{width:190px}.site-nav{align-items:center;gap:26px;display:flex}.site-nav a{color:var(--ink);font-size:.95rem;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--red)}.site-nav .nav-cta{background:var(--navy);color:#fff;border-radius:999px;padding:9px 18px}.site-nav .nav-cta:hover,.site-nav .nav-cta[aria-current=page]{background:var(--navy-dark);color:#fff}.nav-toggle{cursor:pointer;background:0 0;border:0;padding:10px;display:none}.nav-toggle .bar{background:var(--navy-deep);width:24px;height:2px;margin:5px 0;display:block}@media (width<=860px){.nav-toggle{display:block}.site-nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;display:none;position:absolute;top:72px;left:0;right:0}.site-nav.open{display:flex}.site-nav a{border-bottom:1px solid var(--line);padding:12px 0}.site-nav .nav-cta{text-align:center;border-bottom:0;margin-top:12px}.brand img{width:160px}}.btn{background:var(--red);color:#fff;border:2px solid var(--red);font:600 .98rem var(--sans);cursor:pointer;border-radius:999px;padding:12px 22px;text-decoration:none;display:inline-block}.btn:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn:disabled{opacity:.6;cursor:progress}.btn-ghost-light{background:0 0;border-color:#ffffffb3}.btn-ghost-light:hover{background:#ffffff1f;border-color:#fff}.btn-outline{color:var(--navy);border-color:var(--navy);background:0 0}.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:#fff}.actions{flex-wrap:wrap;gap:12px;display:flex}.hero{background:linear-gradient(115deg, #051a3df5 0%, #0b357deb 60%, #0b357dd9 100%), var(--navy-deep);color:#fff}.hero-inner{max-width:760px;margin-left:max(16px,50% - 580px);padding:clamp(64px,10vw,120px) 0}.hero h1{color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ffb2c2;font-size:.8rem;font-weight:600}.lead{color:var(--muted);max-width:62ch;font-size:1.15rem}.hero .lead{color:#dee9fc;margin-bottom:1.8em}.page-head{background:var(--navy-tint);border-bottom:1px solid var(--line);padding:clamp(40px,6vw,72px) 0}.page-head .lead{margin:0}.page-head .actions{margin-top:24px}.page-head .btn-ghost-light{color:var(--navy);border-color:var(--navy)}.section{padding:clamp(48px,7vw,88px) 0}.section-tint{background:var(--navy-tint)}.section-navy{background:var(--navy-deep);color:#dee9fc}.section-navy h2{color:#fff}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.section-head h2{margin:0}.more{color:var(--red);font-weight:600;text-decoration:none}.services{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:8px;display:grid}.service{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;flex-direction:column;padding:26px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.service:hover{border-color:var(--navy);transform:translateY(-2px)}.service p{color:var(--muted);flex:1}.about{grid-template-columns:1.3fr 1fr;align-items:center;gap:48px;display:grid}.about p{color:var(--muted);max-width:60ch}.people{grid-template-columns:1fr 1fr;gap:20px;display:grid}.people figure{margin:0}.people img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover;width:100%}.people figcaption{color:var(--muted);margin-top:10px;font-size:.92rem}.people strong{color:var(--ink);display:block}@media (width<=800px){.about{grid-template-columns:1fr}}.contact-band{grid-template-columns:1fr 1.2fr;align-items:start;gap:48px;display:grid}.contact-band .phone a{color:#fff;font:700 1.4rem var(--serif);text-decoration:none}.contact-band-light .phone a{color:var(--navy)}.contact-band .lead-form{color:var(--ink);border-radius:var(--radius);background:#fff;padding:26px}.contact-band-light .lead-form{border:1px solid var(--line)}@media (width<=800px){.contact-band{grid-template-columns:1fr;gap:24px}}.lead-form label{margin-bottom:14px;font-size:.9rem;font-weight:500;display:block}.lead-form input,.lead-form select,.lead-form textarea{width:100%;font:400 1rem var(--sans);color:var(--ink);background:#fff;border:1px solid #c4ccd8;border-radius:8px;margin-top:6px;padding:11px 12px;display:block}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--navy-tint);border-color:var(--navy)}.lead-form [aria-invalid=true]{border-color:var(--red)}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.field-row{grid-template-columns:1fr;gap:0}}.form-note{color:var(--muted);font-size:.85rem}.form-status{min-height:1.5em;margin:12px 0 0;font-weight:500}.form-status.ok{color:#146c2e}.form-status.err{color:var(--red)}.prose-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:56px;display:grid}.prose{max-width:68ch}.prose p,.prose li{color:#36404f}.side-card{background:var(--navy-tint);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:96px}.side-card .lead-form{margin:0}@media (width<=860px){.prose-grid{grid-template-columns:1fr;gap:32px}.side-card{position:static}}.steps{padding-left:1.2em}.steps li{margin-bottom:1em}.checks{padding:0;list-style:none}.checks li{margin-bottom:.7em;padding-left:28px;position:relative}.checks li:before{content:"";border-left:2px solid var(--red);border-bottom:2px solid var(--red);width:12px;height:7px;position:absolute;top:.45em;left:4px;transform:rotate(-45deg)}.fine{background:var(--navy-tint);border-left:3px solid var(--navy);border-radius:0 8px 8px 0;padding:12px 16px;font-size:.92rem}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #051a3d1f}.card-photo{aspect-ratio:4/3;background:var(--navy-tint);position:relative;overflow:hidden}.card-photo img,.gallery .main img,.thumbs img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gallery .main,.thumbs button{position:relative}.card-photo .no-photo{height:100%;color:var(--muted);place-items:center;font-size:.9rem;display:grid}.badge{background:var(--navy);color:#fff;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute;top:12px;left:12px}.badge.pending{background:#8a5a00}.badge.soon{background:var(--red)}.card-body{padding:16px 18px 18px}.price{font:700 1.3rem var(--serif);color:var(--navy-deep);margin:0 0 4px}.addr{margin:0;font-weight:500}.city{color:var(--muted);margin:0 0 8px;font-size:.92rem}.facts{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:.9rem;display:flex}.loading,.empty{color:var(--muted)}.filters{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filters button{border:1px solid var(--line);font:500 .92rem var(--sans);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px}.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.mls-note{color:var(--muted);margin-top:28px;font-size:.82rem}.callout{background:var(--navy-tint);border-radius:var(--radius);margin-top:40px;padding:32px}.callout p{color:var(--muted);max-width:64ch}.back{font-weight:500;text-decoration:none}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 32px;margin:8px 0 20px;display:flex}.detail-head h1{margin:0;font-size:clamp(1.6rem,3.2vw,2.3rem)}.detail-head .price{font-size:1.8rem}.gallery{grid-template-columns:2fr 1fr;gap:8px;display:grid}.gallery .main{aspect-ratio:3/2;border-radius:var(--radius);background:var(--navy-tint);overflow:hidden}.gallery .main img{object-fit:cover;width:100%;height:100%}.thumbs{grid-template-columns:1fr 1fr;align-content:start;gap:8px;max-height:100%;display:grid;overflow:auto}.thumbs button{cursor:pointer;aspect-ratio:4/3;background:var(--navy-tint);border:2px solid #0000;border-radius:6px;padding:0;overflow:hidden}.thumbs button[aria-current=true]{border-color:var(--red)}.thumbs img{object-fit:cover;width:100%;height:100%}@media (width<=700px){.gallery{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(4,1fr);max-height:none}}.detail-facts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:28px 0;padding:0;list-style:none;display:grid}.detail-facts li{background:var(--navy-tint);border-radius:8px;padding:12px 14px}.detail-facts span{color:var(--muted);font-size:.8rem;display:block}.detail-facts strong{font-size:1.05rem}.remarks{white-space:pre-line;max-width:75ch}.courtesy{color:var(--muted);font-size:.85rem}.site-footer{color:#b8c2d4;background:#0a1426;padding:56px 0 28px;font-size:.92rem}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer h2{font:600 .8rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#fff}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:40px;display:grid}.footer-logo{background:#fff;border-radius:8px;width:180px;margin-bottom:16px;padding:10px 12px}.legal{border-top:1px solid #1f2c44;margin-top:40px;padding-top:20px;font-size:.82rem}.eho{color:#fff;font-weight:600}@media (width<=760px){.footer-grid{grid-template-columns:1fr;gap:24px}}
