@import "tailwindcss";

:root { --ink:#15191b; --ivory:#f4f0e8; --paper:#fbfaf7; --bronze:#b89775; --muted:#77746d; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { width:100%; max-width:100%; overflow-x:hidden; overflow-x:clip; scroll-behavior:smooth; }
body { width:100%; max-width:100%; margin:0; overflow-x:hidden; overflow-x:clip; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
main { width:100%; max-width:100%; overflow-x:hidden; overflow-x:clip; }
section,header,footer { min-width:0; max-width:100%; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.topbar { position:absolute; z-index:20; top:0; left:0; width:100%; height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; color:white; border-bottom:1px solid rgba(255,255,255,.24); }
.brand { display:flex; align-items:center; gap:14px; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); font-family:Georgia,serif; font-size:14px; }
.brand b { display:block; font-family:Georgia,serif; font-size:19px; font-weight:500; text-transform:uppercase; letter-spacing:.12em; }
.brand small { display:block; margin-top:3px; opacity:.68; font-size:9px; letter-spacing:.32em; text-transform:uppercase; }
.topbar nav { display:flex; gap:36px; font-size:13px; }
.topbar nav a { opacity:.8; transition:.2s; }
.topbar nav a:hover { opacity:1; }
.top-cta { padding:13px 18px; border:1px solid rgba(255,255,255,.6); font-size:12px; letter-spacing:.06em; transition:.25s; }
.top-cta:hover { background:white; color:var(--ink); }
.hero { position:relative; min-height:780px; height:100vh; overflow:hidden; color:white; background:#1b2022; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(8,12,14,.86) 0%,rgba(8,12,14,.53) 43%,rgba(8,12,14,.08) 78%),linear-gradient(0deg,rgba(6,9,10,.46),transparent 48%); }
.hero-copy { position:relative; z-index:2; width:min(760px,75vw); padding:clamp(170px,23vh,230px) 0 100px 8vw; }
.eyebrow,.section-kicker { display:flex; align-items:center; gap:14px; margin:0 0 26px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow span { width:42px; height:1px; background:var(--bronze); }
.hero h1,.intro h2,.plans-teaser h2,.gallery-slice h2,.placeholder-contact h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
.hero h1 { font-size:clamp(52px,6.2vw,96px); line-height:.94; }
.hero h1 em,.intro h2 i,.plans-teaser h2 i { color:#d5b697; font-weight:400; }
.hero-lead { width:min(570px,100%); margin:34px 0; color:rgba(255,255,255,.75); font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:34px; }
.button { display:inline-flex; align-items:center; gap:28px; padding:17px 22px; font-size:13px; }
.button svg,.plan-range svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
.button-light { background:var(--ivory); color:var(--ink); }
.text-link { font-size:13px; color:rgba(255,255,255,.82); }
.text-link span { margin-left:10px; color:var(--bronze); }
.hero-stats { position:absolute; z-index:3; right:5vw; bottom:0; display:grid; grid-template-columns:repeat(3,150px); background:rgba(17,21,22,.9); backdrop-filter:blur(12px); }
.hero-stats div { min-height:132px; padding:27px 22px; border-left:1px solid rgba(255,255,255,.12); }
.hero-stats strong { display:block; margin-bottom:10px; font:400 31px Georgia,serif; color:#d8b899; }
.hero-stats span { color:rgba(255,255,255,.64); font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:.1em; }
.hero-index { position:absolute; right:4vw; top:130px; font:400 100px Georgia,serif; color:rgba(255,255,255,.1); }
.intro { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.36fr) minmax(0,.92fr); gap:clamp(38px,4.6vw,84px); padding:130px 8vw; align-items:start; }
.intro-side { min-width:0; }
.project-signature { width:min(280px,100%); margin-top:72px; mix-blend-mode:multiply; opacity:.78; }
.section-kicker { color:#77736d; }
.section-kicker span { font:18px Georgia,serif; color:var(--bronze); }
.intro h2,.plans-teaser h2 { font-size:clamp(42px,5vw,72px); line-height:1.04; }
.intro-copy p { max-width:610px; margin:36px 0 0; color:#65635f; font-size:16px; line-height:1.9; }
.intro-card { position:relative; width:100%; margin-top:0; }
.intro-card img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:18px; box-shadow:0 24px 55px rgba(26,29,29,.1); }
.intro-card span { position:absolute; left:-18px; bottom:18px; padding:15px 20px; border-radius:5px; background:var(--ink); color:white; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.plans-teaser { display:grid; grid-template-columns:1.4fr .6fr; gap:60px; padding:110px 8vw; color:white; background:var(--ink); }
.section-kicker.light { color:rgba(255,255,255,.5); }
.plan-range { align-self:end; padding:0 0 8px 36px; border-left:1px solid rgba(255,255,255,.18); }
.plan-range span { display:block; color:rgba(255,255,255,.5); font-size:12px; text-transform:uppercase; letter-spacing:.15em; }
.plan-range strong { display:block; margin:13px 0 30px; font:400 29px Georgia,serif; }
.plan-range a { display:flex; justify-content:space-between; max-width:270px; padding-bottom:12px; border-bottom:1px solid var(--bronze); font-size:13px; }
.gallery-slice { position:relative; min-height:650px; overflow:hidden; }
.gallery-slice img { width:100%; height:650px; object-fit:cover; }
.gallery-slice:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,13,14,.65),transparent 65%); }
.gallery-slice div { position:absolute; z-index:2; left:8vw; bottom:70px; width:min(680px,80vw); color:white; }
.gallery-slice span { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#dcc0a1; }
.gallery-slice h2 { margin-top:14px; font-size:clamp(38px,4.6vw,70px); line-height:1; }
.placeholder-contact { padding:100px 8vw; text-align:center; background:var(--ivory); }
.placeholder-contact span { color:var(--bronze); font-size:11px; text-transform:uppercase; letter-spacing:.2em; }
.placeholder-contact h2 { margin-top:18px; font-size:clamp(38px,4vw,58px); }
.placeholder-contact p { color:var(--muted); }
.menu-button { display:none; width:42px; height:42px; padding:12px; border:1px solid rgba(255,255,255,.45); background:transparent; }
.menu-button span { display:block; height:1px; margin:4px 0; background:white; }
.mobile-menu { position:fixed; z-index:100; inset:0; padding:30px; color:white; background:#14191b; }
.mobile-menu>button { position:absolute; top:24px; right:24px; width:46px; height:46px; padding:12px; border:1px solid rgba(255,255,255,.25); color:white; background:transparent; }
.mobile-menu>button svg,.modal-close svg { fill:none; stroke:currentColor; stroke-width:1.5; }
.mobile-menu-brand { margin-top:55px; font:36px Georgia,serif; text-transform:uppercase; letter-spacing:.08em; }
.mobile-menu-brand small { display:block; margin-top:9px; color:#b89775; font:9px Arial,sans-serif; letter-spacing:.3em; }
.mobile-menu nav { display:grid; margin-top:65px; }
.mobile-menu nav a { display:flex; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.12); font:27px Georgia,serif; }
.mobile-menu nav span { color:#b89775; font:11px Arial,sans-serif; }
.features { display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw 130px; }
.features article { position:relative; min-height:310px; padding:35px 28px; border:1px solid #ded9d0; border-right:0; }
.features article:last-child { border-right:1px solid #ded9d0; }
.features article>span { position:absolute; top:20px; right:20px; color:#c4bfb6; font:12px Georgia,serif; }
.feature-icon { width:43px; margin:34px 0 55px; fill:none; stroke:#b89775; stroke-width:1.25; }
.features h3 { margin:0 0 16px; font:400 20px/1.2 Georgia,serif; }
.features p { margin:0; color:#77736d; font-size:13px; line-height:1.7; }
.plans-section { padding:110px 8vw 130px; color:white; background:var(--ink); }
.plans-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; }
.plans-heading h2,.schemes h2,.gallery-heading h2,.developer-section h2,.contact-section h2 { margin:0; font:400 clamp(42px,5vw,72px)/1.02 Georgia,serif; letter-spacing:-.04em; }
.plans-heading h2 i,.schemes h2 i,.gallery-heading h2 i,.developer-section h2 i,.contact-section h2 i { color:#c5a382; font-weight:400; }
.plans-heading>p { max-width:480px; margin:0 0 8px; color:rgba(255,255,255,.58); font-size:15px; line-height:1.8; }
.building-overview { display:grid; grid-template-columns:.72fr 1.28fr; margin:75px 0 0; overflow:hidden; border:1px solid rgba(255,255,255,.16); background:#202527; }
.building-overview-copy { align-self:center; padding:55px 4vw; }
.overview-eyebrow { margin:0 0 26px; color:#c5a382; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.building-overview h3 { margin:0; font:400 clamp(38px,4vw,58px)/1.02 Georgia,serif; letter-spacing:-.04em; }
.building-overview h3 i { color:#c5a382; font-weight:400; }
.building-overview-copy>p:not(.overview-eyebrow) { max-width:430px; margin:30px 0; color:rgba(255,255,255,.58); font-size:14px; line-height:1.8; }
.block-legend { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:36px 0 0; padding:0; list-style:none; }
.block-legend li { color:rgba(255,255,255,.8); }
.block-legend button { width:100%; display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:9px; padding:12px; border:1px solid rgba(255,255,255,.13); color:inherit; background:rgba(255,255,255,.035); cursor:pointer; text-align:left; transition:background .2s,border-color .2s; }
.block-legend button:hover { border-color:currentColor; background:rgba(255,255,255,.075); }
.block-legend button span { width:25px; height:3px; background:currentColor; }
.block-legend button b { color:white; font-size:10px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.block-legend button small { color:rgba(255,255,255,.38); font-size:7px; letter-spacing:.08em; text-transform:uppercase; }
.block-legend .block-a { color:#e4ae00; }
.block-legend .block-b { color:#a565a5; }
.block-legend .block-v { color:#18b4bf; }
.block-legend .block-g { color:#ed4938; }
.general-plan-image { position:relative; width:100%; min-height:760px; display:grid; grid-template-columns:58px 1fr; padding:0; overflow:hidden; border:0; color:#171b1d; background:#f4f0e8; cursor:zoom-in; }
.general-plan-index { min-width:0; display:flex; align-items:center; justify-content:space-between; flex-direction:column; padding:22px 12px; color:#9a7656; border-right:1px solid #d2c8ba; writing-mode:vertical-rl; transform:rotate(180deg); }
.general-plan-index small { font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.general-plan-index strong { font:400 20px Georgia,serif; }
.general-plan-canvas { position:relative; min-width:0; display:grid; place-items:center; padding:30px; background-color:#f7f3eb; background-image:linear-gradient(rgba(32,37,39,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,39,.035) 1px,transparent 1px); background-size:22px 22px; }
.general-plan-canvas img { width:100%; height:700px; object-fit:contain; filter:contrast(1.08); mix-blend-mode:multiply; }
.general-plan-canvas em { position:absolute; z-index:3; right:18px; bottom:15px; padding:9px 13px; color:white; background:#171b1d; font-size:8px; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }
.filters { position:relative; display:flex; align-items:center; gap:42px; margin:75px 0 40px; padding:20px 160px 20px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.filter-row { display:flex; align-items:center; gap:8px; }
.filter-row>span { margin-right:10px; color:rgba(255,255,255,.48); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.filter-row button { min-width:42px; height:42px; border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.78); background:transparent; cursor:pointer; transition:.2s; }
.filter-row button:hover,.filter-row button.active { color:#171b1d; border-color:#d6b999; background:#d6b999; }
.result-count { position:absolute; right:0; display:flex; align-items:center; gap:12px; }
.result-count strong { color:#d5b596; font:33px Georgia,serif; }
.result-count span { color:rgba(255,255,255,.46); font-size:9px; line-height:1.45; letter-spacing:.1em; text-transform:uppercase; }
.plan-grid { min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.plan-card { min-width:0; width:100%; padding:0; overflow:hidden; text-align:left; color:var(--ink); border:0; background:#f8f5ef; cursor:pointer; transition:transform .25s,box-shadow .25s; }
.plan-card:hover { z-index:2; transform:translateY(-5px); box-shadow:0 22px 45px rgba(0,0,0,.22); }
.plan-card-top { display:flex; justify-content:space-between; padding:18px 20px; border-bottom:1px solid #dfdad2; color:#79756e; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.plan-image { height:360px; display:grid; place-items:center; padding:0; overflow:hidden; background:#eee9df; }
.plan-artwork { width:100%; height:100%; display:grid; grid-template-columns:48px 1fr; background:#f4f0e8; }
.plan-art-index { display:flex; align-items:center; justify-content:space-between; flex-direction:column; padding:17px 9px; color:#9a7656; border-right:1px solid #d2c8ba; writing-mode:vertical-rl; transform:rotate(180deg); }
.plan-art-index span { font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.plan-art-index strong { font:400 18px Georgia,serif; }
.plan-art-canvas { position:relative; min-width:0; display:grid; place-items:center; padding:31px 25px 38px; background-color:#f7f3eb; background-image:linear-gradient(rgba(32,37,39,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,39,.035) 1px,transparent 1px); background-size:22px 22px; }
.plan-art-canvas img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; filter:grayscale(1) sepia(.16) contrast(1.16) brightness(1.03); mix-blend-mode:multiply; }
.plan-corner { position:absolute; z-index:2; width:21px; height:21px; pointer-events:none; }
.corner-a { top:14px; left:14px; border-top:1px solid #b08c69; border-left:1px solid #b08c69; }
.corner-b { top:14px; right:14px; border-top:1px solid #b08c69; border-right:1px solid #b08c69; }
.corner-c { bottom:14px; left:14px; border-bottom:1px solid #b08c69; border-left:1px solid #b08c69; }
.corner-d { right:14px; bottom:14px; border-right:1px solid #b08c69; border-bottom:1px solid #b08c69; }
.plan-area-stamp { position:absolute; z-index:3; right:18px; bottom:14px; padding:5px 7px; color:#5c5148; background:rgba(247,243,235,.92); font-size:8px; letter-spacing:.08em; }
.plan-area-stamp b { font:400 13px Georgia,serif; }
.plan-card-bottom { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 48px; align-items:center; gap:18px; min-height:92px; padding:17px 20px; border-top:1px solid #dfdad2; }
.plan-card-bottom small { display:block; margin-bottom:5px; overflow-wrap:anywhere; color:#99948b; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.plan-card-bottom strong { font:400 20px Georgia,serif; }
.round-arrow { width:42px; height:42px; display:grid; place-items:center; border:1px solid #c8c1b8; border-radius:50%; }
.round-arrow svg,.document-link svg,.submit-button svg,.modal-plan-copy>a svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.empty-plans { padding:70px 20px; text-align:center; border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.6); }
.empty-plans strong { color:white; font:25px Georgia,serif; }
.schemes { display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; align-items:center; margin-top:130px; padding-top:110px; border-top:1px solid rgba(255,255,255,.16); }
.schemes-copy>p:not(.section-kicker) { margin:32px 0; color:rgba(255,255,255,.55); font-size:14px; line-height:1.8; }
.scheme-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.scheme-tabs button { padding:13px 18px; border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.68); background:transparent; cursor:pointer; }
.scheme-tabs button.active { color:#171b1d; border-color:#d6b999; background:#d6b999; }
.scheme-image { position:relative; min-height:580px; padding:42px 30px 30px; overflow:hidden; border:0; background-color:#f4f0e8; background-image:linear-gradient(rgba(32,37,39,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,39,.035) 1px,transparent 1px); background-size:24px 24px; cursor:zoom-in; }
.scheme-image:before,.scheme-image:after { content:""; position:absolute; z-index:2; top:18px; width:70px; height:1px; background:#b08c69; }
.scheme-image:before { left:26px; }.scheme-image:after { right:26px; }
.scheme-image img { width:100%; height:530px; object-fit:contain; filter:grayscale(1) sepia(.16) contrast(1.12) brightness(1.04); mix-blend-mode:multiply; }
.scheme-image strong { position:absolute; z-index:3; top:10px; left:50%; transform:translateX(-50%); color:#9a7656; font:400 18px Georgia,serif; text-transform:uppercase; }
.scheme-image span { position:absolute; right:22px; bottom:18px; padding:8px 12px; color:white; background:#171b1d; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.property-plans-section { padding:125px 8vw 130px; background:#f4f0e8; }
.property-plans-heading { display:grid; grid-template-columns:.68fr 1.22fr .8fr; gap:5vw; align-items:end; }
.property-plans-heading .section-kicker { align-self:start; }
.property-plans-heading h2 { margin:0; font:400 clamp(42px,5vw,72px)/1.02 Georgia,serif; letter-spacing:-.04em; }
.property-plans-heading h2 i { color:#a98261; font-weight:400; }
.property-plans-heading>p:last-child { margin:0 0 8px; color:#6f6c66; font-size:14px; line-height:1.8; }
.property-tabs { display:flex; gap:8px; margin:62px 0 24px; padding-bottom:18px; border-bottom:1px solid #d6cfc4; }
.property-tabs button { min-height:46px; padding:13px 20px; border:1px solid #cfc7bc; color:#68645e; background:transparent; cursor:pointer; font-size:11px; letter-spacing:.08em; text-transform:uppercase; transition:.2s; }
.property-tabs button:hover,.property-tabs button.active { color:white; border-color:#171b1d; background:#171b1d; }
.property-plan-panel { display:grid; grid-template-columns:.62fr 1.38fr; min-height:760px; overflow:hidden; border:1px solid #d7d0c5; background:#fbfaf7; }
.property-plan-copy { position:relative; align-content:center; display:grid; padding:70px 4vw; border-right:1px solid #d7d0c5; }
.property-plan-number { position:absolute; top:34px; right:34px; color:#d2cbc0; font:400 78px Georgia,serif; }
.property-plan-copy>p:first-of-type { margin:0 0 20px; color:#a37d5d; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.property-plan-copy h3 { max-width:430px; margin:0; font:400 clamp(37px,4vw,58px)/1.02 Georgia,serif; letter-spacing:-.035em; }
.property-plan-copy>p:last-of-type { max-width:430px; margin:32px 0; color:#726e67; font-size:14px; line-height:1.8; }
.property-plan-copy>a { width:min(100%,280px); display:flex; align-items:center; justify-content:space-between; padding:16px 18px; color:white; background:#171b1d; font-size:12px; }
.property-plan-copy>a svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.property-plan-image { position:relative; min-width:0; padding:32px; overflow:hidden; border:0; background-color:#eee9df; background-image:linear-gradient(rgba(32,37,39,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,39,.035) 1px,transparent 1px); background-size:24px 24px; cursor:zoom-in; }
.property-plan-image img { width:100%; height:696px; object-fit:contain; mix-blend-mode:multiply; }
.property-plan-image>span { position:absolute; right:18px; bottom:15px; padding:9px 13px; color:white; background:#171b1d; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.property-plan-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-top:22px; }
.property-plan-note { max-width:850px; margin:0; color:#8c877f; font-size:10px; line-height:1.6; }
.property-plan-download { display:flex; align-items:center; gap:18px; padding-bottom:8px; color:#775a40; border-bottom:1px solid #b89775; white-space:nowrap; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.property-plan-download svg { width:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.property-plan-viewer .general-plan-viewport img { filter:none; }
.gallery-section { padding:130px 8vw; background:#f2eee6; }
.gallery-heading { display:grid; grid-template-columns:.9fr 1.3fr .8fr; gap:5vw; align-items:end; margin-bottom:70px; }
.gallery-heading .section-kicker { align-self:start; }
.gallery-heading>p:last-child { margin:0 0 8px; color:#6f6c66; font-size:14px; line-height:1.8; }
.gallery-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; grid-template-rows:350px 440px; gap:12px; }
.gallery-item { position:relative; overflow:hidden; padding:0; border:0; background:#ccc; cursor:zoom-in; }
.gallery-item img,.gallery-item video { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gallery-item video { pointer-events:none; }
.gallery-item:hover img,.gallery-item:hover video { transform:scale(1.035); }
.gallery-item span { position:absolute; right:14px; bottom:14px; width:34px; height:34px; display:grid; place-items:center; color:white; background:rgba(17,21,22,.76); font:11px Georgia,serif; }
.gallery-item-1 { grid-column:1/3; }
.gallery-item-3 { grid-column:1; }
.gallery-item-4 { grid-column:2/4; }
.gallery-item-5,.gallery-item-6 { display:none; }
.visual-note { margin:22px 0 0; color:#8c877f; font-size:10px; line-height:1.5; }
.developer-section { display:grid; grid-template-columns:.82fr 1.18fr; min-height:750px; color:white; background:#171b1d; }
.developer-visual { display:grid; place-items:center; padding:8vw; background:#efebe3; }
.developer-visual img { width:min(500px,100%); mix-blend-mode:multiply; }
.developer-copy { padding:105px 8vw 95px 7vw; }
.developer-copy>p:not(.section-kicker) { max-width:650px; margin:30px 0; color:rgba(255,255,255,.58); font-size:14px; line-height:1.8; }
.developer-copy dl { margin:36px 0; border-top:1px solid rgba(255,255,255,.15); }
.developer-copy dl div { display:grid; grid-template-columns:.75fr 1.25fr; gap:20px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.developer-copy dt { color:rgba(255,255,255,.42); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.developer-copy dd { margin:0; font-size:12px; line-height:1.5; }
.document-links { display:grid; justify-items:start; gap:18px; margin-top:35px; }
.document-link { width:min(100%,560px); display:grid; grid-template-columns:minmax(0,1fr) 18px; align-items:center; gap:24px; padding-bottom:12px; border-bottom:1px solid #b89775; font-size:12px; line-height:1.45; }
.document-link>span { display:grid; gap:5px; }
.document-link small { color:rgba(255,255,255,.42); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.developer-copy .documents-note { max-width:560px; margin:22px 0 0; color:rgba(255,255,255,.42); font-size:10px; line-height:1.65; }
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding:120px 8vw; background:#fbfaf7; }
.contact-intro>p:not(.section-kicker) { max-width:570px; margin:30px 0; color:#716e68; font-size:15px; line-height:1.8; }
.contact-channels { display:flex; flex-wrap:wrap; align-items:flex-end; gap:24px 36px; }
.contact-channels a { color:#9e7a59; }
.contact-phone { display:grid; gap:6px; }
.contact-phone strong { font:400 27px Georgia,serif; }
.contact-phone small { color:#89837b; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.contact-email { padding-bottom:2px; font:20px Georgia,serif; }
.contact-form { display:grid; align-content:start; gap:25px; padding-top:12px; }
.form-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-form label:not(.consent) { display:grid; gap:9px; }
.contact-form label>span { color:#7d7972; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.contact-form input,.contact-form select { width:100%; padding:14px 0; border:0; border-bottom:1px solid #cfc8bd; outline:0; color:#191d1e; background:transparent; font:17px Georgia,serif; }
.contact-form input:focus,.contact-form select:focus { border-bottom-color:#9a7758; }
.consent { display:flex; align-items:flex-start; gap:10px; }
.consent input { width:16px; height:16px; margin:0; accent-color:#9c7b5d; }
.consent span { max-width:470px; line-height:1.5; }
.submit-button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:20px 22px; border:0; color:white; background:#171b1d; font-size:13px; cursor:pointer; }
.submit-button:disabled { cursor:wait; opacity:.68; }
.form-status { margin:0; color:#8a684a; font-size:12px; line-height:1.55; }
.form-status-success { color:#3d7252; }
.form-status-error { color:#a24b43; }
footer { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:40px; align-items:center; padding:45px 5vw; color:white; background:#101416; border-top:1px solid rgba(255,255,255,.1); }
.footer-brand .brand-mark { border-color:rgba(255,255,255,.35); }
.footer-company { display:grid; gap:7px; font-size:11px; }
.footer-company a { color:#d5b697; }
.footer-company span,.footer-note { color:rgba(255,255,255,.42); font-size:9px; line-height:1.55; }
.footer-note { text-align:right; }
.mobile-actions { display:none; }
.modal-backdrop { position:fixed; z-index:200; inset:0; display:grid; place-items:center; padding:30px; background:rgba(7,10,11,.88); backdrop-filter:blur(8px); }
.plan-modal { position:relative; display:grid; grid-template-columns:1.25fr .75fr; width:min(1100px,96vw); max-height:90vh; overflow:auto; background:#f8f5ef; }
.modal-close { position:absolute; z-index:3; top:18px; right:18px; width:44px; height:44px; padding:12px; border:1px solid #d0c9bf; color:#171b1d; background:#f8f5ef; cursor:pointer; }
.modal-plan-image { min-height:650px; display:grid; place-items:center; padding:28px; background:#e9e3d9; }
.plan-artwork-large { min-height:590px; grid-template-columns:62px 1fr; box-shadow:0 16px 40px rgba(30,29,26,.1); }
.plan-artwork-large .plan-art-index strong { font-size:27px; }
.plan-artwork-large .plan-art-canvas { padding:50px 46px; }
.plan-artwork-large .plan-area-stamp { right:24px; bottom:21px; }
.plan-artwork-large .plan-area-stamp b { font-size:18px; }
.modal-plan-copy { align-self:center; padding:70px 55px; }
.modal-plan-copy>p:first-child { color:#947354; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.modal-plan-copy h2 { margin:15px 0 45px; font:400 85px Georgia,serif; }
.modal-plan-copy>div { padding:20px 0; border-top:1px solid #d4cec5; border-bottom:1px solid #d4cec5; }
.modal-plan-copy>div span { display:block; color:#88827b; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.modal-plan-copy>div strong { display:block; margin-top:8px; font:400 29px Georgia,serif; }
.modal-plan-copy .modal-note { margin:28px 0; color:#817c75; font-size:11px; line-height:1.6; }
.modal-plan-copy>a { display:flex; justify-content:space-between; padding:18px 20px; color:white; background:#171b1d; font-size:12px; }
.image-backdrop { grid-template-rows:1fr auto; }
.image-close { position:fixed; top:22px; right:22px; color:white; border-color:rgba(255,255,255,.35); background:#171b1d; }
.lightbox-image { max-width:92vw; max-height:82vh; object-fit:contain; }
.lightbox-video { width:min(92vw,1280px); background:#101416; }
.scheme-lightbox { padding:24px; background:#f4f0e8; }
.scheme-drawing { filter:grayscale(1) sepia(.16) contrast(1.12) brightness(1.04); }
.general-plan-viewer { width:min(96vw,1240px); height:90vh; display:grid; grid-template-rows:72px 1fr; overflow:hidden; color:#171b1d; background:#f4f0e8; box-shadow:0 24px 80px rgba(0,0,0,.38); }
.general-plan-toolbar { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:12px 82px 12px 22px; border-bottom:1px solid #d2c8ba; background:#f8f5ef; }
.general-plan-toolbar>div:first-child small { display:block; color:#947354; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.general-plan-toolbar>div:first-child strong { display:block; margin-top:5px; font:400 18px Georgia,serif; }
.zoom-controls { display:flex; align-items:center; gap:8px; }
.zoom-controls button { width:34px; height:34px; border:1px solid #c8c1b8; color:#171b1d; background:white; cursor:pointer; }
.zoom-controls button:disabled { opacity:.35; cursor:default; }
.zoom-controls output { min-width:48px; text-align:center; font:13px Georgia,serif; }
.zoom-controls a { margin-left:7px; padding-bottom:3px; color:#775a40; border-bottom:1px solid #b89775; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.general-plan-viewport { overflow:auto; display:grid; justify-items:center; align-items:start; padding:22px; background-color:#f7f3eb; background-image:linear-gradient(rgba(32,37,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,39,.045) 1px,transparent 1px); background-size:24px 24px; scrollbar-color:#b89775 #e5ded3; }
.general-plan-viewport img { width:auto; max-width:none; object-fit:contain; filter:contrast(1.08); mix-blend-mode:multiply; }
.lightbox-nav { width:min(620px,90vw); display:flex; justify-content:space-between; align-items:center; margin-top:20px; color:white; }
.lightbox-nav button { border:0; color:rgba(255,255,255,.75); background:transparent; cursor:pointer; }
.lightbox-nav span { color:#b89775; font:14px Georgia,serif; }
@media (max-width:900px) {
  .topbar { height:76px; padding:0 22px; }
  .topbar nav { display:none; }
  .top-cta { display:none; }
  .menu-button { display:block; }
  .hero { min-height:760px; }
  .hero-copy { width:auto; max-width:100%; padding:145px 24px 235px; }
  .hero h1 { max-width:100%; font-size:clamp(42px,10.8vw,58px); line-height:.98; overflow-wrap:normal; }
  .hero-lead { font-size:15px; }
  .hero-stats { left:0; right:0; grid-template-columns:repeat(3,1fr); }
  .hero-stats div { min-height:112px; padding:20px 15px; }
  .hero-index { display:none; }
  .intro { grid-template-columns:1fr; padding:90px 24px; }
  .intro-side { display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .project-signature { width:200px; margin-top:0; }
  .intro-card { width:min(560px,100%); margin:24px auto 0; }
  .intro-card img { aspect-ratio:4/3; }
  .plans-teaser { grid-template-columns:1fr; padding:85px 24px; }
  .plan-range { padding-left:0; border-left:0; }
  .features { grid-template-columns:1fr 1fr; padding:0 24px 90px; }
  .features article:nth-child(2) { border-right:1px solid #ded9d0; }
  .plans-section,.property-plans-section,.gallery-section { padding:85px 24px; }
  .plans-heading,.property-plans-heading,.gallery-heading { grid-template-columns:1fr; gap:28px; }
  .building-overview { grid-template-columns:1fr; }
  .building-overview-copy { padding:48px 40px; }
  .general-plan-image { min-height:680px; }
  .general-plan-canvas img { height:620px; }
  .filters { align-items:flex-start; flex-direction:column; gap:14px; padding:18px 100px 18px 0; }
  .result-count { right:0; top:31px; }
  .plan-grid { grid-template-columns:1fr 1fr; }
  .schemes { grid-template-columns:1fr; margin-top:90px; padding-top:80px; }
  .scheme-image { min-height:480px; }
  .scheme-image img { height:430px; }
  .property-plan-panel { grid-template-columns:1fr; }
  .property-plan-copy { padding:62px 40px; border-right:0; border-bottom:1px solid #d7d0c5; }
  .property-plan-image img { height:650px; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:repeat(4,330px); }
  .gallery-item-1,.gallery-item-3,.gallery-item-4,.gallery-item-5,.gallery-item-6 { display:block; grid-column:auto; }
  .gallery-item-1 { grid-column:1/3; }
  .gallery-item-4 { grid-column:auto; }
  .developer-section { grid-template-columns:1fr; }
  .developer-visual { min-height:450px; padding:80px 14vw; }
  .developer-copy { padding:85px 24px; }
  .contact-section { grid-template-columns:1fr; padding:85px 24px 115px; }
  footer { grid-template-columns:1fr; padding:50px 24px 100px; }
  .footer-note { text-align:left; }
  .mobile-actions { position:fixed; z-index:50; bottom:0; left:0; right:0; width:100%; max-width:100vw; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); overflow:hidden; background:white; box-shadow:0 -5px 25px rgba(0,0,0,.12); }
  .mobile-actions a { padding:14px 10px; text-align:center; font-size:11px; }
  .mobile-actions a:last-child { color:white; background:#171b1d; }
  .plan-modal { grid-template-columns:1fr; }
  .modal-plan-image { min-height:380px; padding:30px; }
  .modal-plan-copy { padding:35px 30px; }
  .modal-plan-copy h2 { margin-bottom:25px; font-size:58px; }
}

.consent a { color:inherit; text-decoration:underline; text-decoration-color:#b9936b; text-underline-offset:3px; }
.consent a:hover { color:#b9936b; }
.footer-note p { margin:0 0 14px; }
.footer-legal { display:flex; align-items:flex-start; flex-direction:column; gap:7px; }
.footer-legal a,.footer-legal button { color:inherit; font:inherit; line-height:1.4; text-align:left; text-decoration:underline; text-decoration-color:rgba(255,255,255,.35); text-underline-offset:3px; }
.footer-legal button { padding:0; border:0; background:none; cursor:pointer; }
.footer-legal a:hover,.footer-legal button:hover { color:#d9b58d; }

.cookie-panel { position:fixed; z-index:10000; right:24px; bottom:24px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; width:min(860px,calc(100% - 48px)); padding:24px; border:1px solid rgba(185,147,107,.5); background:#fffdf9; box-shadow:0 20px 70px rgba(0,0,0,.28); color:#171b1d; }
.cookie-panel-copy { max-width:590px; }
.cookie-panel-copy strong { display:block; margin-bottom:8px; font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:500; }
.cookie-panel-copy p { margin:0; font-size:14px; line-height:1.55; color:#54585a; }
.cookie-panel-copy a { color:#6d4b2d; text-underline-offset:3px; }
.cookie-panel-actions { display:flex; align-items:flex-end; flex-direction:column; justify-content:center; gap:9px; min-width:210px; }
.cookie-panel-actions button { width:100%; min-height:44px; padding:10px 16px; border:1px solid #171b1d; font:600 12px/1.2 Arial,sans-serif; letter-spacing:.04em; cursor:pointer; }
.cookie-primary { background:#171b1d; color:#fff; }
.cookie-secondary { background:transparent; color:#171b1d; }
.cookie-panel-actions button:focus-visible { outline:3px solid #b9936b; outline-offset:2px; }

.legal-page { min-height:100vh; background:#f6f2eb; color:#171b1d; }
.legal-header { display:flex; align-items:center; justify-content:space-between; min-height:82px; padding:16px clamp(20px,6vw,90px); border-bottom:1px solid #d8d1c7; background:#f6f2eb; }
.legal-header .brand { color:#171b1d; }
.legal-back { color:#171b1d; font-size:14px; text-decoration:none; }
.legal-back:hover { color:#8b6442; }
.legal-main { width:min(920px,calc(100% - 40px)); margin:0 auto; padding:72px 0 100px; }
.legal-kicker { margin:0 0 18px; color:#8b6442; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.legal-main h1 { max-width:820px; margin:0 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,6vw,70px); font-weight:400; line-height:1; letter-spacing:-.04em; }
.legal-updated { margin:0 0 54px; color:#6c6e70; font-size:14px; }
.legal-content { padding:clamp(24px,5vw,58px); border:1px solid #d8d1c7; background:#fffdfa; }
.legal-content h2 { margin:40px 0 14px; font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p,.legal-content li { font-size:16px; line-height:1.7; }
.legal-content ul,.legal-content ol { padding-left:24px; }
.legal-content a { color:#6d4b2d; text-underline-offset:3px; }
.legal-table { width:100%; border-collapse:collapse; margin:20px 0; }
.legal-table th,.legal-table td { padding:13px 12px; border:1px solid #d8d1c7; font-size:14px; line-height:1.45; text-align:left; vertical-align:top; }
.legal-table th { background:#eee7dd; }
.legal-contact { margin-top:34px; padding:22px; border-left:4px solid #b9936b; background:#f3eee6; }

@media (max-width:700px) {
  .cookie-panel { right:12px; bottom:12px; grid-template-columns:1fr; gap:18px; width:calc(100% - 24px); padding:19px; }
  .cookie-panel-actions { align-items:stretch; flex-direction:column-reverse; min-width:0; }
  .legal-header { min-height:68px; padding:12px 18px; }
  .legal-header .brand small { display:none; }
  .legal-main { width:calc(100% - 28px); padding:48px 0 80px; }
  .legal-content { padding:22px 18px; }
  .legal-content h2 { font-size:24px; }
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td { display:block; width:100%; }
  .legal-table th { border-bottom:0; }
  .legal-table td { margin-bottom:10px; }
}
@media (max-width:560px) {
  .brand small { display:none; }
  .brand b { font-size:15px; }
  .hero { min-height:720px; height:100svh; }
  .hero-copy { padding:136px 20px 220px; }
  .hero h1 { font-size:clamp(39px,11vw,46px); line-height:.99; letter-spacing:-.045em; }
  .eyebrow { max-width:100%; font-size:9px; line-height:1.55; letter-spacing:.16em; }
  .hero-lead { margin:27px 0; font-size:14px; line-height:1.65; }
  .hero-actions { width:100%; align-items:flex-start; flex-direction:column; gap:18px; }
  .button-light { width:min(100%,280px); justify-content:space-between; }
  .hero-stats div { padding:18px 10px; }
  .hero-stats strong { font-size:25px; }
  .hero-stats span { font-size:8px; }
  .features { grid-template-columns:1fr; }
  .intro-side { display:block; }
  .project-signature { width:190px; margin-top:35px; }
  .intro-card span { left:12px; bottom:12px; }
  .features article { min-height:250px; border-right:1px solid #ded9d0; border-bottom:0; }
  .features article:last-child { border-bottom:1px solid #ded9d0; }
  .feature-icon { margin:24px 0 40px; }
  .plans-heading h2,.schemes h2,.property-plans-heading h2,.gallery-heading h2,.contact-section h2 { font-size:42px; }
  .building-overview { margin-top:52px; }
  .building-overview-copy { padding:42px 24px; }
  .building-overview h3 { font-size:40px; }
  .block-legend { grid-template-columns:1fr; }
  .general-plan-image { min-height:500px; grid-template-columns:46px 1fr; }
  .general-plan-index { padding:17px 9px; }
  .general-plan-canvas { padding:18px 12px; }
  .general-plan-canvas img { height:460px; }
  .general-plan-canvas em { right:12px; bottom:11px; padding:8px 10px; }
  .developer-copy { width:100%; min-width:0; padding:72px 22px 80px; }
  .developer-section h2 { max-width:100%; font-size:clamp(24px,7.8vw,32px); line-height:1.08; letter-spacing:-.045em; overflow-wrap:anywhere; }
  .developer-copy>p:not(.section-kicker) { max-width:100%; }
  .filter-row { width:100%; }
  .filter-row>span { width:62px; flex:0 0 62px; }
  .filter-row button { flex:1; min-width:36px; }
  .filters { padding-right:0; }
  .result-count { position:static; }
  .plan-grid { grid-template-columns:1fr; }
  .plan-image { height:auto; }
  .plan-artwork { height:auto; min-height:0; }
  .plan-artwork-square { aspect-ratio:1 / 1.03; }
  .plan-artwork-wide { aspect-ratio:1.42 / 1; }
  .plan-artwork-tall { aspect-ratio:.82 / 1; }
  .plan-art-canvas { padding:27px 18px 34px; }
  .plan-card-bottom { grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) 42px; gap:10px; padding:15px 16px; }
  .round-arrow { width:40px; height:40px; }
  .scheme-image { min-height:400px; padding:16px; }
  .scheme-image img { height:370px; }
  .property-tabs { display:grid; grid-template-columns:1fr; }
  .property-tabs button { width:100%; }
  .property-plan-panel { min-height:0; }
  .property-plan-copy { padding:58px 24px 42px; }
  .property-plan-number { top:22px; right:22px; font-size:58px; }
  .property-plan-copy h3 { font-size:38px; }
  .property-plan-image { padding:16px 10px 20px; }
  .property-plan-image img { height:510px; }
  .property-plan-meta { align-items:flex-start; flex-direction:column; }
  .gallery-grid { display:grid; grid-template-columns:1fr; grid-template-rows:repeat(6,290px); }
  .gallery-item-1 { grid-column:auto; }
  .developer-copy dl div { grid-template-columns:1fr; gap:7px; }
  .contact-channels { align-items:flex-start; flex-direction:column; gap:18px; }
  .contact-phone strong { font-size:24px; }
  .contact-email { font-size:19px; }
  .modal-backdrop { padding:10px; }
  .plan-modal { width:100%; max-height:94vh; }
  .modal-plan-image { min-height:330px; padding:25px 15px; }
  .plan-artwork-large { min-height:360px; grid-template-columns:48px 1fr; }
  .plan-artwork-large .plan-art-canvas { padding:34px 22px; }
  .modal-plan-copy { padding:25px 22px; }
  .general-plan-viewer { width:100%; height:94vh; grid-template-rows:96px 1fr; }
  .general-plan-toolbar { align-items:flex-start; flex-direction:column; gap:9px; padding:12px 58px 10px 14px; }
  .zoom-controls { width:100%; }
  .zoom-controls a { margin-left:auto; }
  .general-plan-viewport { padding:14px; }
  .lightbox-nav button { font-size:0; }
  .lightbox-nav button:first-child:after { content:'←'; font-size:20px; }
  .lightbox-nav button:last-child:after { content:'→'; font-size:20px; }
}
