

:root { --ink:#1f2326; --muted:#6d7479; --red:#d62828; --line:#e4e6e7; --soft:#f4f5f5; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; overflow-x:hidden; background:#fff; color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,select { font:inherit; }
.site-header { height:84px; display:grid; grid-template-columns:250px 1fr auto; align-items:center; gap:24px; padding:0 4.5vw; background:#fff; position:relative; z-index:20; border-bottom:1px solid rgba(0,0,0,.05); }
.brand img { width:220px; height:70px; object-fit:contain; }
.main-nav { display:flex; justify-content:center; gap:25px; font-size:12px; font-weight:700; }
.main-nav a { position:relative; padding:32px 0; white-space:nowrap; }
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:22px; height:2px; background:var(--red); transition:.25s; }
.main-nav a:hover:after { right:0; }
.nav-caret { color:#888; font-size:10px; margin-left:5px; }
.languages { display:flex; gap:5px; }
.globe { align-self:center; margin-right:5px; color:#6d7479; font-size:18px; }
.languages button { border:0; background:none; font-size:11px; font-weight:800; padding:10px 7px; color:#80868a; cursor:pointer; }
.languages button.active { color:var(--red); border-bottom:2px solid var(--red); }
.languages a { border:0; background:none; font-size:11px; font-weight:800; padding:10px 7px; color:#80868a; text-decoration:none; }
.languages a.active { color:var(--red); border-bottom:2px solid var(--red); }
.menu-button { display:none; border:0; background:none; font-size:26px; }
.hero { min-height:650px; position:relative; background:url('/property-villa.webp') center 58%/cover no-repeat; display:flex; align-items:flex-start; padding:84px 7vw 140px; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.08) 67%,rgba(10,17,22,.18)); }
.hero-content { position:relative; z-index:2; width:min(600px,48vw); }
.eyebrow { margin:0 0 24px; color:var(--red); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow:before { content:""; display:inline-block; width:38px; height:2px; background:currentColor; margin:0 12px 3px 0; }
h1 { margin:0; font-size:clamp(48px,5vw,78px); line-height:.98; letter-spacing:-.055em; max-width:760px; }
h1 span { color:var(--red); font-weight:400; }
.hero-intro { max-width:520px; color:#51595e; font-size:17px; line-height:1.6; margin:28px 0 30px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:3px; font-size:13px; font-weight:800; transition:.2s; }
.btn-red,.search-button { background:var(--red); color:#fff; box-shadow:0 9px 28px rgba(214,40,40,.22); }
.btn-red:hover,.search-button:hover { background:#b91f25; transform:translateY(-1px); }
.btn-glass { background:rgba(255,255,255,.76); border:1px solid rgba(31,35,38,.15); backdrop-filter:blur(8px); }
.search-panel { position:absolute; z-index:3; left:7vw; right:7vw; bottom:-54px; min-height:136px; background:#fff; border-radius:7px; box-shadow:0 16px 44px rgba(22,28,32,.14); padding:22px; display:grid; grid-template-columns:1.05fr 1fr 1fr .65fr 1fr; gap:12px; }
.search-panel label { border:1px solid var(--line); border-radius:3px; padding:8px 12px; min-width:0; }
.search-panel label span { display:block; color:#8a9094; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.search-panel select { width:100%; border:0; background:#fff; color:#333; font-size:12px; outline:none; }
.search-button { display:flex; justify-content:center; align-items:center; border-radius:3px; font-size:12px; font-weight:800; }
.search-proof { grid-column:1/-1; margin:1px 0 -4px; color:#5b6469; font-size:11px; }
.section { padding:120px 7vw; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:38px; }
.section-heading>div:first-child { max-width:750px; }
.section-heading h2,.austria-content h2,.investor-copy h2 { font-size:clamp(34px,4vw,56px); line-height:1.08; letter-spacing:-.045em; margin:0 0 16px; }
.section-heading p:not(.eyebrow),.austria-content>p:not(.eyebrow),.investor-copy>p:not(.eyebrow) { color:var(--muted); line-height:1.65; margin:0; max-width:700px; }
.eyebrow.dark { color:var(--red); margin-bottom:16px; }
.austria-pill { padding:11px 15px; background:#fff5f5; color:#861d1f; border:1px solid #f3d7d7; font-size:11px; font-weight:800; white-space:nowrap; }
.property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:1400px; }
.property-card { border:1px solid var(--line); background:#fff; transition:.25s; }
.property-card:hover { transform:translateY(-5px); box-shadow:0 17px 38px rgba(20,26,30,.1); }
.property-image { height:360px; position:relative; overflow:hidden; }
.property-image img { width:100%; height:100%; object-fit:cover; transition:.5s; }
.property-card:hover img { transform:scale(1.04); }
.property-image>span { position:absolute; left:14px; top:14px; background:#20272c; color:#fff; font-size:9px; letter-spacing:.09em; padding:7px 9px; font-weight:800; }
.property-image button { position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.6); color:#fff; background:rgba(0,0,0,.16); font-size:20px; }
.property-body { padding:26px; }
.property-meta { color:var(--red)!important; font-size:10px!important; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.property-body h3 { font-size:24px; margin:10px 0; }
.property-body>p { color:var(--muted); font-size:14px; }
.property-body>div { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:22px; margin-top:22px; font-size:14px; }
.property-body strong { color:var(--red); }
.property-body a { font-weight:800; }
.global-reach { margin-top:46px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1.1fr 2.9fr; gap:30px; padding:28px 0; align-items:center; }
.reach-intro h3 { margin:0 0 8px; font-size:22px; line-height:1.15; }
.reach-intro p:not(.eyebrow) { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.reach-intro .eyebrow { margin-bottom:10px; font-size:9px; }
.mini-market-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; }
.mini-market-grid a { min-width:0; border:1px solid var(--line); background:#fff; padding:12px 10px; display:grid; grid-template-columns:auto 1fr; gap:2px 7px; transition:.2s; }
.mini-market-grid a:hover { border-color:#d9a6a7; transform:translateY(-2px); }
.mini-market-grid span { grid-row:1/3; font-size:22px; }
.mini-market-grid strong { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mini-market-grid small { color:var(--muted); font-size:8px; }
.language-strip { display:grid; grid-template-columns:1.3fr repeat(5,1fr); border-bottom:1px solid var(--line); }
.language-strip>div { display:flex; align-items:center; gap:14px; padding:20px 18px 20px 0; }
.language-globe { font-size:38px; color:var(--red); }
.language-strip p { margin:0; display:flex; flex-direction:column; gap:4px; }
.language-strip small { color:var(--red); font-size:8px; font-weight:800; letter-spacing:.1em; }
.language-strip p strong { font-size:13px; }
.language-strip button { background:#fff; border:0; border-left:1px solid var(--line); padding:17px 14px; text-align:left; display:grid; grid-template-columns:1fr auto; gap:7px; cursor:pointer; }
.language-strip button:hover { background:#faf5f5; }
.language-strip button strong { font-size:11px; }
.language-strip button span { font-size:9px; color:var(--muted); }
.language-strip button small { grid-column:1/-1; color:var(--muted); font-size:8px; }
.trust-strip { display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid var(--line); }
.trust-strip div { display:flex; align-items:center; justify-content:center; gap:10px; padding:20px 8px; border-right:1px solid var(--line); }
.trust-strip span { color:var(--red); font-size:24px; }
.trust-strip strong { font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.austria-section { display:grid; grid-template-columns:1fr 1fr; min-height:710px; background:#20262a; color:#fff; }
.austria-photo { background:linear-gradient(0deg,rgba(15,20,24,.32),rgba(15,20,24,.08)),url('/property-villa.webp') center/cover no-repeat; position:relative; }
.location-card { position:absolute; left:6vw; bottom:55px; padding:24px; background:rgba(255,255,255,.92); color:var(--ink); width:245px; backdrop-filter:blur(8px); }
.location-card span,.location-card small { display:block; color:var(--muted); font-size:10px; letter-spacing:.08em; }
.location-card strong { display:block; font-size:30px; margin:7px 0; letter-spacing:.1em; }
.austria-content { padding:85px 7vw 70px 6vw; }
.austria-content>p:not(.eyebrow) { color:#bfc5c8; }
.value-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#3a4044; margin-top:45px; }
.value-grid>div { background:#20262a; padding:25px 22px; }
.value-grid span { color:var(--red); font-size:10px; font-weight:800; }
.value-grid h3 { margin:10px 0 8px; font-size:16px; }
.value-grid p { margin:0; color:#aeb5b9; font-size:12px; line-height:1.55; }
.markets-section { background:#f5f6f6; }
.section-heading.narrow { max-width:800px; }
.market-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.market-card { display:flex; align-items:center; min-height:92px; background:#fff; border:1px solid var(--line); padding:18px; transition:.2s; }
.market-card { color:inherit; text-decoration:none; }
.market-card:hover { border-color:#d9a6a7; transform:translateY(-2px); }
.flag { font-size:30px; margin-right:14px; }
.market-card div { display:flex; flex-direction:column; flex:1; gap:4px; }
.market-card strong { font-size:14px; }
.market-card small { color:var(--muted); }
.market-card b { color:var(--red); }

/* International SEO campaign pages */
.seo-campaign { margin:0; background:#f5f4f1; color:#202428; font-family:Arial,Helvetica,sans-serif; }
.seo-campaign * { box-sizing:border-box; }
.seo-wrap { width:min(1440px,calc(100% - 96px)); margin:0 auto; }
.seo-header { height:92px; padding:0 48px; background:#fff; display:grid; grid-template-columns:280px 1fr auto; align-items:center; position:relative; z-index:10; border-bottom:1px solid #e7e7e4; }
.seo-header> a img { width:220px; height:auto; display:block; }
.seo-header nav { display:flex; justify-content:center; gap:36px; }
.seo-header nav a,.seo-languages a { color:#282c30; text-decoration:none; font-weight:700; font-size:13px; }
.seo-languages { display:flex; gap:5px; }
.seo-languages a { padding:10px 7px; color:#7d8388; font-size:11px; }
.seo-languages a.active { color:var(--red); border-bottom:2px solid var(--red); }
.seo-hero { min-height:690px; position:relative; display:flex; align-items:center; color:#fff; background:url('/apfelberg/eigengarten.webp') center/cover no-repeat; }
.seo-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,18,22,.94) 0%,rgba(12,18,22,.72) 45%,rgba(12,18,22,.18) 100%); }
.seo-hero-content { position:relative; padding:90px 0; }
.seo-hero h1 { max-width:900px; margin:20px 0 28px; font-size:clamp(52px,6vw,98px); line-height:.94; letter-spacing:-.055em; }
.seo-hero h1 span { color:#ef3034; font-weight:400; }
.seo-hero-content>p:not(.eyebrow) { max-width:760px; font-size:20px; line-height:1.7; color:#dce0e2; }
.seo-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:35px; }
.seo-btn-light { color:#fff; border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.08); }
.seo-trust { display:grid; grid-template-columns:repeat(4,1fr); background:#151c21; color:#fff; }
.seo-trust>div { padding:28px 36px; display:flex; align-items:center; gap:16px; border-right:1px solid rgba(255,255,255,.12); }
.seo-trust strong { color:#ef3034; font-size:27px; }
.seo-trust span { color:#cbd0d3; font-size:13px; }
.seo-section { padding:120px 0; }
.seo-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; margin:14px 0 55px; }
.seo-section h2,.seo-cta h2 { font-size:clamp(40px,4vw,70px); line-height:1.04; letter-spacing:-.04em; margin:14px 0 25px; }
.seo-heading p,.seo-section p { color:#6d7479; line-height:1.7; }
.seo-properties { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.seo-property-card { background:#fff; border:1px solid #dededb; min-width:0; }
.seo-property-card>a { display:block; aspect-ratio:1.38; overflow:hidden; }
.seo-property-card img { width:100%; height:100%; object-fit:cover; display:block; transition:.45s; }
.seo-property-card:hover img { transform:scale(1.035); }
.seo-property-card>div { padding:28px; }
.seo-property-card p { color:#df292d; font-size:10px; letter-spacing:.14em; font-weight:900; margin:0 0 12px; }
.seo-property-card h3 { font-size:25px; margin:0 0 10px; }
.seo-property-card h3 a,.seo-property-card footer a { color:inherit; text-decoration:none; }
.seo-property-card span,.seo-property-card small { display:block; color:#70767a; margin-top:8px; line-height:1.45; }
.seo-property-card footer { display:flex; justify-content:space-between; gap:14px; align-items:center; border-top:1px solid #e5e5e2; margin-top:24px; padding-top:20px; }
.seo-property-card footer strong,.seo-property-card footer a { color:#d92529; font-size:13px; }
.seo-benefits { background:#151c21; color:#fff; }
.seo-benefits h2 { max-width:760px; }
.seo-reason-grid,.seo-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:60px; background:rgba(255,255,255,.14); }
.seo-reason-grid article { background:#151c21; padding:42px 34px; }
.seo-reason-grid span,.seo-process-grid span { color:#ef3034; font-size:12px; font-weight:900; letter-spacing:.15em; }
.seo-reason-grid h3,.seo-process-grid h3 { font-size:22px; margin:22px 0 15px; }
.seo-reason-grid p { color:#b9c0c4; }
.seo-process-grid { grid-template-columns:repeat(3,1fr); background:#dededb; }
.seo-process-grid article { background:#fff; padding:45px; }
.seo-region { background:#ebe9e4; }
.seo-region .seo-wrap { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:center; }
.seo-region .seo-wrap>div:first-child>p:last-child { font-size:18px; max-width:720px; }
.seo-area-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.seo-area-grid span { background:#fff; border-left:3px solid #df292d; padding:20px 22px; font-size:14px; font-weight:800; }
.seo-faq { background:#fff; }
.seo-faq .seo-wrap>div { margin-top:48px; border-top:1px solid #dededb; }
.seo-faq details { border-bottom:1px solid #dededb; padding:0; }
.seo-faq summary { cursor:pointer; padding:25px 50px 25px 0; font-size:18px; font-weight:800; position:relative; }
.seo-faq summary::after { content:'+'; position:absolute; right:8px; color:#df292d; font-size:25px; }
.seo-faq details[open] summary::after { content:'−'; }
.seo-faq details p { max-width:950px; padding:0 0 28px; margin:0; }
.seo-cta { background:#20272c; color:#fff; padding:90px 0; }
.seo-cta .seo-wrap { display:grid; grid-template-columns:1fr auto; align-items:end; gap:50px; }
.seo-cta p:not(.eyebrow) { color:#bec5c8; font-size:18px; }
.seo-footer { background:#10171b; color:#b9c0c4; padding:55px max(48px,calc((100vw - 1440px)/2)); display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; }
.seo-footer>div { display:flex; flex-direction:column; gap:11px; }
.seo-footer img { width:260px; height:auto; object-fit:contain; object-position:left; }
.seo-footer strong { color:#fff; }
.seo-footer a { color:#b9c0c4; text-decoration:none; }
@media(max-width:900px){
  .seo-wrap { width:min(100% - 36px,720px); }
  .seo-header { height:auto; min-height:82px; padding:14px 18px; grid-template-columns:1fr auto; gap:12px; }
  .seo-header> a img { width:180px; }.seo-header nav { display:none; }.seo-languages { grid-column:1/-1; justify-content:flex-end; }
  .seo-hero { min-height:650px; }.seo-hero-overlay { background:linear-gradient(90deg,rgba(12,18,22,.94),rgba(12,18,22,.65)); }
  .seo-hero-content { padding:70px 0; }.seo-hero h1 { font-size:clamp(44px,14vw,68px); }.seo-hero-content>p:not(.eyebrow) { font-size:17px; }
  .seo-trust { grid-template-columns:1fr 1fr; }.seo-trust>div { padding:20px 18px; }
  .seo-section { padding:78px 0; }.seo-heading,.seo-cta .seo-wrap { grid-template-columns:1fr; gap:10px; }
  .seo-region .seo-wrap { grid-template-columns:1fr; gap:32px; }
  .seo-properties,.seo-process-grid { grid-template-columns:1fr; }.seo-reason-grid { grid-template-columns:1fr 1fr; }
  .seo-footer { padding:48px 24px; grid-template-columns:1fr; gap:35px; }
}
@media(max-width:520px){
  .seo-languages a { padding:7px 8px; }.seo-hero { min-height:620px; }.seo-actions .btn { width:100%; justify-content:center; }
  .seo-trust { grid-template-columns:1fr; }.seo-trust>div { border-bottom:1px solid rgba(255,255,255,.12); }
  .seo-reason-grid { grid-template-columns:1fr; }.seo-property-card>div,.seo-process-grid article,.seo-reason-grid article { padding:27px 22px; }
  .seo-area-grid { grid-template-columns:1fr; }
}
.investor-section { margin:0; padding:100px 10vw; background:linear-gradient(105deg,#191f23,#2a3135); color:#fff; display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; align-items:center; }
.investor-copy>p:not(.eyebrow) { color:#bdc3c6; }
.steps { margin-top:40px; display:flex; gap:12px; }
.steps>div { flex:1; border-top:1px solid #545b5f; padding-top:15px; display:flex; flex-direction:column; gap:10px; }
.steps span { color:var(--red); font-size:10px; font-weight:800; }
.steps strong { font-size:13px; line-height:1.35; }
.investor-card { background:#fff; color:var(--ink); padding:34px; box-shadow:0 30px 60px rgba(0,0,0,.2); }
.card-mark { width:46px; height:46px; border:1px solid var(--red); color:var(--red); display:grid; place-items:center; font-weight:900; margin-bottom:30px; }
.investor-card h3 { font-size:25px; margin:0 0 12px; }
.investor-card p { color:var(--muted); }
.btn.full { width:100%; margin:16px 0; }
.investor-card small { color:#8a9094; line-height:1.4; display:block; }

/* Property detail: 52 m² apartment */
.property-page { background:#fff; }
.property-header { position:relative; }
.property-hero { min-height:790px; position:relative; overflow:hidden; background:#161c20; color:#fff; }
.property-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 45%; filter:saturate(.82) contrast(1.02); }
.property-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,20,24,.93) 0%,rgba(15,20,24,.76) 36%,rgba(15,20,24,.12) 72%),linear-gradient(0deg,rgba(15,20,24,.6),transparent 45%); }
.property-hero-copy { position:relative; z-index:2; padding:90px 7vw 190px; max-width:780px; }
.back-link { display:inline-flex; align-items:center; gap:8px; color:#d7dcdf; font-size:12px; font-weight:700; margin-bottom:70px; }
.back-link:hover { color:#fff; }
.property-hero-copy .eyebrow { margin-bottom:22px; }
.property-hero-copy h1 { font-size:clamp(58px,6vw,92px); line-height:.93; max-width:760px; }
.property-hero-copy h1 span { display:block; }
.property-hero-copy>p:not(.eyebrow) { color:#d7dcdf; font-size:18px; line-height:1.65; max-width:650px; margin:30px 0; }
.property-facts { position:absolute; z-index:3; left:7vw; right:7vw; bottom:0; display:grid; grid-template-columns:repeat(4,1fr); background:rgba(255,255,255,.96); color:var(--ink); box-shadow:0 -15px 45px rgba(0,0,0,.08); }
.property-facts div { min-height:118px; padding:28px 30px; display:flex; flex-direction:column; gap:12px; border-right:1px solid var(--line); }
.property-facts span { color:var(--red); font-size:10px; font-weight:900; letter-spacing:.12em; }
.property-facts strong { font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.property-overview { padding:34px 7vw; display:grid; grid-template-columns:1.3fr repeat(3,1fr); border-bottom:1px solid var(--line); background:#fafafa; }
.property-overview>div { min-height:72px; padding:8px 28px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; gap:8px; }
.property-overview>div:first-child { padding-left:0; }
.property-overview>div:last-child { border:0; }
.property-overview small { color:var(--muted); text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.12em; }
.property-overview strong { font-size:16px; }
.property-status span { width:max-content; color:var(--red); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; border:1px solid #efcaca; padding:7px 9px; }
.property-status strong { font-size:12px; letter-spacing:.1em; }
.property-essence { padding:120px 7vw; display:grid; grid-template-columns:1fr 1.05fr; gap:8vw; align-items:center; }
.property-essence h2,.property-design h2,.property-gallery h2,.property-energy h2,.property-inquiry h2,.seo-location-section h2 { font-size:clamp(40px,4.3vw,68px); line-height:1.02; letter-spacing:-.05em; margin:0 0 24px; }
.property-essence-copy>p:not(.eyebrow),.property-design>div>p:not(.eyebrow),.property-section-head>p,.property-inquiry>div>p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.75; }
.property-highlight-list { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); margin-top:38px; border:1px solid var(--line); }
.property-highlight-list div { background:#fff; min-height:82px; padding:18px; display:flex; gap:12px; align-items:center; }
.property-highlight-list span { color:var(--red); font-weight:900; }
.property-highlight-list strong { font-size:12px; line-height:1.4; }
.property-essence-image { height:670px; position:relative; overflow:hidden; background:#eee; }
.property-essence-image img { width:100%; height:100%; object-fit:cover; }
.property-essence-image>span { position:absolute; right:0; bottom:0; width:150px; height:150px; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; font-size:64px; font-weight:900; }
.property-essence-image small { font-size:18px; margin:26px 0 0 5px; }
.property-design { background:#171d21; color:#fff; display:grid; grid-template-columns:1.2fr .8fr; gap:7vw; align-items:center; padding:100px 7vw; }
.property-design-images { display:grid; grid-template-columns:1fr 1fr; gap:14px; height:600px; }
.property-design-images img { width:100%; height:100%; object-fit:cover; min-width:0; }
.property-design-images img:last-child { margin-top:55px; height:calc(100% - 55px); }
.property-design>div>p:not(.eyebrow) { color:#bdc4c8; }
.material-swatches { display:flex; gap:12px; margin-top:38px; }
.material-swatches span { width:55px; height:55px; border-radius:50%; border:5px solid rgba(255,255,255,.12); background:#a9794d; }
.material-swatches span:nth-child(2) { background:#123b53; }
.material-swatches span:nth-child(3) { background:#45423e; }
.material-swatches span:nth-child(4) { background:#e9e7e2; }
.property-gallery { padding:120px 7vw; }
.property-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:42px; }
.property-section-head>div { max-width:800px; }
.property-section-head>p { max-width:330px; text-align:right; }
.property-gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; }
.property-gallery-grid figure { grid-column:span 4; height:330px; margin:0; position:relative; overflow:hidden; background:#e9ebec; }
.property-gallery-grid figure.gallery-feature { grid-column:span 8; }
.property-gallery-grid figure.gallery-half { grid-column:span 6; }
.property-gallery-grid figure.gallery-final { grid-column:span 12; height:430px; }
.gallery-open { display:block; width:100%; height:100%; padding:0; border:0; background:#111; cursor:zoom-in; }
.property-gallery-grid img { width:100%; height:100%; object-fit:cover; transition:.5s; }
.property-gallery-grid figure:hover img { transform:scale(1.035); }
.property-gallery-grid figcaption { position:absolute; left:15px; bottom:15px; width:38px; height:38px; display:grid; place-items:center; background:rgba(15,20,24,.8); color:#fff; font-size:10px; font-weight:800; }
.gallery-zoom { position:absolute; top:15px; right:15px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.92); color:var(--ink); font-size:18px; transition:.25s; }
.gallery-open:hover .gallery-zoom { background:var(--red); color:#fff; transform:rotate(45deg); }
.gallery-lightbox { position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:70px 100px; background:rgba(8,11,13,.96); color:#fff; }
.gallery-lightbox.open { display:flex; }
body.gallery-lock { overflow:hidden; }
.gallery-lightbox-stage { width:min(1180px,100%); height:min(78vh,820px); display:flex; flex-direction:column; gap:16px; }
.gallery-lightbox-stage img { width:100%; height:calc(100% - 38px); object-fit:contain; }
.gallery-lightbox-stage>div { display:flex; justify-content:space-between; gap:25px; font-size:12px; letter-spacing:.06em; }
.gallery-lightbox-stage span { color:#aeb5b9; }
.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next { position:absolute; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; cursor:pointer; display:grid; place-items:center; transition:.2s; }
.gallery-lightbox-close:hover,.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover { background:var(--red); border-color:var(--red); }
.gallery-lightbox-close { top:22px; right:25px; width:48px; height:48px; border-radius:50%; font-size:30px; }
.gallery-lightbox-prev,.gallery-lightbox-next { top:50%; width:52px; height:72px; transform:translateY(-50%); font-size:42px; }
.gallery-lightbox-prev { left:24px; }
.gallery-lightbox-next { right:24px; }
.planning-notice { margin-top:22px; padding:34px 38px; display:grid; grid-template-columns:62px 1fr; gap:24px; align-items:start; color:#fff; background:#171d21; border-left:5px solid var(--red); }
.planning-notice>span { width:52px; height:52px; display:grid; place-items:center; color:#fff; background:var(--red); font-size:24px; font-weight:900; }
.planning-notice div>p:first-child { margin:2px 0 9px; color:#ef4a44; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.planning-notice h3 { margin:0 0 12px; font-size:24px; }
.planning-notice div>p:last-child { max-width:1000px; margin:0; color:#c8ced1; font-size:13px; line-height:1.75; }
.seo-location-section { padding:110px 7vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; background:#f3f4f4; align-items:start; }
.seo-location-section>div>p:not(.eyebrow) { max-width:720px; color:var(--muted); font-size:16px; line-height:1.75; margin:7px 0 35px; }
.seo-location-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#d8dcde; border:1px solid #d8dcde; }
.seo-location-grid strong { min-height:105px; padding:22px; display:flex; align-items:flex-end; background:#fff; font-size:12px; line-height:1.45; text-transform:uppercase; letter-spacing:.06em; }
.seo-location-grid article { min-height:220px; padding:28px; background:#fff; display:flex; flex-direction:column; }
.seo-location-grid article>span { color:var(--red); font-size:10px; font-weight:900; letter-spacing:.12em; }
.seo-location-grid article h3 { font-size:17px; line-height:1.25; margin:55px 0 12px; }
.seo-location-grid article p { color:var(--muted); font-size:12px; line-height:1.65; margin:0; }
.property-energy { padding:110px 7vw; background:#f4f2ee; display:grid; grid-template-columns:1.1fr repeat(3,1fr); gap:12px; align-items:stretch; }
.property-energy.compact-energy { grid-template-columns:1.1fr repeat(2,1fr); }
.property-energy>div { padding-right:35px; }
.property-energy article { background:#fff; padding:34px; min-height:300px; border-top:3px solid var(--ink); }
.property-energy article>span { width:50px; height:50px; display:grid; place-items:center; color:var(--red); border:1px solid #edc8c8; font-size:26px; margin-bottom:45px; }
.property-energy h3 { font-size:17px; margin:0 0 14px; }
.property-energy article p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.property-energy article.energy-notice { border-top-color:var(--red); }
.property-inquiry { min-height:560px; background:linear-gradient(105deg,rgba(15,20,24,.95),rgba(15,20,24,.75)),url('/apfelberg/wohnzimmer.webp') center 40%/cover no-repeat; color:#fff; padding:100px 10vw; display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:center; }
.velden-hero>img { object-position:center 42%; }
.velden-page .property-inquiry { background:linear-gradient(105deg,rgba(15,20,24,.95),rgba(15,20,24,.74)),url('/velden-woerthersee/garten.webp') center/cover no-repeat; }
.velden-page .property-essence-image>span { width:190px; height:132px; padding:0 20px; gap:6px; font-size:48px; line-height:1; white-space:nowrap; }
.velden-page .property-essence-image small { flex:0 0 auto; margin:22px 0 0; font-size:14px; letter-spacing:.08em; }
.property-inquiry>div>p:not(.eyebrow) { color:#c2c8cb; max-width:590px; }
.property-inquiry-card { background:#fff; color:var(--ink); padding:38px; display:flex; flex-direction:column; gap:16px; box-shadow:0 30px 70px rgba(0,0,0,.3); }
.property-inquiry-card>strong { font-size:20px; }
.property-inquiry-card .btn { margin:5px 0 0; }
.property-secondary-link { text-align:center; font-weight:800; font-size:12px; padding:9px; border-bottom:1px solid var(--line); }
.property-inquiry-card small { color:var(--muted); line-height:1.6; }
.maria-hero>img { object-position:center 58%; filter:saturate(.9) contrast(1.03); }
.maria-hero .property-hero-overlay { background:linear-gradient(90deg,rgba(15,20,24,.95) 0%,rgba(15,20,24,.78) 39%,rgba(15,20,24,.16) 75%),linear-gradient(0deg,rgba(15,20,24,.62),transparent 45%); }
.maria-garden .property-design-images { grid-template-columns:1.15fr .85fr; }
.maria-garden .property-design-images img:first-child { object-position:center; }
.maria-location { margin-top:38px; padding-top:22px; border-top:1px solid #454c50; display:flex; flex-direction:column; gap:7px; }
.maria-location strong { color:#fff; font-size:18px; }
.maria-location span { color:#aeb5b9; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.maria-page .property-essence-image>span { width:190px; height:150px; font-size:52px; white-space:nowrap; }
.maria-page .property-essence-image small { font-size:16px; margin:24px 0 0 4px; }
.maria-inquiry { background:linear-gradient(105deg,rgba(15,20,24,.94),rgba(15,20,24,.72)),url('/maria-buch/garten.webp') center 52%/cover no-repeat; }
.maria-inquiry .property-inquiry-card>a:not(.btn) { font-size:13px; }
.maria-inquiry { padding-top:80px; padding-bottom:80px; }
.maria-cost-copy h2 { font-size:clamp(34px,3.2vw,54px); max-width:760px; }
.maria-cost-list { display:grid; gap:10px; margin:30px 0 20px; max-width:820px; }
.maria-cost-list article { display:grid; grid-template-columns:44px 1fr; gap:15px; padding:16px 18px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(7px); }
.maria-cost-list article>span { color:var(--red); font-size:11px; font-weight:900; letter-spacing:.12em; padding-top:4px; }
.maria-cost-list article>div { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(190px,1fr); gap:3px 18px; }
.maria-cost-list strong,.maria-cost-list b { font-size:14px; line-height:1.45; }
.maria-cost-list b { color:#fff; }
.maria-cost-list small { grid-column:1 / -1; color:#c2c8cb; font-size:11px; line-height:1.55; }
.maria-cost-total { display:block; color:#fff; font-size:17px; line-height:1.4; margin-bottom:8px; }
.maria-cost-disclaimer { display:block; max-width:780px; color:#aeb5b9; font-size:10px; line-height:1.6; }
footer { padding:60px 7vw; background:#11171b; color:#c7cccf; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:8vw; font-size:12px; }
.footer-brand img { width:280px; height:auto; object-fit:contain; display:block; margin-bottom:22px; }
footer>div { display:flex; flex-direction:column; gap:10px; }
footer strong { color:#fff; font-size:13px; margin-bottom:5px; }
footer p { max-width:330px; line-height:1.5; }
footer a:hover { color:#fff; }
.legal-page { background:#f7f7f6; color:var(--ink); }
.legal-header { grid-template-columns:1fr auto; }
.legal-nav { display:flex; align-items:center; gap:34px; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.legal-nav a { padding:33px 0 29px; border-bottom:3px solid transparent; }
.legal-nav a.active,.legal-nav a:hover { color:var(--red); border-bottom-color:var(--red); }
.legal-hero { min-height:570px; padding:140px 7vw 90px; display:flex; align-items:center; color:#fff; background:linear-gradient(90deg,rgba(12,17,20,.95),rgba(12,17,20,.7)),url('/apfelberg/gebaeude.webp') center 55%/cover; }
.legal-hero.privacy-hero { background-image:linear-gradient(90deg,rgba(12,17,20,.96),rgba(12,17,20,.68)),url('/maria-buch/garten.webp'); }
.legal-hero>div { max-width:850px; }
.legal-hero .back-link { margin:0 0 75px; }
.legal-hero h1 { margin:18px 0 28px; font-size:clamp(60px,7vw,108px); line-height:.88; letter-spacing:-.065em; }
.legal-hero h1 span { display:block; color:var(--red); }
.legal-hero>div>p:last-child { max-width:620px; color:#ced3d5; font-size:17px; line-height:1.7; }
.legal-content { padding:110px 7vw 130px; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr); gap:8vw; align-items:start; }
.legal-content aside { position:sticky; top:120px; }
.legal-content aside h2 { font-size:clamp(32px,3vw,50px); line-height:1.02; letter-spacing:-.045em; margin:18px 0 35px; }
.legal-content aside>small { display:block; margin-top:20px; color:var(--muted); }
.legal-contact-card { padding:30px; background:#171d21; color:#fff; display:flex; flex-direction:column; gap:10px; box-shadow:0 22px 45px rgba(16,21,24,.13); }
.legal-contact-card strong { font-size:18px; }
.legal-contact-card span { color:#aeb5b9; font-size:11px; margin-bottom:15px; text-transform:uppercase; letter-spacing:.08em; }
.legal-contact-card a { font-weight:700; }
.legal-contact-card a:hover { color:#ef4a44; }
.legal-sections { display:flex; flex-direction:column; gap:16px; }
.legal-sections article { position:relative; padding:48px 52px; background:#fff; border:1px solid #e2e4e5; }
.legal-sections article>span { display:block; color:var(--red); font-size:10px; font-weight:900; letter-spacing:.15em; margin-bottom:26px; }
.legal-sections h2 { margin:0 0 26px; font-size:clamp(28px,3vw,46px); line-height:1.05; letter-spacing:-.04em; }
.legal-sections p { color:#5e666b; font-size:14px; line-height:1.8; }
.legal-sections p+p { margin-top:16px; }
.legal-sections p strong { color:var(--ink); }
.legal-sections p a { color:var(--red); font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.legal-sections dl { margin:0; }
.legal-sections dl>div { padding:16px 0; display:grid; grid-template-columns:180px 1fr; gap:22px; border-top:1px solid var(--line); }
.legal-sections dt { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.legal-sections dd { margin:0; font-size:14px; font-weight:700; line-height:1.6; }

@media (max-width:1100px) {
  .site-header { grid-template-columns:210px 1fr auto; padding:0 3vw; gap:15px; }
  .brand img { width:190px; }
  .main-nav { gap:12px; font-size:10px; }
  .hero { padding-left:5vw; }
  .search-panel { left:4vw; right:4vw; grid-template-columns:repeat(4,1fr); }
  .search-button { grid-column:4; grid-row:2; }
  .search-proof { grid-column:1/4; align-self:center; }
  .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mini-market-grid { grid-template-columns:repeat(3,1fr); }
  .language-strip { grid-template-columns:1fr repeat(5,.75fr); }
  .property-hero { min-height:730px; }
  .property-hero-copy { padding-top:70px; }
  .property-essence { gap:5vw; }
  .property-energy { grid-template-columns:1fr 1fr; }
  .property-energy>div { grid-column:1/-1; }
  .legal-content { gap:5vw; }
}
@media (max-width:820px) {
  .site-header { height:72px; grid-template-columns:1fr auto auto; padding:0 18px; }
  .brand img { width:175px; height:58px; }
  .menu-button { display:block; order:2; }
  .languages { order:3; }
  .languages button { padding:9px 4px; font-size:9px; }
  .main-nav { display:none; position:absolute; top:72px; left:0; right:0; background:#fff; padding:18px; flex-direction:column; align-items:center; box-shadow:0 15px 30px rgba(0,0,0,.1); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:8px; }
  .hero { min-height:740px; padding:70px 24px 270px; background-position:65% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.76) 72%,rgba(255,255,255,.15)); }
  .hero-content { width:100%; }
  h1 { font-size:clamp(44px,12vw,64px); }
  .search-panel { left:18px; right:18px; bottom:-155px; grid-template-columns:1fr 1fr; padding:15px; }
  .search-button { grid-column:1/-1; grid-row:auto; min-height:48px; }
  .search-proof { grid-column:1/-1; }
  .section { padding:210px 22px 80px; }
  .properties .section-heading { flex-direction:column; align-items:flex-start; }
  .property-grid { grid-template-columns:1fr; }
  .global-reach { grid-template-columns:1fr; }
  .mini-market-grid { grid-template-columns:1fr 1fr; }
  .language-strip { grid-template-columns:1fr 1fr; }
  .language-strip>div { grid-column:1/-1; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .austria-section { grid-template-columns:1fr; }
  .austria-section>* { min-width:0; }
  .austria-photo { min-height:500px; }
  .austria-content { padding:65px 24px; }
  .austria-content h2 { overflow-wrap:anywhere; }
  .market-grid { grid-template-columns:1fr 1fr; }
  .markets-section { padding-top:80px; }
  .investor-section { grid-template-columns:1fr; padding:75px 24px; }
  footer { grid-template-columns:1fr; gap:35px; }
  .property-header .languages { order:3; }
  .property-hero { min-height:880px; }
  .property-hero>img { object-position:57% center; }
  .property-hero-overlay { background:linear-gradient(90deg,rgba(15,20,24,.92),rgba(15,20,24,.5)); }
  .property-hero-copy { padding:68px 24px 390px; }
  .back-link { margin-bottom:65px; }
  .property-facts { left:22px; right:22px; grid-template-columns:1fr 1fr; }
  .property-facts div { min-height:96px; padding:20px; }
  .property-overview { grid-template-columns:1fr 1fr; padding:25px 22px; }
  .property-overview>div,.property-overview>div:first-child { padding:15px; border-bottom:1px solid var(--line); }
  .property-essence { padding:80px 22px; grid-template-columns:1fr; }
  .property-essence-image { height:540px; order:-1; }
  .velden-page .property-essence-image>span { width:174px; height:112px; font-size:42px; }
  .velden-page .property-essence-image small { margin-top:18px; font-size:12px; }
  .property-design { grid-template-columns:1fr; padding:75px 22px; }
  .property-design-images { height:480px; }
  .property-gallery { padding:80px 22px; }
  .property-section-head { flex-direction:column; align-items:flex-start; }
  .property-section-head>p { text-align:left; }
  .property-gallery-grid figure { grid-column:span 6; height:280px; }
  .property-gallery-grid figure.gallery-feature,.property-gallery-grid figure.gallery-final { grid-column:span 12; height:360px; }
  .property-gallery-grid figure.gallery-half { grid-column:span 6; }
  .seo-location-section { padding:80px 22px; grid-template-columns:1fr; gap:30px; }
  .property-energy { padding:75px 22px; grid-template-columns:1fr; }
  .property-energy>div { grid-column:auto; }
  .property-energy article { min-height:0; }
  .property-inquiry { padding:80px 22px; grid-template-columns:1fr; }
  .maria-cost-list article>div { grid-template-columns:1fr; }
  .maria-cost-list small { grid-column:auto; }
  .legal-header { grid-template-columns:1fr; height:auto; padding-bottom:10px; }
  .legal-header .brand { justify-self:center; }
  .legal-nav { gap:20px; justify-content:center; }
  .legal-nav a { padding:10px 0; }
  .legal-hero { min-height:600px; padding:130px 24px 80px; }
  .legal-content { padding:80px 22px; grid-template-columns:1fr; }
  .legal-content aside { position:static; }
}
@media (max-width:520px) {
  .site-header { grid-template-columns:1fr auto; }
  .languages { position:absolute; top:72px; right:10px; background:#fff; padding:3px 7px; box-shadow:0 7px 18px rgba(0,0,0,.08); }
  .menu-button { grid-column:2; }
  .hero { padding-top:92px; min-height:780px; }
  .hero-intro { font-size:15px; }
  .hero-actions .btn { width:100%; }
  .search-panel { grid-template-columns:1fr; bottom:-265px; }
  .section { padding-top:320px; }
  .property-image { height:225px; }
  .value-grid,.market-grid { grid-template-columns:1fr; }
  .mini-market-grid,.language-strip,.trust-strip { grid-template-columns:1fr; }
  .language-strip>div { grid-column:auto; }
  .steps { flex-direction:column; }
  .markets-section { padding-top:75px; }
  .austria-pill { white-space:normal; }
  .property-hero { min-height:990px; }
  .property-hero-copy { padding-top:95px; }
  .property-hero-copy h1 { font-size:50px; }
  .property-hero-copy>p:not(.eyebrow) { font-size:15px; }
  .property-facts { grid-template-columns:1fr; }
  .property-facts div { min-height:72px; padding:14px 18px; gap:6px; }
  .property-overview { grid-template-columns:1fr; }
  .property-overview>div { border-right:0; }
  .property-highlight-list { grid-template-columns:1fr; }
  .property-essence-image { height:450px; }
  .property-essence-image>span { width:105px; height:105px; font-size:45px; }
  .maria-page .property-essence-image>span { width:126px; height:105px; font-size:38px; }
  .maria-page .property-essence-image small { font-size:12px; margin-top:16px; }
  .velden-page .property-hero { min-height:920px; }
  .velden-page .property-hero>img { object-position:54% center; }
  .velden-page .property-hero-copy { padding:82px 20px 360px; }
  .velden-page .back-link { margin-bottom:44px; }
  .velden-page .property-hero-copy h1 { font-size:clamp(39px,11.5vw,48px); line-height:.98; }
  .velden-page .property-hero-copy>p:not(.eyebrow) { margin:22px 0; line-height:1.55; }
  .velden-page .property-facts { left:14px; right:14px; }
  .velden-page .property-facts div { min-height:68px; }
  .velden-page .property-essence { padding-top:60px; }
  .velden-page .property-essence-image { height:390px; }
  .velden-page .property-essence-image>span { width:148px; height:88px; padding:0 14px; gap:4px; font-size:33px; }
  .velden-page .property-essence-image small { margin-top:13px; font-size:10px; }
  .velden-page .property-design-images { height:auto; grid-template-columns:1fr; }
  .velden-page .property-design-images img { height:280px; }
  .velden-page .property-design-images img:last-child { margin-top:0; height:280px; }
  .velden-page .property-gallery { padding-left:14px; padding-right:14px; }
  .velden-page .property-gallery-grid { gap:8px; }
  .velden-page .property-gallery-grid figure,.velden-page .property-gallery-grid figure.gallery-feature,.velden-page .property-gallery-grid figure.gallery-half,.velden-page .property-gallery-grid figure.gallery-final { height:260px; }
  .velden-page .planning-notice { padding:26px 22px; grid-template-columns:1fr; gap:16px; }
  .velden-page .planning-notice h3 { font-size:21px; }
  .velden-page .property-inquiry-card { padding:28px 22px; }
  .property-design-images { height:390px; }
  .property-gallery-grid figure,.property-gallery-grid figure.gallery-feature,.property-gallery-grid figure.gallery-half,.property-gallery-grid figure.gallery-final { grid-column:span 12; height:290px; }
  .gallery-lightbox { padding:72px 16px 34px; }
  .gallery-lightbox-stage { height:72vh; }
  .gallery-lightbox-prev,.gallery-lightbox-next { width:44px; height:58px; top:auto; bottom:20px; transform:none; }
  .gallery-lightbox-prev { left:16px; }
  .gallery-lightbox-next { right:16px; }
  .gallery-lightbox-stage>div { padding:0 50px; }
  .seo-location-grid { grid-template-columns:1fr; }
  .seo-location-grid strong { min-height:74px; }
  .property-energy h2,.property-inquiry h2,.property-gallery h2,.property-essence h2,.property-design h2,.seo-location-section h2 { font-size:40px; overflow-wrap:anywhere; }
  .maria-cost-copy h2 { font-size:34px; }
  .maria-cost-list article { grid-template-columns:32px 1fr; padding:14px; gap:8px; }
  .legal-hero { min-height:650px; }
  .legal-hero .back-link { margin-bottom:60px; }
  .legal-hero h1 { font-size:56px; }
  .legal-sections article { padding:34px 24px; }
  .legal-sections dl>div { grid-template-columns:1fr; gap:7px; }
}

.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
