@font-face{
  font-family:"Montserrat";
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url("montserrat-latin.woff2") format("woff2");
}

.site-header nav{gap:24px}.site-header nav a{font-size:13px}
.brand-lockup{display:flex;align-items:center;gap:17px;min-width:365px;text-decoration:none}
.brand-marks{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;flex:none}
.brand-mark-a,.brand-mark-b{display:block;object-fit:contain;flex:none}
.brand-mark-a{width:52px;height:52px}.brand-mark-b{width:40px;height:40px}
.brand-lockup .brand-copy{display:grid;justify-items:start;line-height:1}
.brand-lockup strong{font-family:Montserrat,"Avenir Next","Century Gothic",Futura,Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:#47465b;white-space:nowrap}
.brand-lockup .brand-amp{color:#c41127}
.brand-lockup small{margin-top:7px;font-family:Montserrat,"Avenir Next","Century Gothic",Futura,Arial,sans-serif;font-size:10px;font-weight:500;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:#777;white-space:nowrap}
.footer-lockup{min-width:0;width:max-content;margin-bottom:14px}
.footer-lockup strong{color:#fff}
.footer-lockup small{color:rgba(255,255,255,.72)}
.footer-lockup .brand-mark-a{width:38px;height:38px}
.footer-lockup .brand-mark-b{width:29px;height:29px}
.footer-linkedin{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.footer-linkedin svg{display:block;width:18px;height:18px}

.offers{padding:clamp(85px,10vw,140px) clamp(24px,7vw,110px);background:var(--paper)}
.offers-head{display:grid;grid-template-columns:1.2fr .65fr;gap:60px;align-items:end}
.offers h2,.services-section h2{margin:0;font:500 clamp(42px,5.4vw,78px)/.98 Georgia,serif;letter-spacing:-.045em}
.offers-head>p{margin:0 0 8px;color:var(--muted);font-size:17px}
.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:58px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.offer-card{min-height:330px;padding:32px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.offer-card-wide{grid-column:1/-1}
.offer-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.offer-card h3{margin:62px 0 6px;font:500 clamp(30px,3vw,46px)/1 Georgia,serif;letter-spacing:-.035em}
.offer-card>p{max-width:520px;margin:0;color:var(--muted);font-size:16px}
.offer-card>.offer-subtitle{margin:0 0 16px;font:500 clamp(18px,1.8vw,24px)/1.2 Georgia,serif;letter-spacing:-.015em}
.offer-developer{display:block;margin-top:14px;color:#8a6427;font-size:11px;font-weight:800;letter-spacing:.04em}
.offer-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:auto;padding-top:35px}
.offer-bottom strong{font:500 20px Georgia,serif}.offer-bottom a{font-size:13px;font-weight:800;text-underline-offset:4px}
.offer-bottom a:only-child{margin-left:auto}
.offer-note{margin:18px 0 0;color:var(--muted);font-size:11px}
.reference-list .reference-extra[hidden]{display:none}
.reference-toggle{margin-top:28px;cursor:pointer}
.project-intro{background:var(--sand)}
.project-intro .lead{margin:25px 0 22px;max-width:760px;font:400 clamp(20px,2.2vw,29px)/1.4 Georgia,serif}
.project-overline{display:flex;flex-wrap:wrap;gap:.15em .65em}
.project-overline>span{white-space:nowrap}
.sales-status strong{white-space:nowrap;font-size:clamp(22px,2.7vw,36px)}
.status-strip .sales-status>span{white-space:nowrap}
.status-strip .status-detail,.status-strip small{display:block;margin-top:6px;color:rgba(255,255,255,.52);font-size:11px;font-weight:500;line-height:1.25;letter-spacing:.02em;white-space:nowrap}

/* Ruhrgärten: interaktive Hauslage */
.unit-map{margin:52px 0 0;border:1px solid var(--line);background:var(--paper)}
.unit-map-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#9b6f25 var(--sand)}
.unit-map-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.unit-map-stage{position:relative;min-width:900px;aspect-ratio:11/6;overflow:hidden;background:var(--forest)}
.unit-map-stage>img{width:100%;height:100%;object-fit:cover}
.unit-markers{position:absolute;inset:0}
.unit-marker{position:absolute;left:var(--x);top:var(--y);width:30px;height:30px;padding:0;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 2px 7px rgba(0,0,0,.35);color:#fff;font:800 12px/1 Arial,sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s,opacity .18s;z-index:2}
.unit-marker:hover,.unit-marker:focus-visible{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 4px 11px rgba(0,0,0,.48);outline:2px solid rgba(255,255,255,.72);outline-offset:2px;z-index:4}
.unit-marker.frei{background:rgba(55,111,61,.94)}.unit-marker.reserviert{background:rgba(184,123,29,.96)}.unit-marker.verkauft{background:rgba(103,109,105,.94)}
.unit-marker[hidden]{display:none}
.map-visual-note{position:absolute;right:16px;bottom:12px;color:rgba(255,255,255,.9);font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.unit-map figcaption{display:flex;align-items:center;gap:22px;min-height:62px;padding:14px 18px;color:var(--muted);font-size:12px}
.unit-map figcaption strong{margin-right:auto;color:var(--ink);font-size:14px}
.unit-map figcaption span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.unit-map figcaption small{font-size:11px}
.unit-map figcaption .garden-note{flex-basis:100%;color:#8a6427;font-weight:700}
.legend-dot{width:9px;height:9px;border-radius:50%;background:#747a76}.legend-dot.frei{background:#477749}.legend-dot.reserviert{background:#b87b1d}.legend-dot.verkauft{background:#747a76}
.unit{transition:background-color .25s,box-shadow .25s}.unit.is-selected{background:#fff6df;box-shadow:inset 4px 0 0 #b87b1d}
.unit-state{display:grid;gap:5px}.unit-state small{color:#8a6427;font-size:11px;font-weight:800;letter-spacing:.03em}
.unit[data-status="reserviert"]{background:rgba(201,146,57,.045)}
.unit[data-status="reserviert"] .unit-status{color:#9b6f25}
.unit[data-status="verkauft"]{background:rgba(105,112,107,.065)}
.unit[data-status="verkauft"] .unit-status{color:#737873}

.company{background:var(--paper)}.company-head{max-width:950px}
.company-story{display:grid;grid-template-columns:1fr;margin-top:52px;padding-top:38px;border-top:1px solid var(--line)}
.company-story p{margin:0;color:var(--muted);font-size:17px}.company-story .lead{font:400 clamp(21px,2.2vw,29px)/1.4 Georgia,serif;color:var(--ink)}
.people-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:58px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.people-grid article{min-height:230px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.people-grid span{font-size:11px;font-weight:800;color:#8a6427;text-transform:uppercase;letter-spacing:.1em}
.people-grid h3{margin:0 0 10px;font:500 31px Georgia,serif}.people-grid p{margin:0;color:var(--muted)}
.team-line{color:var(--muted);font-size:13px}

.services-section{padding:clamp(85px,11vw,150px) clamp(24px,7vw,110px);background:var(--forest);color:#fff}
.services-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;align-items:start}
.service-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:70px;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.service-list article{min-width:0;min-height:300px;padding:28px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.service-list span{color:var(--gold);font-size:12px;font-weight:800}.service-list h3{margin:70px 0 13px;font-size:21px}.service-list p{margin:0;color:rgba(255,255,255,.63)}

@media(max-width:1180px){.brand-lockup{min-width:315px;gap:13px}.brand-marks{height:45px;gap:8px}.brand-mark-a{width:45px;height:45px}.brand-mark-b{width:35px;height:35px}.brand-lockup strong{font-size:17px}.brand-lockup small{letter-spacing:.12em}.site-header{gap:24px}}
@media(max-width:1080px){.site-header nav{gap:15px}.site-header nav a{font-size:12px}.nav-cta{padding:11px 14px}.offer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.offers-head,.company-story,.services-head{grid-template-columns:1fr}.service-list{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.unit-map figcaption{flex-wrap:wrap;gap:10px 18px}.unit-map figcaption strong{width:100%;margin:0}.unit-map figcaption small{width:100%}}
@media(max-width:600px){.offer-grid,.people-grid,.service-list{grid-template-columns:1fr}.offer-card{min-height:300px}.offer-top{font-size:10px}.offer-bottom{align-items:flex-start;flex-direction:column}.offer-bottom a:only-child{margin-left:0}.company-story{gap:25px}.unit-map{margin-top:34px}.unit-map-stage{min-width:820px}.unit-marker{width:29px;height:29px}.unit-map figcaption{padding:14px}.unit-map figcaption small:not(.garden-note)::after{content:" Auf dem Bild horizontal wischen."}}
@media(max-width:600px){.sales-status strong{font-size:clamp(20px,6vw,30px)}.status-strip .sales-status{min-width:0}.status-strip .sales-status>span{font-size:10px;letter-spacing:.07em}.status-strip .sales-status small{font-size:clamp(9px,2.8vw,11px)}}
@media(max-width:600px){.site-header{padding-inline:14px;gap:8px}.brand-lockup{min-width:270px;gap:11px}.brand-marks{height:40px;gap:7px}.brand-mark-a{width:40px;height:40px}.brand-mark-b{width:31px;height:31px}.brand-lockup strong{font-size:14px}.brand-lockup small{margin-top:5px;font-size:9px;letter-spacing:.24em}.footer-lockup{min-width:0}.footer-lockup .brand-mark-a{width:34px;height:34px}.footer-lockup .brand-mark-b{width:26px;height:26px}.menu{width:40px;padding:8px}}
@media(max-width:420px){.brand-lockup{min-width:228px;gap:9px}.brand-marks{height:35px;gap:6px}.brand-mark-a{width:35px;height:35px}.brand-mark-b{width:27px;height:27px}.brand-lockup strong{font-size:12px}.brand-lockup small{font-size:8px;letter-spacing:.24em}.footer-lockup{min-width:0}}

/* Ruhrgärten: Grundstücksfläche als eigene Spalte */
.unit-head,.unit{grid-template-columns:70px minmax(150px,1fr) 170px 150px 150px;gap:18px}
.unit-head{display:grid;align-items:center;padding:0 0 12px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.unit-head span:nth-last-child(-n+2){text-align:right}
.unit-area{font-size:14px}
@media(max-width:1050px){.unit-head,.unit{grid-template-columns:60px minmax(130px,1fr) 140px 140px}.unit-head span:nth-child(5){display:none}.unit-price{grid-column:4}.unit .mail{grid-column:2/5;text-align:left;padding-bottom:18px}}
@media(max-width:600px){.unit-head{display:none}.unit{grid-template-columns:55px 1fr;gap:8px 12px}.unit-num{grid-row:1/5}.unit-state,.unit-area,.unit-price,.unit .mail{grid-column:2}.unit-area,.unit-price{text-align:left}.unit-area::before,.unit-price::before{content:attr(data-label) ": ";color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.unit .mail{padding-top:4px}}

/* Project detail: Lünen */
.project-page{background:var(--paper)}
.subhero{padding:clamp(90px,12vw,170px) clamp(24px,7vw,110px) clamp(70px,9vw,125px);background:var(--forest);color:#fff}
.subhero-inner{max-width:1160px}
.back-link{display:inline-block;margin-bottom:clamp(50px,8vw,95px);color:rgba(255,255,255,.7);font-size:13px;font-weight:800;text-underline-offset:5px}
.subhero h1{max-width:1050px;margin:0;font:500 clamp(58px,8vw,120px)/.88 Georgia,serif;letter-spacing:-.06em}
.subhero .hero-lead{max-width:820px;margin-bottom:0}
.project-facts{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--line)}
.project-facts div{min-height:145px;padding:30px clamp(20px,3vw,44px);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.project-facts div:last-child{border-right:0}
.project-facts strong{font:500 clamp(25px,3vw,40px)/1 Georgia,serif;color:var(--forest)}
.project-facts span{margin-top:10px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.detail-copy{max-width:920px}
.detail-copy .lead{margin:0 0 28px;font:400 clamp(24px,2.7vw,36px)/1.35 Georgia,serif}
.detail-copy>p:not(.lead){max-width:760px;color:var(--muted);font-size:17px}
.detail-copy h3{margin:34px 0 12px;font-size:20px;line-height:1.3}
.detail-copy ul{max-width:760px;margin:12px 0 0;padding-left:22px;color:var(--muted);font-size:17px;line-height:1.7}
.detail-copy li+li{margin-top:4px}
.plan-section{padding:clamp(75px,9vw,125px) clamp(24px,7vw,110px);background:var(--sand)}
.plan-head{display:grid;grid-template-columns:1fr .55fr;gap:50px;align-items:end;margin-bottom:45px}
.plan-head h2,.project-specs h2,.price-panel h2{margin:0;font:500 clamp(40px,5vw,70px)/1 Georgia,serif;letter-spacing:-.045em}
.plan-head>p{margin:0;color:var(--muted)}
.site-plan{margin:0;background:#fff;border:1px solid var(--line);padding:clamp(10px,2vw,24px)}
.site-plan img{width:100%;height:auto}
.site-plan figcaption{padding:16px 6px 0;color:var(--muted);font-size:11px}
.project-specs{padding:clamp(80px,10vw,140px) clamp(24px,7vw,110px);background:#fff}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.spec-grid article{min-height:210px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec-grid span{color:#9b6f25;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.spec-grid h3{margin:42px 0 10px;font-size:21px}.spec-grid p{margin:0;color:var(--muted)}
.price-panel{padding:clamp(75px,9vw,125px) clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr .8fr;gap:clamp(40px,8vw,120px);background:var(--sand)}
.price-panel>div:first-child>.button{margin-top:28px}
.price-box{padding:38px;background:var(--forest);color:#fff}
.price-box span{display:block;color:rgba(255,255,255,.62);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.price-box strong{display:block;margin:18px 0 26px;font:500 clamp(36px,5vw,64px)/1 Georgia,serif;color:var(--gold)}
.price-box p{margin:0;color:rgba(255,255,255,.68);font-size:13px}
.price-options{display:grid;gap:16px}
.price-options .price-box strong{font-size:clamp(29px,3.8vw,50px)}
.price-box small{display:block;margin-top:12px;color:rgba(255,255,255,.58);font-size:11px;line-height:1.5}
.scope-note{margin-top:24px;padding:20px 22px;border-left:3px solid #9b6f25;background:rgba(255,255,255,.55);color:var(--muted);font-size:13px}
.detail-note{margin-top:22px;color:var(--muted);font-size:11px}
.view-grid{display:grid;gap:18px}
.project-availability{background:var(--sand)}
.apartment-list{margin-top:52px;border-top:1px solid var(--ink)}
.apartment-row{display:grid;grid-template-columns:1.25fr 1fr .8fr .8fr .85fr;gap:20px;align-items:center;min-height:72px;padding:13px 18px;border-bottom:1px solid var(--line);background:#fff}
.apartment-row>span:nth-child(4){font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#477044}
.apartment-row>strong:last-child{text-align:right}
.apartment-head{min-height:48px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.apartment-head>span:nth-child(4){color:var(--muted)}
.apartment-head>span:last-child{text-align:right}
.apartment-row.sold{color:#898e8a;background:rgba(255,255,255,.45)}
.apartment-row.sold>span:nth-child(4){color:#898e8a}
@media(max-width:900px){.project-facts{grid-template-columns:1fr 1fr}.project-facts div:nth-child(2){border-right:0}.project-facts div{border-bottom:1px solid var(--line)}.plan-head,.price-panel{grid-template-columns:1fr}.spec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.apartment-head{display:none}.apartment-row{grid-template-columns:1fr 1fr;gap:7px 16px;padding:18px}.apartment-row>span:nth-child(3),.apartment-row>span:nth-child(4){font-size:11px}.apartment-row>strong:last-child{text-align:left}.apartment-row>span:last-child{grid-column:2}}
@media(max-width:600px){.subhero{padding-top:65px}.project-facts,.spec-grid{grid-template-columns:1fr}.project-facts div{border-right:0}.price-box{padding:28px}.plan-section{padding-inline:16px}}

.legal-page{min-height:70vh;padding:clamp(70px,9vw,120px) clamp(24px,10vw,150px);background:var(--paper)}
.legal-page-header{max-width:980px;margin-bottom:clamp(55px,7vw,90px)}
.legal-page-header h1{margin:0;font:500 clamp(54px,8vw,108px)/.92 Georgia,serif;letter-spacing:-.055em}
.legal-page-header p:last-child{max-width:760px;margin:28px 0 0;color:var(--muted);font-size:18px}
.legal-content{max-width:920px}
.legal-content section{padding:36px 0;border-top:1px solid var(--line)}
.legal-content h2{margin:0 0 18px;font:500 clamp(27px,3vw,38px)/1.12 Georgia,serif}
.legal-content h3{margin:28px 0 8px;font-size:18px}
.legal-content p,.legal-content li{color:#454c47;font-size:16px}
.legal-content p{margin:0 0 14px}
.legal-content ul{margin:10px 0 0;padding-left:22px}
.legal-content a{text-underline-offset:4px}
.legal-note{padding:20px 22px;background:var(--sand);border-left:3px solid var(--gold)}
