/* ===== Haus-Sektion: Untertitel statt verlorenem Text rechts ===== */
.haus-sub{display:block;margin-top:18px;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(22px,2.2vw,34px);line-height:1.25;color:#a0938d}
.haus-head{grid-template-columns:1fr}

/* ===== Navigation: beim Runterscrollen weg, beim Raufscrollen mit Effekt zurück ===== */
header{transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s,background .4s,height .4s,box-shadow .4s}
header.hide{transform:translateY(-105%);opacity:0;pointer-events:none}
header.reveal{animation:hdrIn .85s cubic-bezier(.2,.8,.2,1) backwards}
header.reveal nav.main a,header.reveal .logo,header.reveal .hdr-r,header.reveal .burger{animation:hdrItem .8s cubic-bezier(.2,.8,.2,1) backwards}
header.reveal nav.main a:nth-child(1){animation-delay:.08s}
header.reveal nav.main a:nth-child(2){animation-delay:.14s}
header.reveal nav.main a:nth-child(3){animation-delay:.2s}
header.reveal nav.main a:nth-child(4){animation-delay:.26s}
header.reveal nav.main a:nth-child(5){animation-delay:.32s}
header.reveal .logo{animation-name:hdrLogo;animation-delay:.12s}
header.reveal .hdr-r,header.reveal .burger{animation-delay:.36s}
@keyframes hdrIn{from{clip-path:inset(0 0 100% 0);background:rgba(232,226,219,.4)}to{clip-path:inset(0 0 0 0)}}
@keyframes hdrItem{from{opacity:0;transform:translateY(-14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes hdrLogo{from{opacity:0;transform:scale(.7);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){header.reveal,header.reveal *{animation:none!important}header{transition:none}}

/* ===== Mobil: alles zentriert ===== */
@media (max-width:820px){
  .hero-txt,.haus-head,.intro-grid,.intro .quote,.proj-head,.wohn-in>.eyebrow,.wcard,.ue-head,.aus-txt,.gal-head,.gz-top,.partner-head,.ct-info,.ct-p{text-align:center}
  .hero-txt .sub{margin-left:auto;margin-right:auto}
  .hero-cta{align-items:center}
  .btn-fill,.btn-line{width:100%;max-width:340px}
  .haus-head{display:block}
  .haus h2,.proj h2,.aus h2,.gal-head h2,.partner h2,.contact h2{text-align:center}
  .intro .lead{text-align:center}
  .hl-i{text-align:center;align-items:center}
  .hl-big{align-items:center}
  .wcard ul,.aus-list{text-align:center}
  .wcard li{text-align:center}
  .ue-head{flex-direction:column;align-items:center}
  .ue-filter{justify-content:center}
  .ue-note{text-align:center}
  .aus-list li{flex-direction:column;align-items:center;text-align:center;gap:10px}
  .gz-top .eyebrow,.eyebrow{text-align:center}
  .gz-list h3{text-align:center}
  .infra>div{text-align:center}
  .map-ph{text-align:center}
  .pills{justify-content:center}
  .ct-row{text-align:center;max-width:none}
  .partner-head p,.gal-head p,.proj-p,.aus-txt>p,.ct-p{margin-left:auto;margin-right:auto;text-align:center}
  .consent{justify-content:center;text-align:left}
  .ok{text-align:center}
  .field label{text-align:left}
  .ft-fine,.ft-bot{text-align:center}
  .ft-bot{align-items:center}
  .ft-bot div{justify-content:center}
  .ft-bot>span{max-width:none}
  .pt{align-items:center;text-align:center}
  .pt-logo{justify-content:center}
}

/* Logo als echtes Vektor-SVG statt Maske: immer gestochen scharf */
.logo{-webkit-mask:none!important;mask:none!important;background:none!important}
.logo-svg{display:block;width:100%;height:100%;fill:currentColor;overflow:visible}

/* Textmarkierung: braun mit hellem Text */
::selection{background:#8a6a55;color:#f8f4ee;-webkit-text-fill-color:#f8f4ee}
::-moz-selection{background:#8a6a55;color:#f8f4ee}
footer ::selection{background:#cfc6bd;color:#5b4a41;-webkit-text-fill-color:#5b4a41}

/* Browser-Autofill nicht blau */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #eeeae3 inset!important;-webkit-text-fill-color:#5b4a41!important;caret-color:#5b4a41;transition:background-color 9999s}

.logo-svg{shape-rendering:geometricPrecision;transform:none;will-change:auto}
header,header .logo{will-change:auto}

/* ===== Haus-Sektion: Text-Karte über dem Bild ===== */
.haus{padding-bottom:140px}
.haus-stage{position:relative;margin-top:70px}
.haus-stage .haus-img{width:68%;margin-top:0;aspect-ratio:1088/760}
.haus-card{position:absolute;z-index:6;right:max(var(--pad),calc((100% - 1160px)/2));top:50%;transform:translateY(-38%);width:min(500px,36vw);background:#f4f0e9;padding:48px 48px 44px;box-shadow:0 40px 70px -30px rgba(62,53,50,.45);border-top-right-radius:70px}
.haus-card.rv{transform:translateY(calc(-38% + 28px))}
.haus-card.rv.in{transform:translateY(-38%)}
.haus-card h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,2.7vw,44px);line-height:1.1;color:#8d807a;margin-bottom:22px}
.haus-card p{font-size:15.7px;letter-spacing:.05em;line-height:1.95;margin-bottom:26px}
.haus-claim{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(20px,1.7vw,26px);line-height:1.3;color:#5b4a41;padding-top:22px;border-top:1px solid var(--line)}
.haus .ghost{z-index:1}
@media (max-width:1100px){.haus-card{width:min(440px,44vw);padding:36px 34px}}
@media (max-width:820px){
  .haus{padding-bottom:70px}
  .haus-stage{margin-top:40px}
  .haus-stage .haus-img{width:calc(100% - 28px);aspect-ratio:4/3.4}
  .haus-card,.haus-card.rv,.haus-card.rv.in{position:relative;right:auto;top:auto;transform:none;width:calc(100% - 2 * var(--pad));margin:-56px auto 0;padding:32px 24px 30px;text-align:center;border-top-right-radius:50px}
  .haus-card.rv{opacity:0;transform:translateY(24px)}
  .haus-card.rv.in{opacity:1;transform:none}
}

/* Highlights: leichte Schrift, keine Nummern */
.hl-i b{font-weight:300;hyphens:manual;overflow-wrap:normal;text-wrap:balance;letter-spacing:.005em}
.hl-big b{font-weight:300}
.hl-big .big{font-weight:300}
.hl-i{justify-content:flex-end}
.hl-big{justify-content:flex-end}

/* Haus-Karte: Kontrast umgedreht (Schriftfarbe <-> Hintergrund) */
.haus-card{background:#8d807a;box-shadow:0 40px 70px -30px rgba(62,53,50,.6)}
.haus-card h3{color:#f4f0e9}
.haus-card p{color:#f4f0e9}
.haus-claim{color:#f4f0e9;border-top-color:rgba(244,240,233,.4)}
.haus-card ::selection{background:#f4f0e9;color:#8d807a;-webkit-text-fill-color:#8d807a}

/* ===== Highlights neu: Kennzahlen oben, Merkmale darunter ===== */
.hl2{background:#3e3532;border:0;padding:110px var(--pad) 100px;position:relative;overflow:hidden}
.hl2::before{content:"";position:absolute;right:-12%;top:-30%;width:60vw;height:60vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(circle,rgba(244,240,233,.06),rgba(244,240,233,0) 65%);pointer-events:none}
.hl2-in{position:relative;max-width:1160px;margin:0 auto}
.hl2-nums{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(244,240,233,.2);padding-bottom:64px}
.hn{padding:0 40px;border-left:1px solid rgba(244,240,233,.2)}
.hn:first-child{padding-left:0;border-left:0}
.hn b{display:block;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(64px,7vw,112px);line-height:.95;color:#f4f0e9;letter-spacing:-.01em;white-space:nowrap}
.hn b i{font-style:normal;font-size:.38em;margin-left:.12em;color:#cfc6bd;letter-spacing:0}
.hn span{display:block;margin-top:22px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:#cfc6bd;line-height:1.7}
.hl2-feat{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:64px}
.hl2-feat li{padding:0 26px;border-left:1px solid rgba(244,240,233,.14);display:flex;flex-direction:column;gap:20px}
.hl2-feat li:first-child{padding-left:0;border-left:0}
.hl2-feat svg{width:34px;height:34px;fill:none;stroke:#cfc6bd;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hl2-feat span{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(20px,1.7vw,25px);line-height:1.25;color:#f4f0e9;hyphens:manual}
@media (hover:hover){.hl2-feat li:hover svg{transform:translateY(-4px) scale(1.08)}}
@media (max-width:1100px){
  .hl2-feat{grid-template-columns:repeat(3,1fr);row-gap:44px}
  .hl2-feat li:nth-child(4){padding-left:0;border-left:0}
}
@media (max-width:820px){
  .hl2{padding:70px var(--pad) 64px}
  .hl2-nums{grid-template-columns:1fr;padding-bottom:12px;text-align:center}
  .hn,.hn:first-child{padding:0 0 40px;border-left:0;margin-bottom:0}
  .hn b{font-size:clamp(64px,22vw,92px)}
  .hn span{margin-top:14px}
  .hl2-feat{grid-template-columns:1fr 1fr;margin-top:36px;row-gap:38px}
  .hl2-feat li,.hl2-feat li:first-child,.hl2-feat li:nth-child(4){padding:0 10px;border-left:0;align-items:center;text-align:center}
  .hl2-feat li:last-child{grid-column:1/-1}
  .hl2-feat span{font-size:20px}
}

/* ===== Einheitliche Section-Überschriften (Cormorant Garamond Light) ===== */
.wohn-head{margin-bottom:56px}
.wohn h2,.hl2-h{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(40px,4.4vw,68px);line-height:1.08;color:#8d807a;margin-top:16px}
.hl2-h{color:#f4f0e9;margin:0 0 64px}
@media (max-width:820px){.wohn-head,.hl2-h{text-align:center}.wohn-head{margin-bottom:40px}.hl2-h{margin-bottom:44px}}

/* ===== Lage: Icons bei den Gruppen ===== */
.gz-list h3{display:flex;align-items:center;gap:14px}
.gz-list h3 svg{width:26px;height:26px;flex:none;fill:none;stroke:#fff;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
@media (max-width:820px){.gz-list h3{justify-content:center}}

/* ===== Partner: nur Logos, bunt -> Brauntöne beim Mouseover ===== */
.partner-grid{background:none;border:0;gap:64px 48px}
.pt,.pt:hover{background:none;box-shadow:none;transform:none;min-height:0;padding:0;align-items:center;justify-content:center}
.pt::after{display:none}
.pt-logo,.pt:hover .pt-logo{position:relative;height:64px;width:100%;margin:0;display:flex;align-items:center;justify-content:center;color:#8d807a;transform:none}
.pt-logo img,.pt-logo svg{max-height:64px;max-width:82%;width:auto;height:auto;filter:none;opacity:1;transition:opacity .55s}
.pt-logo svg{height:44px;max-width:82%}
.pt-logo .b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;filter:grayscale(1) sepia(.85) saturate(1.15) hue-rotate(-8deg) brightness(.9) contrast(1.02)}
.pt-logo svg.b{filter:none;color:#6b4f3c}
@media (hover:hover){.pt:hover .pt-logo .b{opacity:1}.pt:hover .pt-logo .c{opacity:0}}
@media (max-width:1100px){.partner-grid{gap:48px 32px}}
@media (max-width:820px){.partner-grid{gap:44px 20px}.pt-logo{height:52px}.pt-logo img{max-height:52px}}

/* ===== Kontakt: keine Trennstriche ===== */
.ct-row,.ct-row:hover{border:0;border-top:0;padding:12px 0 14px}
.ct-row:first-of-type{padding-top:4px}

/* Tash-Logo im Footer (Original, Creme) */
.ft-by{flex-direction:column;align-items:flex-start;gap:16px;color:#f3f0ea}
.ft-by small{margin:0}
.tash-full{display:block;width:118px;aspect-ratio:305/348;fill:currentColor;color:#f3f0ea;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.ft-by:hover .tash-full{transform:scale(1.06)}}
@media (max-width:820px){.ft-by{align-items:center}.tash-full{width:104px}}

/* Partner-Logos: normal schwarz-weiß, Mouseover braun */
.pt-logo img.c{filter:grayscale(1) contrast(1.15) brightness(.95)}

/* ===== Keine Trennlinien mehr (Highlights, Wohnungen, Ausstattung, Lage) ===== */
.hl2-nums{border-bottom:0;padding-bottom:0}
.hn,.hn:first-child{border-left:0;padding-left:0;padding-right:30px}
.hl2-feat{margin-top:84px;gap:0 36px}
.hl2-feat li,.hl2-feat li:first-child,.hl2-feat li:nth-child(4){border-left:0;padding:0}
.wcard ul{border-top:0}
.wcard li{border-bottom:0;padding:8px 0 8px 28px;position:relative}
.wcard li::before{content:"";position:absolute;left:3px;top:1.05em;width:6px;height:6px;background:#a0938d;transform:rotate(45deg);transition:background .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.wcard li:hover{transform:none}.wcard li:hover::before{background:var(--ink);transform:rotate(45deg) scale(1.35)}}
.aus-list{border-top:0}
.aus-list li{border-bottom:0;padding:15px 0}
.gz-list ul{border-top:0}
.gz-list li{border-bottom:0}
.infra>div{border-top:0;padding-top:0}
.infra small,.gz-list h3 span{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(24px,2vw,30px);letter-spacing:0;text-transform:none;line-height:1.1}
.infra small{margin-bottom:14px}
.gz-list h3{margin-bottom:16px}
@media (max-width:820px){.wcard li{text-align:left;padding-left:28px}.wcard ul{display:inline-block;text-align:left}.hn,.hn:first-child{padding-right:0}.hl2-feat{margin-top:44px}}

/* ===== Footer: eine Farbe, Rechtliches nebeneinander, Design-Credit ganz unten ===== */
footer,footer *{color:#e6dfd5}
footer .logo,footer .tash-full,footer .ft-by{color:#e6dfd5}
footer ::selection{background:#e6dfd5;color:#5b4a41;-webkit-text-fill-color:#5b4a41}
.ft-legal{display:flex;justify-content:center;gap:34px;margin-top:80px}
.ft-legal a{font-size:11px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;transition:opacity .4s}
.ft-credit{text-align:center;margin-top:34px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;opacity:.6}
.ft-credit a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .4s}
@media (hover:hover){.ft-legal a:hover{opacity:.65}.ft-credit a:hover{border-bottom-color:currentColor}}
@media (max-width:820px){.ft-legal{margin-top:56px;gap:26px}}
footer .ft-col p,footer .ft-col small,footer .ft-by small,footer .ft-contact a{color:#e6dfd5;opacity:1}

/* Footer: wirklich alles in EINER Farbe (wie "Ein Projekt der"), GRADE immer unterstrichen */
footer{--ftc:#d6cdc3}
footer,footer *,footer .logo,footer .tash-full,footer .ft-by,footer .ft-by small,footer .ft-col p,footer .ft-col small,footer .ft-contact a,footer .ft-legal a,footer .ft-credit,footer .ft-credit a{color:var(--ftc)!important;opacity:1!important}
footer .logo-svg,footer .tash-full{fill:var(--ftc)}
footer ::selection{background:var(--ftc);color:#5b4a41!important;-webkit-text-fill-color:#5b4a41}
.ft-credit a{border-bottom:1px solid var(--ftc)!important;padding-bottom:2px;text-decoration:none}
@media (hover:hover){.ft-legal a:hover,.ft-credit a:hover{opacity:.7!important}}
.wcard h3{color:#8d807a}

/* Lage: Minutenangaben größer und dünn, Infoblock-Überschriften in Braun */
.gz-list li span{font-family:'Jost',sans-serif;font-weight:300;font-size:13px;letter-spacing:.1em;text-transform:none}
.infra small{color:#5b4a41}
.gz-list li span{font-size:18px;letter-spacing:.06em}

/* ===== Nach-oben-Button ===== */
.to-top{position:fixed;right:28px;bottom:28px;z-index:45;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(238,234,227,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 14px 30px -14px rgba(62,53,50,.55);
  opacity:0;transform:translateY(18px) scale(.9);pointer-events:none;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1),background .4s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top svg{width:52px;height:52px;overflow:visible}
.to-top circle{fill:none;stroke-width:1.2}
.to-top .tt-track{stroke:rgba(62,53,50,.18)}
.to-top .tt-ring{stroke:#8d807a;stroke-width:1.6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .2s linear}
.to-top .tt-arrow{fill:none;stroke:#3e3532;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.to-top:hover{background:#3e3532}.to-top:hover .tt-arrow{stroke:#f3f0ea;transform:translateY(-3px)}.to-top:hover .tt-track{stroke:rgba(243,240,234,.25)}.to-top:hover .tt-ring{stroke:#f3f0ea}}
@media (max-width:820px){.to-top{right:16px;bottom:16px;width:50px;height:50px}.to-top svg{width:46px;height:46px}}
@media (prefers-reduced-motion:reduce){.to-top{transition:opacity .2s}}

/* ===== Navigation: größere Schrift (+2 pt), aktive Sektion markiert ===== */
nav.main{gap:34px}
nav.main a{font-size:13.7px;letter-spacing:.22em}
.btn-pill{font-size:13px;letter-spacing:.2em;padding:12px 26px}
nav.main a{color:#7d716b;transition:color .4s}
nav.main a::after{bottom:-7px;height:1px;right:.22em;transform-origin:left}
nav.main a.active{color:#5b4a41}
nav.main a.active::after{transform:scaleX(1);height:1.5px}
.drawer a.active{color:#8d807a;font-style:italic}
@media (max-width:1280px){nav.main{gap:24px}nav.main a{letter-spacing:.16em}}

/* ===== Nach-oben-Button: subtiler, rustikaler Pfeil ===== */
.to-top{width:50px;height:50px;right:26px;bottom:26px;background:rgba(238,234,227,.72);box-shadow:0 10px 24px -16px rgba(62,53,50,.4)}
.to-top svg{width:46px;height:46px}
.to-top .tt-track{stroke:rgba(62,53,50,.1)}
.to-top .tt-ring{stroke:#b3a79d;stroke-width:1.3}
.to-top .tt-arrow{stroke:#7d716b;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.to-top:hover{background:rgba(62,53,50,.92)}}
@media (max-width:820px){.to-top{width:44px;height:44px;right:14px;bottom:14px}.to-top svg{width:40px;height:40px}}

/* Lage-Infoblöcke: feine, kurze Haarlinie unter der Überschrift */
.infra small{margin-bottom:0}
.infra small::after{content:"";display:block;width:34px;height:1px;margin:14px 0 20px;background:rgba(244,240,233,.55)}
@media (max-width:820px){.infra small::after{margin-left:auto;margin-right:auto}}

/* ===== Kontakt: Hervorhebungen + Exklusivvermarktung ===== */
.ct-p strong{font-weight:500;color:#5b4a41}
.ct-agent{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px}
.ct-agent img{height:50px;width:auto;margin-bottom:18px;display:block}
.ct-agent a{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;line-height:1.35;color:#5b4a41;text-decoration:none;transition:color .4s}
@media (hover:hover){.ct-agent a:hover{color:#8d807a}}
@media (max-width:820px){.ct-agent{align-items:center}}

/* Estoria-Logo (Symbol, Farbe über currentColor) */
.est-logo{display:block;width:200px;height:49px;color:#8d807a;fill:currentColor;overflow:visible}
.ct-agent .est-logo{margin-bottom:18px}
footer .est-logo{width:170px;height:42px;margin:14px 0 12px auto;color:var(--ftc)}
@media (max-width:820px){footer .est-logo{margin:14px auto 12px}}
.est-logo{width:190px;height:57px}
footer .est-logo{width:150px;height:45px}

/* Estoria-Logo (Original, Farbe über currentColor) */
.est-logo{width:176px;height:93px}
.ct-agent .est-logo{margin-bottom:14px}
footer .est-logo{width:140px;height:74px}
