:root{
--bg-deep:#1a1612;
--bg-dark:#2a2420;
--bg-card:#322b26;
--surface:#3d352e;
--white-soft:#f5f2ed;
--white-pure:#faf9f6;
--white-card:#2e2824;
--ink:#e8e2dc;
--ink-muted:#a89f96;
--ink-soft:#c4b8ad;
--ink-light:#d4cdc4;
--line:rgba(232,226,220,0.08);
--brand:#c9a55a;
--brand-light:#d4b872;
--accent:#8b6f4e;
--accent-warm:#a67c52;
--shadow:0 24px 60px rgba(0,0,0,0.4);
--shadow-soft:0 12px 32px rgba(0,0,0,0.3);
--radius-xl:24px;
--radius-lg:18px;
--radius-md:14px;
--radius-sm:10px;
--font-serif:"Cormorant Garamond",Georgia,serif;
--font-sans:"Manrope",system-ui,sans-serif;
}

*{
box-sizing:border-box;
margin:0;
padding:0;
}

html{
scroll-behavior:smooth;
scroll-padding-top:100px;
}

/* Fix for anchor links */
:target{
scroll-margin-top:100px;
}

body{
margin:0;
font-family:var(--font-sans);
background-color:var(--bg-deep);
background-image:
radial-gradient(ellipse at 0% 0%, rgba(201,165,90,0.05) 0%, transparent 50%),
radial-gradient(ellipse at 100% 100%, rgba(139,111,78,0.08) 0%, transparent 50%);
background-attachment:fixed;
color:var(--ink);
line-height:1.65;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}

img{
display:block;
max-width:100%;
border-radius:var(--radius-md);
transition:opacity 0.3s ease;
}

img[loading]{
opacity:0;
}

img.loaded,
img[loading="lazy"]{
opacity:1;
}

img:not([loading]){
opacity:1;
}

/* Image shimmer loading effect */
.masterplan-img img,
.amenity-card img{
background:linear-gradient(90deg, var(--bg-card) 25%, var(--surface) 50%, var(--bg-card) 75%);
background-size:200% 100%;
animation:shimmer 1.5s infinite;
}

.masterplan-img img.loaded,
.amenity-card img.loaded{
animation:none;
}

@keyframes shimmer{
0%{background-position:200% 0;}
100%{background-position:-200% 0;}
}

a{
color:inherit;
text-decoration:none;
}

button,
input,
select{
font:inherit;
}

.container{
width:min(1320px,calc(100% - 64px));
margin:0 auto;
}

.site-header{
position:-webkit-sticky;
position:sticky;
top:0;
z-index:1000;
-webkit-backdrop-filter:blur(20px);
backdrop-filter:blur(20px);
background-color:rgba(26,22,18,0.95);
background:rgba(26,22,18,0.95);
border-bottom:1px solid rgba(245,242,237,0.08);
box-shadow:0 8px 32px rgba(0,0,0,0.25);
-webkit-box-shadow:0 8px 32px rgba(0,0,0,0.25);
}

.nav-shell{
display:-webkit-box;
display:-webkit-flex;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-webkit-align-items:center;
-ms-flex-align:center;
align-items:center;
-webkit-box-pack:justify;
-webkit-justify-content:space-between;
-ms-flex-pack:justify;
justify-content:space-between;
gap:32px;
min-height:80px;
}

.brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
min-width:max-content;
}

.brand-mark{
width:52px;
height:52px;
object-fit:contain;
border-radius:12px;
background:linear-gradient(145deg, var(--bg-card) 0%, var(--surface) 100%);
padding:4px;
box-shadow:0 6px 16px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.05);
border:1px solid rgba(201,165,90,0.15);
}

.brand-copy{
display:flex;
flex-direction:column;
}

.brand-kicker{
font-size:10px;
letter-spacing:0.24em;
text-transform:uppercase;
color:var(--ink-muted);
font-weight:600;
}

.brand-name{
font-family:var(--font-serif);
font-size:32px;
line-height:1;
font-weight:600;
letter-spacing:-0.02em;
}

.site-nav{
display:flex;
gap:32px;
align-items:center;
}

.site-nav a{
text-decoration:none;
color:var(--ink-soft);
font-weight:500;
font-size:0.9rem;
position:relative;
letter-spacing:0.01em;
}

.site-nav a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:100%;
height:1.5px;
transform:scaleX(0);
transform-origin:left;
background:var(--brand);
transition:transform 0.25s ease;
}

.site-nav a:hover::after,
.site-nav a.is-active::after{
transform:scaleX(1);
}

.site-nav a:hover,
.site-nav a.is-active{
color:var(--ink);
}

.site-nav a:focus-visible{
outline:2px solid var(--brand);
outline-offset:4px;
border-radius:4px;
}

.nav-actions{
display:flex;
align-items:center;
gap:12px;
}

.menu-toggle{
display:none;
width:44px;
height:44px;
padding:0;
border:none;
background:transparent;
cursor:pointer;
}

.menu-toggle span{
display:block;
width:20px;
height:2px;
margin:4px auto;
background:var(--ink);
transition:transform 0.24s ease,opacity 0.24s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){
transform:translateY(6px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2){
opacity:0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3){
transform:translateY(-6px) rotate(-45deg);
}

.btn{
display:-webkit-inline-flex;
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:46px;
padding:0 24px;
border-radius:999px;
border:1px solid transparent;
text-decoration:none;
font-weight:600;
font-size:0.88rem;
letter-spacing:0.02em;
-webkit-transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease;
-moz-transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease;
-o-transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease;
transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease;
}

.btn:hover,
.btn:focus-visible{
transform:translateY(-2px);
box-shadow:0 12px 24px rgba(0,0,0,0.25);
}

.btn:focus-visible{
outline:2px solid var(--brand);
outline-offset:2px;
}

.btn-primary{
background:#c9a55a;
background-color:#c9a55a;
color:#1a1612;
border-color:#c9a55a;
}

.btn-primary:hover,
.btn-primary:focus-visible{
background:linear-gradient(135deg, #d4b872 0%, #b89a58 100%);
}

.btn-secondary{
  background:#c9a55a;
  border-color:#c9a55a;
  color:#1a1612;
}

.btn-secondary:hover,
.btn-secondary:focus-visible{
  background:rgba(232,226,220,0.14);
  border-color:rgba(232,226,220,0.25);
}

.btn-outline{
background:transparent;
border:2px solid #c9a55a;
color:#c9a55a;
}

.btn-outline:hover,
.btn-outline:focus-visible{
background:#c9a55a;
color:#1a1612;
}

.btn-accent{
background:transparent;
border:2px solid #c9a55a;
color:#c9a55a;
}

.btn-accent:hover{
background:#c9a55a;
color:#1a1612;
}

.btn-block{
width:100%;
}

/* Footer download links */
.footer-links .btn-download{
background:#c9a55a;
color:#1a1612;
padding:8px 16px;
border-radius:999px;
font-weight:600;
text-decoration:none;
display:inline-block;
font-size:0.85rem;
}

.footer-links .btn-download:hover{
background:#d4b872;
}

.hero{
position:relative;
overflow:hidden;
padding:120px 0 80px;
min-height:100vh;
display:flex;
align-items:center;
background:
radial-gradient(ellipse at 20% 30%, rgba(201,165,90,0.08) 0%, transparent 50%),
radial-gradient(ellipse at 80% 70%, rgba(139,111,78,0.1) 0%, transparent 50%),
var(--bg-deep);
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(26,22,18,0.6) 0%, rgba(26,22,18,0.3) 50%, rgba(26,22,18,0.7) 100%),
url("hero.jpg") center/cover no-repeat;
filter:brightness(0.6) saturate(0.85);
}

.hero .container{
position:relative;
z-index:1;
}

.hero-content{
max-width:720px;
position:relative;
}

.hero-content::before{
content:"";
position:absolute;
left:-40px;
top:-20px;
width:120px;
height:120px;
border:1px solid rgba(201,165,90,0.15);
border-radius:50%;
pointer-events:none;
}

.hero-content::after{
content:"";
position:absolute;
right:-60px;
bottom:20px;
width:80px;
height:80px;
background:radial-gradient(circle, rgba(201,165,90,0.1) 0%, transparent 70%);
border-radius:50%;
pointer-events:none;
}

.hero-badge{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 18px;
margin-bottom:24px;
border:1px solid rgba(201,165,90,0.25);
border-radius:999px;
background:rgba(201,165,90,0.1);
font-size:0.72rem;
font-weight:700;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--brand);
}

.hero-title{
font-family:var(--font-serif);
font-size:clamp(2.4rem,5vw,4rem);
font-weight:600;
line-height:1.1;
letter-spacing:-0.02em;
color:#fff;
margin:0 0 20px;
max-width:16ch;
}

.hero-subtitle{
font-size:1.05rem;
color:var(--ink-soft);
margin:0 0 28px;
max-width:52ch;
line-height:1.7;
position:relative;
text-shadow:0 2px 8px rgba(0,0,0,0.3);
}

.hero-cta{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-bottom:24px;
}

.hero-caption{
font-size:0.82rem;
letter-spacing:0.06em;
text-transform:uppercase;
color:var(--ink-muted);
font-style:italic;
margin:0;
}

.section{
padding:100px 0;
}

.section-alt{
background:
linear-gradient(180deg, rgba(46,40,36,0.98), rgba(26,22,18,0.95)),
radial-gradient(ellipse at 0% 20%, rgba(201,165,90,0.08), transparent 50%),
radial-gradient(ellipse at 100% 80%, rgba(255,255,255,0.03) 0%, transparent 40%);
position:relative;
}

.section-alt::before{
content:"";
position:absolute;
inset:0;
background-image:
radial-gradient(circle at 20% 30%, rgba(201,165,90,0.03) 1px, transparent 1px);
background-size:40px 40px;
pointer-events:none;
}

.section-alt .section-header h2{
color:#fff;
}

.section-alt .section-header p{
color:var(--ink-soft);
}

.section-alt .section-header{
text-align:center;
margin-left:auto;
margin-right:auto;
}

.section-dark{
background:
radial-gradient(ellipse at 0% 30%, rgba(201,165,90,0.08), transparent 50%),
radial-gradient(ellipse at 100% 70%, rgba(139,111,78,0.1), transparent 50%),
var(--bg-deep);
}

.section-header{
max-width:700px;
margin-bottom:40px;
text-align:center;
margin-left:auto;
margin-right:auto;
}

.eyebrow{
margin:0 0 12px;
font-size:10px;
font-weight:800;
letter-spacing:0.2em;
text-transform:uppercase;
color:var(--brand);
}

.section-header h2,
.section-header p{
margin:0;
}

.section-white{
background:
linear-gradient(180deg, var(--white-soft) 0%, var(--white-pure) 50%, var(--white-soft) 100%);
position:relative;
}

.section-white::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(ellipse at 0% 100%, rgba(201,165,90,0.08) 0%, transparent 50%);
pointer-events:none;
}

.section-white::after{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:60px;
height:3px;
background:var(--brand);
border-radius:2px;
}

.section-white .eyebrow{
color:var(--accent-warm);
}

.section-white .section-header h2{
color:#1a1612;
}

.section-white .section-header p{
color:#5a5550;
}

.section-white .section-header{
text-align:center;
margin-left:auto;
margin-right:auto;
}

.section-white .pricing-card{
background:linear-gradient(155deg, #fff 0%, #f8f5f0 100%);
border-color:rgba(26,22,18,0.08);
box-shadow:0 12px 32px rgba(26,22,18,0.08);
}

.section-white .pricing-card h3,
.section-white .pricing-card p{
color:#1a1612;
}

.section-white .pricing-card p{
color:#5a5550;
}

.section-white .pricing-tag{
background:rgba(201,165,90,0.15);
color:var(--accent-warm);
}

.section-white .pricing-card.featured{
background:linear-gradient(155deg, var(--bg-card) 0%, var(--bg-dark) 100%);
border-color:var(--brand);
}

.section-white .pricing-card.featured h3,
.section-white .pricing-card.featured p{
color:var(--ink);
}

.section-white .pricing-card.featured p{
color:var(--ink-soft);
}

/* White Section Enhancements */
.section-white .feature-item,
.section-white .info-point,
.section-white .amenity-card,
.section-white .trust-card,
.section-white .faq-item,
.section-white .location-item{
background:linear-gradient(155deg, #fff 0%, #f8f5f0 100%);
border-color:rgba(26,22,18,0.08);
box-shadow:0 8px 24px rgba(26,22,18,0.06);
}

.section-white .feature-item h3,
.section-white .info-point h3,
.section-white .amenity-card h3,
.section-white .trust-card h3,
.section-white .faq-item summary{
color:#1a1612;
}

.section-white .feature-item p,
.section-white .info-point p,
.section-white .amenity-card p,
.section-white .trust-card p,
.section-white .faq-item p{
color:#5a5550;
}

.section-white .info-point-num{
background:rgba(201,165,90,0.15);
color:var(--accent-warm);
}

.section-white .amenity-card-content h3{
color:#1a1612;
}

.section-white .amenity-card-content p{
color:#5a5550;
}

.section-white .chip-row span{
background:#fff;
border-color:rgba(26,22,18,0.1);
color:#3d352e;
}

.section-white .location-item strong{
color:var(--accent-warm);
}

.section-white .location-item span{
color:#5a5550;
}

.section-header h2{
font-family:var(--font-serif);
font-size:clamp(1.8rem,3vw,2.6rem);
font-weight:600;
line-height:1.15;
margin-bottom:12px;
color:var(--ink);
}

.section-header p{
color:var(--ink-soft);
font-size:0.95rem;
}

.split-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:start;
}

.feature-list{
display:grid;
gap:20px;
}

.feature-item{
display:flex;
gap:16px;
padding:20px;
border-radius:16px;
background:linear-gradient(145deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 8px 24px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.03);
}

.feature-icon{
font-size:1.8rem;
flex-shrink:0;
}

.feature-item h3{
margin:0 0 6px;
font-size:1rem;
font-weight:600;
}

.feature-item p{
margin:0;
color:var(--ink-soft);
font-size:0.9rem;
}

.quote-box{
margin-top:32px;
padding:28px;
border-radius:18px;
background:linear-gradient(145deg, rgba(201,165,90,0.12), rgba(139,111,78,0.08));
border:1px solid rgba(201,165,90,0.15);
box-shadow:0 12px 32px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.05);
position:relative;
overflow:hidden;
}

.quote-box::before{
content:"";
position:absolute;
top:0;
left:0;
width:4px;
height:100%;
background:var(--brand);
}

.quote-box p{
margin:0 0 12px;
font-size:1.05rem;
font-style:italic;
color:var(--ink);
line-height:1.6;
}

.quote-box span{
font-size:0.8rem;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--ink-muted);
}

.connectivity-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.connectivity-card,
.connectivity-panel{
padding:24px;
border-radius:18px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 10px 28px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.03);
}

.card-kicker{
display:inline-block;
margin-bottom:10px;
font-size:0.66rem;
font-weight:800;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--brand);
}

.connectivity-card h3,
.connectivity-panel h3{
margin:0 0 16px;
font-size:1.25rem;
font-family:var(--font-serif);
}

.connectivity-card ul{
list-style:none;
padding:0;
margin:0;
}

.connectivity-card li{
display:flex;
justify-content:space-between;
padding:14px 0;
border-top:1px solid rgba(232,226,220,0.06);
}

.connectivity-card li:first-child{
border-top:none;
padding-top:0;
}

.connectivity-card strong{
color:var(--brand);
white-space:nowrap;
}

.connectivity-panel{
background:linear-gradient(135deg, rgba(201,165,90,0.2), rgba(139,111,78,0.15));
border-color:rgba(201,165,90,0.15);
}

.connectivity-panel .eyebrow{
color:var(--brand-light);
}

.masterplan-grid{
display:grid;
grid-template-columns:1fr 0.85fr;
gap:32px;
align-items:start;
}

.masterplan-img img{
border-radius:var(--radius-lg);
box-shadow:var(--shadow-soft);
}

.masterplan-points{
display:grid;
gap:14px;
}

.info-point{
display:flex;
gap:14px;
padding:18px;
border-radius:14px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 8px 24px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.03);
}

.info-point-num{
width:40px;
height:40px;
flex-shrink:0;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:rgba(201,165,90,0.12);
color:var(--brand);
font-weight:800;
font-size:0.8rem;
}

.info-point h3{
margin:0 0 4px;
font-size:0.98rem;
font-weight:600;
}

.info-point p{
margin:0;
color:var(--ink-soft);
font-size:0.88rem;
}

.amenity-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-bottom:28px;
}

.amenity-card{
border-radius:18px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
overflow:hidden;
box-shadow:0 12px 28px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.03);
}

.amenity-card img{
width:100%;
aspect-ratio:16/10;
object-fit:cover;
}

.amenity-card-content{
padding:18px;
}

.amenity-card h3{
margin:0 0 6px;
font-family:var(--font-serif);
font-size:1.1rem;
}

.amenity-card p{
margin:0;
color:var(--ink-soft);
font-size:0.88rem;
}

.chip-row{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.chip-row span{
display:inline-flex;
align-items:center;
min-height:38px;
padding:0 16px;
border-radius:999px;
background:rgba(50,43,38,0.8);
border:1px solid rgba(232,226,220,0.08);
font-weight:500;
font-size:0.84rem;
color:var(--ink-soft);
}

.pricing-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.pricing-card{
padding:26px;
border-radius:20px;
background:linear-gradient(155deg, rgba(50,43,38,0.7), rgba(38,32,28,0.6));
border:1px solid rgba(232,226,220,0.08);
box-shadow:0 12px 32px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.03);
}

.pricing-card.featured{
background:linear-gradient(135deg, rgba(201,165,90,0.2), rgba(139,111,78,0.15));
border-color:rgba(201,165,90,0.2);
transform:translateY(-8px);
box-shadow:var(--shadow-soft);
}

.pricing-tag{
display:inline-flex;
align-items:center;
padding:6px 14px;
border-radius:999px;
background:rgba(201,165,90,0.15);
font-size:0.68rem;
font-weight:800;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--brand);
}

.pricing-card h3{
margin:14px 0 10px;
font-family:var(--font-serif);
font-size:1.3rem;
}

.pricing-card p{
margin:0 0 16px;
color:var(--ink-soft);
font-size:0.9rem;
}

.location-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:start;
}

.location-list{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.location-item{
padding:18px;
border-radius:14px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 8px 24px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.03);
}

.location-item strong{
display:block;
font-size:1.3rem;
color:var(--brand);
margin-bottom:4px;
}

.location-item span{
color:var(--ink-soft);
font-size:0.88rem;
}

.location-map{
padding:28px;
border-radius:18px;
background:linear-gradient(135deg, rgba(201,165,90,0.1), rgba(139,111,78,0.08));
border:1px solid rgba(201,165,90,0.1);
}

.location-map h3{
margin:0 0 4px;
font-family:var(--font-serif);
font-size:1.4rem;
color:#fff;
}

.location-map p{
margin:0 0 16px;
color:var(--ink-soft);
}

.location-map ul{
list-style:none;
padding:0;
margin:0 0 20px;
}

.location-map li{
padding:8px 0;
color:var(--ink-soft);
border-bottom:1px solid rgba(232,226,220,0.06);
}

.location-map li:last-child{
border-bottom:none;
}

.trust-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.trust-card{
padding:24px;
border-radius:16px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 10px 28px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.03);
}

.trust-card h3{
margin:0 0 8px;
font-size:1.05rem;
font-weight:600;
}

.trust-card p{
margin:0;
color:var(--ink-soft);
font-size:0.9rem;
}

.faq-list{
display:grid;
gap:12px;
}

.faq-item{
padding:18px 20px;
border-radius:14px;
background:linear-gradient(155deg, rgba(55,48,42,0.9), rgba(42,36,32,0.85));
border:1px solid rgba(232,226,220,0.06);
box-shadow:0 8px 20px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.03);
}

.faq-item summary{
cursor:pointer;
list-style:none;
font-weight:600;
font-size:0.95rem;
}

.faq-item summary::-webkit-details-marker{
display:none;
}

.faq-item p{
margin:10px 0 0;
color:var(--ink-soft);
font-size:0.9rem;
}

.contact-band{
display:grid;
grid-template-columns:1fr 1fr;
gap:36px;
padding:36px;
border-radius:22px;
background:linear-gradient(145deg, rgba(55,48,42,0.95), rgba(38,32,28,0.92));
border:1px solid rgba(201,165,90,0.12);
box-shadow:0 20px 50px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.03);
}

.contact-copy h2{
font-family:var(--font-serif);
font-size:clamp(1.6rem,2.5vw,2rem);
margin:0 0 12px;
color:#fff;
}

.contact-copy > p{
color:var(--ink-soft);
margin:0 0 24px;
}

.contact-points{
display:grid;
gap:12px;
}

.contact-point{
padding:14px 16px;
border-radius:12px;
background:rgba(55,48,42,0.6);
border:1px solid rgba(232,226,220,0.06);
transition:background 0.2s, transform 0.2s;
}

.contact-point:hover{
background:rgba(55,48,42,0.8);
transform:translateY(-2px);
}

.contact-point strong{
display:block;
margin-bottom:4px;
font-size:0.82rem;
color:var(--brand);
}

.contact-point p{
margin:0;
}

.contact-point a{
color:var(--ink);
font-weight:500;
}

.contact-form{
padding:24px;
border-radius:18px;
background:rgba(50,43,38,0.8);
border:1px solid rgba(232,226,220,0.08);
}

.contact-form h3{
margin:0 0 20px;
font-family:var(--font-serif);
font-size:1.4rem;
}

.lead-form{
display:grid;
gap:14px;
}

.field-group{
display:grid;
gap:6px;
}

.field-group label{
font-size:0.76rem;
font-weight:700;
letter-spacing:0.05em;
text-transform:uppercase;
color:var(--ink-muted);
}

.field-group input,
.field-group select{
width:100%;
min-height:46px;
padding:0 16px;
border:1px solid rgba(232,226,220,0.1);
border-radius:12px;
background:rgba(26,22,18,0.9);
color:var(--ink);
font-size:0.9rem;
transition:border-color 0.2s, box-shadow 0.2s;
}

.field-group input::placeholder{
color:var(--ink-muted);
}

.field-group input:focus,
.field-group select:focus{
outline:2px solid rgba(201,165,90,0.25);
border-color:var(--brand);
box-shadow:0 0 0 3px rgba(201,165,90,0.1);
}

.field-group.has-error input,
.field-group.has-error select{
border-color:#a65a4a;
background:rgba(166,90,74,0.1);
}

.field-error{
min-height:1.2em;
margin:0;
font-size:0.76rem;
color:#c97464;
}

.form-note{
margin:8px 0 0;
font-size:0.8rem;
color:var(--ink-muted);
}

.form-success{
padding:14px;
border-radius:12px;
background:rgba(201,165,90,0.15);
color:var(--brand);
font-weight:600;
font-size:0.88rem;
}

.site-footer{
padding:48px 0;
background:-webkit-linear-gradient(top, rgba(26,22,18,0) 0%, rgba(26,22,18,0.5) 100%);
background:linear-gradient(180deg, rgba(26,22,18,0) 0%, rgba(26,22,18,0.5) 100%);
}

.footer-grid{
display:grid;
grid-template-columns:1.5fr repeat(3,1fr);
gap:32px;
padding-bottom:24px;
border-bottom:1px solid rgba(232,226,220,0.08);
}

.footer-brand{
font-family:var(--font-serif);
font-size:1.6rem;
margin:0 0 8px;
}

.footer-about{
margin:0;
color:var(--ink-soft);
font-size:0.92rem;
max-width:36ch;
}

.footer-col p{
font-size:0.7rem;
font-weight:800;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--ink-muted);
margin:0 0 12px;
}

.footer-links{
display:grid;
gap:8px;
}

.footer-links a{
color:var(--ink-soft);
font-weight:500;
font-size:0.9rem;
transition:color 0.2s;
}

.footer-links a:hover{
color:var(--brand);
}

.footer-bottom{
padding-top:20px;
text-align:center;
}

.footer-bottom p{
margin:0;
font-size:0.84rem;
color:var(--ink-muted);
}

.sticky-cta{
display:none;
position:fixed;
left:14px;
right:14px;
bottom:14px;
z-index:1000;
grid-template-columns:repeat(3,1fr);
gap:8px;
padding:8px;
border-radius:16px;
background:rgba(42,36,32,0.95);
backdrop-filter:blur(14px);
box-shadow:0 16px 40px rgba(0,0,0,0.3);
border:1px solid rgba(232,226,220,0.08);
}

.sticky-cta a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
border-radius:12px;
text-decoration:none;
font-weight:700;
font-size:0.85rem;
}

.sticky-cta a:nth-child(1){
background:#c9a55a;
color:#1a1612;
}

.sticky-cta a:nth-child(1):hover{
background:#d4b872;
}

.sticky-cta a:nth-child(2){
background:#c9a55a;
color:#1a1612;
}

.sticky-cta a:nth-child(2):hover{
background:#d4b872;
}

.sticky-cta a:nth-child(3){
background:#c9a55a;
color:#1a1612;
}

.sticky-cta a:nth-child(3):hover{
background:#d4b872;
}

.modal{
position:fixed;
inset:0;
z-index:2000;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
}

.modal[aria-hidden="true"]{
display:none;
}

.modal-backdrop{
position:absolute;
inset:0;
background:rgba(26,22,18,0.85);
backdrop-filter:blur(6px);
}

.modal-content{
position:relative;
width:100%;
max-width:400px;
padding:28px;
border-radius:20px;
background:linear-gradient(160deg, #3d352e 0%, #2a2420 100%);
border:1px solid rgba(201,165,90,0.15);
box-shadow:0 28px 60px rgba(0,0,0,0.5), 0 0 80px rgba(201,165,90,0.08), inset 0 1px 0 rgba(255,255,255,0.05);
animation:modalIn 0.3s ease;
}

@keyframes modalIn{
from{opacity:0;transform:scale(0.96) translateY(10px);}
to{opacity:1;transform:scale(1) translateY(0);}
}

.modal-close{
position:absolute;
top:14px;
right:14px;
width:32px;
height:32px;
border:none;
background:rgba(232,226,220,0.08);
border-radius:50%;
font-size:22px;
line-height:1;
color:var(--ink-soft);
cursor:pointer;
transition:background 0.2s;
}

.modal-close:hover{
background:rgba(232,226,220,0.15);
}

.modal-header{
text-align:center;
margin-bottom:22px;
}

.modal-header h3{
margin:0 0 6px;
font-family:var(--font-serif);
font-size:1.6rem;
color:var(--ink);
}

.modal-header p{
margin:0;
color:var(--ink-soft);
font-size:0.88rem;
}

.download-form{
display:grid;
gap:12px;
}

.scroll-top{
position:fixed;
right:24px;
bottom:100px;
z-index:900;
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:linear-gradient(145deg, var(--bg-card), var(--bg-dark));
border:1px solid rgba(201,165,90,0.2);
color:var(--brand);
font-size:1.4rem;
font-weight:600;
box-shadow:0 8px 24px rgba(0,0,0,0.3);
opacity:0;
visibility:hidden;
transition:opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.3s, color 0.3s;
scroll-behavior:smooth;
}

.scroll-top.visible{
opacity:1;
visibility:visible;
}

.scroll-top:hover{
transform:translateY(-4px);
background:linear-gradient(145deg, var(--brand), var(--accent-warm));
color:#1a1612;
}

@media (max-width:1180px){
.hero-layout,
.split-layout,
.masterplan-grid,
.contact-band,
.location-grid{
grid-template-columns:1fr;
}

.amenity-grid,
.trust-grid,
.pricing-grid,
.connectivity-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media (max-width:900px){
.site-header{
background:rgba(26,22,18,0.96);
}

.menu-toggle{
display:block;
}

.nav-shell{
flex-wrap:wrap;
padding:14px 0;
}

.site-nav,
.nav-actions{
display:none;
width:100%;
}

.site-nav{
flex-direction:column;
align-items:flex-start;
padding:10px 0 4px;
gap:4px;
}

.site-nav.is-open,
.nav-actions.is-open{
display:flex;
}

.nav-actions{
padding-top:8px;
flex-direction:column;
gap:8px;
}

.nav-actions .btn{
width:100%;
}

.hero{
padding-top:80px;
min-height:auto;
padding-bottom:60px;
}

.amenity-grid,
.trust-grid,
.pricing-grid,
.connectivity-grid,
.location-list{
grid-template-columns:1fr;
}

.lead-form{
grid-template-columns:1fr;
}
}

@media (max-width:640px){
.container{
width:min(100% - 20px,1320px);
}

.brand-mark{
width:44px;
height:44px;
}

.brand-name{
font-size:26px;
}

.section{
padding:70px 0;
}

.hero-title{
font-size:2rem;
max-width:12ch;
}

.hero-subtitle{
font-size:0.95rem;
}

.hero-cta,
.contact-actions{
flex-direction:column;
align-items:stretch;
}

.btn,
.btn-block{
width:100%;
}

.footer-grid{
grid-template-columns:1fr;
}

.sticky-cta{
display:grid;
}

.site-footer{
padding-bottom:110px;
}

.scroll-top{
right:16px;
bottom:90px;
}
}

/* Extra small devices */
@media (max-width:480px){
.container{
width:calc(100% - 24px);
padding-left:12px;
padding-right:12px;
}

.hero{
padding:60px 0 40px;
min-height:auto;
}

.hero-content{
padding:0;
}

.hero-badge{
font-size:0.6rem;
padding:8px 12px;
}

.hero-title{
font-size:1.6rem;
}

.hero-subtitle{
font-size:0.9rem;
margin-bottom:20px;
}

.hero-caption{
font-size:0.7rem;
}

.section{
padding:50px 0;
}

.section-header h2{
font-size:1.4rem;
}

.section-header p{
font-size:0.85rem;
}

.amenity-grid,
.pricing-grid,
.trust-grid,
.connectivity-grid,
.location-list{
grid-template-columns:1fr;
}

.connectivity-card,
.connectivity-panel,
.pricing-card,
.feature-item,
.info-point,
.amenity-card,
.trust-card,
.location-item,
.quote-box{
padding:14px;
}

.quote-box p{
font-size:0.9rem;
}

.contact-band{
grid-template-columns:1fr;
padding:20px;
}

.contact-form,
.contact-copy{
padding:0;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.footer-col{
margin-bottom:16px;
}

.sticky-cta{
gap:6px;
padding:6px;
}

.sticky-cta a{
font-size:0.75rem;
min-height:36px;
}

.scroll-top{
display:none;
}

.location-grid{
grid-template-columns:1fr;
}
}