:root{--bg:#f5f2ec;--surface:#fff;--surface-sunken:#ece7db;--ink:#201d1a;--muted:#6b6355;--faint:#948c79;--line:#ddd6c6;--accent:#2c463f;--accent-ink:#172a25;--accent-contrast:#fff;--accent-soft:#e1e8e4;--gold:#b08d57;--avail-free-bg:#d7ecd9;--avail-free-ink:#2b6a3a;--avail-booked-bg:#f6d4d0;--avail-booked-ink:#a3352a;--font-display:Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--font-body:-apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--radius:10px;--shadow:0 12px 28px -18px #17140c59}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15140f;--surface:#1e1c16;--surface-sunken:#26241b;--ink:#ece7da;--muted:#a89f8c;--faint:#786f57;--line:#35311f;--accent:#7fb3a1;--accent-ink:#d8ece6;--accent-contrast:#10221d;--accent-soft:#223028;--gold:#d3ac72;--avail-free-bg:#1f3a26;--avail-free-ink:#8fd39f;--avail-booked-bg:#3a221f;--avail-booked-ink:#e08d7a}}:root[data-theme=dark]{--bg:#15140f;--surface:#1e1c16;--surface-sunken:#26241b;--ink:#ece7da;--muted:#a89f8c;--faint:#786f57;--line:#35311f;--accent:#7fb3a1;--accent-ink:#d8ece6;--accent-contrast:#10221d;--accent-soft:#223028;--gold:#d3ac72;--avail-free-bg:#1f3a26;--avail-free-ink:#8fd39f;--avail-booked-bg:#3a221f;--avail-booked-ink:#e08d7a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0 0 .5rem;font-weight:400;line-height:1.15}h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.2rem}p{max-width:68ch;margin:0 0 1rem}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem;font-size:.72rem}.container{max-width:1160px;margin:0 auto;padding:0 1.5rem}.section{padding:4.5rem 0}.section-sm{padding:3rem 0}.site-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:40;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.1rem;padding-bottom:1.1rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.01em;align-items:center;font-size:1.3rem;text-decoration:none;display:inline-flex}.brand b{color:var(--accent)}.brand-logo{background:#fdfcf8;border-radius:8px;width:auto;height:56px;padding:.4rem .8rem;display:block}.main-nav{align-items:center;gap:1.8rem;margin:0;padding:0;list-style:none;display:flex}.main-nav a{color:var(--muted);font-size:.94rem;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink)}.lang-switch{font-family:var(--font-mono);gap:.4rem;font-size:.75rem;display:flex}.lang-switch a{color:var(--faint);border-radius:5px;padding:.2rem .45rem;text-decoration:none}.lang-switch a[aria-current=true]{color:var(--accent-contrast);background:var(--accent)}.btn{cursor:pointer;font-size:.92rem;font-family:var(--font-body);border:1px solid #0000;border-radius:99px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{opacity:.92}.btn-outline{border-color:var(--line);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--accent)}.consent-banner{z-index:100;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:60rem;box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:1rem;margin-inline:auto;padding:1.25rem 1.5rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem}.consent-banner[hidden]{display:none}.consent-banner-text{min-width:16rem;color:var(--muted);flex:1;font-size:.9rem}.consent-banner-actions{flex-wrap:wrap;gap:.5rem;display:flex}.hero{border-bottom:1px solid var(--line);padding:5rem 0 4rem}.hero .subtitle{font-family:var(--font-display);color:var(--muted);max-width:56ch;font-size:1.15rem;font-style:italic}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:1.6rem;display:flex}.apartment-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem;display:grid}.apartment-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.apartment-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.apartment-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.apartment-card .body{flex-direction:column;flex:1;gap:.5rem;padding:1.2rem 1.3rem 1.4rem;display:flex}.apartment-card .meta{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);font-size:.72rem}.apartment-card h3{margin:0}.apartment-card p{color:var(--muted);margin:0;font-size:.92rem}.apartment-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:1.5rem 0;display:grid}.apartment-gallery img{aspect-ratio:4/3;object-fit:cover;cursor:pointer;border-radius:8px;width:100%;height:100%}.apartment-gallery .is-hero{aspect-ratio:4/3;border-radius:var(--radius);grid-area:span 2/span 2}@media (width<=640px){.apartment-gallery{grid-template-columns:repeat(3,1fr)}.apartment-gallery .is-hero{grid-area:span 1/span 3}}.content-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.8rem}.content-block h2{font-size:1.3rem}.fact-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.fact{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.9rem 1.1rem}.fact .label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:.68rem}.fact .value{margin-top:.2rem;font-size:1.15rem}.detail-list{margin:0;padding-left:1.2rem}.detail-list li{color:var(--muted);margin-bottom:.45rem}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3rem;display:grid}.testimonial{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem}.testimonial .stars{color:var(--gold);letter-spacing:.1em;margin-bottom:.5rem;font-size:.9rem}.testimonial p{color:var(--ink);margin-bottom:.7rem;font-size:.93rem}.testimonial .who{font-family:var(--font-mono);color:var(--faint);font-size:.75rem}.category-row{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem;display:flex}.category-chip{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:99px;padding:.3rem .8rem;font-size:.75rem}.event-grid,.restaurant-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3rem;display:grid}.event-card,.restaurant-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem}.event-card .cat,.restaurant-card .cat{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.event-card h3,.restaurant-card h3{margin:.3rem 0 .2rem}.event-card .date,.restaurant-card .area{color:var(--faint);margin-bottom:.6rem;font-size:.85rem}.event-card p,.restaurant-card p{color:var(--muted);font-size:.92rem}.source-note{color:var(--faint);margin-top:2rem;font-size:.82rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding:3rem 0 2.5rem;font-size:.9rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:1.5rem 2.5rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.3rem;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--ink)}.form-grid{gap:1rem;max-width:520px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.88rem;display:flex}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.65rem .8rem}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.honeypot{position:absolute;left:-9999px}@media (width<=720px){.site-header .main-nav{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.apartment-card{transition:none}}
