html { scroll-behavior:smooth; }
body { font-family:'Inter', system-ui, sans-serif; color:#1F2937; background:#F7F8FB; }
h1,h2,h3,.serif { font-family:'Playfair Display', Georgia, serif; }

.nav-link { color:#0A1E4A; font-size:.875rem; font-weight:600; transition:color .15s; }
.nav-link:hover, .nav-link.active { color:#D52B1E; }
.site-header .nav-link.active { color:#D52B1E; }
.site-header .btn-primary, .site-header .btn-outline { width:auto; white-space:nowrap; text-align:center; }

.btn-primary { background:#D52B1E; color:#fff; padding:.85rem 1.4rem; border-radius:9999px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; white-space:nowrap; transition:transform .15s, background .15s, box-shadow .15s; box-shadow:0 6px 20px -8px rgba(213,43,30,.55); }
.btn-primary:hover { background:#B72017; transform:translateY(-1px); }
.btn-outline { background:#fff; border:1.5px solid #0A1E4A; color:#0A1E4A; padding:.7rem 1.2rem; border-radius:9999px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; white-space:nowrap; transition:background .15s, color .15s; }
.btn-outline:hover { background:#0A1E4A; color:#fff; }
.hidden.btn-primary, .hidden.btn-outline { display:none; }

.post-hero { background:linear-gradient(135deg, rgba(5,14,43,.9), rgba(10,30,74,.64)); }
.hero-panel { width:min(100%, 52rem); margin-left:0; margin-right:auto; text-align:left; padding:clamp(1.35rem, 3vw, 2.35rem); border:1px solid rgba(255,255,255,.24); border-radius:1.25rem; background:linear-gradient(135deg, rgba(5,14,43,.76), rgba(10,30,74,.42)); box-shadow:0 24px 60px -34px rgba(5,14,43,.92), inset 0 1px 0 rgba(255,255,255,.18); backdrop-filter:blur(12px) saturate(135%); -webkit-backdrop-filter:blur(12px) saturate(135%); }

.article-body { color:#374151; font-size:1.075rem; line-height:1.85; }
.article-body h2 { color:#0A1E4A; font-size:clamp(1.7rem, 3vw, 2.25rem); line-height:1.15; margin-top:2.75rem; margin-bottom:1rem; }
.article-body h3 { color:#0A1E4A; font-size:1.45rem; line-height:1.2; margin-top:2rem; margin-bottom:.75rem; }
.article-body p { margin-top:1.05rem; }
.article-body ul { margin-top:1rem; padding-left:1.35rem; display:grid; gap:.55rem; list-style:disc; }
.article-body a { color:#0A1E4A; font-weight:700; text-decoration:underline; text-decoration-color:rgba(213,43,30,.45); text-underline-offset:.2em; }
.article-callout { border-left:4px solid #D52B1E; background:#fff; border-radius:.65rem; box-shadow:0 14px 32px -26px rgba(10,30,74,.55); }
.consult-card { overflow:hidden; }
.consult-photo { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 18%; background:#EAEEF7; }
.consult-link { display:flex; align-items:center; gap:.5rem; color:#0A1E4A; font-size:.9rem; font-weight:700; overflow-wrap:anywhere; transition:color .15s; }
.consult-link:hover { color:#D52B1E; }
.consult-card .btn-primary { width:100%; white-space:normal; text-align:center; padding:.75rem 1rem; font-size:.92rem; }

.info-list { margin-top:1rem; display:grid; gap:.7rem; color:#4B5563; line-height:1.6; }
.info-list li { display:flex; gap:.65rem; align-items:flex-start; }
.info-list li::before { content:""; width:.45rem; height:.45rem; border-radius:9999px; background:#D52B1E; flex:0 0 auto; margin-top:.65rem; }
.section-kicker { color:#D52B1E; font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.listing-shell .realtyninja-embed { min-height:2200px; }
.floating-back-link { position:fixed; left:clamp(1rem, 2.5vw, 2rem); top:5.25rem; z-index:35; display:inline-flex; align-items:center; gap:.5rem; max-width:calc(100vw - 2rem); padding:.72rem 1rem; border:1px solid rgba(10,30,74,.12); border-radius:9999px; background:rgba(255,255,255,.94); color:#0A1E4A; font-size:.86rem; font-weight:800; box-shadow:0 16px 36px -24px rgba(5,14,43,.55); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); transition:transform .15s, box-shadow .15s, color .15s; }
.floating-back-link:hover { color:#D52B1E; transform:translateY(-1px); box-shadow:0 18px 42px -24px rgba(5,14,43,.65); }
.floating-back-link i { width:1rem; height:1rem; flex:0 0 auto; }

.site-footer { position:relative; overflow:hidden; background:linear-gradient(135deg,#071735 0%,#0A1E4A 58%,#102A5C 100%); }
.site-footer::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#D52B1E,rgba(255,255,255,.38),#D52B1E); }
.footer-shell { position:relative; }
.footer-grid { display:grid; grid-template-columns:minmax(16rem,1.35fr) minmax(11rem,.8fr) minmax(11rem,.8fr) minmax(14rem,1fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.footer-column { min-width:0; }
.footer-logo { height:4rem; width:auto; margin-bottom:1rem; border-radius:.5rem; background:rgba(255,255,255,.96); }
.footer-brand-copy { color:rgba(255,255,255,.72); font-size:.92rem; line-height:1.7; max-width:24rem; }
.footer-social-links { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.65rem; max-width:16.5rem; margin-top:1.25rem; }
.footer-social-link { height:3rem; border:1px solid rgba(255,255,255,.18); border-radius:.85rem; color:#fff; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease; }
.footer-social-link:hover, .footer-social-link:focus-visible { transform:translateY(-2px); color:#0A1E4A; background:#fff; border-color:#fff; box-shadow:0 14px 30px -20px rgba(0,0,0,.75); outline:none; }
.footer-social-link svg { width:1.25rem; height:1.25rem; fill:currentColor; }
.footer-heading { margin-bottom:.9rem; color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.footer-link-list { display:grid; gap:.7rem; color:rgba(255,255,255,.78); font-size:.92rem; }
.footer-link-list a, .footer-link-list button { display:inline-flex; align-items:center; gap:.55rem; color:rgba(255,255,255,.78); transition:color .15s; text-align:left; }
.footer-link-list a:hover, .footer-link-list button:hover { color:#fff; }
.footer-link-list i { flex:0 0 auto; color:#D52B1E; }
.footer-affiliation-logo { width:9rem; height:auto; padding:.5rem .6rem; border-radius:.6rem; background:rgba(255,255,255,.94); }
.footer-brokerage { display:flex; flex-direction:column; align-items:flex-start; gap:.9rem; padding:1rem; border:1px solid rgba(255,255,255,.14); border-radius:.85rem; background:rgba(255,255,255,.06); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.1); }

@media (max-width:768px) {
  .btn-primary, .btn-outline { width:100%; white-space:normal; text-align:center; }
  .site-header .btn-primary, .site-header .btn-outline { width:auto; white-space:nowrap; text-align:center; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-social-links { max-width:15rem; }
  .listing-shell .realtyninja-embed { min-height:2400px; }
  .floating-back-link { left:1rem; right:1rem; top:auto; bottom:1rem; justify-content:center; }
}

@media (min-width:640px) {
  .sm\:inline-flex.btn-primary, .sm\:inline-flex.btn-outline { display:inline-flex; }
}
