@font-face{font-family:'Aboreto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/aboreto-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Aboreto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/aboreto-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:200;font-display:swap;src:url(fonts/jost-latin-ext-200-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:200;font-display:swap;src:url(fonts/jost-latin-200-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{color-scheme:light only;scroll-behavior:smooth}
html,body,input,button{forced-color-adjust:none}

:root{
  color-scheme:light only;

  
  --ink:#6C2803;        
  --body:#54453A;       
  --mute:#7A6250;       

  
  --orange:#FF6F00;     
  --orange-lt:#FEA969;  

  
  --greige:#FFF9F2;     
  --paper:#FFF9F2;      
  --sand:#F2E9DB;
  --tint:#F6EBDD;
  --peach:#DEDBD2;
  --line:rgba(108,40,3,.15);

  
  --green:#2D3D26;
  --green-mid:#495E3E;
  --green-soft:#C2D1BA;

  
  --red:#7B2118;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:'Jost',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;
  background:var(--greige);color:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;scrollbar-gutter:stable}
button,a{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.wrap{width:100%;padding:0 clamp(20px,4.2vw,80px)}
h1,h2,h3{font-family:'Aboreto',Georgia,serif;font-weight:400;color:var(--ink);
  text-transform:uppercase;letter-spacing:.035em;line-height:1.16}
h1{font-size:clamp(32px,6.6vw,60px)}
h2{font-size:clamp(26px,5.2vw,40px)}
h3{font-size:clamp(18px,3.4vw,23px);letter-spacing:.025em}
p{max-width:64ch}
section{padding:104px 0}
.eyebrow{font-size:12px;font-weight:400;color:var(--ink);letter-spacing:.26em;
  text-transform:uppercase;display:flex;align-items:center;gap:11px;justify-content:center}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);flex:none;
  border-radius:2px}
.head .eyebrow,.center .eyebrow{justify-content:center}
.dtxt .kicker,.pkg .tag,.jbody .tag{color:var(--orange)}
.lead{font-size:clamp(17px,3.6vw,20px);color:var(--body);margin-top:15px;line-height:1.55}
.center{text-align:center;max-width:740px;margin:0 auto 52px}
.center p{margin-left:auto;margin-right:auto}
.head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;
  margin:0 auto 48px;max-width:780px}
.head p{font-size:17px;margin:14px auto 0;line-height:1.55}
.head h2,.head h3{margin-top:12px}
.rv{opacity:0;transform:translateY(24px);
  transition:opacity .75s cubic-bezier(.33,1,.68,1),transform .75s cubic-bezier(.33,1,.68,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}
 .rv{opacity:1;transform:none}}


.btn{background:var(--orange);color:#fff;border:none;border-radius:999px;
  padding:13px 24px;font-size:12.5px;font-weight:500;letter-spacing:.11em;
  text-transform:uppercase;transition:.2s;white-space:nowrap;display:inline-block}
.btn:hover{filter:brightness(.88)}
.btn.lg{padding:16px 32px;font-size:13px}
.btn.line{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.btn.line:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}
.btn.line:hover{border-color:var(--orange);color:var(--orange)}
.btn.green{background:var(--green)}
.btn.green:hover{background:var(--green-mid)}
.btn.white{background:#fff;color:var(--ink)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}


nav.top{position:fixed;top:0;left:0;right:0;z-index:70;padding:14px 0;transition:.3s;
  background:rgba(250,245,236,.93);backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--line)}
nav.top.solid{box-shadow:0 2px 18px rgba(108,40,3,.07)}
.nav-in{display:flex;align-items:center;gap:22px}
.logo{font-family:'Aboreto',Georgia,serif;font-size:21px;letter-spacing:.24em;
  color:var(--ink);padding-left:.24em;flex:none}
.logo small{display:block;font-size:8.5px;letter-spacing:.34em;padding-left:.34em;
  margin-top:3px;color:var(--mute)}
.nav-links{display:none;gap:24px;margin-left:8px}
.nav-links a{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--body)}
.nav-links a:hover{color:var(--orange)}
nav.top .btn{margin-left:auto}
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:80;
  background:var(--orange);transition:width .1s linear}


.hero{position:relative;min-height:0;display:flex;align-items:center;
  padding:150px 0 84px;overflow:hidden;text-align:center}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:url('https://framerusercontent.com/images/hFd3W8A3GVpYtD7vFCTf00oqmM.jpg') center 38%/cover,
             linear-gradient(150deg,#EFEDE6,#C2D1BA)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(40,26,14,.34),rgba(40,26,14,.2) 40%,rgba(40,26,14,.52))}
.hero-grid{display:block;max-width:900px;margin:0 auto}
.hero .eyebrow{color:#DEDBD2}
.hero h1{color:#fff;max-width:16ch;margin:14px auto 0;font-size:clamp(30px,4.8vw,52px);
  text-shadow:0 2px 24px rgba(35,22,12,.35)}
.hero .claim{font-size:clamp(16px,2.6vw,19px);color:rgba(255,255,255,.94);margin:18px auto 0;
  max-width:46ch;line-height:1.5}
.hero-cta{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap;justify-content:center}
.hero .eyebrow{color:#F2E4D6;justify-content:center}
.hero .eyebrow::before{background:var(--orange);width:34px}
.hero h1::after{background:var(--orange);width:56px;margin-top:24px}
.hero .badge{border-color:rgba(255,255,255,.45);color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.1);backdrop-filter:blur(6px);margin-top:22px}
.hero .badge b{color:#fff}
.hero .stars{color:#DEDBD2}

.badge{display:inline-flex;align-items:center;gap:10px;margin-top:26px;
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px}
.badge b{font-weight:500;color:var(--ink)}
.stars{color:var(--orange);letter-spacing:.1em}

@keyframes drift{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1.03) rotate(-2deg)}}


.tgrid{display:grid;grid-template-columns:1fr;gap:12px}
.tcard{border:1px solid var(--line);border-radius:20px;padding:22px 20px;background:transparent;
  transition:.25s;display:block}
.tcard:hover{border-color:var(--orange);transform:translateY(-4px);background:rgba(255,252,247,.75)}
.tcard h3{font-size:17px;letter-spacing:.03em}
.tcard p{font-size:14.5px;margin-top:9px;line-height:1.5}
.tcard .more{display:inline-block;margin-top:14px;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--orange)}
.tcard .more::after{content:" →"}


.lchips{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.lchip{border:1px solid var(--line);border-radius:999px;padding:10px 17px;font-size:13.5px;
  color:var(--body);background:transparent;transition:.2s;display:inline-block}
.lchip:hover{border-color:var(--orange);color:var(--orange);background:rgba(255,252,247,.8)}


.pkgs{display:grid;grid-template-columns:1fr;gap:14px}
.pkg{border:1px solid var(--line);border-radius:22px;padding:24px 22px;background:transparent;
  display:flex;flex-direction:column;transition:.25s}
.pkg:hover{border-color:var(--orange);transform:translateY(-4px);background:rgba(255,252,247,.75)}
.pkg .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.pkg h3{margin-top:9px;font-size:19px}
.pkg p{font-size:14.5px;margin-top:10px;flex:1;line-height:1.5}
.pkg .pr{margin-top:16px;font-size:15px;color:var(--ink)}
.pkg .btn{margin-top:16px;align-self:flex-start}


.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin-left:calc(-1*clamp(20px,4.2vw,80px));margin-right:calc(-1*clamp(20px,4.2vw,80px));
  padding:0 clamp(20px,4.2vw,80px) 10px}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start;flex:none}
.arrows{display:none;gap:10px;justify-content:flex-end;margin-top:18px}
.arw{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;
  display:grid;place-items:center;color:var(--ink);font-size:17px;transition:.2s}
.arw:hover{border-color:var(--orange);color:var(--orange)}


.icard{width:258px;border-radius:22px;padding:22px 20px 20px;position:relative;
  display:flex;flex-direction:column;min-height:286px;transition:.3s}
.icard:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(108,40,3,.12)}
.icard .ghost{position:absolute;right:12px;top:-14px;font-size:92px;line-height:1;
  color:rgba(255,255,255,.34);letter-spacing:-.06em;pointer-events:none;
  font-family:'Aboreto',Georgia,serif}
.icard .cat{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(108,40,3,.6);position:relative;z-index:1}
.icard .ing,.icard .nm,.icard .tg,.icard .pr{position:relative;z-index:1}
.icard .ing{font-size:12.5px;color:rgba(108,40,3,.72);margin-top:auto;line-height:1.5}
.icard .nm{font-family:'Aboreto',Georgia,serif;font-size:20px;color:var(--ink);margin-top:8px;
  text-transform:uppercase;letter-spacing:.03em;line-height:1.2}
.icard .tg{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.icard .tg span{font-size:11px;background:rgba(255,252,247,.8);border-radius:999px;
  padding:4px 10px;color:rgba(108,40,3,.75)}
.icard .pr{margin-top:14px;font-size:16px;color:var(--ink)}
.icard.dark .cat{color:rgba(255,255,255,.75)}
.icard.dark .ing{color:rgba(255,255,255,.85)}
.icard.dark .nm,.icard.dark .pr{color:#fff}
.icard.dark .tg span{background:rgba(255,255,255,.2);color:#fff}
.icard.dark .ghost{color:rgba(255,255,255,.2)}
.note{background:rgba(169,78,12,.07);border:1px solid rgba(169,78,12,.32);color:var(--red);font-size:13.5px;
  line-height:1.55;padding:14px 17px;border-radius:14px;margin-top:18px}
.note b{font-weight:500}


.feats{display:grid;gap:14px}
.feat{border-radius:26px;padding:32px 24px;min-height:300px;display:flex;flex-direction:column;
  justify-content:flex-end;position:relative;overflow:hidden;background-size:cover;
  background-position:center;background-color:var(--sand)}
.feat::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(45,25,10,.05) 26%,rgba(45,25,10,.62) 70%,rgba(45,25,10,.86) 100%)}
.feat>*{position:relative;z-index:1}
.feat h3,.feat .pr{color:#fff}
.feat p{color:rgba(255,255,255,.92);font-size:15px;margin-top:10px;max-width:34ch}
.feat .eyebrow{color:var(--peach)}
.feat .btn{margin-top:20px;align-self:flex-start}


.detail{display:grid;gap:24px;padding:48px 0;border-top:1px solid var(--line)}
.detail:first-of-type{border-top:none}
.dart{border-radius:24px;min-height:280px;background-size:cover;background-position:center;
  background-color:var(--sand);position:relative;overflow:hidden}
.dart span{position:absolute;left:18px;bottom:18px;background:rgba(242,241,236,.94);
  border-radius:999px;padding:8px 15px;font-size:12.5px;color:var(--ink)}
.dtxt .kicker{font-size:12.5px;font-weight:500;color:var(--orange);letter-spacing:.14em;
  text-transform:uppercase}
.dtxt h3{margin-top:9px}
.dsum{font-size:17px;color:var(--ink);margin-top:12px;max-width:52ch;line-height:1.5}
.dlist{list-style:none;margin-top:20px;display:grid;gap:0}
.dlist li{display:flex;gap:11px;align-items:flex-start;padding:8px 0;font-size:15.5px;line-height:1.5}
.dlist li svg{flex:none;margin-top:5px}
.dfoot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}
.dprice{font-size:16.5px;color:var(--ink)}
.dprice small{display:block;font-size:13.5px;color:var(--mute);margin-top:3px}


.ptable{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:transparent}
.pgroup{border-top:1px solid var(--line)}
.pgroup:first-child{border-top:none}
.pgroup > summary{list-style:none;padding:20px 24px;display:flex;align-items:center;gap:16px;
  font-family:'Aboreto',Georgia,serif;font-size:16px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink);background:transparent}
.pgroup > summary::-webkit-details-marker{display:none}
.pgroup > summary i{margin-left:auto;font-style:normal;font-size:20px;color:var(--orange);
  transition:.25s;flex:none}
.pgroup[open] > summary i{transform:rotate(45deg)}
.prow{display:flex;gap:18px;align-items:baseline;padding:14px 24px;
  border-top:1px solid rgba(108,40,3,.13);font-size:15.5px}
.prow .nm{flex:1}
.prow .nm small{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.prow .amt{color:var(--ink);white-space:nowrap}


.step{width:280px}
.step .img{height:196px;border-radius:20px;margin-bottom:14px;background-size:cover;
  background-position:center;background-color:var(--sand)}
.step .lbl{font-size:13.5px;font-weight:500;color:var(--orange)}
.step h3{font-size:20px;margin-top:6px}
.step p{font-size:15px;margin-top:9px;line-height:1.55}


.crew{display:grid;grid-template-columns:1fr;gap:22px;margin-top:44px}
.pcard{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:transparent;
  display:grid;grid-template-columns:1fr;transition:.25s;align-content:start}
.pcard:hover{border-color:var(--orange)}
.pimg{aspect-ratio:4/5;background-size:cover;background-position:center 18%;background-color:var(--sand)}
.pbody{padding:24px 24px 26px;display:flex;flex-direction:column}
.pbody b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:19px;color:var(--ink);
  text-transform:uppercase;letter-spacing:.03em;display:block;line-height:1.25}
.prole{display:block;font-size:11.5px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--orange);margin-top:7px}
.pfield{display:block;font-size:14px;color:var(--ink);margin-top:12px}
.pbio{display:block;font-size:14.5px;line-height:1.6;margin-top:11px;flex:1}
.pqual{display:block;font-size:13px;color:var(--mute);line-height:1.55;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)}


.pimg.ph-empty{display:grid;place-items:center;background:linear-gradient(155deg,#E4E2DA,#E3D5C2);
  position:relative}
.pimg.ph-empty span{font-family:'Aboreto',Georgia,serif;font-size:38px;color:rgba(108,40,3,.5);
  letter-spacing:.08em}
.pimg.ph-empty em{position:absolute;left:12px;right:12px;bottom:12px;font-style:normal;
  background:rgba(242,241,236,.93);border-radius:10px;padding:7px 10px;font-family:'Jost',sans-serif;
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:center}
.pcard.founder{border-color:var(--orange)}
.pcard.lead-doc .pimg.ph-empty{background:linear-gradient(155deg,#EFEDE6,#E5D8C6)}


.dart.phonebox{display:grid;place-items:center;background:transparent;overflow:hidden;
  position:relative;padding:30px 0;min-height:520px}
.dart.phonebox .glow{position:absolute;inset:-14%;opacity:.5;
  background:radial-gradient(42% 40% at 26% 30%,#E8E5DC 0,transparent 64%),
             radial-gradient(38% 36% at 76% 26%,#DEDBD2 0,transparent 62%),
             radial-gradient(48% 44% at 62% 80%,#C2D1BA 0,transparent 66%),#E4E2DA;
  filter:blur(26px);animation:drift 32s ease-in-out infinite alternate}
@keyframes drift{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1.03) rotate(-2deg)}}



::selection{background:var(--orange);color:#fff}
.eyebrow::before{width:34px;height:1.5px}
.head h2::after,.center h2::after,.band h2::after{content:"";display:block;width:44px;
  height:2px;background:var(--orange);margin:20px auto 0;border-radius:2px}
.tcard{position:relative}
.tcard::before{content:"";position:absolute;left:20px;top:0;width:0;height:2px;
  background:var(--orange);transition:width .35s cubic-bezier(.33,1,.68,1)}
.tcard:hover::before{width:calc(100% - 40px)}
.pkg .tag{display:inline-flex;align-items:center;gap:8px}
.pkg .tag::before{content:"";width:14px;height:1.5px;background:var(--orange);flex:none}
.dlist li svg path{stroke:var(--orange)}
.prow:hover{background:rgba(255,252,247,.72)}
.prow .amt{color:var(--orange)}
.pgroup[open] > summary{color:var(--orange)}
.stat:first-child b,.stat:nth-child(3) b{color:var(--orange)}
.step .lbl{display:inline-flex;align-items:center;gap:9px}
.step .lbl::before{content:"";width:18px;height:1.5px;background:var(--orange);flex:none}
.pcard.founder,.pcard.lead-doc{position:relative}
.pcard.founder::after,.pcard.lead-doc::after{content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--orange)}
.qt{border-left:2px solid var(--orange);padding-left:20px}
.badge .stars{color:var(--orange)}
.faq[open] summary{color:var(--orange)}
.jcard:hover .jbody h3{color:var(--orange)}
.mnav a:hover{color:var(--orange-lt)}
.nav-links a{position:relative;padding-bottom:3px}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--orange);transition:right .3s}
.nav-links a:hover::after{right:0}
.wafloat{background:var(--orange);box-shadow:0 10px 26px rgba(169,78,12,.34)}
.wafloat:hover{background:var(--orange);filter:brightness(.88)}
.mbar .wa{background:var(--orange)}
footer{border-top:3px solid var(--orange)}
.fmark small{color:var(--orange-lt)}
.imprint h4{color:var(--orange-lt)}
.band{background:linear-gradient(150deg,#3B4E31 0,#2D3D26 55%,#1E2A19 100%)}
.band::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:80px;height:3px;background:var(--orange);z-index:2}


.stats{border:1px solid var(--line);border-radius:24px;display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;background:transparent}
.stat{padding:26px 18px;text-align:center;border-bottom:1px solid var(--line)}
.stat:nth-child(odd){border-right:1px solid var(--line)}
.stat:nth-last-child(-n+2){border-bottom:none}
.stat b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:40px;color:var(--ink);
  display:block;line-height:1}
.stat span{font-size:14px;color:var(--mute);margin-top:7px;display:block}
.quote{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.qt{font-size:clamp(19px,4.2vw,26px);color:var(--ink);line-height:1.4;max-width:28ch;
  transition:opacity .45s}
.qm{margin-top:14px;font-size:14px;color:var(--mute);transition:opacity .45s}
.qbox.fade .qt,.qbox.fade .qm{opacity:0}
.dots{display:flex;gap:7px;margin-top:22px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:none;padding:0;transition:.3s}
.dot.on{background:var(--orange);width:24px;border-radius:99px}


.jgrid{display:grid;gap:16px}
.jcard{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:transparent;transition:.25s}
.jcard:hover{border-color:var(--orange);transform:translateY(-4px)}
.jimg{height:180px;background:linear-gradient(150deg,#E5D8C6,#C2A98C);position:relative}
.jimg img{width:100%;height:100%;object-fit:cover;display:block}
.jdate{display:block;margin-top:12px;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute)}
.jbody{padding:20px 22px 24px}
.jbody .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.jbody h3{font-size:18px;margin-top:9px}


.faq{border:1px solid var(--line);border-radius:18px;margin-bottom:10px;overflow:hidden;
  transition:.2s;background:transparent}
.faq[open]{border-color:var(--orange);background:rgba(255,252,247,.8)}
.faq summary{list-style:none;padding:20px 22px;display:flex;align-items:center;gap:16px;
  font-size:17px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{margin-left:auto;font-style:normal;font-size:21px;color:var(--orange);
  transition:.25s;flex:none}
.faq[open] summary i{transform:rotate(45deg)}
.faq .ans{padding:0 22px 22px;font-size:16px;line-height:1.6}


.tintsec{background:transparent}
.band{background:linear-gradient(150deg,#3B4E31 0,#2D3D26 55%,#1E2A19 100%);border-radius:28px;
  padding:56px 26px;text-align:center;color:#fff;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;inset:-30%;pointer-events:none;
  background:radial-gradient(38% 40% at 22% 22%,rgba(194,209,186,.22),transparent 62%),
             radial-gradient(42% 44% at 82% 78%,rgba(252,126,32,.18),transparent 64%)}
.band>*{position:relative;z-index:1}
.band h2{color:#fff}
.band p{color:rgba(255,255,255,.85);margin:14px auto 0;font-size:16px}

footer{background:var(--green);color:#E4E2DA;border-radius:64px 64px 0 0;padding:64px 0 44px;
  margin-top:0}
footer a{color:#E4E2DA}
footer a:hover{color:var(--orange)}
.fgrid{display:grid;gap:30px;margin-top:26px}
.fgrid h4{font-family:'Aboreto',Georgia,serif;font-size:13px;text-transform:uppercase;
  letter-spacing:.13em;margin-bottom:14px;opacity:.75}
.fgrid a{display:block;font-family:'Aboreto',Georgia,serif;font-size:14px;margin-bottom:11px;
  text-transform:uppercase;letter-spacing:.07em;opacity:.9}
.fgrid p{font-size:15px;margin-bottom:9px;opacity:.9}
.imprint{border-top:1px solid rgba(243,237,228,.22);margin-top:44px;padding-top:32px;
  display:grid;gap:26px;font-size:14.5px;color:rgba(243,237,228,.82)}
.imprint h4{font-family:'Aboreto',Georgia,serif;font-size:12px;letter-spacing:.15em;
  text-transform:uppercase;color:#BCAA95;margin-bottom:12px}
.imprint p,.imprint a{line-height:1.75;display:block}
.fbot{margin-top:52px;padding-top:34px;border-top:1px solid rgba(243,237,228,.18);text-align:center}
.fmark{font-family:'Aboreto',Georgia,serif;font-size:clamp(52px,11vw,104px);color:#E4E2DA;
  letter-spacing:.14em;padding-left:.14em;line-height:1;display:block}
.fmark small{display:block;font-size:.2em;letter-spacing:.4em;padding-left:.4em;margin-top:10px}
.fcopy{display:block;margin-top:16px;font-size:clamp(15px,2.4vw,19px);color:#BCAA95}
.fcopy a{color:#BCAA95}

.stage{position:relative;z-index:2;width:246px;display:flex;justify-content:center}
.phone{position:relative;width:246px;background:var(--paper);border:8px solid #2D1A0C;border-radius:38px;
  box-shadow:0 22px 50px rgba(108,40,3,.22);overflow:hidden;z-index:2;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:64px;height:17px;
  background:#2D1A0C;border-radius:99px;z-index:5}
.ph-in{padding:32px 16px 16px;min-height:456px;position:relative;display:flex;flex-direction:column}
.ph-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding:0 2px}
.ph-top b{font-size:12.5px;color:var(--ink);font-weight:500}
.ph-top span{font-size:10px;color:var(--mute)}
.panels{position:relative;flex:1}
.panel{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .55s,transform .55s;
  pointer-events:none;display:flex;flex-direction:column}
.panel.on{opacity:1;transform:none;pointer-events:auto}
.ringwrap{position:relative;width:150px;height:150px;margin:8px auto 0}
.ring{position:absolute;inset:0;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-linecap:round}
.ring .bg{stroke:#E4E2DA;stroke-width:11}
.ring .fg{stroke:url(#gr);stroke-width:11;stroke-dasharray:352;stroke-dashoffset:352;
  transition:stroke-dashoffset 1.9s cubic-bezier(.22,1,.36,1)}
.ringtxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;gap:4px}
.ringtxt b{font-family:'Aboreto',Georgia,serif;font-size:36px;font-weight:400;color:var(--ink);line-height:1}
.ringtxt span{font-size:9px;color:var(--mute);letter-spacing:.05em;text-transform:uppercase;
  max-width:12ch;line-height:1.25}
.younger{margin:16px auto 0;background:#E6EDE2;color:#2D3D26;border-radius:999px;padding:7px 14px;
  font-size:11.5px;width:max-content;opacity:0;transform:scale(.85);transition:.5s .9s}
.younger.on{opacity:1;transform:none}
.bmrow{padding:8px 2px;border-bottom:1px solid rgba(108,40,3,.13)}
.bmrow:last-child{border-bottom:none}
.bmhead{display:flex;align-items:center;gap:8px}
.bmhead .dot2{width:7px;height:7px;border-radius:50%;flex:none}
.bmhead .nm{font-size:11px;color:var(--ink);flex:1}
.bmhead .vl{font-size:10.5px;color:var(--mute);white-space:nowrap}
.track{height:4px;border-radius:99px;background:#E4E2DA;margin-top:6px;overflow:hidden}
.fillbar{display:block;height:100%;border-radius:99px;width:0;transition:width 1.3s cubic-bezier(.22,1,.36,1)}
.legend{display:flex;gap:12px;margin-top:auto;padding-top:12px;justify-content:center}
.legend i{display:flex;align-items:center;gap:5px;font-style:normal;font-size:9px;color:var(--mute)}
.legend i b{width:6px;height:6px;border-radius:50%;display:block}
.pdots{display:flex;gap:5px;justify-content:center;margin-top:14px}
.pdots i{width:5px;height:5px;border-radius:99px;background:#CFCDC4;transition:.3s;display:block}
.pdots i.on{background:var(--orange);width:16px}
.lchip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#E4E2DA}


.wafloat{position:fixed;right:20px;bottom:22px;z-index:65;width:54px;height:54px;
  border-radius:50%;background:var(--green);color:#E4E2DA;display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(45,61,38,.32);transition:.25s}
.wafloat:hover{background:var(--green-mid);transform:translateY(-3px)}
.wafloat svg{width:26px;height:26px}


.burger{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);
  border-radius:50%;background:var(--paper);margin-left:auto;flex:none;gap:4px;padding:0}
.burger i{display:block;width:16px;height:1.5px;background:var(--ink);transition:.25s}
.burger.on i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger.on i:nth-child(2){opacity:0}
.burger.on i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);z-index:75;background:var(--green);
  padding:92px 26px calc(32px + env(safe-area-inset-bottom));transform:translateX(102%);
  transition:transform .36s cubic-bezier(.4,0,.2,1);overflow-y:auto;border-radius:38px 0 0 38px}
.mnav.on{transform:none}
.mnav a{display:block;font-family:'Aboreto',Georgia,serif;font-size:16px;color:#E4E2DA;
  text-transform:uppercase;letter-spacing:.08em;padding:13px 0;
  border-bottom:1px solid rgba(243,237,228,.16)}
.mnav .mcta{margin-top:24px;background:var(--orange);color:#fff;text-align:center;
  border-radius:999px;padding:16px;border:none;font-size:12.5px;letter-spacing:.12em;
  text-transform:uppercase;font-family:'Jost',sans-serif;font-weight:500;width:100%}
.mscrim{position:fixed;inset:0;background:rgba(45,61,38,.5);z-index:74;opacity:0;
  pointer-events:none;transition:.3s}
.mscrim.on{opacity:1;pointer-events:auto}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:66;background:rgba(250,245,236,.97);
  backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line);display:flex;
  gap:10px;align-items:center;padding:11px 18px calc(11px + env(safe-area-inset-bottom));
  transform:translateY(105%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.mbar.up{transform:none}
.mbar .btn{flex:1;text-align:center}
.mbar .wa{width:48px;height:48px;border-radius:50%;background:var(--green);color:#E4E2DA;
  display:grid;place-items:center;flex:none}
.mbar .wa svg{width:23px;height:23px}

@media(min-width:900px){
  .burger,.mnav,.mscrim,.mbar{display:none!important}
  .nav-links{display:flex}
  .wrap{max-width:1560px;margin:0 auto}
  .hero{padding:154px 0 96px}
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:64px}
  .tgrid{grid-template-columns:repeat(3,1fr);gap:16px}
  .pkgs{grid-template-columns:repeat(3,1fr);gap:18px}
  .feats{grid-template-columns:repeat(3,1fr);gap:16px}
  .feats .feat.wide{grid-column:span 3;min-height:400px;padding:52px 46px}
  .detail{grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;padding:60px 0}
  .detail.flip .dart{order:2}
  .dart{min-height:420px}
  .dlist{grid-template-columns:1fr 1fr;gap:0 28px}
  .crew{grid-template-columns:repeat(2,1fr);gap:24px}
  .pcard{grid-template-columns:190px 1fr}
  .pimg{aspect-ratio:auto;min-height:250px;height:100%}
  .stats{grid-template-columns:repeat(4,1fr)}
  .stat{border-bottom:none!important;border-right:1px solid var(--line)}
  .stat:last-child{border-right:none}
  .jgrid{grid-template-columns:repeat(3,1fr)}
  .qgrid{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:center}
  .arrows{display:flex}
  .rail{margin-left:0;margin-right:calc(-1*clamp(20px,4.2vw,80px));padding-left:0}
  .rail.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;overflow:visible;
    margin-right:0;padding-right:0}
  .rail.grid4 .step{width:auto}
  .fgrid{grid-template-columns:1.5fr 1fr 1fr 1fr}
  .imprint{grid-template-columns:repeat(4,1fr);gap:36px}
  .band{padding:88px 40px}
  .wafloat{right:28px;bottom:28px;width:58px;height:58px}
}
@media(max-width:899px){
  section{padding:56px 0}
  .hero{padding:96px 0 44px}
  h1{font-size:clamp(28px,8vw,42px);line-height:1.2}
  h2{font-size:clamp(23px,6.2vw,32px);line-height:1.22}
  .lead{font-size:16.5px}
  body{padding-bottom:76px}
  .wafloat{display:none}
  footer{border-radius:38px 38px 0 0;padding:48px 0 34px;margin-top:56px}
  .band{padding:44px 22px;border-radius:26px}
  .icard{width:232px}
  .step{width:252px}
  .detail{padding:34px 0;gap:20px}
  .dart{min-height:220px}
}
@media(max-width:560px){
  .tgrid{grid-template-columns:1fr}
  .pkgs{grid-template-columns:1fr}
}




@media(max-width:1269px){
  .nav-links{display:none!important}
  .burger{display:grid!important}
  .mnav{display:block!important}
  .mscrim{display:block!important}
}
@media(min-width:1270px){
  .nav-links{display:flex}
  .burger,.mnav,.mscrim{display:none!important}
}


@media(max-width:899px){
  .deskcta{display:none}
  .nav-in{gap:14px}
}


@media(min-width:600px) and (max-width:899px){
  .jgrid{grid-template-columns:1fr 1fr}
}


@media(max-width:400px){
  .logo{font-size:19px;letter-spacing:.2em}
  .wrap{padding:0 18px}
}


@media(max-height:480px) and (max-width:1269px){
  .mnav{padding-top:74px}
  .mnav a{padding:10px 0;font-size:15px}
  .mnav .mcta{margin-top:16px;padding:13px}
}





.navdrop{position:relative;display:flex;align-items:center}
.navmenu{position:absolute;top:100%;left:-18px;min-width:252px;padding:10px 0;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 18px 44px rgba(108,40,3,.13);opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.22s cubic-bezier(.33,1,.68,1);z-index:90}
.navdrop:hover .navmenu,.navdrop:focus-within .navmenu,.navdrop.offen .navmenu{
  opacity:1;visibility:visible;transform:none}
.navmenu a{display:block;padding:10px 22px;font-size:13.5px;letter-spacing:.04em;
  text-transform:none;color:var(--body)}
.navmenu a::after{display:none}
.navmenu a:hover{color:var(--orange);background:rgba(169,78,12,.055)}

.navmenu a[aria-current]{color:var(--orange)}
.nav-links a[aria-current]{color:var(--orange)}
.nav-links a[aria-current]::after{right:0}


.mgroup{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange-lt);margin:20px 0 4px}
.mgroup:first-child{margin-top:0}
.mnav a{padding:12px 0}
.mnav a.mcta{padding:16px}


.krumen{padding:104px 0 0;font-size:12px;letter-spacing:.06em}
.krumen .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--mute)}
.krumen a{color:var(--mute)}
.krumen a:hover{color:var(--orange)}
.krumen b{font-weight:400;color:var(--ink)}
.krumen span{opacity:.5}


.firstsec{padding-top:34px!important}
.krumen+.firstsec{padding-top:26px!important}


.lgrid{display:grid;gap:14px;grid-template-columns:1fr}
.lcard{border:1px solid var(--line);border-radius:22px;padding:26px 24px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:border-color .25s,background .25s,transform .25s}
.lcard:hover{border-color:var(--orange);background:rgba(255,252,247,.75)}

a.lcard:hover,.shkarte:hover{transform:translateY(-4px)}
.lcard::before{content:"";position:absolute;left:24px;top:0;width:calc(100% - 48px);height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.33,1,.68,1)}
.lcard:hover::before{transform:scaleX(1)}
.lcard .num{font-family:'Aboreto',Georgia,serif;font-size:12px;letter-spacing:.2em;color:var(--orange)}
.lcard h3{margin-top:12px;font-size:19px}
.lcard p{font-size:14.5px;margin-top:10px;line-height:1.55;flex:1}
.lcard .more{margin-top:16px;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--orange)}
.lcard .more::after{content:" \2192"}

.lcard .lpreis{margin-top:16px;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink)}


.kgrid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:8px}
.kcard{border:1px solid var(--line);border-radius:22px;padding:26px 24px}
.kcard h3{font-size:17px}

.ksym{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:var(--beige);border:1px solid var(--line);margin-bottom:14px;
  transition:background .22s,border-color .22s}
.ksym svg{width:21px;height:21px;fill:none;stroke:var(--orange);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
.kcard:hover .ksym{background:var(--orange);border-color:var(--orange)}
.kcard:hover .ksym svg{stroke:#fff}
.ksym.klein{width:32px;height:32px;margin-bottom:0;flex:none}
.ksym.klein svg{width:17px;height:17px}
.pgroup > summary:hover .ksym.klein{background:var(--orange);border-color:var(--orange)}
.pgroup > summary:hover .ksym.klein svg{stroke:#fff}
.pgroup[open] > summary .ksym.klein{background:var(--orange);border-color:var(--orange)}
.pgroup[open] > summary .ksym.klein svg{stroke:#fff}
.kcard p,.kcard a{display:block;font-size:15.5px;line-height:1.7;margin-top:8px}
.kcard a{color:var(--ink)}
.kcard a:hover{color:var(--orange)}
.kmap{border-radius:24px;overflow:hidden;border:1px solid var(--line);margin-top:20px;
  aspect-ratio:16/9;background:var(--sand)}
.kmap iframe{width:100%;height:100%;border:0;display:block}


.legal{max-width:760px;margin:0 auto}
.legal h2{margin-top:44px;font-size:clamp(20px,4vw,26px)}
.legal h3{margin-top:28px;font-size:clamp(16px,3vw,19px)}
.legal p{max-width:none;margin-top:14px;font-size:16.5px;line-height:1.7}
.legal ul{margin-top:14px;padding-left:22px}
.legal li{font-size:16.5px;line-height:1.7;margin-top:6px}
.legal .hinweis{background:rgba(169,78,12,.07);border:1px solid rgba(169,78,12,.32);
  color:var(--red);font-size:14.5px;line-height:1.6;padding:16px 18px;
  border-radius:14px;margin-top:22px}
.legal .hinweis b{font-weight:500}


.jimg{position:relative}
.jimg img{width:100%;height:100%;object-fit:cover;display:block}
.jcard{display:flex;flex-direction:column}
.jcard .jbody{display:flex;flex-direction:column;flex:1}
.jbody h3{line-height:1.24}
.jdate{display:block;margin-top:12px;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute)}
.jbody .more{display:inline-block;margin-top:14px;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--orange)}
.jbody .more::after{content:" \2192"}
.jtop{padding:26px 0 56px}
.jtop .head{margin-bottom:44px}

.jtop .head h1,#journal .head h2{color:var(--orange-text)}
.jtop .head h1::after,#journal .head h2::after{background:var(--orange-text)}
.jcount{font-size:13.5px;color:var(--mute)}
.apage{padding:26px 0 56px}
.aback{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange)}
.aback::before{content:"";width:18px;height:1.5px;background:var(--orange);flex:none}
.ahead{max-width:820px;margin:0 auto;text-align:center}
.ahead h1{margin-top:16px;font-size:clamp(28px,5.4vw,46px)}
.ahead .lead{margin-top:18px}
.ameta{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;
  margin-top:22px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute)}
.ameta i{font-style:normal;width:4px;height:4px;border-radius:50%;background:var(--orange)}
.ahero{margin:40px auto 0;max-width:1100px;border-radius:28px;overflow:hidden;
  background:var(--sand);aspect-ratio:16/9}
.ahero img{width:100%;height:100%;object-fit:cover;display:block}
.abody{max-width:760px;margin:0 auto;padding:52px 0 8px}
.abody p{max-width:none;margin-top:18px;font-size:17.5px;line-height:1.72}
.abody h2{margin-top:46px;font-size:clamp(21px,4.2vw,29px)}
.abody h2+p{margin-top:14px}
.abody h3{margin-top:34px;font-size:clamp(17px,3.2vw,20px)}
.abody h3+p,.abody h3+ul{margin-top:12px}
.abody .dlist{margin-top:16px}
.abody .dlist li{font-size:16.5px}
.abody>*:first-child{margin-top:0}
figure.afig{margin:40px 0 0;border-radius:24px;overflow:hidden;background:var(--sand)}
figure.afig img{width:100%;height:auto;display:block}
figure.afig figcaption{font-size:13px;color:var(--mute);padding:12px 4px 0;line-height:1.5}
.aend{max-width:760px;margin:44px auto 0;padding-top:26px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--mute);line-height:1.6}


img{max-width:100%}
.abody .dlist{grid-template-columns:1fr}

@media(min-width:900px){
  .lgrid{grid-template-columns:repeat(var(--ln,3),minmax(0,1fr));gap:18px}
  .kgrid{grid-template-columns:repeat(3,1fr);gap:20px}
}

@media(min-width:900px) and (max-width:1179px){
  .lgrid.sp4{grid-template-columns:repeat(3,1fr)}
}

.lgrid.sp2{max-width:780px;margin-left:auto;margin-right:auto}

@media(min-width:1180px){
  .lgrid.sp4 .lcard{padding:22px 20px!important}
  .lgrid.sp4 .lcard h3{font-size:19px}
  .lgrid.sp4 .lcard p{font-size:14.5px}
}
@media(min-width:600px) and (max-width:899px){
  .lgrid{grid-template-columns:1fr 1fr}
  .kgrid{grid-template-columns:1fr 1fr}
}



@media(min-width:900px){
  .lgrid.r31,.lgrid.r32,.tgrid.r31,.tgrid.r32{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lgrid.r31 > *,.lgrid.r32 > *,.tgrid.r31 > *,.tgrid.r32 > *{grid-column:span 2}
  .lgrid.r31 > *:last-child,.tgrid.r31 > *:last-child{grid-column:3 / span 2}
  .lgrid.r32 > *:nth-last-child(2),.tgrid.r32 > *:nth-last-child(2){grid-column:2 / span 2}
  .lgrid.r32 > *:last-child,.tgrid.r32 > *:last-child{grid-column:4 / span 2}
}
@media(min-width:900px) and (max-width:1179px){
  .lgrid.sp4.s31,.lgrid.sp4.s32{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lgrid.sp4.s31 > *,.lgrid.sp4.s32 > *{grid-column:span 2}
  .lgrid.sp4.s31 > *:last-child{grid-column:3 / span 2}
  .lgrid.sp4.s32 > *:nth-last-child(2){grid-column:2 / span 2}
  .lgrid.sp4.s32 > *:last-child{grid-column:4 / span 2}
}
@media(min-width:1180px){
  .lgrid.r41,.lgrid.r42,.lgrid.r43{grid-template-columns:repeat(8,minmax(0,1fr))}
  .lgrid.r41 > *,.lgrid.r42 > *,.lgrid.r43 > *{grid-column:span 2}
  .lgrid.r41 > *:last-child{grid-column:4 / span 2}
  .lgrid.r42 > *:nth-last-child(2){grid-column:3 / span 2}
  .lgrid.r42 > *:last-child{grid-column:5 / span 2}
  .lgrid.r43 > *:nth-last-child(3){grid-column:2 / span 2}
  .lgrid.r43 > *:nth-last-child(2){grid-column:4 / span 2}
  .lgrid.r43 > *:last-child{grid-column:6 / span 2}
}

@media(min-width:1100px){
  .fkgrid.r31,.fkgrid.r32{grid-template-columns:repeat(6,minmax(0,1fr))}
  .fkgrid.r31 > *,.fkgrid.r32 > *{grid-column:span 2}
  .fkgrid.r31 > *:last-child{grid-column:3 / span 2}
  .fkgrid.r32 > *:nth-last-child(2){grid-column:2 / span 2}
  .fkgrid.r32 > *:last-child{grid-column:4 / span 2}
  .fkgrid.r41,.fkgrid.r42,.fkgrid.r43{grid-template-columns:repeat(8,minmax(0,1fr))}
  .fkgrid.r41 > *,.fkgrid.r42 > *,.fkgrid.r43 > *{grid-column:span 2}
  .fkgrid.r41 > *:last-child{grid-column:4 / span 2}
  .fkgrid.r42 > *:nth-last-child(2){grid-column:3 / span 2}
  .fkgrid.r42 > *:last-child{grid-column:5 / span 2}
  .fkgrid.r43 > *:nth-last-child(3){grid-column:2 / span 2}
  .fkgrid.r43 > *:nth-last-child(2){grid-column:4 / span 2}
  .fkgrid.r43 > *:last-child{grid-column:6 / span 2}
  
  .acgrid.r31,.acgrid.r32{grid-template-columns:repeat(6,minmax(0,1fr))}
  .acgrid.r31 > *,.acgrid.r32 > *{grid-column:span 2}
  .acgrid.r31 > *:last-child{grid-column:3 / span 2}
  .acgrid.r32 > *:nth-last-child(2){grid-column:2 / span 2}
  .acgrid.r32 > *:last-child{grid-column:4 / span 2}
  .acgrid.r41,.acgrid.r42,.acgrid.r43{grid-template-columns:repeat(8,minmax(0,1fr))}
  .acgrid.r41 > *,.acgrid.r42 > *,.acgrid.r43 > *{grid-column:span 2}
  .acgrid.r41 > *:last-child{grid-column:4 / span 2}
  .acgrid.r42 > *:nth-last-child(2){grid-column:3 / span 2}
  .acgrid.r42 > *:last-child{grid-column:5 / span 2}
  .acgrid.r43 > *:nth-last-child(3){grid-column:2 / span 2}
  .acgrid.r43 > *:nth-last-child(2){grid-column:4 / span 2}
  .acgrid.r43 > *:last-child{grid-column:6 / span 2}
}

@media(min-width:600px) and (max-width:899px){
  .lgrid.u2 > *:last-child{grid-column:1 / -1;max-width:calc(50% - 7px);margin:0 auto;width:100%}
}
@media(min-width:700px) and (max-width:1099px){
  .fkgrid.u2 > *:last-child{grid-column:1 / -1;max-width:calc(50% - 7px);margin:0 auto;width:100%}
}

.tgrid.einzeln{max-width:380px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}
.lgrid.einzeln{max-width:400px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}
@media(max-width:899px){
  .krumen{padding-top:86px}
  .firstsec,.krumen+.firstsec{padding-top:20px!important}
  .jtop,.apage{padding-top:16px}
  .abody{padding:34px 0 4px}
  .abody p{font-size:16.5px}
  .ahero{margin-top:26px;border-radius:20px;aspect-ratio:4/3}
  figure.afig{border-radius:18px;margin-top:28px}
}



:root{
  
  --orange-text:#9B3102;
  
  --grad-warm-gross:radial-gradient(150% 142% at 76.5% -6.2%,#FFD5B5 0%,#FEA969 12%,
              #FC7E20 28%,#A03402 52%,#742802 78%,#6C2803 100%);
  
  --grad-ruhig:radial-gradient(120% 120% at 100% 0%,#FFF9F2 0%,#F3EDE4 46%,#E7DCCD 100%);
  --beige:#F3EDE4;
  --taupe:#BCAA95;
}


.btn{background:var(--orange);border-radius:999px;color:#fff}
.btn:hover{background:#E86200;filter:none}
.btn.line,.btn.ghost{background:transparent}
.btn.white{background:#fff;color:var(--ink)}
.btn.green{background:var(--green)}
.btn.green:hover{background:var(--green-mid)}
.mnav .mcta,.mbar .btn{background:var(--orange)}
.wafloat{background:var(--orange)}
.wafloat:hover{background:#E86200;filter:none}


.eyebrow::before,.head h2::after,.center h2::after,.band h2::after,
.tcard::before,.pkg .tag::before,.step .lbl::before,.aback::before,
.lcard::before,.dot.on,.pdots i.on,.ameta i{background:var(--orange)}
.dlist li svg path{stroke:var(--orange)}
.stars,.badge .stars{color:var(--orange)}
.dtxt .kicker,.pkg .tag,.jbody .tag,.tcard .more,.lcard .more,.jbody .more,
.prow .amt,.faq summary i,.pgroup > summary i,.pgroup[open] > summary,
.faq[open] summary,.aback,.jcard:hover .jbody h3,.nav-links a:hover,
.navmenu a:hover,.nav-links a[aria-current],
.navmenu a[aria-current="page"],.lchip:hover,.arw:hover,.stat b{color:var(--orange-text)}

.nav-links a.imbereich{color:var(--orange-text)}
.nav-links a::after{background:var(--orange)}
footer{border-top:3px solid var(--orange)}
.progress{background:var(--orange)}
::selection{background:var(--orange);color:#fff}
.faq[open]{border-color:var(--orange)}
.tcard:hover,.pkg:hover,.jcard:hover,.lcard:hover{border-color:var(--orange)}


.hero.ruhig{background:var(--grad-ruhig);text-align:center;overflow:hidden;
  padding:132px 0 92px;min-height:0}
.hero.ruhig::before,.hero.ruhig::after{display:none}

.hero.ruhig h1,.hero.ruhig .wortmarke,.hero.ruhig .wortmarke i{color:var(--ink)}
.hero.ruhig h1::after{display:none}
.hero.ruhig .eyebrow{color:var(--mute);justify-content:center}
.hero.ruhig .eyebrow::before{background:var(--orange)}
.hero.ruhig .claim{color:var(--body);max-width:44ch;margin:22px auto 0;
  text-shadow:none;font-size:clamp(16px,2.5vw,19px)}
.hero.ruhig .badge{border-color:var(--line);background:rgba(255,255,255,.6);
  color:var(--body);backdrop-filter:none;margin-top:26px}
.hero.ruhig .badge b{color:var(--ink)}
.hero.ruhig .stars{color:var(--orange)}
.hero.ruhig .hero-cta{justify-content:center;margin-top:30px}
.hero.ruhig .btn.line{border-color:var(--line);color:var(--ink)}
.hero.ruhig .btn.line:hover{border-color:var(--orange);color:var(--orange);
  background:rgba(255,255,255,.5)}


.wortmarke{font-family:'Aboreto',Georgia,serif;color:var(--ink);
  text-transform:uppercase;margin:18px auto 0;font-weight:400}

.hero.ruhig h1.wortmarke{max-width:none;width:100%;text-shadow:none}
.wortmarke i{display:block;font-style:normal;line-height:.86;
  font-size:clamp(52px,14vw,196px);letter-spacing:.02em}
.wortmarke i+i{margin-top:.04em}

.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}


.hero.ruhig h1.wortmarke i,.hero.ruhig h1.wortmarke small{color:var(--orange)}
.wortmarke small{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;
  
  font-size:clamp(20px,4.8vw,64px);letter-spacing:.16em;line-height:1;margin-top:.12em}


.markzeile{max-width:none;margin:20px auto 0;
  font-size:clamp(10.5px,1.5vw,12.5px);
  letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;
  color:var(--mute)}
.markzeile i{font-style:normal}
.js .markzeile .maske>*{transition-delay:.26s}
.markzeile+.claim{margin-top:16px}
@media(max-width:899px){.markzeile{letter-spacing:.18em;text-indent:.18em}}

.maske{display:block;overflow:hidden;padding-bottom:.05em}
.js .maske>*{display:block;transform:translateY(106%);
  transition:transform 1.05s cubic-bezier(.16,1,.3,1)}
.js .maske.in>*{transform:none}
.js .wortmarke .maske+.maske>*{transition-delay:.13s}
@media(max-width:899px){
  .hero.ruhig{padding:104px 0 62px}
  .wortmarke small{letter-spacing:.12em}
}


.logo{line-height:1;padding-top:1px;color:var(--orange)}
.logo:hover{color:var(--orange-text)}


.thema-beige .tintsec{background:var(--beige)}
.thema-beige .phero{background:var(--beige)}
.thema-beige .lcard,.thema-beige .kcard{border-color:rgba(135,105,82,.22)}
.thema-beige .lcard:hover{border-color:var(--taupe);background:rgba(255,255,255,.55)}
.thema-beige .dtxt .kicker{color:#876952}
.thema-beige .anlass .dlist li{border-color:rgba(135,105,82,.2)}
.thema-beige .stats{border-color:rgba(135,105,82,.22)}


.lgrid.ohneziel .lcard:hover{transform:none;border-color:var(--line);background:transparent}
.lgrid.ohneziel .lcard:hover::before{width:0}


.phero{margin-top:6px;border-radius:28px;overflow:hidden;position:relative;
  background:var(--sand);aspect-ratio:21/9}
.phero img{width:100%;height:100%;object-fit:cover;display:block}

.phero.voll{aspect-ratio:auto;background:transparent;max-width:940px;
  margin-left:auto;margin-right:auto}
.phero.voll img{height:auto}

.phero.voll.klein{max-width:440px}
.phero.voll.mittel{max-width:700px}

.phero.voll.hoch{max-width:540px}
.dart img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.dart.weiss,.hsbild.weiss,.gbild.weiss{background:transparent}
.dart.weiss img,.hsbild.weiss img,.gbild.weiss img{mix-blend-mode:multiply}




.vzschale{max-width:660px;margin:0 auto}
.vzkopf{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;font-size:13px;color:var(--mute)}
.vzzurueck{appearance:none;background:none;border:0;padding:0;font:inherit;
  color:var(--orange-text);cursor:pointer;visibility:hidden}
.vzzurueck.an{visibility:visible}
.vzbahn{height:3px;background:var(--line);border-radius:3px;overflow:hidden}
.vzfuell{height:100%;width:100%;background:var(--orange);transform:scaleX(.25);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.vzhint{text-align:center;font-size:13px;color:var(--mute);margin:10px 0 24px}
.vzkarte{background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:32px;box-shadow:0 12px 30px rgba(108,40,3,.05)}
.vzkarte h2{font-size:clamp(21px,3vw,26px);margin:0 0 8px;text-transform:none;letter-spacing:0}
.vzkarte h2::after{display:none}
.vzsub{color:var(--mute);font-size:14px;line-height:1.55;margin:0 0 18px}

@keyframes vzein{from{opacity:0;transform:translateY(6px)}}
.vzkarte>*{animation:vzein .28s cubic-bezier(.16,1,.3,1)}


.vzliste{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.vzzeile{appearance:none;background:none;font:inherit;text-align:left;
  display:flex;align-items:center;gap:14px;width:100%;
  border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;
  transition:border-color .15s,background .15s}
.vzzeile:hover{border-color:var(--orange)}
.vzzeile.gewaehlt{border-color:var(--orange);background:var(--tint);
  box-shadow:inset 0 0 0 1px var(--orange)}
.vzzeile img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none}
.vzinfo{flex:1;min-width:0}
.vzinfo b{display:block;font-size:15px;color:var(--ink)}
.vzinfo small{display:block;font-size:13px;color:var(--mute);margin-top:3px;line-height:1.45}
.vzpreis{font-size:14px;color:var(--ink);white-space:nowrap;padding-left:8px}


.vzlabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mute);margin-bottom:12px}
.vzgitter{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
@media(max-width:640px){.vzgitter{grid-template-columns:repeat(2,1fr)}}
.vzchip{appearance:none;background:none;font:inherit;cursor:pointer;
  border:1px solid var(--line);border-radius:12px;min-height:62px;padding:8px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:14px;line-height:1.2;color:var(--ink)}
.vzchip:hover{border-color:var(--orange)}
.vzchip.gewaehlt{border-color:var(--orange);background:var(--tint);
  box-shadow:inset 0 0 0 1px var(--orange)}
.vzchip.andere{font-size:13px;color:var(--mute)}
.vzfeld{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;
  font:inherit;font-size:14px;margin-bottom:14px;background:var(--paper);color:var(--ink)}
.vzkeine{appearance:none;background:none;font:inherit;cursor:pointer;text-align:left;
  width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  margin-bottom:22px;font-size:14px;color:var(--ink)}
.vzkeine:hover{border-color:var(--orange)}
.vzkeine.gewaehlt{border-color:var(--orange);background:var(--tint)}


.vzmarke{display:inline-block;background:var(--sand);border-radius:10px;
  padding:8px 14px;margin-bottom:16px;font-size:14px;color:var(--ink)}
.vzpolice{appearance:none;background:none;font:inherit;text-align:left;cursor:pointer;
  display:flex;align-items:flex-start;gap:12px;width:100%;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.vzpolice:hover{border-color:var(--orange)}
.vzpolice.gewaehlt{border-color:var(--orange);background:var(--tint)}
.vzpunkt{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--mute);
  flex:none;margin-top:2px;position:relative}
.vzpolice.gewaehlt .vzpunkt{border-color:var(--orange)}
.vzpolice.gewaehlt .vzpunkt::after{content:"";position:absolute;inset:3px;
  border-radius:50%;background:var(--orange)}
.vzpolice b{display:block;font-size:14.5px;color:var(--ink)}
.vzpolice small{display:block;font-size:13px;color:var(--mute);margin-top:2px;line-height:1.5}
.vzhinweis{background:var(--sand);border-radius:12px;padding:14px 16px;
  font-size:13px;line-height:1.55;color:var(--body);margin:14px 0 4px}


.vzergebnis{text-align:center;margin-bottom:20px}
.vzklein{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.vzgross{font-family:'Aboreto',Georgia,serif;font-size:clamp(26px,5vw,40px);
  line-height:1.15;color:var(--orange-text);margin:10px 0 12px}
.vztab{width:100%;border-collapse:collapse;margin:18px 0}
.vztab td{padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--body)}
.vztab td:last-child{text-align:right;color:var(--ink)}
.vztab tr:last-child td{border-bottom:0}
.vztab tr.summe td{font-size:16px;color:var(--ink)}
.vzknoepfe{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.vzknoepfe .btn{flex:1 1 auto;text-align:center}
.vzweiter{width:100%;text-align:center}
.vzfuss{font-size:12px;color:var(--mute);line-height:1.6;margin-top:18px}
@media(max-width:640px){
  .vzkarte{padding:20px}
  .vzzeile img{width:46px;height:46px}
  
  .vzzeile{flex-wrap:wrap}
  .vzpreis{width:100%;padding-left:60px;margin-top:2px;font-size:13px}
}


.hszusatz{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.hszusatz h2{font-size:clamp(17px,2.2vw,20px);line-height:1.35;
  letter-spacing:0;text-transform:none;max-width:34ch}
.hszusatz h2::after{display:none}
.hszusatz p{margin-top:12px;font-size:15px;line-height:1.65;color:var(--body)}

@media(min-width:900px){
  .hsgrid.mitzusatz{align-items:stretch}
  .hsgrid.mitzusatz .hsbild{height:auto;min-height:clamp(380px,40vw,500px)}
}

.hsgrid{display:grid;gap:24px;grid-template-columns:1fr;align-items:center}
.hstext .eyebrow{margin-bottom:12px}
.hstext .lead{margin-top:18px}

.js .hsgrid>.hstext{animation:kartenauf .8s cubic-bezier(.16,1,.3,1) both}
.hsbild{position:relative;overflow:hidden;border-radius:26px;background:var(--sand);
  height:clamp(230px,56vw,320px)}

.hsbild.hoch{height:clamp(300px,84vw,400px)}
.hsbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){
  .hsgrid{grid-template-columns:1.04fr .96fr;gap:52px}
  .hsbild{height:clamp(380px,40vw,500px)}
  
  .hsbild.hoch{height:clamp(430px,46vw,580px)}
}
.anlass{max-width:760px;margin:0 auto;text-align:center}
.anlass .eyebrow{justify-content:center}
.anlass .dlist{margin-top:24px;text-align:left;display:grid;gap:0}
.anlass .dlist li{font-size:16.5px;padding:10px 0;border-bottom:1px solid var(--line)}
.anlass .dlist li:last-child{border-bottom:none}
.stat b{font-variant-numeric:tabular-nums}
.bildband{display:grid;gap:14px;grid-template-columns:1fr;margin-top:8px}
.bildband>div{border-radius:22px;overflow:hidden;position:relative;background:var(--sand);aspect-ratio:4/5}
.bildband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.lcard{padding:0}
.lcard .limg{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sand);
  border-radius:22px 22px 0 0;margin:-1px -1px 0}
.lcard .limg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.33,1,.68,1)}
.lcard:hover .limg img{transform:scale(1.04)}
.lcard .num{display:block;padding:22px 24px 0}
.lcard h3,.lcard p{padding:0 24px}
.lcard .more{padding:0 24px 26px}
.lcard::before{left:0;top:auto;bottom:0;width:100%}
@media(min-width:900px){
  .anlass .dlist{grid-template-columns:1fr 1fr;gap:0 32px}
  .bildband{grid-template-columns:repeat(3,1fr);gap:18px}
}
@media(min-width:600px) and (max-width:899px){
  .bildband{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:899px){
  .phero{aspect-ratio:3/2;border-radius:20px}
}



.lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);
  border-radius:999px;padding:3px;font-size:10.5px;letter-spacing:.12em;flex:none}
.lang span{padding:5px 9px;border-radius:999px;text-transform:uppercase;line-height:1}
.lang .on{background:var(--orange);color:#fff}
.lang .off{color:var(--mute);cursor:not-allowed}
.nav-in .lang{margin-left:12px}
@media(max-width:899px){.nav-in .lang{display:none}}
.mnav .lang{margin:6px 0 0}


.pillen{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.pille{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13px;
  color:var(--body);background:rgba(255,255,255,.62);display:inline-flex;
  align-items:center;gap:7px;line-height:1.2}
.pille b{color:var(--ink);font-weight:500}
.pille .stars{font-size:10.5px;letter-spacing:.06em}
.bi{opacity:0;filter:blur(6px);animation:pille-ein .7s cubic-bezier(.33,1,.68,1) forwards}
.pillen .bi:nth-child(1){animation-delay:.30s}
.pillen .bi:nth-child(2){animation-delay:.42s}
.pillen .bi:nth-child(3){animation-delay:.54s}
@keyframes pille-ein{to{opacity:1;filter:blur(0)}}



.laufband + .vbsec{margin-top:0}

.hvsec + .vbsec{margin-top:0;margin-bottom:0}
.vbweg{margin:26px 0 0}
.vbweg + section{margin-top:0;padding-top:44px}
.laufband{padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--paper);display:grid;gap:8px;overflow:hidden}
.lauf{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.laufin{display:flex;width:max-content;animation:lauf 64s linear infinite}
.lauf.rev .laufin{animation-direction:reverse;animation-duration:82s}
.laufin span{flex:none;padding:0 20px;font-family:'Aboreto',Georgia,serif;font-size:13.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap;
  display:inline-flex;align-items:center;gap:20px}
.laufin span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--orange);flex:none}
@keyframes lauf{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.laufband:hover .laufin{animation-play-state:paused}


.kachelsec{padding:40px 0}
.kacheln{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.kachel{border:1px solid var(--line);border-radius:20px;padding:20px 18px;background:var(--paper)}
.ksym{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:12px;background:rgba(255,111,0,.1);color:var(--orange-text)}
.ksym svg{width:18px;height:18px}
.kachel p{font-size:14.5px;line-height:1.45;margin-top:14px;color:var(--ink);max-width:none}
@media(min-width:900px){.kachelsec{padding:56px 0}.kacheln{grid-template-columns:repeat(4,1fr);gap:16px}
  .kachel{padding:24px 22px}.kachel p{font-size:15.5px}}


.zgrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:34px}
.zkarte{border:1px solid var(--line);border-radius:22px;padding:26px 22px;background:var(--paper);
  display:flex;flex-direction:column}
.zahl{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;line-height:1;
  font-size:clamp(38px,8.5vw,58px);color:var(--ink);font-variant-numeric:tabular-nums}
.zkarte p{margin-top:14px;font-size:15px;line-height:1.5;flex:1;max-width:none}
.quelle{display:block;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(min-width:600px){.zgrid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.zgrid{grid-template-columns:repeat(4,1fr);gap:18px}}



.stufen{position:relative;padding:0;height:calc(var(--n,4) * 100vh)}
@supports(height:100svh){.stufen{height:calc(var(--n,4) * 100svh)}}
.stufen-in{position:sticky;top:0;height:100vh;min-height:620px;display:flex;
  flex-direction:column;justify-content:center;overflow:hidden;background:var(--grad-ruhig)}
@supports(height:100svh){.stufen-in{height:100svh}}
.stufen-kopf{text-align:center;max-width:660px;margin:0 auto}
.stufen-kopf .eyebrow{justify-content:center}
.stufen-kopf .lead{margin:14px auto 0}
.stufen-bahn{position:relative;min-height:340px;margin-top:34px}
.stufe{position:absolute;inset:0;display:grid;gap:22px;align-content:center;
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.33,1,.68,1)}
.stufe.on{opacity:1;visibility:visible;transform:none}
.sbild{position:relative;border-radius:24px;overflow:hidden;background:var(--sand);aspect-ratio:16/10}
.sbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.snum{font-family:'Aboreto',Georgia,serif;font-size:12px;letter-spacing:.2em;color:var(--orange-text)}
.stext h3{margin-top:10px;font-size:clamp(21px,3.6vw,30px)}
.stext p{margin-top:12px;font-size:16px;line-height:1.6;max-width:46ch}
.sliste{list-style:none;padding:0;margin-top:16px;display:grid;gap:6px}
.sliste li{position:relative;padding-left:17px;font-size:14.5px;line-height:1.5;color:var(--body)}
.sliste li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;
  border-radius:50%;background:var(--orange)}
.stufen-punkte{display:flex;gap:7px;justify-content:center;margin-top:26px}
.stufen-punkte i{width:7px;height:7px;border-radius:50%;background:var(--line);transition:.3s}
.stufen-punkte i.on{background:var(--orange);transform:scale(1.4)}
@media(min-width:900px){
  .stufe{grid-template-columns:1fr 1fr;gap:44px;align-items:center}
  .stufen-bahn{min-height:400px}
}
@media(max-width:899px){
  .stufen{height:auto}
  .stufen-in{position:static;height:auto;min-height:0;padding:56px 0}
  .stufen-bahn{position:static;min-height:0;display:grid;gap:34px;margin-top:30px}
  .stufe{position:static;opacity:1;visibility:visible;transform:none;transition:none}
  .stufen-punkte{display:none}
}


.bahn{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;padding:4px 2px 18px;margin-top:30px;cursor:grab;
  scrollbar-width:none;-ms-overflow-style:none}
.bahn::-webkit-scrollbar{display:none}
.bahn.zieht{cursor:grabbing;scroll-snap-type:none}
.bahn>*{scroll-snap-align:start;flex:0 0 78%;max-width:330px}
@media(min-width:900px){.bahn>*{flex:0 0 316px;max-width:none}}
.bkarte{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--paper);
  display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.bkarte:hover{border-color:var(--orange);transform:translateY(-3px)}
.bimg{position:relative;aspect-ratio:16/10;background:var(--sand);overflow:hidden}
.bimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.33,1,.68,1)}
.bkarte:hover .bimg img{transform:scale(1.04)}
.bbody{padding:20px;display:flex;flex-direction:column;flex:1}
.bbody h3{font-size:18px;line-height:1.28}
.bbody p{font-size:14.5px;line-height:1.5;margin-top:9px;flex:1;max-width:none}
.messfeld{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;
  background:rgba(255,255,255,.55)}
.mlbl{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mval{display:block;font-family:'Aboreto',Georgia,serif;font-size:23px;color:var(--ink);margin-top:5px}
.mtag{display:inline-block;margin-top:7px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--orange-text);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.bbody .more{display:inline-block;margin-top:16px;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--orange-text)}
.bbody .more::after{content:" \2192"}
.headnav{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.pfeile{display:flex;gap:8px}


.instasec{background:var(--beige)}
.ikarte{border:1px solid var(--line);border-radius:20px;background:var(--paper);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .25s,transform .25s;flex:0 0 72%;max-width:288px}
@media(min-width:900px){.ikarte{flex:0 0 254px;max-width:none}}
.ikarte:hover{border-color:var(--orange);transform:translateY(-3px)}
.ikopf{display:flex;align-items:center;gap:9px;padding:11px 13px}
.iav{width:28px;height:28px;border-radius:50%;background:var(--grad-warm-gross);color:#fff;
  font-family:'Aboreto',Georgia,serif;font-size:8px;letter-spacing:.04em;
  display:flex;align-items:center;justify-content:center;flex:none}
.ihandle{font-size:12.5px;color:var(--ink)}
.ihandle::before{content:"@"}
.ibild{position:relative;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,rgba(108,40,3,.05) 0 11px,transparent 11px 22px),var(--sand)}
.iplay{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:rgba(255,255,255,.72);position:relative}
.iplay::after{content:"";position:absolute;left:calc(50% - 4px);top:calc(50% - 7px);
  border-left:12px solid var(--orange);border-top:7px solid transparent;border-bottom:7px solid transparent}
.ifuss{display:flex;flex-direction:column;gap:7px;padding:12px 13px}
.iicons{display:flex;gap:8px;height:14px}
.iicons::before,.iicons::after{content:"";width:13px;height:13px;flex:none;
  border:1.4px solid var(--taupe);border-radius:50% 50% 50% 2px;transform:rotate(-45deg)}
.iicons::after{border-radius:50%;transform:none}
.ihint{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}


.pgrid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:900px){.pgrid{grid-template-columns:repeat(3,1fr);gap:20px}}
.plan{border:1px solid var(--line);border-radius:24px;padding:28px 24px;background:var(--paper);
  display:flex;flex-direction:column;transition:border-color .25s}
.plan:hover{border-color:var(--orange)}
.ptag{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text)}
.plan h3{margin-top:12px;font-size:22px}
.plan p{margin-top:11px;font-size:15px;line-height:1.55;max-width:none}
.pfor{display:block;margin-top:22px;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute)}
.plan .dlist{margin-top:12px;flex:1;grid-template-columns:1fr}
.plan .dlist li{font-size:14.5px}
.pfuss{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;
  align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ppreis{font-family:'Aboreto',Georgia,serif;font-size:18px;color:var(--ink)}
.mknopf{display:flex;gap:8px;flex-wrap:wrap}



.plan.mit{position:relative}
.plan.mit .mpreis{display:block;margin-top:16px;font-family:'Aboreto',Georgia,serif;
  font-size:clamp(26px,3.4vw,32px);line-height:1;color:var(--ink)}
.plan.mit .mpreis small{font-family:inherit;font-size:14px;color:var(--mute)}
.plan.mit .mjahr{display:block;margin-top:7px;font-size:13px;color:var(--mute)}
.plan.mit p{margin-top:16px}
.plan.empfohlen{border-color:var(--orange);box-shadow:0 18px 44px -30px rgba(108,40,3,.5)}
.mband{position:absolute;top:0;right:24px;transform:translateY(-50%);
  background:var(--orange);color:#fff;border-radius:999px;padding:6px 13px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.plan.mit .pfuss{flex-wrap:wrap;gap:12px}
.plan.mit .ppreis{font-size:14px;color:var(--mute);font-family:inherit}


.agrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:32px}
@media(min-width:600px){.agrid{grid-template-columns:1fr 1fr}}
.akarte{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--paper);
  transition:border-color .25s}
.akarte:hover{border-color:var(--orange)}
.aort{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.akarte h3{margin-top:10px;font-size:21px}
.adat{display:block;margin-top:10px;font-size:14.5px;color:var(--orange-text)}
.agrid.einzeln{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}

.amarke{display:inline-block;margin-top:14px;padding:5px 12px;border-radius:999px;
  background:var(--beige);border:1px solid var(--line);color:var(--mute);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.fussnote{margin-top:20px;font-size:13px;color:var(--mute)}


.tgrid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:600px){.tgrid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.tgrid{grid-template-columns:repeat(3,1fr);gap:20px}}
@media(min-width:600px) and (max-width:899px){
  .tgrid.u2 > *:last-child{grid-column:1 / -1;max-width:calc(50% - 8px);margin:0 auto;width:100%}
}
.tgrid.paar{max-width:760px;margin-left:auto;margin-right:auto}
@media(min-width:900px){.tgrid.paar{grid-template-columns:1fr 1fr}}

.tkarte{background:none;border:none;padding-bottom:0}

.tbild{position:relative;aspect-ratio:4/5;background:var(--sand);overflow:hidden;
  margin:0;border-radius:50% 50% 16px 16px / 36% 36% 16px 16px}
.tbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.33,1,.68,1)}
.tkarte:hover .tbild img{transform:scale(1.04)}
.tbild.leer{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;background:var(--grad-ruhig)}
.tbild.leer span{font-family:'Aboreto',Georgia,serif;font-size:34px;letter-spacing:.08em;color:var(--taupe)}
.tbild.leer small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}

.tkarte h3{margin:18px 2px 0;font-size:18px}
.trolle{display:block;margin:6px 2px 0;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--orange-text)}
.tkarte p{margin:12px 2px 0;font-size:14.5px;line-height:1.55;max-width:none}
.tquali{display:block;margin:14px 2px 0;padding-top:12px;border-top:1px solid var(--line);
  font-size:12px;line-height:1.5;color:var(--mute)}


footer{padding:44px 0 26px;margin-top:56px;border-radius:40px 40px 0 0}

.fgrid{gap:26px;margin-top:20px}
@media(min-width:900px){.fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}}
.imprint{grid-template-columns:1fr}
@media(min-width:760px){.imprint{grid-template-columns:repeat(3,1fr);gap:30px}}

#hub .head h1{font-size:clamp(26px,5.2vw,40px);margin-top:12px}


.head h1{margin-top:12px}
.head h1::after{content:"";display:block;width:44px;height:2px;
  background:var(--orange);margin:20px auto 0}
.js .head h1::after{width:0;transition:width .9s cubic-bezier(.16,1,.3,1) .2s}
.js .head.in h1::after{width:44px}


html[lang="de"] h1,html[lang="de"] h2,html[lang="de"] h3,html[lang="de"] h4,
html[lang="de"] .bwtitel,html[lang="de"] .bwfeld,html[lang="de"] .pname,
html[lang="de"] .bkname,html[lang="de"] summary,html[lang="de"] .eyebrow,
html[lang="de"] .lead,html[lang="de"] p,html[lang="de"] li,html[lang="de"] dt,
html[lang="de"] .ktitel,html[lang="de"] .wegtitel,html[lang="de"] .fkkopf{
  hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}

html[lang="de"] nav.top *,html[lang="de"] .logo,html[lang="de"] .fmark{
  hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal}


#favourites{padding-bottom:20px}
.fgrid .fkopf{margin-bottom:10px}

.fgrid .fkopf{font-size:11.5px;letter-spacing:.17em;color:var(--orange-lt);
  margin-bottom:15px}
.fgrid a{font-size:13px;margin-bottom:8px}
.fgrid p{font-size:14px;margin-bottom:7px}
.fsocial{margin-top:10px}
.imprint{margin-top:30px;padding-top:24px;gap:22px;font-size:13.5px}
.imprint .fkopf{margin-bottom:9px}
.imprint p,.imprint a{line-height:1.6}
.fbot{margin-top:28px;padding-top:20px;display:flex;flex-direction:column;
  align-items:center;gap:12px;text-align:center}
.fmark{font-size:clamp(30px,7vw,52px);letter-spacing:.12em;padding-left:.12em}
.fmark small{font-size:.24em;letter-spacing:.34em;padding-left:.34em;margin-top:7px}
.fcopy{margin-top:0;font-size:13px}
@media(min-width:900px){
  footer{padding:52px 0 28px}
  .fbot{flex-direction:row;justify-content:space-between;align-items:flex-end;text-align:left}
  .fcopy{text-align:right}
}


.mitte{text-align:center}
.fsocial{display:flex;gap:16px;margin-top:14px}
.fsocial a{font-size:13.5px}
.qtop{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.qstars{font-size:13px;color:var(--body);display:inline-flex;align-items:center;gap:8px}
.qstars b{color:var(--ink);font-weight:500}

.rwtop{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rwstand{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.rwgrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:26px}
@media(min-width:700px){.rwgrid{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:1100px){.rwgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:700px) and (max-width:1099px){
  .rwgrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child){
    grid-column:1 / -1;max-width:calc(50% - 8px);margin:0 auto;width:100%}
}
.rwkarte{border:1px solid var(--line);border-radius:22px;background:var(--paper);
  padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .25s}
.rwkarte:hover{border-color:var(--orange)}
.rwkopf{display:flex;align-items:center;gap:12px}

.rwrund{width:42px;height:42px;border-radius:50%;flex:none;display:flex;
  align-items:center;justify-content:center;font-family:'Aboreto',Georgia,serif;
  font-size:15px;letter-spacing:.04em;color:#fff}
.rwwer{display:flex;flex-direction:column;min-width:0}
.rwname{font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rwmeta{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rwsterne{color:var(--orange);font-size:13px;letter-spacing:.14em;line-height:1}
.rwtext{margin:0;font-size:15px;line-height:1.6;color:var(--body);max-width:none}
.rwquelle{margin-top:auto;padding-top:4px;font-size:11.5px;color:var(--mute)}

.agbnav{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;margin:30px 0 44px}
@media(min-width:700px){.agbnav{grid-template-columns:1fr 1fr}}
.agbnav a{display:flex;gap:12px;align-items:baseline;padding:12px 16px;background:var(--paper);
  font-size:14.5px;color:var(--ink);text-decoration:none;transition:background .2s}
.agbnav a:hover{background:var(--beige)}
.agbnav a span{font-size:12px;color:var(--orange-text);min-width:22px;
  font-variant-numeric:tabular-nums}

.agbteil{padding-top:34px;scroll-margin-top:110px}
.agbteil.unter{padding-top:22px}
.agbteil h2{display:flex;gap:14px;align-items:baseline;font-size:clamp(19px,2.4vw,23px);
  line-height:1.25;margin:0 0 12px}
.agbteil.unter h2{font-size:clamp(16.5px,2vw,18.5px)}
.agbteil h2::after{display:none}
.agbnr{font-size:13px;color:var(--orange-text);min-width:34px;flex:none;
  font-variant-numeric:tabular-nums}
.agbtext p{margin-top:11px;max-width:70ch;font-size:15.5px;line-height:1.68}
.agbtext ul{margin:12px 0 0 0;padding-left:20px;max-width:70ch}
.agbtext li{margin-top:7px;font-size:15.5px;line-height:1.6}
.agbkopf{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;margin-top:26px}
.agbkopf > div{background:var(--paper);padding:14px 18px}
.agbkopf dt{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-text)}
.agbkopf dd{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--body)}
.bandcta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.faqbox{max-width:820px;margin:32px auto 0}

.faq summary:focus-visible{outline:2px solid var(--orange-text);outline-offset:-3px}

.faq{transition:border-color .2s ease,background-color .2s ease}
.faq summary{cursor:pointer;transition:color .2s ease}
.faq summary:hover{color:var(--orange-text)}
.faq summary i{transition:transform .25s cubic-bezier(.16,1,.3,1)}
.instasec .bahn{cursor:grab}


.js .rv{opacity:0;transform:translateY(16px) scale(.985);
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.js .rv.in{opacity:1;transform:none}

.js .firstsec>.wrap>.rv{opacity:1;transform:none;transition:none}

.js .head h2::after,.js .center h2::after,.js .band h2::after{
  width:0;transition:width .9s cubic-bezier(.16,1,.3,1) .2s}
.js .head.in h2::after,.js .center.in h2::after,.js .band.in h2::after{width:44px}


.band{background:var(--grad-ruhig);color:var(--ink);border:1px solid var(--line)}
.band::after{background:
  radial-gradient(40% 42% at 20% 18%,rgba(255,111,0,.10),transparent 64%),
  radial-gradient(44% 46% at 84% 82%,rgba(188,170,149,.22),transparent 66%)}
.band h2{color:var(--ink)}
.band p{color:var(--body)}

.band .btn.white{background:var(--orange);color:#2A1206}
.band .btn.white:hover{background:#E86200}
.band .btn.line{border-color:var(--line);color:var(--ink)}
.band .btn.line:hover{border-color:var(--orange);color:var(--orange);background:rgba(255,255,255,.5)}


.fehlersec{padding:104px 0 84px}
.fehlersec h1{margin-top:12px}
.fknoepfe{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.fehlersec .btn.line{border-color:var(--line);color:var(--ink)}
.fehlersec .btn.line:hover{border-color:var(--orange);color:var(--orange);background:rgba(255,255,255,.5)}
@media(max-width:599px){.fehlersec{padding:80px 0 56px}}


.eyebrow::before,.aback::before,.step .lbl::before,.pkg .tag::before{content:none;display:none}

.eyebrow,.aback,.step .lbl,.pkg .tag{display:block;gap:0;text-align:inherit}


.laufkopf{text-align:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--mute);margin:0 0 14px;max-width:none}


.wahlsec{padding-top:52px}
.wahl{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:760px){.wahl{grid-template-columns:1fr 1fr;gap:20px}}

@media(min-width:1180px){
  .wahl.vier{grid-template-columns:repeat(4,1fr);gap:16px}
  .wahl.vier .wkarte{padding:26px 22px}
  .wahl.vier .wkarte h3{font-size:22px}
  .wahl.vier .wkarte p{font-size:14.5px}
}

.js .wahl.vier.in .wkarte{animation:kartenauf .7s cubic-bezier(.16,1,.3,1) both}
.js .wahl.vier.in .wkarte:nth-child(2){animation-delay:.07s}
.js .wahl.vier.in .wkarte:nth-child(3){animation-delay:.14s}
.js .wahl.vier.in .wkarte:nth-child(4){animation-delay:.21s}
@keyframes kartenauf{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.wkarte{border:1px solid var(--line);border-radius:24px;padding:30px 26px;background:var(--paper);
  display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.wkarte:hover{border-color:var(--orange);transform:translateY(-3px)}
.wtag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text)}
.wkarte h3{margin-top:14px;font-size:clamp(22px,3.4vw,30px)}
.wkarte p{margin-top:12px;font-size:15.5px;line-height:1.55;flex:1;max-width:none}
.wkarte .more{margin-top:22px;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--orange-text)}
.wkarte .more::after{content:" \2192"}
.wtrust{display:grid;gap:12px;grid-template-columns:1fr;margin-top:20px}
@media(min-width:760px){.wtrust{grid-template-columns:repeat(3,1fr);gap:18px}}
.wtrust>div{border-top:2px solid var(--orange);padding-top:14px}
.wtrust b{display:block;font-weight:500;font-size:14.5px;color:var(--ink)}
.wtrust span{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--body)}



.suchbox{display:none}

.js .suchbox{display:block;max-width:560px;margin:26px auto 0;position:relative;z-index:50}


@media(min-width:900px){
  .nav-in{gap:clamp(16px,1.6vw,30px)}
  
  .nav-links{flex:1;justify-content:space-evenly;gap:clamp(14px,1.3vw,28px);margin-left:0}
  .nav-links a,.nav-links .navbald{font-size:12.5px}
  nav.top .btn{margin-left:0}
}

@media(max-width:899px){
  .nav-links{display:none!important}
  .burger{display:grid!important}
  .mnav,.mscrim{display:block!important}
  .nav-in .lang{display:none}
}
@media(min-width:900px){
  .nav-links{display:flex!important}
  .burger,.mnav,.mscrim{display:none!important}
  .nav-in .lang{display:flex}
}



.js .suchnav{display:none}
@media(min-width:1400px){
  .js .suchnav{display:block;margin:0;width:clamp(170px,13.5vw,250px);flex:none}
  .js .suchnav .sfeld{padding:0 14px;border-radius:999px;background:rgba(255,249,242,.75)}
  .js .suchnav .sfeld input{padding:9px 0;font-size:13.5px}
  .js .suchnav .sfeld svg{width:15px;height:15px}
  
  .js .suchnav .strefferliste{top:calc(100% + 12px);min-width:330px;left:0;right:auto}
}


@media(min-width:900px) and (max-width:1399px){
  
  .js .suchnav{display:block;margin:0;width:36px;height:36px;flex:none;position:relative}
  .js .suchnav .sfeld{position:absolute;left:0;top:0;width:36px;height:36px;
    padding:0;gap:0;justify-content:center;background:rgba(255,249,242,.75);
    cursor:text;overflow:hidden;z-index:60;
    transition:width .22s ease,background .22s ease,box-shadow .22s ease}
  .js .suchnav .sfeld svg{width:15px;height:15px;flex:none}
  .js .suchnav .sfeld input{width:0;padding:0;font-size:13.5px;
    opacity:0;transition:width .22s ease,opacity .18s ease}
  .js .suchnav .sfeld:focus-within{width:clamp(210px,20vw,290px);
    padding:0 14px;gap:10px;justify-content:flex-start;
    background:var(--paper);box-shadow:0 12px 34px rgba(23,16,11,.24)}
  .js .suchnav .sfeld:focus-within input{width:100%;padding:9px 0;opacity:1}
  
  .js .suchnav .strefferliste{top:calc(100% + 12px);min-width:330px;left:0;right:auto}
  
  nav.top .btn.deskcta{padding:14px 20px;letter-spacing:.10em}
  nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:12px}
  .nav-in{gap:clamp(13px,1.2vw,22px)}
}

.js .suchmenu{display:block;margin:0 0 18px;max-width:none}
.js .suchmenu .sfeld{background:#fff}
@media(min-width:900px){.js .suchmenu{display:none}}
.sfeld{display:flex;align-items:center;gap:10px;border:1px solid var(--line);
  border-radius:999px;background:var(--paper);padding:0 20px;
  transition:border-color .2s,box-shadow .2s}
.sfeld:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,111,0,.12)}
.sfeld svg{width:18px;height:18px;color:var(--orange);flex:none}
.sfeld input{flex:1;border:0;background:none;outline:none;padding:15px 0;
  font-family:inherit;font-size:15.5px;color:var(--ink);min-width:0}
.sfeld input::placeholder{color:var(--mute)}
.sfeld input::-webkit-search-cancel-button{-webkit-appearance:none}
.strefferliste{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;
  list-style:none;margin:0;padding:6px;background:var(--paper);
  border:1px solid var(--line);border-radius:20px;
  box-shadow:0 26px 60px -34px rgba(108,40,3,.5);text-align:left}
.strefferliste li{margin:0}
.strefferliste a{display:flex;align-items:baseline;gap:10px;padding:11px 14px;
  border-radius:14px;font-size:15px;color:var(--ink)}
.strefferliste a small{font-size:12px;color:var(--mute);margin-left:auto;flex:none}
.strefferliste a:hover,.strefferliste a.an{background:var(--beige);color:var(--orange-text)}
.strefferliste .leer{padding:12px 14px;font-size:14.5px;color:var(--mute);line-height:1.5}
.strefferliste .leer a{display:inline;padding:0;color:var(--orange-text);text-decoration:underline}



.warumsec{padding:56px 0}
.wgrid{display:grid;gap:34px;grid-template-columns:1fr}
@media(min-width:900px){.wgrid{grid-template-columns:minmax(320px,.9fr) 1.1fr;gap:60px;align-items:start}}
.wslogan{margin-top:14px;font-size:clamp(34px,6vw,62px);line-height:1.02}
.wlinks .lead{margin-top:20px;max-width:38ch}
.wpunkte{display:grid;gap:0}

.wpunkt{padding:22px 0;border-top:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start}
.wpunkt .ksym{width:38px;height:38px;margin-bottom:0;grid-row:1 / span 2}
.wpunkt .ksym svg{width:19px;height:19px}
.wpunkt b,.wpunkt p{grid-column:2}
.wpunkt:hover .ksym{background:var(--orange);border-color:var(--orange)}
.wpunkt:hover .ksym svg{stroke:#fff}
.wpunkt:first-child{border-top:0;padding-top:0}
@media(min-width:900px){.wpunkt:first-child{padding-top:6px}}
.wpunkt b{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:clamp(19px,2.4vw,23px);color:var(--ink);letter-spacing:.01em}
.wpunkt p{margin-top:9px;font-size:15.5px;line-height:1.62;max-width:52ch}

.js .wpunkt{transition-delay:.06s}
.js .wpunkt:nth-child(2){transition-delay:.14s}
.js .wpunkt:nth-child(3){transition-delay:.22s}
.js .wpunkt:nth-child(4){transition-delay:.3s}


.fitsec{padding:56px 0}
.fitsec .lead.mitte{margin:16px auto 0;max-width:58ch;text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.chip{border:1px solid var(--line);border-radius:999px;padding:11px 18px;
  font-size:15px;line-height:1.2;color:var(--body);background:var(--paper);
  transition:border-color .22s,color .22s,transform .22s,background .22s}
.chip:hover{border-color:var(--orange);color:var(--orange-text);
  transform:translateY(-2px);background:#fff}

.chip:nth-child(3n){font-family:'Aboreto',Georgia,serif;letter-spacing:.02em}
@media(min-width:700px){.chip{font-size:16px;padding:12px 20px}}
.fitfuss{margin:30px auto 0;max-width:46ch;text-align:center;font-size:15.5px;
  line-height:1.6;color:var(--mute)}


.pille.pklick{transition:border-color .22s,transform .22s}
.pille.pklick:hover{border-color:var(--orange);transform:translateY(-2px)}
.pille.pklick b{color:var(--orange-text)}


.wegsec{padding:56px 0}
.wegsec .lead.mitte{margin:16px auto 0;max-width:60ch;text-align:center}
.wegkacheln{display:grid;gap:14px;grid-template-columns:1fr;margin-top:38px}
@media(min-width:700px){.wegkacheln{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:1180px){.wegkacheln{grid-template-columns:repeat(4,1fr)}}
.wegkachel{border:1px solid var(--line);border-radius:26px;overflow:hidden;
  background:var(--paper);display:flex;flex-direction:column;
  transition:border-color .24s,transform .24s}
.wegkachel:hover{border-color:var(--orange);transform:translateY(-2px)}
.wkbild{aspect-ratio:16/11;overflow:hidden;background:var(--sand);position:relative}
.wkbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.wkbody{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.wkbody h3{margin-top:2px;font-size:clamp(18px,2.2vw,21px);line-height:1.25}
.wkbody p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--body)}
.wkbody .sliste{margin-top:14px}

.js .wegkacheln.in .wegkachel{animation:kartenauf .7s cubic-bezier(.16,1,.3,1) both}
.js .wegkacheln.in .wegkachel:nth-child(2){animation-delay:.08s}
.js .wegkacheln.in .wegkachel:nth-child(3){animation-delay:.16s}
.js .wegkacheln.in .wegkachel:nth-child(4){animation-delay:.24s}


.willkommen{padding-bottom:64px}
.wkmitte{max-width:860px;margin:0 auto;text-align:center}
.wkmitte .eyebrow{justify-content:center;margin-top:8px}

.wkgruss{margin-top:14px;display:block;font-size:clamp(23px,2.7vw,36px)}


.wklogo{width:clamp(185px,21vw,262px);height:auto;display:block;margin:16px auto 0}
.wkmitte .lead{margin:26px auto 0;max-width:56ch}
@media(max-width:599px){
  .wklogo{width:min(52vw,190px);margin-top:12px}
}


.gruenblock{background:var(--green);color:#E4E2DA;padding:78px 0}
.gbin{display:grid;gap:34px;grid-template-columns:1fr}
@media(min-width:900px){.gbin{grid-template-columns:1fr 1fr;gap:60px;align-items:center}}
.gruenblock h2{color:#fff;margin-top:12px}
.gruenblock .lead{color:var(--green-soft);margin-top:18px;max-width:44ch}
.gruenblock .eyebrow{color:var(--green-soft)}
.gruenblock .eyebrow::before{background:var(--orange-lt)}
.gbbilder{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}

.gbbilder.eins{grid-template-columns:minmax(0,320px)}

.gbbild{border-radius:50% 50% 16px 16px / 36% 36% 16px 16px;overflow:hidden;
  aspect-ratio:4/5;position:relative;background:rgba(255,255,255,.08)}
.gbbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.gbbild.leer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1px dashed rgba(226,226,218,.45)}
.gbbild.leer span{font-family:'Aboreto',Georgia,serif;font-size:19px;color:var(--green-soft)}
.gbbild.leer small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(226,226,218,.6)}
.gbname{grid-column:1/-1;margin-top:4px}
.gbname b{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:20px;color:#fff}
.gbname span{display:block;margin-top:3px;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange-lt)}


.teamsec{padding:56px 0}
.teamsec .head{margin-bottom:0}


.spur{list-style:none;padding:0;margin:38px 0 0;display:grid;gap:24px;
  grid-template-columns:1fr;position:relative}
@media(min-width:900px){
  .spur{grid-template-columns:repeat(var(--sn,5),minmax(0,1fr));gap:0}
  
  .spur::before{content:"";position:absolute;left:10%;right:10%;top:19px;height:1px;
    background:var(--line)}
}
.spurpunkt{position:relative;padding-right:18px}
@media(min-width:900px){.spurpunkt{text-align:center;padding:0 12px}}
.spnum{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--orange);color:#fff;font-family:'Aboreto',Georgia,serif;font-size:16px;
  position:relative;z-index:1}
@media(min-width:900px){.spnum{margin:0 auto}}
.spurpunkt b{display:block;margin-top:14px;font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:18px;color:var(--ink)}
.sptext{display:block;margin-top:7px;font-size:14.5px;line-height:1.55;color:var(--body)}


.js .spur .spnum{opacity:0;transform:scale(.4)}
.js .spur .spurpunkt b,.js .spur .sptext{opacity:0;transform:translateY(10px)}
.js .spur.in .spnum{animation:spauf .7s cubic-bezier(.34,1.56,.64,1) forwards;
  animation-delay:calc(.35s + (var(--i) - 1) * .32s)}
.js .spur.in .spnum::after{content:"";position:absolute;inset:-2px;border-radius:50%;
  border:2px solid var(--orange);opacity:0;
  animation:spring 1s ease-out forwards;animation-delay:calc(.55s + (var(--i) - 1) * .32s)}
.js .spur.in .spurpunkt b,.js .spur.in .sptext{animation:sphoch .6s ease-out forwards;
  animation-delay:calc(.55s + (var(--i) - 1) * .32s)}
@media(min-width:900px){
  .js .spur::before{transform:scaleX(0);transform-origin:left center}
  .js .spur.in::before{transition:transform 1.3s cubic-bezier(.16,1,.3,1) .2s;transform:scaleX(1)}
}
@keyframes spauf{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
@keyframes sphoch{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@keyframes spring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}

.spur.kurz .spnum{width:46px;height:46px;font-size:18px}
.spur.kurz .spurpunkt b{font-size:22px;margin-top:16px}
@media(min-width:900px){.spur.kurz::before{top:23px}}
@media(prefers-reduced-motion:reduce){
  .js .spur .spnum,.js .spur .spurpunkt b,.js .spur .sptext{opacity:1;transform:none;animation:none!important}
  .js .spur::before{transform:none;transition:none}
  .js .spur.in .spnum::after{animation:none;display:none}
}
.spurnote{margin:34px auto 0;max-width:70ch;text-align:center;font-size:14px;line-height:1.6;
  color:var(--mute)}



.icard{background:var(--paper);border:1px solid var(--line);overflow:hidden}
.icard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--orange)}
.icard:hover{border-color:var(--orange);box-shadow:0 18px 40px -26px rgba(108,40,3,.45)}


.icard .isym{position:relative;z-index:1;width:52px;height:52px;display:grid;place-items:center;
  border-radius:50%;background:var(--beige);border:1px solid var(--line);
  transition:background .22s,border-color .22s}
.icard .isym svg{width:26px;height:26px;fill:none;stroke:var(--orange);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
.icard:hover .isym{background:var(--orange);border-color:var(--orange)}
.icard:hover .isym svg{stroke:#fff}
.icard .cat{color:var(--orange-text);margin-top:auto;padding-top:22px}
.icard .tg span{background:var(--beige);color:var(--body);border:1px solid var(--line)}


#railI .icard .tg span.fav{background:transparent;color:var(--orange-text);border-color:var(--orange)}

#membership .pgrid{grid-template-columns:minmax(0,600px);justify-content:center}

.icard{cursor:pointer}
.icard .idreh{position:relative;z-index:1;margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-text)}
.icard .ihinten{position:absolute;inset:0;z-index:3;padding:22px 20px 20px;background:var(--paper);
  display:flex;flex-direction:column;transform:rotateY(90deg);opacity:0;
  transition:transform .32s ease,opacity .18s ease}
.icard .ihinten p{font-size:13.5px;line-height:1.55;color:var(--body);margin:10px 0 auto;padding:0}
.icard .ihinten .pr{margin-top:14px}
.icard.gedreht .ihinten{transform:none;opacity:1}
.icard.gedreht > :not(.ihinten){opacity:0}
.icard.gedreht{transform:none}

.lchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.lchip[aria-pressed="true"]:hover{background:var(--ink);border-color:var(--ink);color:#fff}


.zgitter{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}
@media(min-width:700px){.zgitter{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.zgitter{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zkarte{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;
  position:relative;min-height:250px;border:1px solid var(--line);border-radius:18px;background:var(--paper);
  padding:0;overflow:hidden;transition:border-color .2s,transform .3s,box-shadow .3s}
.zkarte:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 14px 34px rgba(108,40,3,.12)}
.zkarte::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--orange)}
.zvorn,.zhinten{position:absolute;inset:0;padding:22px 18px 18px;display:flex;flex-direction:column;
  transition:transform .32s ease,opacity .18s ease}
.zvorn{justify-content:flex-end}
.zname{font-family:'Aboreto',Georgia,serif;font-size:20px;line-height:1.15;color:var(--ink)}
.zhint{margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-text)}
.zhinten{transform:rotateY(90deg);opacity:0;background:var(--paper);overflow:auto}
.zlbl{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-text);margin-top:8px}
.zlbl:first-child{margin-top:0}
.ztext{font-size:12.5px;line-height:1.45;color:var(--body);margin-top:3px}
.zkarte[aria-pressed="true"] .zvorn{transform:rotateY(-90deg);opacity:0}
.zkarte[aria-pressed="true"] .zhinten{transform:none;opacity:1}

html:not(.js) .zkarte{min-height:0}
html:not(.js) .zvorn,html:not(.js) .zhinten{position:static;transform:none;opacity:1}
.icard .pr{color:var(--ink);font-weight:500}


.verbund{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:900px){.verbund{grid-template-columns:minmax(0,320px) 1fr;gap:26px;align-items:start}}
.vquelle{border:1px solid var(--orange);border-radius:22px;padding:24px 22px;
  background:var(--paper);box-shadow:0 0 0 3px rgba(255,111,0,.12)}
.vlbl{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text)}
.vquelle b{display:block;margin-top:8px;font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:clamp(20px,2.6vw,25px);color:var(--ink)}
.vquelle p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--body)}
.vziele{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:640px){.vziele{grid-template-columns:1fr 1fr}}

.vziel{border:1px solid var(--line);border-left:3px solid var(--orange);
  border-radius:6px 18px 18px 6px;padding:18px 18px 20px;background:var(--paper);
  transition:border-color .22s,transform .22s}
.vziel:hover{border-color:var(--orange);transform:translateX(3px)}
.vziel b{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:17.5px;
  color:var(--ink)}
.vziel span{display:block;margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--body)}
.vziel:hover b{color:var(--orange-text)}


.proggitter{display:grid;gap:10px;margin-top:34px}
.prog{border:1px solid var(--line);border-radius:20px;background:var(--paper);
  overflow:hidden;transition:border-color .22s}
.prog[open]{border-color:var(--orange)}
.prog>summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  gap:8px 16px;flex-wrap:wrap;padding:18px 22px}
.prog>summary::-webkit-details-marker{display:none}
.prog>summary:hover .pname{color:var(--orange-text)}
.ptag2{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text);
  flex:none;min-width:96px}
.pname{font-family:'Aboreto',Georgia,serif;font-size:clamp(17px,2.2vw,20px);color:var(--ink);
  flex:1;min-width:200px;transition:color .2s}
.pbetrag{font-size:15px;color:var(--ink);flex:none}
.prog>summary>i{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;font-style:normal;font-size:15px;color:var(--orange-text);
  flex:none;transition:transform .25s}

@media(max-width:599px){
  .prog>summary{position:relative;padding-right:60px}
  .ptag2{flex:0 0 100%;min-width:0}
  .pname{flex:1 1 100%;min-width:0;overflow-wrap:break-word}
  .prog>summary>i{position:absolute;right:22px;top:50%;margin-top:-13px}
}
.prog[open]>summary>i{transform:rotate(45deg)}
.pinhalt{padding:2px 22px 24px}
.pinhalt>p{font-size:15.5px;line-height:1.6;max-width:62ch}
.penth{display:block;margin-top:20px;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange-text)}
.pinhalt .dlist{margin-top:12px}


.paddons{display:grid;gap:10px;grid-template-columns:1fr;margin-top:14px}
@media(min-width:640px){.paddons{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.paddons{grid-template-columns:repeat(3,1fr)}}
.paddon{position:relative;display:flex;flex-direction:column;gap:6px;
  border:1px solid var(--line);border-radius:16px;padding:16px 16px 15px;
  background:#fff;cursor:pointer;
  transition:border-color .2s,box-shadow .2s,transform .2s}
.paddon:hover{border-color:var(--orange);transform:translateY(-2px)}

.paddon input{position:absolute;opacity:0;width:0;height:0;margin:0}
.pahaken{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;
  border:1px solid var(--line);background:var(--paper);transition:.2s}
.paddon input:focus-visible~.pahaken{outline:2px solid var(--orange);outline-offset:2px}
.paname{font-size:14.5px;line-height:1.4;color:var(--body);padding-right:26px}
.papreis{font-size:13.5px;color:var(--mute);margin-top:auto}
.paddon.an{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,111,0,.14)}
.paddon.an .pahaken{background:var(--orange);border-color:var(--orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.4 6.6 11.4 12.5 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:13px;background-position:center;background-repeat:no-repeat}
.paddon.an .paname{color:var(--ink)}
.paddon.an .papreis{color:var(--orange-text)}

.pgesamt{margin-top:16px;border:1px solid var(--orange);border-radius:16px;
  padding:14px 18px;background:var(--paper);font-size:15.5px;color:var(--body)}
.pgesamt[hidden]{display:none}
.pgesamt b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:19px;
  color:var(--orange-text)}

@media(min-width:820px){
  .pinhalt .dlist{grid-template-columns:1fr 1fr;column-gap:26px}
}
.pknopf{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}


.fkgrid{display:grid;gap:12px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:700px){.fkgrid{grid-template-columns:1fr 1fr;gap:14px}}
@media(min-width:1100px){.fkgrid{grid-template-columns:repeat(var(--fn,3),minmax(0,1fr))}}

@media(min-width:1100px){
  .fkgrid.sp4 .fkkarte{padding:20px 18px 22px}
  .fkgrid.sp4 .fkkarte h3{font-size:18px}
  .fkgrid.sp4 .fkkarte p{font-size:14.5px}
}

@media(min-width:1100px) and (max-width:1279px){
  .fkgrid.sp5{grid-template-columns:1fr 1fr}
}
@media(min-width:1280px){
  .fkgrid.sp5 .fkkarte{padding:18px 16px 20px}
  .fkgrid.sp5 .fkkarte h3{font-size:16.5px}
  .fkgrid.sp5 .fkkarte p{font-size:13.5px}
  .fkgrid.sp5 .fksym{width:40px;height:40px}
  .fkgrid.sp5 .fksym svg{width:20px;height:20px}
}
.fkkarte{border:1px solid var(--line);border-radius:22px;padding:24px 22px 26px;
  background:var(--paper);transition:border-color .24s,transform .24s}
.fkkarte:hover{border-color:var(--orange);transform:translateY(-2px)}

.fkkarte h3{position:relative;padding-top:16px;font-size:clamp(18px,2.2vw,20px);
  line-height:1.25;color:var(--ink)}
.fkkarte h3::before{content:"";position:absolute;top:0;left:0;width:26px;height:2px;
  background:var(--orange)}
.fkkarte p{margin-top:11px;font-size:15px;line-height:1.6;color:var(--body)}

.fkkarte.mitzeichen h3{padding-top:16px}
.fkkarte.mitzeichen h3::before{display:none}
.fksym{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;
  background:var(--beige);border:1px solid var(--line);
  transition:background .22s,border-color .22s}
.fksym svg{width:23px;height:23px;fill:none;stroke:var(--orange);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
.fkkarte:hover .fksym{background:var(--orange);border-color:var(--orange)}
.fkkarte:hover .fksym svg{stroke:#fff}
@media(min-width:1100px){
  .fkgrid.sp4 .fksym{width:42px;height:42px}
  .fkgrid.sp4 .fksym svg{width:21px;height:21px}
}


.gbandrahmen{margin-top:34px}
.gband{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;padding:4px 0 14px;
  scrollbar-width:thin;scrollbar-color:var(--orange) transparent}
.gband::-webkit-scrollbar{height:6px}
.gband::-webkit-scrollbar-track{background:var(--line);border-radius:99px}
.gband::-webkit-scrollbar-thumb{background:var(--orange);border-radius:99px}
.gband:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:24px}

.gband.autolauf{scroll-snap-type:none;scrollbar-width:none}
.gband.autolauf::-webkit-scrollbar{height:0}
.gband.autolauf>*{scroll-snap-align:none}
.gband.autolauf.haelt{scroll-snap-type:x mandatory;scrollbar-width:thin}
.gband.autolauf.haelt::-webkit-scrollbar{height:6px}
.gband.autolauf.haelt>*{scroll-snap-align:center}
.gbild{flex:0 0 auto;width:clamp(230px,74vw,340px);margin:0;scroll-snap-align:center;
  position:relative}
@media(min-width:900px){.gbild{width:340px;scroll-snap-align:start}}

.gbild img{width:100%;height:clamp(300px,78vw,420px);object-fit:cover;
  border-radius:22px;display:block;border:1px solid var(--line)}
.gbild figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--mute)}
.gbandnote{margin:2px 0 0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute)}
@media(min-width:900px){.gbandnote{display:none}}



.acgrid{display:grid;gap:12px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:700px){.acgrid{grid-template-columns:1fr 1fr;gap:14px}}


@media(min-width:600px) and (max-width:899px){
  .lgrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child){
    grid-column:1 / -1;max-width:calc(50% - 7px);margin:0 auto;width:100%}
}
@media(min-width:700px) and (max-width:999px){
  .ogrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child){
    grid-column:1 / -1;max-width:calc(50% - 8px);margin:0 auto;width:100%}
}
@media(min-width:700px) and (max-width:1099px){
  .fkgrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child),
  .acgrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child){
    grid-column:1 / -1;max-width:calc(50% - 7px);margin:0 auto;width:100%}
}

@media(min-width:1100px){.acgrid{grid-template-columns:repeat(var(--acn,4),minmax(0,1fr))}}
.ackarte{position:relative;overflow:hidden;background:var(--paper);
  border:1px solid var(--line);border-radius:22px;padding:24px 22px 26px;
  transition:border-color .24s,transform .24s}
.ackarte::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--orange)}
.ackarte:hover{border-color:var(--orange);transform:translateY(-2px)}
.acsym{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;
  background:var(--beige);border:1px solid var(--line);
  transition:background .22s,border-color .22s}
.acsym svg{width:26px;height:26px;fill:none;stroke:var(--orange);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
.ackarte:hover .acsym{background:var(--orange);border-color:var(--orange)}
.ackarte:hover .acsym svg{stroke:#fff}
.ackarte h3{margin-top:18px;font-size:clamp(18px,2.2vw,20px);line-height:1.25;
  color:var(--ink)}
.ackarte p{margin-top:11px;font-size:15px;line-height:1.6;color:var(--body)}


.kassegrid{display:grid;gap:16px;grid-template-columns:1fr}
.kassebild{position:relative;overflow:hidden;border-radius:26px;background:var(--sand);
  height:clamp(230px,56vw,320px)}
.kassebild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kassekarten{display:flex;flex-direction:column;gap:14px}

@media(min-width:900px){
  .kassegrid{grid-template-columns:1.18fr .82fr;gap:24px}
  .kassebild{height:auto;min-height:100%;grid-column:2;grid-row:1}
  .kassekarten{grid-column:1;grid-row:1}
}

.ackarte.kk{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;flex:1}
.ackarte.kk .acsym{flex:none;width:44px;height:44px}
.ackarte.kk .acsym svg{width:22px;height:22px}
.ackarte.kk h3{margin-top:0;font-size:17px}
.ackarte.kk p{margin-top:7px;font-size:14.5px;line-height:1.55}
@media(max-width:599px){
  .ackarte.kk{flex-direction:column;gap:0}
  .ackarte.kk h3{margin-top:14px}
}

.fkschluss{margin:30px auto 0;max-width:62ch;font-size:16.5px;line-height:1.62;
  color:var(--ink);text-align:center}


@media(min-width:900px){
  .stufen-in{justify-content:flex-start;padding:clamp(28px,6vh,64px) 0 clamp(22px,4vh,44px)}
  .stufen-bahn{margin-top:auto;margin-bottom:auto}
}


.ablaufsec{padding:74px 0}

.ablaufsec:has(+ section){padding-bottom:48px}
.bgrid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:34px}
@media(min-width:700px){.bgrid{grid-template-columns:repeat(3,1fr);gap:14px}}

@media(min-width:1100px){
  .bgrid{grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:10px}
  .bkname{padding:10px 12px 12px;font-size:14px}
  .bkachel.an .bkbild::after{height:3px}
}
.bkachel{padding:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  background:var(--paper);cursor:pointer;font-family:inherit;display:block;text-align:left;
  transition:border-color .24s,transform .24s,box-shadow .24s}
.bkachel:hover{border-color:var(--orange);transform:translateY(-3px)}
.bkachel.an{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,111,0,.14)}
.bkbild{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand);position:relative}
.bkbild img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1);filter:saturate(.86)}
.bkachel:hover .bkbild img{transform:scale(1.05)}
.bkachel.an .bkbild img{filter:none}

.bkachel.an .bkbild::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:var(--orange)}
.bkname{display:block;padding:12px 14px 14px;font-family:'Aboreto',Georgia,serif;
  font-size:15px;letter-spacing:.02em;color:var(--ink);line-height:1.25}
.bkachel.an .bkname{color:var(--orange-text)}


.js .btafel{display:none}
.js .btafel.an{display:block;animation:tafelauf .55s cubic-bezier(.16,1,.3,1) both}
@keyframes tafelauf{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.btafel{margin-top:38px}
.btkopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 20px;
  border-top:1px solid var(--line);padding-top:22px}
.btkopf h3{font-size:clamp(24px,3.4vw,32px);flex:none}
.btkopf p{font-size:15.5px;line-height:1.55;color:var(--body);flex:1;min-width:240px;max-width:52ch}
.btkopf .btn{flex:none}
.skacheln{display:grid;gap:14px;grid-template-columns:1fr;margin-top:24px}
@media(min-width:700px){.skacheln{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:1180px){.skacheln{grid-template-columns:repeat(4,1fr)}}
.skachel{border:1px solid var(--line);border-radius:26px;padding:28px 26px 30px;
  background:var(--paper);display:flex;flex-direction:column;min-height:250px;
  transition:border-color .24s,transform .24s}
.skachel:hover{border-color:var(--orange);transform:translateY(-2px)}

.sknum{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-text);
  padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.skachel h4{font-family:'Aboreto',Georgia,serif;font-weight:400;letter-spacing:.01em;
  font-size:clamp(18px,2.2vw,21px);line-height:1.24;color:var(--ink)}
.skachel p{margin-top:12px;font-size:15px;line-height:1.6;color:var(--body)}

.js .btafel.an .skachel{animation:kartenauf .65s cubic-bezier(.16,1,.3,1) both}
.js .btafel.an .skachel:nth-child(2){animation-delay:.08s}
.js .btafel.an .skachel:nth-child(3){animation-delay:.16s}
.js .btafel.an .skachel:nth-child(4){animation-delay:.24s}


body.ohneleiste{padding-bottom:0}


.ortwahl{margin-top:34px}
.owgrid{display:grid;gap:12px;grid-template-columns:1fr;margin-top:20px}
@media(min-width:640px){.owgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.owgrid{grid-template-columns:repeat(4,1fr)}}
.owkarte{text-align:left;font-family:inherit;cursor:pointer;
  border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;
  background:var(--paper);display:flex;flex-direction:column;gap:4px;
  transition:border-color .22s,transform .22s,box-shadow .22s;position:relative}
.owkarte:hover{border-color:var(--orange);transform:translateY(-2px)}

.js .ortwahl.in .owkarte{animation:kartenauf .7s cubic-bezier(.16,1,.3,1) both}
.js .ortwahl.in .owkarte:nth-child(2){animation-delay:.07s}
.js .ortwahl.in .owkarte:nth-child(3){animation-delay:.14s}
.js .ortwahl.in .owkarte:nth-child(4){animation-delay:.21s}

.owkarte.an{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,111,0,.14)}
.owkarte.an::after{content:"";position:absolute;top:14px;right:14px;width:18px;height:18px;
  border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.4 6.6 11.4 12.5 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.owart{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text)}
.owkarte b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:19px;
  color:var(--ink);letter-spacing:.01em;padding-right:24px}
.owadr{font-size:14px;line-height:1.45;color:var(--body)}
.owweg{margin-top:6px;font-size:12.5px;color:var(--mute)}


.buchart{margin-top:22px;border:1px solid var(--orange);border-radius:20px;
  padding:16px 20px;background:var(--paper);display:flex;flex-wrap:wrap;
  align-items:baseline;gap:4px 14px}
.buchart[hidden]{display:none}
.buchart b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:20px;color:var(--ink)}
.buchart span:not(.bzlbl){font-size:14.5px;line-height:1.5;color:var(--body)}
.buchart em{font-style:normal;color:var(--orange-text)}

.buchart .bfrei{flex-basis:100%;margin-top:4px;font-size:14.5px;color:var(--orange-text);
  font-weight:500}
.buchart .bfrei[hidden]{display:none}


.buchziel{margin-top:26px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;
  border-left:3px solid var(--orange);padding:4px 0 4px 16px}
.bzlbl{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-text);
  flex-basis:100%}
.buchziel b{font-family:'Aboreto',Georgia,serif;font-weight:400;font-size:19px;color:var(--ink)}
.buchziel span:not(.bzlbl){font-size:14.5px;color:var(--body)}
.buchbox{margin-top:14px}

.buchziel[hidden],.buchfuss[hidden],.buchbox[hidden]{display:none}


.buchalt{margin-top:26px;border:1px solid var(--line);border-radius:24px;
  padding:26px 24px;background:var(--paper)}
.js .buchalt{display:none}
.js .buchalt.an{display:block}
.baltkopf{border-left:3px solid var(--orange);padding-left:16px}
.baltkopf b{display:block;margin-top:3px;font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:21px;color:var(--ink)}
.baltkopf span:not(.bzlbl){display:block;font-size:14.5px;color:var(--body)}
.buchalt p{margin-top:16px;font-size:15.5px;line-height:1.6;max-width:60ch}
.baltknopf{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.baltnote{font-size:13.5px;color:var(--mute);margin-top:16px}


.wablase{position:fixed;right:20px;bottom:88px;z-index:66;max-width:250px;
  background:var(--paper);border:1px solid var(--line);border-radius:20px 20px 6px 20px;
  box-shadow:0 22px 50px -26px rgba(108,40,3,.5);
  opacity:0;transform:translateY(10px) scale(.96);transition:opacity .45s cubic-bezier(.16,1,.3,1),
  transform .45s cubic-bezier(.16,1,.3,1)}
.wablase.auf{opacity:1;transform:none}
.wablase>a{display:block;padding:16px 18px 15px;font-size:15px;line-height:1.4;color:var(--ink)}
.wablase>a b{display:block;margin-top:8px;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;color:var(--orange-text)}
.wablase>a:hover b{text-decoration:underline}
.wazu{position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;
  border:1px solid var(--line);background:var(--paper);color:var(--mute);
  font-size:14px;line-height:1;cursor:pointer;padding:0}
.wazu:hover{color:var(--ink);border-color:var(--ink)}

@media(max-width:899px){
  .wablase{right:auto;left:14px;bottom:86px;max-width:230px;
    border-radius:20px 20px 20px 6px}
}



.zband{padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--paper)}
.zin{display:grid;gap:30px}
.zkopf{max-width:320px}
.zband h2{margin-top:10px;font-size:clamp(21px,3.4vw,27px);line-height:1.24}
.zband h2::after{display:none}
.zreihe{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}
.zband .zahl{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;line-height:1;
  font-size:clamp(30px,6.5vw,46px);color:var(--ink);font-variant-numeric:tabular-nums}
.ztext{display:block;margin-top:9px;font-size:13.5px;line-height:1.45;color:var(--mute)}
@media(min-width:760px){
  .zband{padding:64px 0}
  .zin{grid-template-columns:minmax(220px,300px) 1fr;gap:44px;align-items:start}
  .zreihe{grid-template-columns:repeat(4,1fr);gap:0}
  .zpost{padding-left:22px;border-left:1px solid var(--line)}
  .zpost:first-child{padding-left:0;border-left:none}
}

.phero img,.ahero img{transform:scale(1.06)}
.phero.voll img{transform:none}


.ogrid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:700px){.ogrid{grid-template-columns:1fr 1fr}}


@media(min-width:1000px){.ogrid.vier{grid-template-columns:repeat(4,minmax(0,1fr))}}

.ozeiten{display:grid;gap:16px;grid-template-columns:1fr;margin-top:34px}
@media(min-width:800px){.ozeiten{grid-template-columns:1fr 1fr;gap:20px}}
.ozbox{background:var(--paper);border:1px solid var(--line);border-radius:22px;
  padding:26px 24px;position:relative;overflow:hidden}
.ozbox::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--orange)}
.ozbox h3{font-size:17px;margin-bottom:12px}
.ozbox .dlist li{font-size:15px}




:root{
  --t-klein:12.5px;
  --t-bei:16px;
  --t-text:20px;
  --t-vor:25px;
  --t-h2:48px;
  --t-h1:61px;
}

section{padding:82px 0}
section+section{padding-top:48px}
.thema-beige section:not(.tintsec)+.tintsec,
.thema-beige .tintsec+section:not(.tintsec){padding-top:82px}

section:has(+ section){padding-bottom:56px}
.thema-beige section:not(.tintsec):has(+ .tintsec),
.thema-beige .tintsec:has(+ section:not(.tintsec)){padding-bottom:82px}

section[style*="padding-top:0"]+section{padding-top:62px}
@media(max-width:899px){
  section{padding:52px 0}
  section+section{padding-top:34px}
  .thema-beige section:not(.tintsec)+.tintsec,
  .thema-beige .tintsec+section:not(.tintsec){padding-top:52px}
  section:has(+ section){padding-bottom:38px}
  .thema-beige section:not(.tintsec):has(+ .tintsec),
  .thema-beige .tintsec:has(+ section:not(.tintsec)){padding-bottom:52px}
  section[style*="padding-top:0"]+section{padding-top:40px}
}

.head{margin-bottom:40px}
@media(max-width:899px){.head{margin-bottom:30px}}
@media(min-width:1000px){.ogrid{grid-template-columns:repeat(3,1fr);gap:20px}}
.okarte{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--paper);
  display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.okarte:hover{border-color:var(--orange);transform:translateY(-3px)}
.oimg{position:relative;aspect-ratio:16/10;background:var(--sand);overflow:hidden}
.oimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.33,1,.68,1)}
.okarte:hover .oimg img{transform:scale(1.04)}

.oimg img[src*="iron-beutel"]{transform:scale(1.45);transform-origin:50% 46%}
.okarte:hover .oimg img[src*="iron-beutel"]{transform:scale(1.5)}

.bwkarte img[src*="hand-roehrchen"]{object-position:50% 78%;transform:scale(1.18);transform-origin:56% 50%}
.bwkarte img[src*="drei-flaschen"]{object-position:50% 90%;transform:scale(1.08);transform-origin:50% 70%}
.bwkarte:hover img[src*="hand-roehrchen"]{transform:scale(1.23)}
.bwkarte:hover img[src*="drei-flaschen"]{transform:scale(1.13)}

.bwkarte img[src*="glp1-pen"]{object-fit:contain;object-position:50% 0%;transform:scale(1.12);transform-origin:50% 30%;background:linear-gradient(180deg,#F7EDE4,#EADFD0)}
.bwkarte:hover img[src*="glp1-pen"]{transform:scale(1.17)}

.hsbild img[src*="glp1-pen"]{object-fit:contain;padding:6%}
.obody{padding:22px;display:flex;flex-direction:column;flex:1}
.oart{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.obody h3{margin-top:9px;font-size:19px}
.obody p{margin-top:9px;font-size:14.5px;line-height:1.55;flex:1;max-width:none}
.ozeit{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  font-size:13px;line-height:1.5;color:var(--orange-text)}


.kartebox{position:relative;margin-top:24px;border:1px solid var(--line);border-radius:24px;
  overflow:hidden;background:var(--sand);height:340px}
@media(min-width:900px){.kartebox{height:420px}}
.kartebild{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;
  pointer-events:none;filter:saturate(.72) sepia(.14) contrast(1.02) brightness(1.02)}
.karteschleier{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,249,242,.28),rgba(108,40,3,.10) 62%,rgba(108,40,3,.26))}
.kartenadel{position:absolute;left:0;right:0;bottom:0;padding:22px;display:flex;
  flex-direction:column;align-items:center;gap:10px;text-align:center;color:#fff}
.knadel{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--orange);
  transform:rotate(-45deg);box-shadow:0 0 0 5px rgba(255,111,0,.24)}
.kartebox .kadr{font-size:15px;line-height:1.5;color:#fff;max-width:none;
  text-shadow:0 1px 12px rgba(56,20,4,.6)}
.kbtn{display:inline-block;background:var(--orange);color:#fff;border-radius:999px;
  padding:10px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  transition:background .25s}
.kartenadel:hover .kbtn{background:#E86200}



:root{--buch-grund:#F4F4F4}
.buchbox{margin-top:30px;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  background:var(--buch-grund);box-shadow:0 20px 50px -30px rgba(108,40,3,.35);position:relative}
.buchbox::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--orange);z-index:2}
.buchbox iframe{width:100%;min-height:660px;border:0;display:block}
@media(max-width:599px){.buchbox iframe{min-height:780px}}
.buchfuss{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;
  align-items:baseline;margin-top:12px;font-size:12.5px;color:var(--mute)}
.buchfuss a{color:var(--orange-text)}


.zeiten{margin-top:14px;display:grid;gap:0}
.zeiten div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;
  border-bottom:1px solid var(--line);font-size:15px}
.zeiten div:last-child{border-bottom:none}
.zeiten span:last-child{color:var(--ink)}



.notruf{margin-top:20px;padding:20px 22px;border:1px solid var(--line);
  border-radius:16px;background:#FAF5EC}
.notruf h3{margin:10px 0 0;font-size:16px}
.notruf p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--mute)}
.notruf .nummer{margin-top:10px}

.notruf .nummer a{font-size:24px;letter-spacing:.02em;color:var(--ink);
  text-decoration:none;border-bottom:1px solid var(--orange);
  display:inline-block;min-height:46px;line-height:44px;padding:0 2px}
.notruf .nummer a:hover{color:var(--orange-text)}
.notruf .klein{font-size:13px;margin-top:12px}
.notruf .klein a{color:var(--ink)}


.ikarte{flex:0 0 min(300px,80vw);max-width:300px}
@media(min-width:900px){.ikarte{flex:0 0 300px;max-width:300px}}
.ibild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ikarte:hover .ibild img{transform:scale(1.05)}

.iav{background:var(--orange)}
.ilink{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-text)}
.ilink::after{content:" \2192"}
.ibild{appearance:none;border:0;padding:0;margin:0;width:100%;display:block;cursor:pointer;
  font:inherit;color:inherit;background:none;position:relative;aspect-ratio:4/5}

.ikarte.laeuft{flex:0 0 326px;max-width:326px;border-color:var(--orange);padding-bottom:12px}
.ikarte .iframe-insta{width:100%;min-height:580px;border:0;display:block;background:var(--sand)}
.iaussen{display:block;padding:10px 14px 0}

.bahn.autolauf{scroll-snap-type:none}
.bahn.autolauf>*{scroll-snap-align:none}
.bahn.insta{align-items:flex-start}



.kapnav{margin-top:34px}
.kapnav ol{list-style:none;margin:0;padding:0;display:grid;gap:0}
.kapnav a{display:flex;align-items:baseline;gap:16px;padding:16px 4px;
  border-top:1px solid var(--line);text-decoration:none;color:inherit;
  transition:border-color .2s,color .2s}
.kapnav li:last-child a{border-bottom:1px solid var(--line)}
.kapnav a:hover{border-top-color:var(--orange)}
.kapnr{font-family:'Aboreto',Georgia,serif;font-size:13px;letter-spacing:.14em;
  color:var(--mute);flex:none;width:2.4em}
.kaptxt{display:block}
.kaptxt b{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:17px;color:var(--ink)}
.kaptxt small{display:block;font-size:13.5px;color:var(--mute);margin-top:3px;line-height:1.5}

.kapnav a.aktiv{border-top-color:var(--orange)}
.kapnav a.aktiv .kapnr{color:var(--orange-text)}
@media(min-width:900px){
  .kapnav{position:sticky;top:78px;z-index:2;background:var(--paper)}
}
@media(max-width:899px){
  
  .kapnav ol{grid-auto-flow:column;grid-auto-columns:78vw;overflow-x:auto;
    gap:12px;padding-bottom:6px;scrollbar-width:none}
  .kapnav ol::-webkit-scrollbar{display:none}
  .kapnav a{border:1px solid var(--line);border-radius:14px;padding:14px 16px;
    align-items:flex-start;height:100%}
  .kapnav li:last-child a{border-bottom:1px solid var(--line)}
}


.spursec{padding-top:0}
.spurbahn{position:relative;padding-left:0}
.spurlinie{display:none}

.spurkap{padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.spurkap:first-of-type{border-top:0}
.spurkopf{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.spurnr{font-family:'Aboreto',Georgia,serif;font-size:13px;letter-spacing:.14em;
  color:var(--orange-text);flex:none;width:2.4em}
.spurkopf h3{font-size:clamp(21px,3.4vw,30px);margin:0;letter-spacing:0;text-transform:none}
.spurkopf h3::after{display:none}
.spurpaar{display:grid;grid-template-columns:1fr;gap:24px}
.spurlabel{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);margin-bottom:10px}
.spurdu p,.spurwir p{margin:0 0 10px;font-size:15px;line-height:1.65;color:var(--body)}
.spurdu p:last-child,.spurwir p:last-child{margin-bottom:0}
.spurdu{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#FAF5EC}
.spurwir{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.spurwir .spurlabel{color:var(--orange-text)}
@media(min-width:900px){
  .spurbahn{padding-left:66px}
  .spurlinie{display:block;position:absolute;left:26px;top:0;bottom:0;width:2px;
    background:var(--line);border-radius:2px}
  .spurlinie i{display:block;width:100%;height:0;background:var(--orange);
    border-radius:2px;transition:height .2s linear}
  .spurkopf{margin-left:-66px;padding-left:66px}
  .spurnr{position:absolute;left:0;width:auto}
  .spurpaar{grid-template-columns:.85fr 1.15fr;gap:28px}
}

.js .spurkap{opacity:0;transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.js .spurkap.da{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .spurkap{opacity:1;transform:none;transition:none}
  .spurlinie i{transition:none}
}



.gegen{margin-top:32px;border-top:1px solid var(--line)}
.gegenkopf{display:none}
.gegenzeile{display:grid;grid-template-columns:1fr;gap:12px;
  padding:22px 0;border-bottom:1px solid var(--line)}
.gfrage{font-family:'Aboreto',Georgia,serif;font-size:17px;color:var(--ink)}
.glinks,.grechts{font-size:14.5px;line-height:1.6;color:var(--body)}
.gklein{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);margin-bottom:6px}
.grechts{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#FAF5EC}
.grechts .gklein{color:var(--orange-text)}
@media(min-width:900px){
  .gegenkopf{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;
    padding:0 0 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
  .gegenkopf .gsp2{color:var(--orange-text)}
  .gegenzeile{grid-template-columns:1fr 1fr 1fr;gap:28px;align-items:start}
  .gklein{display:none}
  .grechts{padding:16px 18px}
}

.js .grechts{opacity:0;transform:translateY(10px);
  transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--gi,1) * 90ms)}
.js .gegen.da .grechts{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .grechts{opacity:1;transform:none;transition:none}
}



.blickgitter{display:grid;grid-template-columns:1fr;gap:10px;margin-top:32px}
@media(min-width:700px){.blickgitter{grid-template-columns:1fr 1fr;gap:12px}}
.blickkarte{border:1px solid var(--line);border-radius:16px;background:var(--paper);
  overflow:hidden;transition:border-color .2s}
.blickkarte[open]{border-color:var(--orange)}
.blickkarte summary{display:flex;align-items:center;gap:12px;cursor:pointer;
  padding:18px 20px;list-style:none;font-family:'Aboreto',Georgia,serif;
  font-size:16px;color:var(--ink)}
.blickkarte summary::-webkit-details-marker{display:none}
.blickkarte summary>span{flex:1}
.blickkarte summary i{font-style:normal;font-size:20px;line-height:1;color:var(--mute);
  flex:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.blickkarte[open] summary i{transform:rotate(45deg);color:var(--orange-text)}
.blickkarte summary:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.blickinhalt{padding:0 20px 20px 52px}
.blickinhalt p{margin:0;font-size:14.5px;line-height:1.65;color:var(--body)}
@media(max-width:520px){.blickinhalt{padding-left:20px}}



.zahlgitter{display:grid;grid-template-columns:1fr;gap:20px;text-align:center}
@media(min-width:700px){.zahlgitter{grid-template-columns:repeat(3,1fr);gap:34px}}
.zahlkarte{padding:8px 4px}
.zahlwert{display:block;font-family:'Aboreto',Georgia,serif;
  font-size:clamp(38px,7vw,60px);line-height:1;color:var(--orange-text);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.zahlwert b{font-weight:400}
.zahltxt{display:block;margin-top:12px;font-size:14px;line-height:1.5;color:var(--mute)}



.tzitat{margin:16px 0 0;padding:0 0 0 16px;border-left:2px solid var(--orange);
  font-family:'Aboreto',Georgia,serif;font-size:15px;line-height:1.55;
  color:var(--ink)}


.gbzitat{margin-top:14px;color:var(--greige);border-left-color:var(--orange-lt)}


.wortsec{padding:var(--sec) 0}
.wortgrid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
@media(min-width:900px){
  .wortgrid{grid-template-columns:1fr 1fr;gap:70px}
  
  .wortworte{order:2}
  .wortbild{order:1}
}
.wort{font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:clamp(30px,5.2vw,54px);line-height:1.1;color:var(--ink);
  margin:0}
.wort+.wort{margin-top:.42em}
.w2{margin-left:1.6em}
.w3{margin-left:.7em}
@media(max-width:520px){.w2{margin-left:1em}.w3{margin-left:.4em}}
.wortbild{border-radius:22px;overflow:hidden;background:var(--sand);
  aspect-ratio:4/5}
.wortbild img{width:100%;height:100%;object-fit:cover;display:block}


@media(prefers-reduced-motion:reduce){
  .laufin{animation:none}
  .bi{animation:none;opacity:1;filter:none}
  .rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .stufe{transition:none}
  .bkarte:hover,.ikarte:hover,.lcard:hover,a.lcard:hover,.shkarte:hover{transform:none}
  .js .hsgrid>.hstext,.js .rv.stufig.in>*{animation:none}
  
  .gband.autolauf{scroll-snap-type:x mandatory!important;scrollbar-width:thin!important}
  .gband.autolauf::-webkit-scrollbar{height:6px}
  .gband.autolauf>*{scroll-snap-align:center}
  .bahn.autolauf{scroll-snap-type:x mandatory!important}
  .bahn.autolauf>*{scroll-snap-align:center}
}


.hero{position:relative;isolation:isolate}
.hero > *{position:relative;z-index:1}
.heroglut{position:absolute;inset:-18% -12%;z-index:0;pointer-events:none;
  overflow:hidden;border-radius:inherit}
.heroglut::before,.heroglut::after{content:"";position:absolute;border-radius:50%;
  filter:blur(70px);opacity:.5}
.heroglut::before{width:62%;padding-bottom:62%;left:-6%;top:-14%;
  background:radial-gradient(circle,rgba(255,111,0,.30),rgba(255,111,0,0) 68%);
  animation:glutA 48s ease-in-out infinite alternate}
.heroglut::after{width:56%;padding-bottom:56%;right:-8%;bottom:-18%;
  background:radial-gradient(circle,rgba(169,78,12,.24),rgba(169,78,12,0) 68%);
  animation:glutB 62s ease-in-out infinite alternate}
@keyframes glutA{
  0%  {transform:translate3d(0,0,0) scale(1)}
  50% {transform:translate3d(14%,8%,0) scale(1.12)}
  100%{transform:translate3d(4%,18%,0) scale(1.04)}
}
@keyframes glutB{
  0%  {transform:translate3d(0,0,0) scale(1.06)}
  50% {transform:translate3d(-12%,-10%,0) scale(1)}
  100%{transform:translate3d(-4%,-20%,0) scale(1.1)}
}
@media(prefers-reduced-motion:reduce){
  .heroglut::before,.heroglut::after{animation:none}
}
@media(max-width:599px){
  .heroglut::before,.heroglut::after{filter:blur(46px);opacity:.42}
}


.wkbild{position:relative}


img.weiss{mix-blend-mode:multiply}

img.ganz{object-fit:contain;padding:10px}

.wegkacheln.bahn{display:flex;grid-template-columns:none;margin-top:30px}
.pfeile.mittig{justify-content:center;margin-top:26px}


.hgrid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:30px}
@media(min-width:700px){.hgrid{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:1100px){.hgrid{grid-template-columns:repeat(var(--hn,4),minmax(0,1fr))}}
@media(min-width:700px) and (max-width:1099px){
  .hgrid:has(> :last-child:nth-child(odd)) > :last-child:not(:first-child){
    grid-column:1 / -1;max-width:calc(50% - 8px);margin:0 auto;width:100%}
}
.hkarte{border:1px solid var(--line);border-radius:22px;background:var(--paper);
  padding:22px;transition:border-color .25s}
.hkarte:hover{border-color:var(--orange)}
.hort{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange-text)}
.hsym{width:16px;height:16px;flex:none}
.hsym svg{width:16px;height:16px;fill:none;stroke:var(--orange);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.hkarte h3{margin-top:12px;font-size:19px;line-height:1.28}
.hkarte h3::after{display:none}
.hkarte p{margin-top:9px;font-size:15px;line-height:1.6;color:var(--body)}


body{font-weight:400}
.lead,.dsum{font-weight:400}


.tkarte p,.bbody p,.obody p,.wkarte p,.fkkarte p,.ackarte p,.wkbody p,
.pinhalt p,.wpunkt p,.lcard p,.jbody p,.rwtext{font-size:15px;line-height:1.6}


.tkarte h3,.bbody h3,.obody h3,.fkkarte h3,.ackarte h3,.lcard h3,
.jbody h3,.akarte h3,.ozbox h3,.plan h3,.hinweis h3{font-size:19px}
.wkbody h3,.wkarte h3,.dtxt h3,.pkopf h3{font-size:22px}

.wkarte p,.plan p,.hinweis p{font-size:15px}


.dlist li{font-size:var(--t-bei)}
.anlass .dlist li,.abody .dlist li{font-size:16.5px}

.dlist.satz{grid-template-columns:1fr;gap:12px}




.burger{border:none;background:rgba(108,40,3,.07);gap:6px;align-content:center;
  justify-items:end;padding-right:12px;transition:background .2s}
.burger:hover{background:rgba(108,40,3,.13)}
.burger i{height:2px;border-radius:2px}
.burger i:nth-child(1){width:18px}
.burger i:nth-child(2){width:11px}
.burger.on{background:rgba(108,40,3,.13)}
.burger.on i{width:18px}
.burger.on i:nth-child(1){transform:translateY(4px) rotate(45deg)}

.burger.on i:nth-child(2){opacity:1;transform:translateY(-4px) rotate(-45deg)}




.mnav{width:min(92vw,420px);background:var(--paper);padding:0;
  border-radius:38px 0 0 38px;box-shadow:-30px 0 70px rgba(45,20,4,.20);
  display:flex;flex-direction:column;overscroll-behavior:contain}

.mnav::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(85% 50% at 0% 45%,rgba(255,111,0,.12),transparent 64%)}
.mnav>*{position:relative;z-index:1;padding-left:22px;padding-right:22px}
.mscrim{background:rgba(45,20,4,.42);backdrop-filter:blur(2px)}


.mkopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
  position:sticky;top:0;z-index:2;padding:18px 22px 8px;
  background:rgba(255,249,242,.86);backdrop-filter:saturate(150%) blur(12px)}
.mnav .mmark{font-family:'Aboreto',Georgia,serif;font-size:21px;letter-spacing:.18em;
  color:var(--ink);padding:0;border:none;text-transform:none}
.mzu{width:38px;height:38px;border-radius:50%;border:none;background:rgba(108,40,3,.07);
  color:var(--ink);font-size:20px;line-height:1;cursor:pointer;
  display:grid;place-items:center;transition:background .2s}
.mzu:hover{background:rgba(108,40,3,.13)}

.mnav .mgroup{display:block;margin:16px 0 2px;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange);font-weight:500}
.mliste{display:grid}

.mliste.zwei{grid-template-columns:1fr 1fr;column-gap:16px}
.mnav .mliste a{display:block;font-family:'Aboreto',Georgia,serif;text-transform:none;
  font-size:16.5px;letter-spacing:.02em;color:var(--ink);padding:11px 0;
  border-bottom:1px solid var(--line);transition:color .18s}
.mnav .mliste.zwei a{font-size:14.5px;padding:10px 0}
.mnav .mliste a:hover{color:var(--orange)}
.mnav .mliste a[aria-current]{color:var(--orange)}


.mfuss{margin-top:auto;position:sticky;bottom:0;
  padding:18px 22px calc(20px + env(safe-area-inset-bottom));
  background:rgba(255,249,242,.86);backdrop-filter:saturate(150%) blur(12px)}
.mfuss::before{content:'';position:absolute;left:0;right:0;top:-26px;height:26px;
  pointer-events:none;background:linear-gradient(to top,rgba(255,249,242,.86),transparent)}
.mnav .mcta{margin-top:0}
.mnebst{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.mnav .mtel{font-family:'Jost',sans-serif;font-size:13.5px;letter-spacing:.04em;
  color:var(--ink);opacity:.72;padding:0;border:none;text-transform:none}


@keyframes mzeile{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.mnav.on .mliste a{animation:mzeile .42s cubic-bezier(.4,0,.2,1) both;
  animation-delay:calc(var(--i,0)*22ms + 80ms)}
.mnav.on .mgroup,.mnav.on .mfuss{animation:mzeile .42s cubic-bezier(.4,0,.2,1) both;
  animation-delay:60ms}
@media(prefers-reduced-motion:reduce){
  .mnav.on .mliste a,.mnav.on .mgroup,.mnav.on .mfuss{animation:none}
}

@media(max-height:660px){
  .mnav .mliste a{padding:9px 0;font-size:15.5px}
  .mnav .mgroup{margin-top:12px}
  .mfuss{padding-top:16px}
}


.phero,.hsbild,.kassebild,.akarte,.gbild img,.bildband>div,.limg,
.agbnav,.agbkopf,.navmenu,.wablase{border-radius:22px}
.lcard .limg{border-radius:22px 22px 0 0}
.wablase{border-radius:22px 22px 6px 22px}
@media(max-width:899px){.phero{border-radius:18px}}







.bwkarte{aspect-ratio:4/5}
@media(max-width:599px){.bwkarte{aspect-ratio:4/5}}


.bwkarte,.lcard,.lcard .limg,.kcard,.kachel,.jcard,.sbild,
.phero,.ahero,.ptable,.gbild,.spurdu,.spurwir,.grechts,.notruf,
.buchbox,.agbnav,.agbkopf,.navmenu,.bildband>div,figure.afig,
.zahlkarte,.blickkarte,.vbsec,.offbox,.tbild,.gbbild{border-radius:0}


.btn{border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:12px;
  padding:15px 30px}
.btn.lg{font-size:12.5px;padding:17px 36px}
.mnav .mcta,.mbar .btn{border-radius:0}

.btn,.mnav .mcta,.mbar .btn,.lang .on,.iav,.mband,.icard .tg span.fav{color:#2A1206}
.btn.line,.btn.ghost,.btn.white{color:var(--ink)}
.btn.green{color:#E4E2DA}
.hero .btn.white{color:var(--ink)}


.mgroup,.mnav .mgroup,.mnav .mliste .mgroup{color:var(--orange-text)}


.logo{color:var(--orange-text)}


.stars,.rwsterne,.pille .stars,.rezkopf .rwsterne{color:var(--orange-text)}



:root{--sec:clamp(64px,7.4vw,124px)}

body{font-size:20px;line-height:1.6}
@media(max-width:599px){body{font-size:18px}}


h2{font-size:clamp(28px,4.6vw,48px);font-weight:300;line-height:1.1}
.head h2{letter-spacing:.01em}

.head p{font-size:clamp(16.5px,1.5vw,20px);max-width:52ch;line-height:1.55}

.headcta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
  margin-top:22px;max-width:none}
@media(max-width:599px){
  .headcta{flex-direction:column;align-items:stretch;width:100%}
  .headcta .btn{text-align:center;white-space:normal}
}


footer{border-radius:0;padding:72px 0 48px;margin-top:0}
@media(max-width:899px){footer{border-radius:0;padding:52px 0 36px;margin-top:56px}}





body.heroseite nav.top:not(.solid) .suchbox.suchnav{visibility:hidden}


body.heroseite nav.top{background:transparent;border-bottom-color:transparent;
  box-shadow:none;backdrop-filter:none}
body.heroseite nav.top .nav-links a,
body.heroseite nav.top .nav-links .navbald,
body.heroseite nav.top .logo,
body.heroseite nav.top .navdrop > a,
body.heroseite nav.top .burger{color:#fff}


body.heroseite nav.top .navmenu a{color:var(--body)}
body.heroseite nav.top .navmenu a:hover,
body.heroseite nav.top .navmenu a[aria-current="page"]{color:var(--orange-text)}


body.heroseite nav.top:not(.solid) .deskcta{
  background:#F7EDE4;color:#2A1206;border:1px solid rgba(255,255,255,.55)}
body.heroseite nav.top:not(.solid) .deskcta:hover{background:#fff;border-color:#fff}
body.heroseite nav.top .burger i{background:#fff}



body.heroseite nav.top.solid{background:rgba(250,245,236,.93);
  border-bottom-color:var(--line);backdrop-filter:saturate(180%) blur(16px);
  padding:14px 0;box-shadow:0 2px 18px rgba(108,40,3,.07)}
body.heroseite nav.top.solid .nav-links a,
body.heroseite nav.top.solid .nav-links .navbald,
body.heroseite nav.top.solid .navdrop > a{color:var(--ink)}
body.heroseite nav.top.solid .logo{color:var(--orange)}
body.heroseite nav.top.solid .burger{color:var(--ink)}
body.heroseite nav.top.solid .burger i{background:var(--ink)}


nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:13px;letter-spacing:.03em;
  text-transform:uppercase;white-space:nowrap}



.hvsec{position:relative;height:100svh;min-height:520px;max-height:940px;
  overflow:hidden;isolation:isolate;display:grid}
@media(max-width:599px){.hvsec{height:86svh;min-height:460px}}

.hvbild{position:absolute;inset:0}

@keyframes hvzoom{from{transform:scale(1.08)}to{transform:scale(1)}}

@keyframes hvatem{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.022) translate3d(0,-0.5%,0)}}

.hvbild img,.hvbild picture{width:100%;height:100%;display:block;object-fit:cover;
  object-position:center 50%;
  animation:hvzoom 3.2s cubic-bezier(.16,.72,.3,1) both,
            hvatem 84s 3.2s ease-in-out infinite alternate}





.hvbild::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(30,11,2,.80) 0%,rgba(30,11,2,.34) 18%,rgba(30,11,2,0) 34%),
    linear-gradient(to top,rgba(30,11,2,.74) 0%,rgba(30,11,2,.54) 42%,rgba(30,11,2,.30) 100%),
    linear-gradient(rgba(30,11,2,.12),rgba(30,11,2,.12))}



.hvblasen{position:absolute;inset:0;overflow:hidden;pointer-events:none}

.hvblasen i{position:absolute;bottom:-14%;display:block;border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,236,208,0) 0 31%,
      rgba(255,236,208,.10) 40%,
      rgba(255,242,220,.38) 46.5%,
      rgba(255,224,186,.16) 49.2%,
      rgba(255,224,186,0) 50%),
    radial-gradient(circle at 34% 29%,
      rgba(255,248,234,.46) 0 8%,
      rgba(255,248,234,.12) 17%,
      rgba(255,248,234,0) 26%);
  opacity:0;animation-name:hvsteig;animation-timing-function:linear;
  animation-iteration-count:infinite;will-change:transform,opacity}
@keyframes hvsteig{
  0%{transform:translate3d(0,0,0) scale(.86);opacity:0}
  12%{opacity:.5}
  50%{transform:translate3d(9px,-58vh,0) scale(1);opacity:.6}
  88%{opacity:.34}
  100%{transform:translate3d(-7px,-118vh,0) scale(1.1);opacity:0}}

.hvblasen i:nth-child(1){left:7%;width:16px;height:16px;animation-duration:34s;animation-delay:-3s}
.hvblasen i:nth-child(2){left:15%;width:31px;height:31px;animation-duration:48s;animation-delay:-19s}
.hvblasen i:nth-child(3){left:23%;width:9px;height:9px;animation-duration:27s;animation-delay:-11s}
.hvblasen i:nth-child(4){left:30%;width:23px;height:23px;animation-duration:41s;animation-delay:-31s}
.hvblasen i:nth-child(5){left:38%;width:13px;height:13px;animation-duration:31s;animation-delay:-7s}
.hvblasen i:nth-child(6){left:45%;width:42px;height:42px;animation-duration:57s;animation-delay:-24s}
.hvblasen i:nth-child(7){left:52%;width:11px;height:11px;animation-duration:29s;animation-delay:-15s}
.hvblasen i:nth-child(8){left:59%;width:27px;height:27px;animation-duration:45s;animation-delay:-38s}
.hvblasen i:nth-child(9){left:66%;width:18px;height:18px;animation-duration:36s;animation-delay:-2s}
.hvblasen i:nth-child(10){left:73%;width:36px;height:36px;animation-duration:53s;animation-delay:-27s}
.hvblasen i:nth-child(11){left:80%;width:10px;height:10px;animation-duration:26s;animation-delay:-9s}
.hvblasen i:nth-child(12){left:87%;width:21px;height:21px;animation-duration:39s;animation-delay:-33s}
.hvblasen i:nth-child(13){left:93%;width:14px;height:14px;animation-duration:33s;animation-delay:-17s}
.hvblasen i:nth-child(14){left:97%;width:29px;height:29px;animation-duration:50s;animation-delay:-44s}

@media(max-width:599px){.hvblasen i:nth-child(n+9){display:none}}
.hvinh{position:relative;z-index:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:34px;
  padding:130px 24px 60px}
@media(max-width:599px){.hvinh{gap:26px}}

.hvzeile{font-family:'Aboreto',Georgia,serif;font-weight:400;color:#fff;
  font-size:clamp(30px,5.4vw,74px);line-height:1.08;letter-spacing:.015em;
  max-width:15ch;margin:0;text-wrap:balance}
.hvknopf{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;padding:17px 38px}

@media(prefers-reduced-motion:reduce){
  .hvbild img{animation:none;transform:none}
  
  .hvblasen{display:none}
}




.wegsec:has(.weggitter){padding:var(--sec) 0}
.weggitter{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--line)}
@media(max-width:799px){.weggitter{grid-template-columns:1fr}}

.wegkarte{position:relative;display:flex;flex-direction:column;gap:9px;
  padding:38px 34px 42px;border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);text-decoration:none;color:var(--ink);
  transition:background .35s}
.weggitter .wegkarte:last-child{border-right:0}
@media(max-width:799px){.wegkarte{border-right:0;padding:28px 20px 32px}}
.wegkarte:hover{background:var(--sand)}
.wegkarte:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}

.wegtitel{font-family:'Aboreto',Georgia,serif;font-size:clamp(19px,1.9vw,26px);
  line-height:1.15;color:var(--ink)}
.wegtext{font-size:14.5px;line-height:1.55;color:var(--mute);max-width:34ch}
.wegpfeil{margin-top:6px;font-size:20px;line-height:1;color:var(--orange-text);
  transition:transform .35s}
.wegkarte:hover .wegpfeil{transform:translateX(6px)}



.vbsec{position:relative;height:var(--vbh,68vh);min-height:340px;max-height:760px;
  overflow:hidden;margin:var(--sec) 0;isolation:isolate}
@media(max-width:599px){.vbsec{height:auto;aspect-ratio:4/5;min-height:0;max-height:none}}

.vbbild{position:absolute;inset:0}
.vbbild img,.vbbild picture{width:100%;height:100%;display:block;object-fit:cover;
  transform:scale(1.1);transition:transform 2.4s cubic-bezier(.16,.72,.3,1)}

.vbsec.in .vbbild img{transform:scale(1)}


.vbtext{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(22px,4vw,58px);color:#fff;
  background:linear-gradient(to top,rgba(30,11,2,.86) 0%,rgba(30,11,2,.42) 44%,rgba(30,11,2,.08) 100%)}
.vbkicker{font-family:'Aboreto',Georgia,serif;font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--orange-lt);margin-bottom:10px}
.vbzeile{font-family:'Aboreto',Georgia,serif;font-weight:400;line-height:1.16;
  font-size:clamp(23px,3.6vw,50px);color:#fff;max-width:17ch;letter-spacing:.01em}

@media(prefers-reduced-motion:reduce){
  .vbbild img{transform:none;transition:none}
  .vbsec.in .vbbild img{transform:none}
}



.bwsec{padding:var(--sec) 0}

.bwgitter{display:grid;grid-template-columns:repeat(var(--bwn),1fr);gap:20px;margin-top:34px}
@media(max-width:1199px){.bwgitter{grid-template-columns:repeat(3,1fr)}}
@media(max-width:899px){.bwgitter{grid-template-columns:repeat(2,1fr);gap:11px}}



.bwkarte{position:relative;display:block;overflow:hidden;border-radius:0;
  
  aspect-ratio:4/5;background:#3A1502;text-decoration:none;isolation:isolate;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s}
.bwkarte:hover,.bwkarte:focus-visible{transform:translateY(-4px);
  box-shadow:0 26px 50px -30px rgba(108,40,3,.65)}
.bwkarte:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

.bwkarte.hell{background:var(--beige)}
.bwkarte.hell .bwbild img{object-fit:contain;padding:14px 14px 33%;mix-blend-mode:multiply}
.bwkarte.hell .bwfeld{color:var(--ink);
  background:linear-gradient(to top,
    rgba(243,237,228,.98) 0%,
    rgba(243,237,228,.94) 40%,
    rgba(243,237,228,.70) 66%,
    rgba(243,237,228,0) 100%)}
.bwkarte.hell .bwtitel{color:var(--ink)}
.bwkarte.hell .bwnum{color:var(--orange-text)}
.bwkarte.hell .bwwert,.bwkarte.hell .bwkurz,.bwkarte.hell .bwlang{color:#5A4636}
.bwkarte.hell .bwmehr{color:var(--ink)}
.bwkarte.hell:hover .bwmehr{border-bottom-color:var(--ink)}


.bwbild{position:absolute;inset:0;display:block;z-index:0}
.bwbild img,.bwbild picture{width:100%;height:100%;display:block;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.bwkarte:hover .bwbild img,.bwkarte:focus-visible .bwbild img{transform:scale(1.06)}


.bwfeld{position:absolute;left:0;right:0;bottom:0;z-index:1;display:block;
  padding:22px 20px 20px;color:#fff;
  background:linear-gradient(to top,
    rgba(46,16,2,.96) 0%,
    rgba(46,16,2,.90) 34%,
    rgba(46,16,2,.62) 62%,
    rgba(46,16,2,0) 100%)}
@media(max-width:599px){.bwfeld{padding:16px 14px 15px}}

.bwnum{display:block;font-family:'Aboreto',Georgia,serif;font-size:11px;letter-spacing:.22em;
  color:var(--orange-lt);margin-bottom:7px}

.bwtitel{display:block;font-family:'Aboreto',Georgia,serif;font-weight:400;line-height:1.15;
  font-size:clamp(17px,1.55vw,23px);color:#fff;letter-spacing:.01em;text-transform:none}
@media(max-width:599px){.bwtitel{font-size:15.5px}}
.bwwert{display:block;margin-top:7px;font-size:11.5px;letter-spacing:.03em;color:#F2DCC9}
.bwkurz{display:block;margin-top:9px;font-size:13px;line-height:1.5;color:#EFE2D6}
@media(max-width:599px){.bwkurz{font-size:12px;margin-top:6px}}


.bwlang{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .55s cubic-bezier(.22,.61,.36,1),opacity .4s,margin-top .55s;
  font-size:13px;line-height:1.55;color:#EFE2D6;margin-top:0}

.bwlang>span{display:block;overflow:hidden;min-height:0}
.bwkarte:hover .bwlang,.bwkarte:focus-visible .bwlang{grid-template-rows:1fr;opacity:1;margin-top:9px}

.bwmehr{display:inline-block;margin-top:13px;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;color:#fff;padding-bottom:3px;
  border-bottom:1px solid var(--orange);transition:border-color .3s}
.bwkarte:hover .bwmehr{border-bottom-color:#fff}
@media(max-width:599px){.bwmehr{margin-top:10px;font-size:11px;letter-spacing:.07em}}


@media(hover:none){
  .bwlang{display:none}
  .bwkarte:hover{transform:none;box-shadow:none}
  .bwkarte:hover .bwbild img{transform:none}
}


@media(max-width:599px){
  .bwwert,.bwkurz{display:none}
  .bwfeld{background:linear-gradient(to top,
    rgba(46,16,2,.96) 0%,
    rgba(46,16,2,.86) 46%,
    rgba(46,16,2,0) 100%)}
  .bwkarte.hell .bwfeld{background:linear-gradient(to top,
    rgba(243,237,228,.98) 0%,
    rgba(243,237,228,.92) 50%,
    rgba(243,237,228,0) 100%)}
}
@media(prefers-reduced-motion:reduce){
  .bwkarte,.bwbild img,.bwlang{transition:none}
  .bwkarte:hover .bwbild img{transform:none}
}



.offwerk{display:grid;grid-template-columns:1fr 400px;gap:34px;align-items:start}
@media(max-width:1099px){.offwerk{grid-template-columns:1fr;gap:26px}}




.werkzeug .firstsec{padding-top:104px!important}
.offkopf{position:sticky;top:78px;z-index:6;background:var(--paper);
  padding:14px 0 12px;border-bottom:1px solid var(--line)}
@media(max-width:899px){.offkopf{top:0}}
.offsuchzeile{display:flex;gap:10px;align-items:center}
.offsuche{flex:1;position:relative}
.offsuche input{width:100%;height:52px;padding:0 44px 0 44px;border:1px solid var(--line);
  border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:15.5px}
.offsuche input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:transparent}
.offsuche .offlupe{position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:17px;height:17px;opacity:.5;pointer-events:none}
.offsuche .offleer{position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--ink);
  font-size:19px;line-height:1;cursor:pointer;display:none}
.offsuche .offleer:hover{background:var(--beige)}
.offsuche.hatText .offleer{display:block}
.offzaehler{font-size:12.5px;color:var(--mute);white-space:nowrap}
@media(max-width:599px){.offzaehler{display:none}}

.offchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.offchip{border:1px solid var(--line);background:#fff;color:var(--ink);
  border-radius:999px;padding:7px 14px;font-size:12.5px;cursor:pointer;
  font-family:inherit;letter-spacing:.01em}
.offchip:hover{border-color:var(--orange)}

.offchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}


.offgrp{margin-top:30px}
.offgrp.aus{display:none}
.offgrpkopf{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding-bottom:9px;border-bottom:1px solid var(--line)}
.offgrpkopf h2{font-size:16px;letter-spacing:.03em;margin:0}
.offalle{border:0;background:transparent;color:var(--orange-text);font:inherit;
  font-size:12.5px;cursor:pointer;padding:4px 2px;text-decoration:underline;
  text-underline-offset:3px;white-space:nowrap}
.offalle:hover{color:var(--orange)}

.offzeile{display:grid;grid-template-columns:24px 1fr auto;gap:0 14px;align-items:start;
  padding:11px 10px 11px 8px;border-radius:12px;cursor:pointer;position:relative}
.offzeile:hover{background:var(--beige)}
.offzeile.aus{display:none}
.offzeile input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--orange);cursor:pointer;flex:none}
.offname{font-size:14.5px;line-height:1.45;color:var(--ink)}
.offde{display:block;font-size:11.5px;color:var(--mute);margin-top:2px}
.offpreis{font-family:'Aboreto',Georgia,serif;font-size:14.5px;color:var(--ink);
  white-space:nowrap;padding-top:1px}
.offzeile input:checked ~ .offname{font-weight:500}
.offzeile:has(input:checked){background:var(--beige)}
.offzeile mark{background:#FFE2C4;color:var(--ink);border-radius:3px;padding:0 1px}

.offnichts{display:none;padding:34px 8px;color:var(--mute);font-size:14.5px}
.offnichts.an{display:block}



.offgruppe{border-bottom:1px solid var(--line)}
.offgkopf{display:flex;align-items:baseline;gap:12px;width:100%;padding:14px 8px;
  border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.offgkopf:hover{background:var(--beige)}
.offgkopf b{font-family:'Aboreto',Georgia,serif;font-size:17px;font-weight:400;
  letter-spacing:.06em;min-width:18px}
.offgkopf small{font-size:12px;color:var(--mute)}
.offgpfeil{width:9px;height:9px;flex:none;align-self:center;
  border-right:1.5px solid var(--mute);border-bottom:1.5px solid var(--mute);
  transform:rotate(-45deg);transition:transform .16s ease}
.offgruppe.auf .offgpfeil{transform:rotate(45deg)}
.offgkoerper{padding:0 0 12px}
.offgrest{margin:8px 8px 0;font-size:12.5px;color:var(--mute)}



.offeinfuegen{border:1px solid var(--line);border-radius:20px;background:var(--paper);
  padding:18px 20px 20px;margin:22px 0 6px}
.offeinfuegen h2{margin:0;font-size:16px;letter-spacing:.03em}
.offeinfuegen p.oflead{margin:5px 0 12px;font-size:13px;color:var(--mute);line-height:1.55}
.offeinfuegen textarea{width:100%;min-height:132px;resize:vertical;padding:13px 14px;
  border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);
  font:inherit;font-size:14px;line-height:1.55}
.offeinfuegen textarea:focus{outline:2px solid var(--orange);outline-offset:1px;
  border-color:transparent}
.offpknoepfe{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px;align-items:center}
.offpknoepfe .btn{font-size:13.5px;padding:11px 20px}
.offpknoepfe .btn.line{border:1px solid var(--line);color:var(--ink)}


.offpanel{display:none;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.offpanel.an{display:block}
.offpkopf{margin:16px 0 7px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute);font-weight:400}
.offpkopf:first-child{margin-top:0}
.offpkopf.warn{color:var(--orange-text)}
.offpzeile{display:grid;grid-template-columns:24px 1fr auto;gap:0 13px;align-items:start;
  padding:9px 8px;border-radius:12px;cursor:pointer}
.offpzeile:hover{background:var(--beige)}
.offpzeile input[type=checkbox]{width:19px;height:19px;margin:2px 0 0;
  accent-color:var(--orange);cursor:pointer}
.offpzeile b{display:block;font-weight:500;font-size:14px;color:var(--ink);line-height:1.4}
.offpzeile small{display:block;font-size:11.5px;color:var(--mute);margin-top:2px}
.offppreis{font-family:'Aboreto',Georgia,serif;font-size:14px;color:var(--ink);white-space:nowrap}
.offpunsicher{cursor:default}
.offpunsicher select{margin-top:6px;width:100%;max-width:520px;height:38px;padding:0 10px;
  border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);
  font:inherit;font-size:13.5px}
.offpunsicher select:focus{outline:2px solid var(--orange);outline-offset:1px;
  border-color:transparent}


.offpmeldung{display:none;margin:12px 0 0;font-size:12.5px;color:var(--orange-text)}
.offpmeldung.an{display:block}
.offoffen{display:none;margin-top:14px;padding-top:4px}
.offoffen.an{display:block}
.offoffen h3{margin:0 0 10px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange-text);font-weight:400}
.offozeile{border:1px solid var(--line);border-left:3px solid var(--orange);
  background:var(--paper);padding:11px 12px 12px;margin-bottom:10px}
.offokopf{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.offokopf b{font-weight:500;font-size:14px;color:var(--ink)}
.offokopf .offweg{border:0;background:transparent;color:var(--mute);cursor:pointer;
  font-size:15px;line-height:1;padding:0 2px}
.offokopf .offweg:hover{color:var(--orange-text)}
.offozeile input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);
  background:var(--greige);color:var(--ink);font:inherit;font-size:14px}
.offozeile input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:transparent}
.offotreffer{margin-top:7px}
.offotreffer p{margin:4px 0 0;font-size:12px;color:var(--mute)}
.offowahl{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:7px 4px;cursor:pointer;font:inherit}
.offowahl:last-child{border-bottom:0}
.offowahl:hover{background:var(--beige)}
.offowahl b{display:block;font-weight:400;font-size:13.5px;color:var(--ink);line-height:1.35}
.offowahl small{display:block;font-size:11px;color:var(--mute);margin-top:1px}
.offowahl:disabled{opacity:.45;cursor:not-allowed}


.offroute{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:2px 0 14px;
  border:1px solid var(--line)}
.offroute button{border:0;background:transparent;color:var(--mute);font:inherit;
  font-size:12px;letter-spacing:.03em;padding:9px 6px;cursor:pointer}
.offroute button[aria-pressed="true"]{background:var(--ink);color:#fff}


.offgrsub{margin:14px 0 3px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--mute);font-weight:400;border-bottom:1px solid var(--line);padding-bottom:5px}
.offgrsub:first-child{margin-top:0}
.offsub{border-top:1px dashed var(--line);margin-top:2px}
.offsub span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.offsummen{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.offsummezeile{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:3px 0;font-size:12.5px;color:var(--body)}
.offsummezeile b{font-weight:400;font-family:'Aboreto',Georgia,serif;font-size:14px;color:var(--ink)}
.offsummezeile.offsummekasse span,
.offsummezeile.offsummekasse b{color:var(--orange-text)}


.offpfehlt{margin:0;padding:0 0 0 18px;list-style:none}
.offpfehlt li{position:relative;font-size:14px;color:var(--ink);padding:4px 0}
.offpfehlt li::before{content:'';position:absolute;left:-14px;top:12px;width:6px;height:6px;
  border-radius:50%;background:var(--orange)}
.offphint{margin:9px 0 0;font-size:12px;line-height:1.55;color:var(--mute)}
#offuebernehmen{margin-top:16px}


.offfehlt{display:none;margin-top:14px;padding-top:13px;border-top:1px dashed var(--line)}
.offfehlt.an{display:block}
.offfehlt h3{margin:0 0 5px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange-text);font-weight:400}
.offposfehlt span{color:var(--mute)}


.offlabtag{display:inline-block;margin-left:7px;padding:1px 6px;font-style:normal;
  font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--line);color:var(--mute);vertical-align:1px}

.offlabtag.offgv{color:var(--orange-text);border-color:var(--orange-text)}
.offzeile.offbio .offnametxt{color:var(--ink)}
.offzeile input:disabled{opacity:.4;cursor:not-allowed}



.offbox{position:sticky;top:96px;border:1px solid var(--line);border-radius:24px;
  background:#fff;overflow:hidden;box-shadow:0 20px 50px -34px rgba(108,40,3,.4)}
@media(max-width:1099px){.offbox{position:static}}

.offboxkopf{background:var(--ink);color:#fff;padding:17px 22px;border-top:3px solid var(--orange)}
.offboxkopf h2{margin:0;font-size:15px;letter-spacing:.04em;color:#fff}
.offboxkopf p{margin:3px 0 0;font-size:12px;color:#F0DFD2}
.offboxinh{padding:18px 22px 22px}

.offfeld{display:block;margin-bottom:12px}
.offfeld span{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute);margin-bottom:5px}
.offfeld input{width:100%;height:42px;padding:0 13px;border:1px solid var(--line);
  border-radius:11px;background:var(--paper);color:var(--ink);font:inherit;font-size:14.5px}
.offfeld input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:transparent}
.offpaar{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.offliste{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);
  max-height:290px;overflow-y:auto}
.offpos{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:6px 0;font-size:13.5px}
.offpos .offweg{border:0;background:transparent;color:var(--mute);cursor:pointer;
  font-size:15px;line-height:1;padding:0 0 0 6px}
.offpos .offweg:hover{color:var(--orange-text)}
.offpos b{font-weight:400;font-family:'Aboreto',Georgia,serif;white-space:nowrap}
.offkeine{font-size:13.5px;color:var(--mute);padding:6px 0 2px}

.offsumme{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin-top:15px;padding-top:14px;border-top:1px solid var(--ink)}
.offsumme span{font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.offsumme b{font-family:'Aboreto',Georgia,serif;font-size:26px;font-weight:400;white-space:nowrap}

.offknoepfe{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.offknoepfe .btn{font-size:13.5px;padding:11px 20px}
.offknoepfe .btn.line{border:1px solid var(--line);color:var(--ink)}
.offhint{margin-top:13px;font-size:11.5px;line-height:1.5;color:var(--mute)}


.offeigen{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.offeigen h3{margin:0 0 9px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute);font-weight:400}
.offeigzeile{display:grid;grid-template-columns:1fr 92px 30px;gap:7px;margin-bottom:7px}
.offeigzeile input{height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;
  background:var(--paper);color:var(--ink);font:inherit;font-size:13.5px;width:100%}
.offeigzeile input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:transparent}
.offeigzeile .offweg{border:1px solid var(--line);border-radius:10px;background:transparent;
  color:var(--mute);cursor:pointer;font-size:15px;line-height:1}
.offeigzeile .offweg:hover{color:var(--orange-text);border-color:var(--orange)}
.offplus{border:0;background:transparent;color:var(--orange-text);font:inherit;font-size:12.5px;
  cursor:pointer;padding:3px 2px;text-decoration:underline;text-underline-offset:3px}




.werkzeug .mbar,.werkzeug .wablase{display:none !important}

.offleiste{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;
  align-items:center;justify-content:space-between;gap:14px;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom));
  background:var(--ink);color:#fff;box-shadow:0 -12px 30px -20px rgba(0,0,0,.6)}
.offleiste b{font-family:'Aboreto',Georgia,serif;font-size:19px;font-weight:400}
.offleiste small{display:block;font-size:11px;opacity:.75}
.offleiste .btn{padding:9px 17px;font-size:13px}
@media(max-width:1099px){.offleiste.an{display:flex}}



@media(max-width:699px){
  .werkzeug .firstsec{padding-top:84px!important}
  .offeinfuegen{padding:14px 14px 16px;margin:14px 0 4px}
  .offeinfuegen h2{font-size:14.5px}
  .offeinfuegen textarea{min-height:112px;font-size:16px;padding:11px 12px}
  .offpknoepfe{gap:7px}
  .offpknoepfe .btn{flex:1 1 100%;text-align:center;padding:13px 16px}
  
  .offsuche input{height:46px;font-size:16px;padding:0 40px}
  .offkopf{padding:10px 0 8px}
  .offgkopf{padding:13px 4px}
  .offgkopf b{font-size:15.5px}
  .offzeile{grid-template-columns:22px 1fr;gap:0 10px;padding:10px 4px}
  .offname{font-size:14px}
  .offde{font-size:11px}
  
  .offpreis{grid-column:2;font-size:13.5px;margin-top:3px}
  .offpzeile{grid-template-columns:22px 1fr;gap:0 10px}
  .offppreis{grid-column:2;margin-top:3px}
  .offbox{border-radius:0;margin:0 -18px;box-shadow:none}
  .offboxkopf{padding:14px 18px}
  .offboxinh{padding:15px 18px 20px}
  .offliste{max-height:none}
  .offpaar{grid-template-columns:1fr}
  .offknoepfe .btn{flex:1 1 100%;text-align:center}
  .offeigzeile{grid-template-columns:1fr 78px 30px}
  .offleiste{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
}



.offblatt{display:none}

@media print{
  
  @page{margin:0}
  
  body > *{display:none !important}
  body > main,body > *:has(.offblatt){display:block !important;
    margin:0 !important;padding:0 !important}
  body > main > *:not(.offblatt),
  body > *:has(.offblatt) > *:not(.offblatt){display:none !important}
  .offblatt{display:block !important}
  
  html,body{background:#fff;color:#2A1206;margin:0;
    font-family:'Jost',system-ui,sans-serif;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  
  *{box-shadow:none !important;text-shadow:none !important}
  .offblatt tr,.offblatt .offunter,.offblatt .offfuss{break-inside:avoid;page-break-inside:avoid}
  
  .offblatt{display:block;padding:14mm 16mm 16mm}
  
  .offblatt thead th{padding-top:26px}

  
  .offblattkopf{display:flex;justify-content:space-between;align-items:flex-start;
    gap:20px;padding:16px 0 14px;border-top:3px solid #FF6F00;
    border-bottom:1px solid #E7DACA}
  .offblattkopf img{width:92px;height:auto}
  .offadr{text-align:right;font-size:9.5px;line-height:1.7;color:#7A6250;
    letter-spacing:.02em}

  
  .offbeye{margin:22px 0 0;font-size:9.5px;letter-spacing:.18em;
    text-transform:uppercase;color:#9B3102}
  .offbtitel{margin:6px 0 5px;font-family:'Aboreto',Georgia,serif;
    font-weight:400;font-size:27px;letter-spacing:.01em;color:#6C2803}
  
  .offblatt .offmeta{font-size:10.5px;color:#7A6250;margin:0}

  .offblatt table{width:100%;border-collapse:collapse;font-size:11px}
  
  .offblatt th{text-align:left;font-weight:500;padding:0 10px 8px 10px;
    border-bottom:1.5px solid #6C2803;font-size:9px;letter-spacing:.14em;
    text-transform:uppercase;color:#6C2803;vertical-align:bottom;
    background:linear-gradient(to top,#F2E9DB 26px,transparent 26px)}
  .offblatt th.r,.offblatt td.r{text-align:right}
  .offblatt td{padding:7.5px 10px;border-bottom:1px solid #F0E6D8;
    vertical-align:baseline;color:#3B2A1D}
  .offblatt td:nth-child(2){color:#A08A76;font-size:10px}
  .offblatt td.r{font-variant-numeric:tabular-nums;white-space:nowrap}
  .offblatt tr.grp td{padding-top:14px;border-bottom:0;font-weight:500;font-size:9px;
    letter-spacing:.14em;text-transform:uppercase;color:#9B3102}
  
  .offblatt tr.sub td{border-bottom:0;padding-top:4px;padding-bottom:2px;
    font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7A6250}
  .offblatt tr.sub td.r{font-variant-numeric:tabular-nums;font-size:10.5px;letter-spacing:0}
  .offblatt tr.sum td{border-bottom:0;padding:3px 10px 3px 0;font-size:10px;
    letter-spacing:.08em;text-transform:uppercase;color:#6C2803}
  .offblatt tr.sum td.r{font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:0}
  .offblatt tr.sum:first-of-type td{padding-top:14px}

  
  .offblatt tfoot td{padding-top:12px;border-top:1.5px solid #6C2803;border-bottom:0;
    font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6C2803}
  .offblatt tfoot td.r{font-family:'Aboreto',Georgia,serif;font-size:19px;
    letter-spacing:0;text-transform:none}

  
  .offblatt .offblattfehlt{margin-top:16px;padding:10px 12px;
    border:1px solid #E7DACA;border-left:3px solid #FF6F00;
    font-size:9.5px;line-height:1.65;color:#54453A}
  .offblatt .offblattfehlt:empty{display:none}
  .offblatt .offblattfehlt b{color:#9B3102;font-weight:500}

  .offblatt .offfuss{margin-top:20px;font-size:8.5px;line-height:1.7;color:#7A6250}
  .offblatt .offfuss b{color:#54453A;font-weight:600}
  .offblatt .offbest{margin-top:16px;padding:9px 12px;background:#FBF6EE;
    border:1px solid #E7DACA;font-size:9px;line-height:1.65;color:#54453A;
    break-inside:avoid;page-break-inside:avoid}
  .offblatt .offunter{margin-top:26px;display:flex;gap:44px;font-size:9px;
    letter-spacing:.06em;text-transform:uppercase;color:#7A6250}
  .offblatt .offunter div{flex:1;border-top:1px solid #C9B6A3;padding-top:6px}
}





.ortschalter{position:relative;flex:0 0 auto}
.oskopf{display:inline-flex;align-items:center;gap:8px;background:none;border:0;
  cursor:pointer;padding:8px 2px;font:inherit;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap}
.ospunkt{width:7px;height:7px;background:var(--orange);flex:0 0 auto}
.oskopf::after{content:'';width:6px;height:6px;margin-left:2px;
  border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.ortschalter.auf .oskopf::after{transform:translateY(1px) rotate(225deg)}


body.heroseite nav.top:not(.solid) .oskopf{color:#fff}

.osmenu{position:absolute;top:calc(100% + 10px);right:0;width:330px;max-width:86vw;
  background:var(--paper);border:1px solid var(--line);padding:18px;z-index:90;
  box-shadow:0 24px 60px rgba(40,18,4,.18);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s,transform .22s,visibility .22s}
.ortschalter.auf .osmenu{opacity:1;visibility:visible;transform:none}
.osfrage{margin:0 0 12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute)}
.osopt{display:block;width:100%;text-align:left;background:none;cursor:pointer;font:inherit;
  border:1px solid transparent;border-bottom-color:var(--line);padding:13px 12px;
  transition:background .2s,border-color .2s}
.osopt:last-of-type{border-bottom-color:transparent}
.osopt:hover,.osopt:focus-visible{background:var(--greige)}
.osopt[aria-checked="true"]{border-color:var(--orange);background:var(--greige)}
.osopt-n{display:block;font-size:15px;color:var(--ink);line-height:1.25}
.osopt-t{display:block;font-size:12.5px;color:var(--body);line-height:1.45;margin-top:5px}
.osalle{display:inline-block;margin-top:12px;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange-text)}


.mfuss .ortschalter{display:block;margin-bottom:14px}
.mfuss .oskopf{width:100%;justify-content:flex-start;padding:12px 0}
.mfuss .osmenu{top:auto;bottom:calc(100% + 10px);left:0;right:auto;width:100%}


@media(max-width:899px){nav.top .ortschalter{display:none}}
@media(min-width:1270px){.mfuss .ortschalter{display:none}}




.stsec{scroll-margin-top:132px}
.sthead{display:grid;grid-template-columns:1fr;gap:14px;align-items:end}
@media(min-width:900px){.sthead{grid-template-columns:1fr 1fr;gap:40px}}
.sthead h2{margin-top:12px}
.sthead .lead{font-size:16.5px;line-height:1.6;color:var(--body);max-width:52ch}

.stgal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;
  padding:0 14px}
@media(max-width:719px){.stgal{grid-template-columns:1fr 1fr;padding:0 12px;gap:10px}
  .stgal figure:nth-child(3){display:none}}
.stgal figure{margin:0;overflow:hidden;background:var(--sand);aspect-ratio:4/5}
.stgal img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.stgal figure:hover img{transform:scale(1.04)}

.stfakt{display:grid;grid-template-columns:1fr;gap:0;margin-top:38px;
  border-top:1px solid var(--line)}
@media(min-width:760px){.stfakt{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.stfakt{grid-template-columns:repeat(4,1fr)}}
.stfakt > div{border-bottom:1px solid var(--line);padding:20px 0;
  display:flex;flex-direction:column;gap:7px}
@media(min-width:760px){.stfakt > div{padding:22px 26px 22px 0}}
.stfakt b{font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute)}
.stfakt span{font-size:16px;line-height:1.55;color:var(--ink)}
.stfakt a{color:var(--orange-text);text-decoration:underline;text-underline-offset:3px}

.stcta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}



.pbuch{flex:0 0 auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--orange-text);border:1px solid var(--line);padding:7px 14px;
  white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.pbuch:hover,.pbuch:focus-visible{background:var(--orange);border-color:var(--orange);
  color:var(--auf-orange,#2A1206)}


.prow .amt{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.pbuch{min-width:104px;text-align:center}


@media(max-width:599px){
  .prow{flex-wrap:wrap;row-gap:10px}
  .prow .nm{flex:1 1 100%}
  .pbuch{margin-left:auto}
}


.pgroup > summary h2.pgt{font:inherit;letter-spacing:inherit;color:inherit;
  margin:0;flex:1}





.konto{flex:0 0 auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);white-space:nowrap;transition:color .2s}
.konto:hover,.konto:focus-visible{color:var(--orange-text)}
.mnebst .konto{margin-left:14px}
@media(max-width:899px){nav.top .konto{display:none}}
@media(min-width:1270px){.mnebst .konto{display:none}}


body.heroseite nav.top:not(.solid) .konto{color:rgba(255,255,255,.82)}
body.heroseite nav.top:not(.solid) .konto:hover{color:#fff}







.schrittsec{padding-top:56px}
section+.schrittsec{padding-top:0}
.thema-beige .tintsec+.schrittsec{padding-top:0}
.thema-beige .tintsec:has(+ .schrittsec){padding-bottom:56px}
section+.instasec{padding-top:82px}
@media(max-width:899px){.schrittsec{padding-top:38px}.thema-beige .tintsec:has(+ .schrittsec){padding-bottom:38px}section+.instasec{padding-top:52px}}
.band.schritt{padding:60px 28px 48px}
.band.schritt .eyebrow{margin-bottom:6px}
.band.schritt h2{margin-top:14px}
.band.schritt p{max-width:56ch}
.schrittnote{font-size:12.5px;letter-spacing:.04em;color:var(--mute) !important;margin-top:22px !important}
@media(max-width:599px){
  .band.schritt{padding:44px 20px 36px}
  .band.schritt .bandcta{flex-direction:column;align-items:stretch}
  .band.schritt .bandcta .btn{text-align:center}
}


.anfrage{margin-top:34px;border:1px solid var(--line);background:var(--paper);
  padding:30px 30px 32px;position:relative;scroll-margin-top:110px}
.anfrage::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--orange)}
.anfkopf h2{margin-top:10px;font-size:clamp(24px,3.2vw,34px)}
.anfhin{margin:14px 0 0;font-size:15.5px;line-height:1.6;color:var(--body);max-width:62ch}
.anfform{margin-top:26px}
.anffalle{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.anfgitter{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.anffeld{display:flex;flex-direction:column;gap:7px;min-width:0}
.anffeld.anfbreit{grid-column:1 / -1}
.anffeld[hidden]{display:none}
.anffeld>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.anffeld>span em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--mute);margin-left:6px}

.anfnote{grid-column:1 / -1;margin:0;font-size:13px;line-height:1.5;color:var(--mute)}
.anfnote:empty{display:none}
.anffeld input,.anffeld select,.anffeld textarea{width:100%;min-height:48px;padding:11px 14px;
  border:1px solid var(--line);background:var(--paper);color:var(--ink);
  font:inherit;font-size:15px;line-height:1.4}
.anffeld textarea{min-height:112px;resize:vertical}
.anffeld select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:linear-gradient(45deg,transparent 50%,var(--orange-text) 50%),
                   linear-gradient(135deg,var(--orange-text) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.anffeld input:focus,.anffeld select:focus,.anffeld textarea:focus{outline:2px solid var(--orange);
  outline-offset:1px;border-color:transparent}
.anffeld input[aria-invalid="true"],.anffeld select[aria-invalid="true"],
.anffeld textarea[aria-invalid="true"]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.anffeld input::placeholder,.anffeld textarea::placeholder{color:var(--mute)}
.anfzustimmung{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;
  margin-top:22px;font-size:13.5px;line-height:1.55;color:var(--body);cursor:pointer}
.anfzustimmung input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--orange);cursor:pointer}
.anfzustimmung a{color:var(--orange-text);text-decoration:underline;text-underline-offset:2px}
.anfzustimmung.fehlt span{color:var(--red)}
.anfknoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:24px}
.anfknoepfe .btn{cursor:pointer}
.anfknoepfe .btn[disabled]{opacity:.6;cursor:wait}
.anfoder{font-size:13px;color:var(--mute)}
.anfalt{font-size:13.5px;color:var(--orange-text);text-decoration:underline;text-underline-offset:3px}
.anfmeldung{margin:16px 0 0;font-size:14px;line-height:1.55;color:var(--red)}
.anfmeldung:empty{margin:0}
.anfmeldung.ruhig{color:var(--body)}
.anfdanke h3{margin-top:12px;font-size:clamp(22px,3vw,30px)}
.anfdanke p{margin-top:14px;font-size:15.5px;line-height:1.6;color:var(--body);max-width:62ch}
.anfdanke p a{color:var(--orange-text)}
.anfdanke .anfref{font-size:13px;color:var(--mute)}
.anfdanke .anfref b{font-weight:500;color:var(--ink);letter-spacing:.06em}
.anfdanke[hidden]{display:none}
@media(max-width:699px){
  .anfrage{padding:24px 18px 26px}
  .anfgitter{grid-template-columns:1fr;gap:14px}
  .anffeld input,.anffeld select,.anffeld textarea{font-size:16px}
  .anfknoepfe .btn{width:100%;text-align:center}
}

.anffeld input[type=date]{-webkit-appearance:none;appearance:none;min-width:0}
.anffeld input[type=date]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer}


.gesendet{max-width:640px;margin:0 auto;text-align:center}
.gesendet h1{margin-top:12px}
.gesendet p{margin-top:16px;font-size:16px;line-height:1.65;color:var(--body)}
.gesendet p a{color:var(--orange-text)}
.gesendet .anfref{font-size:13px;color:var(--mute)}
.gesendet .bandcta{margin-top:30px}





.hvkicker{display:block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.86);margin-bottom:18px}
@media(max-width:599px){.hvkicker{font-size:10.5px;letter-spacing:.2em;margin-bottom:14px}}
.hvzeile{max-width:17ch}



.hvinh .hvkicker{margin-bottom:-18px;font-size:13px;letter-spacing:.3em}
.hvmarke{margin:0;color:#fff;max-width:none;width:100%;text-shadow:none;line-height:1}
.hvmarke i,.hvmarke small{color:#fff}

.hvmarke i{letter-spacing:.03em}
.hvmarke small{margin-top:.1em}

.hvunter{font-family:'Jost',system-ui,sans-serif;font-weight:300;text-wrap:initial;
  font-size:clamp(17px,1.5vw,22px);line-height:1.45;letter-spacing:.05em;
  color:rgba(255,255,255,.94);max-width:40ch;margin-top:-6px}
@media(max-width:599px){
  .hvinh .hvkicker{margin-bottom:-4px}
  .hvmarke small{letter-spacing:.14em;text-indent:.14em}
  .hvunter{font-size:16px;margin-top:-2px;letter-spacing:.04em}
}
@media(max-height:700px) and (min-width:600px){
  .hvmarke i{font-size:clamp(64px,9vw,120px)}
  .hvmarke small{font-size:clamp(22px,3vw,40px)}
}



.hvvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity 1.1s ease}
.hvvideo.an{opacity:1}
.hvsec.bewegt .hvblasen{display:none}

.js .hvkicker,.js .hvunter,.js .hvknopf{opacity:0;transform:translateY(14px);
  animation:hvauf .9s cubic-bezier(.16,1,.3,1) forwards}
.js .hvkicker{animation-delay:.15s}
.js .hvunter{animation-delay:.95s}
.js .hvknopf{animation-delay:1.2s}
@keyframes hvauf{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js .hvkicker,.js .hvunter,.js .hvknopf{opacity:1;transform:none;animation:none}}



.rwkarte.rwweg{animation:rwraus .42s ease-in both}
.rwkarte.rwneu{animation:rwploop .75s cubic-bezier(.34,1.56,.64,1) both}
@keyframes rwraus{to{opacity:0;transform:scale(.88) translateY(8px)}}
@keyframes rwploop{0%{opacity:0;transform:scale(.8) translateY(18px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rwkarte.rwweg,.rwkarte.rwneu{animation:none}}



.bwfeld{color:var(--ink);padding-top:36px;
  background:linear-gradient(to top,rgba(255,249,242,.90) 0%,rgba(255,249,242,.84) 60%,rgba(255,249,242,0) 100%);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);
  -webkit-mask-image:linear-gradient(to top,#000 64%,transparent 100%);
  mask-image:linear-gradient(to top,#000 64%,transparent 100%)}
.bwtitel,.bwmehr{color:var(--ink)}
.bwnum{color:var(--orange-text)}
.bwwert,.bwkurz,.bwlang{color:#5A4636}
.bwkarte:hover .bwmehr{border-bottom-color:var(--ink)}


nav.top .navtel{font-size:12.5px;letter-spacing:.06em;color:var(--ink);white-space:nowrap;
  padding:8px 4px;text-decoration:none}
nav.top .navtel:hover{color:var(--orange-text)}
body.heroseite nav.top:not(.solid) .navtel{color:#fff}
@media(max-width:1099px){nav.top .navtel{display:none}}


@media(min-width:1400px){
  nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:14px;letter-spacing:.09em}
  .nav-links{gap:clamp(18px,1.6vw,34px)}
  .nav-in{gap:clamp(14px,1.2vw,24px)}
  .js .suchnav{width:clamp(200px,14vw,260px)}
  .js .suchnav .sfeld input{font-size:14px;padding:10px 0}
  .logo{font-size:23px}
  nav.top .navtel{font-size:13.5px}
  nav.top .btn.deskcta{font-size:13px;padding:15px 22px;letter-spacing:.12em}
  nav.top{padding:16px 0}
}

@media(min-width:1700px){
  nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:14.5px;letter-spacing:.1em}
  .nav-links{gap:clamp(20px,1.6vw,32px)}
  .js .suchnav{width:clamp(220px,14vw,260px)}
  .logo{font-size:24px}
  nav.top .btn.deskcta{padding:16px 22px}
}


@media(min-width:900px) and (max-width:999px){
  .nav-in{gap:11px}
  .nav-in .lang{margin-left:0}
  nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:11.5px;letter-spacing:.08em}
  nav.top .btn.deskcta{padding:13px 15px;letter-spacing:.09em}
}


.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;background:var(--orange);color:#fff;
  border-radius:8px;font-size:13px;letter-spacing:.06em;text-decoration:none;transition:top .15s}
.skip:focus{top:12px;outline:2px solid #fff;outline-offset:2px}
:focus-visible{outline-color:var(--orange-text)}
.mnav{visibility:hidden;transition:transform .36s cubic-bezier(.4,0,.2,1),visibility 0s .36s}
.mnav.on{visibility:visible;transition-delay:0s}
.kartesec .kartebox,.notrufsec .notruf{margin:0}


.navbald{white-space:nowrap;cursor:default;opacity:.85;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--body);padding-bottom:3px}
.mnav .mliste .navbald{display:block;font-family:'Aboreto',Georgia,serif;font-size:14.5px;letter-spacing:.04em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid rgba(247,237,228,.15);color:var(--mute);opacity:1}
.shkauf select{font:inherit;font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);max-width:170px}
.shfehler{font-size:13px;color:var(--orange-text);margin-top:8px}
.bald{display:inline-block;vertical-align:middle;padding:2px 6px;border-radius:999px;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;
  background:var(--orange);color:#fff;font-weight:600}
body.heroseite nav.top:not(.solid) .bald{background:#fff;color:var(--orange-text)}
.shbald{max-width:760px;margin:0 auto;text-align:center}
.shbald .lead{margin-top:12px}
.shkarte{display:flex;flex-direction:column;gap:12px;padding:22px!important}
.shkarte h3,.shkarte p{padding:0}
.shbild{aspect-ratio:4/3;border-radius:14px;border:1px dashed var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.shfuss{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.shpreis{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.shfuss .btn{padding:11px 16px;font-size:11px}


@media(min-width:900px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{min-width:0}
.plan .mpreis,.plan .mjahr,.plan .dlist li{overflow-wrap:anywhere}



.hvsec + section{margin-top:0;padding-top:82px}
#how .spur{margin-top:30px}
#how .spurpunkt b{font-size:19px}


.dots{gap:0;margin-top:13px}
.dot{width:24px;height:24px;background:none;display:grid;place-items:center;transition:none}
.dot::before{content:'';width:7px;height:7px;border-radius:50%!important;background:var(--line);transition:background .3s,transform .3s cubic-bezier(.16,1,.3,1)}
.dot.on{background:none}
.dot.on::before{background:var(--orange);transform:scaleX(3.43)}
@media(prefers-reduced-motion:reduce){.dot::before{transition:none}}





*,*::before,*::after{border-radius:0 !important}


.burger,.mzu,.wa,.wafloat,.rwrund,.arw,.iav,.iplay,
.dot,.dot.on,.pdots i,.stufen-punkte i,.ameta i,.legend i b,
.bmhead .dot2,.iicons::after,.laufin span::after,
.ospunkt,.vzpunkt,.vzpunkt::after,
.tzitat::before,.gbzitat::before,
.hvblasen i{border-radius:50% !important}


.btn,.mnav .mcta,.mbar .btn,.lang,.sfeld,
.oskopf,.osopt{border-radius:7px !important}
.lang span{border-radius:5px !important}


.lead{font-size:clamp(18px,1.9vw,25px);line-height:1.5}

.headnav .lead,.bahnkopf .lead,.sthead .lead,.shbald .lead,
.wlinks .lead,.gruenblock .lead{font-size:var(--t-text);line-height:1.55}
@media(max-width:899px){.lead{font-size:17.5px;line-height:1.55}}


h1,h2,h3,.bwtitel,.hvunter,.spurpunkt b{text-wrap:balance}
p,.lead,.head p,.dlist li{text-wrap:pretty}




.head h2::after,.center h2::after,.band h2::after{display:none}

.head h2+p,.center h2+p,.band h2+p{margin-top:18px}


.eyebrow{font-size:11.5px;letter-spacing:.3em;color:var(--mute);gap:9px}
.eyebrow::before{width:18px;height:1px}


section{padding:clamp(84px,8vw,132px) 0}
section+section{padding-top:clamp(52px,5vw,76px)}
.head{margin-bottom:clamp(44px,4.5vw,64px)}


@media(min-width:1100px){
  .head h2,.center h2,.band h2{font-size:clamp(48px,4.4vw,58px);
    line-height:1.06;letter-spacing:.005em}
  h1{letter-spacing:.015em}
}


.bwkarte:hover,.bwkarte:focus-visible{transform:translateY(-3px);
  box-shadow:0 16px 36px -28px rgba(108,40,3,.3)}

.bwbild img{--ruhe:1}
.bwkarte img[src*="hand-roehrchen"]{--ruhe:1.18}
.bwkarte img[src*="drei-flaschen"]{--ruhe:1.08}
.bwkarte img[src*="glp1-pen"]{--ruhe:1.12}
.bwkarte .bwbild img{transform:scale(var(--ruhe))}
.bwkarte:hover .bwbild img,.bwkarte:focus-visible .bwbild img{
  transform:scale(calc(var(--ruhe) * 1.045))}
.okarte,.lcard,.jcard,.tkarte,.kcard{box-shadow:none}
.okarte:hover,.lcard:hover,.jcard:hover{box-shadow:0 14px 32px -26px rgba(108,40,3,.28)}



@media(min-width:1100px){
  .head{display:grid;grid-template-columns:minmax(0,1fr);
    column-gap:clamp(40px,5vw,88px);text-align:left;
    max-width:none;width:100%;margin-inline:0}
  .head > div{text-align:left}
  .head .eyebrow{justify-content:flex-start}
  .head h2,.head h1{margin-top:14px}
  .head > p{margin:20px 0 0;max-width:46ch}
  
  .head:has(.headnav){grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:end}
  .head:has(.headnav) > div{padding-bottom:.4em}
  
  .head h1::after{margin-left:0;margin-right:auto}
}


.js .head.rv .eyebrow,.js .head.rv h1,.js .head.rv h2,.js .head.rv h3,
.js .head.rv > p,.js .head.rv .headcta{opacity:0;transform:translateY(14px)}
.js .head.rv.in .eyebrow,.js .head.rv.in h1,.js .head.rv.in h2,
.js .head.rv.in h3,.js .head.rv.in > p,.js .head.rv.in .headcta{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.js .head.rv.in h1,.js .head.rv.in h2,.js .head.rv.in h3{transition-delay:.1s}
.js .head.rv.in > p{transition-delay:.2s}
.js .head.rv.in .headcta{transition-delay:.28s}

.js .head.rv{opacity:1;transform:none}




.bwmehr,.tkarte .more,.lcard .more,.jbody .more{position:relative;border-bottom-color:transparent}
.bwmehr::after,.tkarte .more::after,.lcard .more::after,.jbody .more::after{
  content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;
  background:var(--orange);transform:scaleX(1);transform-origin:left center;
  transition:transform .45s cubic-bezier(.16,1,.3,1)}
.bwkarte:hover .bwmehr::after,.tkarte:hover .more::after,
.lcard:hover .more::after,.jcard:hover .more::after{transform:scaleX(0);
  transform-origin:right center}
.bwkarte:hover .bwmehr,.tkarte:hover .more,.lcard:hover .more,.jcard:hover .more{
  border-bottom-color:currentColor}

@media(prefers-reduced-motion:reduce){
  .js .head.rv .eyebrow,.js .head.rv h1,.js .head.rv h2,.js .head.rv h3,
  .js .head.rv > p,.js .head.rv .headcta,
  .js .jcard.rv .jimg img{opacity:1;transform:none;transition:none}
  .bwmehr::after,.tkarte .more::after,.lcard .more::after,.jbody .more::after{
    transition:none}
}




.bwkarte{aspect-ratio:auto;background:none;overflow:visible;
  display:grid;grid-template-rows:auto 1fr}

.bwkarte:hover,.bwkarte:focus-visible{transform:none;box-shadow:none}
.bwbild{position:relative;inset:auto;aspect-ratio:4/5;overflow:hidden;
  background:#3A1502}
.bwfeld{position:static;padding:18px 0 0;background:none;color:var(--ink);
  display:flex;flex-direction:column;align-items:flex-start;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  -webkit-mask-image:none;mask-image:none}

.bwmehr{margin-top:auto;padding-top:13px}
.bwnum{color:var(--mute);font-size:10.5px;letter-spacing:.26em;margin-bottom:10px}

.bwtitel{color:var(--ink);font-size:clamp(16.5px,1.32vw,21px);
  min-height:2.3em;transition:color .3s}
@media(max-width:599px){.bwtitel{min-height:0}}
.bwkurz{color:#5A4636;font-size:13.5px;margin-top:8px}
.bwkarte:hover .bwtitel,.bwkarte:focus-visible .bwtitel{color:var(--orange-text)}

@media(max-width:599px){
  .bwkurz{display:block;font-size:12.5px;margin-top:6px}
  .bwfeld{padding:13px 0 0}
  .bwnum{margin-bottom:7px}
}


.bwlang{position:absolute;left:0;right:0;top:0;aspect-ratio:4/5;
  display:flex;align-items:flex-end;margin:0;padding:22px 20px;
  color:#fff;font-size:13.5px;line-height:1.55;pointer-events:none;
  opacity:0;transition:opacity .45s ease;
  background:linear-gradient(to top,rgba(46,16,2,.94) 0%,rgba(46,16,2,.78) 62%,rgba(46,16,2,.58) 100%)}
.bwkarte:hover .bwlang,.bwkarte:focus-visible .bwlang{opacity:1;margin-top:0}
.bwgitter{gap:clamp(22px,2.2vw,34px) clamp(16px,1.6vw,24px)}


.js .bwkarte.rv .bwbild,.js .tkarte.rv .tbild,.js .okarte.rv .oimg{
  clip-path:inset(0 0 100% 0)}
.js .bwkarte.rv.in .bwbild,.js .tkarte.rv.in .tbild,.js .okarte.rv.in .oimg{
  clip-path:inset(0 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1) var(--verz,0ms)}





.headknopf{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;justify-content:flex-start}
.head + .headknopf{justify-content:center}
.head:has(+ .headknopf){margin-bottom:0}
@media(min-width:1100px){
  .head + .headknopf{justify-content:flex-start}
}
.headknopf .btn.line{border-color:rgba(42,18,6,.26);color:var(--ink);background:transparent}
.headknopf .btn.line:hover,.headknopf .btn.line:focus-visible{
  border-color:var(--orange);color:var(--orange-text);background:transparent}


.bwbild,.hsbild,.tbild,.oimg,.jimg,.gbild,.bkbild,.afig,.dart,
.gbbild,.kassebild,.ahero{position:relative}
.bwbild::after,.hsbild::after,.tbild::after,.oimg::after,.jimg::after,
.gbild::after,.bkbild::after,.afig::after,.dart::after,
.gbbild::after,.kassebild::after,.ahero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--beige);mix-blend-mode:darken}

.bwbild{background:var(--beige)}

.bwkarte img[src*="glp1-pen"]{background:none}


.bwlang{mix-blend-mode:normal;isolation:isolate}


@media(min-width:1100px){
  .tgrid.paar{max-width:1000px;margin-left:0;margin-right:auto;
    gap:clamp(22px,2.4vw,36px)}
}


@media(min-width:600px){
  .tgrid.vier{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1180px){
  .tgrid.vier{grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(16px,1.6vw,24px)}
  .tgrid.vier .tkarte h3{font-size:17px}
  .tgrid.vier .tkarte p{font-size:14px}
}


@media(min-width:1180px){
  .tgrid.vier{grid-template-rows:repeat(9,auto);
    row-gap:0;align-content:start}
  .tgrid.vier .tkarte{display:grid;grid-row:span 9;
    grid-template-rows:subgrid;align-content:start}
}

@media(min-width:600px) and (max-width:1179px){
  .tgrid.vier{grid-template-rows:repeat(18,auto);
    row-gap:0;align-content:start}
  .tgrid.vier .tkarte{display:grid;grid-row:span 9;
    grid-template-rows:subgrid;align-content:start}
  .tgrid.vier .tkarte:nth-child(n+3) .tbild{margin-top:34px}
}


.tkarte .tzitat{font-family:'Jost',system-ui,sans-serif;
  font-size:14px;line-height:1.6;color:var(--body);
  font-style:italic;letter-spacing:0}


.tphil-t{display:block;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange-text);margin:14px 0 6px}
.tphil-t.erst{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.tkarte p.tphil-p{margin:0}


.tkarte > p,.tkarte p.tphil-p{text-align:justify;
  -webkit-hyphens:auto;hyphens:auto}


nav.top{background:var(--paper);
  -webkit-backdrop-filter:none;backdrop-filter:none}
body.heroseite nav.top.solid{background:var(--paper);
  -webkit-backdrop-filter:none;backdrop-filter:none}


@media(min-width:900px){
  nav.top .wrap{max-width:1560px}
  nav.top .nav-links{flex:1 1 auto;justify-content:center;
    gap:clamp(18px,1.6vw,34px)}
}


.hvsec::after{content:"";position:absolute;left:50%;bottom:30px;z-index:2;
  width:1px;height:52px;transform-origin:top center;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.8));
  animation:hvspur 2.8s ease-in-out 2.2s infinite}
@keyframes hvspur{0%,100%{transform:scaleY(.3);opacity:.3}50%{transform:scaleY(1);opacity:.85}}
@media(max-width:599px){.hvsec::after{height:36px;bottom:20px}}

@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .hvbild{animation:hvtiefe linear both;animation-timeline:view();
      animation-range:exit 0% exit 100%;will-change:transform}
    .hvinh{animation:hvfort linear both;animation-timeline:view();
      animation-range:exit 0% exit 72%}
    .hvsec::after{animation:hvspur 2.8s ease-in-out 2.2s infinite,
      hvfort linear both;animation-timeline:auto,view();
      animation-range:normal,exit 0% exit 30%}
  }
}

@keyframes hvtiefe{from{transform:translateY(0)}to{transform:translateY(9%)}}
@keyframes hvfort{to{opacity:0;transform:translateY(-46px)}}


body.heroseite nav.top:not(.solid) .lang .off{color:rgba(255,255,255,.82)}
body.heroseite nav.top:not(.solid) .lang .off:hover,
body.heroseite nav.top:not(.solid) .lang .off:focus-visible{color:#fff}


body::after{content:"";position:fixed;inset:0;z-index:95;pointer-events:none;
  opacity:.03;background-repeat:repeat;background-size:200px 200px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23k)'/%3E%3C/svg%3E")}
@media print{body::after{display:none}}

@media(prefers-reduced-motion:reduce){
  .hvsec::after{animation:none;opacity:.5}
  .js .bwkarte.rv .bwbild,.js .tkarte.rv .tbild,.js .okarte.rv .oimg{clip-path:none}
}



:root{
  --buehne:#2A1206;        
  --buehne2:#3A1502;       
  --kachel:#F3EDE4;        
  --auf-dunkel:rgba(246,239,231,.74);
  --pille:300px;
}


.btn,.mnav .mcta,.mbar .btn,.lang,.sfeld,.oskopf,.osopt,
.headknopf .btn,.geist,.chip{border-radius:var(--pille) !important}
.lang span{border-radius:var(--pille) !important}


.bwkarte,.okarte,.lcard,.jcard,.tkarte,.kcard,.zahlkarte,.blickkarte,
.vzkarte,.prow,.offbox{box-shadow:none !important}
.bwkarte:hover,.okarte:hover,.lcard:hover,.jcard:hover{box-shadow:none !important}


@media(min-width:1100px){
  .head h1{font-size:clamp(44px,5.6vw,76px);
    line-height:.86;letter-spacing:.008em}
}
@media(min-width:1100px){
  body.heroseite .hvmarke i{font-size:clamp(96px,13vw,190px)}
}

.eyebrow{font-size:13.5px;letter-spacing:.16em}

.lead{font-size:clamp(19px,2vw,26px)}
.head p{font-size:clamp(17px,1.6vw,20px)}


.tintsec{background:var(--paper)}
.zahlsec,.schrittsec{background:var(--buehne);color:#fff;
  padding-top:clamp(84px,9vw,120px);padding-bottom:clamp(84px,9vw,120px)}
.zahlsec .eyebrow,.schrittsec .eyebrow{color:var(--orange-lt)}
.zahlsec h2,.schrittsec h2{color:#fff}
.zahlsec p,.schrittsec p{color:var(--auf-dunkel)}
.zahlsec .zahltxt{color:var(--auf-dunkel)}


.schrittsec .band{background:none;border:0;padding:0;color:#fff}

.schrittsec .band::before,.schrittsec .band::after{display:none}
.schrittsec .band h2{color:#fff}
.schrittsec .band p{color:var(--auf-dunkel)}
.schrittsec .band .btn.white{background:var(--orange);color:#fff}
.schrittsec .band .btn.white:hover{background:#E86200}
.schrittsec .band .btn.line{border-color:rgba(246,239,231,.45);color:#fff;background:transparent}
.schrittsec .band .btn.line:hover{border-color:var(--orange);color:var(--orange-lt);background:transparent}


.zahlsec .zahlgitter{gap:clamp(30px,4vw,64px);text-align:left}
@media(min-width:900px){.zahlsec .zahlgitter{grid-template-columns:repeat(3,1fr)}}

.zahlsec .zahlwert{font-size:clamp(48px,6.6vw,96px);line-height:.84;
  letter-spacing:.005em;color:var(--orange);white-space:nowrap}
.zahlsec .zahltxt{margin-top:18px;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;max-width:26ch;line-height:1.5}


:root{
  --dauer-schnell:120ms;
  --dauer-normal:200ms;
  --dauer-langsam:320ms;
  --kurve-rein:cubic-bezier(0,0,.2,1);
  --kurve-raus:cubic-bezier(.4,0,1,1);
  --kurve-wechsel:cubic-bezier(.4,0,.2,1);
}
.btn,.bwtitel,.bwmehr,.bwmehr::after,nav.top a,.lang a,
.tcard .more,.lcard .more,.jbody .more{
  transition-duration:var(--dauer-schnell) !important;
  transition-timing-function:var(--kurve-wechsel) !important}
.bwkarte .bwbild img,.bwlang,.okarte .oimg img{
  transition-duration:var(--dauer-langsam) !important;
  transition-timing-function:var(--kurve-rein) !important}

.btn:active,.headknopf .btn:active{transform:translateY(1px) scale(.985)}


@media(min-width:900px){
  .hvunter{font-size:clamp(19px,1.7vw,24px);max-width:44ch}
}
.hvknopf{padding:16px 34px;font-size:14px;letter-spacing:.1em}




.zeilmaske{display:block;overflow:hidden;padding-bottom:.08em}
.js .head.rv .zeilmaske > *,
.js .head.rv .zeilmaske{display:block}
.js .head.rv h1 .zeilmaske,.js .head.rv h2 .zeilmaske{
  transform:translateY(105%)}
.js .head.rv.in h1 .zeilmaske,.js .head.rv.in h2 .zeilmaske{
  transform:none;
  transition:transform .8s cubic-bezier(.16,1,.3,1) .06s}

.js .head.rv h1,.js .head.rv h2{opacity:1;transform:none}


@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference) and (min-width:900px){
    .hsbild img,.afig img,.dart img,.kassebild img{
      animation:mitzug linear both;animation-timeline:view();
      animation-range:entry 0% exit 100%}
  }
}
@keyframes mitzug{from{transform:translateY(-2.5%) scale(1.05)}
  to{transform:translateY(2.5%) scale(1.05)}}


.zahlkarte{opacity:1}
.js .zahlgitter.rv .zahlkarte{will-change:transform}


nav.top .nav-links a,nav.top .navdrop > a,.fuss a,.fusslink{
  position:relative}
nav.top .nav-links a::after,.fuss a::after{content:"";position:absolute;
  left:0;right:0;bottom:-3px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right center;
  transition:transform var(--dauer-schnell) var(--kurve-wechsel)}
nav.top .nav-links a:hover::after,nav.top .nav-links a:focus-visible::after,
.fuss a:hover::after,.fuss a:focus-visible::after{
  transform:scaleX(1);transform-origin:left center}

nav.top .nav-links a[aria-current]::after{transform:scaleX(1)}


.btn:active,.headknopf .btn:active,.bwkarte:active,.tkarte:active{
  transform:translateY(1px) scale(.988)}
.btn,.bwkarte,.tkarte{transition-property:transform,background-color,color,border-color,box-shadow}






.tintsec:not(.zahlsec):not(.schrittsec){background:var(--beige)}

.tintsec .kcard,.tintsec .okarte,.tintsec .lcard,.tintsec .jcard,

.tintsec:not(.zahlsec):not(.schrittsec) .vzkarte,
.tintsec:not(.zahlsec):not(.schrittsec) .blickkarte{background:var(--paper)}

.zahlsec .zahlkarte,.schrittsec .zahlkarte{background:none}
.tintsec .bwbild{background:var(--paper)}
.tintsec .bwbild::after{background:var(--paper)}


.eyebrow{color:var(--orange-text)}
.eyebrow::before{background:var(--orange)}
.zahlsec .eyebrow,.schrittsec .eyebrow,
body.heroseite .hvsec .eyebrow{color:var(--orange-lt)}


.js .suchmenu .sfeld,.offchip,.lchip{background:var(--paper)}

@media(prefers-reduced-motion:reduce){
  .btn:active,.headknopf .btn:active,.bwkarte:active,.tkarte:active{transform:none}
  .js .head.rv h1 .zeilmaske,.js .head.rv h2 .zeilmaske{transform:none}
  .bwbild img,.hsbild img,.tbild img,.oimg img,.afig img,.dart img{animation:none}
  nav.top .nav-links a::after,.fuss a::after{transition:none}
}





@media(min-width:900px){
  .hvinh{align-items:flex-start;text-align:left;justify-content:flex-end;
    gap:0;width:100%;max-width:1560px;margin:0 auto;
    padding:120px clamp(28px,5vw,88px) clamp(74px,7vw,104px)}
  
  .hvinh .hvkicker{margin-bottom:11px;font-size:11.5px;letter-spacing:.3em;
    color:rgba(255,255,255,.74)}
  
  .hvmarke{display:flex;flex-direction:row;align-items:baseline;
    gap:.26em;line-height:1;margin:0 0 24px}
  body.heroseite .hvmarke i,.hvmarke i{font-size:clamp(25px,2.1vw,34px);
    letter-spacing:.14em}
  .hvmarke small{display:inline-block;margin-top:0;text-indent:0;
    font-size:clamp(14px,1.15vw,19px);letter-spacing:.2em}
  
  .hvunter{font-size:20px;line-height:1.5;max-width:46ch;margin:0 0 30px}
  .hvknoepfe{align-self:flex-start}
  
  .hvsec::after{left:auto;right:clamp(28px,5vw,88px);transform:none}
}

@media(min-width:900px) and (max-height:760px){
  .hvgross{font-size:clamp(44px,5.4vw,74px)}
  .hvinh{padding-top:104px}
}

.js .hvunter{animation-delay:.72s}
.js .hvknopf{animation-delay:1.02s}





.bwfeld{position:relative;padding-top:17px;margin-top:17px}
.bwfeld::before{content:"";position:absolute;left:0;right:0;top:0;
  height:1px;background:var(--line)}
.bwfeld::after{content:"";position:absolute;left:0;top:0;height:1px;width:0;
  background:var(--orange);transition:width .34s cubic-bezier(.16,1,.3,1)}
.bwkarte:hover .bwfeld::after,.bwkarte:focus-visible .bwfeld::after{width:100%}
@media(max-width:599px){.bwfeld{padding-top:13px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){.bwfeld::after{transition:none}}



@supports (animation-timeline:scroll()){
  html::after{content:"";position:fixed;left:0;top:0;height:2px;width:100%;
    z-index:82;background:var(--orange);transform:scaleX(0);
    transform-origin:0 50%;animation:leseband linear both;
    animation-timeline:scroll(root block)}
  @keyframes leseband{to{transform:scaleX(1)}}
  @media(prefers-reduced-motion:reduce){html::after{display:none}}
  @media print{html::after{display:none}}
}



@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .js .lead:not(.hvunter),.js .head p{animation:leadauf linear both;
      animation-timeline:view();animation-range:entry 6% entry 46%}
    @keyframes leadauf{from{opacity:0;transform:translateY(20px)}
      to{opacity:1;transform:none}}
  }
}






.hvsec{background:#1B0A02}
.hvbild img,.hvbild picture,.hvvideo{opacity:.38;filter:saturate(.86)}
.hvvideo.an{opacity:.38}
.hvbild::after{background:
  linear-gradient(to bottom,rgba(16,6,1,.62) 0%,rgba(16,6,1,.22) 26%,rgba(16,6,1,0) 52%),
  linear-gradient(to top,rgba(16,6,1,.82) 0%,rgba(16,6,1,.46) 48%,rgba(16,6,1,.14) 100%)}

.hvblasen{opacity:.5}



.hvgross{font-family:'Aboreto',Georgia,serif;font-weight:400;
  text-transform:uppercase;color:#fff;margin:0 0 26px;
  font-size:clamp(42px,11vw,60px);line-height:.9;letter-spacing:-.005em}
.hvgross .maske{display:block;overflow:hidden;padding-bottom:.06em}
.hvgross .maske i{display:block;font-style:normal}
.hvgross .akz i{color:var(--orange)}
.js .hvgross .maske+.maske>*{transition-delay:.09s}
.js .hvgross .maske+.maske+.maske>*{transition-delay:.18s}
@media(min-width:900px){
  .hvgross{font-size:clamp(56px,8.4vw,120px);line-height:.88;
    letter-spacing:-.01em;margin-bottom:28px}
}

.hvmarke{display:flex;flex-direction:row;align-items:baseline;gap:.26em;
  line-height:1;margin:0 0 20px}


.hvknoepfe{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:899px){.hvknoepfe{justify-content:center}}
.btn.line.hvknopf2,.hvknopf2{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent}
.btn.line.hvknopf2:hover,.hvknopf2:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}



.tintsec:not(.zahlsec):not(.schrittsec){background:var(--beige)}
.bwkarte{background:var(--beige);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s ease}
.tintsec .bwkarte{background:var(--beige)}
.bwbild{aspect-ratio:4/3}
.bwbild,.bwbild::after{background:var(--beige)}

.bwfeld{position:static;padding:22px 22px 24px;margin-top:0;flex:1}
.bwfeld::before,.bwfeld::after{display:none}
@media(max-width:599px){.bwfeld{padding:17px 16px 19px}}


.bwtitel{text-transform:none;font-size:clamp(18px,1.5vw,22px);
  min-height:2.32em;letter-spacing:.005em}
@media(max-width:599px){.bwtitel{min-height:0}}
.bwkurz{font-size:15px;margin-top:8px;color:#5A4636}

.bwkarte{position:relative}
.bwnum{position:absolute;left:18px;top:18px;z-index:2;margin:0;
  background:rgba(42,18,6,.72);color:#fff;padding:8px 13px;
  font-size:11px;letter-spacing:.14em;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@media(max-width:599px){.bwnum{left:11px;top:11px;padding:6px 10px;font-size:10px}}

.bwkarte:hover,.bwkarte:focus-visible{transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.bwkarte:hover{transform:none}}

.bwlang{aspect-ratio:4/3}



.bwkarte,.bwbild,.bwlang,.kcard,.okarte,.lcard,.lcard .limg,.jcard,.jimg,
.vzkarte,.blickkarte,.zahlkarte,.tkarte,.tbild,.oimg,.gbild,.bkbild{
  border-radius:20px !important}
.bwkarte .bwbild{border-radius:20px 20px 0 0 !important}
.bwnum{border-radius:8px !important}





.head h2::after,.center h2::after{display:block;width:44px;height:2px;
  background:var(--orange);margin:22px auto 0}
.js .head h2::after,.js .center h2::after{transform:scaleX(0);
  transform-origin:50% 50%;transition:none}
.js .head.rv.in h2::after,.js .center.rv.in h2::after{transform:scaleX(1);
  transition:transform .66s cubic-bezier(.16,1,.3,1) .34s}
@media(min-width:1100px){
  .head h2::after{margin-left:0;margin-right:auto}
  .js .head h2::after{transform-origin:0 50%}
}
@media(prefers-reduced-motion:reduce){
  .js .head h2::after,.js .head.rv.in h2::after,
  .js .center h2::after,.js .center.rv.in h2::after{transform:none;transition:none}
}


.instasec .ibild{position:relative}
.instasec .iplay{position:absolute;left:50%;top:50%;z-index:2;margin:0;
  display:grid;place-items:center;width:52px;height:52px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  transform:translate(-50%,-50%) scale(1);
  transition:transform var(--dauer-schnell) var(--kurve-wechsel)}
.instasec .iplay::after{position:static;left:auto;top:auto;margin-left:3px}
.instasec .iplay::before{content:"";position:absolute;inset:-7px;
  border:1px solid var(--orange);border-radius:50% !important;
  opacity:0;transform:scale(.72);
  transition:opacity var(--dauer-normal) var(--kurve-wechsel),
             transform var(--dauer-normal) cubic-bezier(.34,1.56,.64,1)}
.instasec .ikarte:hover .iplay,
.instasec .ibild:focus-visible .iplay{transform:translate(-50%,-50%) scale(1.08)}
.instasec .ikarte:hover .iplay::before,
.instasec .ibild:focus-visible .iplay::before{opacity:1;transform:scale(1)}
.instasec .ibild:active .iplay{transform:translate(-50%,-50%) scale(.94)}
@media(prefers-reduced-motion:reduce){
  .instasec .iplay,.instasec .iplay::before{transition:none}
  .instasec .ikarte:hover .iplay,.instasec .ibild:focus-visible .iplay,
  .instasec .ibild:active .iplay{transform:translate(-50%,-50%)}
  .instasec .ikarte:hover .iplay::before,
  .instasec .ibild:focus-visible .iplay::before{opacity:1;transform:none}
}


@keyframes bwschild{from{opacity:0;transform:translateY(-8px) scale(.94)}
  to{opacity:1;transform:none}}
@keyframes bwzeile{from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}}
.js .bwgitter .bwkarte .bwnum,.js .bwgitter .bwkarte .bwtitel,
.js .bwgitter .bwkarte .bwkurz,.js .bwgitter .bwkarte .bwmehr{opacity:0}
.js .bwgitter .bwkarte.in .bwnum,.js .bwgitter .bwkarte.in .bwtitel,
.js .bwgitter .bwkarte.in .bwkurz,.js .bwgitter .bwkarte.in .bwmehr{
  animation-duration:.5s;animation-fill-mode:both}
.js .bwgitter .bwkarte.in .bwnum{animation-name:bwschild;
  animation-timing-function:cubic-bezier(.34,1.56,.64,1);
  animation-delay:calc(var(--verz,0ms) + .34s)}
.js .bwgitter .bwkarte.in .bwtitel{animation-name:bwzeile;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
  animation-delay:calc(var(--verz,0ms) + .42s)}
.js .bwgitter .bwkarte.in .bwkurz{animation-name:bwzeile;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
  animation-delay:calc(var(--verz,0ms) + .5s)}
.js .bwgitter .bwkarte.in .bwmehr{animation-name:bwzeile;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
  animation-delay:calc(var(--verz,0ms) + .58s)}
@media(prefers-reduced-motion:reduce){
  .js .bwgitter .bwkarte .bwnum,.js .bwgitter .bwkarte .bwtitel,
  .js .bwgitter .bwkarte .bwkurz,.js .bwgitter .bwkarte .bwmehr,
  .js .bwgitter .bwkarte.in .bwnum,.js .bwgitter .bwkarte.in .bwtitel,
  .js .bwgitter .bwkarte.in .bwkurz,.js .bwgitter .bwkarte.in .bwmehr{
    opacity:1;transform:none;animation:none}
}


.zahlsec .zahlkarte{position:relative;padding:26px 0 0}
.zahlsec .zahlkarte::before{content:"";position:absolute;left:0;right:0;top:0;
  height:1px;background:rgba(254,169,105,.42);transform-origin:0 50%}
.js .zahlgitter .zahlkarte::before{transform:scaleX(0)}
.js .zahlgitter .zahlkarte.in::before{transform:scaleX(1);
  transition:transform .8s cubic-bezier(.16,1,.3,1) var(--verz,0ms)}
.js .zahlgitter .zahlkarte .zahltxt{opacity:0;transform:translateY(10px)}
.js .zahlgitter .zahlkarte.in .zahltxt{opacity:1;transform:none;
  transition:opacity .45s var(--kurve-rein) calc(var(--verz,0ms) + .35s),
             transform .55s cubic-bezier(.16,1,.3,1) calc(var(--verz,0ms) + .35s)}
@media(prefers-reduced-motion:reduce){
  .js .zahlgitter .zahlkarte::before,
  .js .zahlgitter .zahlkarte.in::before{transform:none;transition:none}
  .js .zahlgitter .zahlkarte .zahltxt,
  .js .zahlgitter .zahlkarte.in .zahltxt{opacity:1;transform:none;transition:none}
}


.laufin{animation-duration:88s}
.laufin span{font-size:clamp(15px,1.5vw,20px);letter-spacing:.14em;
  color:var(--ink);opacity:.74;
  transition:opacity var(--dauer-schnell) var(--kurve-wechsel),
             transform var(--dauer-schnell) var(--kurve-wechsel)}
.laufin span:hover{opacity:1;transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){
  .laufin span{opacity:.86;transition:none}
  .laufin span:hover{transform:none}
}


.schrittsec{position:relative;overflow:hidden;isolation:isolate}
.schrittsec>.wrap{position:relative;z-index:1}
.schrittsec::before{content:"";position:absolute;left:50%;top:50%;z-index:0;
  width:min(980px,130%);aspect-ratio:1;border-radius:50% !important;
  pointer-events:none;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,111,0,.17),rgba(255,111,0,0) 66%);
  animation:schrittglut 56s ease-in-out infinite alternate}
@keyframes schrittglut{
  from{transform:translate(-50%,-50%) scale(1)}
  to{transform:translate(-53%,-45%) scale(1.16)}}
.js .band.schritt.rv{opacity:1;transform:none}
.js .band.schritt.rv .eyebrow,.js .band.schritt.rv h2,
.js .band.schritt.rv > p,.js .band.schritt.rv .bandcta{
  opacity:0;transform:translateY(14px)}
.js .band.schritt.rv.in .eyebrow,.js .band.schritt.rv.in h2,
.js .band.schritt.rv.in > p,.js .band.schritt.rv.in .bandcta{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.16,1,.3,1),
             transform .7s cubic-bezier(.16,1,.3,1)}
.js .band.schritt.rv.in h2{transition-delay:.1s}
.js .band.schritt.rv.in > p{transition-delay:.2s}
.js .band.schritt.rv.in .bandcta{transition-delay:.28s}
@media(prefers-reduced-motion:reduce){
  .schrittsec::before{animation:none}
  .js .band.schritt.rv .eyebrow,.js .band.schritt.rv h2,
  .js .band.schritt.rv > p,.js .band.schritt.rv .bandcta{
    opacity:1;transform:none;transition:none}
}


.gbbild,.kartebox,.notruf,.anfrage,.stgal figure,.buchbox,
.hsbild,.dart,.afig,.kassebild,.gbild,.hkarte{border-radius:20px !important}
.anfrage{overflow:hidden}

.knadel{border-radius:50% 50% 50% 0 !important}

.ksym{border-radius:50% !important}



@media(min-width:1100px){
  .head:has(> p){grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:end}
  
  .head:has(> p) > div{padding-bottom:.42em}
  .head:has(> p) > p{max-width:none;margin:0 0 .2em}
}





.js .hsplit .hsbild{animation:hsauf .8s cubic-bezier(.16,1,.3,1) .12s both}
@keyframes hsauf{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){
  .js .hsplit .hsbild{animation:none;clip-path:none}
}


body:has(#hub) .quote{background:var(--buehne);color:#fff;
  border-top:0;border-bottom:0;
  padding-top:clamp(74px,8vw,104px);padding-bottom:clamp(74px,8vw,104px)}
body:has(#hub) .quote .eyebrow{color:var(--orange-lt)}
body:has(#hub) .quote .qt{color:#fff;border-left-color:var(--orange);max-width:34ch}
body:has(#hub) .quote .qm{color:var(--auf-dunkel)}
body:has(#hub) .quote .dot::before{background:rgba(246,239,231,.34)}
body:has(#hub) .qtop{align-items:flex-end;padding-bottom:26px;
  border-bottom:1px solid rgba(246,239,231,.16)}
body:has(#hub) .qstars{color:var(--auf-dunkel);align-items:baseline;gap:13px}
body:has(#hub) .qstars b{font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:clamp(34px,4.4vw,56px);line-height:.9;color:var(--orange)}

body:has(#hub) .qstars .stars{position:relative;display:inline-block;
  letter-spacing:0;color:rgba(246,239,231,.24);
  font-size:clamp(19px,2.4vw,28px)}
body:has(#hub) .qstars .stars::after{
  content:"\002605\002605\002605\002605\002605";
  position:absolute;left:0;top:0;color:var(--orange);
  clip-path:inset(0 10% 0 0)}
.js body:has(#hub) .qtop.rv .stars::after{clip-path:inset(0 100% 0 0)}
.js body:has(#hub) .qtop.rv.in .stars::after{clip-path:inset(0 10% 0 0);
  transition:clip-path .9s cubic-bezier(.16,1,.3,1) .18s}
@media(prefers-reduced-motion:reduce){
  .js body:has(#hub) .qtop.rv .stars::after,
  .js body:has(#hub) .qtop.rv.in .stars::after{
    clip-path:inset(0 10% 0 0);transition:none}
}


.jcard{position:relative}
.jimg{position:relative;height:auto;aspect-ratio:4/3;overflow:hidden;
  border-radius:20px 20px 0 0 !important}
.jimg img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;transform:scale(1.02);
  transition:transform var(--dauer-langsam) var(--kurve-rein)}
.jcard:hover .jimg img,.jcard:focus-visible .jimg img{transform:scale(1.07)}
.jdate{margin-top:auto;padding-top:14px}
.jbody h3{margin-top:0}
.jbody .tag{position:absolute;left:14px;top:14px;z-index:2;
  padding:7px 12px;border-radius:8px !important;
  background:rgba(42,18,6,.72);color:#fff}
.js .jcard.rv .jbody .tag{opacity:0;transform:translateY(-8px)}
.js .jcard.rv.in .jbody .tag{opacity:1;transform:none;
  transition:opacity .24s var(--kurve-wechsel) .18s,
             transform .24s var(--kurve-wechsel) .18s}
.js .jcard.rv .jimg{clip-path:inset(0 0 100% 0)}
.js .jcard.rv.in .jimg{clip-path:inset(0 0 0 0);
  transition:clip-path .9s cubic-bezier(.16,1,.3,1) var(--verz,0ms)}

@media(min-width:600px) and (max-width:899px){
  .js .jgrid .jcard.rv:nth-child(2n){--verz:90ms}
}
@media(min-width:900px){
  .js .jgrid .jcard.rv:nth-child(3n+2){--verz:90ms}
  .js .jgrid .jcard.rv:nth-child(3n){--verz:180ms}
}
@media(prefers-reduced-motion:reduce){
  .js .jcard.rv .jimg{clip-path:none}
  .js .jcard.rv .jbody .tag{opacity:1;transform:none;transition:none}
  .jimg img{transform:none;transition:none}
  .jcard:hover .jimg img,.jcard:hover{transform:none}
}


.hkarte{position:relative;overflow:hidden}
.hkarte::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--orange);transform:scaleY(0);transform-origin:top center}
.js .hkarte.rv.in::before{transform:scaleY(1);
  transition:transform .6s cubic-bezier(.16,1,.3,1) calc(var(--verz,0ms) + 120ms)}
.hort{width:fit-content;background:var(--beige);
  border-radius:8px !important;padding:8px 13px}
@media(prefers-reduced-motion:reduce){.hkarte::before{transform:scaleY(1)}}


.sthead > div{overflow:hidden;padding-bottom:2px;margin-bottom:-2px}
.js .sthead.rv{opacity:1;transform:none}
.js .sthead.rv h2{transform:translateY(106%)}
.js .sthead.rv.in h2{transform:none;
  transition:transform .86s cubic-bezier(.16,1,.3,1) .06s}
.js .sthead.rv .eyebrow,.js .sthead.rv > .lead{opacity:0;transform:translateY(12px)}
.js .sthead.rv.in .eyebrow{opacity:1;transform:none;
  transition:opacity .5s cubic-bezier(.16,1,.3,1),
             transform .5s cubic-bezier(.16,1,.3,1)}
.js .sthead.rv.in > .lead{opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.16,1,.3,1) .18s,
             transform .7s cubic-bezier(.16,1,.3,1) .18s}
@media(prefers-reduced-motion:reduce){
  .js .sthead.rv h2,.js .sthead.rv .eyebrow,.js .sthead.rv > .lead{
    transform:none;opacity:1;transition:none}
}


.notruf{position:relative;padding-left:30px}
.js .notruf.rv{opacity:1;transform:none}
.js .notruf.rv::before{content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--orange);transform:scaleY(0);transform-origin:50% 0}
.js .notruf.rv.in::before{transform:scaleY(1);
  transition:transform .82s cubic-bezier(.16,1,.3,1) .1s}
.js .notruf.rv .ksym,.js .notruf.rv h3,
.js .notruf.rv .nummer,.js .notruf.rv p{opacity:0;transform:translateY(14px)}
.js .notruf.rv.in .ksym,.js .notruf.rv.in h3,
.js .notruf.rv.in .nummer,.js .notruf.rv.in p{opacity:1;transform:none;
  transition:opacity .56s ease,transform .56s cubic-bezier(.16,1,.3,1)}
.js .notruf.rv.in .ksym{transition-delay:.16s}
.js .notruf.rv.in h3{transition-delay:.24s}
.js .notruf.rv.in .nummer{transition-delay:.34s}
.js .notruf.rv.in p{transition-delay:.44s}
.notruf .nummer a{position:relative;border-bottom-color:transparent}
.notruf .nummer a::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:1px;background:var(--orange);transform-origin:0 100%;
  transition:transform var(--dauer-schnell) var(--kurve-wechsel)}
.notruf .nummer a:hover::after,
.notruf .nummer a:focus-visible::after{transform:scaleY(3)}
@media(prefers-reduced-motion:reduce){
  .js .notruf.rv::before{transform:scaleY(1)}
  .js .notruf.rv .ksym,.js .notruf.rv h3,
  .js .notruf.rv .nummer,.js .notruf.rv p{opacity:1;transform:none}
  .notruf .nummer a::after{transform:none}
}


.js .kartebox.rv .kartebild,
.js .kartebox.rv .karteschleier{clip-path:inset(0 0 100% 0)}
.js .kartebox.rv.in .kartebild,
.js .kartebox.rv.in .karteschleier{clip-path:inset(0 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1)}
.js .kartebox.rv .knadel{opacity:0;transform:translateY(-26px) rotate(-45deg)}
.js .kartebox.rv.in .knadel{opacity:1;transform:translateY(0) rotate(-45deg);
  transition:transform .58s cubic-bezier(.34,1.32,.64,1) .34s,
    opacity .24s linear .34s}
.js .kartebox.rv .kadr,.js .kartebox.rv .kbtn{opacity:0;transform:translateY(12px)}
.js .kartebox.rv.in .kadr{opacity:1;transform:none;
  transition:opacity .5s ease .5s,transform .5s cubic-bezier(.16,1,.3,1) .5s}
.js .kartebox.rv.in .kbtn{opacity:1;transform:none;
  transition:opacity .5s ease .56s,transform .5s cubic-bezier(.16,1,.3,1) .56s,
    background-color var(--dauer-schnell) var(--kurve-wechsel)}
.knadel{position:relative}
.knadel::after{content:"";position:absolute;inset:-11px;
  border:1px solid rgba(255,111,0,.55);border-radius:50% !important;
  transform:scale(.8);opacity:0;
  transition:transform var(--dauer-schnell) var(--kurve-wechsel),
    opacity var(--dauer-schnell) linear}
.kartenadel:hover .knadel::after,
.kartenadel:focus-visible .knadel::after{transform:scale(1);opacity:1}
@media(prefers-reduced-motion:reduce){
  .js .kartebox.rv .kartebild,.js .kartebox.rv .karteschleier,
  .js .kartebox.rv.in .kartebild,.js .kartebox.rv.in .karteschleier{clip-path:none}
  .js .kartebox.rv .kadr,.js .kartebox.rv .kbtn{opacity:1;transform:none}
  .js .kartebox.rv .knadel{opacity:1;transform:rotate(-45deg)}
}


.gband{
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 48px,
    #000 calc(100% - 48px),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 48px,
    #000 calc(100% - 48px),transparent 100%)}
@media(max-width:899px){
  .gband{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 20px,
      #000 calc(100% - 20px),transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 20px,
      #000 calc(100% - 20px),transparent 100%)}
}

.gband:focus-visible{-webkit-mask-image:none;mask-image:none}
.gbild img{border-radius:20px !important}
.gbild figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;z-index:1;
  padding:56px 16px 14px;border-radius:0 0 20px 20px !important;
  color:#fff;font-size:13px;line-height:1.45;pointer-events:none;
  background:linear-gradient(to top,rgba(42,18,6,.9) 0%,
    rgba(42,18,6,.52) 56%,rgba(42,18,6,0) 100%)}


.owkarte{overflow:hidden;
  transition:border-color var(--dauer-normal) var(--kurve-wechsel),
             background-color var(--dauer-normal) var(--kurve-wechsel),
             box-shadow var(--dauer-normal) var(--kurve-wechsel),
             translate var(--dauer-schnell) var(--kurve-wechsel)}
.owkarte:hover{translate:0 -3px}
.owkarte.an{background-color:rgba(255,111,0,.06)}
.owkarte.an::after{animation:owhaken var(--dauer-normal) cubic-bezier(.16,1,.3,1) both}
@keyframes owhaken{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.owkarte::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--orange);transform:scaleX(0);transform-origin:left center;
  transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.owkarte.an::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  .owkarte{transition:none}
  .owkarte:hover{translate:none}
  .owkarte.an::after{animation:none}
  .owkarte::before{transition:none}
}


.js .rv.stufig.in>*{animation:kartenauf .66s cubic-bezier(.16,1,.3,1) backwards}
.js .rv.stufig.in>*:nth-child(2){animation-delay:.08s}
.js .rv.stufig.in>*:nth-child(3){animation-delay:.16s}
.js .rv.stufig.in>*:nth-child(4){animation-delay:.24s}
.js .rv.stufig.in>*:nth-child(n+5){animation-delay:.3s}
@media(prefers-reduced-motion:reduce){.js .rv.stufig.in>*{animation:none}}


.shbild{position:relative;overflow:hidden;border-radius:20px !important;
  border:1px solid var(--line);background:var(--beige)}
.shbild span{position:relative;z-index:1}
.js .shbild::before{content:"";position:absolute;top:0;bottom:0;left:-32%;
  width:26%;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,rgba(255,255,255,0),
    rgba(255,255,255,.5),rgba(255,255,255,0))}
.js .shkarte.rv.in .shbild::before{
  animation:shglanz .9s cubic-bezier(.4,0,.2,1) 1 both;
  animation-delay:calc(var(--verz,0ms) + 140ms)}
@keyframes shglanz{from{opacity:0;transform:translateX(0)}
  28%{opacity:1}
  to{opacity:0;transform:translateX(520%)}}
@media(prefers-reduced-motion:reduce){
  .js .shkarte.rv.in .shbild::before{animation:none;opacity:0}}





.bwkarte{background:none;overflow:visible;position:relative;
  display:flex;flex-direction:column}

.bwbild{aspect-ratio:4/3;border-radius:20px !important;overflow:hidden;
  background:var(--beige)}

.bwfeld{position:relative;z-index:1;flex:1;
  margin:-30px 16px 0;padding:18px 18px 20px;
  background:var(--beige);border-radius:16px !important;
  border-top:0;transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.tintsec .bwfeld{background:var(--paper)}
.tintsec .bwbild{background:var(--paper)}
.tintsec .bwbild::after{background:var(--paper)}

.bwtitel{position:relative;display:inline-block;padding-bottom:9px;
  min-height:0;margin-bottom:2px}
.bwtitel::after{content:"";position:absolute;left:0;bottom:0;height:1px;
  width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:var(--orange);
  transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.bwkarte:hover .bwtitel::after,.bwkarte:focus-visible .bwtitel::after{
  transform:scaleX(1)}

@media(min-width:600px){.bwtitel{min-height:calc(2.3em + 9px)}}
.bwkurz{margin-top:6px}
.bwmehr{margin-top:auto;padding-top:14px}

.bwkarte:hover .bwfeld,.bwkarte:focus-visible .bwfeld{transform:translateY(2px)}
.bwkarte:hover,.bwkarte:focus-visible{transform:none}

.bwlang{aspect-ratio:4/3;border-radius:20px !important}
@media(max-width:599px){
  .bwfeld{margin:-24px 12px 0;padding:15px 15px 16px}
}
@media(prefers-reduced-motion:reduce){
  .bwfeld,.bwtitel::after{transition:none}
  .bwkarte:hover .bwfeld{transform:none}
  .bwkarte:hover .bwtitel::after{transform:scaleX(1)}
}

.bwnum{display:none}





.krumen:has(+ .ablaufsec),.ablaufsec{background:#fff}
.ablaufsec .bkachel,.ablaufsec .skachel,
.spurdu,.blicksec .blickkarte,.faqbox .faq{background:var(--beige)}

.spurwir{background:#fff}

.tintsec .grechts,.tintsec .faqbox .faq{background:var(--paper)}
.tintsec .faqbox .faq[open]{background:#fff}
.faqbox .faq[open]{background:#fff}

.ablaufsec .bkachel,.ablaufsec .skachel{border-color:transparent}
.ablaufsec .bkachel:hover,.ablaufsec .skachel:hover,
.ablaufsec .bkachel.an{border-color:var(--orange)}
.ablaufsec .bkbild{background:var(--beige)}


@media(min-width:900px){
  .gegenkopf{position:sticky;top:78px;z-index:3;background:var(--beige);
    padding:14px 0;margin:0}
  .gegen{margin-top:18px}
  .gegenzeile{transition:background-color var(--dauer-schnell) var(--kurve-wechsel)}
  .gegenzeile:hover{background:rgba(108,40,3,.035)}
}
.glinks{color:var(--mute)}
.js .gegen.rv .gfrage,.js .gegen.rv .glinks,.js .gegen.rv .grechts{
  opacity:0;transform:translateY(10px)}
.js .gegen.rv.in .gfrage,.js .gegen.rv.in .glinks,.js .gegen.rv.in .grechts{
  opacity:1;transform:none;
  transition:opacity .5s var(--kurve-rein),transform .5s var(--kurve-rein)}
.js .gegen.rv.in .glinks{transition-delay:60ms}
.js .gegen.rv.in .grechts{transition-delay:120ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .gfrage{transition-delay:90ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .glinks{transition-delay:150ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .grechts{transition-delay:210ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .gfrage{transition-delay:180ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .glinks{transition-delay:240ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .grechts{transition-delay:300ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .gfrage{transition-delay:270ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .glinks{transition-delay:330ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .grechts{transition-delay:390ms}
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .gfrage,
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .glinks,
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .grechts{transition-delay:420ms}
@media(prefers-reduced-motion:reduce){
  .js .gegen.rv .gfrage,.js .gegen.rv .glinks,.js .gegen.rv .grechts,
  .js .gegen.rv.in .gfrage,.js .gegen.rv.in .glinks,.js .gegen.rv.in .grechts{
    opacity:1;transform:none;transition:none;transition-delay:0s}
}


@supports (animation-timeline:view()){
  @media(min-width:900px) and (prefers-reduced-motion:no-preference){
    .spurlinie{overflow:hidden}
    .spurlinie i{height:100% !important;transform:scaleY(0);transform-origin:0 0;
      animation:spurfuellen linear both;
      animation-timeline:view(block);
      animation-range:contain 0% contain 100%}
    @keyframes spurfuellen{from{transform:scaleY(0)}to{transform:scaleY(1)}}
  }
}


.blickgitter{counter-reset:blick}
.blickkarte{counter-increment:blick}
.blickkarte summary::before{content:counter(blick,decimal-leading-zero);
  flex:none;width:22px;font-family:'Jost',system-ui,sans-serif;font-size:11px;
  letter-spacing:.12em;color:var(--orange-text);opacity:.75}
@media(min-width:521px){.blickinhalt{padding-left:86px}}
.blickkarte .ksym{
  transition:background-color var(--dauer-schnell) var(--kurve-wechsel),
             border-color var(--dauer-schnell) var(--kurve-wechsel)}
.blickkarte .ksym svg{transition:stroke var(--dauer-schnell) var(--kurve-wechsel)}
.blickkarte summary:hover .ksym,.blickkarte[open] .ksym{
  background:var(--orange);border-color:var(--orange)}
.blickkarte summary:hover .ksym svg,.blickkarte[open] .ksym svg{stroke:#fff}
.blickkarte summary i{transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.blickkarte{transition:border-color var(--dauer-normal) var(--kurve-wechsel),
  opacity var(--dauer-normal) var(--kurve-wechsel)}
.blickgitter:has(.blickkarte[open]) .blickkarte:not([open]):not(:hover){opacity:.72}
.blickkarte[open] .blickinhalt p{animation:blickauf .3s var(--kurve-rein) both}
@keyframes blickauf{from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .blickgitter:has(.blickkarte[open]) .blickkarte:not([open]):not(:hover){opacity:1}
  .blickkarte[open] .blickinhalt p{animation:none}
}





.js .rv{transform:translateY(16px)}


.dlist li{max-width:68ch}
@media(min-width:700px){
  .kgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
}


p,li,.lead,.head p,.dlist li,.bwkurz,.zahltxt,.kcard p,.jbody p,
.dsum,.wegtext,.blickinhalt p,figcaption{text-wrap:pretty}
.qt,.bwtitel,.wegtitel,.spurpunkt b,.zahlwert{text-wrap:balance}



.pbalken{display:block;height:2px;margin-top:7px;max-width:190px;
  background:var(--line);overflow:hidden}
.pbalken::after{content:"";display:block;height:100%;
  background:var(--orange-lt);transform-origin:0 50%;
  transform:scaleX(calc(var(--min,0) / var(--maxmin,90)))}

@media(prefers-reduced-motion:no-preference){
  .js .prow.rv:not(.in) .pbalken::after{transform:scaleX(0)}
  .js .prow .pbalken::after{
    transition:transform .72s cubic-bezier(.16,1,.3,1)}
}
@media(max-width:599px){.pbalken{max-width:none}}





:root{--rad:20px;--rad-klein:12px}
.ackarte,.prog,.plan,.dart,.kassebild,.hsbild,.ptable,.lcard,.vzkarte,
.buchbox,.offbox,.kartebox,.notruf,.anfrage{border-radius:var(--rad) !important}
.vzzeile,.vzchip,.vzpolice,.vzfeld,.vzkeine,.vzmarke{
  border-radius:var(--rad-klein) !important}

.pbuch{border-radius:var(--pille) !important}


.bwlang{opacity:1;clip-path:inset(100% 0 0 0);
  transition:clip-path var(--dauer-langsam) var(--kurve-rein)}
.bwkarte:hover .bwlang,.bwkarte:focus-visible .bwlang{
  opacity:1;clip-path:inset(0 0 0 0)}
.bwlang>span{transform:translateY(14px);
  transition:transform var(--dauer-langsam) var(--kurve-rein)}
.bwkarte:hover .bwlang>span,.bwkarte:focus-visible .bwlang>span{transform:none}
@media(prefers-reduced-motion:reduce){
  .bwlang{clip-path:none;opacity:0;transition:none}
  .bwkarte:hover .bwlang,.bwkarte:focus-visible .bwlang{clip-path:none;opacity:1}
  .bwlang>span{transform:none;transition:none}
}


.js .detail.rv{opacity:1;transform:none;transition:none}
.js .detail.rv:not(.in) .dart{clip-path:inset(0 100% 0 0 round 20px)}
.js .detail.flip.rv:not(.in) .dart{clip-path:inset(0 0 0 100% round 20px)}
.js .detail.rv.in .dart{clip-path:inset(0 0 0 0 round 20px);
  transition:clip-path 1s cubic-bezier(.16,1,.3,1) 80ms}
.js .detail.rv:not(.in) .dtxt{opacity:0;transform:translateX(18px)}
.js .detail.flip.rv:not(.in) .dtxt{transform:translateX(-18px)}
.js .detail.rv.in .dtxt{opacity:1;transform:none;
  transition:opacity .8s cubic-bezier(.16,1,.3,1) .22s,
    transform .9s cubic-bezier(.16,1,.3,1) .22s}
@media(max-width:899px){
  .js .detail.rv:not(.in) .dtxt,
  .js .detail.flip.rv:not(.in) .dtxt{transform:translateY(16px)}
}
@media(prefers-reduced-motion:reduce){
  .js .detail.rv:not(.in) .dart,.js .detail.rv.in .dart,
  .js .detail.flip.rv:not(.in) .dart{clip-path:none;transition:none}
  .js .detail.rv:not(.in) .dtxt,.js .detail.flip.rv:not(.in) .dtxt,
  .js .detail.rv.in .dtxt{opacity:1;transform:none;transition:none}
}


.bkbild::after{transition:opacity var(--dauer-normal) var(--kurve-wechsel)}
.bkachel.an .bkbild::after{inset:0;height:auto;background:var(--beige);opacity:0}
.bkbild{border-radius:20px 20px 0 0 !important}
.bkbild::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  z-index:2;pointer-events:none;background:var(--orange);
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.bkachel.an .bkbild::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  .bkbild::before,.bkbild::after{transition:none}
}


@media(prefers-reduced-motion:no-preference){
  .js .ablaufsec.firstsec .center h1{
    animation:titelauf .62s cubic-bezier(.16,1,.3,1) backwards}
  .js .ablaufsec.firstsec .bkachel{
    animation:kartenauf .56s cubic-bezier(.16,1,.3,1) backwards;
    animation-delay:calc(.16s + var(--k,0) * 50ms)}
  .js .ablaufsec.firstsec .bkachel:nth-child(2){--k:1}
  .js .ablaufsec.firstsec .bkachel:nth-child(3){--k:2}
  .js .ablaufsec.firstsec .bkachel:nth-child(4){--k:3}
  .js .ablaufsec.firstsec .bkachel:nth-child(5){--k:4}
  .js .ablaufsec.firstsec .bkachel:nth-child(6){--k:5}
  .js .ablaufsec.firstsec .bkachel:nth-child(7){--k:6}
}
@keyframes titelauf{
  from{opacity:0;transform:translateY(18px);clip-path:inset(100% 0 0 0)}
  to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}


.js .kassegrid.rv{opacity:1;transform:none;transition:none}
.js .kassegrid.rv .kassebild{clip-path:inset(0 0 100% 0)}
.js .kassegrid.rv.in .kassebild{clip-path:inset(0 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1)}
.js .kassegrid.rv .ackarte.kk{opacity:0}
.js .kassegrid.rv.in .ackarte.kk{opacity:1;
  animation:kkauf .6s var(--kurve-rein) backwards}
.js .kassegrid.rv.in .ackarte.kk:nth-child(2){animation-delay:.09s}
.js .kassegrid.rv.in .ackarte.kk:nth-child(3){animation-delay:.18s}
@keyframes kkauf{from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .js .kassegrid.rv .kassebild,
  .js .kassegrid.rv.in .kassebild{clip-path:none;transition:none}
  .js .kassegrid.rv .ackarte.kk{opacity:1}
  .js .kassegrid.rv.in .ackarte.kk{animation:none}
}


@media(min-width:760px){
  .tgrid.einzeln{max-width:760px}
  
  
  .tgrid.einzeln .tkarte{display:grid;
    grid-template-columns:minmax(0,300px) minmax(0,1fr);
    grid-template-rows:repeat(12,min-content);
    column-gap:clamp(24px,3vw,44px);row-gap:0;align-items:start}
  .tgrid.einzeln .tkarte > *{grid-column:2}
  .tgrid.einzeln .tkarte .tbild{grid-column:1;grid-row:1 / -1;align-self:start}
  .tgrid.einzeln .tkarte h3{margin-top:0}
}
@media(min-width:1100px){
  .tgrid.einzeln{max-width:1000px;margin-left:0;margin-right:auto}
  .tgrid.einzeln .tkarte{grid-template-columns:minmax(0,340px) minmax(0,520px)}
}


.zeiten div{position:relative;border-bottom:none;padding:9px 0 20px}
.zeiten div:nth-child(1){--von:0;--bis:1}
.zeiten div:nth-child(2){--von:.1111;--bis:.7778}
.zeiten div::before,.zeiten div::after{content:"";position:absolute;
  bottom:7px;height:3px;border-radius:3px !important;pointer-events:none}
.zeiten div::before{left:0;right:0;background:var(--line)}
.zeiten div::after{background:var(--orange);transform-origin:left center;
  left:calc(var(--von,0) * 100%);right:calc((1 - var(--bis,0)) * 100%);
  transition:transform .7s cubic-bezier(.16,1,.3,1) .2s}
.zeiten div:nth-child(2)::after{transition-delay:.32s}
.zeiten div:nth-child(3)::after{display:none}
.js .kgrid.rv:not(.in) .zeiten div::after{transform:scaleX(0);transition:none}
@media(prefers-reduced-motion:reduce){
  .js .kgrid.rv:not(.in) .zeiten div::after{transform:none}
  .zeiten div::after{transition:none}
}


.js .dlist li.rv svg{clip-path:inset(0 100% 0 0)}
.js .dlist li.rv.in svg{clip-path:inset(0 -6% 0 0);
  transition:clip-path .42s cubic-bezier(.33,1,.68,1)
    calc(var(--verz,0ms) + 180ms)}
@media(prefers-reduced-motion:reduce){
  .js .dlist li.rv svg,.js .dlist li.rv.in svg{clip-path:none;transition:none}
}


.js .zahlsec .zahlkarte.rv{transition:none}
.js .zahlsec .zahlkarte.rv.in{
  animation:messwertauf .68s cubic-bezier(.16,1,.3,1) backwards}
@keyframes messwertauf{from{opacity:0;transform:translateY(22px)}}
@media(min-width:700px){
  .js .zahlsec .zahlkarte.rv.in:nth-child(2){animation-delay:.12s}
  .js .zahlsec .zahlkarte.rv.in:nth-child(3){animation-delay:.24s}
}
@media(prefers-reduced-motion:reduce){
  .js .zahlsec .zahlkarte.rv.in{animation:none}
}


.ptable{overflow:clip}
.pgroup > summary{position:sticky;top:78px;z-index:2;cursor:pointer;
  background:var(--paper);
  transition:background-color var(--dauer-normal) var(--kurve-wechsel)}
.pgroup[open] > summary{background:var(--beige)}
@media(max-width:899px){.pgroup > summary{top:60px}}
@media(prefers-reduced-motion:reduce){.pgroup > summary{transition:none}}


#finder{background:var(--beige)}
#finder .vzkarte{background:var(--paper)}


@media(prefers-reduced-motion:no-preference){
  @keyframes proginh{from{opacity:0;transform:translateY(9px)}
    to{opacity:1;transform:none}}
  @keyframes proghaken{from{opacity:0;transform:scale(.5)}
    to{opacity:1;transform:none}}
  .prog[open]>.pinhalt>p,
  .prog[open]>.pinhalt>.penth,
  .prog[open]>.pinhalt>.pknopf{animation:proginh .28s var(--kurve-rein) both}
  .prog[open]>.pinhalt>.penth{animation-delay:.05s}
  .prog[open]>.pinhalt>.pknopf{animation-delay:.18s}
  .prog[open] .dlist li{animation:proginh .26s var(--kurve-rein) both;
    animation-delay:.06s}
  .prog[open] .dlist li:nth-child(2){animation-delay:.1s}
  .prog[open] .dlist li:nth-child(3){animation-delay:.14s}
  .prog[open] .dlist li:nth-child(4){animation-delay:.17s}
  .prog[open] .dlist li:nth-child(5){animation-delay:.2s}
  .prog[open] .dlist li:nth-child(n+6){animation-delay:.22s}
}
@media(prefers-reduced-motion:reduce){
  .prog[open]>.pinhalt>p,.prog[open]>.pinhalt>.penth,
  .prog[open]>.pinhalt>.pknopf,.prog[open] .dlist li{
    animation:none;opacity:1;transform:none}
}


.plan{box-shadow:none !important;position:relative}
.plan.empfohlen::before{content:"";position:absolute;left:24px;right:24px;top:0;
  height:3px;background:var(--orange);transform:scaleX(1);transform-origin:0 50%}
.js .plan.empfohlen::before{transform:scaleX(0);
  transition:transform .7s cubic-bezier(.16,1,.3,1) .1s}
.js .plan.empfohlen.rv.in::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  .js .plan.empfohlen::before{transform:scaleX(1) !important}
}


@media(min-width:900px){
  .kapnav a{position:relative}
  .kapnav a:hover,.kapnav a.aktiv{border-top-color:var(--line)}
  .kapnav a::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
    background:var(--orange);transform:scaleX(0);transform-origin:right center;
    transition:transform var(--dauer-schnell) var(--kurve-wechsel)}
  .kapnav a:hover::before{transform:scaleX(1);transform-origin:left center}
  .kapnav a.aktiv::before{transform:scaleX(1);transform-origin:left center;
    transition-duration:var(--dauer-normal)}
  .kapnav a.aktiv .kaptxt b{color:var(--orange-text)}
}
.js .wegsec .kapnav.rv{opacity:1;transform:none;transition:none}
.js .wegsec .kapnav.rv li{opacity:0;transform:translateY(14px);
  transition:opacity .58s var(--kurve-rein),transform .58s var(--kurve-rein)}
.js .wegsec .kapnav.rv.in li{opacity:1;transform:none}
.js .wegsec .kapnav.rv.in li:nth-child(2){transition-delay:.07s}
.js .wegsec .kapnav.rv.in li:nth-child(3){transition-delay:.14s}
.js .wegsec .kapnav.rv.in li:nth-child(4){transition-delay:.21s}
.js .wegsec .kapnav.rv.in li:nth-child(5){transition-delay:.28s}
@media(prefers-reduced-motion:reduce){
  .kapnav a::before{transition:none}
  .js .wegsec .kapnav.rv li{opacity:1;transform:none;transition:none}
}


.jtop .head .jcount{display:flex;align-items:baseline;gap:14px;
  margin:22px 0 0;max-width:max-content;
  font-size:13px;line-height:1.35;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute)}
.jtop .head .jcount .zahlwert{display:block;min-width:2ch;
  font-family:'Aboreto',Georgia,serif;
  font-size:clamp(26px,3vw,38px);line-height:.9;letter-spacing:0;
  color:var(--orange-text);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.jtop .head .jcount .jcounttxt{display:block;max-width:14ch}





@media(min-width:1100px){
  .wrap{max-width:clamp(1560px,84vw,2040px)}
  .hvinh{max-width:clamp(1560px,84vw,2040px)}
}


@media(min-width:1800px){
  body{font-size:18.5px}
  .lead{font-size:clamp(19px,2vw,28px)}
  .head p{font-size:clamp(17px,1.6vw,22px)}
  .bwkurz{font-size:16px}
  .bwtitel{font-size:clamp(18px,1.5vw,24px)}
  .head h1{font-size:clamp(48px,4.4vw,66px)}
  body.heroseite .hvgross,.hvgross{font-size:clamp(56px,8.4vw,140px)}
  .zahlsec .zahlwert{font-size:clamp(48px,6.6vw,110px)}
}
@media(min-width:2400px){
  body{font-size:19.5px}
  .lead{font-size:clamp(19px,2vw,30px)}
  .head p{font-size:clamp(17px,1.6vw,24px)}
  .bwkurz{font-size:17px}
  .bwtitel{font-size:clamp(18px,1.5vw,26px)}
  .head h1{font-size:clamp(48px,4.4vw,74px)}
  body.heroseite .hvgross,.hvgross{font-size:clamp(56px,8.4vw,160px)}
  .zahlsec .zahlwert{font-size:clamp(48px,6.6vw,124px)}
}


@media(min-width:900px) and (max-height:640px){
  .hvgross{font-size:clamp(30px,3.4vw,46px);margin-bottom:16px}
  .hvunter{font-size:17px;margin-bottom:18px}
  .hvinh{padding-top:92px;padding-bottom:44px}
  .hvmarke{margin-bottom:12px}
  .hvsec::after{display:none}
}





@keyframes kartenauf{from{opacity:0;transform:translateY(9px)}
  to{opacity:1;transform:none}}
@keyframes tafelauf{from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}}
@keyframes bwzeile{from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}}
@keyframes messwertauf{from{opacity:0;transform:translateY(12px)}}
@keyframes kkauf{from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}}
@keyframes titelauf{
  from{opacity:0;transform:translateY(10px);clip-path:inset(100% 0 0 0)}
  to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes hvauf{to{opacity:1;transform:none}}
.js .rv{transform:translateY(10px)}
.js .hvkicker,.js .hvunter,.js .hvknopf{transform:translateY(10px)}
.js .head.rv .eyebrow,.js .head.rv h1,.js .head.rv h2,.js .head.rv h3,
.js .head.rv > p,.js .head.rv .headcta,
.js .band.schritt.rv .eyebrow,.js .band.schritt.rv h2,
.js .band.schritt.rv > p,.js .band.schritt.rv .bandcta,
.js .notruf.rv .ksym,.js .notruf.rv h3,
.js .notruf.rv .nummer,.js .notruf.rv p,
.js .wegsec .kapnav.rv li,
.js .sthead.rv .eyebrow,.js .sthead.rv > .lead{transform:translateY(9px)}
.js .gegen.rv .gfrage,.js .gegen.rv .glinks,.js .gegen.rv .grechts,
.js .zahlgitter .zahlkarte .zahltxt,
.js .jcard.rv .jbody .tag{transform:translateY(7px)}
.js .kartebox.rv .kadr,.js .kartebox.rv .kbtn{transform:translateY(8px)}
.js .detail.rv:not(.in) .dtxt{transform:translateX(12px)}
.js .detail.flip.rv:not(.in) .dtxt{transform:translateX(-12px)}
@media(max-width:899px){
  .js .detail.rv:not(.in) .dtxt,
  .js .detail.flip.rv:not(.in) .dtxt{transform:translateY(10px)}
}


.js .bwgitter .bwkarte.in .bwnum{animation-timing-function:cubic-bezier(.16,1,.3,1)}
.js .spur.in .spnum{animation-timing-function:cubic-bezier(.16,1,.3,1)}
.rwkarte.rwneu{animation-timing-function:cubic-bezier(.16,1,.3,1)}
.instasec .iplay::before{
  transition:opacity var(--dauer-normal) var(--kurve-wechsel),
             transform var(--dauer-normal) cubic-bezier(.16,1,.3,1)}
.js .kartebox.rv.in .knadel{
  transition:transform .58s cubic-bezier(.16,1,.3,1) .34s,
    opacity .24s linear .34s}
.owkarte.an::after{animation-timing-function:cubic-bezier(.16,1,.3,1)}


.js .bwgitter .bwkarte.in .bwnum{animation-delay:calc(var(--verz,0ms) + .2s)}
.js .bwgitter .bwkarte.in .bwtitel{animation-delay:calc(var(--verz,0ms) + .26s)}
.js .bwgitter .bwkarte.in .bwkurz{animation-delay:calc(var(--verz,0ms) + .32s)}
.js .bwgitter .bwkarte.in .bwmehr{animation-delay:calc(var(--verz,0ms) + .38s)}

.js .band.schritt.rv.in h2{transition-delay:.07s}
.js .band.schritt.rv.in > p{transition-delay:.14s}
.js .band.schritt.rv.in .bandcta{transition-delay:.2s}
.js .notruf.rv.in .ksym{transition-delay:.1s}
.js .notruf.rv.in h3{transition-delay:.16s}
.js .notruf.rv.in .nummer{transition-delay:.22s}
.js .notruf.rv.in p{transition-delay:.28s}

.js .gegen.rv.in .glinks{transition-delay:40ms}
.js .gegen.rv.in .grechts{transition-delay:80ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .gfrage{transition-delay:60ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .glinks{transition-delay:100ms}
.js .gegen.rv.in .gegenzeile:nth-child(2) .grechts{transition-delay:140ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .gfrage{transition-delay:120ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .glinks{transition-delay:160ms}
.js .gegen.rv.in .gegenzeile:nth-child(3) .grechts{transition-delay:200ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .gfrage{transition-delay:180ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .glinks{transition-delay:220ms}
.js .gegen.rv.in .gegenzeile:nth-child(4) .grechts{transition-delay:260ms}
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .gfrage,
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .glinks,
.js .gegen.rv.in .gegenzeile:nth-child(n+5) .grechts{transition-delay:300ms}

.js .hvkicker{animation-delay:.1s}
.js .hvunter{animation-delay:.52s}
.js .hvknopf{animation-delay:.7s}
.js .hvgross .maske+.maske>*{transition-delay:.07s}
.js .hvgross .maske+.maske+.maske>*{transition-delay:.14s}


@keyframes mitzug{from{transform:translateY(-1.2%) scale(1.025)}
  to{transform:translateY(1.2%) scale(1.025)}}


.jcard:hover,.okarte:hover,.lcard:hover,.kcard:hover,.wkarte:hover,
.ackarte:hover,.tkarte:hover{transform:translateY(-2px)}
.owkarte:hover{translate:0 -2px}
@media(prefers-reduced-motion:reduce){
  .jcard:hover,.okarte:hover,.lcard:hover,.kcard:hover,.wkarte:hover,
  .ackarte:hover,.tkarte:hover{transform:none}
  .owkarte:hover{translate:none}
}


@keyframes leadauf{from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}}
.js .kartebox.rv .knadel{transform:translateY(-16px) rotate(-45deg)}
.bwlang>span{transform:translateY(10px)}





@media(min-width:900px){
  .js .spur.kurz.in::before{transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .spur.kurz .spurpunkt::after{content:"";position:absolute;z-index:0;
    left:50%;right:-50%;top:23px;height:1px;background:var(--orange);
    transform:scaleX(0);transform-origin:0 50%}
  .spur.kurz .spurpunkt:last-child::after{display:none}
  .js .spur.kurz.in .spurpunkt::after{transform:scaleX(1);
    transition:transform .32s linear calc(.6s + (var(--i) - 1) * .32s)}
}
@media(prefers-reduced-motion:reduce){
  .js .spur.kurz.in::before{transition:none}
  .spur.kurz .spurpunkt::after,
  .js .spur.kurz.in .spurpunkt::after{transform:scaleX(1);transition:none}
}
.spnum{border-radius:50% !important}


.js .ogrid:not(.vier) .okarte .oart{--stufe:calc(var(--verz,0ms) + 90ms)}
.js .ogrid:not(.vier) .okarte .ozeit{--stufe:calc(var(--verz,0ms) + 160ms)}
.js .ogrid:not(.vier) .okarte .oart,
.js .ogrid:not(.vier) .okarte .ozeit{opacity:0;transform:translateY(8px)}
.js .ogrid:not(.vier) .okarte.in .oart,
.js .ogrid:not(.vier) .okarte.in .ozeit{opacity:1;transform:none;
  transition:opacity .42s var(--kurve-rein) var(--stufe,0ms),
             transform .52s cubic-bezier(.16,1,.3,1) var(--stufe,0ms)}
.okarte .ozeit{position:relative}
.okarte .ozeit::after{content:"";position:absolute;left:0;top:-1px;
  width:100%;height:1px;background:var(--orange);
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.okarte:hover .ozeit::after,
.okarte:focus-visible .ozeit::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  .js .ogrid:not(.vier) .okarte .oart,
  .js .ogrid:not(.vier) .okarte .ozeit,
  .js .ogrid:not(.vier) .okarte.in .oart,
  .js .ogrid:not(.vier) .okarte.in .ozeit{opacity:1;transform:none;transition:none}
  .okarte .ozeit::after{transition:none}
}


.js .rwgrid.rv{opacity:1;transform:none;transition:none}
.rwgrid .rwkarte{--kette:0ms}
.rwgrid .rwkarte:nth-child(2){--kette:80ms}
.rwgrid .rwkarte:nth-child(3){--kette:160ms}
.rwgrid .rwkarte:nth-child(n+4){--kette:200ms}
.js .rwgrid.rv .rwkarte{opacity:0;transform:translateY(10px)}
.js .rwgrid.rv.in .rwkarte{opacity:1;transform:none;
  transition:opacity .55s var(--kurve-rein) var(--kette,0ms),
             transform .7s cubic-bezier(.16,1,.3,1) var(--kette,0ms),
             border-color .25s var(--kurve-wechsel)}
.rwgrid .rwkarte .rwsterne{align-self:flex-start}
.js .rwgrid.rv .rwkarte .rwsterne{clip-path:inset(0 100% 0 0)}
.js .rwgrid.rv.in .rwkarte .rwsterne{clip-path:inset(0 0 0 0);
  transition:clip-path .5s cubic-bezier(.16,1,.3,1) calc(var(--kette,0ms) + .24s)}
@media(prefers-reduced-motion:reduce){
  .js .rwgrid.rv .rwkarte,.js .rwgrid.rv.in .rwkarte{
    opacity:1;transform:none;transition:border-color .25s}
  .js .rwgrid.rv .rwkarte .rwsterne,
  .js .rwgrid.rv.in .rwkarte .rwsterne{clip-path:none;transition:none}
}


.js .tgrid > .tkarte.rv:nth-child(2){--verz:70ms}
.js .tgrid > .tkarte.rv:nth-child(3){--verz:140ms}
.js .tgrid > .tkarte.rv:nth-child(n+4){--verz:200ms}
.js .tkarte.rv h3,.js .tkarte.rv .trolle,
.js .tkarte.rv > p,.js .tkarte.rv .tquali{opacity:0;transform:translateY(8px)}
.js .tkarte.rv.in h3,.js .tkarte.rv.in .trolle,
.js .tkarte.rv.in > p,.js .tkarte.rv.in .tquali{opacity:1;transform:none;
  transition:opacity .45s var(--kurve-rein) calc(var(--verz,0ms) + var(--tv,0ms)),
             transform .55s cubic-bezier(.16,1,.3,1) calc(var(--verz,0ms) + var(--tv,0ms))}
.js .tkarte.rv.in h3{--tv:.3s}
.js .tkarte.rv.in .trolle{--tv:.36s}
.js .tkarte.rv.in > p{--tv:.42s}
.js .tkarte.rv.in .tquali{--tv:.48s}

.tkarte .tbild::after{opacity:1;
  transition:opacity var(--dauer-normal) var(--kurve-wechsel)}
.tkarte:hover .tbild::after,.tkarte:focus-within .tbild::after{opacity:.25}
@media(prefers-reduced-motion:reduce){
  .tkarte .tbild::after{transition:none}
  .js .tkarte.rv h3,.js .tkarte.rv .trolle,
  .js .tkarte.rv > p,.js .tkarte.rv .tquali,
  .js .tkarte.rv.in h3,.js .tkarte.rv.in .trolle,
  .js .tkarte.rv.in > p,.js .tkarte.rv.in .tquali{
    opacity:1;transform:none;transition:none}
}


.faq{position:relative}
.faq[open] .ans{animation:faqauf .22s cubic-bezier(0,0,.2,1) both}
@keyframes faqauf{
  from{opacity:0;transform:translateY(-6px);clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.faq::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--orange);transform:scaleY(0);transform-origin:top center;
  transition:transform var(--dauer-normal) var(--kurve-wechsel)}
.faq[open]::before{transform:scaleY(1)}
.faq summary i{width:30px;height:30px;display:grid;place-items:center;
  font-size:19px;border-radius:50% !important;background:var(--beige);
  border:1px solid var(--line);color:var(--orange-text);
  transition:transform .2s cubic-bezier(.16,1,.3,1),
             background-color var(--dauer-schnell) var(--kurve-wechsel),
             border-color var(--dauer-schnell) var(--kurve-wechsel),
             color var(--dauer-schnell) var(--kurve-wechsel)}
.faq summary:hover i{border-color:var(--orange)}
.faq[open] summary i{transform:rotate(45deg);background:var(--orange);
  border-color:var(--orange);color:#fff}
@media(prefers-reduced-motion:reduce){
  .faq[open] .ans{animation:none}
  .faq::before,.faq summary i{transition:none}
}


#railI .icard{animation:ikommt .5s cubic-bezier(.16,1,.3,1) backwards}
#railI .icard:nth-child(2){animation-delay:40ms}
#railI .icard:nth-child(3){animation-delay:80ms}
#railI .icard:nth-child(4){animation-delay:120ms}
#railI .icard:nth-child(n+5){animation-delay:160ms}
@keyframes ikommt{
  from{opacity:0;clip-path:inset(0 0 18% 0 round 20px)}
  to{opacity:1;clip-path:inset(0 0 0 0 round 20px)}}
@media(prefers-reduced-motion:reduce){
  #railI .icard{animation:none;opacity:1;clip-path:none}
}


.icard,.zkarte{perspective:900px}
.icard .ihinten,.zvorn,.zhinten{
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  transform-origin:50% 50%;
  transition:transform var(--dauer-normal) var(--kurve-wechsel),
    opacity 140ms var(--kurve-wechsel)}
.icard .ihinten{transform:rotateY(104deg)}
.zhinten{transform:rotateY(104deg)}
.zkarte[aria-pressed="true"] .zvorn{transform:rotateY(-104deg)}
.icard > :not(.ihinten):not(.isym){transition:opacity 140ms var(--kurve-wechsel)}
.icard .isym{transition:background .22s,border-color .22s,
  opacity 140ms var(--kurve-wechsel)}
@media(prefers-reduced-motion:reduce){
  .icard,.zkarte{perspective:none}
  .icard .ihinten,.zhinten{transform:none}
  .zkarte[aria-pressed="true"] .zvorn{transform:none}
}


.prog[open] .pinhalt{animation:progauf .24s var(--kurve-rein) both}
@keyframes progauf{
  from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-6px)}
  to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
.prog[open] .pinhalt .dlist li{
  animation:progzeile .2s var(--kurve-rein) both;animation-delay:60ms}
.prog[open] .pinhalt .dlist li:nth-child(2){animation-delay:80ms}
.prog[open] .pinhalt .dlist li:nth-child(3){animation-delay:100ms}
.prog[open] .pinhalt .dlist li:nth-child(4){animation-delay:120ms}
.prog[open] .pinhalt .dlist li:nth-child(n+5){animation-delay:140ms}
@keyframes progzeile{from{transform:translateY(6px)}to{transform:none}}
.prog > summary > i{transition:transform var(--dauer-normal) var(--kurve-wechsel)}
@media(prefers-reduced-motion:reduce){
  .prog[open] .pinhalt,.prog[open] .pinhalt .dlist li{animation:none}
  .prog > summary > i{transition:none}
}


.js .stgal.rv{opacity:1;transform:none;transition:none}
.js .stgal.rv figure{clip-path:inset(0 0 100% 0)}
.js .stgal.rv.in figure{clip-path:inset(0 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.16,1,.3,1)}
.js .stgal.rv.in figure:nth-child(2){transition-delay:.12s}
.js .stgal.rv.in figure:nth-child(3){transition-delay:.24s}
.stgal figure{position:relative}
@media(hover:hover){
  .stgal figure::after{content:"";position:absolute;inset:0;
    pointer-events:none;border:1px solid var(--orange);
    border-radius:inherit;opacity:0;
    transition:opacity var(--dauer-schnell) var(--kurve-wechsel)}
  .stgal figure:hover::after{opacity:1}
}
.stgal figure:hover img{transform:none}
@media(prefers-reduced-motion:reduce){
  .js .stgal.rv figure,.js .stgal.rv.in figure{clip-path:none}
  .js .stgal.rv.in figure:nth-child(2),
  .js .stgal.rv.in figure:nth-child(3){transition-delay:0s}
}


.js .kgrid.rv{opacity:1;transform:none;transition:none}
.js .kgrid.rv > *{opacity:0;transform:translateY(10px)}
.js .kgrid.rv.in > *{opacity:1;transform:none;
  transition:opacity .66s ease,
    transform .66s cubic-bezier(.16,1,.3,1),
    border-color var(--dauer-schnell) var(--kurve-wechsel),
    translate var(--dauer-schnell) var(--kurve-wechsel)}
.js .kgrid.rv.in > *:nth-child(2){transition-delay:.07s,.07s,0s,0s}
.js .kgrid.rv.in > *:nth-child(3){transition-delay:.14s,.14s,0s,0s}
.js .kgrid.rv .ksym svg{clip-path:inset(0 100% 0 0)}
.js .kgrid.rv.in .ksym svg{clip-path:inset(0 0 0 0);
  transition:clip-path .42s cubic-bezier(.16,1,.3,1) .18s,stroke .22s}
.js .kgrid.rv.in > *:nth-child(2) .ksym svg{transition-delay:.25s,0s}
.js .kgrid.rv.in > *:nth-child(3) .ksym svg{transition-delay:.32s,0s}
.kcard{transition:border-color var(--dauer-schnell) var(--kurve-wechsel),
  translate var(--dauer-schnell) var(--kurve-wechsel)}
.kcard:hover{border-color:var(--orange);translate:0 -2px}
@media(prefers-reduced-motion:reduce){
  .js .kgrid.rv > *,.js .kgrid.rv.in > *{opacity:1;transform:none}
  .js .kgrid.rv .ksym svg,.js .kgrid.rv.in .ksym svg{clip-path:none}
  .kcard:hover{translate:none}
}


.js .gruenblock .gbtext.rv{opacity:1;transform:none;transition:none}
.js .gruenblock .gbtext.rv > *{opacity:0;transform:translateY(10px)}
.js .gruenblock .gbtext.rv.in > *{opacity:1;transform:none;
  transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.js .gruenblock .gbtext.rv.in > *:nth-child(2){transition-delay:.07s}
.js .gruenblock .gbtext.rv.in > *:nth-child(3){transition-delay:.14s}
.js .gruenblock .gbtext.rv.in > *:nth-child(4){transition-delay:.2s}
.js .gruenblock .gbbilder.rv{opacity:1;transform:none;transition:none}
.js .gruenblock .gbbilder.rv .gbbild{clip-path:inset(0 0 100% 0)}
.js .gruenblock .gbbilder.rv.in .gbbild{clip-path:inset(0 0 0 0);
  transition:clip-path 1.1s cubic-bezier(.16,1,.3,1) .16s}
.js .gruenblock .gbbilder.rv .gbname{opacity:0;transform:translateY(9px)}
.js .gruenblock .gbbilder.rv.in .gbname{opacity:1;transform:none;
  transition:opacity .56s ease .66s,transform .56s cubic-bezier(.16,1,.3,1) .66s}
@media(prefers-reduced-motion:reduce){
  .js .gruenblock .gbtext.rv > *,
  .js .gruenblock .gbtext.rv.in > *,
  .js .gruenblock .gbbilder.rv .gbname,
  .js .gruenblock .gbbilder.rv.in .gbname{opacity:1;transform:none;transition:none}
  .js .gruenblock .gbbilder.rv .gbbild,
  .js .gruenblock .gbbilder.rv.in .gbbild{clip-path:none;transition:none}
}


.js .willkommen .wkmitte .eyebrow{animation:wkauf .7s cubic-bezier(.16,1,.3,1) both}
.js .willkommen .wkgruss{animation:wkauf .8s cubic-bezier(.16,1,.3,1) .08s both}
.js .willkommen .wklogo{animation:wkzeichen .9s cubic-bezier(.16,1,.3,1) .12s both}
.js .willkommen .wkmitte .lead{animation:wkauf .8s cubic-bezier(.16,1,.3,1) .24s both;
  animation-timeline:auto}
@keyframes wkauf{from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}}
@keyframes wkzeichen{from{opacity:0;transform:scale(.94)}
  to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .js .willkommen .wkmitte .eyebrow,.js .willkommen .wkgruss,
  .js .willkommen .wklogo,.js .willkommen .wkmitte .lead{animation:none}
}





.js .bwgitter .bwkarte .bwnum,.js .bwgitter .bwkarte .bwtitel,
.js .bwgitter .bwkarte .bwkurz,.js .bwgitter .bwkarte .bwmehr{opacity:1}
.js .bwgitter .bwkarte.rv:not(.in) .bwnum,
.js .bwgitter .bwkarte.rv:not(.in) .bwtitel,
.js .bwgitter .bwkarte.rv:not(.in) .bwkurz,
.js .bwgitter .bwkarte.rv:not(.in) .bwmehr{opacity:0}

.js .jcard.rv .jbody .tag{opacity:1;transform:none}
.js .jcard.rv:not(.in) .jbody .tag{opacity:0;transform:translateY(-7px)}

.js .ogrid:not(.vier) .okarte .oart,
.js .ogrid:not(.vier) .okarte .ozeit{opacity:1;transform:none}
.js .ogrid:not(.vier) .okarte.rv:not(.in) .oart,
.js .ogrid:not(.vier) .okarte.rv:not(.in) .ozeit{opacity:0;transform:translateY(8px)}

.js .rwgrid.rv .rwkarte{opacity:1;transform:none}
.js .rwgrid.rv:not(.in) .rwkarte{opacity:0;transform:translateY(10px)}
.js .rwgrid.rv .rwkarte .rwsterne{clip-path:none}
.js .rwgrid.rv:not(.in) .rwkarte .rwsterne{clip-path:inset(0 100% 0 0)}

.js .tkarte.rv h3,.js .tkarte.rv .trolle,
.js .tkarte.rv > p,.js .tkarte.rv .tquali{opacity:1;transform:none}
.js .tkarte.rv:not(.in) h3,.js .tkarte.rv:not(.in) .trolle,
.js .tkarte.rv:not(.in) > p,.js .tkarte.rv:not(.in) .tquali{
  opacity:0;transform:translateY(8px)}

.js .kgrid.rv > *{opacity:1;transform:none}
.js .kgrid.rv:not(.in) > *{opacity:0;transform:translateY(10px)}
.js .kgrid.rv .ksym svg{clip-path:none}
.js .kgrid.rv:not(.in) .ksym svg{clip-path:inset(0 100% 0 0)}

.js .gruenblock .gbtext.rv > *{opacity:1;transform:none}
.js .gruenblock .gbtext.rv:not(.in) > *{opacity:0;transform:translateY(10px)}
.js .gruenblock .gbbilder.rv .gbbild{clip-path:none}
.js .gruenblock .gbbilder.rv:not(.in) .gbbild{clip-path:inset(0 0 100% 0)}
.js .gruenblock .gbbilder.rv .gbname{opacity:1;transform:none}
.js .gruenblock .gbbilder.rv:not(.in) .gbname{opacity:0;transform:translateY(9px)}

.js .band.schritt.rv .eyebrow,.js .band.schritt.rv h2,
.js .band.schritt.rv > p,.js .band.schritt.rv .bandcta{opacity:1;transform:none}
.js .band.schritt.rv:not(.in) .eyebrow,.js .band.schritt.rv:not(.in) h2,
.js .band.schritt.rv:not(.in) > p,.js .band.schritt.rv:not(.in) .bandcta{
  opacity:0;transform:translateY(9px)}

.js .notruf.rv .ksym,.js .notruf.rv h3,
.js .notruf.rv .nummer,.js .notruf.rv p{opacity:1;transform:none}
.js .notruf.rv:not(.in) .ksym,.js .notruf.rv:not(.in) h3,
.js .notruf.rv:not(.in) .nummer,.js .notruf.rv:not(.in) p{
  opacity:0;transform:translateY(9px)}

.js .gegen.rv .gfrage,.js .gegen.rv .glinks,.js .gegen.rv .grechts{
  opacity:1;transform:none}
.js .gegen.rv:not(.in) .gfrage,.js .gegen.rv:not(.in) .glinks,
.js .gegen.rv:not(.in) .grechts{opacity:0;transform:translateY(7px)}

.js .wegsec .kapnav.rv li{opacity:1;transform:none}
.js .wegsec .kapnav.rv:not(.in) li{opacity:0;transform:translateY(9px)}

.js .sthead.rv h2{transform:none}
.js .sthead.rv:not(.in) h2{transform:translateY(106%)}
.js .sthead.rv .eyebrow,.js .sthead.rv > .lead{opacity:1;transform:none}
.js .sthead.rv:not(.in) .eyebrow,.js .sthead.rv:not(.in) > .lead{
  opacity:0;transform:translateY(9px)}

.js .stgal.rv figure{clip-path:none}
.js .stgal.rv:not(.in) figure{clip-path:inset(0 0 100% 0)}

.js .zahlgitter .zahlkarte .zahltxt{opacity:1;transform:none}
.js .zahlgitter .zahlkarte.rv:not(.in) .zahltxt{opacity:0;transform:translateY(7px)}
.js .zahlgitter .zahlkarte::before{transform:scaleX(1)}
.js .zahlgitter .zahlkarte.rv:not(.in)::before{transform:scaleX(0)}

.js .kassegrid.rv .kassebild{clip-path:none}
.js .kassegrid.rv:not(.in) .kassebild{clip-path:inset(0 0 100% 0)}
.js .kassegrid.rv .ackarte.kk{opacity:1}
.js .kassegrid.rv:not(.in) .ackarte.kk{opacity:0}

.js .kartebox.rv .kartebild,.js .kartebox.rv .karteschleier{clip-path:none}
.js .kartebox.rv:not(.in) .kartebild,
.js .kartebox.rv:not(.in) .karteschleier{clip-path:inset(0 0 100% 0)}
.js .kartebox.rv .knadel{opacity:1;transform:rotate(-45deg)}
.js .kartebox.rv:not(.in) .knadel{opacity:0;transform:translateY(-16px) rotate(-45deg)}
.js .kartebox.rv .kadr,.js .kartebox.rv .kbtn{opacity:1;transform:none}
.js .kartebox.rv:not(.in) .kadr,.js .kartebox.rv:not(.in) .kbtn{
  opacity:0;transform:translateY(8px)}

.js .dlist li.rv svg{clip-path:none}
.js .dlist li.rv:not(.in) svg{clip-path:inset(0 100% 0 0)}

.js .jcard.rv .jimg{clip-path:none}
.js .jcard.rv:not(.in) .jimg{clip-path:inset(0 0 100% 0)}

.js .bwkarte.rv .bwbild,.js .tkarte.rv .tbild,.js .okarte.rv .oimg{clip-path:none}
.js .bwkarte.rv:not(.in) .bwbild,.js .tkarte.rv:not(.in) .tbild,
.js .okarte.rv:not(.in) .oimg{clip-path:inset(0 0 100% 0)}


html:not(.js) .rv,html:not(.js) .rv *{opacity:1;transform:none;clip-path:none}





.bwlang{display:none !important}


.dtxt h3,.hszusatz h2,.pinhalt h3,.dbox h3,.wtext h3{
  position:relative;margin-top:clamp(30px,3vw,44px);padding-top:16px;
  font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:clamp(17px,1.5vw,21px);line-height:1.25;
  letter-spacing:.02em;color:var(--ink)}
.dtxt h3::before,.hszusatz h2::before,.pinhalt h3::before,
.dbox h3::before,.wtext h3::before{content:"";position:absolute;
  left:0;top:0;width:28px;height:2px;background:var(--orange)}
.dtxt > h3:first-child,.hszusatz > h2:first-child,
.pinhalt > h3:first-child{margin-top:0}


.dtxt p,.hszusatz p,.pinhalt > p,.dbox p,.wtext p{
  max-width:64ch;line-height:1.62}
.dtxt p + p,.hszusatz p + p,.pinhalt > p + p,.dbox p + p,.wtext p + p{
  margin-top:18px}
.dtxt h3 + p,.hszusatz h2 + p,.pinhalt h3 + p,.dbox h3 + p,.wtext h3 + p{
  margin-top:14px;font-size:clamp(16px,1.35vw,17.5px)}


@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference) and (min-width:900px){
    .dtxt h3,.hszusatz h2,.pinhalt h3,.dbox h3,.wtext h3{
      animation:zwischenauf linear both;
      animation-timeline:view();animation-range:entry 4% entry 38%}
    @keyframes zwischenauf{
      from{opacity:0;transform:translateY(8px)}
      to{opacity:1;transform:none}}
    .dtxt h3::before,.hszusatz h2::before,.pinhalt h3::before,
    .dbox h3::before,.wtext h3::before{
      animation:markeauf linear both;
      animation-timeline:view();animation-range:entry 4% entry 44%}
    @keyframes markeauf{from{transform:scaleX(0);transform-origin:0 50%}
      to{transform:scaleX(1);transform-origin:0 50%}}
  }
}


.hszusatz{margin-top:clamp(30px,3vw,44px);padding-top:26px}
@media(min-width:1100px){
  .hszusatz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:clamp(28px,3vw,48px);row-gap:0;align-items:start}
  .hszusatz > h2{margin-top:0}
  .hszusatz > h2:nth-of-type(1){grid-column:1;grid-row:1}
  .hszusatz > p:nth-of-type(1){grid-column:1;grid-row:2}
  .hszusatz > h2:nth-of-type(2){grid-column:2;grid-row:1}
  .hszusatz > p:nth-of-type(2){grid-column:2;grid-row:2}
  .hszusatz p{max-width:none}
  
  .hszusatz h2 + p{font-size:16px}
}





.bwkarte{position:relative;display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);
  border-radius:20px !important;overflow:hidden;
  transition:border-color var(--dauer-normal) var(--kurve-wechsel),
             translate var(--dauer-schnell) var(--kurve-wechsel)}

.bwbild{position:relative;inset:auto;display:block;
  aspect-ratio:4/3;overflow:hidden;margin:0;
  border-radius:0 !important;background:var(--beige)}
.tintsec .bwbild{background:var(--beige)}

.bwfeld{position:static;flex:1;display:flex;flex-direction:column;
  align-items:flex-start;margin:0;padding:20px 20px 22px;
  background:none;border:0;border-radius:0 !important;transform:none}
.tintsec .bwfeld{background:none}
.bwfeld::before,.bwfeld::after{display:none}
@media(max-width:599px){.bwfeld{padding:16px 15px 18px}}

.bwbild::before{content:"";position:absolute;left:0;right:0;bottom:0;
  height:1px;background:var(--line);z-index:2}


.bwkarte:hover,.bwkarte:focus-visible{border-color:var(--orange);
  translate:0 -2px;transform:none}
.bwkarte:hover .bwfeld,.bwkarte:focus-visible .bwfeld{transform:none}
@media(prefers-reduced-motion:reduce){
  .bwkarte{transition:border-color var(--dauer-normal) var(--kurve-wechsel)}
  .bwkarte:hover,.bwkarte:focus-visible{translate:none}
}


.bwtitel{display:block;padding-bottom:0;margin:0 0 10px;
  font-size:clamp(17px,1.4vw,21px);line-height:1.2}
@media(min-width:600px){.bwtitel{min-height:2.4em}}
@media(max-width:599px){.bwtitel{min-height:0}}

.bwtitel::after{display:none}
.bwkurz{margin:0;font-size:15px;line-height:1.55;color:#5A4636}
.bwmehr{margin-top:auto;padding-top:16px}





.suchknopf{display:grid;place-items:center;width:38px;height:38px;flex:none;
  border:1px solid var(--line);border-radius:50% !important;background:transparent;
  color:inherit;
  transition:border-color var(--dauer-schnell) var(--kurve-wechsel),
             background-color var(--dauer-schnell) var(--kurve-wechsel)}
.suchknopf svg{width:18px;height:18px}
.suchknopf:hover{border-color:var(--orange);background:rgba(255,111,0,.07)}
.suchknopf:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
body.heroseite nav.top:not(.solid) .suchknopf{border-color:rgba(255,255,255,.4);color:#fff}
body.heroseite nav.top:not(.solid) .suchknopf:hover{border-color:#fff;background:rgba(255,255,255,.12)}
@media(max-width:899px){.suchknopf{display:none}}


.suchlage{position:absolute;left:0;right:0;top:100%;z-index:6;
  background:var(--paper);border-bottom:1px solid var(--line);
  box-shadow:0 24px 48px -32px rgba(108,40,3,.4)}
.suchlage[hidden]{display:none}
.suchlage-in{display:flex;align-items:center;gap:16px;
  width:100%;max-width:clamp(1560px,84vw,2040px);margin:0 auto;
  padding:18px clamp(20px,4.2vw,80px)}
.suchlage .suchbox{flex:1;min-width:0}
.suchlage .sfeld{width:100%}
.suchlage .sfeld input{width:100%;font-size:18px}
.suchzu{flex:none;width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50% !important;background:transparent;
  font-size:22px;line-height:1;color:var(--ink);
  transition:border-color var(--dauer-schnell) var(--kurve-wechsel)}
.suchzu:hover{border-color:var(--orange)}
.suchzu:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

nav.top .nav-in > .suchbox{display:none}
@media(prefers-reduced-motion:no-preference){
  .suchlage{animation:suchauf .22s var(--kurve-rein) both}
  @keyframes suchauf{from{opacity:0;transform:translateY(-8px)}
    to{opacity:1;transform:none}}
}



nav.top{transition:padding .28s var(--kurve-wechsel),
  background-color .28s var(--kurve-wechsel),
  border-color .28s var(--kurve-wechsel)}
@media(min-width:900px){
  nav.top.solid{padding:8px 0;
    -webkit-backdrop-filter:saturate(1.1) blur(8px);
    backdrop-filter:saturate(1.1) blur(8px)}
  nav.top.solid .suchknopf,nav.top.solid .deskcta{transform:scale(.94)}
  nav.top.solid .logo{font-size:clamp(17px,1.5vw,20px)}
}
@media(prefers-reduced-motion:reduce){
  nav.top{transition:none}
  nav.top.solid .suchknopf,nav.top.solid .deskcta{transform:none}
  .suchlage{animation:none}
}


.qstars .stars{position:relative;display:inline-block;letter-spacing:0;
  color:rgba(108,40,3,.24)}
.qstars .stars::after{content:"\002605\002605\002605\002605\002605";
  position:absolute;left:0;top:0;color:var(--orange);
  clip-path:inset(0 10% 0 0)}

.zahlsec .qstars .stars,.schrittsec .qstars .stars,
body:has(#hub) .qstars .stars{color:rgba(246,239,231,.24)}

.js .rwtop.rv .stars::after,.js .qtop.rv .stars::after{clip-path:inset(0 100% 0 0)}
.js .rwtop.rv.in .stars::after,.js .qtop.rv.in .stars::after{clip-path:inset(0 10% 0 0);
  transition:clip-path .9s cubic-bezier(.16,1,.3,1) .18s}
@media(prefers-reduced-motion:reduce){
  .js .rwtop.rv .stars::after,.js .qtop.rv .stars::after,
  .js .rwtop.rv.in .stars::after,.js .qtop.rv.in .stars::after{
    clip-path:inset(0 10% 0 0);transition:none}
}


.dlist.weit{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:0;align-content:start;margin-top:8px}
.dlist.weit li{display:grid;grid-template-columns:auto minmax(0,1fr);
  align-items:start;gap:12px;margin:0;padding:16px 22px 18px 0;
  border-top:1px solid var(--line);
  font-size:15px;line-height:1.55;color:var(--body)}
.dlist.weit li svg{margin-top:4px;flex:none}
@media(max-width:599px){
  .dlist.weit li{padding:13px 0 14px;font-size:14.5px;gap:10px}
}

.js .dlist.weit li.rv svg{clip-path:inset(0 100% 0 0)}
.js .dlist.weit li.rv.in svg{clip-path:inset(0 -6% 0 0);
  transition:clip-path .42s cubic-bezier(.33,1,.68,1)
    calc(var(--verz,0ms) + 140ms)}
@media(prefers-reduced-motion:reduce){
  .js .dlist.weit li.rv svg,.js .dlist.weit li.rv.in svg{
    clip-path:none;transition:none}
}


.bandcta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;width:100%;max-width:560px;margin-left:auto;margin-right:auto}
.bandcta > .btn{width:100%;display:grid;place-items:center;
  padding-left:18px;padding-right:18px;text-align:center}

.bandcta:has(> .btn:only-child){grid-template-columns:minmax(0,max-content);
  justify-content:center}
@media(max-width:599px){
  .bandcta{grid-template-columns:minmax(0,1fr);max-width:360px}
}


.mknopf,.pknopf{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;
  width:100%;margin-top:18px}
.mknopf > .btn,.pknopf > .btn{width:100%;display:grid;place-items:center;
  padding-left:18px;padding-right:18px;text-align:center}


@media(min-width:900px){
  .fgrid{grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(24px,3vw,56px)}
  .imprint{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
    gap:clamp(24px,3vw,56px);align-items:start}
}
.fmarke .fpraxis{font-size:16px;line-height:1.5;max-width:30ch}
.fmarke .fklein{margin-top:10px;font-size:13px;line-height:1.55;
  color:var(--taupe);max-width:34ch}

.fmarke .fsocial{margin-top:16px;display:flex;gap:18px;
  text-transform:none;letter-spacing:0;font-size:14.5px}
.fmarke .fsocial a{border-bottom:1px solid rgba(228,226,218,.35);
  padding-bottom:2px;
  transition:border-color var(--dauer-schnell) var(--kurve-wechsel)}
.fmarke .fsocial a:hover{border-bottom-color:var(--orange)}

.imprint{margin-top:clamp(30px,3vw,44px);padding-top:clamp(28px,3vw,40px)}
.fbot{margin-top:clamp(26px,2.6vw,38px);padding-top:clamp(22px,2.4vw,32px);
  align-items:center}


@media(min-width:600px){
  .fbot{padding-right:96px}
}
@media(max-width:599px){
  .fbot{padding-bottom:64px}
}




@media(min-width:900px){
  body.heroseite .hvmarke i,.hvmarke i{font-size:clamp(34px,3vw,46px)}
  .hvmarke small{font-size:clamp(18px,1.5vw,25px)}
  .hvmarke{margin-bottom:28px}
}


#how{padding-top:clamp(40px,4.4vw,56px);padding-bottom:clamp(34px,3.8vw,46px)}
#how .spur{margin-top:clamp(20px,2.4vw,28px)}
#how .spur.kurz .spnum{width:64px;height:64px;font-size:25px}
@media(min-width:900px){#how .spur.kurz::before{top:32px}}
#how .spur.kurz .spurpunkt b{font-size:clamp(24px,2.2vw,30px);margin-top:18px}
#how .mitte{margin-top:clamp(22px,2.4vw,30px) !important}
@media(max-width:899px){
  #how .spur.kurz .spnum{width:54px;height:54px;font-size:21px}
  #how .spur.kurz .spurpunkt b{font-size:24px}
}


#numbers{padding-top:clamp(44px,4.6vw,60px);padding-bottom:clamp(44px,4.6vw,60px)}
#numbers .zahltxt{margin-top:12px}


@media(min-width:900px){
  #team .mitte{text-align:left;margin-left:0}
}


#favourites .okarte .ozeit{color:var(--mute)}
#favourites .okarte .oart{color:var(--mute)}


.btn:not(.line):not(.ghost):not(.white):not(.green):hover,
.btn:not(.line):not(.ghost):not(.white):not(.green):focus-visible{
  background:#C75400;color:#FFF9F2}

.btn.line:hover,.btn.ghost:hover{border-color:var(--orange)}


footer .fgrid a,footer .imprint a,footer .imprint p,footer .fzeile{
  font-size:14.5px;line-height:1.62}
footer .fgrid a{color:#EFEEE8}
.fmarke .fklein{font-size:13.5px;line-height:1.6}
footer .fkopf{font-size:12px}


section+.schrittsec{padding-top:clamp(56px,5.6vw,76px)}
.schrittsec{padding-bottom:clamp(56px,5.6vw,76px)}
section:has(+ .schrittsec){padding-bottom:clamp(30px,3.4vw,44px)}
@media(max-width:899px){
  section+.schrittsec{padding-top:44px}
  .schrittsec{padding-bottom:44px}
}


.pgroup > summary{background:var(--beige)}
.pgroup + .pgroup > summary{border-top:1px solid var(--line)}
.pgroup[open] > summary{background:var(--beige);
  box-shadow:inset 3px 0 0 var(--orange)}
.pgroup[open]{background:var(--paper);
  border-bottom:1px solid var(--line)}
.pgroup[open] .prow{background:var(--paper)}


body:has(#hub) .quote{background:var(--paper);color:var(--body);
  border-top:1px solid var(--line);border-bottom:0}
body:has(#hub) .quote .eyebrow{color:var(--orange-text)}
body:has(#hub) .quote .qt{color:var(--ink);border-left-color:var(--orange)}
body:has(#hub) .quote .qm{color:var(--body)}
body:has(#hub) .quote .dot::before{background:rgba(42,18,6,.28)}
body:has(#hub) .qtop{border-bottom-color:var(--line)}
body:has(#hub) .qstars{color:var(--body)}
body:has(#hub) .qstars .stars{color:rgba(108,40,3,.24)}


@media(min-width:1100px){
  #how .wrap{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1.5fr);
    column-gap:clamp(40px,5vw,84px);row-gap:20px;align-items:center}
  #how .head{grid-column:1;grid-row:1;margin-bottom:0}
  #how .spur{grid-column:2;grid-row:1 / span 2;margin-top:0;align-self:center}
  #how .mitte{grid-column:1;grid-row:2;margin-top:0 !important;text-align:left}
}

@media(max-width:1099px){
  #how .head{margin-bottom:clamp(24px,3vw,34px)}
  #how .mitte{margin-top:24px !important}
}
#how{padding-top:clamp(40px,4.2vw,52px);padding-bottom:clamp(36px,3.8vw,46px)}


#numbers{padding-top:clamp(36px,3.8vw,48px);padding-bottom:clamp(36px,3.8vw,48px)}

body:has(#hub) .quote .qt{max-width:52ch}


@media(max-width:599px){
  .hvgross{font-size:clamp(30px,8.6vw,38px);line-height:.98;margin-bottom:20px}
  .hvsec{height:100svh;min-height:560px}
}
@media(min-width:600px) and (max-width:899px){
  .hvgross{font-size:clamp(38px,7.4vw,56px);line-height:.94}
}




#services .bwkurz,#hub .bwkurz{display:none}
#services .bwfeld,#hub .bwfeld{padding:18px 20px 20px;gap:0;justify-content:flex-start}
#services .bwtitel,#hub .bwtitel{margin:0}
#services .bwmehr,#hub .bwmehr{margin-top:12px}


.okarte.mitbuchung{display:flex;flex-direction:column}
.okarte.mitbuchung .obody{flex:1;display:flex;flex-direction:column}
.okarte.mitbuchung h3 a{color:inherit}
.okarte.mitbuchung h3 a:hover{color:var(--orange-text)}
.okarte.mitbuchung .oimg{display:block}
.ofuss{margin-top:auto;padding-top:16px;display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-top:1px solid var(--line)}
.ofuss .ozeit{margin:0;padding:0;border:0}
.obuch{padding:11px 18px;font-size:11.5px;white-space:nowrap}


.zahlsec .zahlkarte::before{display:none}
.zahlsec .zahlgitter:has(.zahlkarte:only-child){
  grid-template-columns:minmax(0,max-content);justify-content:center;text-align:center}
.zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlkarte{padding-top:0}



@media(min-width:900px){
  .hvinh{align-items:center;text-align:center}
  .hvinh .hvmarke{justify-content:center}
  .hvinh .hvknoepfe{justify-content:center;align-self:center}
  .hvinh .hvsatz{margin-left:auto;margin-right:auto}
  
  .hvsec::after{left:50%;right:auto;transform:translateX(-50%)}
}
.hvinh .hvsatz{font-size:clamp(21px,3.3vw,46px)}
@media(min-width:900px){.hvinh .hvsatz{font-size:clamp(26px,2.9vw,46px)}}
@media(min-width:1800px){.hvinh .hvsatz{font-size:52px}}
@media(min-width:2400px){.hvinh .hvsatz{font-size:58px}}
@media(max-width:599px){.hvinh .hvsatz{font-size:clamp(19px,5.4vw,24px)}}

@media(min-width:900px) and (max-height:820px){
  body.heroseite .hvmarke i,.hvmarke i{font-size:clamp(48px,7.4vw,104px)}
  .hvinh .hvsatz{font-size:clamp(22px,2.1vw,32px)}
  .hvmarke{margin-bottom:12px}
  .hvinh .hvsatz{margin-bottom:20px}
}


.prog > summary .ksym.klein{flex:none;margin-right:12px}


.zvorn{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.zvorn .ksym{flex:none}
.zkarte:hover .zvorn .ksym,.zkarte:focus-visible .zvorn .ksym{
  background:var(--orange);border-color:var(--orange)}
.zkarte:hover .zvorn .ksym svg,.zkarte:focus-visible .zvorn .ksym svg{stroke:#fff}
.zvorn .zname{font-size:clamp(17px,1.5vw,21px);line-height:1.25}
.zvorn .zhint{margin-top:auto}


.icard .ikurz{font-size:13.5px;line-height:1.5;color:var(--body);
  margin:12px 0 auto;position:relative;z-index:1}


.hstext .lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55}



.wege{display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(18px,2.2vw,28px);margin-top:clamp(22px,2.6vw,34px)}
@media(min-width:900px){.wege{grid-template-columns:repeat(2,minmax(0,1fr))}}
.weg{display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:20px;
  padding:clamp(22px,2.4vw,32px)}
.tintsec .weg{background:var(--paper)}
.wegkopf{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.weglbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--orange-text)}
.weg h3{margin:0 0 4px;font-size:clamp(19px,1.8vw,25px);line-height:1.2}
.wegschritte{list-style:none;counter-reset:weg;margin:16px 0 0;padding:0}
.wegschritte li{counter-increment:weg;position:relative;
  padding:12px 0 12px 38px;border-top:1px solid var(--line);
  font-size:15px;line-height:1.5;color:var(--body)}
.wegschritte li::before{content:counter(weg);position:absolute;left:0;top:11px;
  width:24px;height:24px;display:grid;place-items:center;border-radius:50%;
  background:var(--tint);color:var(--orange-text);
  font-size:12px;letter-spacing:0}
.wegknopf{margin-top:auto;align-self:flex-start;margin-top:22px}
@media(max-width:599px){
  .wegschritte li{font-size:14.5px;padding-left:34px}
  .wegknopf{width:100%;display:grid;place-items:center}
}

.stoffgruppe{margin-top:clamp(28px,3.4vw,46px)}
.stoffgruppe:first-child{margin-top:clamp(20px,2.4vw,32px)}
.stkopf{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.stkopf h3{margin:0;font-size:clamp(17px,1.6vw,22px);letter-spacing:.04em}
.stoffliste{margin:0;display:grid;grid-template-columns:minmax(0,1fr);
  column-gap:clamp(24px,3.4vw,56px)}
@media(min-width:900px){.stoffliste{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stzeile{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;
  padding:11px 0;border-top:1px solid var(--line)}
@media(min-width:600px){
  .stzeile{grid-template-columns:minmax(150px,.72fr) minmax(0,1.6fr);
    gap:clamp(12px,1.4vw,22px);align-items:baseline}
}
.stzeile dt{font-family:'Aboreto',Georgia,serif;font-weight:400;
  font-size:15px;letter-spacing:.02em;color:var(--ink);
  text-transform:uppercase;line-height:1.3}
.stzeile dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--body)}
@media(max-width:599px){
  .stzeile dt{font-size:14px}
  .stzeile dd{font-size:14px}
}


.dlist li{padding-left:0}
.dlist:not(.weit) li{border-top:1px solid var(--line);padding:9px 0}
.dlist:not(.weit) li:first-child{border-top:0;padding-top:0}
.icard .pr{margin-top:14px}
@media(max-width:599px){.icard .ikurz{font-size:13px}}

.dlist.penthliste{margin-top:10px;gap:0 clamp(20px,3vw,44px);
  grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:899px){.dlist.penthliste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.dlist.penthliste{grid-template-columns:minmax(0,1fr)}}
.penthliste li{border-top:1px solid var(--line);padding:9px 0;
  font-size:15px;line-height:1.45;color:var(--body)}
.penthliste li svg{display:none}
@media(max-width:599px){.penthliste li{font-size:14.5px;padding:8px 0}}

.headknopf{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:599px){
  .headknopf{flex-direction:column;align-items:stretch}
  .headknopf .btn{width:100%;display:grid;place-items:center}
}
@media(max-width:599px){
  .ofuss{flex-direction:column;align-items:flex-start;gap:12px}
  .obuch{width:100%;display:grid;place-items:center}
}



.hvmarke{flex-direction:column;align-items:center;justify-content:center;
  gap:.06em;margin:0 0 clamp(16px,1.8vw,26px);line-height:1}
body.heroseite .hvmarke i,.hvmarke i{
  font-size:clamp(68px,13vw,196px);letter-spacing:.09em;line-height:.9;
  text-indent:.09em}


.hvmarke{font-size:clamp(68px,13vw,196px)}
body.heroseite .hvmarke i,.hvmarke i{font-size:1em}
.hvmarke small{font-size:.21em;
  letter-spacing:.70em;text-indent:.70em;
  color:rgba(255,255,255,.95)}

@media(min-width:900px){
  .hvinh{align-items:center;text-align:center}
  .hvinh .hvknoepfe{justify-content:center;align-self:center}
  .hvsec::after{left:50%;right:auto;transform:translateX(-50%)}
}

@media(min-width:900px){
  .hvinh{justify-content:center;
    padding-top:clamp(84px,10vh,116px);
    padding-bottom:clamp(44px,6vh,84px)}
}
@media(max-width:899px){
  .hvinh{justify-content:center;
    padding-top:clamp(84px,12vh,118px);
    padding-bottom:clamp(56px,9vh,96px)}
}

body.heroseite .hvmarke i,.hvmarke i{font-size:clamp(68px,13vw,196px)}
@media(min-width:1800px){
  .hvmarke{font-size:200px}
}
@media(min-width:2400px){
  .hvmarke{font-size:224px}
}
@media(min-width:900px) and (max-height:820px){
  .hvmarke{font-size:clamp(56px,8.8vw,128px)}
}
@media(max-width:599px){
  .hvmarke i{font-size:clamp(52px,15vw,72px)}
}
.hvbild img,.hvbild picture,.hvvideo{opacity:.52;filter:saturate(.9)}
.hvvideo.an{opacity:.52}
.hvbild::after{background:
  linear-gradient(to bottom,rgba(16,6,1,.52) 0%,rgba(16,6,1,.18) 26%,rgba(16,6,1,0) 52%),
  linear-gradient(to top,rgba(16,6,1,.72) 0%,rgba(16,6,1,.38) 48%,rgba(16,6,1,.10) 100%)}


.hvsec{height:100vh;height:100svh}

.hvsatz{font-size:clamp(21px,3.3vw,46px);line-height:1.12;
  letter-spacing:.005em;margin:0 0 clamp(22px,2.6vw,34px);max-width:22ch}
@media(min-width:900px){
  .hvmarke{margin-bottom:clamp(16px,1.8vw,26px)}
  
  .hvsatz{font-size:clamp(26px,2.9vw,46px);max-width:none}
}

@media(max-width:599px){
  .hvmarke{font-size:clamp(52px,15vw,74px)}
  .hvsatz{font-size:clamp(19px,5.4vw,24px);line-height:1.18;max-width:20ch}
}

@media(min-width:1800px){
  body.heroseite .hvgross.hvsatz,.hvgross.hvsatz{font-size:52px}
  .hvmarke{font-size:200px}
}
@media(min-width:2400px){
  body.heroseite .hvgross.hvsatz,.hvgross.hvsatz{font-size:58px}
  .hvmarke{font-size:224px}
}

@media(min-width:900px) and (max-height:820px){
  .hvmarke{font-size:clamp(56px,8.8vw,128px)}
  body.heroseite .hvgross.hvsatz,.hvgross.hvsatz{font-size:clamp(22px,2.1vw,32px)}
  .hvmarke{margin-bottom:14px}
  .hvsatz{margin-bottom:20px}
}

@media(max-width:599px){
  .hvmarke small{letter-spacing:.56em;text-indent:.56em}
}



@media(min-width:700px){
  .zahlsec:has(.zahlkarte:only-child){padding-top:clamp(30px,3.2vw,44px);
    padding-bottom:clamp(30px,3.2vw,44px)}
  
  .zahlsec .zahlgitter:has(.zahlkarte:only-child){
    grid-template-columns:minmax(0,1fr)}
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlkarte{
    display:flex;align-items:baseline;justify-content:center;
    gap:clamp(12px,1.4vw,22px);padding:0}
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlwert{
    font-size:clamp(40px,4.4vw,64px);line-height:1}
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahltxt{
    margin-top:0;max-width:none;white-space:nowrap}
  
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlkarte::before,
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlkarte::after{
    content:"";display:block;position:static;flex:1 1 auto;
    max-width:min(26vw,320px);height:1px;background:rgba(246,239,231,.20);
    transform:none;align-self:center}
}
@media(max-width:699px){
  .zahlsec:has(.zahlkarte:only-child){padding-top:34px;padding-bottom:34px}
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahlwert{font-size:clamp(38px,11vw,54px)}
  .zahlsec .zahlgitter:has(.zahlkarte:only-child) .zahltxt{margin-top:8px}
}



.hvmarke{font-size:clamp(68px,13vw,196px)}
body.heroseite .hvmarke i,.hvmarke i{font-size:1em;letter-spacing:.09em}
.hvmarke small{font-size:.21em;letter-spacing:.70em;text-indent:.70em}
@media(min-width:1800px){.hvmarke{font-size:200px}}
@media(min-width:2400px){.hvmarke{font-size:224px}}
@media(min-width:900px) and (max-height:820px){.hvmarke{font-size:clamp(56px,8.8vw,128px)}}
@media(max-width:599px){
  .hvmarke{font-size:clamp(52px,15vw,74px)}
  .hvmarke small{letter-spacing:.56em;text-indent:.56em}
}

.preiszeile{display:flex;align-items:baseline;gap:clamp(10px,1.2vw,18px);
  flex-wrap:wrap;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.preiszeile b{font-family:'Aboreto',Georgia,serif;font-weight:400;color:var(--orange-text);
  font-size:clamp(28px,3.4vw,40px);line-height:1}
.preiszeile span{color:var(--mute);font-size:clamp(14px,1.1vw,16px)}
.preiszeile + .fussnote{margin-top:14px}


.hvmarke{font-size:clamp(48px,min(8.4vw,16.5vh),124px)}
body.heroseite .hvmarke i,.hvmarke i{font-size:1em;letter-spacing:.09em}
.hvmarke small{font-size:.21em}
body.heroseite .hvgross.hvsatz,.hvgross.hvsatz,.hvinh .hvsatz{
  font-size:clamp(18px,min(2.1vw,3.8vh),30px);line-height:1.3;max-width:none}
@media(max-width:599px){
  .hvmarke{font-size:clamp(46px,13vw,64px)}
  body.heroseite .hvgross.hvsatz,.hvgross.hvsatz,.hvinh .hvsatz{
    font-size:clamp(16px,4.6vw,20px);line-height:1.25;max-width:22ch}
}


.js .acgrid.rv.stufig.in>*{animation-duration:.72s}
.js .acgrid.rv.stufig.in>*:nth-child(2){animation-delay:.14s}
.js .acgrid.rv.stufig.in>*:nth-child(3){animation-delay:.28s}
.js .acgrid.rv.stufig.in>*:nth-child(4){animation-delay:.42s}
.js .acgrid.rv.stufig.in>*:nth-child(n+5){animation-delay:.56s}
.js .acgrid.rv.stufig .ackarte::before{transform:scaleX(0);transform-origin:left center}
.js .acgrid.rv.stufig.in .ackarte::before{
  animation:acstrich .56s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:inherit}
.js .acgrid.rv.stufig .ackarte .acsym{opacity:0}
.js .acgrid.rv.stufig.in .ackarte .acsym{
  animation:acsymauf .5s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--acd,0ms) + .18s)}
.js .acgrid.rv.stufig.in>*:nth-child(1) .acsym{--acd:0ms}
.js .acgrid.rv.stufig.in>*:nth-child(2) .acsym{--acd:140ms}
.js .acgrid.rv.stufig.in>*:nth-child(3) .acsym{--acd:280ms}
.js .acgrid.rv.stufig.in>*:nth-child(4) .acsym{--acd:420ms}
.js .acgrid.rv.stufig.in>*:nth-child(n+5) .acsym{--acd:560ms}
@keyframes acstrich{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes acsymauf{from{opacity:0;transform:translateY(7px) scale(.92)}
  to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .js .acgrid.rv.stufig .ackarte::before{transform:none;animation:none}
  .js .acgrid.rv.stufig .ackarte .acsym{opacity:1;animation:none}
}


.lcard h3{font-size:clamp(19px,1.6vw,22px);line-height:1.22;margin-top:14px}
.lcard p{font-size:15.5px;line-height:1.62;margin-top:12px}
.lcard .num{font-size:11.5px}
.lstufen{margin-top:18px;border-top:1px solid var(--line);padding-top:4px}
.lstufen span{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.lstufen span:last-child{border-bottom:0}
.lstufen b{font-weight:400;font-size:14px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--mute)}
.lstufen i{font-style:normal;font-family:'Aboreto',Georgia,serif;
  font-size:17px;color:var(--orange-text);white-space:nowrap}
@media(max-width:599px){
  .lcard h3{font-size:20px}
  .lcard p{font-size:15px}
  .lstufen i{font-size:16px}
}


.weg .wegschritte{flex:1 1 auto}
.weg .wegknopf{margin-top:0;align-self:flex-start}
.weg .wegfuss{margin-top:clamp(18px,1.8vw,24px);padding-top:clamp(18px,1.8vw,24px);
  border-top:1px solid var(--line);display:flex}
@media(max-width:599px){
  .weg .wegfuss{display:block}
  .weg .wegknopf{width:100%;display:grid;place-items:center}
}



.gruenblock{padding:clamp(48px,5vw,64px) 0}
.gruenblock h2{font-size:clamp(23px,2.2vw,32px);line-height:1.22;
  letter-spacing:.005em;margin:10px 0 clamp(16px,2vw,28px);text-wrap:balance}
.gbtext p{color:var(--green-soft);font-size:clamp(15px,1.05vw,16px);
  line-height:1.62;margin:0 0 13px;break-inside:avoid}
.gbtext p.gbakzent{color:var(--orange-lt);
  font-size:clamp(16px,1.15vw,17.5px);line-height:1.42;margin:17px 0 15px;
  break-after:avoid}
@media(min-width:900px){
  .gbin{grid-template-columns:minmax(0,1fr) minmax(0,300px);
    align-items:start;column-gap:clamp(30px,3.4vw,52px)}
  .gbtext{column-count:2;column-gap:clamp(30px,3.2vw,48px);
    column-rule:1px solid rgba(246,239,231,.13)}
  .gbtext .eyebrow,.gbtext h2{column-span:all}
  
  .gbtext h2{margin-bottom:clamp(20px,2vw,28px)}
  .gbtext p:first-of-type{margin-top:0}
  .gbbilder{justify-self:end}
  .gbbilder.eins{grid-template-columns:minmax(0,300px)}
  .gbname{text-align:right}
}
@media(min-width:1400px){.gbin{grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .gbbilder.eins{grid-template-columns:minmax(0,320px)}}


footer .fsocial{display:flex;gap:4px;margin-top:10px;margin-left:-10px}
footer .fsocial a{display:grid;place-items:center;width:40px;height:40px;
  color:var(--auf-dunkel);transition:color .2s,transform .2s}
footer .fsocial a svg{width:21px;height:21px}
footer .fsocial a:hover{color:var(--orange-lt);transform:translateY(-1px)}
footer .fsocial a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}



html{overflow-x:clip}
.hsgrid > *,.gbin > *,.wege > *,.lgrid > *{min-width:0}
.btn{max-width:100%}
@media(max-width:400px){
  .btn{white-space:normal;text-align:center;line-height:1.35;
    padding-left:16px;padding-right:16px}
  .btn.lg{padding-left:20px;padding-right:20px}
  img{max-width:100%;height:auto}
}



@media(min-width:900px){
  nav.top .wrap{max-width:1280px;padding-left:28px;padding-right:28px}
  nav.top .nav-in{display:flex;justify-content:space-between;align-items:center;gap:0}
  
  nav.top .nav-links{display:contents!important}
  nav.top .nav-akt{display:contents!important}
  nav.top .nav-links a,nav.top .nav-links .navbald,nav.top .navdrop > a{font-size:14px;letter-spacing:.08em}
  nav.top .navtel{font-size:14px}
  nav.top .logo{font-size:24px}
}

@media(max-width:1279px){nav.top .navtel{display:none}}


.tgrid.fuenf{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:760px){.tgrid.fuenf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.tgrid.fuenf{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.4vw,24px)}}

@media(min-width:760px){
  .tgrid.fuenf{grid-auto-rows:min-content}
  .tgrid.fuenf .tkarte{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
}
.tgrid.fuenf .tkarte h3{font-size:clamp(14px,1.05vw,17px);line-height:1.25;margin-top:14px}


footer .fgrid{display:flex;flex-wrap:wrap;gap:0 34px;margin-bottom:40px}
footer .fgrid > div{display:contents}
footer .fgrid .fkopf{display:none}
footer .fgrid a{font-family:'Jost',system-ui,sans-serif;text-transform:none;
  font-size:15px;letter-spacing:.01em;line-height:1.9;padding:4px 0}
footer .imprint{padding-top:34px}

@media(max-width:599px){
  footer .fgrid{gap:0 22px}
  footer .fgrid a{font-size:14px;line-height:1.75}
}


.tkarte details.tphil{margin:0}
.tkarte details.tphil.erst{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tkarte details.tphil > summary{list-style:none;cursor:pointer;display:flex;
  align-items:center;justify-content:space-between;gap:12px;padding:9px 0;
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-text)}
.tkarte details.tphil > summary::-webkit-details-marker{display:none}
.tkarte details.tphil > summary::marker{content:""}
.tkarte details.tphil > summary::after{content:"";flex:none;width:8px;height:8px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s cubic-bezier(.33,1,.68,1)}
.tkarte details.tphil[open] > summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.tkarte details.tphil > summary:hover{color:var(--orange)}
.tkarte details.tphil > p{margin:0 0 12px;text-align:justify;
  -webkit-hyphens:auto;hyphens:auto}
@media(prefers-reduced-motion:reduce){
  .tkarte details.tphil > summary::after{transition:none}
}

@media(min-width:1180px){
  .tgrid.vier{grid-template-rows:repeat(7,auto)}
  .tgrid.vier .tkarte{grid-row:span 7}
}
@media(min-width:600px) and (max-width:1179px){
  .tgrid.vier{grid-template-rows:repeat(14,auto)}
  .tgrid.vier .tkarte{grid-row:span 7}
}


.zgitter.memo{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
@media(min-width:620px){.zgitter.memo{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(min-width:900px){.zgitter.memo{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1240px){.zgitter.memo{grid-template-columns:repeat(5,minmax(0,1fr))}}
.zgitter.memo .zkarte{min-height:150px}
.zgitter.memo .zvorn,.zgitter.memo .zhinten{padding:16px 15px 14px}
.zgitter.memo .zname{font-size:clamp(14px,1.05vw,16.5px);line-height:1.25;letter-spacing:.01em}
.zgitter.memo .zhint{margin-top:8px;font-size:9.5px;letter-spacing:.14em;opacity:.75}
.zgitter.memo .zhinten{justify-content:center}
.zgitter.memo .ztext{font-size:12.5px;line-height:1.5;margin:0}

.stkopf{display:flex;align-items:center;gap:12px}
.stzahl{margin-left:auto;font-size:11px;letter-spacing:.14em;color:var(--mute);
  border:1px solid var(--line);border-radius:999px;padding:3px 11px;line-height:1.5}
.stoffgruppe + .stoffgruppe{margin-top:clamp(34px,4vw,54px)}



.tkarte details.tphil{margin-top:9px}
.tkarte details.tphil.erst{margin-top:18px;border-top:0}
.tkarte details.tphil > summary{background:rgba(188,170,149,.1);padding-left:13px;
  padding-right:13px;transition:background .2s}
.tkarte details.tphil > summary:hover{background:rgba(188,170,149,.19)}
.tkarte details.tphil[open] > summary{background:rgba(188,170,149,.07)}
.tkarte details.tphil > p{padding:0 13px}


.tkarte .tphil-t{display:flex;align-items:center;gap:9px;
  margin:18px 0 7px;padding-top:0;border-top:0;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-text)}
.tkarte .tphil-t::before{content:"";flex:none;width:16px;height:1px;background:var(--orange)}
.tkarte .tphil-t.erst{margin-top:18px;padding-top:0;border-top:0}
.tkarte p.tphil-p{margin:0}
@media(min-width:1180px){
  .tgrid.vier{grid-template-rows:repeat(9,auto)}
  .tgrid.vier .tkarte{grid-row:span 9}
}
@media(min-width:600px) and (max-width:1179px){
  .tgrid.vier{grid-template-rows:repeat(18,auto)}
  .tgrid.vier .tkarte{grid-row:span 9}
}


.tmehr{position:relative;margin-top:16px}
.tmehr-text{overflow:hidden}

html.js .tmehr[data-offen="false"] .tmehr-vor{display:-webkit-box;-webkit-line-clamp:6;
  -webkit-box-orient:vertical;overflow:hidden}
html.js .tmehr[data-offen="false"] .tmehr-rest{display:none}
.tmehr-vor > p{margin:0}
.tmehr-text > p:first-child{margin-top:0}
.tmehr-knopf{appearance:none;background:none;border:0;padding:12px 0 0;margin:0;
  font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange-text);cursor:pointer;display:inline-flex;align-items:center;gap:10px}
.tmehr-knopf::after{content:"";width:20px;height:1px;background:currentColor;
  transition:width .22s cubic-bezier(.33,1,.68,1)}
.tmehr-knopf:hover::after,.tmehr-knopf:focus-visible::after{width:34px}
.tm-zu{display:none}
.tmehr[data-offen="true"] .tm-auf{display:none}
.tmehr[data-offen="true"] .tm-zu{display:inline}
html:not(.js) .tmehr-knopf{display:none}
@media(prefers-reduced-motion:reduce){.tmehr-knopf::after{transition:none}}


@media(min-width:600px){
  .tgrid.vier{grid-template-rows:none;row-gap:0;align-content:start;align-items:stretch}
  .tgrid.vier .tkarte{display:flex;flex-direction:column;grid-row:auto}
  
  .tgrid.vier .tkarte .tmehr{display:flex;flex-direction:column;flex:1 1 auto}
  .tgrid.vier .tkarte .tmehr-knopf{margin-top:auto}
  .tgrid.vier .tkarte > .tbild{grid-row:1}
  .tgrid.vier .tkarte > h3{grid-row:2}
  .tgrid.vier .tkarte > .trolle{grid-row:3}
  .tgrid.vier .tkarte > .tmehr,
  .tgrid.vier .tkarte > .tquali{grid-row:auto}
  
  .tgrid.vier .tkarte .tquali{min-height:5.6em}
}

.tkarte details.tphil > summary{display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:start;column-gap:14px;padding:11px 0}
.tkarte details.tphil > summary .tphil-t,
.tkarte details.tphil > summary .tphil-an{grid-column:1}
.tkarte details.tphil > summary::after{grid-column:2;grid-row:1 / span 2;align-self:center}
.tkarte details.tphil > summary .tphil-t{display:block;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange-text)}

.tkarte details.tphil > summary .tphil-an{display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;margin-top:5px;font-size:13.5px;
  line-height:1.45;color:var(--body);text-transform:none;letter-spacing:0;
  text-align:left;hyphens:none}
.tkarte details.tphil[open] > summary .tphil-an{display:none}
.tkarte details.tphil > summary::after{margin-top:3px}
.tkarte details.tphil > p{margin:0 0 13px;font-size:13.5px}