/* NovaReign Estates — Home visual refresh. Scoped to Home page; original files retained. */
:root{--nr-navy:#14243b;--nr-ink:#1d2a3c;--nr-ivory:#f7f5f0;--nr-gold:#b49a6b;--nr-line:#e7e4dc}
body{font-family:'DM Sans',sans-serif;background:var(--nr-ivory);color:var(--nr-ink)}
body,body *{font-family:'DM Sans',sans-serif}
h1,h2,h3{letter-spacing:-.035em}
.navbar{height:88px;padding:12px 6%;background:rgba(18,34,54,.94);backdrop-filter:blur(16px)}
.logo h2{display:flex;align-items:center;gap:9px;color:#fff;font-family:'Manrope',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.04em}
.brand-symbol{display:grid;place-items:center;border:1px solid rgba(203,173,114,.75);width:37px;height:37px;font-family:'Playfair Display',serif;font-size:27px;font-weight:400;color:#d6bb8c}
.brand-estates{font-size:10px;letter-spacing:.20em;color:#c8ae7b;font-weight:600;margin-left:1px}
.nav-links a{font-size:13px;letter-spacing:.045em;color:#eeeae3}
.nav-links a:hover{color:#d3b986}
.hero{height:min(800px,95svh);min-height:600px;background-position:center 48%;text-align:left;justify-content:flex-start;padding:120px max(7%,calc((100vw - 1200px)/2));}
.hero-overlay{background:linear-gradient(90deg,rgba(12,26,42,.81) 0%,rgba(12,26,42,.59) 52%,rgba(12,26,42,.19) 100%)}
.hero-content{width:min(100%,780px);padding-top:45px;animation:none}
.hero-eyebrow,.section-kicker{display:block;font-family:'Manrope',sans-serif;font-size:11px;letter-spacing:.23em;font-weight:800;color:var(--nr-gold);line-height:1.7}
.hero-eyebrow{color:#dfcbac;margin-bottom:26px}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(52px,6.25vw,90px);line-height:1.08;max-width:840px;margin:0 0 28px;text-shadow:none;letter-spacing:-.045em}
.hero h1 em{font-family:inherit;font-weight:400;color:#e7d1aa}
.hero p{font-size:17px;line-height:1.85;max-width:550px;margin:0 0 32px;color:#f1f0eb}
.hero-buttons{justify-content:flex-start;gap:12px}
.hero-buttons a{font-size:13px;font-weight:700;letter-spacing:.025em;display:inline-flex;align-items:center;justify-content:center;gap:18px;margin:0;padding:17px 26px;border-radius:3px;transition:.25s}
.hero-buttons .primary-btn{background:#c5aa79;color:#182940}
.hero-buttons .secondary-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65)}
.hero-buttons .primary-btn:hover{background:#dec394;transform:translateY(-2px)}
.hero-buttons .secondary-btn:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.welcome-strip{display:grid;grid-template-columns:1.1fr 1.2fr auto;align-items:center;gap:50px;padding:70px max(7%,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid var(--nr-line)}
.welcome-strip h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,43px);line-height:1.18;margin-top:10px}
.welcome-strip p{font-size:14px;line-height:1.95;color:#617084;margin:0}
.text-link{white-space:nowrap;font-weight:700;font-size:13px;color:#263b52;text-decoration:none;border-bottom:1px solid var(--nr-gold);padding-bottom:9px}
.featured,.services,.why-us,.testimonials{padding:110px max(7%,calc((100vw - 1200px)/2));}
.featured{text-align:center;background:var(--nr-ivory)}
.featured h2,.services h2,.why-us h2,.testimonials h2,.cta h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4.2vw,55px);font-weight:400;line-height:1.2;color:var(--nr-navy);margin:11px 0 16px}
.featured-subtitle,.services-subtitle,.testimonial-subtitle{font-size:15px;line-height:1.7;color:#718092;margin:0 auto 46px;max-width:600px}
.property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;text-align:left}
.property-card{border-radius:4px;box-shadow:0 8px 28px rgba(22,37,57,.055);transform:none;transition:transform .3s,box-shadow .3s}
.property-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(22,37,57,.11)}
.property-card img{height:250px}
.property-info{padding:24px}
.property-info h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:500;line-height:1.25;color:#1e3046}
.property-info p{font-size:13px;color:#77818b;line-height:1.6}
.property-info h4{font-size:19px;color:#192c42;margin:17px 0}
.property-info a{display:inline-block;background:transparent;color:#203449;border:1px solid #c8b58e;border-radius:3px;font-size:12px;letter-spacing:.05em;padding:12px 17px}
.badge{border-radius:2px;background:#e7d8b9;color:#26394a;font-size:10px;letter-spacing:.12em;top:15px;left:15px}
.services{text-align:center;background:#fff}
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{padding:34px 22px;background:#f8f7f3;border:1px solid #eae6dc;border-radius:3px;box-shadow:none;transition:.25s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(21,35,53,.06)}
.service-icon{font-size:30px;margin-bottom:24px}
.service-card h3{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:500;color:#20354b}
.service-card p{font-size:13px;color:#738091;line-height:1.8;margin-top:12px}
.why-us{background:var(--nr-ivory);text-align:center}
.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.why-card{border-radius:3px;text-align:left;background:#fff;color:#25394e;padding:30px 25px;border-top:2px solid #c6aa77}
.why-card h3{font-size:17px;line-height:1.5}
.why-card p{font-size:13px;line-height:1.8;color:#738092;margin-top:12px}
/* Unverified testimonials are not presented as endorsements in this preview. */
.testimonials{display:none}
.cta{background:#eae3d5;padding:100px 7%}
.cta h2{margin-top:12px}
.cta p{color:#59677a;line-height:1.8}
.cta a{background:#1b3048;border-radius:3px;padding:16px 30px;font-size:13px}
footer{background:#14243b;padding:70px 7% 115px;line-height:2.2;font-size:13px;color:#dee3e9}
footer h2{font-family:'Playfair Display',Georgia,serif;font-size:31px;font-weight:400;margin-bottom:15px;color:#fff}
footer>p:nth-child(2){max-width:640px;margin:0 auto 25px;line-height:1.9}
@media(max-width:1050px){.welcome-strip{grid-template-columns:1fr 1fr}.welcome-strip .text-link{grid-column:1/-1;justify-self:start}.services-grid,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.navbar{height:73px;flex-direction:row;gap:0;padding:10px 20px}.logo h2{font-size:15px}.brand-symbol{width:31px;height:31px;font-size:23px}.brand-estates{font-size:8px}.menu-toggle{top:17px;right:18px}.hero{height:auto;min-height:680px;min-height:calc(88svh - 28px);padding:135px 7% 100px;align-items:center;background-position:60% center}.hero-content{width:100%;padding-top:0}.hero-eyebrow{font-size:9px;letter-spacing:.18em;max-width:310px}.hero h1{font-size:clamp(46px,11vw,65px);margin-bottom:21px}.hero p{font-size:14px;line-height:1.8;margin-bottom:28px}.hero-buttons{flex-direction:row;align-items:stretch;gap:9px}.hero-buttons a{width:auto;padding:14px 16px;font-size:11px;margin:0}.welcome-strip{grid-template-columns:1fr;padding:55px 7%;gap:18px}.welcome-strip .text-link{grid-column:auto}.featured,.services,.why-us{padding:74px 6%}.property-grid{grid-template-columns:1fr;gap:18px}.property-card img{height:240px}.services-grid,.why-grid{grid-template-columns:1fr 1fr;gap:11px}.service-card,.why-card{padding:23px 16px}.service-icon{font-size:25px}.service-card h3{font-size:20px}.service-card p,.why-card p{font-size:12px}.cta{padding:75px 7%}.cta h2{font-size:39px}footer{padding:60px 7% 110px}.nav-buttons{background:#14243b!important}.nav-buttons .message-btn,.nav-buttons .email-btn{font-size:13px;min-width:0;white-space:nowrap}}
@media(max-width:380px){.hero h1{font-size:43px}.hero-buttons a{font-size:10px;padding:14px 12px}.services-grid,.why-grid{grid-template-columns:1fr}}


/* Version 2: focused refinements for narrow screens only. */
@media (max-width: 768px) {
  /* Compact dropdown: override the original large 35vh mobile panel. */
  #nav-menu {
    top: 73px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #14243b !important;
    border-top: 1px solid rgba(220,195,150,.18);
    box-shadow: 0 14px 25px rgba(9,20,35,.14);
    transition: max-height .25s ease, height .25s ease !important;
  }
  #nav-menu.active {
    display: block !important;
    height: 252px !important;
    max-height: 252px !important;
    padding: 8px 0 12px !important;
    overflow-y: auto !important;
  }
  #nav-menu .nav-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    align-items: stretch;
  }
  #nav-menu .nav-links li { width: 100%; }
  #nav-menu .nav-links a {
    display: block !important;
    padding: 12px 20px !important;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: .06em;
    text-align: center;
  }
  #nav-menu .nav-links a:focus-visible {
    outline: 2px solid #c5aa79;
    outline-offset: -3px;
  }
  /* Comfortable, equal-width CTAs that don't collide on mobile. */
  .hero-buttons { display: flex; flex-direction: row; gap: 12px; align-items: stretch; }
  .hero-buttons a {
    flex: 1 1 0;
    min-width: 0;
    padding: 15px 9px;
    font-size: 11px;
    gap: 5px;
    line-height: 1.4;
    text-align: center;
  }
  /* Readable property information without overpowering the photo. */
  .property-info { padding: 22px 20px 24px; }
  .property-info h3 { font-size: 21px; line-height: 1.3; margin-bottom: 12px; overflow-wrap: anywhere; }
  .property-info p { font-size: 13px; line-height: 1.65; margin: 8px 0; }
  .property-info h4 { font-size: 20px; margin: 17px 0 19px; }
  .property-info a { font-size: 12px; padding: 12px 17px; }
}
@media (max-width: 390px) {
  .hero-buttons { flex-direction: column; gap: 10px; align-items: stretch; }
  .hero-buttons a { flex: auto; width: 100%; padding: 14px 12px; font-size: 12px; }
  .property-info h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #nav-menu { transition: none !important; }
}
