/* ==========================================================================
   friseur-wallduern.de – Relaunch 2 · "Reine"-Stil (elegant, hell)
   Inna Jakobi Hair-Beauty-Studio · Walldürn
   Serif: Vollkorn · Sans: Jost · Akzent Gold #d2ad59 (Kunden-CI)
   ========================================================================== */
:root{
  --gold:#c9a24b; --gold-2:#d2ad59; --gold-soft:#efe4cc;
  --ink:#2a2620; --charcoal:#211f1b; --body:#26221c; --muted:#453f36;
  --cream:#f8f5f2; --cream-2:#f1ece5; --white:#fff; --line:#e7e0d7;
  --radius:6px; --maxw:1200px;
  --shadow:0 24px 60px -30px rgba(42,38,32,.35);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:hidden;}
body{margin:0;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.8;font-weight:300;color:var(--body);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:var(--gold);text-decoration:none;transition:color .2s;}
a:hover{color:var(--ink);}
h1,h2,h3,h4{font-family:'Vollkorn',Georgia,serif;font-weight:500;line-height:1.12;margin:0;color:var(--ink);}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.section{padding:120px 0;position:relative;}
.section--cream{background:var(--cream-2);}
.section--dark{background:var(--charcoal);}
.center{text-align:center;}

.eyebrow{font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin:0 0 18px;}
.eyebrow.line{display:inline-flex;align-items:center;gap:12px;}
.eyebrow.line::before,.center .eyebrow.line::after{content:"";width:34px;height:1px;background:var(--gold);}
.center .eyebrow.line{justify-content:center;}
.h-xl{font-size:clamp(40px,6vw,76px);font-weight:500;letter-spacing:.5px;}
.h-lg{font-size:clamp(32px,4.4vw,54px);}
.lead{font-size:19px;color:var(--body);max-width:640px;}
.center .lead{margin-left:auto;margin-right:auto;}
.section-head{margin-bottom:64px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;padding:17px 40px;border:1px solid var(--gold);cursor:pointer;transition:all .3s;line-height:1;}
.btn svg{width:16px;height:16px;}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.btn-outline{background:transparent;color:var(--ink);}
.btn-outline:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.btn-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn-light:hover{background:#fff;color:var(--ink);border-color:#fff;}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.16,.7,.2,1),transform 1s cubic-bezier(.16,.7,.2,1);transition-delay:var(--d,0ms);}
.js [data-reveal].in{opacity:1;transform:none;}
.reveal-img{overflow:hidden;}
.js .reveal-img img{transform:scale(1.1);transition:transform 1.4s cubic-bezier(.16,.7,.2,1);}
.js .reveal-img.in img{transform:scale(1);}
@media(prefers-reduced-motion:reduce){.js [data-reveal],.js .reveal-img img{opacity:1!important;transform:none!important;transition:none!important;}}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .35s,box-shadow .35s,padding .35s;}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:134px;transition:height .35s;}
.nav.scrolled{background:var(--cream);box-shadow:0 1px 0 var(--line),0 10px 30px -20px rgba(0,0,0,.25);}
.nav.scrolled .nav-inner{height:96px;}
.brand{grid-column:1;justify-self:start;display:flex;align-items:center;position:relative;}
.brand img{height:120px;width:auto;display:block;transition:height .35s,opacity .35s;}
.brand .logo-dark{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;}
.nav.scrolled .brand .logo-top{opacity:0;}
.nav.scrolled .brand .logo-dark{opacity:1;}
.nav.scrolled .brand img{height:76px;}
.footer .brand img{height:104px;opacity:.95;}
.brand .bt{font-family:'Vollkorn',serif;font-size:19px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#fff;line-height:1.05;transition:color .35s;}
.brand .bs{display:block;font-family:'Jost';font-size:9.5px;letter-spacing:2.5px;color:var(--gold);font-weight:500;text-transform:uppercase;}
.nav.scrolled .brand .bt{color:var(--ink);}
.nav-links{grid-column:2;justify-self:center;display:flex;gap:34px;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
.nav-links a{-webkit-tap-highlight-color:transparent;}
.nav-links>li>a{font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.9);padding:6px 0;position:relative;transition:color .35s;}
.nav.scrolled .nav-links>li>a{color:var(--ink);}
/* Unterstrich-Hover NUR auf echtem Desktop – sonst bleibt :hover auf Touch „kleben" und der ::after überschreibt den mobilen Chevron */
@media (hover:hover) and (min-width:992px){
  .nav-links>li>a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .25s;}
  .nav-links>li>a:hover::after{width:100%;}
  .nav-links>li>a:hover{color:var(--gold);}
}
.nav-cta{grid-column:3;justify-self:end;padding:13px 30px;color:#fff;white-space:nowrap;}
.nav.scrolled .nav-cta{color:var(--ink);}
.nav.scrolled .nav-cta:hover{color:#fff;}
.nav-links .only-mobile{display:none;}
.nav-toggle{display:none;grid-column:3;justify-self:end;background:none;border:0;cursor:pointer;padding:8px;z-index:101;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.nav-toggle span{pointer-events:none;}
body.nav-open{overflow:hidden;}
.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;transition:.3s;}
.nav.scrolled .nav-toggle span{background:var(--ink);}
.nav.open .nav-toggle span{background:var(--ink);}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .nav-toggle span:nth-child(2){opacity:0;}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;text-align:center;color:#fff;overflow:hidden;padding:120px 0;}
.hero-bg{position:absolute;inset:0;background:center/cover no-repeat;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(33,31,27,.5),rgba(33,31,27,.42));}
.hero .container{position:relative;z-index:2;}
.hero .eyebrow{color:#fff;opacity:.9;}
.hero h1{color:#fff;font-size:clamp(44px,8vw,104px);font-weight:500;letter-spacing:.5px;margin:0 auto;max-width:14ch;}
.hero .hero-sub{font-family:'Vollkorn',serif;font-style:italic;font-size:clamp(20px,3vw,30px);color:#fff;opacity:.92;margin:22px 0 0;font-weight:400;}
.g-badge{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:10px 22px;border-radius:50px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);color:#fff;font-family:'Jost';font-weight:500;text-align:left;transition:background .25s;}
.g-badge:hover{background:rgba(255,255,255,.26);color:#fff;}
.g-badge .g-ico{width:26px;height:26px;flex:0 0 auto;background:#fff;border-radius:50%;padding:4px;box-sizing:border-box;}
.g-badge .g-txt{display:flex;flex-direction:column;line-height:1.2;}
.g-badge .g-line{display:flex;align-items:center;gap:8px;}
.g-badge .g-rate{font-family:'Vollkorn',serif;font-weight:600;font-size:18px;}
.g-badge .g-stars{color:#ffc861;letter-spacing:1px;font-size:14px;}
.g-badge .g-note{font-size:11.5px;opacity:.82;letter-spacing:.02em;margin-top:2px;}
.hero-actions{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-scroll{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.7);animation:bob 2s infinite;}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}

/* ---------- Intro / Split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.split.reverse .split-media{order:-1;}
.split-media img{width:100%;box-shadow:var(--shadow);}
.split-media.tall img{aspect-ratio:4/5;object-fit:cover;}
.usp{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px;}
.usp li{display:flex;gap:14px;align-items:flex-start;color:var(--ink);font-weight:400;}
.usp svg{flex:0 0 auto;width:22px;height:22px;color:var(--gold);margin-top:4px;}
.stat-row{display:flex;gap:44px;margin-top:36px;flex-wrap:wrap;}
.stat b{font-family:'Vollkorn',serif;font-size:42px;color:var(--gold);display:block;line-height:1;}
.stat span{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}

/* ---------- Service icon cards ---------- */
.icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.icon-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 22px;background:var(--white);border:1px solid var(--line);transition:transform .3s,box-shadow .3s,border-color .3s;text-decoration:none;color:inherit;}
.icon-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold);}
.icon-card .ic{width:56px;height:56px;margin:0 auto 20px;color:var(--gold);}
.icon-card .ic svg{width:100%;height:100%;}
.icon-card h3{font-size:23px;margin-bottom:11px;color:var(--ink);}
.icon-card p{font-size:14.5px;margin:0 0 16px;color:var(--body);}
.icon-card .ic-more{display:inline-block;margin-top:auto;font-family:var(--f-body);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);transition:letter-spacing .3s;}
.icon-card:hover .ic-more{letter-spacing:.09em;}
#leistungen{padding-bottom:76px;}

/* ---------- Price menu ---------- */
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 70px;}
.menu-block h3{font-size:30px;margin-bottom:6px;display:flex;align-items:center;gap:12px;}
.menu-block h3 svg{width:24px;height:24px;color:var(--gold);}
.menu-block .msub{font-size:14px;color:var(--ink);margin:0 0 22px;letter-spacing:1px;text-transform:uppercase;}
.mrow{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);}
.mrow:last-child{border-bottom:0;}
.mrow .mn{font-weight:300;color:var(--ink);}
.mrow .mn i{display:block;font-weight:300;font-style:italic;color:var(--ink);font-size:13px;line-height:1.5;margin-top:2px;}
.mrow .dots{flex:1;min-width:14px;}
.mrow .mp{font-family:'Vollkorn',serif;font-weight:600;color:var(--gold);white-space:nowrap;font-size:17px;}
.mtable{width:100%;border-collapse:collapse;}
.mtable th{font-family:'Jost';font-weight:600;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);text-align:right;padding:0 0 14px;}
.mtable th:first-child{text-align:left;}
.mtable td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink);}
.mtable tr:last-child td{border-bottom:0;}
.mtable td:not(:first-child){text-align:right;font-family:'Vollkorn',serif;font-weight:600;color:var(--gold);white-space:nowrap;padding-left:16px;font-size:17px;}
.mtable td i{display:block;font-weight:300;font-style:italic;color:var(--ink);font-size:13px;}
.note{grid-column:1/-1;background:var(--gold-soft);border-left:3px solid var(--gold);padding:20px 26px;font-size:15px;color:var(--ink);}
.note strong{color:var(--gold);}

/* ---------- Accordion (Warum wir) ---------- */
.acc-item{border-bottom:1px solid var(--line);}
.acc-head{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-family:'Vollkorn',serif;font-size:22px;color:var(--ink);gap:16px;}
.acc-head .pm{flex:0 0 auto;width:22px;height:22px;position:relative;}
.acc-head .pm::before,.acc-head .pm::after{content:"";position:absolute;background:var(--gold);transition:transform .3s;}
.acc-head .pm::before{top:10px;left:0;width:22px;height:2px;}
.acc-head .pm::after{top:0;left:10px;width:2px;height:22px;}
.acc-item.open .pm::after{transform:scaleY(0);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.acc-body p{margin:0 0 22px;}

/* ---------- Gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gal figure{position:relative;margin:0;overflow:hidden;}
.gal img{width:100%;height:340px;object-fit:cover;transition:transform .7s;}
.gal figure:hover img{transform:scale(1.08);}
.gal figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(33,31,27,.35);opacity:0;transition:opacity .35s;color:#fff;font-family:'Vollkorn',serif;font-size:22px;text-align:center;padding:16px;}
.gal figure:hover figcaption{opacity:1;}

/* ---------- CTA band ---------- */
.cta-band{position:relative;padding:120px 0;text-align:center;color:#fff;overflow:hidden;}
.cta-band .cta-bg{position:absolute;inset:0;background:center/cover no-repeat;}
.cta-band::after{content:"";position:absolute;inset:0;background:rgba(33,31,27,.62);}
.cta-band .container{position:relative;z-index:2;}
.cta-band h2{color:#fff;}
.cta-band .eyebrow{color:var(--gold-2);}

/* ---------- Team ---------- */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:38px 34px;}
.team-card{flex:0 1 calc((100% - 102px)/4);max-width:300px;text-align:center;background:var(--white);padding:15px 15px 30px;border-radius:4px;box-shadow:0 22px 46px -26px rgba(42,38,32,.5),0 2px 6px rgba(42,38,32,.08);transition:transform .4s cubic-bezier(.16,.7,.2,1),box-shadow .4s;}
.team-card:hover{transform:translateY(-7px);box-shadow:0 30px 56px -24px rgba(42,38,32,.55),0 3px 8px rgba(42,38,32,.1);}
.team-card .pw{overflow:hidden;border-radius:2px;background:linear-gradient(180deg,#faf7f2 0%,#efe7db 100%);}
.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;transition:transform .6s;}
.team-card:hover img{transform:scale(1.04);}
.team-card h3{font-size:23px;margin:20px 0 3px;}
.team-card p{margin:0;color:var(--gold);font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;}
@media(max-width:991px){.team-card{flex:0 1 calc((100% - 34px)/2);max-width:none;}}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.contact-line{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;}
.contact-line svg{flex:0 0 auto;width:24px;height:24px;color:var(--gold);margin-top:3px;}
.contact-line b{display:block;font-family:'Jost';text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:3px;}
.contact-line a,.contact-line span{font-size:18px;color:var(--ink);font-weight:400;}
.contact-line a:hover{color:var(--gold);}
.hours-card{background:var(--white);border:1px solid var(--line);padding:36px 36px;}
.hours-card h3{font-size:26px;margin-bottom:18px;}
.hours-list{list-style:none;margin:0;padding:0;}
.hours-list li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);}
.hours-list li:last-child{border-bottom:0;}
.hours-list .day{color:var(--body);}
.hours-list .t{color:var(--ink);font-weight:400;}
.hours-list .closed{color:var(--gold);}
.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.socials{display:flex;gap:12px;margin-top:26px;}
.socials a{width:46px;height:46px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all .3s;}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.socials svg{width:20px;height:20px;}

/* ---------- Footer ---------- */
.footer{background:var(--charcoal);color:#fff;padding:70px 0 34px;text-align:center;}
.footer .brand{display:flex;width:100%;justify-content:center;margin-bottom:8px;}
.footer .brand .bt{color:#fff;}
.footer p.f-desc{max-width:520px;margin:18px auto 24px;font-size:15px;}
.footer-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center;margin:14px 0;}
.footer-links a{color:#fff;font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}
.footer-links a:hover{color:var(--gold);}
.footer-links .sep{color:#5c574e;}
.f-legal{font-size:13px;color:rgba(255,255,255,.72);margin-top:14px;}
.f-legal a{color:var(--gold);}
.footer a.ext .ext-star{color:var(--gold);font-size:.78em;vertical-align:super;margin-left:1px;}
.f-ext-note{font-size:11px;color:rgba(255,255,255,.5);margin:10px auto 0;max-width:540px;line-height:1.5;}
/* „Keine Cookies"-Hinweis – wegklickbar, kein Cookie (Session-Merker) */
.cookie-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:2147480000;max-width:540px;margin:0 auto;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:14px 16px 14px 20px;border-radius:12px;box-shadow:0 18px 44px -14px rgba(0,0,0,.55);font-family:'Jost';font-size:14px;line-height:1.4;transform:translateY(160%);opacity:0;transition:transform .45s cubic-bezier(.16,.7,.2,1),opacity .4s;}
.cookie-note.show{transform:translateY(0);opacity:1;}
.cookie-note strong{color:var(--gold-2);font-weight:600;}
.cookie-note .cookie-x{flex:0 0 auto;background:rgba(255,255,255,.14);border:0;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;transition:background .25s;}
.cookie-note .cookie-x:hover{background:rgba(255,255,255,.28);}
@media(max-width:600px){.cookie-note{font-size:13px;padding:12px 12px 12px 16px;}}
/* Legal-Seiten (Impressum/Datenschutz): heller Header, da kein Hero dahinter */
body.legal .nav{background:var(--cream);box-shadow:0 1px 0 var(--line),0 10px 30px -20px rgba(0,0,0,.25);}
body.legal .nav-inner{height:96px;}
body.legal .brand .logo-top{opacity:0;}
body.legal .brand .logo-dark{opacity:1;}
body.legal .brand img{height:76px;}
body.legal .nav-links>li>a{color:var(--ink);}
body.legal .nav-cta{color:var(--ink);}
body.legal .nav-toggle span{background:var(--ink);}

/* ---------- Back to top ---------- */
.to-top{position:fixed;right:24px;bottom:24px;z-index:90;width:46px;height:46px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:var(--shadow);}
.to-top.show{opacity:1;pointer-events:auto;}
.to-top:hover{transform:translateY(-3px);color:#fff;}

/* ---------- Responsive ---------- */
@media(max-width:991px){
  .nav-inner{display:flex;justify-content:space-between;height:82px;}
  .nav.scrolled .nav-inner{height:66px;}
  .brand img{height:74px;}
  .nav.scrolled .brand img{height:52px;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .nav-links{position:fixed;inset:0;top:0;height:100vh;height:100dvh;width:100%;background:var(--cream);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:96px 34px 40px;transform:translateY(-100%);transition:transform .45s cubic-bezier(.16,.7,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:none;}
  .nav.open .nav-links{transform:translateY(0);}
  .nav-links>li>a{font-size:18px!important;}
  /* Logo im geöffneten Vollbild-Menü sichtbar (über dem Overlay, dunkle Variante auf Cremé) */
  .nav.open .brand{z-index:102;}
  .nav.open .brand .logo-top{opacity:0;}
  .nav.open .brand .logo-dark{opacity:1;}
  .nav-links>li{width:100%;}
  .nav-links>li>a{display:block;padding:16px 0;border-bottom:1px solid var(--line);width:100%;font-size:15px;color:var(--ink);}
  .nav-links .only-mobile{display:block;margin-top:18px;}
  .nav-links .only-mobile a{border:0;text-align:center;color:#fff;}
  .split,.contact-grid{grid-template-columns:1fr;gap:44px;}
  .split.reverse .split-media{order:0;}
  .icon-grid{grid-template-columns:repeat(3,1fr);}
  .menu-grid{grid-template-columns:1fr;gap:44px;}
  .gal{grid-template-columns:1fr 1fr;}
}
@media(max-width:767px){
  .team-grid{gap:30px;}
  .team-card{flex:0 1 calc((100% - 40px)/2);max-width:none;}
}
@media(max-width:600px){
  .section{padding:76px 0;}
  .icon-grid,.gal{grid-template-columns:repeat(2,1fr);}
  .hero{min-height:90vh;}
  .stat-row{gap:28px;}
}
@media(max-width:480px){
  .team-grid{gap:26px;}
  .team-card{flex:0 1 100%;max-width:340px;}
}

/* ============ Multi-Page-Erweiterung (Leistungs-/Regionalseiten) ============ */
/* Nav-Dropdown */
.nav-links .has-sub{position:relative;}
.nav-links .has-sub>a::before{content:"";}
.subnav{position:absolute;top:100%;margin-top:calc(var(--navh,134px)/2 - 16px);left:50%;transform:translateX(-50%) translateY(8px);min-width:240px;background:var(--cream);box-shadow:var(--shadow);padding:10px 0;list-style:none;margin-left:0;margin-right:0;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s;border-top:2px solid var(--gold);}
/* Dropdown öffnet auf DESKTOP per Hover; auf Touch/Mobil NUR per Tap (Accordion, s.u.) */
@media (hover:hover) and (min-width:992px){
  .nav-links .has-sub:hover .subnav,.nav-links .has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
  /* transparente Hover-Brücke von der Textzeile bis zum Header-Ende */
  .nav-links .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:calc(var(--navh,134px)/2);}
}
.subnav li{width:100%;}
.subnav li a{display:block;padding:10px 24px;font-family:'Jost';font-weight:400;font-size:13px;letter-spacing:.5px;text-transform:none;color:var(--ink);white-space:nowrap;}
.subnav li a::after{display:none;}
.subnav li a:hover{background:var(--cream-2);color:var(--gold);}

/* Subpage-Hero (kompakter als Startseite) */
.subhero{position:relative;min-height:60vh;display:flex;align-items:center;text-align:center;color:#fff;overflow:hidden;padding:150px 0 80px;}
.subhero-bg{position:absolute;inset:0;background:center/cover no-repeat;}
.subhero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(33,31,27,.55),rgba(33,31,27,.5));}
.subhero .container{position:relative;z-index:2;}
.subhero .eyebrow{color:#fff;opacity:.9;}
.subhero h1{color:#fff;font-size:clamp(36px,5.5vw,68px);font-weight:500;margin:0 auto;max-width:16ch;}
.subhero .hero-sub{font-family:'Vollkorn',serif;font-style:italic;font-size:clamp(18px,2.6vw,26px);color:#fff;opacity:.92;margin:20px auto 0;max-width:40ch;font-weight:400;}
.breadcrumb{font-family:'Jost';font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.8);margin:0 0 16px;}
.breadcrumb a{color:rgba(255,255,255,.8);}
.breadcrumb a:hover{color:#fff;}
.breadcrumb span{color:var(--gold-2);}

/* Prosa-Textblock (Leistungsbeschreibungen) */
.prose{max-width:760px;margin:0 auto;}
.prose p{margin:0 0 18px;}
.prose h3{font-size:26px;margin:34px 0 12px;}
.prose ul{margin:0 0 18px;padding-left:20px;}
.prose ul li{margin:0 0 8px;}

/* Related-Services / weiterführende Links */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.related-card{display:block;padding:26px 24px;background:var(--white);border:1px solid var(--line);text-align:left;transition:transform .3s,box-shadow .3s;}
.related-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.related-card .rc-ey{font-family:'Jost';font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.related-card h4{font-size:22px;margin:8px 0 6px;color:var(--ink);}
.related-card p{margin:0;font-size:14px;color:var(--body);}
@media(max-width:767px){.related-grid{grid-template-columns:1fr;}}

/* Mobile: Dropdown flach ausklappen */
@media(max-width:991px){
  .subnav{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border:0;padding:0 0 0 16px;margin:0;min-width:0;height:0;overflow:hidden;transition:height .3s ease;}
  .subnav li a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px;}
  .nav-links .has-sub{width:100%;}
  .nav-links .has-sub>a{display:flex;align-items:center;}
  .nav-links .has-sub>a::before{display:none;}
  .nav-links .has-sub>a::after{content:"⌄";position:static;width:auto;height:auto;background:none;margin-left:auto;display:inline-block;font-size:16px;line-height:1;flex:0 0 auto;transition:transform .3s;}
  .nav-links .has-sub.open>a::after{transform:rotate(180deg);}
  .nav-links .has-sub::after{display:none;}
}
