
:root { --blue:#082f73; --ink:#152337; --ice:#f2f6fb; --line:#d9e2ee; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.nav { height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:white; position:relative; z-index:10; }
.brand { display:flex; align-items:center; }
.flex-logo { width:190px; height:60px; object-fit:contain; object-position:left center; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:650; }
.nav-cta { background:var(--blue); color:white; padding:13px 19px; border-radius:2px; }
.hero { min-height:710px; height:calc(100vh - 82px); position:relative; overflow:hidden; color:white; }
.hero>img { height:100%; object-fit:cover; object-position:center 42%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,20,51,.9) 0%,rgba(4,29,67,.6) 43%,rgba(3,20,42,.05) 75%),linear-gradient(0deg,rgba(0,15,39,.55),transparent 50%); }
.hero-content { position:absolute; inset:0; padding:8vh 8vw 6vh; display:flex; flex-direction:column; justify-content:center; max-width:900px; }
.eyebrow { text-transform:uppercase; font-size:12px; letter-spacing:.2em; font-weight:750; margin:0 0 24px; }
.hero h1 { font-size:clamp(50px,7.2vw,98px); line-height:.91; letter-spacing:-.055em; margin:0; max-width:820px; }
.address { margin:28px 0 0; font-size:clamp(16px,2vw,22px); }
.hero-bottom { display:flex; align-items:end; gap:34px; margin-top:40px; }
.price { font-size:clamp(34px,4vw,56px); font-weight:750; letter-spacing:-.035em; margin:0; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 22px; font-size:13px; font-weight:700; }
.button.light { background:white; color:var(--blue); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); background:var(--blue); color:white; padding:26px 7vw; }
.stats div { display:flex; flex-direction:column; gap:3px; padding-left:26px; border-left:1px solid rgba(255,255,255,.28); }
.stats strong { font-size:27px; letter-spacing:-.03em; }
.stats span { font-size:11px; letter-spacing:.09em; text-transform:uppercase; opacity:.78; }
.intro { display:grid; grid-template-columns:.8fr 3.2fr; gap:5vw; padding:110px 9vw; }
.section-kicker { color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.intro h2,.potential-heading h2,.gallery-heading h2,.contact h2,.feature-copy h2 { font-size:clamp(38px,5vw,65px); line-height:1; letter-spacing:-.045em; margin:0 0 32px; }
.intro p { font-size:18px; line-height:1.68; max-width:760px; color:#455469; }
.intro-layout-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr); gap:5vw; align-items:start; }
.detail-facts { display:grid; grid-template-columns:1fr; margin-top:42px; border-top:1px solid var(--line); }
.detail-facts div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.detail-facts span { color:#66758a; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.detail-facts strong { color:var(--blue); font-size:15px; text-align:right; }
.floor-plan { margin:0; border:1px solid var(--line); background:white; box-shadow:0 18px 55px rgba(18,43,75,.08); }
.floor-plan img { width:100%; max-height:720px; object-fit:contain; }
.floor-plan figcaption { padding:14px 18px; border-top:1px solid var(--line); color:#66758a; font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.feature-band { display:grid; grid-template-columns:1fr 1fr; min-height:660px; background:var(--ice); }
.feature-band>img { height:100%; object-fit:cover; }
.feature-copy { padding:95px 9vw; }
.eyebrow.blue { color:var(--blue); }
.feature-copy ul { list-style:none; padding:0; margin:42px 0 0; display:grid; }
.feature-copy li { padding:13px 0; border-top:1px solid var(--line); font-size:15px; }
.potential-section { padding:115px 5vw; background:#f8fafc; }
.potential-heading { display:grid; grid-template-columns:1fr 2fr; gap:6vw; align-items:start; padding:0 4vw 65px; }
.potential-heading p { max-width:760px; margin:0; color:#526176; font-size:17px; line-height:1.65; }
.concept-list { display:grid; gap:28px; }
.concept-card { background:white; border:1px solid var(--line); padding:24px; box-shadow:0 18px 55px rgba(18,43,75,.08); }
.concept-copy { display:grid; grid-template-columns:1fr 2fr; gap:6vw; align-items:start; padding:10px 8px 22px; }
.concept-copy .eyebrow { margin:4px 0 0; }
.concept-copy>p:last-child { margin:0; max-width:730px; color:#526176; font-size:15px; line-height:1.6; }
.comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.comparison-grid figure { position:relative; margin:0; overflow:hidden; background:var(--ice); aspect-ratio:4/3; }
.comparison-grid img { width:100%; height:100%; object-fit:cover; }
.comparison-grid figcaption { position:absolute; left:14px; bottom:14px; padding:9px 12px; background:rgba(255,255,255,.92); color:var(--ink); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(8px); }
.comparison-grid figure:last-child figcaption { background:rgba(8,47,115,.9); color:white; }
.concept-disclosure { margin:24px auto 0; max-width:900px; color:#6d7b8d; font-size:11px; line-height:1.55; text-align:center; }
.gallery-section { padding:110px 5vw; }
.gallery-heading { display:grid; grid-template-columns:1fr 2fr; gap:6vw; align-items:start; padding:0 4vw 60px; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.gallery-grid figure { height:320px; margin:0; overflow:hidden; background:var(--ice); }
.gallery-grid figure.wide { grid-column:span 2; }
.gallery-grid img { height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-grid figure:hover img { transform:scale(1.025); }
.contact { background:var(--blue); color:white; padding:90px 9vw; display:flex; align-items:center; justify-content:space-between; gap:60px; }
.contact h2 { max-width:620px; margin-bottom:22px; }
.contact p:not(.eyebrow) { max-width:620px; line-height:1.6; opacity:.8; }
.contact-card { width:min(540px,100%); background:white; color:var(--ink); overflow:hidden; box-shadow:0 20px 55px rgba(0,12,35,.25); }
.contact-card-artwork { position:relative; }
.contact-card-image { width:100%; height:auto; aspect-ratio:7/4; object-fit:contain; background:#83959a; }
.card-hotspot { position:absolute; display:block; border-radius:5px; }
.card-hotspot:focus-visible { outline:3px solid white; outline-offset:3px; background:rgba(60,108,135,.22); }
.phone-hotspot { left:14.5%; top:7%; width:56%; height:17%; }
.email-hotspot { left:15%; top:26%; width:52%; height:13%; }
footer { display:flex; justify-content:space-between; gap:20px; padding:24px 5vw; font-size:10px; color:#6d7b8d; text-transform:uppercase; letter-spacing:.08em; }
@media (min-width:761px) and (max-width:1100px) {
  .intro { grid-template-columns:1fr; gap:28px; padding-inline:7vw; }
  .intro-layout-grid { grid-template-columns:minmax(0,1fr) 320px; gap:5vw; }
}
@media (max-width:760px) {
  .nav { height:68px; padding:0 20px; }.flex-logo { width:142px; height:48px; }.nav-links>a:not(.nav-cta) { display:none; }.nav-cta { padding:11px 14px; }
  .hero { min-height:640px; height:calc(100svh - 68px); }.hero-content { padding:80px 24px 46px; justify-content:flex-end; }
  .hero-shade { background:linear-gradient(0deg,rgba(1,20,51,.94),rgba(1,20,51,.15) 78%); }.hero h1 { font-size:52px; }
  .hero-bottom { align-items:center; justify-content:space-between; gap:14px; }.button { padding:0 15px; }
  .stats { grid-template-columns:repeat(2,1fr); gap:22px 0; padding:25px 20px; }
  .intro,.potential-heading,.gallery-heading { grid-template-columns:1fr; gap:25px; }.intro { padding:75px 24px; }.intro-layout-grid { grid-template-columns:1fr; gap:42px; }.detail-facts { grid-template-columns:1fr; }.floor-plan { width:min(100%,430px); margin:0 auto; }
  .feature-band { grid-template-columns:1fr; }.feature-copy { padding:70px 24px; }.feature-band>img { min-height:420px; }
  .potential-section { padding:75px 12px; }.potential-heading { padding:0 12px 42px; }.concept-card { padding:10px; }.concept-copy { grid-template-columns:1fr; gap:10px; padding:16px 8px 20px; }.comparison-grid { grid-template-columns:1fr; }.comparison-grid figure { aspect-ratio:4/3; }
  .gallery-section { padding:75px 12px; }.gallery-heading { padding:0 12px 40px; }.gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-grid figure,.gallery-grid figure.wide { grid-column:span 1; height:230px; }.gallery-grid figure:first-child { grid-column:span 2; height:300px; }
  .contact { padding:75px 24px; flex-direction:column; align-items:stretch; }.contact-card { min-width:0; }footer { flex-direction:column; }
}

body {font-size:16px;line-height:1.6} .nav-links,.button,.nav-cta{font-size:14px}.eyebrow,.section-kicker{font-size:14px}.hero{height:660px;min-height:0}.hero h1{font-size:clamp(44px,5.6vw,78px);line-height:1.04;letter-spacing:-.045em;max-width:780px}.hero-content{max-width:880px;padding:6vw}.hero>img{object-position:center 55%}.stats{grid-template-columns:repeat(5,1fr);padding:28px 5vw}.stats strong{font-size:26px}.stats span{font-size:14px}.intro{padding:80px 7vw}.intro h2,.gallery-heading h2,.contact h2,.feature-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.12}.intro p{max-width:850px}.feature-band{min-height:0;align-items:center}.feature-copy{padding:65px 7vw}.feature-copy p{color:#455469}.feature-band>figure{margin:0;padding:24px}.feature-band>figure img{height:auto}.feature-copy ul{margin-top:24px}.feature-copy li{font-size:16px}.gallery-section{padding:70px 5vw}.gallery-heading{padding-bottom:28px}.gallery-grid{grid-template-columns:1fr 1fr;gap:24px}.gallery-grid figure,.gallery-grid figure.wide{height:auto;grid-column:auto;overflow:visible}.gallery-grid img{height:auto;object-fit:contain}.gallery-grid figure:hover img{transform:none}figcaption{font-size:14px;color:#455469;padding:10px 0}.gallery-grid .full{grid-column:1/-1}.gallery-grid .full img{max-height:680px;object-fit:contain;background:var(--ice)}.meter img{max-height:420px;object-fit:contain}.contact{gap:40px}.contact>div{flex:1}.contact-card{flex:1}.contact a.text-link{text-decoration:underline;text-underline-offset:5px}.contact p:not(.eyebrow){opacity:1}footer{font-size:12px}.skip{position:absolute;left:10px;top:-80px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}a:focus-visible{outline:3px solid #d6a52a;outline-offset:5px}.disclosure{font-size:14px;color:#455469;margin:24px 0 0} .contact-card-image{aspect-ratio:auto}.contact-name{font-size:22px;font-weight:bold;margin-bottom:0}
@media(max-width:760px){.hero{height:650px;min-height:0}.hero-content{padding:32px 24px}.hero h1{font-size:46px}.hero>img{object-position:62% center}.stats{grid-template-columns:repeat(2,1fr)}.stats div:first-child{grid-column:1/-1}.intro{padding:60px 24px}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure:first-child{height:auto;grid-column:auto}.gallery-grid .full{grid-column:auto}.feature-copy{padding:50px 24px}.feature-band>figure{padding:0 24px 24px}.contact{padding:60px 24px}.gallery-heading{padding:0 12px 24px}.hero-bottom{justify-content:flex-start}.nav-links{gap:0}.hero-shade{background:linear-gradient(0deg,rgba(1,20,51,.96),rgba(1,20,51,.15) 100%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.plans-section{background:var(--ice)}.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.plan-card{padding:24px;background:white;border:1px solid var(--line)}.plan-card h3{font-size:20px;margin:0 0 20px}.plan-card img{width:100%;height:auto}.plan-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.plan-actions a{font-size:16px;color:var(--blue);text-decoration:underline;text-underline-offset:4px;padding:8px 0}@media(max-width:900px){.plans-grid{grid-template-columns:1fr}.plan-card{padding:16px}}
