/* Self-hosted fonts (SIL Open Font License): Source Sans 3 for text, Cormorant Garamond for headings */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/source-sans-3-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/source-sans-3-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/source-sans-3-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-latin-ext-300-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-latin-300-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/cormorant-garamond-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#14202b;--ink2:#2b3a47;--slate:#6f8799;--sky:#2f7fc4;--copper:#b5683a;--copper-d:#9a5530;--sage:#5f7a6a;--paper:#faf8f4;--sand:#f1ece3;--line:#e3ddd1;--white:#fff;--r:14px;--shadow:0 10px 30px rgba(20,32,43,.12);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Source Sans 3',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 var(--sans);color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}a{color:var(--copper-d)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.2rem,5.2vw,4rem)}h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}h3{font-size:1.45rem}
p{margin:0 0 1em}.muted{color:#5b6a76}.muted-l{color:#b9c4cc;font-size:.95rem}.muted-l a{color:#e9c9ae}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-d);font-weight:700;margin-bottom:.8rem}
.section{padding:72px 0}.section.alt{background:var(--sand)}.section.dark{background:var(--ink);color:#e8edf1}.section.dark h2,.section.dark h3{color:#fff}
.lead{font-size:1.12rem;color:var(--ink2);max-width:760px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
/* buttons */
.btn{display:inline-block;border:0;border-radius:999px;background:var(--copper);color:#fff;font:700 .95rem var(--sans);padding:14px 26px;cursor:pointer;text-decoration:none;transition:.2s}
.btn:hover{background:var(--copper-d)}.btn-sm{padding:9px 18px;font-size:.88rem}.btn-block{width:100%;margin-top:6px}
.btn-ghost{background:transparent;border:1.5px solid currentColor;color:inherit}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--ink)}.btn-dark:hover{background:#000}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4rem}
/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s,box-shadow .25s;color:#fff}
.site-header .bar{display:flex;align-items:center;gap:20px;height:74px}
.inner .site-header,.site-header.solid{background:rgba(20,32,43,.97);box-shadow:0 2px 14px rgba(0,0,0,.18)}
.home .site-header:not(.solid){background:linear-gradient(rgba(10,18,26,.65),transparent)}
.brand{text-decoration:none;color:#fff;display:flex;flex-direction:column;line-height:1.1;margin-right:auto}
.brand-name{font-family:var(--serif);font-size:1.55rem;font-weight:700;letter-spacing:.03em}.brand-name.light{color:#fff;font-size:1.5rem}
.brand-sub{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.nav{display:flex;gap:22px}.nav a{color:#fff;text-decoration:none;font-size:.92rem;font-weight:500;opacity:.9;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{opacity:1;border-color:var(--copper)}
.bar-cta{display:flex;align-items:center;gap:14px}.tel{color:#fff;text-decoration:none;font-weight:700;font-size:.92rem}
.burger{display:none;background:none;border:0;width:40px;height:40px;padding:8px;cursor:pointer}
.burger span{display:block;height:2px;background:#fff;margin:6px 0;transition:.2s}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:#14202b url('/assets/img/hero-towers-road.jpg') center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,26,.55) 0%,rgba(10,18,26,.25) 35%,rgba(10,18,26,.88) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end;padding-top:130px;padding-bottom:46px;width:100%}
.hero h1{color:#fff;margin-bottom:.35em}.hero .sub{font-size:1.15rem;max-width:620px;opacity:.95}
.hero .tag{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 14px;font-size:.82rem;margin:0 8px 8px 0;backdrop-filter:blur(4px)}
.hero .price{font-family:var(--serif);font-size:1.9rem;font-weight:600;margin:1rem 0 .2rem}.hero .price small{font-family:var(--sans);font-size:.82rem;opacity:.8;font-weight:400}
.art{position:absolute;right:18px;bottom:64px;font-size:.72rem;opacity:.75;z-index:2}
.hero-card{background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.hero-card h2{font-size:1.5rem;margin-bottom:.2em;color:var(--ink)}
.page-hero{padding:130px 0 54px;background:var(--ink);color:#fff}.page-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem)}.page-hero p{max-width:720px;opacity:.9;margin:0}
.crumb{font-size:.82rem;opacity:.75;margin-bottom:.8rem}.crumb a{color:#fff}
/* stats */
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:0;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);margin-top:-44px;position:relative;z-index:3}
.stat{padding:22px 14px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}
.stat b{display:block;font-family:var(--serif);font-size:2rem;color:var(--copper-d);line-height:1.1}.stat span{font-size:.82rem;color:#5b6a76}
/* grids / cards */
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card .body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{margin-bottom:.3em}
.card .img{aspect-ratio:4/3;background:#fff;object-fit:contain;border-bottom:1px solid var(--line)}
.price-tag{font-family:var(--serif);font-size:1.9rem;font-weight:700;color:var(--copper-d);margin:.3rem 0}.price-tag small{font-family:var(--sans);font-size:.8rem;color:#5b6a76;font-weight:400}
.spec{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:.92rem;margin:.6rem 0 1rem}.spec dt{color:#5b6a76}.spec dd{margin:0;font-weight:700;text-align:right}
.card .btn{margin-top:auto;text-align:center}
.photo{border-radius:var(--r);overflow:hidden;position:relative}.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption,.cap{font-size:.76rem;color:#5b6a76;margin-top:6px}.photo figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:18px 12px 8px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--sage);color:#fff;margin-left:6px;vertical-align:middle}.badge.fut{background:var(--slate)}
/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.94rem;min-width:560px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--sand);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}tr:last-child td{border:0}td.num,th.num{text-align:right}
.note{font-size:.84rem;color:#5b6a76}.callout{background:#fff;border-left:4px solid var(--copper);padding:16px 20px;border-radius:8px;margin:1.4rem 0}
/* tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tab{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font:600 .9rem var(--sans);cursor:pointer;color:var(--ink)}
.tab[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.panel[hidden]{display:none}
/* lists */
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:7px 0 7px 28px;position:relative;border-bottom:1px solid var(--line)}.ticks li:before{content:"";position:absolute;left:4px;top:15px;width:10px;height:6px;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(-45deg)}
.dist{display:grid;grid-template-columns:1fr auto;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.dist div{padding:12px 16px;border-bottom:1px solid var(--line)}.dist div:nth-last-child(-n+2){border:0}.dist .d{font-weight:700;text-align:right;color:var(--copper-d)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.88rem}
/* gallery */
.gal{columns:3;column-gap:14px}.gal figure{margin:0 0 14px;break-inside:avoid;cursor:zoom-in;position:relative;border-radius:10px;overflow:hidden}.gal img{width:100%}.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 12px 8px;color:#fff;font-size:.8rem;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.lightbox{position:fixed;inset:0;background:rgba(5,10,15,.93);z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.lightbox[hidden]{display:none}.lightbox img{max-height:82vh;max-width:96vw;object-fit:contain}.lightbox p{color:#fff;margin:12px 0 0;font-size:.9rem}
.lb-x{position:absolute;top:14px;right:20px;color:#fff;font-size:2.2rem;background:none;border:0;cursor:pointer}
/* faq */
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}summary{padding:16px 20px;font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:46px}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:20px;top:12px;font-size:1.4rem;color:var(--copper)}details[open] summary:after{content:"–"}details div{padding:0 20px 16px;color:var(--ink2)}
/* forms */
.lead-form{display:grid;gap:12px}.lead-form.compact{gap:9px}.field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:4px;color:var(--ink2)}
.field input,.field select{width:100%;padding:12px 13px;border:1.5px solid #cfc8ba;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus{outline:2px solid var(--sky);border-color:var(--sky)}
.phone-row{display:grid;grid-template-columns:116px 1fr;gap:8px}
.lead-form.compact .field:nth-of-type(n+3){display:none}.lead-form.compact .field:nth-of-type(4),.lead-form.compact .field:nth-of-type(5){display:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.consent{display:flex;gap:9px;font-size:.78rem;color:#5b6a76;align-items:flex-start}.consent input{margin-top:3px}
.form-msg{margin:0;font-size:.9rem;min-height:1.2em}.form-msg.ok{color:#1d6b3a;font-weight:700}.form-msg.err{color:#b3261e;font-weight:700}
.form-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
/* modal, sticky, cookie */
.modal{position:fixed;inset:0;background:rgba(10,18,26,.7);z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:var(--r);padding:28px;max-width:480px;width:100%;position:relative;max-height:94vh;overflow:auto}.modal-box h2{font-size:1.7rem}
.modal-x{position:absolute;right:14px;top:8px;border:0;background:none;font-size:2rem;cursor:pointer;color:var(--ink)}
.sticky-bar{display:none}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;background:var(--ink);color:#fff;padding:16px 18px;border-radius:12px;z-index:70;font-size:.88rem;box-shadow:var(--shadow)}.cookie[hidden]{display:none}.cookie p{margin:0 0 10px}
/* footer */
.site-footer{background:#0e1820;color:#fff;padding:60px 0 24px}.foot-grid{display:grid;grid-template-columns:1.3fr .8fr 1.2fr;gap:40px}.foot-h{font-weight:700;margin:0 0 .6rem;letter-spacing:.04em}
.foot-links{list-style:none;padding:0;margin:0;columns:2}.foot-links a{color:#b9c4cc;text-decoration:none;font-size:.95rem;line-height:2}.foot-links a:hover{color:#fff}
.disclaimer{margin-top:34px;padding-top:22px;border-top:1px solid #23323f;font-size:.78rem;color:#93a2ad}.disclaimer a{color:#e9c9ae}.copy{margin-top:14px;font-size:.78rem;color:#93a2ad}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 62px;position:relative}.steps li:before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--copper);color:#fff;font-weight:700;display:grid;place-items:center}
@media(max-width:980px){
  .nav{position:fixed;top:74px;left:0;right:0;background:var(--ink);flex-direction:column;gap:0;padding:8px 20px 20px;max-height:0;overflow:hidden;opacity:0;transition:.25s}.nav.open{max-height:80vh;opacity:1}.nav a{padding:14px 0;border-bottom:1px solid #23323f}
  .burger{display:block}.tel{display:none}.hero .wrap{grid-template-columns:1fr}.hero-card{display:none}
  .stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3){border-right:0}.stat:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:28px}.foot-grid{grid-template-columns:1fr}.gal{columns:2}
}
@media(max-width:640px){
  body{padding-bottom:58px}.section{padding:52px 0}.g2,.g3,.g4{grid-template-columns:1fr}.gal{columns:1}.stats{grid-template-columns:repeat(2,1fr);margin-top:-30px}.stat:nth-child(odd){border-right:1px solid var(--line)}.stat:nth-child(even){border-right:0}.stat:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .stat:nth-child(3){border-right:1px solid var(--line)}.btn-row .btn{flex:1;text-align:center}.hero{min-height:94svh}.hero .price{font-size:1.5rem}.bar-cta .btn{display:none}.brand-name{font-size:1.35rem}
  .sticky-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);box-shadow:0 -4px 16px rgba(0,0,0,.25)}
  .sticky-bar a,.sticky-bar button{background:none;border:0;border-right:1px solid #2b3a47;color:#fff;font:700 .9rem var(--sans);padding:16px 0;text-align:center;text-decoration:none}.sticky-bar button{background:var(--copper);border:0}
  .cookie{bottom:70px}.phone-row{grid-template-columns:100px 1fr}.form-box{padding:20px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:640px){.hero:before{background:linear-gradient(180deg,rgba(10,18,26,.7) 0%,rgba(10,18,26,.6) 45%,rgba(10,18,26,.92) 100%)}.art{display:none}}

.gflex{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}.gflex>.card{flex:1 1 calc(33.333% - 22px);max-width:calc(33.333% - 15px);min-width:260px}
.price-tag .req{font-family:var(--sans);font-size:1.05rem;font-weight:700;color:var(--ink2)}
.card h3 .sz{display:block;font-family:var(--sans);font-size:.85rem;font-weight:500;color:#5b6a76}
.noplan{display:grid;place-items:center;text-align:center;background:var(--sand);color:#5b6a76;font-weight:700;padding:20px}.noplan.big{min-height:260px;border:1px dashed #cfc8ba;border-radius:var(--r);gap:6px;align-content:center}.noplan.big p{margin:0 0 .6em}
@media(max-width:980px){.gflex>.card{flex-basis:calc(50% - 22px);max-width:calc(50% - 11px)}}
@media(max-width:640px){.gflex>.card{flex-basis:100%;max-width:100%}}

/* ===== v2 premium layer: slider hero, icon cards, viewer, distance map, page heroes ===== */
.ic{width:1.4em;height:1.4em;flex:none;vertical-align:middle}
.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:28px;height:2px;background:var(--copper);flex:none}
.center .eyebrow{justify-content:center}.center .eyebrow:after{content:"";width:28px;height:2px;background:var(--copper);flex:none}
.hero .eyebrow:before{background:#f1c9a5}
.btn{box-shadow:0 8px 20px rgba(181,104,58,.28)}.btn-ghost,.btn-dark{box-shadow:none}
.section.dark{background:radial-gradient(circle at 82% 0,#1f3344 0,var(--ink) 62%)}
/* reveal */
.rv .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.rv .reveal.in{opacity:1;transform:none}
/* hero slider */
.hero{background-color:#14202b}
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hs{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}
.hs.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero:before{z-index:1;background:linear-gradient(180deg,rgba(10,18,26,.62) 0%,rgba(10,18,26,.22) 38%,rgba(10,18,26,.9) 100%),linear-gradient(90deg,rgba(10,18,26,.55),transparent 65%)}
.hero .wrap{z-index:2}
.hero-ui{position:absolute;left:0;right:0;bottom:62px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px}
.hero-ui .art{position:static;font-size:.74rem;opacity:.85}
.hdots{display:flex;gap:8px}.hdots button{width:26px;height:4px;border:0;border-radius:4px;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.3s}.hdots button.on{background:#f1c9a5;width:42px}
.stat .ic{display:block;width:28px;height:28px;color:var(--copper);margin:0 auto 6px}
.stats{border-top:3px solid var(--copper)}
/* icon cards */
.hl{background:linear-gradient(180deg,#fff,var(--paper))}
.icards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.icard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.icard:hover,.ic-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d9b79c}
.icard h3{font-size:1.28rem;margin-bottom:.3em}.icard p{margin:0;color:#5b6a76;font-size:.93rem}
.icb{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f8eadf,#efd3bb);color:var(--copper-d);margin-bottom:14px;flex:none}
.icb .ic{width:27px;height:27px}.icb.sm{width:42px;height:42px;margin:0}.icb.sm .ic{width:21px;height:21px}
.dark .icb{background:rgba(255,255,255,.1);color:#f1c9a5}
.card{transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ic-card .body{align-items:flex-start}
.photo img,.gal img{transition:transform .9s ease}.photo:hover img,.gal figure:hover img{transform:scale(1.04)}
img.zoom{cursor:zoom-in}
/* amenity strip + tiles */
.astrip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin-top:28px}.astrip div{display:flex;align-items:center;gap:10px;color:#dfe6ea;font-size:.92rem}
.atiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.atile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 14px;transition:transform .2s,border-color .2s}
.atile:hover{border-color:var(--copper);transform:translateY(-2px)}.atile .an{flex:1;font-size:.92rem;font-weight:500;line-height:1.3}.atile .badge{margin:0;font-size:.66rem;white-space:nowrap}
/* unit viewer */
.viewer{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.vtabs{display:flex;overflow-x:auto;background:var(--ink);scrollbar-width:none}.vtabs::-webkit-scrollbar{display:none}
.vtabs .tab{flex:1 0 auto;border:0;border-radius:0;background:transparent;color:#c3cfd7;padding:16px 22px;text-align:left;border-bottom:3px solid transparent;display:flex;flex-direction:column;gap:2px;font:600 .95rem var(--sans);white-space:nowrap}
.vtabs .tab small{font-weight:400;opacity:.75;font-size:.8rem}
.vtabs .tab:hover{color:#fff}.vtabs .tab[aria-selected=true]{background:rgba(255,255,255,.08);color:#fff;border-color:transparent;border-bottom-color:var(--copper)}
.vpanel{display:grid;grid-template-columns:1.1fr .9fr;animation:fadein .5s}.panel[hidden]{display:none}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vplan{background:#fbfaf7;display:grid;place-items:center;padding:24px;position:relative;min-height:340px}.vplan img{max-height:460px;width:100%;object-fit:contain}
.zhint{position:absolute;right:14px;bottom:12px;font-size:.72rem;background:rgba(20,32,43,.75);color:#fff;padding:3px 10px;border-radius:999px}
.vinfo{padding:32px 34px}.vinfo h3{font-size:1.9rem;margin-bottom:.1em}
.vbars{margin:14px 0 8px}.vb{display:grid;grid-template-columns:104px 1fr auto;gap:12px;align-items:center;font-size:.9rem;margin:11px 0}
.vb-bar{height:8px;background:var(--sand);border-radius:99px;overflow:hidden}.vb-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--copper),#dba274);border-radius:99px}.vb b{min-width:84px;text-align:right}
/* distance map and bars */
.dmap-wrap{max-width:880px;margin:30px auto 0}.dmap{width:100%;height:auto;display:block}
.ring{fill:none;stroke:#d5cdbe;stroke-dasharray:3 6}.rl{font:600 11px var(--sans);fill:#8a97a1}
.ld{stroke:#cdbfae;stroke-width:1}.dot{fill:var(--copper);transition:r .2s}.dot2{fill:#cdbfae}
.nm{font:600 15px var(--sans);fill:var(--ink)}.nm.c{font-size:16px;font-family:var(--serif);font-weight:700}.km{font:700 14px var(--sans);fill:var(--copper-d)}
.core{fill:var(--ink)}.core-r{fill:none;stroke:var(--copper);stroke-width:2}.core-i{color:#fff;fill:none;stroke:#fff}
.node.hi .dot{r:9}.node.hi .nm{fill:var(--copper-d)}
.dbars{display:grid;gap:15px}.db{display:flex;gap:14px;align-items:center}
.db-i{width:40px;height:40px;border-radius:50%;background:#f4e4d6;color:var(--copper-d);display:grid;place-items:center;flex:none}.db-i .ic{width:20px;height:20px}
.db-b{flex:1;min-width:0}.db-t{display:flex;justify-content:space-between;gap:10px;font-size:.93rem}.db-t b{color:var(--copper-d);white-space:nowrap}
.db-bar{height:7px;background:var(--sand);border-radius:99px;margin-top:6px;overflow:hidden}.db-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--copper),#dba274);border-radius:99px}
.dbars-m{display:none;max-width:640px;margin:26px auto}
/* page heroes with images */
.page-hero{position:relative;overflow:hidden;padding:150px 0 78px;background:var(--ink) center/cover no-repeat}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,24,32,.94) 0%,rgba(14,24,32,.72) 55%,rgba(14,24,32,.45) 100%)}
.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--copper),transparent 70%)}
.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem)}.page-hero p{font-size:1.08rem}
.p-price .page-hero{background-image:url('/assets/img/club-facade.jpg')}
.p-floor-plans .page-hero{background-image:url('/assets/img/hero-towers-road.jpg');background-position:center 40%}
.p-location .page-hero{background-image:url('/assets/img/podium-view.jpg')}
.p-amenities .page-hero{background-image:url('/assets/img/rooftop-pool.jpg')}
.p-gallery .page-hero{background-image:url('/assets/img/mango-orchard.jpg')}
.p-nri .page-hero{background-image:url('/assets/img/hero-towers-road.jpg');background-position:center 70%}
.p-faq .page-hero{background-image:url('/assets/img/pergola-garden.jpg')}
.p-thank-you .page-hero,.p-privacy .page-hero{background-image:url('/assets/img/club-facade.jpg')}
/* other polish */
details{transition:border-color .2s,box-shadow .2s}details[open]{border-color:#d9b79c;box-shadow:var(--shadow)}summary:hover{color:var(--copper-d)}
.steps li{padding-left:78px}.steps li .icb{position:absolute;left:16px;top:12px}
.steps li:before{left:auto;right:18px;top:8px;width:auto;height:auto;background:none;color:#ecdfd0;font:700 2.4rem var(--serif);border-radius:0}
.site-footer{border-top:3px solid var(--copper)}
.tbl-wrap{box-shadow:0 6px 20px rgba(20,32,43,.06)}th{background:var(--ink);color:#fff}
@media(max-width:980px){.icards{grid-template-columns:repeat(2,1fr)}.vpanel{grid-template-columns:1fr}.vplan{min-height:260px}.hero-ui{padding:0 20px}.page-hero{padding:128px 0 56px}}
@media(max-width:760px){.dmap-wrap{display:none}.dbars-m{display:block}}
@media(max-width:640px){.hero:before{background:linear-gradient(180deg,rgba(10,18,26,.74) 0%,rgba(10,18,26,.62) 45%,rgba(10,18,26,.94) 100%)}.icards{grid-template-columns:1fr}.atiles{grid-template-columns:1fr}.vinfo{padding:24px 20px}.vb{grid-template-columns:90px 1fr auto;gap:8px}.hero-ui{bottom:40px}.hero-ui .art{display:block;font-size:.68rem;max-width:62%}.hdots button{width:18px}.hdots button.on{width:30px}.steps li{padding-left:70px}.page-hero:before{background:rgba(14,24,32,.82)}}
@media(prefers-reduced-motion:reduce){.hs.on{animation:none}.rv .reveal{opacity:1;transform:none}.vpanel{animation:none}}

.hero .wrap{padding-bottom:118px}.hero-ui{bottom:60px}
@media(max-width:640px){.hero .wrap{padding-bottom:96px}.hero-ui{bottom:40px}}
@media(max-width:640px){.icards{grid-template-columns:repeat(2,1fr);gap:12px}.icard{padding:18px 14px}.icard h3{font-size:1.06rem}.icard p{font-size:.84rem}.icb{width:46px;height:46px;margin-bottom:10px}.icb .ic{width:22px;height:22px}}
/* clear lining numbers in the serif font (prices, stats, headings) */
h1,h2,h3,.stat b,.price,.price-tag,.brand-name,.vinfo h3{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
