
:root{--bg:#0d0e0e;--panel:#151616;--panel2:#1b1c1c;--text:#f2eee6;--muted:#b6afa3;--gold:#b99b64;--line:#34322d;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(10,11,11,.9);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:68px;width:auto}.navlinks{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.03em}.navlinks a{opacity:.8}.navlinks a:hover,.navlinks a.active{opacity:1;color:#fff}.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:9px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);padding:12px 18px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;transition:.25s}.btn:hover{background:var(--gold);color:#111}.btn-fill{background:var(--gold);color:#111}.hero{height:min(84vh,820px);min-height:650px;position:relative;display:flex;align-items:end;overflow:hidden}.hero:after,.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 60%,rgba(0,0,0,.25)),linear-gradient(0deg,rgba(13,14,14,.65),transparent 45%);z-index:1}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;background-size:cover;background-position:center;transform:scale(1.04);transition:opacity 1.5s ease;animation:zoom 12s linear infinite}.hero-slide.active{opacity:1}@keyframes zoom{from{transform:scale(1.02)}to{transform:scale(1.10)}}.hero-content{position:relative;z-index:2;padding-bottom:85px}.hero h1,.page-hero h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}.hero h1{font-size:clamp(58px,8vw,108px);margin:0 0 10px;line-height:.95}.hero p{max-width:700px;font-size:19px;color:#ddd6ca}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:12px}.trustbar{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:#111212}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr)}.trustitem{padding:24px 22px;border-right:1px solid var(--line)}.trustitem:last-child{border-right:0}.trustitem strong{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400}.muted{color:var(--muted)}.section{padding:95px 0}.section-tight{padding:55px 0}.section h2,.section-tight h2{font-size:clamp(38px,5vw,64px);line-height:1.08;margin:0 0 32px}.two-houses{display:grid;grid-template-columns:1fr 1fr;gap:22px}.house-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.house-card img{width:100%;height:440px;object-fit:cover;transition:.6s}.house-card:hover img{transform:scale(1.025)}.house-copy{padding:30px}.house-copy h3{font-size:32px;line-height:1.2;margin:0 0 12px}.feature-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.feature{padding:28px;border-right:1px solid var(--line)}.feature:last-child{border-right:0}.feature span{font-size:24px;color:var(--gold)}.feature strong{display:block;margin:8px 0}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.split-media img{width:100%;height:650px;object-fit:cover}.split-copy p{font-size:17px}.gallery-strip{overflow:hidden;margin-top:28px}.track{display:flex;gap:16px;width:max-content;animation:marquee 58s linear infinite}.track img{width:390px;height:270px;object-fit:cover}@keyframes marquee{to{transform:translateX(-50%)}}.award{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--panel);padding:35px}.award img{width:100%;height:470px;object-fit:cover}.pricebox{display:flex;align-items:center;justify-content:space-between;gap:50px;border:1px solid var(--gold);padding:45px}.prices{display:flex;gap:40px;margin:20px 0}.price strong{display:block;font-family:Georgia,serif;font-size:38px;font-weight:400}.price small{color:var(--muted)}.footer{border-top:1px solid var(--line);padding:55px 0 30px;background:#090a0a}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;margin-bottom:40px}.footer-logo{height:95px;width:auto;margin-bottom:18px}.page-hero{height:62vh;min-height:520px;position:relative;display:flex;align-items:end;background-size:cover;background-position:center}.page-hero .wrap{position:relative;z-index:2;padding-bottom:65px}.page-hero h1{font-size:clamp(52px,7vw,92px);line-height:1;margin:0}.intro{max-width:850px;font-size:18px}.grid-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-gallery a{display:block;overflow:hidden}.grid-gallery img{width:100%;height:310px;object-fit:cover;transition:.35s}.grid-gallery a:hover img{transform:scale(1.02)}.floorplans{display:grid;grid-template-columns:1fr 1fr;gap:22px}.floorplans img{background:#fff;padding:12px;width:100%;height:540px;object-fit:contain}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.card{background:var(--panel);border:1px solid var(--line);padding:32px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#111;border:1px solid var(--line);color:#fff;padding:14px;font:inherit}.contact-form textarea{grid-column:1/-1;min-height:150px}.contact-form button{grid-column:1/-1}.legal{max-width:900px}.legal h2{font-size:34px;margin-top:45px}.lightbox{position:fixed;z-index:3000;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:92vw}.lightbox button{position:absolute;top:20px;right:24px;color:#fff;background:none;border:0;font-size:44px;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.menu-btn{display:block}.navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:#0b0c0c;padding:22px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.trustgrid{grid-template-columns:1fr 1fr}.trustitem:nth-child(2){border-right:0}.two-houses,.split,.award,.content-grid{grid-template-columns:1fr}.split-media img,.award img{height:470px}.feature-row{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.pricebox{align-items:flex-start;flex-direction:column}.grid-gallery{grid-template-columns:1fr 1fr}.floorplans{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:min(calc(100% - 26px),var(--max))}.nav{height:74px}.brand img{height:58px}.navlinks{top:74px}.hero{min-height:620px}.hero-content{padding-bottom:50px}.hero p{font-size:16px}.trustgrid{grid-template-columns:1fr}.trustitem{border-right:0;border-bottom:1px solid var(--line)}.section{padding:65px 0}.section-tight{padding:42px 0}.two-houses{grid-template-columns:1fr}.house-card img{height:300px}.feature-row{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.split{gap:30px}.split-media img,.award img{height:360px}.award{padding:18px;gap:30px}.pricebox{padding:26px}.prices{flex-direction:column;gap:12px}.grid-gallery{grid-template-columns:1fr}.grid-gallery img{height:260px}.floorplans img{height:auto}.footer-grid{grid-template-columns:1fr;gap:25px}.contact-form{grid-template-columns:1fr}.contact-form textarea,.contact-form button{grid-column:auto}.track img{width:300px;height:220px}}

/* Änderung 1: Sprachwahl und Bewertungsbereich */
.language-select{margin-left:12px;flex:0 0 auto}
.language-select select{
  background:#111;color:#f1e4cc;border:1px solid rgba(210,180,130,.55);
  border-radius:999px;padding:9px 28px 9px 12px;font:600 12px/1 Inter,Arial,sans-serif;
  letter-spacing:.08em;cursor:pointer
}
.award.award-text-only{grid-template-columns:1fr;max-width:760px}
@media(max-width:900px){
  .language-select{margin-left:auto;margin-right:8px}
}

/* Änderung 2: markantere Typografie */
h1,h2,h3,.display,.hero-title,.section-title{
  font-family:'Montserrat',Arial,sans-serif !important;
  font-weight:600;
  letter-spacing:-0.025em;
}
.hero h1{
  font-weight:700;
  letter-spacing:-0.035em;
}
.brand,.logo-text{
  font-family:'Montserrat',Arial,sans-serif !important;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
nav a,.btn,.eyebrow,.kicker{
  font-family:'Montserrat',Arial,sans-serif !important;
  font-weight:600;
  letter-spacing:.045em;
}
body,p{
  font-family:'Inter',Arial,sans-serif;
}

/* Änderung 3: Sprachlinks nebeneinander */
.language-select{display:none!important}
.language-links{
  display:flex;align-items:center;gap:11px;margin-left:14px;white-space:nowrap
}
.language-links a{
  font-family:'Montserrat',Arial,sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.08em;color:rgba(255,255,255,.62);text-decoration:none;
  padding:5px 0;border-bottom:1px solid transparent
}
.language-links a:hover,.language-links a.active{
  color:#f1e4cc;border-bottom-color:#c9a66b
}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.feature-card{padding:28px;border:1px solid rgba(201,166,107,.25);background:rgba(255,255,255,.025)}
.feature-card h3{margin-top:0}
@media(max-width:800px){
  .language-links{gap:8px;margin-left:auto;margin-right:8px}
  .feature-grid{grid-template-columns:1fr}
}

/* Änderung 4: Logo deutlich größer */
.logo img,
.brand img,
header img[src*="logo"]{
  width:auto !important;
  height:82px !important;
  max-height:none !important;
  object-fit:contain;
}
.site-header .wrap,
header .wrap{
  min-height:100px;
}
@media(max-width:800px){
  .logo img,
  .brand img,
  header img[src*="logo"]{
    height:64px !important;
  }
  .site-header .wrap,
  header .wrap{
    min-height:82px;
  }
}

/* Mobile Optimierung */
@media (max-width: 900px){

  html{scroll-behavior:smooth}
  body{
    overflow-x:hidden;
    font-size:16px;
    line-height:1.6;
  }

  /* Header */
  header,
  .site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(8,8,8,.96);
    backdrop-filter:blur(10px);
  }

  header .wrap,
  .site-header .wrap{
    min-height:76px !important;
    padding:8px 16px !important;
    display:flex;
    align-items:center;
    gap:12px;
  }

  .logo img,
  .brand img,
  header img[src*="logo"]{
    height:58px !important;
    max-width:150px !important;
  }

  /* Navigation mobil */
  nav{
    display:flex;
    flex-wrap:wrap;
    width:100%;
    gap:6px 10px;
    justify-content:flex-start;
  }

  nav a{
    font-size:12px !important;
    line-height:1.2;
    padding:8px 4px !important;
    min-height:38px;
    display:flex;
    align-items:center;
  }

  .language-links{
    margin-left:auto !important;
    margin-right:0 !important;
    gap:8px !important;
  }

  .language-links a{
    font-size:11px !important;
    min-height:36px;
    display:flex;
    align-items:center;
  }

  /* Hero */
  .hero,
  .hero-grid,
  .hero-inner{
    min-height:auto !important;
  }

  .hero .wrap,
  .hero-grid{
    grid-template-columns:1fr !important;
  }

  .hero-copy,
  .hero-content{
    padding:42px 18px 28px !important;
  }

  .hero h1,
  .hero-title{
    font-size:clamp(38px,10vw,58px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.04em !important;
    max-width:100%;
  }

  .hero p{
    font-size:16px !important;
    line-height:1.6;
    max-width:100%;
  }

  .hero-media,
  .hero-image,
  .hero-slider{
    min-height:44vh !important;
    height:44vh !important;
  }

  .hero img,
  .hero-media img,
  .hero-slider img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* allgemeine Bereiche */
  .wrap{
    width:100% !important;
    max-width:none !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  h2,
  .section-title{
    font-size:clamp(30px,8vw,44px) !important;
    line-height:1.08 !important;
  }

  h3{
    font-size:22px !important;
    line-height:1.2 !important;
  }

  p{
    max-width:100% !important;
  }

  /* Karten / Grids */
  .grid,
  .cards,
  .house-grid,
  .feature-grid,
  .two-col,
  .three-col,
  .award,
  .price-grid,
  .contact-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .card,
  .house-card,
  .feature-card,
  .price-card{
    padding:22px !important;
  }

  /* Bilder */
  .gallery,
  .gallery-grid,
  .photo-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .gallery img,
  .gallery-grid img,
  .photo-grid img,
  .house-card img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:0;
  }

  .moving-strip,
  .marquee{
    overflow:hidden;
  }

  .moving-strip img,
  .marquee img{
    height:220px !important;
    width:auto !important;
  }

  /* Buttons: fingerfreundlich */
  .btn,
  button,
  input[type="submit"],
  .cta{
    min-height:48px !important;
    padding:13px 18px !important;
    font-size:13px !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    max-width:100%;
  }

  /* Formulare */
  input,
  select,
  textarea{
    width:100% !important;
    min-height:48px;
    font-size:16px !important; /* verhindert iPhone-Zoom */
    padding:12px 13px !important;
  }

  textarea{min-height:120px}

  /* Grundrisse */
  .floorplans,
  .floorplan-grid{
    grid-template-columns:1fr !important;
  }

  .floorplans img,
  .floorplan-grid img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    background:#fff;
  }

  /* Footer */
  footer .wrap,
  .footer-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  footer{
    padding-bottom:28px;
  }
}

@media (max-width: 560px){

  header .wrap,
  .site-header .wrap{
    flex-wrap:wrap;
  }

  nav{
    order:3;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:6px;
  }

  nav a{
    font-size:11px !important;
  }

  .language-links{
    order:2;
  }

  .hero-copy,
  .hero-content{
    padding-top:34px !important;
  }

  .hero-media,
  .hero-image,
  .hero-slider{
    height:40vh !important;
    min-height:320px !important;
  }

  .section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .eyebrow,
  .kicker{
    font-size:11px !important;
    letter-spacing:.09em !important;
  }
}

/* =========================================================
   EDLERES REDESIGN – Trierer Heide
   ========================================================= */

:root{
  --bg:#0a0a09;
  --bg-soft:#11110f;
  --panel:#151411;
  --text:#f3f0e9;
  --muted:#b9b3a8;
  --gold:#c8a96b;
  --gold-soft:#ddc38b;
  --line:rgba(200,169,107,.22);
  --line-light:rgba(255,255,255,.08);
}

/* Grundwirkung */
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 85% 8%, rgba(200,169,107,.055), transparent 22rem),
    linear-gradient(180deg,#090909 0%,#0d0d0c 100%);
  color:var(--text);
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif;
  font-weight:400;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

p,li,input,textarea,select{
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif;
  color:var(--muted);
}

p{
  font-size:17px;
  line-height:1.78;
}

/* Luxuriöse Serifenschrift für große Überschriften */
h1,h2,.hero-title,.section-title{
  font-family:"Bodoni 72","Didot","Bodoni MT","Times New Roman",serif !important;
  font-weight:400 !important;
  letter-spacing:-.028em !important;
  color:#f7f3ec;
}

h3{
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.015em !important;
  color:#f3eee5;
}

.hero h1,
.hero-title{
  font-size:clamp(56px,6.2vw,96px) !important;
  line-height:.96 !important;
  max-width:760px;
}

h2,.section-title{
  font-size:clamp(44px,4.8vw,72px) !important;
  line-height:1.02 !important;
}

/* Kleine Goldzeilen */
.eyebrow,.kicker{
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif !important;
  color:var(--gold-soft) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.20em !important;
  text-transform:uppercase;
}

/* Header */
header,.site-header{
  background:rgba(7,7,7,.90) !important;
  border-bottom:1px solid var(--line-light);
  box-shadow:0 8px 35px rgba(0,0,0,.16);
}

header .wrap,.site-header .wrap{
  max-width:1440px;
}

nav a{
  color:rgba(255,255,255,.78) !important;
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase;
  transition:color .25s ease, opacity .25s ease;
}

nav a:hover{
  color:var(--gold-soft) !important;
}

.language-links a{
  color:rgba(255,255,255,.48) !important;
  font-weight:500 !important;
  letter-spacing:.13em !important;
}

.language-links a.active,
.language-links a:hover{
  color:var(--gold-soft) !important;
  border-bottom-color:var(--gold) !important;
}

/* Hero und große Bildflächen */
.hero{
  border-bottom:1px solid var(--line-light);
}

.hero img,.hero-media img,.hero-slider img{
  filter:saturate(.92) contrast(1.02) brightness(.95);
}

.hero-copy,.hero-content{
  position:relative;
}

.hero-copy:before,.hero-content:before{
  content:"";
  display:block;
  width:46px;
  height:1px;
  background:var(--gold);
  margin-bottom:24px;
}

/* Bereiche luftiger */
.section{
  padding-top:96px !important;
  padding-bottom:96px !important;
}

.section + .section{
  border-top:1px solid var(--line-light);
}

.wrap{
  max-width:1260px !important;
}

/* Karten edler und ruhiger */
.card,.house-card,.feature-card,.price-card,
.award,.contact-card{
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012)) !important;
  border:1px solid var(--line) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
}

.card,.feature-card,.price-card,.contact-card{
  padding:34px !important;
}

.house-card{
  overflow:hidden;
}

.house-card img{
  transition:transform .8s cubic-bezier(.2,.65,.2,1), filter .5s ease;
}

.house-card:hover img{
  transform:scale(1.025);
  filter:brightness(.98);
}

/* Buttons */
.btn,.cta,button,input[type="submit"]{
  background:transparent !important;
  color:#f7f1e7 !important;
  border:1px solid var(--gold) !important;
  border-radius:0 !important;
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase;
  padding:14px 22px !important;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.btn:hover,.cta:hover,button:hover,input[type="submit"]:hover{
  background:var(--gold) !important;
  color:#0b0b0a !important;
  transform:translateY(-1px);
}

/* Links */
a{
  text-underline-offset:4px;
}
main a:not(.btn):not(.cta):not(nav a):not(.language-links a){
  color:#dcc38f;
}

/* Bewertung */
.award{
  max-width:840px !important;
  padding:42px !important;
}
.award strong,.rating,.score{
  color:#f2eadb !important;
}

/* Formulare */
input,textarea,select{
  background:#0e0e0d !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#f3f0e9 !important;
  border-radius:0 !important;
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--gold) !important;
  box-shadow:0 0 0 2px rgba(200,169,107,.08);
}

/* Footer */
footer{
  background:#070707 !important;
  border-top:1px solid var(--line);
}
footer h3,footer .eyebrow{
  color:var(--gold-soft) !important;
}
footer p,footer a{
  color:#9f998e !important;
}

/* Bilder etwas hochwertiger eingebettet */
.gallery img,.photo-grid img,.gallery-grid img{
  filter:saturate(.93) contrast(1.015);
}

/* Mobile Feinabstimmung */
@media(max-width:900px){
  p{font-size:16px;line-height:1.72}

  .hero h1,.hero-title{
    font-size:clamp(46px,13vw,68px) !important;
    line-height:.98 !important;
  }

  h2,.section-title{
    font-size:clamp(38px,10vw,54px) !important;
  }

  .section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  .card,.feature-card,.price-card,.contact-card{
    padding:26px !important;
  }

  .award{
    padding:28px !important;
  }

  nav a{
    letter-spacing:.055em !important;
  }
}

@media(max-width:560px){
  .section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  .hero-copy:before,.hero-content:before{
    margin-bottom:18px;
  }

  .logo img,.brand img,header img[src*="logo"]{
    height:62px !important;
  }

  nav{
    row-gap:2px !important;
  }
}

/* Finale Sammelversion */
.logo img,.brand img,header img[src*="logo"]{
 height:112px!important;width:auto!important;max-height:none!important;max-width:285px!important;object-fit:contain!important}
header .wrap,.site-header .wrap{min-height:126px!important}
.language-select{display:none!important}
.language-links{display:flex;align-items:center;gap:10px;margin-left:14px;white-space:nowrap}
.language-links a{font-size:11px;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.55);text-decoration:none;padding:6px 0}
.language-links a.active,.language-links a:hover{color:#ddc38b}

/* Haus 1 und Haus 2: gleiche Bildproportion und schwarzer Zwischenraum */
.house-grid,.houses-grid,.two-houses{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:36px!important;background:#0a0a09!important}
.house-card{background:#0a0a09!important;border:0!important;box-shadow:none!important}
.house-card img,.house-grid img,.houses-grid img,.two-houses img{
 display:block;width:100%!important;aspect-ratio:16/10!important;height:auto!important;
 object-fit:cover!important;background:#0a0a09!important}
.photo-grid,.gallery-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:22px!important;background:#0a0a09!important}
.photo-grid img,.gallery-grid img{width:100%!important;aspect-ratio:4/3!important;height:auto!important;object-fit:cover!important;display:block}

@media(max-width:900px){
 .logo img,.brand img,header img[src*="logo"]{height:78px!important;max-width:200px!important}
 header .wrap,.site-header .wrap{min-height:90px!important}
 .house-grid,.houses-grid,.two-houses,.photo-grid,.gallery-grid{grid-template-columns:1fr!important;gap:18px!important}
 .house-card img,.house-grid img,.houses-grid img,.two-houses img{aspect-ratio:4/3!important}
}

/* Logo nochmals größer */
.logo img,.brand img,header img[src*="logo"]{
  height:150px !important;
  width:auto !important;
  max-height:none !important;
  max-width:360px !important;
  object-fit:contain !important;
}
header .wrap,.site-header .wrap{
  min-height:164px !important;
}
@media(max-width:900px){
  .logo img,.brand img,header img[src*="logo"]{
    height:96px !important;
    max-width:240px !important;
  }
  header .wrap,.site-header .wrap{
    min-height:108px !important;
  }
}

/* Vollausstattung */
.comfort-section{border-top:1px solid rgba(255,255,255,.08)}
.comfort-intro{max-width:820px;font-size:19px;line-height:1.75}
.comfort-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;margin-top:42px
}
.comfort-grid article{
  border-top:1px solid rgba(200,169,107,.55);
  padding:25px 8px 8px 0
}
.comfort-grid article>span{
  display:block;color:#c8a96b;font-size:11px;letter-spacing:.16em;margin-bottom:18px
}
.comfort-grid h3{font-size:20px!important;margin-bottom:12px}
.comfort-grid p{font-size:15px;line-height:1.7}
.comfort-closing{
  margin-top:42px;max-width:900px;color:#f0e7d7!important;
  font-family:"Bodoni 72","Didot","Bodoni MT","Times New Roman",serif!important;
  font-size:27px!important;line-height:1.35!important
}
.house-equipment p{max-width:900px;font-size:18px;line-height:1.8}
@media(max-width:800px){
  .comfort-grid{grid-template-columns:1fr;gap:12px;margin-top:30px}
  .comfort-intro{font-size:17px}
  .comfort-closing{font-size:23px!important;margin-top:30px}
}

@media(min-width:1000px){
  .comfort-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* Kontaktportrait */
.contact-portrait-wrap{
  margin:34px 0 46px;
  max-width:980px;
}
.contact-portrait{
  display:block;
  width:100%;
  max-width:820px;
  height:auto;
  object-fit:cover;
  border-radius:2px;
}
@media(max-width:800px){
  .contact-portrait-wrap{margin:24px 0 32px;}
  .contact-portrait{width:100%;max-width:none;}
}

/* Startseite: natürlich wirkende blau-schwarze Schmetterlinge */
.butterflies{
  position:fixed;
  inset:0;
  z-index:24;
  pointer-events:none;
  overflow:hidden;
}
.butterfly{
  --bf-size:25px;
  --bf-speed:.58s;
  position:absolute;
  width:var(--bf-size);
  height:calc(var(--bf-size) * .72);
  opacity:.86;
  filter:drop-shadow(0 3px 3px rgba(0,0,0,.24));
  transform-origin:50% 50%;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}
.bf-body{
  position:absolute;
  z-index:5;
  left:50%;
  top:20%;
  width:2.4px;
  height:60%;
  margin-left:-1.2px;
  border-radius:60% 60% 75% 75%;
  background:linear-gradient(to bottom,#142230 0 14%,#05080c 18% 72%,#111821 100%);
  box-shadow:0 0 1px rgba(255,255,255,.16);
  transform:rotate(-3deg);
}
.bf-body::before,.bf-body::after{
  content:"";
  position:absolute;
  top:-4px;
  width:1px;
  height:7px;
  border-radius:100%;
  background:#0a1018;
  transform-origin:bottom;
}
.bf-body::before{left:0;transform:rotate(-38deg)}
.bf-body::after{right:0;transform:rotate(38deg)}
.bf-wing{
  position:absolute;
  top:3%;
  z-index:2;
  width:54%;
  height:72%;
  background:
    radial-gradient(ellipse at 30% 28%,rgba(90,157,207,.92) 0 9%,transparent 10%),
    radial-gradient(ellipse at 58% 58%,rgba(29,89,137,.82) 0 13%,transparent 14%),
    radial-gradient(ellipse at 72% 26%,rgba(4,12,23,.95) 0 15%,transparent 16%),
    linear-gradient(135deg,#315f88 0%,#163b61 31%,#08182c 62%,#010407 100%);
  border:1px solid rgba(2,6,10,.74);
  box-shadow:inset 0 0 0 1px rgba(111,167,210,.12);
  backface-visibility:visible;
  animation:bf-flap var(--bf-speed) cubic-bezier(.42,0,.58,1) infinite alternate;
}
.bf-wing::before{
  content:"";
  position:absolute;
  width:63%;
  height:50%;
  bottom:-23%;
  background:
    radial-gradient(circle at 47% 47%,rgba(55,113,157,.72) 0 15%,transparent 16%),
    linear-gradient(150deg,#193e62 0%,#071526 58%,#010305 100%);
  border:1px solid rgba(2,6,10,.7);
  box-shadow:inset 0 0 0 1px rgba(86,139,180,.1);
}
.bf-wing::after{
  content:"";
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  top:22%;
  background:rgba(142,192,225,.68);
  box-shadow:6px 5px 0 rgba(70,133,177,.48),10px 12px 0 rgba(4,8,13,.68);
}
.bf-left{
  right:49%;
  border-radius:92% 30% 75% 28% / 78% 34% 84% 44%;
  transform-origin:100% 55%;
}
.bf-left::before{right:4%;border-radius:80% 25% 72% 42%;transform:rotate(9deg)}
.bf-left::after{right:28%}
.bf-right{
  left:49%;
  border-radius:30% 92% 28% 75% / 34% 78% 44% 84%;
  transform-origin:0 55%;
  animation-delay:calc(var(--bf-speed) * -.48);
}
.bf-right::before{left:4%;border-radius:25% 80% 42% 72%;transform:rotate(-9deg)}
.bf-right::after{left:28%;transform:scaleX(-1)}
@keyframes bf-flap{
  0%{transform:perspective(52px) rotateY(8deg) rotateZ(-2deg) scaleX(1)}
  45%{transform:perspective(52px) rotateY(42deg) rotateZ(1deg) scaleX(.82)}
  100%{transform:perspective(52px) rotateY(76deg) rotateZ(4deg) scaleX(.48)}
}
.butterfly-1{--bf-size:27px;--bf-speed:.54s;left:-8vw;top:20vh;opacity:.9;animation:bf-flight-1 25s -5s infinite}
.butterfly-2{--bf-size:19px;--bf-speed:.46s;left:-7vw;top:67vh;opacity:.72;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18)) blur(.08px);animation:bf-flight-2 31s -17s infinite}
.butterfly-3{--bf-size:31px;--bf-speed:.64s;left:-9vw;top:42vh;opacity:.82;animation:bf-flight-3 36s -23s infinite}
.butterfly-4{--bf-size:17px;--bf-speed:.40s;left:-6vw;top:78vh;opacity:.68;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15)) blur(.15px);animation:bf-flight-4 28s -9s infinite}
.butterfly-5{--bf-size:23px;--bf-speed:.59s;left:-8vw;top:31vh;opacity:.78;animation:bf-flight-5 39s -30s infinite}
@keyframes bf-flight-1{
  0%{transform:translate3d(0,0,0) rotate(8deg) scale(.96)}
  9%{transform:translate3d(10vw,5vh,0) rotate(-1deg) scale(1)}
  20%{transform:translate3d(23vw,11vh,0) rotate(-10deg) scale(.96)}
  34%{transform:translate3d(38vw,2vh,0) rotate(6deg) scale(1.03)}
  48%{transform:translate3d(54vw,-8vh,0) rotate(12deg) scale(.98)}
  63%{transform:translate3d(70vw,7vh,0) rotate(-7deg) scale(1.02)}
  79%{transform:translate3d(88vw,15vh,0) rotate(-2deg) scale(.97)}
  91%{transform:translate3d(103vw,4vh,0) rotate(10deg) scale(1.01)}
  100%{transform:translate3d(117vw,-3vh,0) rotate(5deg) scale(.96)}
}
@keyframes bf-flight-2{
  0%{transform:translate3d(0,0,0) rotate(-9deg) scale(.9)}
  13%{transform:translate3d(14vw,-8vh,0) rotate(5deg) scale(.94)}
  28%{transform:translate3d(31vw,-17vh,0) rotate(11deg) scale(.88)}
  43%{transform:translate3d(47vw,-7vh,0) rotate(-5deg) scale(.93)}
  57%{transform:translate3d(62vw,5vh,0) rotate(-9deg) scale(.9)}
  72%{transform:translate3d(80vw,-4vh,0) rotate(8deg) scale(.95)}
  87%{transform:translate3d(98vw,-14vh,0) rotate(3deg) scale(.9)}
  100%{transform:translate3d(116vw,1vh,0) rotate(-7deg) scale(.92)}
}
@keyframes bf-flight-3{
  0%{transform:translate3d(0,0,0) rotate(3deg) scale(1.08)}
  11%{transform:translate3d(12vw,-4vh,0) rotate(-6deg) scale(1.04)}
  25%{transform:translate3d(29vw,-12vh,0) rotate(-11deg) scale(1.08)}
  38%{transform:translate3d(44vw,-1vh,0) rotate(4deg) scale(1.03)}
  53%{transform:translate3d(61vw,16vh,0) rotate(10deg) scale(1.07)}
  67%{transform:translate3d(77vw,6vh,0) rotate(-4deg) scale(1.02)}
  82%{transform:translate3d(94vw,-6vh,0) rotate(-10deg) scale(1.06)}
  100%{transform:translate3d(118vw,7vh,0) rotate(5deg) scale(1.04)}
}
@keyframes bf-flight-4{
  0%{transform:translate3d(0,0,0) rotate(-7deg) scale(.82)}
  16%{transform:translate3d(18vw,-10vh,0) rotate(4deg) scale(.86)}
  31%{transform:translate3d(35vw,-20vh,0) rotate(10deg) scale(.8)}
  47%{transform:translate3d(52vw,-11vh,0) rotate(-4deg) scale(.84)}
  62%{transform:translate3d(68vw,-2vh,0) rotate(-9deg) scale(.81)}
  78%{transform:translate3d(86vw,-12vh,0) rotate(6deg) scale(.85)}
  91%{transform:translate3d(101vw,-18vh,0) rotate(8deg) scale(.8)}
  100%{transform:translate3d(116vw,-8vh,0) rotate(-4deg) scale(.83)}
}
@keyframes bf-flight-5{
  0%{transform:translate3d(0,0,0) rotate(7deg) scale(.94)}
  12%{transform:translate3d(13vw,8vh,0) rotate(-2deg) scale(.98)}
  27%{transform:translate3d(30vw,18vh,0) rotate(-9deg) scale(.93)}
  42%{transform:translate3d(47vw,7vh,0) rotate(5deg) scale(.97)}
  56%{transform:translate3d(63vw,-11vh,0) rotate(11deg) scale(.92)}
  72%{transform:translate3d(81vw,-2vh,0) rotate(-4deg) scale(.97)}
  87%{transform:translate3d(99vw,9vh,0) rotate(-8deg) scale(.93)}
  100%{transform:translate3d(117vw,-2vh,0) rotate(5deg) scale(.95)}
}
@media (max-width:720px){
  .butterfly{opacity:.72}
  .butterfly-5{display:none}
}
@media (prefers-reduced-motion:reduce){
  .butterflies{display:none}
}

/* Kontaktseite: Logo statt Hintergrundfoto */
.contact-logo-hero{background-image:none !important;background:#f4f0e8;min-height:430px;display:flex;align-items:center;text-align:center;}
.contact-logo-hero::before{display:none !important;}
.contact-logo-hero .wrap{width:100%;}
.contact-hero-logo{display:block;width:min(360px,72vw);height:auto;margin:0 auto 24px;}
@media (max-width:700px){.contact-logo-hero{min-height:360px}.contact-hero-logo{width:min(280px,74vw);margin-bottom:18px}}

/* Refined house feature typography */
.stats-stacked .stat{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
.stats-stacked .stat strong{display:block;line-height:1.25;letter-spacing:.01em;}
.stats-stacked .stat .muted{display:block;line-height:1.5;}


/* Kontaktseite: Logo hinter dem verkleinerten Portrait */
.contact-logo-hero{min-height:760px !important;align-items:flex-end !important;background:#f4f0e8 !important;}
.contact-logo-hero:after{background:linear-gradient(0deg,rgba(13,14,14,.82) 0%,rgba(13,14,14,.18) 42%,transparent 68%) !important;}
.contact-logo-hero .wrap{padding-bottom:52px !important;}
.contact-visual{position:absolute;z-index:-1;inset:auto 0 0 0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.contact-background-logo{position:absolute;width:min(760px,78vw);height:auto;opacity:.95;left:50%;top:46%;transform:translate(-50%,-50%);}
.contact-visual .contact-portrait{position:absolute;width:min(547px,54vw);height:auto;max-height:58%;object-fit:cover;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid rgba(185,155,100,.55);box-shadow:0 20px 55px rgba(0,0,0,.28);}
.contact-logo-hero .eyebrow,.contact-logo-hero h1{position:relative;z-index:3;text-shadow:0 2px 18px rgba(0,0,0,.65);}
@media(max-width:700px){.contact-logo-hero{min-height:620px !important}.contact-background-logo{width:min(600px,96vw);top:42%}.contact-visual .contact-portrait{width:min(365px,64vw);max-height:48%;top:43%}.contact-logo-hero .wrap{padding-bottom:38px !important}}


/* Final refinements */
.stats-stacked .stat{display:grid !important;grid-template-columns:190px minmax(0,1fr);column-gap:30px;align-items:baseline;padding:5px 0;}
.stats-stacked .stat strong,.stats-stacked .stat .muted{display:block !important;margin:0 !important;}
.award-year{text-align:left;}
.award-year-label{display:block;color:var(--gold);font-size:13px;letter-spacing:.18em;margin-bottom:6px;}
.award-year strong{font-size:34px;line-height:1.15;margin-bottom:7px;}
.house-equipment .pricebox{margin-top:42px;}
/* Kontakt: Illustration vollständig sichtbar, Portrait ca. 1/3 kleiner */
.contact-logo-hero{min-height:760px !important;overflow:hidden;background:#f4f0e8 !important;}
.contact-visual{position:absolute !important;inset:0 !important;height:100% !important;z-index:0 !important;overflow:hidden !important;}
.contact-background-logo{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:contain !important;object-position:center !important;transform:none !important;opacity:1 !important;}
.contact-visual .contact-portrait{position:absolute !important;width:min(365px,36vw) !important;height:auto !important;max-height:42% !important;object-fit:contain !important;left:50% !important;top:47% !important;transform:translate(-50%,-50%) !important;z-index:2 !important;}
.contact-logo-hero .wrap{z-index:3 !important;}
@media(max-width:700px){
 .stats-stacked .stat{grid-template-columns:145px minmax(0,1fr);column-gap:18px;}
 .contact-logo-hero{min-height:620px !important;}
 .contact-visual .contact-portrait{width:min(260px,48vw) !important;max-height:36% !important;top:45% !important;}
}
@media(max-width:420px){.stats-stacked .stat{grid-template-columns:1fr;row-gap:2px;padding:8px 0;}}

/* Kontakt – großes Logo mit versetztem Portrait */
.contact-logo-hero{min-height:760px !important;overflow:hidden !important;background:#f4f0e8 !important;}
.contact-visual{position:absolute !important;inset:0 !important;z-index:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;}
.contact-background-logo{position:absolute !important;width:min(900px,82vw) !important;height:auto !important;max-height:82% !important;object-fit:contain !important;left:50% !important;top:43% !important;transform:translate(-50%,-50%) !important;opacity:1 !important;}
.contact-visual .contact-portrait{position:absolute !important;width:min(300px,28vw) !important;height:auto !important;max-height:40% !important;object-fit:cover !important;left:64% !important;top:52% !important;transform:translate(-50%,-50%) !important;z-index:2 !important;border:1px solid rgba(185,155,100,.6) !important;box-shadow:0 18px 50px rgba(0,0,0,.28) !important;}
.contact-logo-hero .wrap{position:relative !important;z-index:3 !important;}
@media(max-width:700px){.contact-logo-hero{min-height:620px !important}.contact-background-logo{width:94vw !important;max-height:72% !important;top:39% !important}.contact-visual .contact-portrait{width:min(210px,46vw) !important;max-height:32% !important;left:63% !important;top:49% !important}}

/* Korrektur 29.08.2026: Awards oben, Konditionen/Preise in eigener Zeile */
.trustgrid{grid-template-columns:repeat(3,1fr)!important;}
.trustitem{border-bottom:1px solid var(--line);}
.trustitem:nth-child(3n){border-right:0!important;}
.trustitem:nth-last-child(-n+3){border-bottom:0;}
@media(max-width:1000px){
  .trustgrid{grid-template-columns:repeat(3,1fr)!important;}
  .trustitem:nth-child(2){border-right:1px solid var(--line)!important;}
  .trustitem:nth-child(3n){border-right:0!important;}
}
@media(max-width:620px){
  .trustgrid{grid-template-columns:1fr!important;}
  .trustitem{border-right:0!important;border-bottom:1px solid var(--line)!important;}
  .trustitem:last-child{border-bottom:0!important;}
}

/* Kontakt: Logo deutlich größer, Portrait vollständig sichtbar */
.contact-logo-hero{min-height:900px!important;overflow:hidden!important;background:#f4f0e8!important;}
.contact-visual{position:absolute!important;inset:0!important;z-index:0!important;overflow:visible!important;}
.contact-background-logo{
  position:absolute!important;
  width:min(1500px,98vw)!important;
  height:auto!important;
  max-height:96%!important;
  object-fit:contain!important;
  left:50%!important;
  top:46%!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
}
.contact-visual .contact-portrait{
  position:absolute!important;
  width:min(360px,28vw)!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  left:68%!important;
  top:58%!important;
  transform:translate(-50%,-50%)!important;
  z-index:2!important;
  border:1px solid rgba(185,155,100,.6)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
}
@media(max-width:700px){
  .contact-logo-hero{min-height:700px!important;}
  .contact-background-logo{width:98vw!important;max-height:88%!important;top:42%!important;}
  .contact-visual .contact-portrait{width:min(250px,58vw)!important;left:63%!important;top:58%!important;object-fit:contain!important;}
}


/* Kontakt final: großes Logo neben vollständig sichtbarem Portrait */
.contact-logo-hero{min-height:820px!important;background:#f4f0e8!important;overflow:hidden!important;}
.contact-logo-hero .contact-visual{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;z-index:0!important;}
.contact-logo-hero .contact-background-logo{
  position:absolute!important;
  width:min(1050px,68vw)!important;
  height:auto!important;
  max-height:92%!important;
  object-fit:contain!important;
  left:63%!important;
  top:45%!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
}
.contact-logo-hero .contact-portrait{
  position:absolute!important;
  width:min(390px,28vw)!important;
  height:auto!important;
  max-height:70%!important;
  object-fit:contain!important;
  object-position:center!important;
  left:22%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:2!important;
}
.contact-logo-hero .wrap{position:relative!important;z-index:3!important;}
@media(max-width:700px){
 .contact-logo-hero{min-height:760px!important;}
 .contact-logo-hero .contact-background-logo{width:96vw!important;max-height:62%!important;left:50%!important;top:31%!important;}
 .contact-logo-hero .contact-portrait{width:min(280px,66vw)!important;max-height:40%!important;left:50%!important;top:65%!important;object-fit:contain!important;}
}

/* Kontakt – Logo mittig, quadratisches Portrait leicht überlappend davor */
.contact-logo-hero{min-height:900px!important;background:#f4f0e8!important;overflow:hidden!important;}
.contact-logo-hero .contact-visual{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;z-index:0!important;}
.contact-logo-hero .contact-background-logo{
  position:absolute!important;
  width:min(1350px,88vw)!important;
  height:auto!important;
  max-height:90%!important;
  object-fit:contain!important;
  left:50%!important;
  top:45%!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
}
.contact-logo-hero .contact-portrait{
  position:absolute!important;
  width:min(300px,23vw)!important;
  height:min(300px,23vw)!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  left:27%!important;
  top:59%!important;
  transform:translate(-50%,-50%)!important;
  z-index:2!important;
  background:#f4f0e8!important;
  border:1px solid rgba(185,155,100,.65)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
}
.contact-logo-hero .wrap{position:relative!important;z-index:3!important;}
@media(max-width:700px){
 .contact-logo-hero{min-height:760px!important;}
 .contact-logo-hero .contact-background-logo{width:96vw!important;max-height:68%!important;left:50%!important;top:36%!important;}
 .contact-logo-hero .contact-portrait{width:min(210px,48vw)!important;height:min(210px,48vw)!important;left:32%!important;top:63%!important;object-fit:contain!important;}
}

/* Kontakt final: Logo bildgross mittig, Portrait leicht ueberlappend */
.contact-logo-hero{min-height:1050px!important;background:#0d0e0e!important;overflow:hidden!important;align-items:flex-end!important;}
.contact-logo-hero:after{display:none!important;}
.contact-logo-hero .contact-visual{position:absolute!important;inset:110px 0 80px!important;z-index:0!important;display:block!important;overflow:visible!important;}
.contact-logo-hero .contact-background-logo{position:absolute!important;width:min(1100px,82vw)!important;height:min(780px,74vw)!important;max-height:none!important;left:50%!important;top:45%!important;transform:translate(-50%,-50%)!important;object-fit:contain!important;object-position:center!important;opacity:1!important;}
.contact-logo-hero .contact-portrait{position:absolute!important;width:min(310px,24vw)!important;height:min(310px,24vw)!important;left:27%!important;top:67%!important;transform:translate(-50%,-50%)!important;object-fit:contain!important;background:#111!important;z-index:2!important;border:1px solid rgba(185,155,100,.75)!important;box-shadow:0 18px 50px rgba(0,0,0,.38)!important;}
.contact-logo-hero .wrap{position:relative!important;z-index:3!important;padding-bottom:35px!important;}
.contact-logo-hero h1{font-size:clamp(44px,6vw,78px)!important;}
@media(max-width:700px){
 .contact-logo-hero{min-height:820px!important;}
 .contact-logo-hero .contact-visual{inset:90px 0 60px!important;}
 .contact-logo-hero .contact-background-logo{width:94vw!important;height:auto!important;top:40%!important;}
 .contact-logo-hero .contact-portrait{width:min(190px,44vw)!important;height:min(190px,44vw)!important;left:30%!important;top:67%!important;object-fit:contain!important;}
}

/* Kontakt – Portrait weiter links/unten, finales Layout */
.contact-logo-hero .contact-portrait{left:20%!important;top:72%!important;}
@media(max-width:700px){.contact-logo-hero .contact-portrait{left:23%!important;top:70%!important;}}

/* Kontakt – Portrait weiter unten, ohne schwarzen Rand */
.contact-logo-hero .contact-portrait{
  left:20% !important;
  top:80% !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  object-fit:contain !important;
}
@media(max-width:700px){
  .contact-logo-hero .contact-portrait{
    left:23% !important;
    top:77% !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }
}

/* Kontakt – Portrait exakt ca. 2 cm weiter nach unten */
.contact-logo-hero .contact-portrait{
  transform:translate(-50%, calc(-50% + 76px)) !important;
}
@media(max-width:700px){
  .contact-logo-hero .contact-portrait{
    transform:translate(-50%, calc(-50% + 76px)) !important;
  }
}

/* Kontakt – Portrait unterhalb des Logo-Schriftzugs, gold umrandet */
.contact-logo-hero{min-height:1050px!important;}
.contact-logo-hero .contact-portrait{
  left:20%!important;
  top:91%!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
  border:2px solid #b99b64!important;
  box-shadow:none!important;
  object-fit:contain!important;
  border-radius:2px!important;
}
@media(max-width:700px){
  .contact-logo-hero{min-height:900px!important;}
  .contact-logo-hero .contact-portrait{
    left:24%!important;
    top:86%!important;
    transform:translate(-50%,-50%)!important;
    border:2px solid #b99b64!important;
  }
}

/* Kontakt – Portrait ab dieser Version nochmals exakt 2 cm tiefer */
.contact-logo-hero .contact-portrait{
  transform:translate(-50%, calc(-50% + 76px)) !important;
}
@media(max-width:700px){
  .contact-logo-hero .contact-portrait{
    transform:translate(-50%, calc(-50% + 76px)) !important;
  }
}

/* Kontakt: vom Nutzer geliefertes Gesamtmotiv */
.contact-visual-composite{display:flex;justify-content:center;align-items:center;overflow:visible;min-height:0!important;padding:20px 0 10px!important;}
.contact-composite-image{display:block;width:min(1120px,94vw);height:auto;max-height:none;object-fit:contain;position:static!important;transform:none!important;border:0!important;box-shadow:none!important;}
@media(max-width:700px){.contact-visual-composite{padding:8px 0}.contact-composite-image{width:100%;}}

/* Kontakt – exakt das vom Nutzer gelieferte Gesamtbild, unverändert */
.contact-logo-hero{
  min-height:0!important;
  background:#0d0e0e!important;
  overflow:visible!important;
  display:block!important;
  padding:72px 0 56px!important;
}
.contact-logo-hero:after{display:none!important;}
.contact-logo-hero .wrap{
  position:relative!important;
  z-index:1!important;
  padding:0 24px!important;
}
.contact-logo-hero .contact-visual.contact-visual-composite{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  overflow:visible!important;
  min-height:0!important;
  padding:0!important;
}
.contact-logo-hero .contact-composite-image{
  display:block!important;
  position:static!important;
  width:min(1200px,96vw)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  border:0!important;
  box-shadow:none!important;
  opacity:1!important;
}
@media(max-width:700px){
  .contact-logo-hero{padding:36px 0!important;}
  .contact-logo-hero .wrap{padding:0 10px!important;}
  .contact-logo-hero .contact-composite-image{width:100%!important;}
}

/* Kontakt – Gesamtbild vollständig; nachfolgender Text darf nicht angeschnitten werden */
.contact-logo-hero{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:110px 0 70px!important;
}
.contact-logo-hero .wrap{
  padding-bottom:0!important;
  overflow:visible!important;
}
.contact-logo-hero .contact-visual-composite{
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.contact-logo-hero .contact-composite-image{
  width:min(1200px,94vw)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
.contact-logo-hero + .section{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
  padding-top:80px!important;
  overflow:visible!important;
}
.contact-logo-hero + .section .contact-grid{
  overflow:visible!important;
  min-height:max-content!important;
}
@media(max-width:700px){
  .contact-logo-hero{padding:110px 0 36px!important;}
  .contact-logo-hero + .section{padding-top:55px!important;}
}

/* Feinjustierung: Schmetterlinge etwas länglicher / natürlicher */
.butterfly{
  height:calc(var(--bf-size) * .86);
}
.bf-body{
  top:14%;
  height:72%;
}
.bf-wing{
  top:1%;
  height:82%;
  transform-origin-y:58%;
}
.bf-wing::before{
  height:56%;
  bottom:-27%;
}

/* 29.08.2026 – Startseite: Schmetterlinge doppelt so groß und schlanker */
.butterfly{
  width:calc(var(--bf-size) * .72);
  height:calc(var(--bf-size) * .98);
}
.bf-body{
  top:10%;
  height:80%;
  width:2.2px;
  margin-left:-1.1px;
}
.bf-wing{
  width:49%;
  height:76%;
  top:3%;
}
.bf-wing::before{
  width:58%;
  height:48%;
  bottom:-21%;
}
.butterfly-1{--bf-size:54px}
.butterfly-2{--bf-size:38px}
.butterfly-3{--bf-size:62px}
.butterfly-4{--bf-size:34px}
.butterfly-5{--bf-size:46px}
@media(max-width:700px){
  .butterfly-1{--bf-size:44px}
  .butterfly-2{--bf-size:32px}
  .butterfly-3{--bf-size:50px}
  .butterfly-4{--bf-size:28px}
}

/* 29.08.2026 – natürlichere, schlanke Schmetterlinge auf der Startseite */
.butterfly{
  width:calc(var(--bf-size) * .74);
  height:calc(var(--bf-size) * 1.08);
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.24));
}
.bf-body{
  left:50%;
  top:13%;
  width:2px;
  height:72%;
  margin-left:-1px;
  border-radius:60% 60% 85% 85%;
  background:linear-gradient(to bottom,#1a2c3b 0 10%,#06090d 18% 78%,#142130 100%);
  transform:rotate(-2deg);
}
.bf-body::before,.bf-body::after{
  top:-6px;
  width:.8px;
  height:9px;
  background:#090e14;
}
.bf-body::before{left:.2px;transform:rotate(-31deg)}
.bf-body::after{right:.2px;transform:rotate(31deg)}
.bf-wing{
  top:2%;
  width:54%;
  height:68%;
  border:0;
  box-shadow:none;
  background:
    repeating-linear-gradient(68deg,transparent 0 10%,rgba(100,158,202,.16) 10.5% 11.5%,transparent 12% 20%),
    radial-gradient(ellipse at 30% 30%,rgba(70,139,190,.8) 0 13%,transparent 32%),
    linear-gradient(145deg,#244e72 0%,#0d2945 40%,#06101d 72%,#010306 100%);
  clip-path:polygon(49% 1%,72% 4%,91% 14%,100% 29%,96% 45%,86% 58%,72% 70%,59% 76%,52% 60%,47% 42%,42% 20%);
  transform-origin:50% 58%;
}
.bf-left{
  right:48%;
  transform-origin:100% 61%;
}
.bf-right{
  left:48%;
  transform-origin:0 61%;
}
.bf-left{clip-path:polygon(100% 2%,72% 5%,45% 17%,18% 39%,2% 62%,8% 78%,28% 89%,51% 93%,68% 78%,82% 56%,92% 31%)}
.bf-right{clip-path:polygon(0 2%,28% 5%,55% 17%,82% 39%,98% 62%,92% 78%,72% 89%,49% 93%,32% 78%,18% 56%,8% 31%)}
.bf-wing::before{
  width:58%;
  height:46%;
  bottom:-31%;
  border:0;
  box-shadow:none;
  background:
    repeating-linear-gradient(82deg,transparent 0 16%,rgba(82,136,177,.14) 16.5% 18%,transparent 18.5% 30%),
    linear-gradient(150deg,#173a59 0%,#08192a 62%,#010306 100%);
}
.bf-left::before{
  right:3%;
  clip-path:polygon(98% 0,72% 5%,44% 19%,20% 42%,5% 69%,15% 88%,42% 100%,68% 86%,82% 58%);
  border-radius:0;
  transform:rotate(7deg);
}
.bf-right::before{
  left:3%;
  clip-path:polygon(2% 0,28% 5%,56% 19%,80% 42%,95% 69%,85% 88%,58% 100%,32% 86%,18% 58%);
  border-radius:0;
  transform:rotate(-7deg);
}
.bf-wing::after{
  width:2px;
  height:2px;
  top:26%;
  background:rgba(142,190,220,.42);
  box-shadow:5px 8px 0 rgba(68,126,166,.33),9px 16px 0 rgba(3,7,11,.55);
}
@keyframes bf-flap{
  0%{transform:perspective(80px) rotateY(4deg) rotateZ(-2deg) scaleX(1)}
  35%{transform:perspective(80px) rotateY(28deg) rotateZ(0deg) scaleX(.9)}
  68%{transform:perspective(80px) rotateY(58deg) rotateZ(2deg) scaleX(.67)}
  100%{transform:perspective(80px) rotateY(76deg) rotateZ(3deg) scaleX(.48)}
}
/* leicht unterschiedliche Proportionen wie bei echten Tieren */
.butterfly-1{--bf-speed:.61s}
.butterfly-2{--bf-speed:.47s;transform:scale(.92)}
.butterfly-3{--bf-speed:.68s}
.butterfly-4{--bf-speed:.43s;transform:scale(.88)}
.butterfly-5{--bf-speed:.56s}

/* 29.08.2026 – V4: feinere, realistischere Schmetterlinge */
.butterfly{
  width:calc(var(--bf-size) * .64);
  height:calc(var(--bf-size) * 1.12);
  opacity:.76;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));
}
.bf-body{
  top:17%; width:1.6px; height:66%; margin-left:-.8px;
  background:linear-gradient(to bottom,#172533 0 9%,#05070a 18% 82%,#111923 100%);
}
.bf-body::before,.bf-body::after{width:.6px;height:8px;top:-6px;background:#080b0f}
.bf-wing{
  top:5%; width:51%; height:61%;
  background:
    linear-gradient(72deg,transparent 0 44%,rgba(84,136,172,.16) 45% 46%,transparent 47%),
    linear-gradient(112deg,transparent 0 56%,rgba(67,116,151,.12) 57% 58%,transparent 59%),
    radial-gradient(ellipse at 38% 34%,rgba(37,94,133,.54) 0 18%,transparent 42%),
    linear-gradient(150deg,#18364f 0%,#0b2237 39%,#040b12 72%,#010203 100%);
  border:0;
  box-shadow:inset 0 0 0 .5px rgba(115,159,190,.16);
}
.bf-left{clip-path:polygon(100% 2%,75% 7%,52% 20%,30% 40%,9% 68%,4% 84%,20% 94%,43% 90%,63% 72%,80% 47%,93% 20%)}
.bf-right{clip-path:polygon(0 2%,25% 7%,48% 20%,70% 40%,91% 68%,96% 84%,80% 94%,57% 90%,37% 72%,20% 47%,7% 20%)}
.bf-wing::before{
  width:50%; height:42%; bottom:-27%;
  background:linear-gradient(150deg,#102a40 0%,#071521 58%,#010203 100%);
  opacity:.92;
}
.bf-left::before{clip-path:polygon(100% 0,72% 10%,42% 31%,13% 65%,5% 87%,30% 98%,58% 83%,80% 53%)}
.bf-right::before{clip-path:polygon(0 0,28% 10%,58% 31%,87% 65%,95% 87%,70% 98%,42% 83%,20% 53%)}
.bf-wing::after{display:none}
@keyframes bf-flap{
  0%{transform:perspective(95px) rotateY(7deg) rotateZ(-1deg) scaleX(1)}
  22%{transform:perspective(95px) rotateY(19deg) rotateZ(0deg) scaleX(.96)}
  51%{transform:perspective(95px) rotateY(54deg) rotateZ(1deg) scaleX(.74)}
  73%{transform:perspective(95px) rotateY(31deg) rotateZ(0deg) scaleX(.88)}
  100%{transform:perspective(95px) rotateY(70deg) rotateZ(2deg) scaleX(.56)}
}
/* etwas kleiner als V3: große Tiere wirken auf dem Foto schnell künstlich */
.butterfly-1{--bf-size:40px;--bf-speed:.73s}
.butterfly-2{--bf-size:28px;--bf-speed:.57s}
.butterfly-3{--bf-size:46px;--bf-speed:.81s}
.butterfly-4{--bf-size:25px;--bf-speed:.52s}
.butterfly-5{--bf-size:34px;--bf-speed:.67s}
@media (max-width:720px){
  .butterfly-1{--bf-size:32px}.butterfly-2{--bf-size:23px}.butterfly-3{--bf-size:37px}.butterfly-4{--bf-size:21px}
}


/* 01.09.2026 – Startseite: dezente creme-/altrosa Kirschblütenblätter */
.cherry-petals{position:fixed;inset:0;z-index:24;pointer-events:none;overflow:hidden}
.petal{--size:15px;--duration:19s;--delay:0s;position:absolute;top:-9vh;left:var(--left);width:var(--size);height:calc(var(--size)*1.65);opacity:var(--opacity,.62);border-radius:80% 18% 78% 22% / 72% 25% 75% 28%;background:linear-gradient(145deg,rgba(255,250,245,.92),rgba(239,211,207,.82) 54%,rgba(213,177,174,.72));box-shadow:inset -2px -2px 4px rgba(153,111,112,.10),0 2px 5px rgba(0,0,0,.08);transform-origin:50% 20%;filter:blur(var(--blur,0));animation:petal-fall var(--duration) var(--delay) linear infinite}
.petal::after{content:"";position:absolute;left:48%;top:3%;width:1px;height:76%;background:linear-gradient(rgba(173,128,128,.25),transparent);transform:rotate(8deg)}
.petal-1{--left:7%;--size:13px;--duration:21s;--delay:-7s;--opacity:.55}
.petal-2{--left:19%;--size:18px;--duration:25s;--delay:-18s;--opacity:.48;--blur:.2px}
.petal-3{--left:34%;--size:11px;--duration:18s;--delay:-4s;--opacity:.58}
.petal-4{--left:48%;--size:16px;--duration:27s;--delay:-22s;--opacity:.46;--blur:.35px}
.petal-5{--left:62%;--size:12px;--duration:22s;--delay:-12s;--opacity:.56}
.petal-6{--left:73%;--size:19px;--duration:29s;--delay:-25s;--opacity:.42;--blur:.5px}
.petal-7{--left:86%;--size:14px;--duration:24s;--delay:-9s;--opacity:.52}
.petal-8{--left:95%;--size:10px;--duration:20s;--delay:-15s;--opacity:.48}
@keyframes petal-fall{0%{transform:translate3d(-3vw,-10vh,0) rotate(0deg) rotateY(0deg)}18%{transform:translate3d(4vw,12vh,0) rotate(72deg) rotateY(110deg)}39%{transform:translate3d(-2vw,39vh,0) rotate(155deg) rotateY(205deg)}61%{transform:translate3d(5vw,65vh,0) rotate(238deg) rotateY(315deg)}82%{transform:translate3d(-1vw,90vh,0) rotate(315deg) rotateY(430deg)}100%{transform:translate3d(4vw,118vh,0) rotate(410deg) rotateY(540deg)}}
@media(max-width:720px){.petal{opacity:.44}.petal-2,.petal-6{display:none}}
@media(prefers-reduced-motion:reduce){.cherry-petals{display:none}}
