/* =========================================================
   Änderungsschneiderei Loucas — Design-System „Roter Faden"
   Papier & Tuch, zusammengehalten vom roten Faden.
   Fraunces (Display) · IBM Plex Mono (Labels/Maße) · Inter (Text)
   ========================================================= */

/* ---------- Schriften (lokal, DSGVO) ---------- */
@font-face{font-family:"Fraunces";src:url("/assets/fonts/fraunces-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;}
@font-face{font-family:"Plex Mono";src:url("/assets/fonts/plexmono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Plex Mono";src:url("/assets/fonts/plexmono-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
  --paper:#F0EAE0;--paper-2:#E7DFD1;--chalk:#FBF8F2;
  --ink:#221E1A;--ink-soft:#6E655B;
  --cloth:#221F19;--cloth-2:#2C281F;
  --faden:#B23A2E;--faden-deep:#8F2A20;--faden-lt:#E0705F;
  --stone:#B7AC99;--ok:#2F7D4F;
  --line:rgba(34,30,26,.14);--line-2:rgba(34,30,26,.28);
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-mono:"Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;--gutter:clamp(1.15rem,4vw,2.5rem);
  --radius:4px;--radius-lg:10px;--header-h:66px;
  --shadow:0 1px 0 var(--line),0 18px 40px -24px rgba(34,25,20,.5);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Reset / Base ---------- */
*,*::before,*::after{box-sizing:border-box;}*{margin:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-sans);color:var(--ink);background:var(--paper);
  line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background-image:linear-gradient(rgba(34,30,26,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(34,30,26,.028) 1px,transparent 1px);
  background-size:26px 26px;overflow-x:hidden;
}
img,picture,svg{display:block;max-width:100%;}
[hidden]{display:none!important;}
a{color:var(--faden);text-underline-offset:3px;text-decoration-thickness:1px;}
ul{list-style:none;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.04;letter-spacing:-.015em;color:var(--ink);font-optical-sizing:auto;}
:focus-visible{outline:2.5px solid var(--faden);outline-offset:3px;border-radius:2px;}
::selection{background:var(--faden);color:#fff;}
.wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap;border:0!important;}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--chalk);padding:.6rem 1rem;border-radius:var(--radius);transition:top .2s;}
.skip-link:focus{top:12px;}
section[id],#top{scroll-margin-top:calc(var(--header-h) + 12px);}

/* ---------- Label + Naht-Divider ---------- */
.label{font-family:var(--font-mono);font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;line-height:1.4;max-width:100%;}
.label::before{content:"";width:22px;height:2px;background:var(--faden);flex:none;}
.stitch{height:2px;border:0;background:repeating-linear-gradient(90deg,var(--faden) 0 12px,transparent 12px 20px);opacity:.85;}

/* ---------- Buttons ---------- */
.btn{--bg:var(--faden);--fg:#fff;--bd:var(--faden);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-mono);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:.9rem 1.4rem;border:1.5px solid var(--bd);background:var(--bg);color:var(--fg);border-radius:var(--radius);text-decoration:none;white-space:nowrap;transition:transform .15s var(--ease),background-color .18s,color .18s,border-color .18s,box-shadow .18s;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(143,42,32,.7);}
.btn:active{transform:translateY(0);}
.btn--solid:hover{--bg:var(--faden-deep);--bd:var(--faden-deep);color:#fff;}
.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line-2);}
.btn--ghost:hover{--bg:var(--ink);--fg:var(--chalk);--bd:var(--ink);color:var(--chalk);}
.btn--sm{padding:.6rem 1rem;font-size:.74rem;}
.btn svg{width:1.05em;height:1.05em;}

/* ---------- Header ---------- */
.hd{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(130%) blur(9px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s;}
.hd.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -26px rgba(34,25,20,.8);}
.hd__in{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);gap:1rem;}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);}
.brand__mk{width:34px;height:34px;flex:none;}
.brand__tx{display:grid;line-height:1;}
.brand__k{font-family:var(--font-mono);font-weight:600;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);}
.brand__n{font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;color:var(--faden);margin-top:.12em;}
.nav{display:flex;align-items:center;gap:1.6rem;}
.nav a{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;padding:.2rem 0;}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--faden);transition:right .28s var(--ease);}
.nav a:not(.btn):hover::after{right:0;}
.nav .btn{color:#fff;}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;position:relative;}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:11px;right:11px;height:2px;background:var(--ink);border-radius:2px;transition:transform .24s var(--ease),opacity .2s;}
.burger span{top:50%;transform:translateY(-50%);}
.burger span::before{top:-7px;}.burger span::after{top:7px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg);}

/* ---------- Sektionen ---------- */
.sec{padding:clamp(3.4rem,8vw,6rem) 0;position:relative;}
.sec--paper{background:var(--paper);}
.sec--paper2{background:var(--paper-2);}
.sec__head{max-width:44rem;margin-bottom:clamp(2rem,5vw,3rem);}
.sec__head h2{font-size:clamp(2rem,5.2vw,3.1rem);margin-top:.7rem;}
.sec__head p{color:var(--ink-soft);font-size:1.08rem;margin-top:.8rem;max-width:38rem;}
.sec__head--center{text-align:center;margin-inline:auto;}
.sec__head--center .label{justify-content:center;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(2rem,5vw,3.6rem) 0 clamp(3rem,7vw,5rem);}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center;}
.hero__text{min-width:0;}
.hero__eyebrow{margin-bottom:1.3rem;}
.hero h1{font-size:clamp(2.7rem,8vw,5rem);font-weight:500;letter-spacing:-.025em;}
.hero h1 em{font-style:italic;font-weight:400;position:relative;white-space:nowrap;}
.hero h1 .draw{position:absolute;left:-2%;right:-2%;bottom:-.14em;width:104%;height:.34em;overflow:visible;}
.hero h1 .draw path{fill:none;stroke:var(--faden);stroke-width:6;stroke-linecap:round;}
.hero__lead{font-size:1.16rem;color:var(--ink-soft);margin:1.6rem 0 2rem;max-width:32rem;}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.8rem;}
.hero__media{position:relative;justify-self:center;width:100%;max-width:480px;min-width:0;}
.hero__frame{position:relative;border:1px solid var(--ink);padding:10px;background:var(--chalk);box-shadow:var(--shadow);}
.hero__frame::after{content:"";position:absolute;inset:5px;border:1.5px dashed var(--faden);opacity:.55;pointer-events:none;}
.hero__frame img{width:100%;height:auto;aspect-ratio:4/3.2;object-fit:cover;}
.hero__tag{position:absolute;right:-10px;bottom:16px;background:var(--ink);color:var(--chalk);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .8rem;border-radius:var(--radius);}
.hero__tag b{color:var(--faden-lt);}

/* Ticket (Bewertung + Live-Status) */
.ticket{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;background:var(--chalk);border:1px solid var(--line-2);border-radius:var(--radius);padding:.7rem 1.05rem;position:relative;font-family:var(--font-mono);font-size:.82rem;}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1px solid var(--line-2);transform:translateY(-50%);}
.ticket::before{left:-6px;}.ticket::after{right:-6px;}
.ticket .stars{color:var(--faden);letter-spacing:.06em;}
.ticket b{color:var(--ink);}
.ticket .sep{width:1px;height:1.1em;background:var(--line-2);}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ink-soft);display:inline-block;margin-right:.4rem;}
.is-open .dot{background:var(--ok);}.is-closed .dot{background:var(--faden);}
.status-open{color:var(--ok);}.status-closed{color:var(--faden-deep);}

/* ---------- Maßband-Divider ---------- */
.tape{background:var(--ink);color:var(--chalk);overflow:hidden;}
.tape__in{display:flex;align-items:stretch;gap:0;height:52px;font-family:var(--font-mono);}
.tape__lbl{display:flex;align-items:center;gap:.6rem;padding:0 clamp(1rem,4vw,1.4rem);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--chalk);}
.tape__lbl b{color:var(--faden-lt);}
.tape__ruler{flex:1;position:relative;background:repeating-linear-gradient(90deg,rgba(251,248,242,.5) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(251,248,242,.28) 0 1px,transparent 1px 8px);background-position:bottom;background-size:100% 16px,100% 9px;background-repeat:repeat-x;}

/* ---------- Leistungen (Schneider-Menü) ---------- */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(1.5rem,4vw,3.5rem);}
.svc{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.25rem 0;border-top:1px dashed var(--line-2);align-items:start;}
.menu>.svc:nth-child(1),.menu>.svc:nth-child(2){border-top:0;}
.svc__pin{width:9px;height:9px;border-radius:50%;background:var(--faden);margin-top:.62rem;flex:none;box-shadow:0 0 0 3px rgba(178,58,46,.14);}
.svc__b h3{font-family:var(--font-display);font-size:1.28rem;font-weight:600;letter-spacing:-.01em;}
.svc__b p{color:var(--ink-soft);font-size:.97rem;margin-top:.25rem;}
.svc--star .svc__b h3::after{content:"Express";font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--faden);padding:.16em .5em;border-radius:2px;margin-left:.6rem;vertical-align:middle;}
.menu__note{margin-top:2.2rem;padding:1.1rem 1.3rem;background:var(--chalk);border:1px solid var(--line);border-left:3px solid var(--faden);border-radius:var(--radius);color:var(--ink);max-width:48rem;}
.menu__note b{font-family:var(--font-display);}

/* ---------- Ablauf (Prozess – echte Reihenfolge → nummeriert) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.1rem,2.6vw,1.8rem);counter-reset:step;}
.step{position:relative;padding-top:2.7rem;}
.step__n{position:absolute;top:0;left:0;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--faden);}
.step__n::before{counter-increment:step;content:"0" counter(step);}
.step::after{content:"";position:absolute;top:.55rem;left:2.4rem;right:-.9rem;height:2px;background:repeating-linear-gradient(90deg,var(--faden) 0 7px,transparent 7px 13px);opacity:.55;}
.step:last-child::after{display:none;}
.step h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin-bottom:.3rem;}
.step p{color:var(--ink-soft);font-size:.95rem;}
.benefits{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:2.6rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;}
.benefits li{display:flex;align-items:center;gap:.55rem;color:var(--ink);}
.benefits li::before{content:"";width:7px;height:7px;background:var(--faden);border-radius:50%;flex:none;}

/* ---------- Bewertungen (Cloth-Band, dunkel) ---------- */
.cloth{background:var(--cloth);color:var(--chalk);position:relative;overflow:hidden;}
.cloth::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 6px);}
.cloth .wrap{position:relative;}
.cloth h2,.cloth h3{color:var(--chalk);}
.cloth .label{color:#cbb8a6;}
.cloth .sec__head p{color:#cbc0b2;}
.rate{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center;max-width:52rem;}
.rate__num{font-family:var(--font-display);font-size:clamp(4.5rem,14vw,7.5rem);font-weight:400;line-height:.85;color:var(--chalk);}
.rate__num sup{font-size:.32em;color:var(--faden-lt);vertical-align:super;font-family:var(--font-mono);}
.rate__stars{color:var(--faden-lt);font-size:1.5rem;letter-spacing:.1em;}
.rate__meta{font-family:var(--font-mono);font-size:.82rem;color:#cbc0b2;margin:.5rem 0 1.1rem;letter-spacing:.03em;}
.cloth .btn--ghost{--fg:var(--chalk);--bd:rgba(251,248,242,.4);}
.cloth .btn--ghost:hover{--bg:var(--chalk);--fg:var(--ink);--bd:var(--chalk);color:var(--ink);}

/* ---------- Einblicke (Kontaktbogen / Swatches) ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.7rem,2vw,1.1rem);}
.gallery__btn{display:block;width:100%;padding:6px;border:1px solid var(--ink);background:var(--chalk);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s;}
.gallery__btn:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.gallery__btn img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.gallery__note{margin-top:1.1rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.03em;}

/* ---------- Öffnungszeiten & Anfahrt ---------- */
.zeiten{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,3.4rem);}
.zeiten h2{font-size:clamp(1.7rem,4vw,2.4rem);}
.statusbadge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.82rem;margin:.7rem 0 1.2rem;padding:.42rem .85rem;border:1px solid var(--line-2);background:var(--chalk);border-radius:var(--radius);}
.hours{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.92rem;}
.hours th,.hours td{text-align:left;padding:.72rem .2rem;border-bottom:1px dashed var(--line-2);font-weight:400;}
.hours td{text-align:right;color:var(--ink-soft);}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:0;}
.hours tr.is-today th,.hours tr.is-today td{color:var(--faden);font-weight:600;}
.nap{font-style:normal;line-height:1.7;margin-bottom:1rem;}
.zeiten__info{color:var(--ink-soft);font-size:.98rem;margin-bottom:1rem;}
.map{position:relative;margin-top:1.2rem;aspect-ratio:16/10;border:1px solid var(--ink);background:var(--paper-2);overflow:hidden;}
.map iframe{width:100%;height:100%;border:0;display:block;}
.map__consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;text-align:center;padding:1.4rem;background:var(--paper-2);}
.map__consent strong{font-family:var(--font-display);font-size:1.05rem;color:var(--ink);}
.map__consent p{font-size:.9rem;color:var(--ink-soft);max-width:26rem;}
.map__alt{font-size:.82rem!important;}

/* ---------- Kontakt / Formular ---------- */
.kontakt{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.6rem,5vw,3.4rem);align-items:start;}
.kontakt__intro>p{color:var(--ink-soft);margin:.8rem 0 1.2rem;}
.contact-list{font-family:var(--font-mono);font-size:.86rem;display:grid;gap:.7rem;margin:0 0 1.6rem;}
.contact-list li{display:grid;grid-template-columns:7rem 1fr;gap:.6rem;padding-bottom:.7rem;border-bottom:1px dashed var(--line-2);}
.contact-list li:last-child{border-bottom:0;}
.contact-list b{color:var(--faden);font-weight:600;}
.form{background:var(--chalk);border:1px solid var(--ink);padding:clamp(1.3rem,3vw,1.9rem);box-shadow:var(--shadow);}
.form__row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.form input,.form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius);padding:.72rem .85rem;width:100%;transition:border-color .16s,box-shadow .16s;}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--faden);box-shadow:0 0 0 3px rgba(178,58,46,.15);}
.form input[aria-invalid="true"],.form textarea[aria-invalid="true"]{border-color:var(--faden);box-shadow:0 0 0 3px rgba(178,58,46,.2);}
.form textarea{resize:vertical;min-height:120px;}
.form__hint{font-family:var(--font-sans);font-size:.82rem;color:var(--ink-soft);margin:-.3rem 0 1rem;}
.form__consent{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-size:.86rem;color:var(--ink-soft);margin-bottom:1.2rem;}
.form__consent input{width:1.1rem;height:1.1rem;margin-top:.18rem;accent-color:var(--faden);}
.form__status{margin-top:1rem;padding:.8rem 1rem;border-radius:var(--radius);font-size:.92rem;}
.form__status.is-success{background:rgba(47,125,79,.13);color:#276b43;}
.form__status.is-error{background:rgba(178,58,46,.12);color:var(--faden-deep);}
.form #formSubmit{width:100%;}

/* ---------- Floating-Anruf-Button + Cookie ---------- */
.callfab{position:fixed;right:16px;bottom:16px;z-index:150;display:inline-flex;align-items:center;gap:.5rem;background:var(--faden);color:#fff;font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1.15rem;border-radius:var(--radius);text-decoration:none;box-shadow:0 12px 26px -12px rgba(143,42,32,.8);border:1.5px solid var(--faden);}
.callfab:hover{background:var(--faden-deep);border-color:var(--faden-deep);color:#fff;}
.callfab svg{width:1.1em;height:1.1em;}
.cookie{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:160;width:min(100% - 2rem,620px);background:var(--chalk);border:1px solid var(--ink);box-shadow:var(--shadow);border-radius:var(--radius);padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.cookie__t{font-family:var(--font-sans);font-size:.86rem;color:var(--ink-soft);flex:1 1 300px;}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(20,17,13,.92);padding:1.5rem;}
.lightbox.is-open{display:flex;}
.lightbox__img{max-width:min(92vw,900px);max-height:88vh;width:auto;height:auto;border:6px solid var(--chalk);box-shadow:var(--shadow);}
.lightbox__btn{position:absolute;background:rgba(251,248,242,.14);color:var(--chalk);border:0;width:50px;height:50px;border-radius:50%;font-size:1.5rem;display:grid;place-items:center;transition:background-color .18s;}
.lightbox__btn:hover{background:rgba(251,248,242,.28);}
.lightbox__close{top:18px;right:18px;}.lightbox__prev{left:14px;top:50%;transform:translateY(-50%);}.lightbox__next{right:14px;top:50%;transform:translateY(-50%);}
body.no-scroll{overflow:hidden;}

/* ---------- Footer ---------- */
.ft{background:var(--cloth-2);color:#cbc0b2;padding:clamp(2.6rem,6vw,4rem) 0 1.6rem;}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;}
.ft .brand__n{color:var(--faden-lt);}.ft .brand__k{color:#a89a86;}
.ft__brand p{margin-top:.8rem;max-width:22rem;line-height:1.6;color:rgba(203,192,178,.85);font-family:var(--font-sans);font-size:.92rem;}
.ft h2{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#a89a86;margin-bottom:.8rem;font-weight:600;}
.ft a{color:#e7dccd;text-decoration:none;}.ft a:hover{color:#fff;}
.ft__col p,.ft__col address{font-family:var(--font-sans);font-size:.92rem;line-height:1.7;font-style:normal;color:rgba(203,192,178,.9);}
.ft__links{display:grid;gap:.5rem;font-family:var(--font-sans);font-size:.92rem;}
.ft__base{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(251,248,242,.12);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:#a89a86;}

/* ---------- Rechtsseiten ---------- */
.back-link{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;display:inline-flex;gap:.4rem;align-items:center;}
.back-link:hover{color:var(--faden);}
.legal{padding:clamp(2rem,5vw,3.5rem) 0 clamp(3rem,7vw,5rem);}
.legal .wrap{max-width:820px;}
.legal h1{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:1.3rem;}
.legal h2{font-size:1.35rem;font-weight:600;margin:2.2rem 0 .6rem;color:var(--ink);}
.legal p,.legal li{color:var(--ink-soft);margin-bottom:.85rem;line-height:1.7;}
.legal ul{padding-left:0;margin-bottom:1rem;}
.legal li{padding-left:1.3rem;position:relative;}
.legal li::before{content:"—";position:absolute;left:0;color:var(--faden);}
.legal address{font-style:normal;color:var(--ink);line-height:1.7;margin-bottom:.85rem;}
.legal .lead{font-size:1.05rem;color:var(--ink);}
.legal small{color:var(--ink-soft);font-family:var(--font-mono);font-size:.8rem;}
.ph{background:#F6E7C8;border-bottom:1px dashed var(--faden);padding:0 .25em;border-radius:2px;color:var(--ink);font-style:normal;}

/* ---------- Motion ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0)*70ms);}
.reveal.is-in{opacity:1;transform:none;}
.draw path{stroke-dasharray:var(--len,340);stroke-dashoffset:var(--len,340);}
.draw.is-in path{transition:stroke-dashoffset 1.1s .35s var(--ease);stroke-dashoffset:0;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .steps{grid-template-columns:1fr 1fr;gap:2rem 1.4rem;}
  .step::after{display:none;}
  .gallery{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__media{order:-1;max-width:520px;}
  .menu{grid-template-columns:1fr;}
  .menu>.svc:nth-child(2){border-top:1px dashed var(--line-2);}
  .zeiten,.kontakt{grid-template-columns:1fr;}
  .ft__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .burger{display:block;}
  .nav{position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.4rem var(--gutter) 1rem;display:none;}
  .nav.is-open{display:flex;}
  .nav a{padding:.9rem .1rem;border-top:1px dashed var(--line);}
  .nav a:first-child{border-top:0;}
  .nav .btn{justify-content:center;margin-top:.6rem;}
  .hero__media{max-width:100%;}
  .hero__tag{right:6px;bottom:6px;}
  .rate{grid-template-columns:1fr;}
  .form__grid{grid-template-columns:1fr;}
  .contact-list li{grid-template-columns:1fr;gap:.1rem;}
  .tape__lbl:last-child{display:none;}
  .callfab__label{display:none;}
  .callfab{padding:.9rem;}
}
@media (max-width:480px){
  .steps,.gallery{grid-template-columns:1fr;}
  .ft__grid{grid-template-columns:1fr;}
  .hero__cta .btn{flex:1 1 100%;}
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .reveal{opacity:1;transform:none;}
  .draw path{stroke-dashoffset:0;}
  .gallery__btn:hover,.btn:hover{transform:none;}
}

/* ---------- Reveal-Stagger (CSP-konform, ohne Inline-Styles) ---------- */
.hero__media{--i:1;}
.hero__text>.reveal:nth-child(2){--i:1;}
.hero__text>.reveal:nth-child(3){--i:2;}
.hero__text>.reveal:nth-child(4){--i:3;}
.hero__text>.reveal:nth-child(5){--i:4;}
.menu>.svc:nth-child(2){--i:1;}.menu>.svc:nth-child(3){--i:2;}.menu>.svc:nth-child(4){--i:3;}
.menu>.svc:nth-child(5){--i:1;}.menu>.svc:nth-child(6){--i:2;}.menu>.svc:nth-child(7){--i:3;}.menu>.svc:nth-child(8){--i:4;}
.steps>.step:nth-child(2){--i:1;}.steps>.step:nth-child(3){--i:2;}.steps>.step:nth-child(4){--i:3;}
.gallery>li:nth-child(2){--i:1;}.gallery>li:nth-child(3){--i:2;}.gallery>li:nth-child(4){--i:3;}

/* ---------- Helfer ---------- */
.stars-dim{opacity:.4;}
.ticket a{color:inherit;text-decoration:none;}
.ticket a:hover b{color:var(--faden);}

/* ---------- Ohne JavaScript: Inhalte sichtbar lassen ---------- */
@media (scripting: none){
  .reveal{opacity:1;transform:none;}
  .draw path{stroke-dashoffset:0;}
}

