:root { color-scheme: light; --ink:#191b1a; --muted:#626663; --line:#d9dcda; --paper:#ffffff; --soft:#f2f3f1; --accent:#737d78; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:1rem; line-height:1.6; }
a { color:inherit; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.page-width { width:min(100% - 9vw, 1440px); margin-inline:auto; }
.site-header { height:94px; background:#fff; }
.header-inner { height:100%; width:min(100% - 9vw, 1440px); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand { display:inline-flex; align-items:center; text-decoration:none; font-family:Arial,Helvetica,sans-serif; font-weight:700; font-size:1.68rem; line-height:1; letter-spacing:-.075em; white-space:nowrap; }
.brand-divider { width:1px; height:22px; margin:0 12px 0 15px; background:#9a9e9a; }
.brand-sub { font-size:.68rem; font-weight:600; letter-spacing:.145em; }
nav { display:flex; align-items:center; gap:clamp(1.5rem,3vw,3.5rem); }
nav a { text-decoration:none; font-size:.87rem; font-weight:500; letter-spacing:.015em; }
nav a:hover,.back-to-top:hover { color:var(--accent); }
.hero { min-height:min(680px,73vw); height:calc(100svh - 94px); max-height:780px; position:relative; display:flex; align-items:flex-end; background:#444946; color:#fff; overflow:hidden; }
.hero-image { position:absolute; inset:0; background-image:url('assets/architecture-illustration.png'); background-size:cover; background-position:center 52%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,16,15,.68) 0%,rgba(10,16,15,.36) 53%,rgba(10,16,15,.09) 100%),linear-gradient(0deg,rgba(10,16,15,.40),transparent 53%); }
.hero-content { position:relative; padding-bottom:clamp(5rem,9vw,9.8rem); }
.eyebrow,.section-index,.property-kicker { text-transform:uppercase; letter-spacing:.17em; font-weight:600; font-size:.76rem; }
.hero-eyebrow { margin:0 0 1.45rem; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Arial,Helvetica,sans-serif; }
h1 { font-size:clamp(3.55rem,7.15vw,8.2rem); letter-spacing:-.075em; line-height:1.04; font-weight:500; margin-bottom:1.8rem; }
.hero-intro { font-family:Arial,Helvetica,sans-serif; font-size:clamp(1.16rem,1.6vw,1.55rem); font-weight:400; line-height:1.48; margin:0; }
.hero-link { display:inline-flex; align-items:center; gap:2.5rem; margin-top:2.5rem; padding-bottom:.55rem; border-bottom:1px solid rgba(255,255,255,.78); color:#fff; text-decoration:none; font-size:.96rem; font-weight:500; }
.hero-link:hover { border-color:#fff; }
.image-note { position:absolute; bottom:1.35rem; right:4.5vw; margin:0; font-size:.75rem; color:#e6e7e5; letter-spacing:.02em; }
.intro-section,.contact-section { padding-block:clamp(6rem,11vw,12rem); }
.section-index { display:flex; align-items:center; gap:1rem; color:var(--muted); margin-bottom:clamp(3.25rem,6vw,6.5rem); }
.index-line { width:27px; height:1px; background:var(--accent); display:inline-block; }
.intro-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
h2 { font-size:clamp(2.6rem,4.7vw,5.25rem); font-weight:500; line-height:1.13; letter-spacing:-.07em; margin-bottom:1rem; }
.intro-copy { max-width:640px; padding-top:.55rem; }
.lead { font-family:Arial,Helvetica,sans-serif; font-size:clamp(1.45rem,2vw,2.15rem); line-height:1.45; font-weight:400; letter-spacing:-.025em; margin-bottom:2rem; }
.placeholder-copy { color:var(--muted); max-width:550px; font-size:1rem; }
.properties-section { background:var(--soft); padding-block:clamp(6rem,9vw,10rem); }
.section-heading-row { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3.5rem; }
.section-heading-row h2 { margin:0; }
.section-heading-row p { max-width:330px; margin:0 0 .4rem; color:var(--muted); }
.property-card { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr); background:#fff; min-height:430px; }
.property-image-placeholder { min-height:430px; background-image:url('assets/architecture-illustration.png'); background-size:cover; background-position:center; background-repeat:no-repeat; }.property-image-placeholder span { border:1px solid #b4bbb5; padding:.8rem 1.25rem; }
.property-details { padding:clamp(2rem,4vw,5rem); display:flex; flex-direction:column; align-items:flex-start; }
.property-kicker { color:var(--muted); margin-bottom:auto; padding-bottom:4rem; }
h3 { font-size:clamp(1.75rem,2.55vw,2.9rem); line-height:1.2; font-weight:500; letter-spacing:-.055em; margin-bottom:.8rem; }
.property-place { text-transform:uppercase; letter-spacing:.13em; font-size:.78rem; font-weight:600; margin-bottom:2.5rem; }
.property-description { color:var(--muted); max-width:310px; margin:0; }
.contact-section { padding-bottom:clamp(7rem,12vw,13rem); }
.contact-intro { font-size:1.12rem; margin-top:2.4rem; max-width:350px; color:var(--muted); }
.inquiry-form { display:flex; flex-direction:column; gap:1.35rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.form-field { display:flex; flex-direction:column; gap:.45rem; }
.form-field label { font-size:.89rem; font-weight:500; }
.optional { color:var(--muted); font-weight:400; font-size:.82rem; margin-left:.2rem; }
.form-field input,.form-field textarea { width:100%; border:1px solid #bfc5c0; border-radius:0; padding:.9rem 1rem; background:#fff; color:var(--ink); font:inherit; font-size:1rem; }
.form-field textarea { resize:vertical; min-height:148px; }
.form-field input:focus,.form-field textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.form-field textarea::placeholder { color:#767b77; }
.form-explanation { color:var(--muted); font-size:.87rem; margin:.1rem 0 0; }
.inquiry-form button { align-self:flex-start; display:inline-flex; align-items:center; gap:2.5rem; border:1px solid var(--ink); background:var(--ink); color:#fff; padding:.95rem 1.25rem; font:inherit; font-size:.9rem; cursor:pointer; }
.inquiry-form button:hover { background:#414642; }
.inquiry-form button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.form-status { margin:0; min-height:1.4rem; color:var(--muted); font-size:.87rem; }
.site-footer { background:var(--ink); color:#fff; padding-block:3.5rem; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.footer-brand { font-family:Arial,Helvetica,sans-serif; font-size:1.18rem; font-weight:600; letter-spacing:-.04em; }
.back-to-top { color:#c4c9c5; text-decoration:none; white-space:nowrap; font-size:.85rem; }
.footer-links { display:flex; align-items:center; gap:1.5rem; } .privacy-link { border:0; background:none; color:#c4c9c5; padding:0; font:inherit; font-size:.85rem; cursor:pointer; } .privacy-link:hover { color:#fff; } .privacy-dialog { width:min(50%,680px); border:0; padding:0; background:#fff; color:var(--ink); } .privacy-dialog::backdrop { background:rgba(0,0,0,.55); } .privacy-dialog-content { position:relative; padding:clamp(2rem,5vw,4rem); } .privacy-dialog-content h2 { font-size:clamp(2rem,4vw,3.2rem); margin-bottom:2rem; } .privacy-dialog-content p { color:var(--muted); max-width:560px; } .privacy-close { position:absolute; top:1.2rem; right:1.4rem; border:0; background:none; font-size:2rem; line-height:1; cursor:pointer; color:var(--ink); }
@media (max-width:800px) {
 .site-header { height:auto; min-height:76px; }
 .header-inner { padding-block:1.25rem; flex-wrap:wrap; row-gap:1.25rem; }
 nav { gap:1.5rem; flex-wrap:wrap; }
 .hero { height:70svh; min-height:510px; }
 .hero-content { padding-bottom:6rem; }
 .intro-grid,.contact-grid { grid-template-columns:1fr; gap:2.4rem; }
 .section-heading-row { align-items:start; flex-direction:column; gap:1.1rem; }
 .property-card { grid-template-columns:1fr; }
 .property-image-placeholder { min-height:340px; }
 .property-kicker { padding-bottom:3rem; }
}
@media (max-width:540px) {
 .page-width,.header-inner { width:calc(100% - 40px); }
 .site-header { min-height:0; }
 .header-inner { align-items:flex-start; flex-direction:column; gap:1rem; padding-block:1.1rem; }
 .brand { font-size:1.42rem; }
 .brand-divider { height:18px; }
 .brand-sub { font-size:.6rem; }
 nav { width:100%; justify-content:space-between; gap:.75rem; }
 nav a { font-size:.8rem; }
 .hero { min-height:560px; height:72svh; }
 .hero-image { background-position:61% center; }
 .hero-shade { background:linear-gradient(0deg,rgba(10,16,15,.75),rgba(10,16,15,.24) 72%); }
 .hero-content { padding-bottom:6.7rem; }
 h1 { font-size:clamp(3.1rem,13vw,4.6rem); }
 .desktop-break { display:none; }
 .image-note { left:20px; right:20px; bottom:1.3rem; font-size:.7rem; }
 .section-index { margin-bottom:3.2rem; }
 .intro-section,.contact-section,.properties-section { padding-block:5.5rem; }
 .property-image-placeholder { min-height:265px; }
 .property-details { padding:2rem; }
 .form-row { grid-template-columns:1fr; }
 .footer-inner { align-items:flex-start; flex-direction:column; gap:1.7rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
