  /* ---------- Schriften: lokal ausgeliefert, kein externer Abruf ---------- */
@font-face{font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap; src:url(../assets/fonts/fraunces.woff2) format('woff2'), url(../assets/fonts/fraunces.woff) format('woff');}
@font-face{font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap; src:url(../assets/fonts/fraunces-italic.woff2) format('woff2'), url(../assets/fonts/fraunces-italic.woff) format('woff');}
@font-face{font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url(../assets/fonts/inter.woff2) format('woff2'), url(../assets/fonts/inter.woff) format('woff');}

:root{
  --bg:#15110D;
  --bg2:#1B1611;
  --surface:#211A14;
  --surface2:#2A211A;
  --ink:#EFE6D8;
  --ink-soft:#BCae99;
  --stone:#9C8D79;
  --wine:#7C2233;
  --wine2:#571421;
  --wine-bright:#A6303F;
  --brass:#C29A57;
  --brass-light:#E2C489;
  --line:rgba(226,196,132,0.16);
  --line2:rgba(255,255,255,0.07);
  --card:#211A14;
  --dark1:#120E0A;
  --dark2:#1E1712;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background-image:
    radial-gradient(1200px 600px at 82% -8%, rgba(124,34,51,0.20), transparent 60%),
    radial-gradient(900px 500px at 0% 12%, rgba(194,154,87,0.08), transparent 55%);
  background-attachment:fixed;
}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,'Times New Roman',serif; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
img{display:block;}
::selection{background:var(--wine); color:#fff;}
.eyebrow{
  font-size:11px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--brass-light);
  font-weight:600;
  display:inline-flex; align-items:center; gap:12px;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background:linear-gradient(90deg, var(--brass), transparent);
  display:inline-block;
}

/* reveal on scroll */
.rv{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Header ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  border-bottom:1px solid transparent;
}
header.solid{
  background:rgba(18,14,10,0.82);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 40px;
  max-width:1320px; margin:0 auto;
}
.logo{display:flex; flex-direction:column; line-height:1.05;}
.logo .name{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:21px; font-weight:500; letter-spacing:0.04em; color:#F3EBDD;}
.logo .tag{font-size:10px; color:var(--brass-light); letter-spacing:0.18em; margin-top:3px; text-transform:uppercase;}
nav.links{display:flex; gap:26px;}
nav.links a{
  background:none; border:none; font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink-soft); padding:8px 0; position:relative; transition:color .25s;
}
nav.links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--brass); transition:right .3s ease;
}
nav.links a.active{color:var(--ink);}
nav.links a.active::after{right:0;}
nav.links a:hover{color:var(--ink);}
nav.links a:hover::after{right:0;}
.lang-toggle{display:flex; border:1px solid var(--line); border-radius:2px; overflow:hidden;}
.lang-toggle button{
  background:none; border:none; font-size:11.5px; padding:8px 12px; color:var(--ink-soft); letter-spacing:0.08em; transition:all .2s;
}
.lang-toggle button.active{background:var(--wine); color:#fff;}
.mobile-nav-toggle{display:none; background:none; border:none; font-size:22px; color:var(--ink);}

@media (max-width:1000px){
  .nav-inner{padding:15px 22px;}
  nav.links{display:none;}
  .mobile-nav-toggle{display:block;}
  nav.links.open{
    display:flex; flex-direction:column; position:absolute; top:60px; left:0; right:0;
    background:rgba(18,14,10,0.98); backdrop-filter:blur(14px); padding:10px 22px 18px; gap:0; border-bottom:1px solid var(--line);
  }
  nav.links.open button{padding:15px 0; border-bottom:1px solid var(--line2); width:100%; text-align:left;}
  nav.links.open button::after{display:none;}
}

@media (max-width:560px){
  .nav-inner{padding:13px 16px; gap:10px;}
  .logo .name{font-size:17px;}
  .logo .tag{display:none;}
  .lang-toggle button{padding:6px 9px; font-size:11px;}
  .hero-inner{padding:120px 22px 96px;}
  .values, .quinta-band, .search-band, .quote-band, .about, .contact{padding-left:22px; padding-right:22px;}
  .section-head, .pillars, .objects-grid, .process, .q-head, .qgallery, .q-body, .m-videos, .testi-grid{padding-left:22px; padding-right:22px;}
  footer{padding-left:22px; padding-right:22px;}
  .qb-fact{padding-right:20px; margin-right:18px;}
  .q-facts{position:static;}
}

/* ---------- Views ---------- */
.view{display:none;}
.view.active{display:block; animation:fadeview .55s ease;}
@keyframes fadeview{from{opacity:0;}to{opacity:1;}}
.subpage-pad{padding-top:96px;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center;
  background:linear-gradient(120deg, #120E0A 0%, #1C1410 45%, #3A1420 100%);
  color:#F3EBDD;
  overflow:hidden;
}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:.55;}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(18,14,10,0.55) 0%, rgba(18,14,10,0.35) 40%, rgba(18,14,10,0.85) 100%);
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  box-shadow:inset 0 0 220px 40px rgba(0,0,0,0.55);
}
.hero-inner{max-width:1320px; margin:0 auto; padding:150px 40px 120px; position:relative; z-index:2; width:100%;}
.hero h1{
  font-size:clamp(40px, 6.4vw, 82px);
  font-weight:400;
  line-height:1.02;
  margin:24px 0 26px;
  max-width:15ch;
  text-shadow:0 2px 40px rgba(0,0,0,0.5);
}
.hero h1 em{font-style:italic; color:var(--brass-light);}
.hero p.lead{max-width:540px; font-size:clamp(15px,1.4vw,18px); color:#E7DCCB; margin-bottom:40px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; padding:15px 30px; font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
  border-radius:2px; border:1px solid transparent; transition:all .2s ease; text-align:center; font-weight:500;
}
.btn-primary{background:var(--wine); color:#fff; box-shadow:0 10px 30px -12px rgba(166,48,63,0.7);}
.btn-primary:hover{background:var(--wine-bright); transform:translateY(-2px);}
.btn-ghost{background:rgba(255,255,255,0.03); border-color:var(--brass); color:var(--brass-light); backdrop-filter:blur(2px);}
.btn-ghost:hover{border-color:var(--brass-light); color:#fff; background:rgba(194,154,87,0.12);}
.btn-ghost-dark{background:transparent; border-color:var(--line); color:var(--ink);}
.btn-ghost-dark:hover{border-color:var(--brass); color:var(--brass-light); background:rgba(194,154,87,0.08);}
.scroll-hint{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:3;
  width:1px; height:48px; background:linear-gradient(to bottom, transparent, var(--brass-light));
  animation:hint 2.2s ease-in-out infinite;
}
@keyframes hint{0%,100%{opacity:0.3; height:36px;} 50%{opacity:1; height:52px;}}

/* ---------- Section wrapper tone ---------- */
.band-alt{background:var(--bg2);}

/* ---------- Values ---------- */
.values{padding:clamp(80px,10vw,140px) 40px 40px; position:relative;}
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; max-width:1320px; margin:0 auto; background:var(--line); border:1px solid var(--line);}
.value{padding:44px 38px; background:var(--bg);}
.value h3{font-size:21px; font-weight:500; margin:0 0 14px; color:var(--ink);}
.value p{color:var(--ink-soft); font-size:14.5px;}
@media (max-width:780px){.values-grid{grid-template-columns:1fr;} .value{padding:34px 26px;}}

/* ---------- Section heads ---------- */
.section-head{max-width:1320px; margin:0 auto; padding:clamp(80px,9vw,120px) 40px 0; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:18px;}
.section-head h2{font-size:clamp(30px,3.6vw,46px); font-weight:400; margin-top:14px; color:var(--ink);}
.section-head .see-all{font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; border:none; background:none; color:var(--brass-light); border-bottom:1px solid var(--brass); padding:0 0 3px;}
.section-head .see-all:hover{color:#fff; border-color:#fff;}

/* ---------- Feature bands ---------- */
.quinta-band{
  margin-top:clamp(80px,10vw,120px);
  background:linear-gradient(125deg, var(--dark1) 0%, var(--dark2) 55%, #3A1220 100%);
  color:#F3EBDD;
  padding:clamp(72px,9vw,120px) 40px;
  position:relative; overflow:hidden;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.quinta-band-inner{
  max-width:1320px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(36px,5vw,68px); align-items:center;
}
@media (max-width:900px){.quinta-band-inner{grid-template-columns:1fr; gap:40px;}}
.quinta-band h2{font-size:clamp(32px,4vw,50px); font-weight:400; line-height:1.08; margin:18px 0 20px;}
.quinta-band h2 em{font-style:italic; color:var(--brass-light);}
.quinta-band p.qb-lead{color:#DBCDB8; font-size:16px; max-width:540px; margin-bottom:30px;}
.qb-facts{display:flex; flex-wrap:wrap; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:34px;}
.qb-fact{padding:18px 30px 18px 0; margin-right:28px;}
.qb-fact .n{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:24px; color:#F3EBDD; display:block;}
.qb-fact .l{font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass-light); display:block; margin-top:4px;}
.qb-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.qb-collage{
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr) minmax(0,0.72fr); gap:14px; aspect-ratio:1.02;
}
.qb-collage .ph:first-child{grid-column:1/3;}
.ph{
  position:relative; overflow:hidden; border-radius:2px;
  background:linear-gradient(135deg,#3A2A20 0%, #5A3D2A 45%, #7C5638 100%);
  box-shadow:0 20px 50px -24px rgba(0,0,0,0.7);
}
.ph::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.35)); pointer-events:none;}
.ph img{width:100%; height:100%; object-fit:cover; position:relative; z-index:1; transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.ph:hover img{transform:scale(1.06);}

/* ---------- Why Portugal pillars ---------- */
.pillars{max-width:1320px; margin:0 auto; padding:48px 40px 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:980px){.pillars{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.pillars{grid-template-columns:1fr;}}
.pillar{background:var(--surface); border:1px solid var(--line); padding:34px 28px; transition:transform .25s ease, border-color .25s ease;}
.pillar:hover{transform:translateY(-4px); border-color:var(--brass);}
.pillar .num{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:30px; color:var(--brass); display:block; margin-bottom:16px;}
.pillar h3{font-size:18px; font-weight:500; margin-bottom:11px; color:var(--ink);}
.pillar p{font-size:13.5px; color:var(--ink-soft);}

/* ---------- Object cards ---------- */
.objects-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  max-width:1320px; margin:0 auto; padding:52px 40px clamp(80px,12vw,140px);
}
@media (max-width:920px){.objects-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.objects-grid{grid-template-columns:1fr; padding:32px 22px 70px;}}

.card{background:var(--surface); border:1px solid var(--line); display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; overflow:hidden;}
.card:hover{transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,0,0,0.8); border-color:var(--brass);}
.card.featured{border-color:var(--brass);}
.card-photo{aspect-ratio:3/2.15; position:relative; overflow:hidden;}
.card-photo img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.card:hover .card-photo img{transform:scale(1.07);}
.card-photo .fallback{position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,#3A2A20 0%, #5A3D2A 45%, #7C5638 100%);}
.photo-badge{
  position:absolute; top:14px; left:14px;
  background:rgba(18,14,10,0.72); color:var(--brass-light); font-size:10px; letter-spacing:0.12em;
  padding:6px 12px; text-transform:uppercase; backdrop-filter:blur(4px); border:1px solid var(--line);
}
.photo-badge.gold{background:var(--wine); color:#fff; border-color:transparent;}
.card-body{padding:24px 24px 26px; display:flex; flex-direction:column; gap:9px; flex:1;}
.card-body .loc{font-size:11px; letter-spacing:0.1em; color:var(--brass-light); text-transform:uppercase; font-weight:600;}
.card-body h3{font-size:22px; font-weight:500; color:var(--ink); line-height:1.15;}
.card-body p.desc{font-size:13.5px; color:var(--ink-soft); flex:1;}
.card-foot{display:flex; justify-content:space-between; align-items:center; margin-top:10px; padding-top:16px; border-top:1px solid var(--line); gap:10px;}
.price{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; color:var(--brass-light);}
.card-foot a{font-size:12px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--brass); padding-bottom:2px; cursor:pointer; white-space:nowrap;}
.card-foot a:hover{color:var(--brass-light);}

/* ---------- Process ---------- */
.process{max-width:1320px; margin:0 auto; padding:52px 40px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
@media (max-width:980px){.process{grid-template-columns:1fr 1fr; gap:14px 28px;}}
@media (max-width:600px){.process{grid-template-columns:1fr;}}
.step{padding:32px 28px 32px 0; border-top:1px solid var(--line); margin-right:28px;}
.step .num{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:38px; color:var(--brass); line-height:1; display:block; margin-bottom:18px;}
.step h3{font-size:17px; font-weight:500; margin-bottom:9px; color:var(--ink);}
.step p{font-size:13.5px; color:var(--ink-soft);}


/* ---------- Quote band ---------- */
.quote-band{
  background:linear-gradient(120deg, #120E0A 0%, #1C1410 55%, #3A1420 100%);
  color:#F3EBDD; padding:clamp(100px,14vw,150px) 40px; text-align:center; position:relative;
}
.quote-band blockquote{
  font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:clamp(23px,3.2vw,36px); font-weight:300;
  max-width:820px; margin:0 auto 20px; line-height:1.38; font-style:italic; color:#F1E7D8;
}
.quote-band .who{font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--brass-light);}

/* ---------- Detail pages ---------- */
.q-head{max-width:1320px; margin:0 auto; padding:34px 40px 0;}
.q-head h1{font-size:clamp(34px,4.8vw,60px); font-weight:400; line-height:1.05; margin:18px 0 14px; max-width:20ch; color:var(--ink);}
.q-head h1 em{font-style:italic; color:var(--brass-light);}
.q-head .q-sub{display:flex; gap:28px; flex-wrap:wrap; align-items:baseline; margin-top:8px;}
.q-head .q-price{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:27px; color:var(--brass-light);}
.q-head .q-meta{font-size:12.5px; color:var(--stone); letter-spacing:0.06em; text-transform:uppercase;}

.qgallery{max-width:1320px; margin:0 auto; padding:44px 40px 0;}
.qg-main{aspect-ratio:16/9; box-shadow:0 40px 80px -40px rgba(0,0,0,0.85);}
.qg-thumbs{display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:12px; margin-top:12px;}
.qg-thumbs .ph{aspect-ratio:3/2; cursor:pointer; border:2px solid transparent; transition:border-color .2s; box-shadow:none;}
.qg-thumbs .ph.sel{border-color:var(--brass);}
.qg-note{font-size:11.5px; color:var(--stone); margin-top:14px; font-style:italic;}

/* ---------- Detailaufnahmen ---------- */
.qdetail{max-width:1320px; margin:0 auto; padding:clamp(64px,7vw,96px) 40px 0;}
.qd-head{max-width:760px; margin-bottom:clamp(28px,3.4vw,40px);}
.qd-head h2{font-size:clamp(26px,3vw,36px); font-weight:400; color:var(--ink); margin-bottom:16px; line-height:1.18;}
.qd-head p{color:var(--ink-soft); font-size:15.5px;}
.qd-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(28px,3.2vw,44px);}
.qd-item .ph{aspect-ratio:4/3; box-shadow:0 18px 44px -26px rgba(0,0,0,0.75);}
.qd-item h4{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:17.5px; font-weight:500; color:var(--ink); margin:18px 0 7px; letter-spacing:.005em;}
.qd-item p{color:var(--ink-soft); font-size:14px; line-height:1.64; max-width:54ch;}
@media (max-width:860px){
  .qdetail{padding-left:22px; padding-right:22px;}
  .qd-grid{grid-template-columns:1fr; gap:32px;}
}

/* ---------- Eigenes Weinlabel ---------- */
.qwine{max-width:1320px; margin:0 auto; padding:clamp(72px,8vw,110px) 40px 0;}
.qw-head{max-width:820px; margin-bottom:clamp(30px,3.6vw,44px);}
.qw-head h2{font-size:clamp(28px,3.4vw,42px); font-weight:400; color:var(--ink); margin:14px 0 18px; line-height:1.16;}
.qw-head h2 em{font-style:normal; color:var(--brass-light);}
.qw-head p{color:var(--ink-soft); font-size:15.5px; max-width:74ch;}
.qw-grid{display:grid; grid-template-columns:1fr 360px; gap:clamp(30px,3.6vw,56px); align-items:start;}
.qw-grid>div{min-width:0;}
.qw-step{display:grid; grid-template-columns:44px 1fr; gap:20px; padding:22px 0; border-top:1px solid var(--line2);}
.qw-step:first-child{border-top:none; padding-top:4px;}
.qw-no{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--brass);
  color:var(--brass-light); font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:16px;
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.qw-step h4{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin-bottom:8px;}
.qw-step p{color:var(--ink-soft); font-size:14.5px; line-height:1.66; max-width:62ch;}
.qw-step p b{color:var(--ink); font-weight:600;}
.qw-ph{aspect-ratio:4/3; box-shadow:0 18px 44px -26px rgba(0,0,0,0.75); margin-bottom:20px;}
.qw-box{background:var(--surface); border:1px solid var(--line); border-left:2px solid var(--wine-bright); padding:22px 24px;}
.qw-box p{color:var(--ink-soft); font-size:13.5px; line-height:1.62; margin-top:12px;}
.qw-box p+p{color:var(--stone); font-size:12.5px; font-style:italic;}

/* ---------- Modernisierung ---------- */
.qmod{max-width:1320px; margin:0 auto; padding:clamp(72px,8vw,110px) 40px 0;}
.qm-head{max-width:820px; margin-bottom:clamp(28px,3.4vw,40px);}
.qm-head h2{font-size:clamp(28px,3.4vw,42px); font-weight:400; color:var(--ink); margin:14px 0 18px; line-height:1.16;}
.qm-head p{color:var(--ink-soft); font-size:15.5px; max-width:74ch;}
.qm-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,26px);}
.qm-card{background:var(--surface); border:1px solid var(--line); padding:26px 26px 28px; display:flex; flex-direction:column;}
.qm-top{border-bottom:1px solid var(--line2); padding-bottom:16px; margin-bottom:16px;}
.qm-card h4{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin-bottom:10px; line-height:1.25;}
.qm-val{display:block; color:var(--brass-light); font-size:16.5px; letter-spacing:.01em;}
.qm-card p{color:var(--ink-soft); font-size:13.8px; line-height:1.64;}
.qm-notes{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2vw,26px); margin-top:clamp(20px,2.4vw,30px);}
.qm-note{border-left:2px solid var(--brass); padding:4px 0 4px 20px;}
.qm-note-src{border-left-color:var(--stone);}
.qm-note p{color:var(--ink-soft); font-size:13.5px; line-height:1.64; margin-top:12px;}
.qm-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(26px,3vw,38px);}

@media (max-width:980px){
  .qw-grid{grid-template-columns:1fr;}
  .qm-grid{grid-template-columns:1fr;}
  .qm-notes{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .qwine,.qmod{padding-left:22px; padding-right:22px;}
}

/* ---------- Hero-Positionierung ---------- */
.hero-sub{max-width:640px; margin:18px 0 4px; color:var(--ink-soft); font-size:clamp(15px,1.3vw,17px); line-height:1.6;}

/* ---------- Arbeitsprobe ---------- */
.arbeitsprobe .qb-lead{max-width:62ch;}
.qb-note{margin-top:14px; color:var(--stone); font-size:12.5px; font-style:italic;}

/* ---------- Foerdermodul ---------- */
.foerder{max-width:1320px; margin:0 auto; padding:clamp(70px,8vw,110px) 40px 0;}
.fd-inner{display:grid; grid-template-columns:minmax(0,430px) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start;}
.fd-head h2{font-size:clamp(25px,2.7vw,34px); font-weight:400; color:var(--ink); margin-top:14px; line-height:1.18;}
.fd-body{border-left:2px solid var(--brass); padding-left:clamp(20px,2.4vw,30px);}
.fd-body p{color:var(--ink-soft); font-size:15px; line-height:1.68; max-width:70ch;}
.fd-body p+p{margin-top:16px;}

/* ---------- Referenzen ---------- */
.refs{max-width:1320px; margin:0 auto; padding:clamp(22px,2.6vw,34px) 40px 0;}
.refs-sub{color:var(--ink-soft); font-size:15px; max-width:70ch; margin-bottom:clamp(24px,2.8vw,34px);}
.refs-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,3vw,40px);}
.ref>div:first-child{aspect-ratio:16/10; box-shadow:0 18px 44px -28px rgba(0,0,0,0.75);}
.ref h4{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin:16px 0 8px;}
.ref p{color:var(--ink-soft); font-size:14px; line-height:1.62; max-width:52ch;}
.ref-link{
  background:none; border:none; padding:0; margin-top:12px; cursor:pointer;
  color:var(--brass-light); font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:12.5px;
  letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid var(--line);
}
.ref-link:hover{border-bottom-color:var(--brass);}
.ref-link::after{content:" \2192";}

/* ---------- Foerder-Infobox ---------- */
.fbox-wrap{max-width:1320px; margin:0 auto; padding:clamp(60px,7vw,96px) 40px 0;}
.fbox{
  background:var(--surface); border:1px solid var(--line);
  border-left:2px solid var(--brass); padding:clamp(24px,2.6vw,32px);
  max-width:900px;
}
.fbox p{color:var(--ink-soft); font-size:14.5px; line-height:1.66; margin-top:14px;}
.fbox .fbox-note{color:var(--ink); font-size:14px;}

@media (max-width:980px){
  .fd-inner{grid-template-columns:1fr;}
  .fd-body{border-left:none; border-top:1px solid var(--line); padding-left:0; padding-top:20px;}
  .refs-grid{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .foerder,.refs,.fbox-wrap{padding-left:22px; padding-right:22px;}
}

/* ---------- Rollen-Kennzeichnung am Objekt ---------- */
.rolle-wrap{max-width:1320px; margin:0 auto; padding:8px 40px 0;}
.rolle-band{
  background:linear-gradient(120deg, rgba(124,34,51,0.16), rgba(124,34,51,0.05) 60%, transparent);
  border:1px solid var(--line); border-left:3px solid var(--wine-bright);
  padding:clamp(22px,2.4vw,30px) clamp(24px,2.6vw,34px);
  display:grid; grid-template-columns:1fr 1fr; gap:10px clamp(24px,3vw,44px);
}
.rolle-band .eyebrow{grid-column:1 / -1;}
.rolle-band h3{
  grid-column:1 / -1; font-family:'Fraunces',Georgia,serif; font-weight:400;
  font-size:clamp(19px,2vw,25px); color:var(--ink); margin:12px 0 4px; line-height:1.25;
}
.rolle-band p{color:var(--ink-soft); font-size:14.5px; line-height:1.64;}
@media (max-width:860px){
  .rolle-wrap{padding-left:22px; padding-right:22px;}
  .rolle-band{grid-template-columns:1fr;}
}

.q-body{max-width:1320px; margin:0 auto; padding:clamp(56px,7vw,72px) 40px 40px; display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(44px,6vw,70px); align-items:start;}
@media (max-width:860px){.q-body{grid-template-columns:1fr; gap:44px;}}
.q-body h2{font-size:clamp(26px,3vw,36px); font-weight:400; margin-bottom:20px; color:var(--ink);}
.q-body p{color:var(--ink-soft); font-size:15.5px; margin-bottom:17px; max-width:640px;}
.q-discretion{
  border-left:2px solid var(--brass); padding:16px 22px; background:var(--surface);
  font-size:13.5px; color:var(--ink-soft); margin-top:10px;
}
.q-facts{background:var(--surface); border:1px solid var(--line); padding:36px 34px; position:sticky; top:96px;}
@media (max-width:860px){.q-facts{position:static;}}
.q-facts h3{font-size:13px; letter-spacing:0.16em; text-transform:uppercase; color:var(--brass-light); font-weight:600; font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; margin-bottom:10px;}
.qf-row{display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px;}
.qf-row:last-of-type{border-bottom:none;}
.qf-row .k{color:var(--stone);}
.qf-row .v{text-align:right; font-weight:500; max-width:60%; color:var(--ink);}
.q-facts .qf-ctas{display:flex; flex-direction:column; gap:12px; margin-top:26px;}
.q-facts .btn{width:100%;}


/* ---------- About ---------- */
.about{max-width:1320px; margin:0 auto; padding:clamp(110px,13vw,140px) 40px clamp(110px,14vw,150px); display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(44px,5vw,64px); align-items:start;}
@media (max-width:840px){.about{grid-template-columns:1fr;}}
.about-photo{position:relative;}
.about-photo .ph{aspect-ratio:3/4;}
.about-photo::after{content:""; position:absolute; top:16px; left:16px; right:-16px; bottom:-16px; border:1px solid var(--brass); z-index:-1;}
.about h2{font-size:clamp(32px,3.8vw,46px); font-weight:400; margin-bottom:22px; line-height:1.12; color:var(--ink);}
.about p{color:var(--ink-soft); margin-bottom:17px; font-size:15.5px; max-width:600px;}
.badges{display:flex; gap:10px; margin-top:24px; flex-wrap:wrap;}
.badge{border:1px solid var(--line); font-size:12px; padding:8px 16px; letter-spacing:0.04em; color:var(--ink-soft); background:var(--surface);}
.timeline{margin-top:46px; border-top:1px solid var(--line);}
.tl-row{display:grid; grid-template-columns:120px 1fr; gap:26px; padding:24px 0; border-bottom:1px solid var(--line);}
@media (max-width:520px){.tl-row{grid-template-columns:1fr; gap:6px;}}
.tl-row .yr{font-family:'Fraunces',Georgia,'Times New Roman',serif; color:var(--brass-light); font-size:16px;}
.tl-row h4{font-size:15px; font-weight:600; margin-bottom:5px; color:var(--ink);}
.tl-row p{font-size:13.5px; color:var(--ink-soft); margin:0;}

/* ---------- Contact ---------- */
.contact{max-width:1320px; margin:0 auto; padding:clamp(110px,13vw,140px) 40px clamp(120px,15vw,160px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,5vw,64px);}
@media (max-width:840px){.contact{grid-template-columns:1fr;}}
.contact h2{font-size:clamp(32px,3.8vw,46px); font-weight:400; margin-bottom:18px; color:var(--ink);}
.contact p.intro{color:var(--ink-soft); max-width:450px; margin-bottom:32px; font-size:15.5px;}
.contact-detail{display:flex; gap:16px; margin-bottom:20px; align-items:flex-start;}
.contact-detail .k{font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass-light); width:100px; padding-top:3px; font-weight:600;}
.contact-detail .v{font-size:15.5px; color:var(--ink);}
.contact form{display:flex; flex-direction:column; gap:20px;}
.contact form input, .contact form textarea{
  border:1px solid var(--line); background:var(--surface); padding:13px 15px; border-radius:2px;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15px; color:var(--ink);
}
.contact form input:focus, .contact form textarea:focus{outline:none; border-color:var(--brass);}
.contact form label{font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass-light); margin-bottom:-12px; font-weight:600;}
.contact form textarea{resize:vertical; min-height:110px;}
.contact form button{align-self:flex-start; margin-top:10px;}

/* ---------- Testimonials ---------- */
.testimonials{padding:0 0 20px;}
.testi-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1320px; margin:0 auto; padding:52px 40px 0;}
@media (max-width:780px){.testi-grid{grid-template-columns:1fr; padding:32px 22px 0;}}
.testi-card{background:var(--surface); border:1px solid var(--line); padding:40px 38px 34px; position:relative;}
.testi-card::before{content:""; position:absolute; top:0; left:38px; width:48px; height:2px; background:var(--brass);}
.testi-mark{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:60px; line-height:0.6; color:var(--brass); display:block; margin-bottom:16px;}
.testi-quote{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-style:italic; font-size:19px; font-weight:300; line-height:1.55; color:var(--ink); margin-bottom:22px;}
.testi-who{font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass-light); font-weight:600;}


/* ---------- Leitfaden-Modal ---------- */
.lead-ov{
  position:fixed; inset:0; z-index:120; display:none;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(10,8,6,.78); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .22s ease;
}
.lead-ov.open{display:flex;}
.lead-ov.show{opacity:1;}
.lead-box{
  width:100%; max-width:880px; max-height:calc(100vh - 48px); overflow-y:auto;
  background:var(--surface); border:1px solid var(--line);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.9);
  display:grid; grid-template-columns:300px 1fr;
  transform:translateY(14px) scale(.985); transition:transform .26s cubic-bezier(.2,.7,.2,1);
}
.lead-ov.show .lead-box{transform:none;}
@media(max-width:760px){ .lead-box{grid-template-columns:1fr;} .lead-cover{display:none;} }
.lead-cover{position:relative; overflow:hidden;
  background:radial-gradient(120% 80% at 30% 10%, #241C15, #100C09 70%);
  border-right:1px solid var(--line);}
.lead-cover img{position:absolute; inset:26px; width:calc(100% - 52px); height:calc(100% - 52px);
  object-fit:contain; object-position:center; filter:drop-shadow(0 26px 46px rgba(0,0,0,.85));}
.lead-pane{padding:38px 40px 34px; position:relative;}
@media(max-width:600px){ .lead-pane{padding:30px 24px 26px;} }
.lead-close{
  position:absolute; top:14px; right:16px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); background:transparent; color:var(--stone);
  font-size:19px; line-height:1; cursor:pointer; transition:color .15s, border-color .15s;
}
.lead-close:hover{color:var(--brass-light); border-color:var(--brass);}
.lead-pane h3{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:27px; font-weight:400; color:var(--ink); margin:12px 0 10px; line-height:1.2;}
.lead-pane .lead-sub{font-size:14.5px; color:var(--ink-soft); margin-bottom:22px; line-height:1.6;}
.lead-pane .lead-sub b{color:var(--ink); font-weight:600;}
.lead-form{display:flex; flex-direction:column; gap:14px;}
.lead-form input, .lead-form select{
  width:100%; border:1px solid var(--line); background:var(--dark2); padding:13px 15px; border-radius:2px;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15px; color:var(--ink);
}
.lead-form select{appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);
  background-position:calc(100% - 19px) 21px, calc(100% - 13px) 21px; background-size:6px 6px, 6px 6px; background-repeat:no-repeat;}
.lead-form select option{background:var(--dark2); color:var(--ink);}
.lead-form input:focus, .lead-form select:focus{outline:none; border-color:var(--brass);}
.lead-form input.err, .lead-form .lead-consent.err{border-color:var(--wine-bright);}
.lead-hp{position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important;}
.lead-consent{display:flex; gap:11px; align-items:flex-start; border:1px solid transparent; padding:2px; margin-top:2px;}
.lead-consent input{width:16px; height:16px; flex:0 0 16px; margin-top:2px; accent-color:var(--wine-bright); cursor:pointer; padding:0;}
.lead-consent label{font-size:12px; line-height:1.55; color:var(--stone); cursor:pointer;}
.lead-consent label a{color:var(--brass-light); border-bottom:1px solid var(--line); cursor:pointer;}
.lead-form button[type=submit]{width:100%; margin-top:6px;}
.lead-form button[disabled]{opacity:.55; pointer-events:none;}
.lead-note{font-size:11.5px; color:var(--stone); line-height:1.6; margin-top:2px;}
.lead-msg{display:none; font-size:13px; line-height:1.6; padding:12px 14px; border-left:2px solid var(--wine-bright); background:rgba(166,48,63,.10); color:#EDD9D2;}
.lead-msg.on{display:block;}
.lead-done{display:none; text-align:left;}
.lead-done.on{display:block;}
.lead-done .tick{width:44px; height:44px; border-radius:50%; border:1px solid var(--brass); display:flex; align-items:center; justify-content:center; color:var(--brass-light); font-size:21px; margin-bottom:18px;}
.lead-done h3{margin-top:0;}
.lead-done p{font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin-bottom:14px;}
.lead-done p b{color:var(--ink);}

/* ---------- WhatsApp FAB ---------- */
.wa-fab{
  position:fixed; right:24px; bottom:24px; z-index:60;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 30px -8px rgba(0,0,0,0.6);
  transition:transform .2s ease;
}
.wa-fab:hover{transform:translateY(-3px) scale(1.05);}
.wa-fab svg{width:29px; height:29px; fill:#fff;}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line); padding:60px 40px; background:var(--dark1);}
.footer-inner{max-width:1320px; margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; align-items:flex-start;}
footer p{font-size:11.5px; color:var(--stone); max-width:680px; line-height:1.7;}
footer .fname{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:17px; margin-bottom:8px; color:var(--brass-light);}
.footer-right{display:flex; flex-direction:column; gap:12px; align-items:flex-end;}
@media (max-width:780px){.footer-right{align-items:flex-start;}}
.legal-links{display:flex; gap:24px; flex-wrap:wrap;}
.legal-links a{font-size:11.5px; color:var(--stone); letter-spacing:0.03em; border-bottom:1px solid var(--line); padding-bottom:2px; transition:color .15s, border-color .15s;}
.legal-links a:hover{color:var(--brass-light); border-color:var(--brass);}


/* ---------- Quinta: buy-side / honesty / experience ---------- */
.kx-points{display:flex; flex-direction:column; gap:20px; justify-content:center;}
.kx-point{border-left:2px solid var(--brass); padding:2px 0 2px 20px;}
.kx-point h4{font-size:16.5px; color:#F3EBDD; margin-bottom:5px; font-weight:500; font-family:'Fraunces',Georgia,'Times New Roman',serif;}
.kx-point p{color:#DBCDB8; font-size:13.5px; margin:0;}
.honest-unused{max-width:900px; margin:0 auto; padding:24px 40px 0;}
.honest-intro{color:var(--ink-soft); font-size:15.5px; margin-bottom:24px; max-width:680px;}
.honest-note{color:var(--stone); font-size:12px; font-style:italic; margin-top:16px;}
@media(max-width:600px){.honest-unused{padding-left:22px; padding-right:22px;}}

/* ---------- Carousel (no-crop gallery) ---------- */
.carousel{position:relative; width:100%; max-width:1320px; margin:0 auto; background:#0E0B08; overflow:hidden; border:1px solid var(--line); box-shadow:0 40px 80px -44px rgba(0,0,0,.85);}
.car-track{display:flex; transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.car-slide{position:relative; min-width:100%; aspect-ratio:3/2; overflow:hidden; background:#0E0B08;}
@media(max-width:600px){.car-slide{aspect-ratio:4/3;}}
.car-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(30px) brightness(.42); transform:scale(1.18);}
.car-img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:1;}
.car-btn{position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:48px; height:48px; border-radius:50%; background:rgba(18,14,10,.5); border:1px solid var(--brass-light); color:var(--brass-light); font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(3px); transition:background .2s, color .2s;}
.car-btn:hover{background:var(--wine); color:#fff; border-color:transparent;}
.car-prev{left:16px;} .car-next{right:16px;}
.car-dots{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:4; display:flex; gap:7px; max-width:82%; flex-wrap:wrap; justify-content:center;}
.car-dot{width:7px; height:7px; border-radius:50%; background:rgba(243,235,221,.35); cursor:pointer; transition:background .2s, transform .2s;}
.car-dot.on{background:var(--brass-light); transform:scale(1.3);}
.car-count{position:absolute; top:14px; right:16px; z-index:4; font-size:11px; letter-spacing:.08em; color:#F3EBDD; background:rgba(18,14,10,.5); padding:4px 10px; backdrop-filter:blur(3px);}
.car-cap{position:absolute; bottom:14px; left:16px; z-index:4; font-size:11px; letter-spacing:.04em; color:#EEE4D6; background:rgba(18,14,10,.5); padding:4px 11px; backdrop-filter:blur(3px); max-width:55%;}

/* ---------- Legal pages ---------- */
.legal-body{max-width:760px;}
.legal-body p{color:var(--ink-soft); font-size:14.5px; margin-bottom:15px; line-height:1.75;}
.legal-body strong{color:var(--ink);}
.legal-body a{color:var(--brass-light); border-bottom:1px solid var(--brass);}
.legal-body .note{font-size:12px; color:var(--stone); font-style:italic;}


/* ==========================================================================
   GESTALTUNG · die Stellschrauben stehen hier oben, alles andere leitet
   sich daraus ab. Farben als Hex, Abstände in Pixel. Nach einer Änderung
   einmal alle Seiten in der Vorschau ansehen, auch am Handy.
   ========================================================================== */
:root{
  --wine:#7C2233;          /* Hausfarbe: Knöpfe, Akzente */
  --wine-bright:#A6303F;   /* Hausfarbe hell: Knopf beim Überfahren */
  --wine2:#571421;         /* Hausfarbe dunkel */
  --brass:#C29A57;         /* Akzent Gold: Linien, Auszeichnungen, Menü-Unterstrich */
  --brass-light:#E2C489;   /* Akzent Gold hell */
  --bg:#15110D;            /* Seitenhintergrund */
  --bg2:#1B1611;           /* Hintergrund zweite Ebene */
  --surface:#211A14;       /* Karten, Kästen */
  --ink:#EFE6D8;           /* Textfarbe */
  --ink-soft:#BCae99;      /* Textfarbe gedämpft: Menü, Nebentexte */
  --stone:#9C8D79;         /* Textfarbe leise: Bildunterschriften, Fußzeile */
  --schrift-grund:16px;    /* Grundschriftgröße, alles andere skaliert mit */
}
body{font-size:var(--schrift-grund);}

/* ==========================================================================
   v19 · Ergänzungen
   ========================================================================== */

/* Navigation als echte Links */
.logo{color:inherit;}
nav.links{align-items:center;}
nav.links a{
  font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink-soft); padding:8px 0; position:relative; transition:color .25s;
}
nav.links a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--brass); transition:right .3s ease;}
nav.links a.active, nav.links a:hover{color:var(--ink);}
nav.links a.active::after, nav.links a:hover::after{right:0;}
.nav-cta{
  background:var(--wine); color:#fff; border:1px solid transparent; border-radius:2px;
  font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; padding:10px 16px; margin-left:6px;
  transition:background .2s, transform .2s;
}
.nav-cta:hover{background:var(--wine-bright); transform:translateY(-1px);}
.nav-tools{display:flex; align-items:center; gap:14px;}
@media (max-width:1000px){
  nav.links.open a{padding:15px 0; border-bottom:1px solid var(--line2); width:100%; text-align:left;}
  nav.links.open a::after{display:none;}
  nav.links.open .nav-cta{margin:14px 0 4px; align-self:flex-start;}
}

/* Section-Head: „Alle ansehen“ als Link */
.section-head .see-all{cursor:pointer;}

/* Referenzen als klickbare Karten */
.ref{display:block; color:inherit;}
.ref-link{display:inline-block;}

/* Objektkarten als Links */
.card{color:inherit;}
.card-link{font-size:12px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--brass); padding-bottom:2px; white-space:nowrap;}
.card:hover .card-link{color:var(--brass-light);}

/* Galerie-Thumbnails als Buttons */
.qg-thumbs button.ph{padding:0; background:none; display:block; width:100%;}
.qg-thumbs button.ph:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}

/* Abschluss-Band mit CTAs */
.quote-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:38px;}
.about-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:36px;}

/* Kontakt: Leitfaden-Hinweis, Formular mit zwei Spalten */
.contact-lead{margin-top:34px; border-top:1px solid var(--line); padding-top:24px;}
.contact-lead p{font-size:14px; color:var(--ink-soft); margin-bottom:16px; max-width:420px;}
.contact form .f-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:560px){.contact form .f-row{grid-template-columns:1fr;}}
.contact form .f-field{display:flex; flex-direction:column; gap:8px; min-width:0;}
.contact form .f-field label{margin-bottom:0;}
.contact form select{
  border:1px solid var(--line); background:var(--surface); padding:13px 15px; border-radius:2px;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15px; color:var(--ink);
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, var(--brass-light) 50%), linear-gradient(135deg, var(--brass-light) 50%, transparent 50%);
  background-position:calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size:5px 5px; background-repeat:no-repeat;
}
.contact form select option{color:var(--ink); background:var(--dark2);}
.contact form select:focus{outline:none; border-color:var(--brass);}
.contact form .lead-note{margin-top:-6px;}
.lead-msg.ok{border-left-color:var(--brass); background:rgba(194,154,87,.10); color:var(--ink);}

/* Cal.com auf der Kontaktseite */
.cal-wrap{max-width:1320px; margin:0 auto; padding:0 40px clamp(110px,14vw,150px);}
.cal-head{max-width:640px; margin-bottom:28px;}
.cal-head h2{font-size:clamp(26px,3vw,36px); font-weight:400; color:var(--ink); margin:14px 0 12px;}
.cal-head p{color:var(--ink-soft); font-size:15.5px;}
.cal-box{border:1px solid var(--line); background:var(--surface); min-height:220px; overflow:hidden;}
.cal-box.live{background:transparent; border-color:transparent; min-height:640px;}
.cal-pending{padding:clamp(28px,4vw,44px); display:flex; flex-direction:column; gap:20px; align-items:flex-start; max-width:560px;}
.cal-pending p{color:var(--ink-soft); font-size:14.5px;}
@media (max-width:560px){.cal-wrap{padding-left:22px; padding-right:22px;}}

/* Modal: Download-Schritt */
.lead-ov[hidden]{display:none;}
.lead-done-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.lead-done .btn{display:inline-flex;}
#leadStep1[hidden]{display:none;}

/* Karussell-Dots als Buttons */
.car-dot{border:none; padding:0;}
.carousel:focus-visible{outline:2px solid var(--brass);}

/* Discovery-Band auf der Quinta-Seite */
#view-quinta .quinta-band{margin-top:clamp(70px,8vw,110px);}

/* Kleinere Padding-Anpassungen unter 560px für neue Blöcke */
@media (max-width:560px){
  .refs, .foerder, .fbox-wrap, .qdetail, .qwine, .qmod{padding-left:22px; padding-right:22px;}
}

/* ---------- Hero-Video flüssiger ----------
   1. Eigene Compositor-Ebene, damit Overlay und Vignette das Video nicht
      bei jedem Bild neu zeichnen lassen.
   2. Der 220px-Innenschatten war der teuerste Paint der Seite; ein
      radialer Verlauf sieht gleich aus und kostet fast nichts.
   3. 100svh statt 100vh: auf dem Handy ändert sich 100vh beim Scrollen
      (Adressleiste), das Video wurde dadurch ständig neu angeordnet. */
.hero{min-height:100svh;}
.hero-video{will-change:transform; transform:translateZ(0); backface-visibility:hidden;}
.hero::after{
  box-shadow:none;
  background:radial-gradient(ellipse 85% 85% at 50% 50%, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 100%);
}

/* ---------- Karten "Vom Leitfaden bis vor Ort" ----------
   Alle drei Knoepfe gleich breit, einzeilig, unten buendig. Vorher brachen
   zwei davon auf zwei Zeilen um und der rote war schmaler als die anderen. */
.pillar{display:flex; flex-direction:column;}
.pillar p{flex:1 1 auto;}
.pillar .btn{
  width:100%; margin-top:22px; white-space:nowrap;
  padding-left:18px; padding-right:18px; letter-spacing:.06em; min-height:50px;
}

/* Werte-Reihe: Absaetze auf gleicher Hoehe beginnen lassen, auch wenn eine
   Ueberschrift zweizeilig wird (nur nebeneinander, nicht auf dem Handy). */
@media (min-width:981px){
  .values-grid .value h3{min-height:2.7em;}
}

/* Drei Karten "Vom Leitfaden bis vor Ort" in drei Spalten statt vier,
   sonst bleibt rechts eine leere Spalte und die Reihe klebt links. */
@media (min-width:981px){
  .pillars.three{grid-template-columns:repeat(3,1fr);}
}

/* Kundenstimmen: Namenszeile in beiden Karten auf gleicher Hoehe (unten). */
.testi-card{display:flex; flex-direction:column;}
.testi-card .testi-quote{flex:1 1 auto;}
.testi-card .testi-who{margin-top:auto;}

/* Quinta-Block auf dem Handy: beide Knoepfe gleich breit,
   Kennzahlen als Zweierraster statt einzeln untereinander. */
@media (max-width:600px){
  .qb-ctas{display:flex; flex-direction:column; gap:12px;}
  .qb-ctas .btn{width:100%;}
  .qb-facts{display:grid; grid-template-columns:1fr 1fr; gap:18px 16px;}
}

/* Kontaktzeilen: Bezeichnung darf nicht schrumpfen (sonst rutscht bei
   langen Werten der Text nach links). Auf dem Handy Bezeichnung ueber dem
   Wert, damit die E-Mail-Adresse nicht im Wort umbricht. */
.contact-detail .k{flex:0 0 100px;}
@media (max-width:600px){
  .contact-detail{flex-direction:column; gap:4px; margin-bottom:18px;}
  .contact-detail .k{flex:none; width:auto; padding-top:0;}
  .contact-detail .v{overflow-wrap:anywhere;}
}

/* ---------- Objektgalerien (21.09.2026) ----------
   Alle drei Objekte nutzen das Karussell. Kleinerer Rahmen als vorher,
   Vorschaubilder statt 20 Punkte, Hochformate bleiben mit weichem Hintergrund. */
.carousel{max-width:1040px;}
.car-slide{aspect-ratio:16/10;}
@media (max-width:600px){ .car-slide{aspect-ratio:4/3;} }
.car-dots{display:none;}
.car-btn{width:40px; height:40px; font-size:22px;}
.car-thumbs{display:grid; grid-template-columns:repeat(auto-fill, minmax(84px, 1fr)); gap:8px; max-width:1040px; margin:10px auto 0;}
.car-thumb{padding:0; margin:0; border:2px solid transparent; background:#0E0B08; aspect-ratio:3/2; overflow:hidden; cursor:pointer; opacity:.7; transition:opacity .2s, border-color .2s;}
.car-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.car-thumb.on, .car-thumb:hover{opacity:1; border-color:var(--brass);}
.car-thumb:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}
@media (max-width:600px){
  .car-thumbs{display:flex; overflow-x:auto; gap:6px; padding-bottom:4px; scrollbar-width:none;}
  .car-thumbs::-webkit-scrollbar{display:none;}
  .car-thumb{flex:0 0 64px;}
}

/* ==========================================================================
   SEITEN-VORLAGE · einfache Textseite. Aufbau siehe ARBEITSREGELN.md:
     <section class="view" id="view-NAME">
       <div class="subpage-pad"></div>
       <div class="seite">
         <span class="eyebrow" data-i18n="NAME.eyebrow"></span>
         <h1 data-i18n="NAME.h"></h1>
         <p class="seite-lead" data-i18n="NAME.lead"></p>
         <div class="seite-bild ph"><img data-key="BILD" alt=""></div>
         <h2 data-i18n="NAME.h2a"></h2>
         <p data-i18n="NAME.p1"></p>
       </div>
     </section>
   ========================================================================== */
.seite{max-width:860px; margin:0 auto; padding:34px 40px 100px;}
.seite h1{font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:clamp(34px,4.4vw,56px); line-height:1.06; margin:14px 0 18px;}
.seite h2{font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:clamp(24px,2.8vw,34px); line-height:1.15; margin:44px 0 12px;}
.seite h3{font-size:18px; font-weight:600; margin:30px 0 8px;}
.seite p{color:var(--ink-soft); line-height:1.7; margin:0 0 16px; font-size:17px;}
.seite .seite-lead{color:var(--ink); font-size:20px; line-height:1.55; margin-bottom:28px;}
.seite ul, .seite ol{color:var(--ink-soft); line-height:1.7; margin:0 0 16px 22px; font-size:17px;}
.seite a{color:var(--brass-light); border-bottom:1px solid var(--brass); text-decoration:none;}
.seite strong{color:var(--ink); font-weight:600;}
.seite .seite-bild{margin:28px 0 34px; border-radius:3px; overflow:hidden;}
.seite .seite-bild img{width:100%; height:auto; display:block;}
.seite blockquote{border-left:2px solid var(--brass); padding:6px 0 6px 20px; margin:28px 0; font-family:'Fraunces',Georgia,serif; font-size:22px; line-height:1.4; color:var(--ink);}
@media (max-width:700px){ .seite{padding:20px 20px 70px;} }

/* ==========================================================================
   BLOG · Übersicht nutzt die Objektkarten, Beitrag nutzt die Seiten-Optik
   ========================================================================== */
.blog-leer{grid-column:1 / -1; color:var(--stone); padding:40px 0;}
.card .price:empty{display:none;}
.beitrag{max-width:900px; margin:0 auto; padding:0 40px 100px;}
.beitrag .q-head{padding:34px 0 0;}
.beitrag .beitrag-teaser{color:var(--ink-soft); font-size:20px; line-height:1.55; margin:18px 0 0; max-width:720px;}
.beitrag .beitrag-bild{margin:34px 0 38px; border-radius:3px; overflow:hidden;}
.beitrag .beitrag-bild img{width:100%; height:auto; display:block;}
.beitrag-text{max-width:720px;}
.beitrag-text p{color:var(--ink-soft); line-height:1.75; font-size:17.5px; margin:0 0 18px;}
.beitrag-text h2{font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:clamp(24px,2.8vw,32px); line-height:1.2; margin:40px 0 12px;}
.beitrag-text h3{font-size:18px; font-weight:600; margin:30px 0 8px;}
.beitrag-text ul, .beitrag-text ol{color:var(--ink-soft); line-height:1.7; margin:0 0 18px 22px; font-size:17.5px;}
.beitrag-text a{color:var(--brass-light); border-bottom:1px solid var(--brass); text-decoration:none;}
.beitrag-text strong{color:var(--ink); font-weight:600;}
.beitrag-text blockquote{border-left:2px solid var(--brass); padding:6px 0 6px 20px; margin:28px 0; font-family:'Fraunces',Georgia,serif; font-size:22px; line-height:1.4; color:var(--ink);}
.beitrag-zurueck{max-width:1320px; margin:40px auto 0; padding:0 40px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase;}
.beitrag .beitrag-zurueck{padding:0;}
.beitrag-zurueck a{color:var(--ink-soft); text-decoration:none;}
.beitrag-zurueck a:hover{color:var(--ink);}
#view-objekt .beitrag-zurueck{padding-bottom:80px;}
.objekt-story h2{font-family:'Fraunces',Georgia,serif; font-weight:400; font-size:clamp(24px,2.8vw,32px); margin:0 0 14px;}
.objekt-story h2 + h2, .objekt-story p + h2{margin-top:32px;}
.objekt-story p{color:var(--ink-soft); line-height:1.7; margin:0 0 16px;}

/* Bausteine Slider und Raster, überall gleich (siehe site.js sliderHtml/rasterHtml) */
.beitrag .baustein-slider, .seite .baustein-slider, .objekt-story .baustein-slider{padding:0; margin:34px 0;}
/* Raster: immer drei nebeneinander, quadratisch zugeschnitten, damit Quer- und
   Hochformate zusammenpassen; Unterschrift schlicht darunter, ohne Hintergrund.
   Am Handy untereinander in voller Breite (Anpassung nach Olivers Test, 22.09.2026). */
.foto-raster{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin:30px 0;}
.foto-raster figure{margin:0; min-width:0;}
.foto-raster .ph{aspect-ratio:1/1;}
.foto-raster img{width:100%; height:100%; object-fit:cover; display:block;}
.foto-raster figcaption{font-size:13px; color:var(--stone); margin-top:8px; line-height:1.4;}
@media (max-width:700px){
  .foto-raster{grid-template-columns:1fr;}
  .foto-raster .ph{aspect-ratio:3/2;}
}
[data-galerie], [data-raster]{max-width:1320px; margin:0 auto; padding:0 40px;}
.seite [data-galerie], .seite [data-raster], .beitrag [data-galerie], .beitrag [data-raster]{padding:0;}
@media (max-width:700px){ [data-galerie], [data-raster]{padding:0 20px;} .seite [data-galerie], .seite [data-raster]{padding:0;} }
@media (max-width:700px){ .beitrag{padding:0 20px 70px;} .beitrag-zurueck{padding:0 20px;} }

/* ==========================================================================
   Design-Audit 30.09.2026 (Alan). Reihenfolge wie im Bericht
   intern/design-audit-2026-09-30.md. Nur Ergaenzungen, Markenoptik bleibt.
   ========================================================================== */

/* Referenzen: Block bleibt im HTML, erscheint erst wieder, wenn echte Zitate
   mit Einwilligung in i18n-extra.js stehen (testi.q1/q2). Dann diese Regel loeschen. */
#view-home .testimonials{display:none;}

/* Hero: zweiter Knopf (Leitfaden) neben dem Erstgespraech, am Handy untereinander */
.hero-ctas .btn-ghost{min-height:48px;}
@media (max-width:600px){ .hero-ctas{flex-direction:column; align-items:stretch;} .hero-ctas .btn{width:100%;} }

/* Kopfzeile am Handy: Tap-Flaechen mindestens 40 x 40 px */
.lang-toggle button{min-height:40px; min-width:40px; padding:0 12px;}
.mobile-nav-toggle{min-width:44px; min-height:44px; display:none; align-items:center; justify-content:center; margin-right:-10px;}
@media (max-width:1000px){ .mobile-nav-toggle{display:flex;} }
.car-btn{width:44px; height:44px;}

/* WhatsApp-Knopf am Handy kleiner und weiter innen, damit er Karten-Links nicht verdeckt */
@media (max-width:600px){
  .wa-fab{width:48px; height:48px; right:14px; bottom:14px;}
  .wa-fab svg{width:24px; height:24px;}
  .card-body{padding-bottom:34px;}
}

/* Kleinschrift fuer eine Zielgruppe 50 plus: nur das Kleingedruckte waechst */
.q-head .q-meta{font-size:13.5px;}
.qf-row{font-size:15px;}
.qb-fact .l{font-size:11.5px;}
.contact form label, .contact-detail .k{font-size:11.5px;}
.car-count{font-size:12px;}
.car-cap{font-size:12.5px; max-width:70%;}
.qg-note, .qb-note, .lead-note, footer p, .legal-links a{font-size:13px;}
.qg-note, .qb-note{font-style:normal;}
.card-body p.desc, .pillar p, .step p{font-size:14.5px;}
@media (max-width:600px){
  /* Bildunterschrift unter das Bild statt ueber das Foto */
  .car-cap{position:static; max-width:none; background:none; padding:8px 0 0; display:block; color:var(--stone);}
  .car-cap:empty{display:none;}
}

/* Slider unter Touch: senkrecht scrollen bleibt beim Browser, waagerecht wischen beim Slider */
.carousel{touch-action:pan-y;}

/* Einblenden beim Scrollen am Handy aus: wer schnell scrollt, sah leere Karten */
@media (max-width:700px){
  .view .rv:not(.hero-inner .rv){opacity:1; transform:none; transition:none;}
}

/* Leitfaden-Bestaetigung: der Download-Knopf erbte die Linkfarbe (gold auf wein, 4,0:1) */
.legal-body a.btn, .legal-body a.btn:hover{color:#fff; border-bottom:none;}

/* Ueberschriften eine Ebene hoeher (h4 zu h3), Optik wie vorher */
.qd-item h3{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:17.5px; font-weight:500; color:var(--ink); margin:18px 0 7px; letter-spacing:.005em;}
.qw-step h3{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin-bottom:8px;}
.qm-card h3{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin-bottom:10px; line-height:1.25;}
.ref h3{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:18px; font-weight:500; color:var(--ink); margin:16px 0 8px;}
.tl-row h3{font-size:15px; font-weight:600; margin-bottom:5px; color:var(--ink); font-family:'Inter',system-ui,sans-serif;}
.kx-point h3{font-size:16.5px; color:#F3EBDD; margin-bottom:5px; font-weight:500; font-family:'Fraunces',Georgia,'Times New Roman',serif;}
.value h2{font-size:21px; font-weight:500; margin:0 0 14px; color:var(--ink); font-family:'Fraunces',Georgia,'Times New Roman',serif; letter-spacing:-0.01em;}
@media (min-width:981px){ .values-grid .value h2{min-height:2.7em;} }
.rolle-band h2{font-family:'Fraunces',Georgia,'Times New Roman',serif; font-size:clamp(22px,2.4vw,28px); font-weight:400; color:var(--ink); margin:6px 0 10px; line-height:1.3;}

/* Objekt-Vorlage: Kontaktzeile unter dem Preis, Rollenblock unter den Eckdaten */
.q-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.q-actions .btn{min-height:48px;}
@media (max-width:600px){ .q-actions{flex-direction:column;} .q-actions .btn{width:100%;} }
.objekt-rolle{margin-top:22px; font-size:13.5px;}

/* Objektliste: Einordnung unter der Ueberschrift, Abschlussband einspaltig */
#view-objects .refs{padding-top:14px;}
#view-objects .refs .refs-sub{margin-bottom:0;}
#view-objects .objects-grid{padding-top:28px;}
.band-cta .quinta-band-inner{grid-template-columns:1fr; max-width:760px;}
.band-cta .qb-lead{max-width:62ch;}

/* Blog: Autorenblock am Ende des Beitrags */
.autor{display:grid; grid-template-columns:96px 1fr; gap:24px; align-items:start; margin:48px 0 0; padding:28px 0 0; border-top:1px solid var(--line); max-width:720px;}
.autor-foto{width:96px; height:96px;}
.autor strong{display:block; font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:19px; color:var(--ink); margin-bottom:8px;}
.autor p{color:var(--ink-soft); font-size:15.5px; line-height:1.65; margin:0 0 18px;}
@media (max-width:560px){ .autor{grid-template-columns:1fr; gap:16px;} }

/* Leitfaden-Seite #/leitfaden */
.seite-leitfaden{max-width:1000px;}
.lf-kopf{display:grid; grid-template-columns:1.2fr 0.8fr; gap:clamp(32px,5vw,64px); align-items:start; margin-bottom:34px;}
.lf-kopf h1{margin-top:14px;}
.lf-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.lf-ctas .btn{min-height:48px;}
.lf-ctas-unten{margin-top:30px;}
.lf-note{color:var(--stone); font-size:13px; margin-top:14px;}
.lf-cover{background:var(--surface); border:1px solid var(--line); padding:26px;}
.lf-cover img{width:100%; height:auto; display:block; box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.lf-liste{list-style:none; margin:0 0 16px; padding:0;}
.lf-liste li{padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.6; font-size:16.5px;}
.lf-liste li:last-child{border-bottom:none;}
.lf-liste strong{color:var(--ink); font-weight:600;}
@media (max-width:860px){ .lf-kopf{grid-template-columns:1fr;} .lf-cover{max-width:320px;} }
@media (max-width:600px){ .lf-ctas{flex-direction:column;} .lf-ctas .btn{width:100%;} }

/* ==========================================================================
   Marketing- und SEO-Vorbereitung 01.10.2026 (Alan)
   ========================================================================== */

/* Jede Seite hat eine H1: Seitenueberschriften, die vorher H2 waren, sehen gleich aus */
.section-head h1{font-size:clamp(30px,3.6vw,46px); font-weight:400; margin-top:14px; color:var(--ink);}
.about h1{font-size:clamp(32px,3.8vw,46px); font-weight:400; margin-bottom:22px; line-height:1.12; color:var(--ink);}
.contact h1{font-size:clamp(32px,3.8vw,46px); font-weight:400; margin-bottom:18px; color:var(--ink);}

/* Vertrauensblock unter dem Hero: Person, Partner, Telefon */
.vertrauen{padding:clamp(34px,5vw,56px) 40px 0;}
.vertrauen-inner{max-width:1320px; margin:0 auto; display:grid; grid-template-columns:76px 1fr auto; gap:22px 28px; align-items:center; padding:22px 26px; border:1px solid var(--line); background:var(--surface);}
/* Rundes Portraet: Gesicht in die Mitte holen (das Foto hat den Kopf unten links) */
.vertrauen-foto, .autor-foto{border-radius:50%; overflow:hidden;}
.vertrauen-foto{width:76px; height:76px;}
.vertrauen-foto img, .autor-foto img{width:100%; height:100%; object-fit:cover; object-position:50% 100%; transform:scale(1.2); transform-origin:0% 74%; display:block;}
.vertrauen-text strong{display:block; font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:19px; color:var(--ink); margin-bottom:4px;}
.vertrauen-text p{color:var(--ink-soft); font-size:14.5px; line-height:1.55; max-width:62ch;}
.vertrauen-rechts{display:flex; flex-direction:column; gap:6px; align-items:flex-end; font-size:13.5px; color:var(--stone); text-align:right;}
.vertrauen-rechts a{color:var(--brass-light); border-bottom:1px solid var(--brass); padding:4px 0 2px;}
.vertrauen-rechts a[href^="tel:"]{font-family:'Fraunces',Georgia,serif; font-size:19px; border-bottom:none; color:var(--ink);}
#view-home .values{padding-top:clamp(34px,5vw,56px);}
@media (max-width:860px){
  .vertrauen{padding-left:22px; padding-right:22px;}
  .vertrauen-inner{grid-template-columns:64px 1fr; padding:20px;}
  .vertrauen-foto{width:64px; height:64px;}
  .vertrauen-rechts{grid-column:1 / -1; align-items:flex-start; text-align:left; flex-direction:row; flex-wrap:wrap; gap:6px 18px; border-top:1px solid var(--line); padding-top:14px;}
}

/* Objektseite: Telefonzeile unter den Knoepfen. Fusszeile: Kontakt */
.qf-tel{font-size:13.5px; color:var(--stone); margin:16px 0 0; text-align:center;}
.qf-tel a{color:var(--ink); border-bottom:1px solid var(--brass); padding:6px 0 2px; white-space:nowrap;}
.footer-kontakt a{color:var(--ink-soft); padding:6px 0;}
.footer-kontakt a:hover{color:var(--ink);}
/* Fusszeile: Profile als Symbole (08.10.2026), Farbe wie die Kontaktlinks */
.footer-profile{display:flex; gap:18px; margin:0;}
.footer-profile a{display:inline-flex; padding:6px 0;}
.footer-profile svg{width:20px; height:20px; display:block;}

/* Einwilligung fuer Anzeigen-Messung */
.consent[hidden]{display:none;}
.consent{position:fixed; left:16px; right:16px; bottom:16px; z-index:70; max-width:640px; margin:0 auto; background:var(--surface2); border:1px solid var(--brass); padding:20px 22px; box-shadow:0 30px 60px -20px rgba(0,0,0,.8);}
.consent p{font-size:14.5px; line-height:1.55; color:var(--ink); margin:0 0 16px;}
.consent p a{color:var(--brass-light); border-bottom:1px solid var(--brass);}
.consent-knoepfe{display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap;}
.consent-knoepfe .btn{min-height:44px; padding:11px 22px; flex:1 1 140px;}
.consent-link{background:none; border:none; padding:6px 0; font-size:13px; color:var(--stone); border-bottom:1px solid var(--line); cursor:pointer;}
.consent-link[hidden]{display:none;}
.consent-link:hover{color:var(--ink);}

/* Anforderungsfenster: nur EIN Titelbild zeigen. Die allgemeine Regel img{display:block}
   hob das hidden-Attribut auf, dadurch lag das Expose-Titelbild immer ueber dem des
   Leitfadens (01.10.2026). */
.lead-cover img[hidden]{display:none;}

/* ==========================================================================
   Handy: Lesbarkeit im ersten Bild und in den Abschnitten (01.10.2026)
   ========================================================================== */
@media (max-width:700px){
  /* Erstes Bild: Foto dunkler und ruhiger, damit die Schrift nicht auf der hellen
     Hauswand liegt; Ausschnitt nach oben zu Hang und Dach statt zur Wand */
  .hero-video{opacity:.42; object-position:38% 18%;}
  .hero-overlay{background:linear-gradient(180deg, rgba(18,14,10,.70) 0%, rgba(18,14,10,.58) 30%, rgba(18,14,10,.82) 62%, rgba(18,14,10,.96) 100%);}
  .hero-inner{padding:112px 22px 84px;}
  .hero h1{font-size:38px; line-height:1.06; margin:20px 0 20px; text-shadow:0 2px 24px rgba(0,0,0,.65);}
  .hero-sub{color:var(--ink); font-size:16.5px; line-height:1.6; margin:0 0 28px; text-shadow:0 1px 14px rgba(0,0,0,.7);}
  .hero .eyebrow{font-size:11.5px; letter-spacing:.2em; text-shadow:0 1px 10px rgba(0,0,0,.7);}

  /* Lesetext in den Abschnitten: eine Stufe groesser, hellere Farbe bleibt Nebentext */
  .value p, .step p, .pillar p, .card-body p.desc{font-size:15.5px; line-height:1.65;}
  .quinta-band p.qb-lead, .fd-body p, .q-body p, .about p{font-size:16px; line-height:1.7;}
  .vertrauen-text p{font-size:15px;}
  .vertrauen-text strong{font-size:17.5px; line-height:1.3; margin-bottom:6px;}
  /* Werte-Kacheln: gleiche Seitenraender wie der Block darueber */
  .values{padding-left:22px; padding-right:22px;}

  /* Ablauf: Schritte ueber die ganze Breite */
  .step{margin-right:0; padding-right:0;}

  /* Quinta-Kennzahlen: Preis nicht umbrechen */
  .qb-fact{padding-right:0; margin-right:0;}
  .qb-fact .n{font-size:22px; white-space:nowrap;}
}

/* Nach einer Expose-Anfrage keinen Leitfaden-Download zeigen: die Regel
   .lead-done .btn{display:inline-flex} hob das hidden-Attribut des Knopfs auf (01.10.2026). */
.lead-done .btn[hidden]{display:none;}

/* Verkaufte Objekte (verkauft:true in objekte.js, 02.10.2026): ausgegraut, Schild dunkel */
.card.verkauft .card-photo img{filter:grayscale(1) brightness(.75);}
.card.verkauft .photo-badge{background:var(--ink);color:var(--bg);}
.card.verkauft h3, .card.verkauft .price{color:var(--stone);}

/* ===== Ab hier: Olivers eigene Bausteine (nur Klassen .ol-, Kommentar mit Datum, Handy-Fassung unter 700px). Alles darüber gehört Alan; die Schutzprüfung lehnt Änderungen dort ab. ===== */
