:root {
  --red: #7d3038;
  --ink: #191c1b;
  --muted: #6e716d;
  --paper: #f2efe8;
  --line: #d6d0c5;
  --ivory: #faf8f3;
  --stone: #a99d8b;
  --sage: #7f887e;
  --wine: #7d3038;
  --max: 1280px;
}
body { background: var(--ivory); color: var(--ink); }
.site-header { grid-template-columns: 320px 1fr auto; height: 84px; background: rgba(250,248,243,.96); border-bottom: 1px solid var(--line); }
.aleje-brand { display: flex; flex-direction: column; text-decoration: none; line-height: 1; }
.aleje-wordmark { display: flex; align-items: baseline; gap: 9px; font-style: normal; font-size: 1.16rem; letter-spacing: .08em; position: relative; width: max-content; }
.aleje-wordmark b { font-weight: 500; color: var(--ink); }
.aleje-wordmark em { font-style: normal; font-family: Georgia,serif; font-weight: 400; color: var(--wine); letter-spacing: .03em; }
.aleje-wordmark i { width: 5px; height: 5px; border-radius: 50%; background: #a58b62; position: absolute; right: -13px; top: -1px; }
.aleje-brand small { font-size: .51rem; letter-spacing: .2em; color: var(--muted); margin-top: 8px; font-weight: 650; }
.desktop-nav a { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 650; }
.lang-switch { border-color: var(--line); }
.lang-switch button { font-size: .68rem; letter-spacing: .06em; }
.lang-switch button[aria-pressed=true] { background: var(--ink); }
.eyebrow,.kicker { color: var(--wine); letter-spacing: .18em; font-weight: 700; }
.hero { background: #ece8df; grid-template-columns: .86fr 1.14fr; min-height: 720px; position: relative; }
.hero-copy { position: relative; overflow: hidden; padding: 84px 62px 50px; isolation: isolate; }
.hero-copy::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .42; background-image: linear-gradient(90deg,transparent 49.8%,rgba(125,48,56,.16) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(25,28,27,.08) 50%,transparent 50.2%); background-size: 84px 84px; }
.hero-copy::after { content: ""; position: absolute; width: 430px; height: 430px; border: 1px solid rgba(125,48,56,.25); transform: rotate(45deg); left: -260px; bottom: -245px; z-index: -1; }
.hero-monogram { position: absolute; right: -12px; top: 105px; font-family: Georgia,serif; font-size: 10rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(125,48,56,.13); z-index: -1; letter-spacing: -.08em; }
h1 { color: var(--ink); font-family: Georgia,"Times New Roman",serif; font-weight: 400; letter-spacing: -.055em; line-height: .96; position: relative; z-index: 1; }
.hero-lede { color: #555a56; font-size: 1.06rem; max-width: 520px; }
.button { letter-spacing: .04em; text-transform: uppercase; font-size: .78rem; min-height: 52px; }
.button.primary { background: var(--wine); color: #fff; box-shadow: none; }
.button.primary:hover { background: #61232a; transform: none; box-shadow: none; }
.button.text { border-bottom: 1px solid var(--ink); }
.hero-facts { border-top-color: #c9c1b4; }
.hero-facts div { border-right-color: #c9c1b4; }
.hero-facts strong { font-family: Georgia,serif; font-weight: 400; font-size: 1.42rem; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(16,18,17,.12),transparent 40%,rgba(16,18,17,.46)); pointer-events: none; }
.hero-media > img { filter: saturate(.8) contrast(1.03); }
.project-label { position: absolute; left: 26px; top: 26px; z-index: 2; background: rgba(250,248,243,.92); color: var(--ink); padding: 11px 15px; font-size: .65rem; letter-spacing: .17em; font-weight: 750; }
.hero-stamp { z-index: 2; background: rgba(25,28,27,.9); color: #fff; border: 1px solid rgba(255,255,255,.5); width: 164px; height: 164px; transform: none; }
.hero-stamp strong { font-family: Georgia,serif; font-weight: 400; }
.hero-image-data { position: absolute; left: 26px; bottom: 22px; z-index: 2; color: rgba(255,255,255,.82); display: flex; gap: 12px; align-items: center; font-size: .62rem; letter-spacing: .15em; }
.hero-image-data i { display: block; width: 48px; height: 1px; background: rgba(255,255,255,.65); }
.image-credit { z-index: 2; left: auto; right: 18px; background: transparent; }
.notice { background: var(--ink); border-top: 1px solid #3d413e; padding-top: 25px; padding-bottom: 25px; }
.notice p { color: #d8d5ce; }
.notice strong { color: #fff; font-weight: 600; }
.notice a { color: #c9b28f; text-underline-offset: 5px; }
.section { padding-top: 120px; padding-bottom: 120px; }
.section-heading { align-items: start; border-top: 1px solid var(--line); padding-top: 28px; }
.section-heading h2,.costs-intro h2,.location-copy h2,.faq-title h2,.contact-copy h2 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; }
.filter-row { gap: 0; border-bottom: 1px solid var(--line); }
.filter { border: 0; border-right: 1px solid var(--line); background: transparent; padding: 12px 20px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.filter.active { background: var(--ink); color: #fff; }
.apartment-grid { gap: 28px; }
.apartment-card { border: 1px solid var(--line); background: #fff; border-radius: 0; box-shadow: none; }
.apartment-card:hover { transform: translateY(-2px); box-shadow: 0 18px 55px rgba(30,30,27,.09); }
.card-image { border-radius: 0; }
.card-image::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); pointer-events: none; }
.card-style { border-radius: 0; background: rgba(250,248,243,.92); color: var(--wine); letter-spacing: .12em; }
.card-title h3,.card-price strong { font-family: Georgia,serif; font-weight: 400; }
.card-features span { background: #f1eee7; color: #5d605c; }
.card-actions a { color: var(--wine); }
.costs-section { background: #e9e4da; border: 0; border-radius: 0; max-width: none; margin: 0; padding-left: max(24px,calc((100vw - var(--max))/2)); padding-right: max(24px,calc((100vw - var(--max))/2)); }
.cost-list article { border-top-color: #c9c1b4; }
.cost-list article:last-child { border-bottom-color: #c9c1b4; }
.cost-list article > span { width: auto; height: auto; border-radius: 0; display: block; background: transparent !important; color: var(--wine); font-family: Georgia,serif; font-size: 1.1rem; }
.cost-list h3 { font-weight: 600; }
.amenities-section { background: #1a1d1c; }
.section-heading.light { border-top-color: #494d4a; }
.amenity-grid { border-color: #414542; }
.amenity-grid article { border-color: #414542; border-top: 0 !important; position: relative; }
.amenity-grid article::before { content: ""; position: absolute; left: 30px; top: 0; width: 40px; height: 2px; background: #a58b62; }
.amenity-grid b { color: #b9a27e; font-family: Georgia,serif; font-weight: 400; }
.amenity-grid h3 { font-weight: 500; }
.location-section { gap: 100px; }
.travel-grid { border-color: #3e423f; }
.travel-grid div { background: transparent !important; border-color: #3e423f; }
.travel-grid strong { font-family: Georgia,serif; font-weight: 400; color: var(--wine); }
.faq-section { background: transparent; border-radius: 0; margin-top: 0; margin-bottom: 0; padding-left: 24px; padding-right: 24px; }
.faq-list details { border-color: var(--line); }
summary::after { color: var(--wine); }
.contact-section { background: #ded8cd; }
.contact-form { background: #cbc3b7; }
.contact-copy > img { filter: grayscale(1) contrast(1.15); }
.people article { border-top: 1px solid var(--wine); }
.contact-email { color: var(--wine); }
.contact-form input,.contact-form select,.contact-form textarea { background: rgba(250,248,243,.88); border-color: #aaa092; }
footer { background: #111412; }
.footer-brand { gap: 20px !important; }
.footer-wordmark { font-size: 1.18rem; }
.footer-wordmark b { color: #fff; }
.footer-wordmark em { color: #b9a27e; }
.footer-brand img { width: 180px; background: #fff; padding: 7px; filter: grayscale(1); }
@media (max-width:900px) {
  .site-header { grid-template-columns: 1fr auto; height: auto; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 58px 24px; }
  .hero-monogram { font-size: 7rem; top: 85px; }
  .costs-section,.faq-section { padding-left: 24px; padding-right: 24px; }
  .aleje-brand small { font-size: .47rem; }
}
@media (max-width:580px) {
  .aleje-wordmark { font-size: .92rem; gap: 6px; }
  .aleje-brand small { letter-spacing: .11em; }
  .lang-switch button { padding: 7px 6px; }
  .hero { border: 0; }
  .project-label { left: 14px; top: 14px; }
  .hero-image-data { left: 14px; }
  .hero-stamp { width: 130px; height: 130px; }
}
