@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --ink:#15181C;
  --asphalt:#24272C;
  --asphalt-2:#2F3339;
  --paper:#F3F2ED;
  --white:#FFFFFF;
  --signal:#FF5A1F;
  --signal-deep:#D6440E;
  --signal-tint:#FFE4D6;
  --slate:#5B5F66;
  --slate-light:#8A8E94;
  --line:#D9D7D0;
  --line-dark:rgba(255,255,255,0.14);
  --good:#2E7D5B;
  --good-bg:#E4F2EA;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.01em; color:var(--ink);}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}

/* ===== marker (section eyebrow as route marker) ===== */
.marker{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.marker-num{font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:var(--white); background:var(--signal); padding:3px 8px;}
.marker-label{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--slate);}
.marker-line{flex:1; height:1px; background-image:linear-gradient(90deg, var(--line) 0 6px, transparent 6px 12px); background-size:12px 1px; max-width:120px;}
.on-dark .marker-label{color:rgba(255,255,255,0.6);}
.on-dark .marker-line{background-image:linear-gradient(90deg, rgba(255,255,255,0.25) 0 6px, transparent 6px 12px);}

/* ===== NAV ===== */
header{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(243,242,237,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto;}
.logo{font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; color:var(--ink); letter-spacing:-0.01em; display:flex; align-items:center; gap:8px;}
.logo .tag{background:var(--ink); color:var(--white); font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; letter-spacing:0.06em; padding:3px 7px;}
.nav-links{display:flex; gap:28px; font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:0.03em; color:var(--slate);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{background:var(--signal); color:var(--white); font-weight:600; font-size:13px; padding:10px 18px; white-space:nowrap; border:1px solid var(--signal);}
.nav-cta:hover{background:var(--signal-deep); border-color:var(--signal-deep);}
@media (max-width:900px){ .nav-links{display:none;} }

/* ===== HERO ===== */
.hero{position:relative; min-height:92vh; display:flex; align-items:flex-end; background-size:cover; background-position:center; overflow:hidden;}
.hero .overlay{position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,18,20,0.92) 0%, rgba(15,18,20,0.55) 42%, rgba(15,18,20,0.25) 100%);}
.hero-cross{position:absolute; top:0; right:0; width:min(50vw,560px); height:min(50vw,560px); opacity:0.9; pointer-events:none;}
.hero-inner{position:relative; z-index:2; width:100%; padding:150px 0 46px;}
.status-pill{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; padding:6px 12px; font-weight:600; display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; border:1px solid rgba(255,255,255,0.3); color:#fff;}
.status-pill::before{content:''; width:7px; height:7px; background:var(--signal); display:block;}
.hero h1{color:#fff; font-size:clamp(42px,7.4vw,88px); font-weight:700; line-height:0.96; letter-spacing:-0.02em; text-transform:uppercase; max-width:900px;}
.hero h1 .u{display:inline-block; position:relative;}
.hero h1 .u::after{content:''; position:absolute; left:0; right:0; bottom:2px; height:11px; background:var(--signal); z-index:-1; opacity:0.9;}
.hero p.lead{color:rgba(255,255,255,0.8); font-size:clamp(15px,1.6vw,17px); max-width:480px; margin-top:22px; line-height:1.6;}
.hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.btn-primary{background:var(--signal); color:#fff; font-weight:600; font-size:14px; padding:15px 26px; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--signal);}
.btn-primary:hover{background:var(--signal-deep); border-color:var(--signal-deep);}
.btn-ghost{border:1px solid rgba(255,255,255,0.4); color:#fff; font-weight:600; font-size:14px; padding:15px 26px; display:inline-flex; align-items:center; gap:8px;}
.btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,0.08);}
.btn-outline-dark{border:1px solid var(--ink); color:var(--ink); font-weight:600; font-size:13.5px; padding:13px 22px; display:inline-flex; align-items:center; gap:8px;}
.btn-outline-dark:hover{background:var(--ink); color:#fff;}

/* ===== TICKER STRIP ===== */
.ticker{background:var(--ink); overflow:hidden; white-space:nowrap; border-bottom:1px solid var(--asphalt-2);}
.ticker-track{display:inline-flex; animation:scroll-left 32s linear infinite;}
.ticker-item{font-family:'JetBrains Mono',monospace; font-size:12.5px; color:rgba(255,255,255,0.75); padding:13px 28px; letter-spacing:0.03em; white-space:nowrap;}
.ticker-item b{color:var(--signal);}
@keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

/* ===== SECTION generic ===== */
section{position:relative; padding:96px 0;}
section.on-dark{background:var(--asphalt); color:#fff;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(28px,3.6vw,42px); text-transform:uppercase; letter-spacing:-0.01em;}
.on-dark .section-head h2{color:#fff;}
.section-head p{color:var(--slate); font-size:15.5px; margin-top:14px; line-height:1.65; max-width:560px;}
.on-dark .section-head p{color:rgba(255,255,255,0.65);}

/* ===== signage fact strip ===== */
.fact-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--asphalt-2); margin-top:8px;}
@media (max-width:760px){ .fact-strip{grid-template-columns:repeat(2,1fr);} }
.fact-box{background:var(--asphalt); padding:28px 22px;}
.fact-box .v{font-family:'JetBrains Mono',monospace; font-size:25px; font-weight:700; color:#fff;}
.fact-box .l{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--signal); text-transform:uppercase; letter-spacing:0.08em; margin-top:8px;}

.tag-row{margin-top:20px; display:flex; gap:10px; flex-wrap:wrap;}
.pin-tag{display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink); border:1px solid var(--line); padding:8px 13px; background:var(--white);}
.pin-tag::before{content:'▸'; color:var(--signal);}
.pin-tag.good{border-color:var(--good); color:var(--good);}

/* ===== image + text split ===== */
.split{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
@media (max-width:860px){ .split{grid-template-columns:1fr; gap:30px;} }
.split.rev{direction:rtl;}
.split.rev > *{direction:ltr;}
.split img{width:100%; display:block;}
.frame{position:relative; padding:14px;}
.frame::before, .frame::after{content:''; position:absolute; width:22px; height:22px; border:2px solid var(--signal); pointer-events:none;}
.frame::before{top:0; left:0; border-right:none; border-bottom:none;}
.frame::after{bottom:0; right:0; border-left:none; border-top:none;}

/* ===== amenities legend ===== */
.legend-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px;}
@media (max-width:1000px){ .legend-grid{grid-template-columns:repeat(3,1fr) !important;} }
@media (max-width:700px){ .legend-grid{grid-template-columns:repeat(2,1fr) !important;} }
@media (max-width:480px){ .legend-grid{grid-template-columns:1fr !important;} }
.legend-col{background:var(--paper); padding:24px 20px;}
.legend-col h4{font-family:'JetBrains Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; color:var(--signal-deep);}
.legend-col ul{list-style:none; font-size:13px; color:var(--slate); display:flex; flex-direction:column; gap:9px;}
.legend-col li{position:relative; padding-left:14px;}
.legend-col li::before{content:''; position:absolute; left:0; top:6px; width:5px; height:5px; background:var(--signal);}

/* ===== facilities chip grid ===== */
.promo-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.promo-item{background:var(--white); padding:16px 18px; font-size:13.5px; font-weight:600; display:flex; align-items:center; gap:10px;}
.promo-item::before{content:''; width:8px; height:8px; background:var(--signal); flex:none;}

.gallery-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:36px;}
@media (max-width:640px){ .gallery-grid{grid-template-columns:1fr;} }
.gallery-grid figure{position:relative; overflow:hidden;}
.gallery-grid img{width:100%; height:300px; object-fit:cover; display:block; transition:transform .4s ease;}
.gallery-grid figure:hover img{transform:scale(1.04);}
.gallery-grid figcaption{position:absolute; bottom:0; left:0; right:0; color:#fff; font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.04em; text-transform:uppercase; background:linear-gradient(0deg, rgba(21,24,28,0.85), transparent); padding:34px 16px 12px;}

/* ===== unit type / blueprint cards ===== */
.unit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px;}
@media (max-width:900px){ .unit-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .unit-grid{grid-template-columns:1fr;} }
.unit-card{background:var(--white); position:relative;}
.unit-card .u-img-wrap{position:relative; padding:18px;}
.unit-card .u-img-wrap::before, .unit-card .u-img-wrap::after{content:''; position:absolute; width:16px; height:16px; border:2px solid var(--line); pointer-events:none;}
.unit-card .u-img-wrap::before{top:8px; left:8px; border-right:none; border-bottom:none;}
.unit-card .u-img-wrap::after{bottom:8px; right:8px; border-left:none; border-top:none;}
.unit-card img{width:100%; height:340px; object-fit:contain; background:#fff;}
@media (max-width:900px){ .unit-card img{height:280px;} }
.unit-card .u-body{padding:16px 20px 22px; border-top:1px solid var(--line);}
.unit-card .u-type{font-family:'JetBrains Mono',monospace; font-size:11px; color:#fff; background:var(--signal); display:inline-block; padding:3px 8px; margin-bottom:10px;}
.unit-card h4{font-size:19px; margin-bottom:10px; font-family:'JetBrains Mono',monospace; font-weight:700;}
.unit-card .u-row{display:flex; justify-content:space-between; font-size:12.5px; color:var(--slate); padding:6px 0; border-top:1px dashed var(--line); font-family:'JetBrains Mono',monospace;}

/* ===== eligibility signage cards ===== */
.elig-box{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:10px;}
@media (max-width:760px){ .elig-box{grid-template-columns:1fr;} }
.elig-card{padding:30px 28px; border:2px solid var(--good); background:var(--good-bg);}
.elig-card.blocked{border:2px dashed var(--line); background:var(--white); opacity:0.75;}
.elig-card h4{font-size:16px; margin-bottom:16px; text-transform:uppercase; letter-spacing:-0.01em;}
.elig-card ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
.elig-card li{font-size:14px; color:var(--ink); padding-left:18px; position:relative; line-height:1.5;}
.elig-card li::before{content:'✓'; position:absolute; left:0; color:var(--good); font-weight:700;}
.elig-card.blocked li{color:var(--slate);}
.elig-card.blocked li::before{content:'—'; color:var(--slate-light);}

/* ===== video ===== */
.video-frame{display:block; position:relative; margin:8px auto 0; max-width:480px; overflow:hidden; background:#000; cursor:pointer; aspect-ratio:16/9; border:1px solid var(--line);}
.video-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.video-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:58px; height:58px; background:var(--signal); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .2s, transform .2s;}
.video-frame:hover .video-play{background:var(--signal-deep); transform:translate(-50%,-50%) scale(1.06);}

/* ===== lead form ===== */
.lead-section{background:var(--asphalt); color:#fff;}
.lead-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
@media (max-width:900px){ .lead-grid{grid-template-columns:1fr; gap:36px;} }
.lead-perks{display:flex; flex-direction:column; gap:16px; margin-top:28px;}
.perk{display:flex; gap:12px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,0.85);}
.perk::before{content:''; width:8px; height:8px; background:var(--signal); flex:none; margin-top:6px;}
.form-card{background:#fff; color:var(--ink); padding:36px; border-top:4px solid var(--signal);}
.form-card h3{font-size:19px; margin-bottom:6px; text-transform:uppercase;}
.form-card > p{font-size:13px; color:var(--slate); margin-bottom:24px;}
.field{margin-bottom:16px;}
.field label{display:block; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; margin-bottom:7px; color:var(--ink); text-transform:uppercase; letter-spacing:0.04em;}
.field input, .field select{width:100%; padding:12px 14px; border:1px solid var(--line); font-family:'Inter',sans-serif; font-size:14px; background:var(--paper); border-radius:0;}
.field input:focus, .field select:focus{outline:2px solid var(--signal); outline-offset:1px;}
.submit-btn{width:100%; background:var(--signal); color:#fff; font-weight:700; font-size:14.5px; padding:15px; border:none; cursor:pointer; margin-top:6px; text-transform:uppercase; letter-spacing:0.03em;}
.submit-btn:hover{background:var(--signal-deep);}
.form-note{font-size:11.5px; color:var(--slate-light); margin-top:14px; line-height:1.5;}

/* ===== footer ===== */
footer{background:var(--ink); color:rgba(255,255,255,0.55); padding:60px 0 28px; font-size:13px;}
.footer-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; margin-bottom:36px;}
.footer-logo{font-family:'Space Grotesk',sans-serif; font-size:19px; color:#fff; margin-bottom:10px; text-transform:uppercase;}
.footer-cols{display:flex; gap:60px; flex-wrap:wrap;}
.footer-col h5{font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--signal); margin-bottom:14px; font-family:'JetBrains Mono',monospace; font-weight:600;}
.footer-col a, .footer-col p{display:block; margin-bottom:9px; color:rgba(255,255,255,0.55);}
.footer-col a:hover{color:#fff;}
.disclaimer{border-top:1px solid rgba(255,255,255,0.12); padding-top:24px; font-size:11.5px; line-height:1.7; color:rgba(255,255,255,0.4); max-width:980px;}

.wa-float{position:fixed; bottom:24px; right:24px; z-index:200; background:var(--signal); color:#fff; width:54px; height:54px; display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:0 10px 25px -8px rgba(0,0,0,0.5);}
.wa-float:hover{background:var(--signal-deep);}

::selection{background:var(--signal); color:#fff;}

/* ===== mobile nav ===== */
.nav-burger{display:none; flex-direction:column; justify-content:center; align-items:flex-end; gap:5px; width:28px; height:22px; cursor:pointer; background:none; border:none; padding:0; margin-left:14px;}
.nav-burger span{display:block; height:2px; width:100%; background:var(--ink); transition:transform .25s ease, opacity .2s ease, width .2s ease;}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg); width:100%;}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg); width:100%;}
@media (max-width:900px){ .nav-burger{display:flex;} }

.mobile-nav{display:none; flex-direction:column; max-height:0; overflow:hidden; background:var(--paper); border-top:1px solid var(--line); transition:max-height .3s ease;}
.mobile-nav.open{max-height:400px;}
@media (max-width:900px){ .mobile-nav{display:flex;} }
.mobile-nav a{color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:14px; padding:14px 24px; border-bottom:1px dashed var(--line);}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav a.mobile-cta{color:var(--signal-deep); font-weight:700;}
