/* =========================================================================
   Mode Erhard · Design C „Linie"
   Ein Prinzip, konsequent: Bogen + Linie.
   · Fotos nur im Bogen, mit feiner roter Kontur
   · Tusche-Illustrationen in Rot (auf Papier) oder Papier (auf Rot),
     immer auf einer Kante: sie verbinden zwei Flächen
   · das Lauben-Kachelband als wiederkehrendes Markenzeichen (3×)
   · genau zwei Schriften: Fraunces (Serif, verspielt im Kursiv) + Jost (Sans, wie das Logo)
   · keine Verläufe, nur flache Flächen
   · Flächen: Papier, Sand, Erhard-Rot, Riviera-Blau (nur Streifen + Besuch)
   ========================================================================= */
.linie{
  --paper:#F4EEE4; --sand:#E9E0D2; --ink:#2A1714;
  /* gedämpftes, warmes Rot statt Signalrot: Akzent (Ziegel/Lack) + Fläche (Wein) */
  --rosso:#9A2E26; --rosso-d:#7E241E; --wine:#6E1F22; --bord:#4A1719;
  --azz:#93B1BF; --stripe:#E2EBEE; --line-ink:rgba(42,23,20,.18);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --arch:999px 999px 0 0;
  background:var(--paper);color:var(--ink)
}
.linie ::selection{background:var(--rosso);color:var(--paper)}

/* ---------- Typo-System ---------- */
.l-wrap{max-width:1440px;margin:0 auto;padding:0 var(--g)}
.l-sec{padding:clamp(5rem,10vw,9rem) 0;position:relative}
.l-cap{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;line-height:1.6}
.l-label{display:flex;align-items:baseline;gap:.9em;flex-wrap:wrap;margin-bottom:1.8rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.l-label b{font-weight:400;opacity:.35}
.l-label i{font-family:var(--serif);font-style:italic;font-size:1.05rem;letter-spacing:0;text-transform:none;font-weight:400;opacity:.8}
.l-label--center{justify-content:center}
.l-num{font-family:var(--serif);font-style:italic;font-size:1.05rem;letter-spacing:0;color:var(--rosso);font-weight:400;min-width:1.6em}
.l-h2{font-family:var(--serif);font-weight:340;font-variation-settings:'SOFT' 30,'WONK' 0;font-optical-sizing:auto;font-size:clamp(2.4rem,4.6vw,4.8rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.l-h2 em{font-style:italic;color:var(--rosso);font-variation-settings:'SOFT' 100,'WONK' 1}
.linie em{font-variation-settings:'SOFT' 100,'WONK' 1}
.l-h2--xl{font-size:clamp(3rem,7vw,7.2rem);line-height:.96}
.l-lead{font-size:clamp(1.05rem,1.15vw,1.18rem);line-height:1.65;max-width:33rem;margin-top:1.6rem}
.l-lead--center{margin-left:auto;margin-right:auto}
.l-center{text-align:center}
.l-script{font-family:var(--serif);font-style:italic;font-weight:320;line-height:1;letter-spacing:-.01em;color:var(--rosso);font-variation-settings:'SOFT' 100,'WONK' 1}
/* Foto im Bogen mit feiner Kontur */
.l-arch{position:relative;border-radius:var(--arch);overflow:visible;margin:0}
.l-arch img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--arch)}
.l-arch::before{content:'';position:absolute;inset:-14px;border:1px solid var(--rosso);border-bottom:1px solid var(--rosso);border-radius:var(--arch);pointer-events:none}
.l-arch--tall{aspect-ratio:4/5;max-height:80vh;width:100%}
/* Tusche */
.l-illu{margin:0;pointer-events:none}
.l-ink{display:block;width:100%;aspect-ratio:var(--ar,1);background:var(--c,var(--rosso));
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
/* Kachelband */
.l-band{display:grid;grid-template-columns:repeat(10,1fr);height:clamp(64px,9vw,150px);position:relative;z-index:2}
.l-band i{position:relative;background:var(--bg);color:var(--fg);overflow:hidden;transition:background-color .5s var(--ease),color .5s var(--ease)}
.l-band svg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor;transition:translate .7s var(--out)}
.l-band i:hover svg{translate:0 -8%}
/* Buttons */
.l-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.l-btn{display:inline-flex;align-items:center;padding:1rem 1.7rem;border-radius:999px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid currentColor;transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.l-btn--red{background:var(--wine);border-color:var(--wine);color:var(--paper)}
.l-btn--red:hover{background:var(--ink);border-color:var(--ink)}
.l-btn--line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.l-btn--paper{background:var(--wine);border-color:var(--wine);color:var(--paper)}
.l-btn--paper:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.l-btn--line-light{color:var(--ink)}
.l-btn--line-light:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Navigation ---------- */
.linie .nav{color:var(--ink);background:rgba(244,238,228,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:1rem;border-bottom:1px solid var(--line-ink)}
.linie .wordmark{opacity:1!important}

/* ---------- Boutique ---------- */
.l-manifest__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,8rem);align-items:end}
.l-manifest .l-h2{max-width:13ch}
.l-sign{margin-top:2.4rem;display:flex;flex-direction:column;gap:.5rem}
.l-sign .l-script{font-size:clamp(2.4rem,3.4vw,3.4rem)}
.l-sign .l-cap{opacity:.6}
.l-manifest__illu{max-width:26rem;justify-self:end;width:100%;margin-bottom:-7.5rem;position:relative;z-index:3}

/* ---------- Brixen ---------- */
.l-alpin{background:var(--sand);overflow:hidden}
.l-alpin .l-h2{max-width:14ch;margin:0 auto}
.l-alpin__dom{width:min(46rem,86%);margin:clamp(2.5rem,5vw,4rem) auto clamp(2.5rem,5vw,4rem)}
.l-alpin__cols{display:grid;grid-template-columns:1fr 1fr .6fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.l-alpin__cols h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.8rem,2.6vw,2.6rem);margin-bottom:.8rem}
.l-alpin__cols p{line-height:1.65}
.l-alpin__illu{width:min(100%,15rem);justify-self:end;margin-top:-3rem;margin-bottom:-12rem;position:relative;z-index:3;transform:rotate(-12deg)}

/* ---------- Gewölbe ---------- */
.l-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.l-haus__illu{width:min(100%,24rem);margin-top:2.6rem}

/* ---------- Das rote Kapitel: Beratung + Stimmen ---------- */
.l-red{background:var(--wine);color:var(--paper)}
.l-red .l-num,.l-red .l-h2 em{color:var(--paper)}
.l-red .l-h2 em{opacity:.92}
.l-red .l-h2{max-width:15ch}
.l-voices{margin-top:clamp(4.5rem,8vw,7rem);padding-top:clamp(2.5rem,4vw,3.5rem) !important;border-top:1px solid rgba(244,238,228,.35)}
.l-voices .l-label{margin-bottom:2.4rem}
.l-voices__lead{margin:0 0 clamp(3rem,5vw,4rem);max-width:62rem}
.l-voices__lead blockquote{margin:0}
.l-voices__lead p{font-family:var(--serif);font-size:clamp(1.6rem,2.7vw,2.8rem);line-height:1.18;letter-spacing:-.01em}
.l-voices em{font-style:italic}
.l-voices__lead figcaption,.l-voices__from{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}
.l-voices .l-script{font-size:1.7rem;color:var(--paper)}
.l-voices .l-cap{opacity:.75}
.l-voices__list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}
.l-voices__list li{border-top:1px solid rgba(244,238,228,.35);padding-top:1.3rem}
.l-voices__list blockquote{margin:0}
.l-voices__list blockquote p{font-family:var(--serif);font-size:clamp(1.15rem,1.4vw,1.4rem);line-height:1.32}

/* ---------- Damen / Herren auf Streifen ---------- */
.l-duo{background:repeating-linear-gradient(90deg,var(--paper) 0 clamp(48px,5vw,80px),var(--stripe) clamp(48px,5vw,80px) clamp(96px,10vw,160px))}
.l-duo__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,8rem);max-width:1220px;margin:2rem auto 0;align-items:end}
.l-duo__panel{text-align:center}
.l-duo__panel:nth-child(2){margin-bottom:clamp(2rem,6vh,4rem)}
.l-duo__name{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(3rem,min(6.5vw,11vh),7rem);line-height:1;margin-top:1.4rem;color:var(--rosso)}
.l-duo .l-cap{margin-top:.6rem;opacity:.75}

/* ---------- Marken ---------- */
.l-brands{background:var(--paper)}
.l-brands .l-h2{max-width:16ch;margin:0 auto}
.l-brands__note{margin-top:2.2rem;opacity:.6}

/* ---------- Besuch: Karte auf Riviera-Blau ---------- */
.l-visit{background:var(--azz);padding-bottom:clamp(7rem,12vw,11rem)}
.l-visit .l-split{position:relative;background:var(--paper);padding:clamp(2rem,5vw,5rem);gap:clamp(2.5rem,6vw,6rem);max-width:calc(1440px - var(--g) * 2);width:calc(100% - var(--g) * 2);box-shadow:0 40px 80px -40px rgba(30,52,64,.5)}
.l-visit .l-split::before{content:'';position:absolute;inset:10px;border:1px dashed var(--line-ink);pointer-events:none}
.l-status{display:inline-flex;align-items:center;gap:.7rem;font-size:.9rem;margin:1.6rem 0 1.4rem}
.l-status i{width:10px;height:10px;border-radius:50%;background:var(--rosso)}
.l-status.is-open i{background:#3F8F56;box-shadow:0 0 0 4px rgba(63,143,86,.18)}
.l-table{border-top:1px solid var(--ink);margin-bottom:2rem}
.l-table div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line-ink);font-size:.96rem}
.l-table dt{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;opacity:.6;padding-top:.2rem}
.l-table a{text-decoration:underline;text-underline-offset:3px}
.l-visit__side{position:relative;align-self:stretch;display:flex}
.l-visit__map{margin:14px;flex:1;min-height:440px;max-height:none;aspect-ratio:auto;background:#241F1B;border-radius:var(--arch)}
.l-visit__map > img,.l-visit__map iframe{border-radius:var(--arch)}
.l-visit__map > img{position:absolute;inset:0}
.l-visit__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:grayscale(1) sepia(.3) contrast(.92)}
.l-visit__map a{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1.4rem;border-radius:var(--arch)}
.l-visit__map a span{background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;border-radius:999px}
.l-visit__illu{position:absolute;left:-30%;bottom:clamp(-9rem,-10vw,-6rem);width:clamp(140px,15vw,230px);z-index:3}
.l-visit__illu .l-ink{--c:var(--ink)}

/* ---------- FAQ ---------- */
.l-faq__wrap{max-width:1000px}
.l-faq .l-h2{margin-bottom:2.2rem}
.l-faq .l-h2 em{color:var(--rosso)}
.l-faq__list{border-top:1px solid var(--ink)}
.l-faq details{border-bottom:1px solid var(--line-ink)}
.l-faq summary{list-style:none;cursor:pointer;padding:1.35rem 3rem 1.35rem 0;position:relative;font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.75rem);line-height:1.25}
.l-faq summary::-webkit-details-marker{display:none}
.l-faq summary::after{content:'';position:absolute;right:.4rem;top:50%;width:14px;height:14px;margin-top:-7px;border:1px solid var(--rosso);border-bottom:0;border-radius:var(--arch);transition:transform .45s var(--ease)}
.l-faq details[open] summary::after{transform:rotate(180deg)}
.l-faq details p{padding:0 0 1.4rem;max-width:46rem;line-height:1.65;opacity:.85}

/* ---------- Grazie ---------- */
.l-outro{background:var(--wine);color:var(--paper);text-align:center;padding-top:clamp(5rem,10vw,8rem)}
.l-outro .l-band{margin-top:clamp(3.5rem,7vw,6rem)}
.linie .footer{background:var(--bord)}
.linie .footer__mark em,.linie .footer__tag em{color:#C9776A}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .l-alpin__cols{grid-template-columns:1fr 1fr}
  .l-alpin__illu{grid-column:2;margin-top:0}
}
@media (max-width:900px){
  .l-manifest__grid,.l-split{grid-template-columns:1fr}
  .l-manifest__illu{justify-self:center;max-width:17rem;margin-bottom:-4rem}
  .l-arch--tall{max-width:30rem;justify-self:center;margin:14px auto}
  .l-alpin__cols{grid-template-columns:1fr}
  .l-alpin__illu{grid-column:auto;justify-self:end;width:9rem;margin:-2rem 0 -7rem}
  .l-voices__list{grid-template-columns:1fr}
  .l-duo__grid{grid-template-columns:1fr}
  .l-duo__panel:nth-child(2){margin-bottom:0}
  .l-band{grid-template-columns:repeat(5,1fr)}
  .l-band i:nth-child(n+6){display:none}
  .l-visit .l-split{width:calc(100% - var(--g) * 2)}
  .l-visit__map{min-height:360px}
  .l-visit__illu{left:auto;right:-1rem;bottom:-7rem;width:8.5rem}
  .l-table div{grid-template-columns:8rem 1fr}
}
@media (max-width:540px){
  .l-table div{grid-template-columns:1fr;gap:.2rem}
}

.l-visit__map .map-still{filter:grayscale(1) sepia(.3) contrast(.92);border-radius:var(--arch)}

/* Petra & Franz rechts neben dem Boutique-Text: größer, näher am Text, über der Kante zu den Kennzahlen */
.l-manifest .l-manifest__grid{grid-template-columns:1fr 1.05fr;gap:clamp(1.5rem,3vw,3.5rem);align-items:end}
.l-manifest .l-h2{font-size:clamp(3rem,6vw,6.4rem);max-width:12ch}
.l-manifest .l-lead{font-size:clamp(1.12rem,1.35vw,1.32rem);max-width:36rem}
.l-manifest__illu.l-manifest__couple{max-width:none;width:112%;justify-self:start;margin-left:-6%;align-self:end;margin-bottom:-5rem}
@media (max-width:900px){.l-manifest__illu.l-manifest__couple{width:100%;margin-left:0;margin-bottom:-3rem;max-width:28rem;justify-self:center}}
/* Die Frau unter den Lauben neben „Gut zu wissen“, ragt in den Abschluss hinein */
.l-faq__wrap{max-width:1300px}
.l-faq__grid{display:grid;grid-template-columns:1fr minmax(14rem,22rem);gap:clamp(2rem,6vw,6rem);align-items:end}
.l-faq__illu{margin-bottom:calc(clamp(5rem,10vw,8rem) * -1);position:relative;z-index:3}
@media (max-width:900px){.l-faq__grid{grid-template-columns:1fr}.l-faq__illu{width:min(70%,16rem);justify-self:end;margin-top:1rem}}

/* ---------- Lesbarkeit: Texte, Menü und Kapitel-Beschriftungen minimal größer (Stand vorher: _backup-v54-vor-schriftgroesse) ---------- */
body.linie{font-size:clamp(1.08rem,1.02rem + .28vw,1.22rem)}
.linie .nav__links,.linie .nav__burger{font-size:.84rem}
.linie .nav__tel{font-size:.86rem}
.linie .l-label{font-size:.8rem}
.linie .l-label i{font-size:1.16rem}
.linie .l-cap{font-size:.78rem}
.linie .l-lead{font-size:clamp(1.12rem,1.25vw,1.28rem)}
.linie .l-manifest .l-lead{font-size:clamp(1.18rem,1.45vw,1.4rem)}
.linie .d-hero__lead{font-size:clamp(1.08rem,1.2vw,1.22rem)}
.linie .wordmark{font-size:1.95rem}
