*{box-sizing:border-box}body{margin:0;overflow-x:hidden}img{display:block;max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 30px}
.label{font:500 11px/1.3 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-accent)}
h1,h2,h3{margin:0;font-weight:500;color:var(--fg-1);text-wrap:balance}
.h1{font:500 clamp(36px,4.6vw,52px)/1.1 var(--font-serif)}.h2{font:500 clamp(30px,3.6vw,42px)/1.15 var(--font-serif)}.h3{font:500 25px/1.25 var(--font-serif)}
.lead{font:300 16px/1.8 var(--font-sans);color:var(--fg-2);margin:0;text-wrap:pretty}p{text-wrap:pretty}
.stack{display:flex;flex-direction:column;gap:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 32px;font:500 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background .3s var(--ease-soft),color .3s,border-color .3s;white-space:nowrap;background:none}
.btn svg{width:16px;height:16px}.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary{background:var(--action-primary);color:#fff}.btn-primary:hover{background:var(--action-primary-hover);color:#fff}
.btn-outline{border-color:var(--hm-ink-900);color:var(--hm-ink-900)}.btn-outline:hover{background:var(--hm-ink-900);color:#fff}
.btn-light{border-color:rgba(255,255,255,.75);color:#fff}.btn-light:hover{background:#fff;color:var(--hm-ink-900)}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1)}.link svg{width:15px;height:15px;transition:transform .3s var(--ease-soft)}.link:hover{color:var(--fg-accent)}.link:hover svg{transform:translateX(4px)}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px}.checks.one{grid-template-columns:1fr}.checks li{display:flex;gap:12px;font:300 14px/1.7 var(--font-sans);color:var(--fg-2)}.checks svg{width:15px;height:15px;color:var(--fg-accent);flex:none;margin-top:5px;stroke-width:1.75}
/* top bar + header */
.topbar{background:var(--hm-rose-50);font:400 12px/1 var(--font-sans);color:var(--fg-2);letter-spacing:.03em}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:20px}.topbar a{color:var(--fg-2)}.topbar a:hover{color:var(--fg-accent)}
.tb{display:flex;gap:28px;align-items:center}.tbi{display:flex;gap:8px;align-items:center}.tbi svg{width:14px;height:14px;color:var(--fg-accent)}
.status{display:inline-flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:var(--hm-success);animation:pulse 2.4s infinite}.dot.closed{background:var(--hm-rose-400);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(95,122,98,.45)}70%{box-shadow:0 0 0 7px rgba(95,122,98,0)}100%{box-shadow:0 0 0 0 rgba(95,122,98,0)}}
.hdr{padding-top:30px;text-align:center;background:#fff;position:relative;z-index:10}.hdr .logo img{height:66px;margin:0 auto}
.nav{display:flex;justify-content:center;gap:44px;padding:24px 0 28px}.nav a{font:500 11px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-1);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hm-rose-400);transform:scaleX(0);transition:transform .4s var(--ease-soft)}.nav a:hover,.nav a.on{color:var(--fg-accent)}.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.burger{display:none;position:absolute;right:20px;top:22px;width:44px;height:44px;border:0;background:none;color:var(--fg-1);cursor:pointer;align-items:center;justify-content:center}.burger svg{width:24px;height:24px}
.menu{position:fixed;inset:0;background:#fff;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-soft)}.menu.open{opacity:1;pointer-events:auto}
.menu a{font:500 32px/1.2 var(--font-serif);color:var(--fg-1);transform:translateY(12px);transition:transform .5s var(--ease-soft),color .2s}.menu.open a{transform:none}.menu a.on{color:var(--fg-accent)}.menu .x{position:absolute;right:20px;top:22px}
/* hero */
.hero{position:relative;height:clamp(580px,86vh,820px);overflow:hidden;background:var(--hm-ink-900)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease-soft);pointer-events:none}.slide.on{opacity:1;pointer-events:auto;z-index:1}
.slide>img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 9s cubic-bezier(.2,.6,.3,1)}.slide.on>img{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,24,25,.86) 0%,rgba(28,24,25,.7) 30%,rgba(28,24,25,.38) 55%,rgba(28,24,25,.08) 80%),linear-gradient(0deg,rgba(28,24,25,.45) 0%,rgba(28,24,25,0) 35%)}
.slide.bottom::after{background:linear-gradient(0deg,rgba(28,24,25,.9) 0%,rgba(28,24,25,.68) 30%,rgba(28,24,25,.3) 55%,rgba(28,24,25,.05) 78%),linear-gradient(90deg,rgba(28,24,25,.45) 0%,rgba(28,24,25,0) 55%)}.hero h1,.hero .lead,.hero .label{text-shadow:0 1px 18px rgba(0,0,0,.35)}
.stx{position:absolute;inset:0;z-index:2;display:flex;align-items:center}.slide.bottom .stx{align-items:flex-end;padding-bottom:170px}.stx .hin{max-width:560px}
.hero .label{color:var(--hm-rose-200)}.hero h1{font:500 clamp(46px,6.4vw,84px)/1.02 var(--font-serif);color:#fff;margin:20px 0 24px}.slide.bottom h1{font-size:clamp(40px,5vw,66px);margin:16px 0 18px}
.hero .lead{color:rgba(255,255,255,.9);max-width:440px}.hero .btns{margin-top:36px}
.ln{display:block;overflow:hidden;padding-bottom:.06em}.ln>span{display:block;transform:translateY(108%);transition:transform 1.2s var(--ease-soft);transition-delay:var(--d,0s)}.slide.on .ln>span{transform:none}
.fd{opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease-soft),transform 1s var(--ease-soft);transition-delay:var(--d,0s)}.slide.on .fd{opacity:1;transform:none}
.hctl{position:absolute;z-index:3;left:0;right:0;bottom:104px;pointer-events:none}.hctl .wrap{display:flex;align-items:center;justify-content:flex-end;gap:28px}
.cnt{font:500 15px/1 var(--font-serif);color:#fff;letter-spacing:.08em}.cnt b{font-weight:500;font-size:22px}
.bars{display:flex;gap:10px;pointer-events:auto}.bars button{width:54px;height:20px;border:0;padding:0;background:none;cursor:pointer;position:relative}.bars button::before,.bars i{content:"";position:absolute;left:0;top:9px;height:1px;background:rgba(255,255,255,.35);width:100%}.bars i{background:#fff;width:0}.bars .on i{animation:fill var(--iv,7s) linear forwards}.bars.paused .on i{animation-play-state:paused}
@keyframes fill{to{width:100%}}
.arr{display:flex;gap:8px;pointer-events:auto}.arr button{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s}.arr button:hover{background:#fff;color:var(--hm-ink-900)}.arr svg{width:20px;height:20px;stroke-width:1}
/* quick info */
.quick{position:relative;z-index:5;margin-top:-66px}.qbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.05fr;background:#fff;box-shadow:var(--shadow-2)}
.qi{padding:30px 32px;display:flex;gap:16px;align-items:flex-start;border-left:1px solid var(--border-1)}.qi:first-child{border-left:0}.qi>svg{width:22px;height:22px;color:var(--fg-accent);flex:none;margin-top:2px}
.qi .k{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);margin-bottom:8px}.qi .v{font:500 19px/1.3 var(--font-serif);color:var(--fg-1)}.qi a.v:hover{color:var(--fg-accent)}.qi .s{font:300 12px/1.5 var(--font-sans);color:var(--fg-2);margin-top:4px}
.qcta{background:var(--action-primary);color:#fff;padding:30px 32px;display:flex;flex-direction:column;justify-content:center;gap:10px;transition:background .3s}.qcta:hover{background:var(--action-primary-hover);color:#fff}
.qcta .k{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hm-rose-100)}.qcta .v{font:500 22px/1.2 var(--font-serif);display:flex;align-items:center;justify-content:space-between;gap:10px}.qcta svg{width:20px;height:20px;transition:transform .3s}.qcta:hover svg{transform:translateX(5px)}
/* sections */
.sec{padding:120px 0}.sec.tint{background:var(--hm-rose-50)}.sec.tint2{background:var(--hm-rose-100)}
.split{display:grid;grid-template-columns:5fr 6fr;gap:90px;align-items:center}.split.rev{grid-template-columns:6fr 5fr}
.frame{position:relative;margin:16px 0 0 16px}.frame::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--hm-rose-300);pointer-events:none}
.ph{overflow:hidden;border-radius:var(--radius-img);position:relative}.ph img{width:100%;height:100%;object-fit:cover}
.sig{height:76px;width:auto}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}.shead .lead{max-width:420px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.card{display:flex;flex-direction:column;gap:14px;color:inherit}.card .ph{aspect-ratio:4/5}.card .ph img{transition:transform 1.4s var(--ease-soft)}.card:hover .ph img{transform:scale(1.05)}
.card .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}.card .price{font:500 13px/1 var(--font-sans);color:var(--fg-accent);letter-spacing:.04em}.card h3{transition:color .3s}.card:hover h3{color:var(--fg-accent)}.card p{margin:0;font:300 14px/1.75 var(--font-sans);color:var(--fg-2)}
.card .ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--hm-rose-400);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-soft)}.card:hover .ph::after{transform:scaleX(1)}
/* testimonials */
.quotes{max-width:780px;margin:0 auto;text-align:center}.quotes>svg{width:34px;height:34px;color:var(--hm-rose-400);margin:0 auto 26px;stroke-width:1}
.qs{display:grid}.q{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity 1s var(--ease-soft),transform 1s var(--ease-soft);pointer-events:none}.q.on{opacity:1;transform:none;pointer-events:auto}
.q blockquote{margin:0;font:italic 400 clamp(22px,2.6vw,30px)/1.5 var(--font-serif);color:var(--fg-1);text-wrap:balance}.q .who{margin-top:26px;font:500 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-accent)}
.qdots{display:flex;justify-content:center;gap:10px;margin-top:36px}.qdots button{width:28px;height:18px;border:0;background:none;padding:0;cursor:pointer;position:relative}.qdots button::before{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:var(--hm-rose-200);transition:background .3s}.qdots button.on::before{background:var(--hm-rose-600)}
.qnote{margin-top:22px;font:300 11px/1 var(--font-sans);color:var(--fg-3)}
/* hours */
.hours{width:100%;border-collapse:collapse;font:300 14px/1 var(--font-sans);color:var(--fg-2)}.hours td{padding:13px 14px;border-bottom:1px solid var(--border-1)}.hours td:last-child{text-align:right}.hours tr.today td{background:#fff;color:var(--fg-1);font-weight:500}.hours .tag{display:inline-block;margin-left:10px;padding:4px 8px;background:var(--hm-rose-100);color:var(--hm-rose-700);font:500 9px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-xs)}
.tint .hours td,.tint2 .hours td{border-color:rgba(154,95,115,.15)}
/* page head */
.phead{background:var(--hm-rose-50);padding:84px 0 88px;text-align:center}.phead .h1{margin:16px 0 0}.phead .lead{max-width:560px;margin:18px auto 0}
/* services list */
.tabs{display:flex;gap:40px;justify-content:center;border-bottom:1px solid var(--border-1);overflow-x:auto;margin-bottom:10px}.tabs button{background:none;border:0;padding:18px 0;margin-bottom:-1px;border-bottom:2px solid transparent;font:500 11px/1.2 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-1);cursor:pointer;white-space:nowrap;transition:color .3s,border-color .3s}.tabs button:hover{color:var(--fg-accent)}.tabs button.on{color:var(--fg-accent);border-color:var(--hm-rose-400)}
.panel{display:none}.panel.on{display:block;animation:pin .7s var(--ease-soft)}@keyframes pin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.row{display:flex;align-items:baseline;gap:14px;padding:24px 0;border-bottom:1px solid var(--border-1)}.row .n{font:500 22px/1.3 var(--font-serif);color:var(--fg-1)}.row .d{font:300 13px/1.4 var(--font-sans);color:var(--fg-3)}.row .lead-dots{flex:1;border-bottom:1px dotted var(--border-2);transform:translateY(-5px);min-width:20px}.row .p{font:500 15px/1 var(--font-sans);color:var(--fg-accent);white-space:nowrap}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--radius-xs);background:var(--hm-rose-100);color:var(--hm-rose-700);font:500 9px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;align-self:center}
.note{font:300 12px/1.6 var(--font-sans);color:var(--fg-3);text-align:center;margin-top:30px}
/* form */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fgrid .full{grid-column:1/-1}
.fl{display:flex;flex-direction:column;gap:8px}.fl>span{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1)}
.in{height:50px;padding:0 18px;font:400 14px/1.5 var(--font-sans);color:var(--fg-1);background:#fff;border:1px solid var(--border-1);border-radius:0;outline:none;transition:border-color .25s;width:100%;appearance:none}textarea.in{height:auto;padding:14px 18px;resize:vertical}.in:focus{border-color:var(--hm-rose-400)}.in.err{border-color:var(--hm-danger)}
.selw{position:relative}.selw svg{position:absolute;right:16px;top:17px;width:16px;height:16px;pointer-events:none;color:var(--fg-2)}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{height:42px;padding:0 18px;border:1px solid var(--border-1);background:#fff;font:400 13px/1 var(--font-sans);color:var(--fg-1);cursor:pointer;transition:all .25s var(--ease-soft)}.chip:hover{border-color:var(--hm-rose-400)}.chip.on{background:var(--action-primary);border-color:var(--action-primary);color:#fff}
.cb{display:flex;gap:12px;align-items:flex-start;font:300 13px/1.6 var(--font-sans);color:var(--fg-2);cursor:pointer}.cb input{position:absolute;opacity:0;width:0;height:0}.cb .bx{width:18px;height:18px;border:1px solid var(--border-2);background:#fff;flex:none;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}.cb .bx svg{width:12px;height:12px;color:#fff;opacity:0;stroke-width:2.5}.cb input:checked+.bx{background:var(--action-primary);border-color:var(--action-primary)}.cb input:checked+.bx svg{opacity:1}.cb input:focus-visible+.bx{outline:2px solid var(--focus-ring)}
.fbox{background:var(--hm-rose-100);padding:64px 60px;border-radius:var(--radius-img)}
.ok{display:none;text-align:center;padding:30px 10px}.ok.on{display:block;animation:pin .8s var(--ease-soft)}.ok .ic{width:64px;height:64px;border-radius:50%;background:#fff;color:var(--fg-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.ok .ic svg{width:28px;height:28px;stroke-width:1.5}
/* contact */
.clist{display:flex;flex-direction:column;gap:30px}.ci{display:flex;gap:18px}.ci>svg{width:22px;height:22px;color:var(--fg-accent);flex:none;margin-top:2px}.ci .k{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1);margin-bottom:8px}.ci .v{font:300 15px/1.6 var(--font-sans);color:var(--fg-2)}.ci a.v:hover{color:var(--fg-accent)}
.map{height:380px;background:var(--hm-ink-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:30px;border-radius:var(--radius-img)}.map svg{width:28px;height:28px;color:var(--fg-accent)}.map p{margin:0;font:300 13px/1.6 var(--font-sans);color:var(--fg-2);max-width:360px}
.prose{max-width:720px;margin:0 auto}.prose h2{font:500 26px/1.3 var(--font-serif);margin:40px 0 12px}.prose p{font:300 14px/1.8 var(--font-sans);color:var(--fg-2);margin:0 0 12px}
/* footer */
.ft{background:var(--surface-dark);color:var(--fg-on-dark-2);font:300 13px/1.7 var(--font-sans);margin-top:0}.ft .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding:90px 30px 70px}
.ft h4{font:500 11px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:6px 0 24px}.ft a{color:var(--fg-on-dark-2)}.ft a:hover{color:#fff}.ft .logo{height:60px;margin-bottom:22px}
.fr{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.fr svg{width:15px;height:15px;color:var(--hm-rose-300);flex:none;margin-top:4px}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.fth{display:flex;justify-content:space-between;gap:12px}.fth.today{color:#fff}
.ft .bot{border-top:1px solid rgba(255,255,255,.08)}.ft .bot .wrap{display:flex;justify-content:space-between;gap:20px;padding:24px 30px;font-size:11px;letter-spacing:.06em;flex-wrap:wrap}.ft .bot .c{color:var(--hm-rose-300)}.ft .bot nav{display:flex;gap:26px}
.fsig{height:52px;margin-top:22px;opacity:.9}
/* floating */
.fab{position:fixed;right:28px;bottom:28px;z-index:40;transform:translateY(24px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease-soft),transform .5s var(--ease-soft);box-shadow:var(--shadow-3)}.fab.show{opacity:1;transform:none;pointer-events:auto}
.mbar{display:none}
/* reveal */
.rv{opacity:0;transform:translateY(30px);transition:opacity 1.1s var(--ease-soft),transform 1.1s var(--ease-soft);transition-delay:var(--d,0s)}.rv.vis{opacity:1;transform:none}
.rvi{clip-path:inset(14% 0 0 0);opacity:0;transition:clip-path 1.4s var(--ease-soft),opacity 1.1s var(--ease-soft);transition-delay:var(--d,0s)}.rvi img{transform:scale(1.08);transition:transform 1.8s var(--ease-soft)}.rvi.vis{clip-path:inset(0);opacity:1}.rvi.vis img{transform:none}
.card .rvi.vis img{transition:transform 1.4s var(--ease-soft)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv,.rvi{opacity:1;transform:none;clip-path:none}.rvi img{transform:none}}
@media (max-width:1000px){.nav{display:none}.burger{display:flex}.hdr{padding:18px 0 18px}.hdr .logo img{height:52px}.tb.r{display:none}
.split,.split.rev{grid-template-columns:1fr;gap:56px}.cards{gap:20px}.qbox{grid-template-columns:1fr 1fr}.qi:nth-child(3){border-left:0}.qi:nth-child(n+3){border-top:1px solid var(--border-1)}.ft .cols{grid-template-columns:1fr 1fr}.shead{flex-direction:column;align-items:flex-start}.sec{padding:84px 0}}
@media (max-width:640px){.wrap{padding:0 20px}.tb .hide-s{display:none}.hero{height:640px}.stx,.slide.bottom .stx{align-items:flex-end;padding-bottom:150px}.slide::after,.slide.bottom::after{background:linear-gradient(0deg,rgba(28,24,25,.92) 0%,rgba(28,24,25,.72) 35%,rgba(28,24,25,.35) 65%,rgba(28,24,25,.15) 100%)}.hero h1,.slide.bottom h1{font-size:42px}.hctl{bottom:96px}.hctl .cnt,.hctl .arr{display:none}.hctl .wrap{justify-content:flex-start}
.cards,.qbox,.fgrid,.ft .cols{grid-template-columns:1fr}.qi{border-left:0;border-top:1px solid var(--border-1)}.qi:first-child{border-top:0}.fbox{padding:40px 22px}.row{flex-wrap:wrap}.row .lead-dots{display:none}.row .p{margin-left:auto}.checks{grid-template-columns:1fr}
.fab{display:none}.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;box-shadow:0 -6px 20px rgba(47,44,45,.1)}.mbar .btn{height:56px;padding:0 10px}.mbar .btn-outline{background:#fff;border:0;border-top:1px solid var(--border-1)}body{padding-bottom:56px}}

.ft .btn-light{color:#fff}.ft .btn-light:hover{background:var(--action-primary);border-color:var(--action-primary);color:#fff}

/* v2: bild-animationen */
.rvi{clip-path:none!important;opacity:1!important}
.rvi::before{content:"";position:absolute;inset:0;z-index:2;background:var(--hm-rose-100);transform-origin:right center;transition:transform 1.3s cubic-bezier(.77,0,.18,1);transition-delay:var(--d,0s);pointer-events:none}
.rvi.vis::before{transform:scaleX(0)}
.rvi img{transform:scale(1.16);transition:transform 2.4s var(--ease-soft);transition-delay:var(--d,0s)}.rvi.vis img{transform:none}
.card .rvi.vis img{transition:transform 1.4s var(--ease-soft)}
.par img{height:calc(100% + 64px)!important;margin-top:-32px;will-change:translate}
.frame::before{inset:0;opacity:0;transition:inset 1.3s var(--ease-soft) .8s,opacity .8s .8s}.frame.vis::before{inset:-16px 16px 16px -16px;opacity:1}
@media (prefers-reduced-motion:reduce){.rvi::before{display:none}.rvi img{transform:none}.frame::before{inset:-16px 16px 16px -16px;opacity:1}}
/* v2: leistungen akkordeon (mobil) */
.acc-h{display:none}.acc-b{display:grid;grid-template-rows:1fr}.acc-b>div{min-height:0;overflow:hidden}
/* v2: terminformular */
.tgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:40px;align-items:start}
.tside{display:flex;flex-direction:column;gap:22px;position:sticky;top:24px}
.fbox{padding:56px 52px}
.fs{border:0;margin:0 0 38px;padding:0;min-width:0;display:flex;flex-direction:column;gap:16px}
.fs legend{display:flex;align-items:center;gap:14px;font:500 23px/1.2 var(--font-serif);color:var(--fg-1);padding:0;margin-bottom:20px}
.num{font:500 10px/1 var(--font-sans);letter-spacing:.12em;color:var(--fg-accent);width:34px;height:34px;border:1px solid var(--hm-rose-300);display:inline-flex;align-items:center;justify-content:center;flex:none;background:#fff}
.fl small{font-weight:300;letter-spacing:.02em;text-transform:none;color:var(--fg-3);margin-left:6px;font-size:11px}
.in{font-size:16px;height:52px}textarea.in{min-height:110px}
.in::placeholder{color:var(--hm-ink-400);font-weight:300}
.fe{display:none;font:normal 300 12px/1.4 var(--font-sans);color:var(--hm-danger)}
.fl.bad .fe,.cons.bad .fe{display:block}.fl.bad .in{border-color:var(--hm-danger)}.cons.bad .bx{border-color:var(--hm-danger)}
.cons{display:flex;flex-direction:column;gap:8px}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.days .chip,.times .chip{height:66px;padding:0 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.chip b{font:500 18px/1 var(--font-serif)}.times .chip b{font:500 12px/1 var(--font-sans);letter-spacing:.06em}
.chip small{font:300 10px/1 var(--font-sans);letter-spacing:.04em;opacity:.75}
.chip.on small{opacity:.9}
.fsub{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.fsub p{margin:0;font:300 12px/1.6 var(--font-sans);color:var(--fg-2)}
.btn.loading{pointer-events:none;opacity:.75}
.callcard{background:var(--action-primary);color:#fff;padding:28px 30px;display:flex;flex-direction:column;gap:8px;transition:background .3s}.callcard:hover{background:var(--action-primary-hover);color:#fff}
.callcard .k{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--hm-rose-100)}.callcard .v{font:500 24px/1.2 var(--font-serif);display:flex;align-items:center;gap:12px}.callcard svg{width:20px;height:20px}
.hcard{background:#fff;padding:24px 26px}.hcard .k{font:500 10px/1.2 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1);margin-bottom:6px}.hcard .hours td{padding:11px 0}.hcard .hours tr.today td{background:none;color:var(--fg-accent)}
@media (max-width:1000px){.tgrid{grid-template-columns:1fr}.tside{position:static;display:grid;grid-template-columns:1fr 1fr}.tside .ph{grid-column:1/-1}}
@media (max-width:640px){
.fbox{padding:36px 20px}.fs legend{font-size:21px}.tside{grid-template-columns:1fr}
.fsub .btn{width:100%}.days{gap:6px}.days .chip{height:60px}.chip b{font-size:16px}
.ph.par{height:400px!important}.frame .ph.par{height:440px!important}
[data-tabs] .tabs{display:none}
[data-tabs] .panel{display:block;border-bottom:1px solid var(--border-1);animation:none}
[data-tabs] .panel:first-of-type{border-top:1px solid var(--border-1)}
.acc-h{display:flex;width:100%;align-items:center;gap:14px;background:none;border:0;padding:22px 0;cursor:pointer;font:500 23px/1.2 var(--font-serif);color:var(--fg-1);text-align:left;transition:color .3s}
.acc-h .c{margin-left:auto;font:500 10px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.acc-h .pm{width:36px;height:36px;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;flex:none;transition:transform .5s var(--ease-soft),background .3s,border-color .3s,color .3s}.acc-h .pm svg{width:16px;height:16px}
[data-tabs] .panel.on .acc-h{color:var(--fg-accent)}[data-tabs] .panel.on .acc-h .pm{transform:rotate(45deg);background:var(--action-primary);border-color:var(--action-primary);color:#fff}
[data-tabs] .acc-b{grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease-soft)}[data-tabs] .panel.on .acc-b{grid-template-rows:1fr}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px 0}.row .n{font-size:19px}.row .p{grid-column:2;grid-row:1;align-self:baseline;margin:0}.row .d,.row .badge{grid-column:1;justify-self:start}.row .lead-dots{display:none}
.acc-b .row:last-child{border-bottom:0;padding-bottom:26px}
}

.ft .logo{height:76px}

.prose h2{scroll-margin-top:30px}.prose a{color:var(--fg-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hm-rose-300)}.prose a:hover{color:var(--hm-rose-800)}.prose a.link{text-decoration:none;color:var(--fg-1)}
.prose ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.prose ul li{position:relative;padding-left:22px;font:300 14px/1.8 var(--font-sans);color:var(--fg-2)}.prose ul li::before{content:"";position:absolute;left:2px;top:12px;width:8px;height:1px;background:var(--hm-rose-400)}
.prose strong{font-weight:500;color:var(--fg-1)}
.todo{background:var(--hm-warning-bg);color:var(--hm-warning);padding:1px 6px;border-radius:var(--radius-xs);font-weight:500}
.toc{background:var(--hm-rose-50);padding:28px 32px;margin-bottom:20px}.toc span{font:500 10px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-1)}.toc ol{margin:16px 0 0;padding-left:20px;columns:2;column-gap:30px;font:300 13px/2 var(--font-sans);color:var(--fg-3)}.toc ol a{text-decoration:none;color:var(--fg-2)}.toc ol a:hover{color:var(--fg-accent)}
@media (max-width:640px){.toc ol{columns:1}.toc{padding:22px 20px}}
.fsub .hint{flex-basis:100%}

.ft .kinote{border-top:1px solid rgba(255,255,255,.08)}.ft .kinote .wrap{padding:18px 30px;font:300 12px/1.6 var(--font-sans);color:var(--fg-on-dark-2);text-align:center}

.ft .bot .credit{color:var(--hm-rose-300)}.ft .bot .credit:hover{color:#fff}
