/* Donna Tierra, donnatierra.com. Hausbau NexTao, statisch, self-hosted Fonts. */
:root{
  --paper:#F8F4EC; --sand:#F0E8D8; --sand2:#E4DAC4; --white:#FFFFFF;
  --ink:#232720; --ink2:#4B5145; --mute:#6E7468;
  --moss:#2E4B33; --moss2:#3A5E40; --moss-deep:#22382A;
  --leaf:#5FA84A; --gold:#8C7422; --honey:#C58E2E; --clay:#B6532C;
  --line:rgba(35,39,32,.14); --line-2:rgba(35,39,32,.08);
  --fd:'Alegreya',Georgia,'Times New Roman',serif;
  --ft:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:18px; --r-lg:26px;
  --shadow:0 1px 0 var(--line-2),0 18px 40px -24px rgba(35,39,32,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ft);font-size:17px;line-height:1.62;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.15em}
h1,h2,h3,h4{font-family:var(--fd);font-weight:600;line-height:1.1;margin:0 0 .6em;color:var(--ink);letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,4.6vw,3.7rem);text-wrap:balance}
h2{font-size:clamp(1.85rem,3.3vw,2.7rem);text-wrap:balance}
h3{font-size:1.38rem}
h4{font-size:1.05rem;font-family:var(--ft);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.25em}
.wrap{width:min(100% - 2.5rem,1180px);margin-inline:auto}
.sec{padding:clamp(3.4rem,8vw,6.5rem) 0}
.sec-tight{padding:clamp(2.4rem,5vw,4rem) 0}
.sand{background:var(--sand)}
.moss{background:var(--moss);color:#E6E2D3}
.moss h1,.moss h2,.moss h3{color:#fff}
.moss a{color:#F3E9CE}
.moss .kicker{color:#E3C377}
.moss .kicker::before{background:#E3C377}
.kicker{display:flex;align-items:center;gap:.6rem;font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.kicker::before{content:"";width:24px;height:2px;background:var(--gold);flex:none}
.kicker.center{justify-content:center}
.lead{font-size:1.15rem;color:var(--ink2);max-width:62ch}
.claim{font-family:var(--fd);font-style:italic;font-size:1.5rem;color:var(--gold);margin:-.2rem 0 1rem}
.center{text-align:center}
.center .lead{margin-inline:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.rv{opacity:1}
html.js .rv{opacity:0;transform:translateY(16px);transition:opacity .75s ease,transform .75s ease}
html.js .rv.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.85rem 1.45rem;font-weight:600;font-size:.95rem;line-height:1.1;border:1.5px solid transparent;cursor:pointer;transition:transform .2s ease,background .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.btn-primary{background:var(--moss);color:#fff}
.btn-primary:hover{background:var(--moss2)}
.btn-ghost{background:transparent;color:var(--ink);border-color:rgba(35,39,32,.35)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(255,255,255,.5)}
.moss .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.moss .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn-wa{background:#1E9E5A;color:#fff}
.btn-wa:hover{background:#178A4D}
.btn-clay{background:var(--clay);color:#fff}
.btn-clay:hover{background:#A2481F}
.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 0}
.link-arrow{font-weight:600;display:inline-flex;align-items:center;gap:.4rem}
.link-arrow::after{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.link-arrow:hover::after{transform:translateX(3px) rotate(45deg)}

/* Kopf */
#site-header{position:sticky;top:0;z-index:40;background:rgba(248,244,236,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
#site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px}
.brand{display:flex;align-items:center;gap:.8rem;flex:none;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand img{width:50px;height:50px;border-radius:50%}
.brand .bw b{display:block;font-family:var(--fd);font-weight:700;font-size:1.28rem;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.brand .bw i{display:block;font-family:var(--fd);font-style:italic;font-size:.9rem;color:var(--gold);margin-top:.28rem;line-height:1}
.nav{display:flex;align-items:center;gap:1.5rem}
.nav>a,.nav .hasmenu>a{font-weight:600;font-size:.98rem;color:var(--ink);padding:.4rem 0;position:relative}
.nav>a:hover,.nav .hasmenu>a:hover{text-decoration:none;color:var(--moss)}
.nav>a[aria-current="page"]::after,.nav .hasmenu>a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}
.nav .btn{margin-left:.5rem;padding:.7rem 1.2rem}
.nav a.btn-primary{color:#fff}
.hasmenu{position:relative}
.hasmenu>a{display:inline-flex;align-items:center;gap:.35rem}
.hasmenu>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.menu{position:absolute;top:100%;left:-1rem;padding-top:.6rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.menu-in{background:#fff;border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);min-width:240px;padding:.5rem}
.menu-in a{display:block;padding:.6rem .9rem;border-radius:9px;font-weight:600;font-size:.95rem;color:var(--ink)}
.menu-in a:hover{background:var(--sand);text-decoration:none;color:var(--moss)}
.menu-in a.all{border-top:1px solid var(--line-2);margin-top:.3rem;padding-top:.75rem;color:var(--gold)}
.hasmenu:hover .menu,.hasmenu:focus-within .menu,.hasmenu.open .menu{opacity:1;visibility:visible;transform:none}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:12px;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;top:78px;left:0;right:0;bottom:0;z-index:39;background:var(--paper);overflow:auto;padding:1.2rem 1.25rem 3rem;border-top:1px solid var(--line-2)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:.85rem .2rem;font-family:var(--fd);font-size:1.45rem;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-2)}
.mobile-nav a:hover{text-decoration:none;color:var(--moss)}
.mobile-nav .sub a{font-family:var(--ft);font-size:1rem;font-weight:600;padding:.6rem .2rem .6rem 1.2rem;color:var(--ink2);border-bottom:0}
.mobile-nav .mn-cta{display:flex;flex-direction:column;gap:.6rem;margin-top:1.4rem}
.mobile-nav .mn-cta a{border-bottom:0;font-family:var(--ft);font-size:.95rem;padding:.9rem 1.4rem}
.mobile-nav .mn-cta a.btn-primary{color:#fff}
@media (max-width:1040px){.nav{display:none}.burger{display:flex}}

/* Held */
.hero{position:relative;overflow:hidden;background:radial-gradient(55% 60% at 88% 8%,rgba(197,142,46,.20),transparent 62%),radial-gradient(40% 50% at 5% 95%,rgba(95,168,74,.12),transparent 60%),var(--paper);padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,5.5rem)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{margin-bottom:.4em}
.hero-facts{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.9rem;font-weight:600;color:var(--ink2)}
.hero-facts li{display:flex;align-items:center;gap:.4rem}
.hero-facts li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--leaf);flex:none}
.hero-media{position:relative}
.hero-fig{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3.3;box-shadow:var(--shadow)}
.hero-fig img{width:100%;height:100%;object-fit:cover}
.stamp{position:absolute;left:-18px;bottom:-22px;width:128px;height:128px;border-radius:50%;background:#fff;padding:7px;box-shadow:0 12px 30px -12px rgba(0,0,0,.4);transform:rotate(-8deg)}
.stamp img{width:100%;height:100%;border-radius:50%}
.tag{position:absolute;right:16px;top:16px;background:rgba(255,255,255,.92);color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.5rem .8rem;border-radius:999px}

/* Bildband */
.band-photo{position:relative;margin:0}
.band-photo img{width:100%;height:clamp(240px,42vw,560px);object-fit:cover}
.band-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem 0 1.2rem;background:linear-gradient(transparent,rgba(20,30,20,.7));color:#fff;font-family:var(--fd);font-style:italic;font-size:clamp(1.05rem,2vw,1.4rem)}

/* Zahlen */
.zahlen{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.zahl{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:1.3rem 1.3rem 1.1rem}
.zahl b{display:block;font-family:var(--fd);font-size:2.6rem;font-weight:600;color:#E3C377;line-height:1;margin-bottom:.35rem}
.zahl strong{display:block;color:#fff;font-size:1rem;margin-bottom:.2rem}
.zahl span{font-size:.9rem;color:#C9C4B4}

/* Abschnittskoepfe */
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.sec-head h2{margin-bottom:0}
.sec-head .more{flex:none;padding-bottom:.35rem}
.sec-head.stack{display:block}
.sec-head.stack h2{margin-bottom:.6rem}

/* Produktkarten */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.pgrid.five{grid-template-columns:repeat(5,1fr)}
.pgrid.three{grid-template-columns:repeat(3,1fr)}
.pcard{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}
.pcard:hover{text-decoration:none;transform:translateY(-4px);box-shadow:0 1px 0 var(--line-2),0 26px 44px -26px rgba(35,39,32,.55)}
.pcard .pimg{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pcard:hover .pimg img{transform:scale(1.04)}
.pcard .pbody{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.pcard .pkat{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pcard h3{font-size:1.3rem;margin:0}
.pcard .psub{font-size:.9rem;color:var(--ink2);margin:0}
.pcard .pkurz{font-size:.88rem;color:var(--mute);margin:.35rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .ppreis{margin-top:auto;padding-top:.8rem;font-weight:700;font-size:1rem;display:flex;justify-content:space-between;align-items:center}
.pcard .ppreis small{font-weight:500;color:var(--mute);font-size:.8rem}
.ribbon{position:absolute;left:12px;top:12px;z-index:2;background:var(--clay);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .65rem;border-radius:999px}
.ribbon.gold{background:var(--honey)}

/* Rubrikkacheln */
.kgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem}
.ktile{position:relative;grid-column:span 2;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;color:#fff;box-shadow:var(--shadow)}
.ktile:nth-child(4),.ktile:nth-child(5){grid-column:span 3;aspect-ratio:16/8.5}
.ktile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ktile:hover img{transform:scale(1.05)}
.ktile:hover{text-decoration:none}
.ktile .kt{position:absolute;inset:auto 0 0 0;padding:3rem 1.3rem 1.2rem;background:linear-gradient(transparent,rgba(20,30,20,.78))}
.ktile .kt b{display:block;font-family:var(--fd);font-size:1.6rem;font-weight:600;line-height:1.1}
.ktile .kt span{font-size:.85rem;opacity:.9}

/* Philosophie / Bild-Text */
.fig{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.fig img{width:100%;height:100%;object-fit:cover}
.fig.r43{aspect-ratio:4/3}
.fig.r45{aspect-ratio:4/5}
.fig.r11{aspect-ratio:1/1}
.fig figcaption{font-size:.85rem;color:var(--mute);padding:.6rem .9rem;background:#fff}

/* Zitat */
.zitat{text-align:center}
.zitat blockquote{margin:0 auto;max-width:46ch;font-family:var(--fd);font-style:italic;font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.35;color:var(--ink)}
.zitat blockquote::before{content:"\201E";display:block;font-size:5rem;line-height:.3;color:var(--honey);margin-bottom:1.6rem;font-style:normal}
.zitat cite{display:block;margin-top:1.2rem;font-family:var(--ft);font-style:normal;font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* Kontaktkasten */
.kbox{background:var(--sand);border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,3rem);display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
.kbox h2{margin-bottom:.5rem}
address{font-style:normal;line-height:1.6;color:var(--ink2)}
.kbtns{display:flex;flex-direction:column;gap:.7rem}
.kbtns .btn{justify-content:flex-start}
.kbtns .btn svg{width:20px;height:20px}
.kdata{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.kdata li{display:flex;gap:.7rem;align-items:flex-start}
.kdata svg{width:20px;height:20px;fill:var(--gold);flex:none;margin-top:.2rem}

/* Seitenkopf */
.pagehead{padding:clamp(2.6rem,6vw,4.5rem) 0 clamp(1.8rem,4vw,3rem)}
.pagehead .lead{margin-top:.4rem}
.crumbs{font-size:.84rem;color:var(--mute);margin:0 0 1.2rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.crumbs a{color:var(--ink2)}
.crumbs span.sep{opacity:.5}
.kopfbild{aspect-ratio:21/8;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);margin-top:2rem}
.kopfbild img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;position:sticky;top:78px;z-index:20;background:rgba(248,244,236,.95);padding:.8rem 0;margin-bottom:1rem}
.chips a{border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;font-size:.88rem;font-weight:600;color:var(--ink);background:#fff}
.chips a:hover{text-decoration:none;border-color:var(--moss);color:var(--moss)}
.rubrik{padding:2.2rem 0 1rem;scroll-margin-top:150px}
.rubrik .sec-head{margin-bottom:1.3rem}
.rubrik .sec-head p{margin:.3rem 0 0;color:var(--ink2);max-width:70ch}

/* Produktseite */
.produkt{padding:1rem 0 clamp(3rem,6vw,5rem)}
.pgrid2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.galerie{position:sticky;top:98px}
.gmain{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--sand);aspect-ratio:4/5;box-shadow:var(--shadow)}
.gmain img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}
.thumb{width:74px;height:74px;border-radius:12px;overflow:hidden;border:2px solid transparent;padding:0;background:var(--sand);cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.on{border-color:var(--moss)}
.pinfo h1{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:.2em}
.pinfo .sub{font-family:var(--fd);font-style:italic;font-size:1.3rem;color:var(--gold);margin:0 0 1rem}
.pinfo .ribbon{position:static;display:inline-block;margin-bottom:1rem}
.badges{list-style:none;padding:0;margin:1rem 0 1.4rem;display:flex;flex-wrap:wrap;gap:.5rem}
.badges li{font-size:.8rem;font-weight:600;color:var(--moss);background:rgba(95,168,74,.14);border-radius:999px;padding:.35rem .8rem;display:flex;align-items:center;gap:.35rem}
.badges li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--leaf)}
.preise{width:100%;border-collapse:collapse;margin:0 0 .6rem;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--line-2)}
.preise caption{text-align:left;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:0 0 .6rem}
.preise th,.preise td{padding:.7rem .9rem;text-align:left;border-top:1px solid var(--line-2);font-size:.95rem}
.preise th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-top:0;font-weight:700}
.preise td.p{font-weight:700;white-space:nowrap}
.preise td.u{color:var(--mute);font-size:.86rem;white-space:nowrap}
.pnote{font-size:.84rem;color:var(--mute)}
.laden{font-size:.92rem;color:var(--ink2);margin-top:1rem}
.details{margin-top:1.8rem;border-top:1px solid var(--line)}
.details details{border-bottom:1px solid var(--line)}
.details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;font-family:var(--fd);font-size:1.18rem;font-weight:600}
.details summary::-webkit-details-marker{display:none}
.details summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .25s;flex:none;margin-right:.3rem}
.details details[open] summary::after{transform:rotate(-135deg)}
.details .dbody{padding:0 0 1.1rem;color:var(--ink2);font-size:.97rem}
.details .dbody p:last-child,.details .dbody ul:last-child{margin-bottom:0}
.hinweis-band{background:var(--sand);border-radius:var(--r);padding:1.1rem 1.3rem;font-size:.88rem;color:var(--ink2);margin-top:1.6rem}

/* Ueber mich */
.galerie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.gitem{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.gitem .gi{aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.gitem img{width:100%;height:100%;object-fit:cover}
.gitem figcaption{padding:.8rem 1rem 1rem;font-size:.9rem;color:var(--ink2)}
.gitem figcaption b{display:block;font-family:var(--fd);font-size:1.1rem;color:var(--ink);margin-bottom:.15rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.trio .fig{aspect-ratio:1/1;border-radius:var(--r)}

/* Workshops */
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.wcard{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.wcard .wi{aspect-ratio:4/3;overflow:hidden}
.wcard .wi img{width:100%;height:100%;object-fit:cover}
.wcard .wb{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.wcard h2{font-size:1.55rem}
.wcard p{font-size:.95rem;color:var(--ink2)}
.fakten{margin:.5rem 0 1.2rem;display:grid;gap:.4rem;border-top:1px solid var(--line-2);padding-top:.9rem}
.fakten div{display:flex;gap:.8rem;font-size:.9rem}
.fakten dt{flex:none;width:6.2rem;font-weight:700;color:var(--gold);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding-top:.15rem}
.fakten dd{margin:0}
.wcard .btn{margin-top:auto;align-self:flex-start}

/* Bestellen */
.schritte{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:s}
.schritt{background:#fff;border-radius:var(--r);padding:1.4rem 1.3rem;box-shadow:var(--shadow);counter-increment:s}
.schritt::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--fd);font-size:2rem;color:var(--honey);line-height:1;margin-bottom:.6rem}
.schritt h3{font-size:1.2rem;margin-bottom:.4rem}
.schritt p{font-size:.92rem;color:var(--ink2);margin:0}
.prose{max-width:72ch}
.prose h2{margin-top:2.2rem}
.prose h3{margin-top:1.6rem}
.prose ul li{margin-bottom:.4rem}
.prose.legal{font-size:.97rem;color:var(--ink2)}
.prose.legal h2{font-size:1.5rem;color:var(--ink)}
.prose.legal h3{font-size:1.15rem;color:var(--ink)}
.box{background:#fff;border-radius:var(--r);padding:1.4rem 1.5rem;box-shadow:var(--shadow)}

/* Fuss */
footer{background:var(--moss-deep);color:#C9C4B4;margin-top:clamp(3rem,6vw,5rem);padding:clamp(2.8rem,6vw,4.5rem) 0 2rem}
footer a{color:#E8E3D3}
footer address{color:#C9C4B4}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.2rem}
.fbrand{display:flex;flex-direction:column;gap:.8rem;font-size:.93rem}
.fbrand .brand{color:#fff}
.fbrand .brand .bw i{color:#E3C377}
footer h4{color:#fff;margin-bottom:.8rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;font-size:.94rem}
.fbottom{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-size:.82rem;color:#9AA396}
.wa-float{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);z-index:45;transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* 404 */
.notfound{text-align:center;padding:clamp(4rem,10vw,8rem) 0}
.notfound .big{font-family:var(--fd);font-size:clamp(5rem,14vw,9rem);line-height:1;color:var(--sand2);margin:0}

/* Skiplink */
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}

@media (max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}.pgrid.five{grid-template-columns:repeat(3,1fr)}.fgrid{grid-template-columns:1.4fr 1fr 1fr}}
@media (max-width:900px){
  .hero-grid,.two,.pgrid2,.kbox{grid-template-columns:1fr}
  .hero-media{margin-top:1rem}
  .galerie{position:static}
  .kgrid{grid-template-columns:1fr 1fr}
  .ktile,.ktile:nth-child(4),.ktile:nth-child(5){grid-column:span 1;aspect-ratio:4/3}
  .galerie-grid,.wgrid,.trio{grid-template-columns:1fr 1fr}
  .schritte{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .sec-head{flex-direction:column;align-items:flex-start;gap:.6rem}
}
@media (max-width:640px){
  body{font-size:16px}
  .pgrid,.pgrid.five,.pgrid.three{grid-template-columns:1fr 1fr;gap:.9rem}
  .pcard .pbody{padding:.8rem .85rem 1rem}
  .pcard h3{font-size:1.1rem}
  .pcard .pkurz{display:none}
  .kgrid,.galerie-grid,.wgrid,.schritte,.fgrid{grid-template-columns:1fr}
  .trio{grid-template-columns:1fr 1fr}
  .zahlen{grid-template-columns:1fr 1fr;gap:.7rem}
  .zahl{padding:1rem}
  .zahl b{font-size:2rem}
  .stamp{width:96px;height:96px;left:-8px;bottom:-14px}
  .chips{top:78px}
  .thumb{width:62px;height:62px}
  .wa-float{width:52px;height:52px;right:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .rv{opacity:1;transform:none;transition:none}
  .pcard,.ktile img,.pcard .pimg img,.btn{transition:none}
}
