

  :root {
    --cr:   #8B0000;
    --crd:  #6b0000;
    --crl:  #a81010;
    --gd:   #B8942A;
    --gl:   #d4aa44;
    --bk:   #0a0a0a;
    --wh:   #ffffff;
    --cream:#FAF8F4;
    --warm: #F5F0E8;
    --stone:#EDE8DE;
    --mist: #F0EDE6;
    --txt:  #1a1a1a;
    --txt2: #4a4240;
    --txt3: #7a7270;
    --bdr:  rgba(139,0,0,0.12);
    --bdrg: rgba(184,148,42,0.25);
    --fd:   'Playfair Display', Georgia, serif;
    --fb:   'Barlow', sans-serif;
  }


  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { font-family:var(--fb); background:var(--cream); color:var(--txt); line-height:1.6; overflow-x:hidden; }

  /* ── HEADER ── */
  .site-header { position:sticky; top:0; z-index:200; background:var(--wh); border-bottom:1px solid var(--bdr); box-shadow:0 2px 12px rgba(0,0,0,0.06); }
  .top-bar { background:var(--cr); padding:7px 5%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
  .top-bar-l { font-size:11px; color:rgba(255,255,255,0.75); letter-spacing:1px; }
  .top-bar-r { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
  .top-bar-r a { font-size:11px; color:rgba(255,255,255,0.85); text-decoration:none; letter-spacing:1px; font-weight:500; transition:color .2s; }
  .top-bar-r a:hover { color:var(--wh); }
  .tb-div { width:1px; height:12px; background:rgba(255,255,255,0.3); }
  .main-nav { padding:0 5%; display:flex; align-items:center; justify-content:space-between; height:76px; background:var(--wh); }
  .nav-logo img { height:64px; width:auto; display:block; max-width:220px; object-fit:contain; }
  .nav-pages { display:flex; align-items:stretch; gap:0; list-style:none; height:76px; }
  .nav-pages li { display:flex; align-items:center; }
  .nav-pages a { display:flex; align-items:center; height:100%; padding:0 16px; color:var(--txt2); text-decoration:none; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; border-bottom:3px solid transparent; margin-bottom:-1px; transition:color .2s,border-color .2s; white-space:nowrap; }
  .nav-pages a:hover,.nav-pages a.active { color:var(--cr); border-bottom-color:var(--cr); }
  .nav-cta-btn { background:var(--cr)!important; color:var(--wh)!important; padding:11px 22px!important; border-bottom:none!important; margin-left:8px; font-weight:600!important; transition:background .2s!important; border-radius:0; }
  .nav-cta-btn:hover { background:var(--crl)!important; border-bottom:none!important; color:var(--wh)!important; }
  .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
  .hamburger span { display:block; width:24px; height:2px; background:var(--cr); transition:all .3s; }
  .mob-menu { display:none; position:fixed; inset:0; background:rgba(250,248,244,0.98); z-index:500; flex-direction:column; overflow-y:auto; }
  .mob-menu.open { display:flex; }
  .mob-header { display:flex; align-items:center; justify-content:space-between; padding:18px 5%; border-bottom:1px solid var(--bdr); background:var(--wh); }
  .mob-close { background:none; border:none; color:var(--cr); font-size:28px; cursor:pointer; line-height:1; }
  .mob-nav { padding:20px 5%; display:flex; flex-direction:column; }
  .mob-nav a { display:block; color:var(--txt); text-decoration:none; font-size:22px; font-family:var(--fd); font-weight:600; padding:14px 0; border-bottom:1px solid var(--bdr); transition:color .2s; }
  .mob-nav a:hover { color:var(--cr); }
  .mob-nav .mob-section { font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--txt3); font-weight:600; padding:18px 0 6px; }
  .mob-cta { background:var(--cr)!important; color:var(--wh)!important; padding:16px 24px!important; font-size:13px!important; font-family:var(--fb)!important; letter-spacing:2px!important; text-transform:uppercase!important; text-align:center; margin-top:20px; border-bottom:none!important; font-weight:600!important; }
  .mob-footer { padding:18px 5%; border-top:1px solid var(--bdr); display:flex; gap:20px; flex-wrap:wrap; }
  .mob-footer a { font-size:11px; color:var(--txt3); text-decoration:none; letter-spacing:1px; text-transform:uppercase; }

  /* ── FOOTER ── */
  .site-footer { background:var(--txt); color:var(--wh); }
  .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding:56px 5% 40px; }
  .footer-brand .fb-tagline { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.35); margin-bottom:14px; margin-top:10px; display:block; }
  .footer-brand p { font-size:13px; color:rgba(255,255,255,0.45); font-weight:300; line-height:1.7; max-width:280px; }
  .footer-brand .fb-contacts { margin-top:18px; display:flex; flex-direction:column; gap:8px; }
  .footer-brand .fb-contacts a { font-size:13px; color:rgba(184,148,42,0.8); text-decoration:none; font-weight:500; transition:color .2s; }
  .footer-brand .fb-contacts a:hover { color:var(--gl); }
  .footer-col h4 { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gd); font-weight:600; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,0.08); }
  .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
  .footer-col ul a { font-size:13px; color:rgba(255,255,255,0.45); text-decoration:none; transition:color .2s; }
  .footer-col ul a:hover { color:var(--wh); }
  .footer-col ul a.inv-link { color:var(--gd); font-weight:600; }
  .footer-bottom { border-top:1px solid rgba(255,255,255,0.07); padding:18px 5%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; background:rgba(0,0,0,0.3); }
  .footer-bottom p { font-size:11px; color:rgba(255,255,255,0.25); }
  .footer-social { display:flex; gap:18px; }
  .footer-social a { font-size:11px; color:rgba(255,255,255,0.25); text-decoration:none; letter-spacing:1px; text-transform:uppercase; transition:color .2s; }
  .footer-social a:hover { color:var(--gd); }

  /* ── COMMON ── */
  section { padding:88px 5%; }
  .ey { font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--cr); font-weight:600; margin-bottom:14px; }
  h1 { font-family:var(--fd); font-size:clamp(2.8rem,6vw,5rem); line-height:1.05; font-weight:700; }
  h2 { font-family:var(--fd); font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:700; line-height:1.15; color:var(--txt); margin-bottom:18px; }
  h2 em { color:var(--cr); font-style:normal; }
  h3 { font-family:var(--fd); font-size:1.4rem; font-weight:600; color:var(--txt); margin-bottom:10px; }
  .bt { color:var(--txt2); font-size:15px; font-weight:300; line-height:1.85; }
  .btn-p { background:var(--cr); color:var(--wh); padding:15px 34px; text-decoration:none; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; border:2px solid var(--cr); transition:all .2s; display:inline-block; font-family:var(--fb); cursor:pointer; }
  .btn-p:hover { background:var(--crl); transform:translateY(-2px); box-shadow:0 4px 20px rgba(139,0,0,0.25); }
  .btn-o { background:transparent; color:var(--cr); padding:15px 34px; text-decoration:none; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; border:2px solid var(--cr); transition:all .2s; display:inline-block; font-family:var(--fb); cursor:pointer; }
  .btn-o:hover { background:var(--cr); color:var(--wh); transform:translateY(-2px); }
  .divider { display:flex; align-items:center; gap:20px; margin:56px 0; }
  .divider-line { flex:1; height:1px; background:var(--bdr); }
  .divider-label { font-size:10px; letter-spacing:3.5px; text-transform:uppercase; color:var(--txt3); font-weight:600; white-space:nowrap; }
  .section-light { background:var(--cream); }
  .section-warm { background:var(--warm); }
  .section-stone { background:var(--stone); }
  .section-white { background:var(--wh); }
  .section-dark { background:var(--txt); color:var(--wh); }
  .section-dark h2 { color:var(--wh); }
  .section-dark .bt { color:rgba(255,255,255,0.6); }
  .section-dark .ey { color:var(--gd); }

  /* ── RESPONSIVE ── */
  @media(max-width:960px){
    .top-bar { display:none; }
    .hamburger { display:flex; }
    .nav-pages { display:none; }
    .main-nav { height:64px; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
    section { padding:60px 5%; }
  }
  @media(max-width:600px){
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; text-align:center; }
  }


  .builds-hero { background:var(--warm); padding:72px 5% 52px; border-bottom:1px solid var(--bdr); }
  .builds-hero h1 { color:var(--txt); font-size:clamp(2.2rem,5vw,3.8rem); margin-bottom:14px; }

  /* Status badges */
  .badge { display:inline-block; font-size:9px; letter-spacing:3px; text-transform:uppercase; font-weight:700; padding:6px 18px; margin-bottom:16px; }
  .badge-avail { background:#1a5c1a; color:#fff; }
  .badge-sold  { background:var(--txt2); color:#fff; }

  /* ── HERO IMAGE + SIDEBAR ── */
  .prop-hero-grid { display:grid; grid-template-columns:2fr 1fr; gap:3px; margin-bottom:3px; }
  .prop-hero-img { position:relative; overflow:hidden; }
  .prop-hero-img img { width:100%; height:600px; object-fit:cover; display:block; transition:transform .6s; }
  .prop-hero-img:hover img { transform:scale(1.03); }
  .prop-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 55%); display:flex; flex-direction:column; justify-content:flex-end; padding:32px 36px; }
  .prop-hero-overlay h2 { font-family:var(--fd); font-size:2.2rem; color:#fff; font-weight:700; margin-bottom:4px; }
  .prop-hero-overlay .sub { font-size:12px; color:rgba(255,255,255,.65); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:12px; }
  .spec-pills { display:flex; gap:8px; flex-wrap:wrap; }
  .spec-pill { font-size:11px; color:rgba(255,255,255,.9); font-weight:600; letter-spacing:1px; text-transform:uppercase; border-left:2px solid var(--cr); padding-left:8px; }
  .prop-side { display:flex; flex-direction:column; gap:3px; }
  .prop-side-img { position:relative; overflow:hidden; flex:1; }
  .prop-side-img img { width:100%; height:100%; min-height:180px; object-fit:cover; display:block; transition:transform .4s; }
  .prop-side-img:hover img { transform:scale(1.06); }
  .img-cap-label { position:absolute; bottom:0; left:0; right:0; padding:10px 14px; background:linear-gradient(to top,rgba(0,0,0,.6),transparent); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.9); font-weight:600; }

  /* ── COLLAGE ROWS ── */
  .collage-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-bottom:3px; }
  .collage-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; margin-bottom:3px; }
  .collage-2 { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-bottom:3px; }
  .col-img { position:relative; overflow:hidden; }
  .col-img img { width:100%; object-fit:cover; display:block; transition:transform .4s; }
  .col-img:hover img { transform:scale(1.05); }
  .col-img .cap { position:absolute; bottom:0; left:0; right:0; padding:10px 14px; background:linear-gradient(to top,rgba(0,0,0,.62),transparent); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.9); font-weight:600; }
  .h-300 img { height:300px; }
  .h-240 img { height:240px; }
  .h-200 img { height:200px; }
  .h-260 img { height:260px; }
  .col-wide { grid-column:span 2; }

  /* ── SPECS + ROOMS ── */
  .specs-band { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; background:var(--bdr); margin:40px 0 32px; }
  .spec-box { background:var(--wh); padding:20px 12px; text-align:center; }
  .spec-val { font-family:var(--fd); font-size:1.2rem; color:var(--cr); font-weight:700; display:block; margin-bottom:3px; }
  .spec-lbl { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--txt3); }
  .room-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-bottom:32px; }
  .room-item { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:var(--cream); border-left:2px solid var(--cr); font-size:13px; }
  .rn { color:var(--txt); }
  .rd { color:var(--cr); font-size:11px; font-weight:600; }

  /* ── PRICE CTA BANNER ── */
  .price-banner { background:var(--cr); padding:32px 5%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
  .price-banner h3 { font-family:var(--fd); font-size:1.8rem; color:#fff; font-weight:700; }
  .price-banner .price-sub { font-size:12px; color:rgba(255,255,255,.7); letter-spacing:2px; text-transform:uppercase; margin-top:4px; }
  .price-banner .price-num { font-family:var(--fd); font-size:2.8rem; color:#fff; font-weight:700; }

  /* ── DETAIL SHOTS ── */
  .details-section { padding:60px 5%; background:var(--wh); }
  .details-intro { max-width:500px; margin-bottom:36px; }
  .detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
  .detail-card { position:relative; overflow:hidden; }
  .detail-card img { width:100%; height:280px; object-fit:cover; display:block; transition:transform .5s; }
  .detail-card:hover img { transform:scale(1.07); }
  .detail-card .dc-label { position:absolute; bottom:0; left:0; right:0; padding:12px 16px; background:linear-gradient(to top,rgba(0,0,0,.68),transparent); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.9); font-weight:600; }

  /* ── SOLD SECTION ── */
  .sold-ribbon { position:absolute; top:22px; left:0; background:var(--txt2); color:#fff; font-size:10px; letter-spacing:3px; text-transform:uppercase; font-weight:700; padding:7px 20px 7px 14px; z-index:3; clip-path:polygon(0 0,100% 0,92% 100%,0 100%); }

  /* ── PLACEHOLDER ── */
  .next-placeholder { background:var(--cream); border:2px dashed var(--bdr); padding:64px 5%; text-align:center; margin:0 5% 72px; }

  /* BUILD BLOCK */
  .build-block { padding:56px 5%; }
  .build-block.bg-alt { background:var(--warm); }

  @media(max-width:960px){
    .prop-hero-grid{grid-template-columns:1fr;}
    .prop-hero-img img{height:320px;}
    .collage-3,.collage-4{grid-template-columns:1fr 1fr;}
    .collage-2{grid-template-columns:1fr;}
    .specs-band{grid-template-columns:repeat(3,1fr);}
    .room-grid{grid-template-columns:1fr 1fr;}
    .detail-grid{grid-template-columns:1fr 1fr;}
    .col-wide{grid-column:auto;}
    .price-banner{text-align:center;justify-content:center;}
  }
  @media(max-width:600px){
    .collage-3,.collage-4{grid-template-columns:1fr;}
    .room-grid{grid-template-columns:1fr;}
    .detail-grid{grid-template-columns:1fr;}
    .specs-band{grid-template-columns:1fr 1fr;}
  }


  /* ══ GLOBAL MOBILE FIXES ══ */
  @media(max-width:768px){

    /* NAV */
    .nav-logo img { height:46px!important; max-width:160px!important; }
    .main-nav { padding:0 4%!important; }

    /* HERO */
    #hero { height:85vh!important; min-height:500px!important; }
    .hero-content { padding:0 5% 60px!important; }
    .hero-content h1 { font-size:2.2rem!important; }
    .hero-sub { font-size:15px!important; }
    .avail-badge { font-size:10px!important; padding:6px 12px!important; }
    .hero-specs { gap:3px!important; }
    .hero-spec { padding:10px 14px!important; }
    .hero-spec .sv { font-size:1.1rem!important; }
    .hero-btns { flex-direction:column!important; gap:10px!important; }
    .btn-p, .btn-o, .btn-glass { width:100%!important; text-align:center!important; padding:14px 20px!important; }

    /* STATS */
    .stats-band { grid-template-columns:1fr 1fr!important; gap:2px!important; padding:28px 4%!important; }
    .stat-n { font-size:2rem!important; }

    /* SECTIONS */
    section { padding:48px 4%!important; }
    h1 { font-size:2rem!important; }
    h2 { font-size:1.6rem!important; }

    /* FOOTER - 5-col → 1-col on mobile */
    .footer-grid { grid-template-columns:1fr!important; gap:28px!important; padding:40px 4% 28px!important; }
    .footer-bottom { flex-direction:column!important; text-align:center!important; gap:12px!important; }
    .footer-social { justify-content:center!important; }

    /* BUILDS PAGE */
    .prop-hero-grid { grid-template-columns:1fr!important; }
    .prop-hero-img img { height:280px!important; }
    .prop-side { grid-template-columns:1fr 1fr!important; grid-template-rows:auto!important; display:grid!important; gap:3px!important; }
    .prop-side .prop-side-img img { min-height:160px!important; height:160px!important; }
    .collage-2,.collage-3,.collage-4 { grid-template-columns:1fr!important; }
    .collage-3 .col-wide, .collage-4 .col-wide { grid-column:auto!important; }
    .specs-band { grid-template-columns:repeat(3,1fr)!important; }
    .room-grid { grid-template-columns:1fr!important; }
    .detail-grid { grid-template-columns:1fr 1fr!important; }
    .detail-card img { height:200px!important; }
    .price-banner { flex-direction:column!important; text-align:center!important; }
    .price-banner .btn-p, .price-banner a { width:100%!important; text-align:center!important; }

    /* SEAGOVILLE CARD */
    [id="seagoville"] > div:last-child { grid-template-columns:1fr!important; }

    /* ABOUT */
    .about-hero { grid-template-columns:1fr!important; padding:52px 4%!important; }
    .about-img-wrap { display:none!important; }
    .values-grid { grid-template-columns:1fr!important; }
    .stats-strip { grid-template-columns:1fr 1fr!important; }
    .pillars { margin-top:24px!important; }

    /* FLOOR PLANS */
    .fp-layout { grid-template-columns:1fr!important; gap:28px!important; }
    .fp-specs { grid-template-columns:1fr 1fr!important; }

    /* SERVICE AREA */
    .sa-layout { grid-template-columns:1fr!important; gap:28px!important; padding:48px 4%!important; }
    .markets-grid { grid-template-columns:1fr!important; }
    .why-grid { grid-template-columns:1fr!important; }

    /* PROCESS */
    .tl-grid { grid-template-columns:1fr!important; }
    .faq-grid { grid-template-columns:1fr!important; }

    /* CONTACT */
    .contact-layout { grid-template-columns:1fr!important; gap:28px!important; padding:48px 4%!important; }
    .c-form { grid-template-columns:1fr!important; }
    .full { grid-column:1!important; }
    .c-info-cards { gap:10px!important; }
    .social-row { flex-wrap:wrap!important; }
    /* Portal cards */
    [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; }

    /* INVESTORS */
    .returns-layout,.how-grid,.sec-grid,.prev-builds { grid-template-columns:1fr!important; }
    .track-stats { grid-template-columns:1fr 1fr!important; }
    .c-form { grid-template-columns:1fr!important; }
    .tl-grid,[style*="grid-template-columns:1fr 1fr;gap:0 72px"] { grid-template-columns:1fr!important; }

    /* TOP BAR CTA mobile */
    .top-bar-r a { font-size:10px!important; }

    /* MOB MENU */
    .mob-nav a { font-size:18px!important; }

    /* MARKET PILLS */
    .market-pills { gap:6px!important; }
    .market-pill { font-size:11px!important; padding:6px 12px!important; }

    /* LATEST SECTION */
    .latest-mosaic { grid-template-columns:1fr!important; }
    .latest-side { grid-template-columns:1fr 1fr!important; grid-template-rows:auto!important; }
    .latest-main img { height:280px!important; }
  }

  @media(max-width:480px){
    .stats-band { grid-template-columns:1fr 1fr!important; }
    .hero-specs { grid-template-columns:1fr 1fr!important; display:grid!important; }
    .specs-band { grid-template-columns:1fr 1fr!important; }
    .detail-grid { grid-template-columns:1fr!important; }
    h1 { font-size:1.8rem!important; }
    h2 { font-size:1.4rem!important; }
    .prop-side { grid-template-columns:1fr!important; }
    .latest-side { grid-template-columns:1fr!important; }
    .fp-specs { grid-template-columns:1fr 1fr!important; }
    .track-stats { grid-template-columns:1fr 1fr!important; }
  }


  /* site cleanup */
  .nav-pages a { padding:0 13px; }
  .nav-cta-btn { white-space:nowrap; }
  .footer-bottom p { color:rgba(255,255,255,0.55); }
  .footer-bottom p a { color:rgba(255,255,255,0.8); text-decoration:underline; margin-left:6px; }
  .footer-bottom p a:hover { color:var(--gl); }
  .footer-social a { color:rgba(255,255,255,0.55); }
  @media(max-width:1280px){ .main-nav { padding:0 3%; } .nav-pages a { padding:0 11px; letter-spacing:1px; } }
  @media(max-width:1180px){ .nav-pages { display:none; } .hamburger { display:flex; } }
  /* photo grid: main photo now fills the full height beside the two side photos */
  @media(min-width:961px){
    .prop-hero-grid { height:640px; }
    .prop-hero-img { height:100%; }
    .prop-hero-img img { height:100%; }
    .prop-side { height:100%; min-height:0; }
    .prop-side-img { min-height:0; }
    .prop-side-img img { position:absolute; inset:0; min-height:0; }
  }

  /* build cards + single-home pages */
  .build-card { display:grid; grid-template-columns:3fr 2fr; background:var(--wh); border:1px solid var(--bdr); }
  .build-card.small { grid-template-columns:2fr 3fr; }
  .bc-photo { position:relative; display:block; overflow:hidden; min-height:420px; }
  .build-card.small .bc-photo { min-height:300px; }
  .bc-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
  .bc-photo:hover img, .bc-photo:focus-visible img { transform:scale(1.03); }
  .bc-body { padding:44px 44px 40px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
  .bc-body h2 { margin-bottom:12px; }
  .bc-body h2 a { color:inherit; text-decoration:none; }
  .bc-body h2 a:hover { color:var(--cr); }
  .bc-specs { list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0 28px; }
  .bc-specs li { font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--txt); border-left:2px solid var(--cr); padding-left:9px; }
  .bc-btns { display:flex; gap:12px; flex-wrap:wrap; width:100%; }
  .bc-wrap { padding:56px 5%; }
  .bc-wrap.bg-alt { background:var(--warm); }
  .crumb { padding:18px 5%; background:var(--wh); border-bottom:1px solid var(--bdr); font-size:13px; }
  .crumb a { color:var(--cr); text-decoration:none; font-weight:600; letter-spacing:.5px; }
  .crumb a:hover { text-decoration:underline; }
  .home-cta { text-align:center; padding:64px 5% 72px; background:var(--wh); }
  .home-cta .bt { max-width:520px; margin:0 auto 28px; }
  @media(max-width:960px){
    .build-card, .build-card.small { grid-template-columns:1fr; }
    .bc-photo, .build-card.small .bc-photo { min-height:0; aspect-ratio:3/2; }
    .bc-body { padding:28px 22px 30px; }
    .bc-wrap { padding:36px 4%; }
  }
  .footer-bottom .eho { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,0.7); }
  .eho-logo { flex-shrink:0; }
  @media(max-width:1180px) and (min-width:1001px){ .nav-pages { display:flex; } .hamburger { display:none; } .nav-pages a { padding:0 10px; letter-spacing:.8px; } }
  [id="floor-plan"], [id="service-area"] { scroll-margin-top:120px; }

.nav-logo img { height:64px; width:auto; display:block; max-width:220px; object-fit:contain; }
.nav-pages a { padding:0 13px; } .nav-cta-btn { white-space:nowrap; }
.footer-bottom p { color:rgba(255,255,255,0.55); } .footer-bottom p a { color:rgba(255,255,255,0.8); text-decoration:underline; margin-left:6px; }
.footer-social a { color:rgba(255,255,255,0.55); } .footer-bottom .eho { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,0.7); }
@media(max-width:1280px){ .main-nav { padding:0 3%; } .nav-pages a { padding:0 11px; letter-spacing:1px; } }
@media(max-width:1100px){ .nav-pages { display:none; } .hamburger { display:flex; } }
@media(max-width:768px){ .nav-logo img { height:46px; max-width:160px; } }

/* ---- blog ---- */
.blog-hero { background:var(--warm); padding:64px 5% 44px; border-bottom:1px solid var(--bdr); }
.blog-hero h1 { color:var(--txt); font-size:clamp(2.2rem,4.6vw,3.4rem); margin-bottom:12px; }
.blog-list { max-width:1180px; margin:0 auto; padding:56px 5% 80px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.post-card { background:var(--wh); border:1px solid var(--bdr); display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.post-card:hover { border-color:var(--cr); }
.post-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:var(--stone); }
.post-card .pc-body { padding:22px 22px 26px; display:flex; flex-direction:column; gap:10px; }
.post-card h2 { font-size:1.3rem; line-height:1.3; margin:0; color:var(--txt); }
.post-card p { font-size:14px; color:var(--txt2); line-height:1.65; margin:0; }
.post-meta { font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--txt3); }
.post-meta .cat { color:var(--cr); font-weight:700; }
.blog-empty { max-width:640px; margin:0 auto; padding:72px 5% 96px; text-align:center; color:var(--txt2); }
.article-wrap { max-width:760px; margin:0 auto; padding:48px 5% 72px; }
.article-wrap .crumb-link { font-size:13px; color:var(--cr); text-decoration:none; font-weight:600; }
.article-wrap h1 { color:var(--txt); font-size:clamp(2rem,4.4vw,3rem); line-height:1.15; margin:18px 0 12px; }
.article-sub { font-size:1.15rem; color:var(--txt2); line-height:1.6; margin-bottom:16px; }
.article-hero-img { width:100%; height:auto; display:block; margin:26px 0 8px; }
.article-body { font-size:17px; line-height:1.8; color:var(--txt); }
.article-body h2 { font-size:1.6rem; margin:40px 0 12px; } .article-body h3 { font-size:1.25rem; margin:30px 0 10px; }
.article-body p { margin:0 0 18px; } .article-body ul, .article-body ol { margin:0 0 18px 24px; } .article-body li { margin-bottom:6px; }
.article-body a { color:var(--cr); } .article-body img { max-width:100%; height:auto; }
.article-body blockquote { border-left:3px solid var(--gd); padding:4px 0 4px 18px; color:var(--txt2); margin:0 0 18px; }
.article-body table { width:100%; border-collapse:collapse; margin:0 0 18px; font-size:15px; } .article-body th, .article-body td { border:1px solid var(--bdr); padding:8px 10px; text-align:left; }
section.article-faqs { margin-top:44px; border-top:1px solid var(--bdr); padding:28px 0 0; }
.article-faqs h2 { font-size:1.5rem; margin-bottom:16px; } .article-faqs details { border-bottom:1px solid var(--bdr); padding:14px 0; }
.article-faqs summary { font-weight:600; cursor:pointer; } .article-faqs details p { margin:10px 0 0; color:var(--txt2); }
.article-tags { margin-top:30px; display:flex; flex-wrap:wrap; gap:8px; } .article-tags span { font-size:12px; padding:5px 12px; background:var(--cream); border:1px solid var(--bdr); color:var(--txt2); }
.article-cta { margin-top:48px; padding:30px; background:var(--warm); border-left:3px solid var(--cr); }
.article-cta h2 { font-size:1.35rem; margin-bottom:8px; } .article-cta p { color:var(--txt2); margin-bottom:18px; }
@media(max-width:960px){ .blog-list { grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .blog-list { grid-template-columns:1fr; } .article-body { font-size:16px; } }
