/* Site-wide appearance choice; original light palette remains the default. */
:root { --surface:#fff; --panel:#fff; --control:#fff; }
:root { --glass:rgba(255,255,255,.78); --glass-border:rgba(99,110,107,.2); }
.theme-control { position:relative; display:flex; align-items:center; color:var(--ink); flex-shrink:0; }
.theme-toggle { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid var(--line); border-radius:50%; color:inherit; background:transparent; cursor:pointer; }
.theme-toggle:hover { border-color:var(--accent); color:var(--accent); }
.theme-options { position:absolute; right:0; top:calc(100% + 12px); width:200px; padding:7px; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--ink); box-shadow:0 14px 40px rgba(0,20,45,.18); z-index:10; }
.theme-options[hidden] { display:none; }
.theme-options button { display:flex; align-items:center; gap:12px; width:100%; padding:12px; border:0; border-radius:7px; color:var(--ink); background:transparent; text-align:left; font-size:12px; }
.theme-options button:hover,.theme-options button[aria-pressed=true] { background:var(--soft); }
.theme-options button[aria-pressed=true] { color:var(--accent); }
:root[data-theme=dark] { --ink:#f0f4fa; --muted:#bbcbdc; --accent:#d4ac79; --line:#365678; --paper:#073466; --soft:#124478; --surface:#002b5a; --panel:#002650; --control:#0b3868; color-scheme:dark; }
:root[data-theme=dark] { --glass:rgba(7,52,102,.82); --glass-border:rgba(175,200,231,.2); }
:root[data-theme=dark] body { background:var(--surface); }
:root[data-theme=dark] .site-header,
:root[data-theme=dark] .header-inner nav,
:root[data-theme=dark] .companies-section,
:root[data-theme=dark] .property-card,
:root[data-theme=dark] .portfolio-empty,
:root[data-theme=dark] dialog { background:var(--panel); }
:root[data-theme=dark] .button,
:root[data-theme=dark] .arrow-button:hover { color:#161c1b; background:var(--accent); border-color:var(--accent); }
:root[data-theme=dark] .button:hover { background:#e4c49b; border-color:#e4c49b; }
:root[data-theme=dark] .arrow-button,
:root[data-theme=dark] .hero-play { background:var(--control); color:var(--ink); }
:root[data-theme=dark] .site-footer { background:#001d3d; color:#e9eeeb; }
:root[data-theme=dark] .site-header .wordmark-on-light { display:none; }
:root[data-theme=dark] .site-header .wordmark-on-dark { display:block; }
:root[data-theme=dark] .footer-main p,
:root[data-theme=dark] .footer-main > div > a:not(.wordmark),
:root[data-theme=dark] .footer-bottom { color:#bbcbdc; }
:root[data-theme=dark] .footer-main > div > a:hover { color:#fff; }
:root[data-theme=dark] .portfolio-section,
:root[data-theme=dark] .paper-section,
:root[data-theme=dark] .corporate-contact-form,
:root[data-theme=dark] .technology-screen { background:var(--paper); }
:root[data-theme=dark] .portfolio-tools,
:root[data-theme=dark] .property-card,
:root[data-theme=dark] .form-grid input,
:root[data-theme=dark] .form-grid textarea,
:root[data-theme=dark] .form-grid select { border-color:var(--line); }
:root[data-theme=dark] .form-grid input,
:root[data-theme=dark] .form-grid textarea,
:root[data-theme=dark] .form-grid select,
:root[data-theme=dark] .corporate-contact-form .contact-status { background:var(--control); color:var(--ink); }
:root[data-theme=dark] .first-design #portfolio,
:root[data-theme=dark] .first-design .fd-ticker { background:var(--surface); }
:root[data-theme=dark] .first-design .group-company:hover { background:#124478; }
:root[data-theme=dark] .first-design .group-numbers { background:#00234a; }
:root[data-theme=dark] .first-design .fd-film-section { background:#002650; }
:root[data-theme=dark] .first-design .fd-film-paper { background:var(--paper); color:var(--ink); }
:root[data-theme=dark] .first-design .group-film-rail { background:var(--paper); }
:root[data-theme=dark] .first-design .group-film-controls,
:root[data-theme=dark] .first-design .leisure-controls { background:var(--surface); }
:root[data-theme=dark] .first-design .leisure-gallery figcaption,
:root[data-theme=dark] .first-design .property-showcase-slide figcaption { background:var(--paper); }

/* Restrained translucent surfaces for information cards. */
.property-card,.editorial-card,.technology-screen,.corporate-contact-form { border-radius:15px; overflow:hidden; border:1px solid var(--glass-border); background:var(--glass); box-shadow:0 12px 32px rgba(18,32,30,.055); }
.editorial-card-copy { padding:22px; }
.editorial-card img { border-radius:14px 14px 0 0; }
.first-design .group-company .company-picture img { border-radius:10px; }
.photo-button { border-radius:12px; }
.full-width-feature .photo-button,.property-showcase .photo-button,.leisure-gallery .photo-button,.division-cover .photo-button { border-radius:0; }
.property-website { display:flex; width:fit-content; margin-top:18px; }
.pipeline-profile { scroll-margin-top:95px; }
.development-intro { padding-bottom:0; }
.foundation-hero .full-bleed-media img { display:block; width:100%; height:clamp(380px,59vw,720px); object-fit:cover; }
.foundation-hero .full-bleed-media figcaption { padding-block:12px; font-size:10px; color:var(--muted); }
.foundation-hero .full-bleed-copy { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,100px); padding-block:clamp(44px,6vw,85px); }
.foundation-hero .full-bleed-copy h1 { font-size:clamp(32px,4vw,57px); line-height:1.14; }
.foundation-hero .full-bleed-copy p:not(.eyebrow) { margin-bottom:18px; font-size:14px; line-height:1.8; color:var(--muted); }
.foundation-hero .full-bleed-copy p.lead { font-size:clamp(17px,1.6vw,21px); color:var(--ink); }
.foundation-grid .editorial-card { min-height:235px; }
.foundation-grid .editorial-card-copy { padding:32px; }
.foundation-grid .editorial-card h3 { margin:18px 0 12px; }
@media (max-width:700px) { .foundation-hero .full-bleed-copy { grid-template-columns:1fr; } .foundation-grid { grid-template-columns:1fr; } }
/* Keep the actual Residence facade in view across its different placements. */
img[src$="residence-front.webp"] { object-position:50% 25%; }
