
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("/assets/fonts/barlow-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue";src:url("/assets/fonts/bebas-neue-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Infant";src:url("/assets/fonts/cormorant-infant-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{
  color-scheme:light;
  --burgundy:#7C2A2A;
  --burgundy-dark:#5E1F1F;
  --sand:#D8A98A;
  --sand-on-dark:#EBC9B2;
  --sand-soft:#F1E3D8;
  --paper:#EDEDED;
  --white:#FFFFFF;
  --ink:#242424;
  --muted:#4A4E53;
  --line:#CFCBC7;
  --focus:#1D4ED8;
  --wrap:1180px;
  --gutter:clamp(18px,4vw,40px);
  --frame:clamp(10px,1.4vw,18px);
  --radius:10px;
  --radius-sm:6px;
  --font-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Bebas Neue","Arial Narrow",Impact,sans-serif;
  --font-accent:"Cormorant Infant",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:124px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.125rem;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{display:inline-block;max-width:100%;color:var(--burgundy);text-decoration:none;transition:transform .18s ease,color .15s}
a:hover{color:var(--burgundy-dark)}
p{margin:0 0 1em}
ul{padding-left:1.2em}
h1,h2,h3,h4{margin:0 0 .45em;font-weight:400;text-wrap:balance}
h1,h2,.display{font-family:var(--font-display);letter-spacing:.015em;line-height:.95;color:var(--burgundy)}
h1{font-size:clamp(2.75rem,7vw,5.25rem)}
h2{font-size:clamp(2.25rem,5.2vw,3.75rem)}
h3{font-family:var(--font-body);font-weight:600;font-size:1.35rem;line-height:1.25}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.on-dark :focus-visible,.site-footer :focus-visible{outline-color:#fff}
.skip-link{position:absolute;left:16px;top:-80px;z-index:200;background:var(--burgundy);color:#fff;padding:12px 18px;font-weight:600}
.skip-link:focus{top:0;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.section{padding-block:clamp(64px,9vw,128px)}
.section--tight{padding-block:clamp(40px,6vw,80px)}
.section--sand{background:var(--sand-soft)}
.section--white{background:var(--white)}
.on-dark{background:var(--burgundy);color:#fff}
.on-dark h2,.on-dark h3,.on-dark .display{color:var(--sand-on-dark)}
.on-dark a:not(.btn){color:#fff}
.eyebrow{font-family:var(--font-accent);font-style:italic;font-size:1.5rem;color:var(--ink);margin:0 0 .3em;line-height:1.2}
.on-dark .eyebrow{color:#fff}
.lead{font-size:clamp(1.15rem,1.9vw,1.35rem);line-height:1.5;color:var(--muted);max-width:60ch}
.on-dark .lead{color:#fff}
.center{text-align:left}
.measure{max-width:66ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7em 1.5em;border-radius:var(--radius-sm);border:2px solid var(--burgundy);background:var(--burgundy);color:#fff;font:600 1.05rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .15s,color .15s}
.btn:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:#fff}
.btn--ghost{background:transparent;color:var(--burgundy)}
.btn--ghost:hover{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
.btn--light{background:#fff;border-color:#fff;color:var(--burgundy)}
.btn--light:hover{background:var(--sand-on-dark);border-color:var(--sand-on-dark);color:var(--burgundy-dark)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}
.textlink{font-weight:600;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em;color:var(--burgundy)}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none;color:var(--ink);line-height:1.15}
.brand img{width:52px;height:52px;border-radius:var(--radius-sm)}
.brand__name{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em;color:var(--burgundy);display:block}
.brand__claim{font-size:.85rem;color:var(--muted);display:block}
.nav-toggle{display:none;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:0;border:0;background:transparent;color:var(--burgundy);cursor:pointer}
.nav-schliessen,.nav-overlay{display:none}
.nav-toggle__bars{width:20px;height:14px;position:relative;display:inline-block}
.nav-toggle__bars::before,.nav-toggle__bars::after,.nav-toggle__bars span{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.nav-toggle__bars::before{top:0}.nav-toggle__bars span{top:6px}.nav-toggle__bars::after{top:12px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span{opacity:0}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.main-nav a,.subnav-toggle{display:flex;align-items:center;gap:.35em;min-height:44px;padding:0 10px;white-space:nowrap;color:var(--ink);font:500 1rem var(--font-body);text-decoration:none;background:none;border:0;cursor:pointer;transition:transform .18s ease,color .15s}
.main-nav a:hover,.subnav-toggle:hover{color:var(--burgundy)}
.main-nav a[aria-current="page"]{color:var(--burgundy);font-weight:600}
.main-nav .btn{color:#fff;background:var(--burgundy);border:2px solid var(--burgundy);font-weight:600;padding:0 18px;margin-left:10px;text-decoration:none}
.main-nav .btn:hover{color:#fff;background:var(--burgundy-dark);text-decoration:none}
.has-sub{position:relative}
.subnav-toggle::after{content:"";width:.45em;height:.45em;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.subnav-toggle[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
.subnav{display:none;position:absolute;top:100%;left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--burgundy);padding:8px}
.subnav[data-open="true"]{display:block}
.main-nav .subnav ul{flex-direction:column;align-items:stretch;gap:0}
@media (max-width:560px){.brand__claim{display:none}}
@media (max-width:1300px){
  .nav-toggle{display:inline-flex}
  .main-nav{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:420px;background:var(--paper);border-left:1px solid var(--line);overflow:auto;z-index:200;padding:0;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s .4s}
  .main-nav[data-open="true"]{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .nav-schliessen{display:flex;align-items:center;justify-content:flex-end;flex:none;min-height:76px;padding:8px var(--gutter);border-bottom:1px solid var(--line)}
  .nav-schliessen button{display:inline-flex;align-items:center;gap:.5em;min-height:48px;padding:0 16px;border-radius:var(--radius-sm);border:2px solid var(--burgundy);background:transparent;color:var(--burgundy);font:600 1rem var(--font-body);cursor:pointer}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 40px;flex:1;overflow:auto}
  .main-nav a,.subnav-toggle{width:100%;min-height:54px;font-size:1.15rem;white-space:normal;border-bottom:1px solid var(--line);padding:0}
  .subnav-toggle{justify-content:space-between}
  .subnav{position:static;border:0;background:transparent;padding:0 0 0 18px}
  .main-nav .btn{margin:16px 0 0;justify-content:center;border-bottom:2px solid var(--burgundy)}
  .nav-overlay{display:block;position:fixed;inset:0;z-index:190;background:rgba(36,36,36,.45);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}
  .nav-overlay[data-open="true"]{opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s}
  
  .nav-offen .site-header{z-index:200}
}
@media (max-width:1300px){
  .main-nav>ul>li{opacity:0;transform:translateX(20px);transition:opacity .2s ease,transform .2s ease}
  .main-nav[data-open="true"]>ul>li{opacity:1;transform:none;transition:opacity .34s ease,transform .42s cubic-bezier(.2,.7,.2,1);transition-delay:calc(.08s + var(--i,0)*.05s)}
  .main-nav>ul>li:nth-child(2){--i:1}.main-nav>ul>li:nth-child(3){--i:2}.main-nav>ul>li:nth-child(4){--i:3}.main-nav>ul>li:nth-child(5){--i:4}.main-nav>ul>li:nth-child(6){--i:5}
}
@media (max-width:1300px) and (prefers-reduced-motion:reduce){
  .main-nav{transform:none!important;transition:opacity .3s ease,visibility 0s .3s!important}
  .main-nav:not([data-open="true"]){opacity:0}
  .main-nav[data-open="true"]{opacity:1;transition:opacity .3s ease,visibility 0s!important}
  .main-nav>ul>li{transform:none;transition:opacity .2s ease!important}
  .main-nav[data-open="true"]>ul>li{transition:opacity .4s ease calc(.05s + var(--i,0)*.045s)!important}
}
.hero{position:relative;overflow:hidden;background:var(--paper)}
.hero__bg{position:absolute;inset:0 0 0 auto;width:min(62%,820px)}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(237,237,237,.82) 16%,rgba(237,237,237,0) 44%)}
.hero__content{position:relative;padding-block:clamp(28px,3.4vw,46px) clamp(24px,2.6vw,34px);min-height:clamp(520px,70vh,700px);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(28px,4vw,48px)}
.hero__text{max-width:600px}
.triad{margin:0 0 .18em;font-family:var(--font-display);font-size:clamp(4.2rem,8.4vw,6.75rem);line-height:.86;letter-spacing:.01em;color:var(--burgundy)}
.triad span{display:block;animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.triad span:nth-child(2){animation-delay:.14s}
.triad span:nth-child(3){animation-delay:.28s}
@keyframes rise{from{opacity:0;transform:translateY(.22em)}}
.hero__text h1{font-family:var(--font-body);font-weight:600;font-size:clamp(1.4rem,2.3vw,1.8rem);line-height:1.2;letter-spacing:0;color:var(--ink);margin-bottom:.5em}
.hero__text .lead{color:var(--ink)}
.hero--bild .hero__text{max-width:640px}
.hero--bild .hero__text h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,6.2vw,4.5rem);line-height:.95;letter-spacing:.015em;color:var(--burgundy);margin-bottom:.35em}
.btn--call{background:var(--white);color:var(--burgundy);gap:.55em;white-space:nowrap}
.btn--call svg{width:1.15em;height:1.15em;flex:none}
.btn--call:hover{background:var(--burgundy);color:#fff}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(255,255,255,.88);border-radius:var(--radius)}
.facts li{padding:.9em 1.2em;font-weight:500;border-left:1px solid var(--line)}
.facts li:first-child{border-left:0}
@media (max-width:900px){
  .hero__bg{position:static;width:auto;aspect-ratio:5/4}
  .hero__bg::after{display:none}
  .hero__content{min-height:0;padding-top:28px}
  .facts{grid-template-columns:minmax(0,1fr);background:var(--white)}
  .facts li{border-left:0;border-top:1px solid var(--line)}
  .facts li:first-child{border-top:0}
}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,64px);align-items:center}
.hero__media{position:relative}
.page-hero{background:var(--sand-soft);padding-block:clamp(32px,6vw,80px)}
.page-hero h1{font-size:clamp(2.5rem,6.2vw,4.5rem)}
.breadcrumb{font-size:.95rem;margin-bottom:1.4em}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4em;margin:0;padding:0}
.breadcrumb li+li::before{content:"/";margin-right:.4em;color:var(--muted)}
.breadcrumb a{display:inline-block;padding-block:.35em}
.grid{display:grid;gap:clamp(28px,4vw,56px) clamp(24px,3vw,40px)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,88px);align-items:center}
.heading-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,56px);align-items:end;margin-bottom:clamp(28px,4vw,56px)}
.heading-row h2{margin:0}
.heading-row .lead{margin:0}
.framed{position:relative;margin:0 var(--frame) var(--frame) 0}
.framed::before{content:"";position:absolute;inset:var(--frame) calc(-1*var(--frame)) calc(-1*var(--frame)) var(--frame);border:3px solid var(--sand)}
.framed img{position:relative;width:100%}
.framed--burgundy::before{border-color:var(--burgundy)}
.media-round,.media-frame{position:relative;margin:0 var(--frame) var(--frame) 0}
.media-round::before,.media-frame::before{content:"";position:absolute;inset:var(--frame) calc(-1*var(--frame)) calc(-1*var(--frame)) var(--frame);border:3px solid var(--sand)}
.media-round img,.media-frame img{position:relative;width:100%}
.media-round:has(img[src*="portrait"])::before{display:none}
.media-round:has(img[src*="portrait"]){margin:0}
.offer{position:relative;display:flex;flex-direction:column}
.offer h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,2.3vw,2.05rem);line-height:1;letter-spacing:.015em;margin-bottom:.35em}
.offer h3 a{color:var(--burgundy);text-decoration:none}
.offer h3 a::after{content:"";position:absolute;inset:0}
.offer p{margin:0}
.card{position:relative;border-top:3px solid var(--burgundy);padding-top:22px;display:flex;flex-direction:column}
.card p:last-of-type{margin-bottom:0}
.card .textlink{margin-top:.6em}
.card h3 a{color:inherit;text-decoration:none}
.card--link h3 a::after{content:"";position:absolute;inset:0}
.on-dark .card{border-top-color:var(--sand-on-dark)}
.card__icon{display:none}
@media (max-width:900px){
  .hero__grid,.split,.heading-row{grid-template-columns:minmax(0,1fr)}
  .hero__media{max-width:460px}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .grid--2,.grid--3{grid-template-columns:minmax(0,1fr)}
  body{font-size:1.0625rem}
}
.finder{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,56px);align-items:start}
.finder__tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.finder__tabs button{display:block;width:100%;text-align:left;min-height:60px;padding:.75em 0;border:0;border-bottom:1px solid var(--line);background:none;font:500 1.2rem/1.3 var(--font-body);color:var(--ink);cursor:pointer;transition:padding-left .2s,color .2s}
.finder__tabs button:hover{color:var(--burgundy)}
.finder__tabs button[aria-selected="true"]{color:var(--burgundy);font-weight:600;padding-left:18px;box-shadow:inset 5px 0 0 var(--burgundy)}
.finder__panel{background:var(--sand-soft);padding:clamp(22px,3.5vw,44px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:28px;align-items:center}
.finder__panel[hidden]{display:none}
.finder__panel h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1;color:var(--burgundy);letter-spacing:.015em}
.finder__panel img{width:100%;aspect-ratio:1;object-fit:contain}
@media (max-width:900px){.finder{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.finder__panel{grid-template-columns:minmax(0,1fr)}.finder__panel img{display:none}}
.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.triptych>div{padding:0 clamp(18px,3vw,40px);border-left:1px solid rgba(235,201,178,.45)}
.triptych>div:first-child{padding-left:0;border-left:0}
.triptych>div:last-child{padding-right:0}
.triptych h3{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,6.5vw,5.5rem);line-height:.9;letter-spacing:.015em;margin-bottom:.3em}
.triptych p{margin:0}
@media (max-width:820px){
  .triptych{grid-template-columns:minmax(0,1fr)}
  .triptych>div{padding:28px 0;border-left:0;border-top:1px solid rgba(235,201,178,.45)}
  .triptych>div:first-child{border-top:0;padding-top:0}
}
.steps{list-style:none;padding:0;margin:0;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.steps li{counter-increment:step;padding:0 clamp(18px,3vw,40px);border-left:1px solid var(--line)}
.steps li:first-child{padding-left:0;border-left:0}
.steps li:last-child{padding-right:0}
.steps li::before{content:counter(step);font-family:var(--font-display);font-size:clamp(3.5rem,6vw,5rem);line-height:1;color:var(--sand);display:block}
.steps p{margin:0}
@media (max-width:760px){.steps{grid-template-columns:minmax(0,1fr);gap:28px}.steps li,.steps li:first-child,.steps li:last-child{padding:0;border-left:0}}
.chips{list-style:none;padding:0;margin:1em 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--burgundy);padding:.25em .8em;font-size:1rem}
.on-dark .chips li{border-color:var(--sand-on-dark);color:#fff}
.checklist{list-style:none;padding:0;margin:1em 0}
.checklist li{position:relative;padding:.5em 0 .5em 1.4em;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";position:absolute;left:0;top:1.05em;width:.6em;height:.6em;background:var(--burgundy)}
.on-dark .checklist li{border-bottom-color:rgba(235,201,178,.45)}
.on-dark .checklist li::before{background:var(--sand-on-dark)}
.accordion{border-top:1px solid var(--line)}
.accordion details{border-bottom:1px solid var(--line)}
.accordion summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:18px;padding:18px 0;font-weight:600;font-size:1.15rem;min-height:56px}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"";margin-left:auto;flex:none;align-self:center;width:.6em;height:.6em;border-right:2px solid var(--burgundy);border-bottom:2px solid var(--burgundy);transform:rotate(45deg);transition:transform .2s}
.accordion details[open] summary::after{transform:rotate(-135deg)}
.accordion summary:hover{color:var(--burgundy)}
.accordion .acc-body{padding:0 2em 20px 0;max-width:66ch}
.accordion .acc-body>:last-child{margin-bottom:0}
.mod-no{flex:none;width:5.2em;font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:.03em;color:var(--burgundy)}
.accordion:has(.mod-no) .acc-body{padding-left:calc(7.8rem + 18px)}
@media (max-width:620px){.accordion:has(.mod-no) .acc-body{padding-left:0}.accordion summary{flex-wrap:wrap;gap:2px 18px}.mod-no{width:100%}.accordion summary::after{margin-left:0}}
.faq-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.faq-cols{grid-template-columns:minmax(0,1fr)}.faq-cols .accordion + .accordion{border-top:0}}
.accordion-tools{display:flex;justify-content:flex-end;margin-bottom:6px}
.accordion-tools button{background:none;border:0;padding:0;color:var(--burgundy);font:600 1rem var(--font-body);text-decoration:underline;text-underline-offset:.3em;cursor:pointer;min-height:44px}
.quote{margin:0}
.quote blockquote{margin:0;max-width:22ch;font-family:var(--font-accent);font-style:italic;font-size:clamp(2.2rem,5.6vw,4.25rem);line-height:1.08;color:var(--burgundy)}
.quote blockquote p{margin:0}
.quote figcaption{margin-top:1.2em;font-weight:500}
.dates{background:var(--sand-soft);border-radius:var(--radius);padding:18px 22px;margin:1.4em 0}
.dates strong{display:block;color:var(--burgundy)}
.vita{margin:0}
.vita>div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.vita dt{font-family:var(--font-display);font-size:1.75rem;line-height:1;letter-spacing:.03em;color:var(--burgundy)}
.vita dd{margin:0}
.vita ul{margin:0;padding-left:1.1em}
@media (max-width:700px){.vita>div{grid-template-columns:minmax(0,1fr);gap:8px}}
.form{display:grid;gap:20px}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:620px){.form .row{grid-template-columns:minmax(0,1fr)}}
.field label,.field legend{display:block;font-weight:600;margin-bottom:6px;padding:0}
.field .hint{display:block;font-size:.95rem;color:var(--muted);font-weight:400}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid #7B746E;border-radius:var(--radius-sm);background:#fff;font:inherit;color:var(--ink)}
.field textarea{min-height:160px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--burgundy)}
.field [aria-invalid="true"]{border-color:#B00020}
.field .error{color:#B00020;font-weight:600;font-size:.98rem;margin-top:4px}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.choices{display:grid;border-top:1px solid var(--line)}
.choice{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-weight:400;cursor:pointer}
.choices .choice:has(input:checked){font-weight:600;color:var(--burgundy)}
.choice input{width:22px;height:22px;flex:none;margin:3px 0 0;accent-color:var(--burgundy)}
.hp{position:absolute!important;left:-9999px!important}
.form-status{padding:14px 18px;font-weight:600;border-left:5px solid}
.form-status:empty{display:none}
.form-status[data-state="ok"]{background:#E6F4EA;color:#14532D}
.form-status[data-state="error"]{background:#FDECEC;color:#8A0B1F}
.req{color:#B00020}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:.4em 0;border-bottom:1px solid var(--line)}
.contact-list a{font-weight:600;display:inline-block;padding-block:.3em}
.map-card{background:var(--sand-soft);padding:clamp(22px,3vw,36px)}
.map-card iframe{width:100%;height:360px;border:0;margin-top:16px}
.cta-band{padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end}
.cta-band h2{font-size:clamp(2.6rem,6.5vw,5rem);margin-bottom:.15em}
.cta-band .lead{margin:0}
.cta-band .btn-row{margin:0}
.wrap.cta-band{padding-inline:0}
@media (max-width:760px){.cta-band{grid-template-columns:minmax(0,1fr)}}
.legal h2{font-family:var(--font-body);font-weight:600;font-size:1.45rem;letter-spacing:0;color:var(--ink);margin-top:1.8em;line-height:1.3}
.legal h3{margin-top:1.3em}
.legal{overflow-wrap:anywhere}
.site-footer{background:var(--ink);color:#fff;padding-block:64px 28px;font-size:1rem}
.site-footer a{color:#fff;display:inline-block;padding-block:.3em}
.site-footer h2{font-family:var(--font-display);font-size:1.5rem;color:var(--sand-on-dark);letter-spacing:.04em}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.site-footer__bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.site-footer__google{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.site-footer .site-footer__google .btn{display:inline-flex;padding:.7em 1.5em;color:var(--burgundy)}
.site-footer__google + .site-footer__bottom{margin-top:28px}
@media (max-width:900px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-footer__grid{grid-template-columns:1fr}}
.callbar{display:none}
@media (max-width:760px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--paper);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .callbar .btn{min-height:48px;padding:0 10px;font-size:1rem}
  body{padding-bottom:72px}
}
.nav-offen{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.site-header,.callbar,.site-footer,.btn-row{display:none}body{background:#fff}}
.main-nav .btn[aria-current="page"]{color:#fff;text-decoration:none}
.field .choice{display:flex;font-weight:400;margin:0;padding:12px 0}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid--4{grid-template-columns:minmax(0,1fr)}}
.infobox{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;max-width:860px;margin:clamp(40px,6vw,72px) auto 0;padding:clamp(18px,2.4vw,26px) clamp(20px,2.8vw,30px);background:var(--sand-soft);border:1px solid var(--sand);border-radius:var(--radius)}
.infobox svg{width:28px;height:28px;color:var(--burgundy);margin-top:2px}
.infobox h3{font-size:1.15rem;margin-bottom:.3em}
.infobox p{margin:0;font-size:1rem;line-height:1.55}
.wait-note{display:flex;align-items:center;gap:16px;margin:0;padding:18px 0 clamp(28px,4vw,44px);border-top:1px solid rgba(235,201,178,.45);font-size:1rem;line-height:1.5;color:#fff}
.wait-note a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.wait-note__bar{--max:8;flex:none;position:relative;width:96px;height:8px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.22)}
.wait-note__bar::before{content:"";position:absolute;inset:0 auto 0 calc(var(--from)/var(--max)*100%);width:calc((var(--to) - var(--from))/var(--max)*100%);background:var(--sand-on-dark)}
.wait-note__date{white-space:nowrap;opacity:.8}
@media (max-width:620px){.wait-note{flex-direction:column;align-items:flex-start;gap:10px}}
.framed::before,.media-round::before,.media-frame::before,.framed img,.media-round img,.media-frame img,.finder__panel,.map-card,.map-card iframe,.form-status,.cta-band{border-radius:var(--radius)}
.media-round:has(img[src*="portrait"]) img,.wrap.cta-band{border-radius:0}
.chips li,.skip-link:focus{border-radius:var(--radius-sm)}
.checklist li::before{border-radius:2px}
.subnav{border-radius:0 0 var(--radius) var(--radius)}
.card{border-top-left-radius:2px;border-top-right-radius:2px}
main p a,main li a,main address a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
main .breadcrumb li a{text-decoration:none}
@media (hover:hover){
  a:hover,.subnav-toggle:hover,.accordion-tools button:hover{transform:scale(1.05)}
  main p a:hover,main li a:hover,.textlink:hover,.site-footer a:hover,.accordion-tools button:hover{transform-origin:left center}
  .btn:hover,.nav-toggle:hover{transform:scale(1.04)}
  .brand:hover{transform:scale(1.03)}
  
  .offer h3 a:hover,.card--link h3 a:hover{transform:none}
}
@media (max-width:1300px){.main-nav a:hover,.subnav-toggle:hover{transform-origin:left center}}
.hero__grid>:only-child,.split>:only-child{grid-column:1/-1;max-width:70ch}
.finder__panel{grid-template-columns:minmax(0,1fr)}
.icon3d{--rx:7deg;--ry:-9deg;--lift:24px;position:relative;width:132px;height:132px;margin-bottom:28px;perspective:700px}
.icon3d__plate,.icon3d__obj{position:absolute;transition:transform .3s ease-out}
.icon3d__plate{inset:0;border-radius:30px;background:linear-gradient(150deg,#fff 0%,var(--sand-soft) 100%);box-shadow:inset 0 2px 0 #fff,inset 0 -7px 0 rgba(216,169,138,.6),0 22px 28px -16px rgba(94,31,31,.45);transform:rotateX(var(--rx)) rotateY(var(--ry))}
.icon3d__obj{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);filter:drop-shadow(0 9px 6px rgba(94,31,31,.3));transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(var(--lift))}
@media (hover:hover){
  .offer:hover .icon3d{--rx:-5deg;--ry:11deg;--lift:46px}
}
.media-frame--portrait{width:100%;max-width:420px;justify-self:center}
.media-frame--portrait img{aspect-ratio:4/5;object-fit:cover}
.media-frame--video{width:100%;max-width:300px;justify-self:center}
.media-frame video{position:relative;display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:var(--radius);background:#F1F1F1}
@media (max-width:900px){.media-frame--portrait{justify-self:start}}
.details{margin:0;border-top:1px solid var(--sand)}
.details>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--sand)}
.details dt{font-size:.92rem;font-weight:600;color:var(--burgundy)}
.details dd{margin:0;font-size:1.15rem;font-weight:500}
.details dd small{display:block;font-size:.98rem;font-weight:400;color:var(--muted)}
.wscal{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start}
.wscal__cal{padding:clamp(14px,2vw,22px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.wscal__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.wscal__head[hidden]{display:none}
.wscal__title{margin:0;font-family:var(--font-display);font-size:1.6rem;line-height:1;letter-spacing:.03em;color:var(--burgundy)}
.wscal__nav{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--burgundy);cursor:pointer}
.wscal__nav::before{content:"";width:.6em;height:.6em;border-left:2px solid;border-bottom:2px solid;transform:translateX(2px) rotate(45deg)}
.wscal__nav[data-wscal-next]::before{transform:translateX(-2px) rotate(-135deg)}
.wscal__nav:hover:not(:disabled){background:var(--sand-soft)}
.wscal__nav:disabled{opacity:.35;cursor:default}
.wscal__month{width:100%;border-collapse:collapse;table-layout:fixed;text-align:center}
.wscal__month + .wscal__month{margin-top:20px}
.wscal__month caption{padding-bottom:6px;font-family:var(--font-display);font-size:1.6rem;line-height:1;letter-spacing:.03em;color:var(--burgundy);text-align:left}
.wscal__month th{padding:6px 0;font-size:.85rem;font-weight:600;color:var(--muted)}
.wscal__month th abbr{text-decoration:none}
.wscal__month td{height:46px;padding:2px 0;color:var(--muted)}
.wscal__day{display:grid;place-items:center;width:min(42px,100%);aspect-ratio:1;margin:auto;border:2px solid var(--burgundy);border-radius:50%;background:var(--burgundy);color:#fff;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.wscal__day:hover{color:#fff;transform:scale(1.08)}
.wscal__day[aria-pressed="true"]{box-shadow:0 0 0 3px var(--white),0 0 0 5px var(--burgundy)}
.wscal__day[data-state="closed"]{background:transparent;color:var(--burgundy)}
.wscal__legend{display:flex;align-items:center;gap:.6em;margin:14px 0 0;font-size:.95rem;color:var(--muted)}
.wscal__legend span{flex:none;width:.9em;height:.9em;border-radius:50%;background:var(--burgundy)}
.wscal__details{display:grid;gap:12px}
.wscal__detail{padding:clamp(22px,2.6vw,30px);background:var(--white);border:1px solid var(--line);border-top:3px solid var(--burgundy);border-radius:var(--radius)}
.wscal__when{margin:0 0 .5em}
.wscal__detail h3{margin-bottom:.6em}
.wscal__detail .termin__status{margin:1em 0 0}
.wscal__detail .btn-row{margin-top:1.2em}
@media (max-width:760px){.wscal{grid-template-columns:minmax(0,1fr)}}
.card--weiss{padding:clamp(22px,2.6vw,30px);background:var(--white);border:1px solid var(--line);border-top:3px solid var(--burgundy);border-radius:var(--radius)}
.termin__day{display:block;font-size:.95rem;color:var(--muted)}
.termin__num{display:block;font-family:var(--font-display);font-size:1.9rem;line-height:1;letter-spacing:.02em;color:var(--burgundy)}
.termin__status{display:block;font-size:.98rem;font-weight:600;color:#8A0B1F}
.termin__status:empty{display:none}
.termine__leer{margin:1em 0 0;font-weight:500}
.price{display:flex;flex-direction:column;padding:clamp(22px,2.6vw,30px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.price--main{border:2px solid var(--burgundy)}
.price h3{margin-bottom:.1em}
.price__amount{margin:.1em 0 0;font-family:var(--font-display);font-size:clamp(3rem,5vw,4rem);line-height:1;letter-spacing:.015em;color:var(--burgundy)}
.price__unit{margin:0 0 .6em;color:var(--muted)}
.price .checklist{margin-top:0;flex:1}
.price .btn{margin-top:1.2em;align-self:flex-start}
.form-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.form-layout{grid-template-columns:minmax(0,1fr)}}
.field .choice[hidden]{display:none}
.termin-choice .hint{margin-top:2px}
.termin-choice:has(input:disabled){opacity:.65;cursor:not-allowed}
.field legend .hint{margin-top:2px}
.site-header .wrap{width:min(100% - 2*var(--gutter),1400px)}
.brand__claim{margin-top:3px;line-height:1.25}
.subnav-toggle::after,.accordion summary::after{width:12px;height:12px;border:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.25 6 7.75l3.5-3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.25 6 7.75l3.5-3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:none}
.subnav-toggle::after{opacity:.65}
.accordion summary::after{width:15px;height:15px;background:var(--burgundy)}
.subnav-toggle[aria-expanded="true"]::after,.accordion details[open] summary::after{transform:rotate(180deg)}
@media (min-width:1301px){
  .site-header__inner{min-height:88px;gap:36px}
  .main-nav ul{gap:6px}
  .main-nav a,.subnav-toggle{padding:0 14px}
  .main-nav .btn{margin-left:18px;padding:0 22px}
  .subnav{top:calc(100% + 12px);min-width:260px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 32px -20px rgba(94,31,31,.45)}
  .main-nav .subnav ul{gap:2px}
  .main-nav .subnav a{padding:0 12px;border-radius:var(--radius-sm)}
  .main-nav .subnav a:hover{background:var(--sand-soft);transform:none}
}
.site-header .brand{align-self:stretch}
.site-header .brand img{align-self:flex-start;width:62px;height:70px;padding-top:8px;background:var(--burgundy);border-radius:0 0 var(--radius) var(--radius)}
@media (max-width:1300px){.site-header .brand img{width:56px;height:62px;padding-top:6px}}
.textlink,.accordion-tools button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;padding:.45em 1.15em;border:1.5px solid var(--burgundy);border-radius:var(--radius-sm);background:transparent;color:var(--burgundy);font:600 1rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .15s,color .15s}
.textlink:hover,.accordion-tools button:hover,.card--link:hover .textlink{background:var(--burgundy);color:#fff}
.on-dark .textlink{border-color:var(--sand-on-dark)}
.on-dark .textlink:hover{background:#fff;border-color:#fff;color:var(--burgundy)}
.accordion-tools{margin-bottom:14px}
.motto{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15em 1em;margin:0 0 clamp(32px,4.5vw,56px);padding:2px 0 2px 18px;border-left:3px solid var(--sand)}
.motto blockquote{margin:0;font-family:var(--font-accent);font-style:italic;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;color:var(--burgundy)}
.motto blockquote p{margin:0}
.motto figcaption{font-size:1rem;color:var(--muted)}
.motto figcaption::before{content:"– "}
.icon3d{--rx:0deg;--ry:0deg;--lift:10px;width:92px;height:92px;margin-bottom:26px}
.icon3d__plate{border-radius:50%;background:var(--sand);box-shadow:0 16px 22px -16px rgba(94,31,31,.5)}
.icon3d__obj{inset:22px;width:calc(100% - 44px);height:calc(100% - 44px);filter:none;stroke:var(--burgundy);stroke-width:1.7}
.icon-accent{stroke:#fff;transition:transform .3s ease-out}
@media (hover:hover){
  .offer:hover .icon3d{--rx:-4deg;--ry:8deg;--lift:26px}
  .offer:hover .icon-accent{transform:translate(1.5px,-1.5px)}
}
@media (min-width:1301px) and (max-width:1500px){
  .site-header .wrap{width:min(100% - 48px,1400px)}
  .site-header__inner{gap:20px}
  .main-nav ul{gap:2px}
  .main-nav a,.subnav-toggle{padding:0 9px}
  .main-nav .btn{margin-left:10px;padding:0 16px}
  .brand__claim{font-size:.8rem}
}
.hero__content{--hero-space:clamp(32px,3.6vw,48px);padding-block:var(--hero-space);gap:var(--hero-space)}
.facts li{padding:1.05em 1.5em}
@media (max-width:900px){.hero__content{padding-top:28px}.facts li{padding:.9em 1.2em}}
@media (min-width:901px){.facts{grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)}}
@media (min-width:901px){.facts{grid-template-columns:repeat(3,auto);width:fit-content;max-width:100%;align-self:flex-start}}
@media (min-width:901px) and (max-width:1000px){.facts li{padding:1.05em .75em}}
.site-header__inner{min-height:84px;padding-bottom:8px}
@media (min-width:1301px){.site-header__inner{min-height:108px;padding-bottom:16px}}
.triad span{animation:none;clip-path:inset(-.35em -.1em 0 -.1em)}
.triad__word{animation:word-rise 1s cubic-bezier(.19,.8,.22,1) both}
.triad span:nth-child(2) .triad__word{animation-delay:.16s}
.triad span:nth-child(3) .triad__word{animation-delay:.32s}
@keyframes word-rise{from{transform:translateY(108%)}to{transform:none}}
.hero__bg{overflow:hidden}
.hero__bg img{transform-origin:60% 35%;animation:hero-in 1.9s cubic-bezier(.2,.7,.2,1) both,hero-breathe 26s ease-in-out 1.9s infinite alternate}
@keyframes hero-in{from{opacity:0;transform:scale(1.09)}to{opacity:1;transform:scale(1)}}
@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(1.05)}}
.hero__text h1,.hero__text .lead,.hero__text .btn-row,.hero .facts{animation:soft-up .9s cubic-bezier(.2,.7,.2,1) both}
.hero__text h1{animation-delay:.55s}
.hero__text .lead{animation-delay:.68s}
.hero__text .btn-row{animation-delay:.81s}
.hero .facts{animation-delay:.98s}
@keyframes soft-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes soft-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .triad__word,.hero__bg img,.hero__text h1,.hero__text .lead,.hero__text .btn-row,.hero .facts{animation:soft-fade 1s ease-out both!important}
  .triad span:nth-child(2) .triad__word{animation-delay:.25s!important}
  .triad span:nth-child(3) .triad__word{animation-delay:.5s!important}
  .hero__text h1{animation-delay:.75s!important}
  .hero__text .lead{animation-delay:.9s!important}
  .hero__text .btn-row{animation-delay:1.05s!important}
  .hero .facts{animation-delay:1.2s!important}
}
@media (max-width:360px){
  .site-header__inner{gap:10px}
  .site-header .brand{gap:8px}
  .site-header .brand img{width:46px;height:52px}
  .brand__name{font-size:1.4rem}
  .nav-toggle{padding:0 10px}
}
@property --intro-zoom{syntax:"<number>";inherits:true;initial-value:1}
.intro{display:none}
.intro-on .intro{
  --eye:min(62vw,62vh,340px);--pupil:calc(var(--eye)*.075);--cy:50%;--hole:calc(var(--pupil)*(var(--intro-zoom) - 1));
  position:fixed;inset:0;z-index:1000;display:block;overflow:hidden;background:var(--paper);cursor:pointer;
  animation:intro-zoom .9s cubic-bezier(.7,0,.84,0) 2.7s forwards,intro-out .3s linear 3.35s forwards;
}
.intro-reveal:not(.intro-skip) .intro{
  -webkit-mask-image:radial-gradient(circle at 50% var(--cy),transparent var(--hole),#000 calc(var(--hole) + 1px));
  mask-image:radial-gradient(circle at 50% var(--cy),transparent var(--hole),#000 calc(var(--hole) + 1px));
}
.intro-skip .intro{animation:intro-out .25s linear forwards}
.intro__night{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#632626,#3B1515 75%);animation:intro-hide .4s ease 1.5s forwards}
.intro__eye{position:absolute;left:50%;top:var(--cy);width:var(--eye);height:auto;overflow:visible;transform:translate(-50%,-50%) scale(var(--intro-zoom));stroke-width:2.6}
.intro__lids,.intro__lashes{stroke:var(--sand-on-dark)}
.intro__rays{stroke:var(--sand)}
.intro__white{fill:#fff}
.intro__ring{fill:#CFA084;stroke:var(--burgundy)}
.intro__pupil{fill:var(--burgundy)}
.intro__glint{fill:#fff;animation:intro-hide .15s ease 2.7s forwards}
.intro__lids{animation:intro-lids .4s ease 1.5s both}
.intro__lower{stroke-dasharray:100;animation:intro-draw .55s ease-out .15s both}
.intro__upper{animation:intro-show .01s linear 1.5s both}
.intro__lashes path{animation:intro-show .25s ease .5s both,intro-hide .2s ease 1.5s forwards}
.intro__lashes path:nth-child(2){animation-delay:.56s,1.5s}
.intro__lashes path:nth-child(3){animation-delay:.62s,1.5s}
.intro__lashes path:nth-child(4){animation-delay:.68s,1.5s}
.intro__lashes path:nth-child(5){animation-delay:.74s,1.5s}
.intro__rays path{animation:intro-show .25s ease 1.9s both}
.intro__rays path:nth-child(2){animation-delay:1.95s}
.intro__rays path:nth-child(3){animation-delay:2s}
.intro__rays path:nth-child(4){animation-delay:2.05s}
.intro__rays path:nth-child(5){animation-delay:2.1s}
@keyframes intro-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes intro-show{from{opacity:0}}
@keyframes intro-hide{to{opacity:0}}
@keyframes intro-lids{to{stroke:var(--burgundy);stroke-width:3}}
@keyframes intro-zoom{to{--intro-zoom:110}}
@keyframes intro-out{to{opacity:0;visibility:hidden}}
.intro-on:not(.intro-reveal) :is(.triad__word,.hero__bg img,.hero__text h1,.hero__text .lead,.hero__text .btn-row,.hero .facts){animation-play-state:paused}
@keyframes hero-zoom{from{transform:scale(1.09)}to{transform:scale(1)}}
:is(.intro-on,.intro-reveal) .hero__bg img{animation-name:hero-zoom,hero-breathe}
@media (prefers-reduced-motion:reduce){.intro-on .intro{display:none}}
.site-header{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.header-away .site-header:not(:focus-within){transform:translateY(-101%)}
@media (prefers-reduced-motion:reduce){.site-header{transition:none}}
.to-top{position:fixed;left:var(--gutter);bottom:24px;z-index:80;display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-sm);background:var(--burgundy);color:#fff;box-shadow:0 0 0 2px var(--paper);transition:opacity .25s,transform .25s cubic-bezier(.2,.7,.2,1),background .15s}
.to-top svg{width:22px;height:22px}
.to-top:hover{background:var(--burgundy-dark);color:#fff;transform:translateY(-3px)}
.js:not(.scrolled) .to-top{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility 0s .25s}
@media (max-width:760px){.to-top{bottom:calc(84px + env(safe-area-inset-bottom));width:42px;height:42px}}
@media print{.to-top{display:none}}
.to-top{bottom:80px}
.cookie-knopf{position:fixed;left:calc(var(--gutter) + 1px);bottom:24px;z-index:80;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line),0 6px 18px rgba(36,36,36,.12);cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.cookie-knopf svg{width:28px;height:28px}
.cookie-knopf__keks{fill:var(--sand);stroke:var(--burgundy);stroke-width:1.4;stroke-linejoin:round}
.cookie-knopf__stuecke{fill:var(--burgundy)}
.cookie-knopf:hover{transform:translateY(-3px) rotate(-14deg);box-shadow:0 0 0 1px var(--burgundy),0 10px 22px rgba(36,36,36,.16)}
html:not(.js) .cookie-knopf,.consent-offen .cookie-knopf,.intro-on .cookie-knopf{display:none}
@media (max-width:760px){.cookie-knopf{bottom:calc(84px + env(safe-area-inset-bottom));width:40px;height:40px}.cookie-knopf svg{width:26px;height:26px}.to-top{bottom:calc(134px + env(safe-area-inset-bottom))}}
@media print{.cookie-knopf{display:none}}
.spot{display:grid;justify-items:center}
.spot__wide{display:none;width:min(100%,calc((100vh - 2*clamp(40px,6vw,80px) - var(--frame))*16/9))}
.spot__wide video{aspect-ratio:16/9}
.spot__tall video{background:#F1F1F1 url(/assets/img/johanna-meyr-spot-poster.webp) center/cover no-repeat}
.spot__wide video{background:#F1F1F1 url(/assets/img/johanna-meyr-spot-16x9-poster.jpg) center/cover no-repeat}
@media (min-width:761px){
  .spot .media-frame--video{max-width:min(420px,calc((100vh - 2*clamp(40px,6vw,80px) - var(--frame))*9/16))}
  .spot--dual .spot__tall{display:none}
  .spot--dual .spot__wide{display:block}
}
.offers .wrap{container-type:inline-size}
.offers .grid>.infobox{max-width:none;margin:0;align-self:start}
@media (max-width:900px){.offers .grid>.infobox{grid-column:1/-1}}
@media (min-width:621px){
  .offers .grid{--spalt:clamp(24px,3vw,40px);column-gap:var(--spalt);row-gap:var(--spalt);row-gap:calc(var(--spalt) + max(0px,(100cqw - var(--spalt))/2 - 320px))}
}
@media (min-width:901px){
  .offers .grid{row-gap:clamp(64px,7vw,88px);row-gap:calc(var(--spalt) + max(0px,(100cqw - 2*var(--spalt))/3 - 320px))}
  .offers .grid>.infobox{justify-self:center;width:min(100%,320px)}
}
.offers,.section--deckend{background:#fff}
.section--sandflaeche{background:var(--sand-soft)}
.section--sandflaeche .triptych h3{color:var(--burgundy)}
.section--sandflaeche .triptych>div{border-color:var(--sand)}
:root{--paper:#FFFFFF}
.section--white,.section--sand,.page-hero,.hero,.on-dark:not(.on-dark--fest){background:transparent}
.hero__bg::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 16%,rgba(255,255,255,0) 44%)}
.on-dark:not(.on-dark--fest){color:var(--ink)}
.on-dark:not(.on-dark--fest) h2,.on-dark:not(.on-dark--fest) h3,.on-dark:not(.on-dark--fest) .display,.on-dark:not(.on-dark--fest) a:not(.btn){color:var(--burgundy)}
.on-dark:not(.on-dark--fest) .eyebrow{color:var(--ink)}
.on-dark:not(.on-dark--fest) .lead{color:var(--muted)}
.on-dark:not(.on-dark--fest) :focus-visible{outline-color:var(--focus)}
.on-dark:not(.on-dark--fest) .card{border-top-color:var(--burgundy)}
.on-dark:not(.on-dark--fest) .chips li{border-color:var(--burgundy);color:var(--ink)}
.on-dark:not(.on-dark--fest) .checklist li{border-bottom-color:var(--line)}
.on-dark:not(.on-dark--fest) .checklist li::before{background:var(--burgundy)}
.on-dark:not(.on-dark--fest) .textlink{border-color:var(--burgundy)}
.on-dark:not(.on-dark--fest) .textlink:hover{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
main .btn--light{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
main .btn--light:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:#fff}
.wait-note{border-top-color:var(--line);color:var(--ink)}
.wait-note a{color:var(--burgundy)}
.wait-note__bar{background:rgba(124,42,42,.14)}
.wait-note__bar::before{background:var(--burgundy)}
.icon3d{--rx:calc(var(--my,0)*-12deg);--ry:calc(var(--mx,0)*14deg)}
main .btn,.facts,.infobox,.finder__panel{box-shadow:0 16px 20px -14px rgba(94,31,31,.42)}
main .btn:hover{transform:translateY(-3px) scale(1.03)}
@media (prefers-reduced-motion:no-preference){
  
  main h2,.page-hero h1,.triad{animation:schweben 8s ease-in-out infinite alternate}
  main .lead,.motto,.infobox,.finder__panel,.facts{animation:schweben 9s ease-in-out -3s infinite alternate}
  .icon3d,.to-top,.cookie-knopf{animation:schweben 6s ease-in-out infinite alternate}
  main .btn{animation:schweben 5s ease-in-out infinite alternate,schatten 5s ease-in-out infinite alternate}
  .offer:nth-child(2) .icon3d,.btn-row .btn:nth-child(2),.card:nth-child(2) h3{animation-delay:-1.7s}
  .offer:nth-child(3) .icon3d,.btn-row .btn:nth-child(3){animation-delay:-3.4s}
  main section:nth-of-type(even) h2{animation-delay:-4s}
  
  .hero__text h1,.hero__text .lead,.hero__text .btn-row,.hero .facts{animation:soft-up .9s cubic-bezier(.2,.7,.2,1) both}
  .hero__text h1{animation-delay:.55s}
  .hero__text .lead{animation-delay:.68s}
  .hero__text .btn-row{animation-delay:.81s}
  .hero .facts{animation-delay:.98s}
  .hero .triad,.hero .btn{animation:none}
  
  .reveal{opacity:0;scale:.94;transition:opacity .8s ease var(--verzug,0s),scale 1s cubic-bezier(.2,.7,.2,1) var(--verzug,0s)}
  .reveal.in{opacity:1;scale:1}
}
@keyframes schweben{from{translate:0 4px}to{translate:0 -6px}}
@keyframes schatten{from{box-shadow:0 9px 12px -9px rgba(94,31,31,.55)}to{box-shadow:0 22px 22px -15px rgba(94,31,31,.3)}}
.geo{--d:min(96vh,860px);--strich:.25px;--weite:calc(52px - var(--n,1)*23px);position:fixed;top:50%;left:100%;z-index:-1;width:var(--d);height:var(--d);translate:-66% -50%;opacity:.45;pointer-events:none}
.geo svg{display:block;width:100%;height:100%;overflow:visible}
.geo__rahmen{stroke:var(--sand);stroke-width:var(--strich)}
.geo__drei{stroke:var(--sand);stroke-width:var(--strich);rotate:calc((1 - var(--n,1))*-50deg)}
.geo__koerper{translate:0 calc(var(--weite)*-1)}
.geo__geist{translate:calc(var(--weite)*-.92) calc(var(--weite)*.39)}
.geo__seele{translate:calc(var(--weite)*.84) calc(var(--weite)*.54)}
.geo__ring{stroke:var(--burgundy);stroke-width:var(--strich);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--r,1)*100);rotate:calc(-70deg + var(--s,0)*22deg)}
@media (prefers-reduced-motion:no-preference){
  .geo__drei circle{animation:geo-treiben 11s ease-in-out infinite alternate}
  .geo__drei .geo__geist circle{animation-delay:-4s}
  .geo__drei .geo__seele circle{animation-delay:-8s}
}
@keyframes geo-treiben{from{transform:translate(-1.2px,1.4px)}to{transform:translate(1.2px,-1.8px)}}
@media (max-width:760px){.geo{display:none}}
@media print{.geo{display:none}}
.hero,.page-hero{background:var(--paper)}
@media (min-width:901px){
  .hero__bg::after{display:none}
  .hero__bg{-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 16%,#000 44%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 16%,#000 44%)}
}
.offer.flip{display:grid;justify-self:center;align-self:start;width:min(100%,320px);perspective:1200px;cursor:pointer}
.flip__inner{display:grid;min-height:264px;transform-style:preserve-3d;transition:transform .7s ease-in-out}
.flip__front,.flip__back{grid-area:1/1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,2vw,26px);border-radius:var(--radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity 0s .35s}
.flip__front{align-items:center;text-align:center;background:#fff;box-shadow:0 20px 30px -24px rgba(94,31,31,.5)}
.flip__front .icon3d{margin-bottom:20px}
.flip__front h3{margin:0;color:var(--burgundy)}
.flip__hint{flex:none;width:20px;height:20px;margin-top:14px;color:var(--sand)}
.flip__back{align-items:flex-start;transform:rotateY(180deg);opacity:0;pointer-events:none}
.flip__back p{margin:0 0 .8em;font-size:1.05rem;line-height:1.45}
.flip.is-flipped .flip__inner,.flip:focus-within .flip__inner{transform:rotateY(180deg)}
.flip.is-flipped .flip__front,.flip:focus-within .flip__front{opacity:0}
.flip.is-flipped .flip__back,.flip:focus-within .flip__back{opacity:1;pointer-events:auto}
@media (hover:hover){
  .flip:hover .flip__inner{transform:rotateY(180deg)}
  .flip:hover .flip__front{opacity:0}
  .flip:hover .flip__back{opacity:1;pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){.flip__inner{transition:none}.flip__front,.flip__back{transition:none}}
@media (max-width:620px){
  .offers .grid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .offers article.flip:last-of-type:nth-of-type(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}
  .offers .grid>.infobox{margin-top:30px}
  .flip__inner{min-height:0}
  .flip__inner,.flip:hover .flip__inner,.flip:focus-within .flip__inner,.flip.is-flipped .flip__inner{transform:none;transition:transform .2s ease-out}
  .flip__front,.flip:hover .flip__front,.flip:focus-within .flip__front,.flip.is-flipped .flip__front{opacity:1}
  .flip.is-leaving .flip__inner{transform:rotateY(90deg);transition:transform .2s ease-in}
  .offer.flip{justify-self:stretch;width:auto}
  .flip__front{padding:18px 10px 16px}
  .flip__front .icon3d{width:64px;height:64px;margin-bottom:12px}
  .flip__front .icon3d__obj{inset:15px;width:calc(100% - 30px);height:calc(100% - 30px)}
  .flip__front h3{font-size:1.2rem;hyphens:auto;overflow-wrap:anywhere}
  .flip__hint{width:15px;height:15px;margin-top:8px}
  .flip__back,.flip:hover .flip__back,.flip:focus-within .flip__back,.flip.is-flipped .flip__back{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:1;pointer-events:none}
}
.offer-sheet-grund{position:fixed;inset:0;z-index:290;background:rgba(36,36,36,.45);opacity:0;transition:opacity .3s}
.offer-sheet-grund.is-open{opacity:1}
.offer-sheet{position:fixed;left:0;right:0;z-index:300;display:flex;flex-direction:column;justify-content:center;width:min(80vw,320px);min-height:62vh;max-height:calc(100vh - 32px);margin-inline:auto;overflow:auto;padding:36px 24px 28px;border-radius:var(--radius);box-shadow:0 30px 60px -20px rgba(0,0,0,.55);will-change:transform}
.offer-sheet[hidden],.offer-sheet-grund[hidden]{display:none}
.offer-sheet h3{margin:0 0 .5em;font-family:var(--font-display);font-size:1.9rem;line-height:1;letter-spacing:.015em;hyphens:auto}
.offer-sheet p{margin:0 0 1.5em;font-size:1.15rem;line-height:1.5}
.offer-sheet__knoepfe{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.offer-sheet .textlink{align-self:auto;padding-inline:.9em;color:#fff;cursor:pointer}
.offer-sheet a.textlink{background:#fff;border-color:#fff;color:var(--burgundy)}
.offer-sheet .textlink:hover{background:var(--sand-on-dark);border-color:var(--sand-on-dark);color:var(--burgundy-dark)}
@media (min-width:1301px){
  .subnav{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px) scale(.97);transform-origin:24px 0;transition:opacity .2s ease,transform .25s ease,visibility 0s .25s}
  .subnav[data-open="true"]{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity .25s ease,transform .45s cubic-bezier(.2,.9,.2,1),visibility 0s}
  .subnav::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
  .subnav li{opacity:0;transform:translateY(-8px);transition:opacity .15s ease,transform .15s ease}
  .subnav[data-open="true"] li{opacity:1;transform:none;transition:opacity .3s ease,transform .5s cubic-bezier(.2,.9,.2,1);transition-delay:.06s}
  .subnav[data-open="true"] li:nth-child(2){transition-delay:.11s}
  .subnav[data-open="true"] li:nth-child(3){transition-delay:.16s}
  .subnav[data-open="true"] li:nth-child(4){transition-delay:.21s}
  .subnav[data-open="true"] li:nth-child(n+5){transition-delay:.26s}
  .main-nav .subnav a{transition:background-color .2s ease,color .2s ease,padding-left .25s cubic-bezier(.2,.9,.2,1)}
  .main-nav .subnav a:hover{padding-left:18px;color:var(--burgundy)}
  .subnav-toggle::after{transition:transform .35s cubic-bezier(.2,.9,.2,1)}
}
@media (min-width:1301px) and (prefers-reduced-motion:reduce){.subnav,.subnav[data-open="true"],.subnav li,.subnav[data-open="true"] li{transition:none;transform:none}}
.consent{position:fixed;left:0;right:0;bottom:0;z-index:400;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px clamp(16px,3vw,40px);align-items:center;max-height:100dvh;overflow:auto;padding:14px max(var(--gutter),calc((100% - 1400px)/2)) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:3px solid var(--burgundy);box-shadow:0 -18px 40px -24px rgba(36,36,36,.45);font-size:.95rem;line-height:1.45;animation:consent-auf .5s cubic-bezier(.2,1.25,.3,1) both}
.consent[hidden],.consent [hidden]{display:none}
.intro-on .consent{visibility:hidden}
.consent-offen .to-top{visibility:hidden}
.consent h2{grid-column:1;margin:0;font-size:1.3rem}
.consent h2:focus{outline:none}
.consent p{grid-column:1;margin:0}
.consent__hinweis{padding:.5em .8em;background:var(--sand-soft);border-radius:var(--radius-sm);font-weight:500}
.consent__dienste{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 28px;padding:8px 0}
.consent__dienst{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;cursor:pointer}
.consent__dienst input{width:20px;height:20px;margin:.15em 0 0;accent-color:var(--burgundy)}
.consent__dienst strong{display:block}
.consent__knoepfe{grid-column:2;grid-row:1/span 2;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.consent__knoepfe .btn{min-width:150px;min-height:42px;padding:.4em 1em;font-size:.95rem}
.consent__fuss{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;font-size:.9rem;line-height:1.2}
.consent__fuss a,.consent__mehr,.site-footer__einwilligung{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0;line-height:inherit;vertical-align:baseline;border:0;background:none;font:inherit;color:var(--burgundy);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.site-footer__einwilligung{color:#fff}
html:not(.js) .site-footer__einwilligung{display:none}
@keyframes consent-auf{from{transform:translateY(100%)}}
@media (max-width:760px){
  .consent{grid-template-columns:minmax(0,1fr);padding:12px 14px calc(10px + env(safe-area-inset-bottom));font-size:.9rem}
  .consent__knoepfe{grid-column:1;grid-row:auto;justify-content:stretch}
  .consent__knoepfe .btn{flex:1 1 130px;min-width:0}
}
@media (prefers-reduced-motion:reduce){.consent{animation:none}}
@media print{.consent{display:none}}
.legal>:first-child{margin-top:0}
main>section>.wrap>:last-child,main>section>.wrap>:last-child>:last-child{margin-bottom:0}
.wrap.measure{margin-inline:max(var(--gutter),calc((100% - var(--wrap))/2)) auto}
.sozial{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.sozial a,.sozial span{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;transition:background-color .2s,color .2s,border-color .2s,transform .2s cubic-bezier(.2,.8,.2,1)}
.sozial svg{width:22px;height:22px}
.sozial a:hover{background:#fff;border-color:#fff;color:var(--burgundy);transform:translateY(-3px)}
.sozial span{opacity:.4}
