@import url("/fonts/fonts.css");

:root{
  --paper:#fffaf1; --cream:#f5ede0; --sand:#eadfcb; --line:#e0d3bd;
  --ink:#1f1b16; --ink-2:#3a332a; --muted:#6c6152;
  --moss:#2c4632; --moss-2:#3b5c42; --moss-soft:#e3eadc;
  --rust:#a4441d; --rust-2:#c25a2c; --rust-soft:#f6e3d6;
  --ok:#2f7a3e;
  --radius:18px; --radius-s:10px;
  --shadow:0 1px 2px rgba(40,30,15,.06),0 8px 28px rgba(40,30,15,.08);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--moss)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;font-variation-settings:"opsz" 96}
h1{font-size:clamp(2.3rem,5.6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.eyebrow{font:600 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rust);margin-bottom:14px;display:block}
.lead{font-size:1.18rem;color:var(--ink-2);max-width:40em}
.muted{color:var(--muted)}
.gael{font-family:var(--serif);font-style:italic;color:var(--rust)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
section{padding:96px 0}
@media (max-width:700px){section{padding:64px 0}body{font-size:17px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font:600 1.02rem/1 var(--sans);padding:16px 24px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--rust);color:#fff;box-shadow:0 6px 18px rgba(164,68,29,.28)}
.btn-primary:hover{background:var(--rust-2)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-light{background:#fff;color:var(--ink)}
.btn-moss{background:var(--moss);color:#fff}
.btn-moss:hover{background:var(--moss-2)}
.btn-s{padding:11px 16px;font-size:.95rem}
.btn svg{width:1.1em;height:1.1em;flex:none}

/* Topbar */
.topbar{background:var(--moss);color:#f3efe4;font-size:.95rem}
.topbar .wrap{display:flex;gap:18px;align-items:center;justify-content:center;min-height:40px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px;text-align:center}
.topbar a{color:#fff;font-weight:600}
.live{display:inline-flex;align-items:center;gap:8px}
.live i{width:9px;height:9px;border-radius:50%;background:#7fd38f;box-shadow:0 0 0 0 rgba(127,211,143,.7);animation:pulse 1.8s infinite}
.live.closed i{background:#e9c37b;animation:none}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(127,211,143,0)}100%{box-shadow:0 0 0 0 rgba(127,211,143,0)}}

/* Header */
.header{position:sticky;top:0;z-index:40;background:rgba(255,250,241,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.header.scrolled{border-color:var(--line)}
.header .wrap{display:flex;align-items:center;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:48px;height:48px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--line);padding:3px}
.brand b{font:600 1.15rem/1.05 var(--serif);display:block}
.brand small{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.98rem}
.nav a:hover{color:var(--rust)}
.cart-pill{position:relative}
.cart-pill .count{position:absolute;top:-7px;right:-7px;background:var(--moss);color:#fff;border:2px solid var(--paper);border-radius:999px;font-size:.72rem;font-weight:700;min-width:22px;height:22px;display:grid;place-items:center;padding:0 5px}
.cart-pill .count:empty{display:none}
.nav a.btn,.nav a.btn:hover{color:#fff}
.nav a:not(.btn){position:relative;padding:6px 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rust);transform:scaleX(0);transition:transform .2s ease}
.nav a:not(.btn):hover::after{transform:scaleX(1)}
@media (min-width:1200px){
  .header .wrap,.topbar .wrap,.hero .wrap{max-width:1440px;padding-left:40px;padding-right:40px}
  .header .wrap{height:84px}
  .brand img{width:58px;height:58px}
  .brand b{font-size:1.4rem}
  .brand small{font-size:.86rem}
  .nav{gap:34px}
  .nav a{font-size:1.04rem}
  .nav .btn{padding:14px 22px;font-size:1.02rem}
  html{scroll-padding-top:96px}
  .tabs{top:84px}
}
@media (max-width:980px){.nav a:not(.btn){display:none}}
.show-m{display:none}
@media (max-width:700px){.hide-m{display:none}.show-m{display:inline}}
.brand small{white-space:nowrap}
@media (max-width:560px){
  .header .wrap{height:66px;gap:12px;padding-left:16px;padding-right:16px}
  .brand{gap:10px;min-width:0}
  .brand img{width:44px;height:44px}
  .brand b{font-size:1.12rem}
  .brand small{font-size:.74rem;letter-spacing:0}
  .header .cart-pill{width:46px;height:46px;padding:0;justify-content:center;flex:none}
  .header .cart-pill svg{width:20px;height:20px}
  .btn-label{display:none}
}
@media (max-width:340px){.brand small{display:none}}

/* Hero */
.hero{position:relative;color:#fff;padding:0;overflow:hidden;background:radial-gradient(120% 90% at 85% 10%,#3d6045 0%,var(--moss) 55%,#223827 100%)}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:104px;min-height:min(78vh,760px)}
.hero-text{order:1}
.mosaic{order:2;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:14px}
.mosaic figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.mosaic .m1{grid-column:1 / -1;aspect-ratio:2.15/1}
.mosaic .m2{aspect-ratio:4/3.1}
.mosaic .m3{aspect-ratio:4/3.1}
.mosaic .m3 img{object-position:50% 40%}
.mosaic figcaption{position:absolute;left:12px;bottom:10px;background:rgba(255,250,241,.92);color:var(--ink);font:italic 500 .92rem/1 var(--serif);padding:7px 11px;border-radius:999px}
.mosaic .m1{transform:rotate(-.6deg)}.mosaic .m2{transform:rotate(.8deg)}.mosaic .m3{transform:rotate(-.4deg)}
.hero h1{max-width:13em}
@media (max-width:1100px) and (min-width:701px){.hero-grid{grid-template-columns:1fr;gap:36px}.mosaic{order:0}}
.hero .lead{color:#f2ede2;font-size:1.25rem;max-width:34em}
.hero .eyebrow{color:#f3c8a6}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 30px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0;font-weight:600;font-size:.98rem;color:#f2ede2}
.trust li{display:flex;align-items:center;gap:8px}
.trust svg{width:20px;height:20px;color:#9fd7a3;flex:none}
@media (max-width:700px){
  .hero{background:var(--moss)}
  .hero-grid{display:block;min-height:0;padding-top:0;padding-bottom:52px}
  .mosaic{display:block;margin:0 -20px 18px}
  .mosaic .m2,.mosaic .m3{display:none}
  .mosaic .m1{transform:none;border-radius:0;box-shadow:none;aspect-ratio:auto;height:min(34svh,290px);min-height:210px}
  .mosaic .m1::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,var(--moss))}
  .mosaic .m1 picture{display:block;height:100%}
  .hero .eyebrow{margin-bottom:10px;letter-spacing:.12em}
  .hero h1{font-size:1.95rem;margin-bottom:.35em;text-shadow:none}
  .hero .lead{font-size:1.04rem;line-height:1.5;margin-bottom:0}
  .hero-ctas{margin:18px 0 18px;gap:10px;flex-wrap:nowrap}
  .hero-ctas .btn{flex:1;justify-content:center;padding:14px 12px;font-size:.98rem}
  .trust{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:.9rem;line-height:1.25}
  .trust li{align-items:flex-start}
  .trust svg{width:17px;height:17px;margin-top:1px}
}
@media (max-width:700px) and (max-height:700px){.mosaic .m1{height:26svh;min-height:165px}}
/* Sprungziele und Pulsieren */
.group{scroll-margin-top:150px;border-radius:14px;transition:background .4s}
.group.pulse{animation:gpulse 1.4s ease-out 2}
@keyframes gpulse{0%{box-shadow:0 0 0 0 rgba(164,68,29,.45);background:var(--rust-soft)}70%{box-shadow:0 0 0 16px rgba(164,68,29,0);background:rgba(246,227,214,.35)}100%{box-shadow:0 0 0 0 rgba(164,68,29,0);background:transparent}}
.item.bump{animation:ibump .6s ease-out}
@keyframes ibump{0%{background:var(--rust-soft)}100%{background:linear-gradient(90deg,var(--rust-soft),transparent 80%)}}
.bump-c{animation:cbump .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes cbump{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.dock.has-cart .btn-primary{animation:dpulse 2.4s ease-in-out infinite}
@keyframes dpulse{0%,100%{box-shadow:0 0 0 0 rgba(194,90,44,.55)}50%{box-shadow:0 0 0 8px rgba(194,90,44,0)}}
@media (prefers-reduced-motion:reduce){.group.pulse,.item.bump,.bump-c,.dock.has-cart .btn-primary{animation:none}}

/* Next sale card */
.next{margin-top:-1px;background:var(--cream);padding:0}
.next-card{position:relative;z-index:3;transform:translateY(-44px);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 2fr auto;gap:28px;align-items:center;padding:24px 28px;border:1px solid var(--line)}
.next-card .when b{display:block;font:600 1.6rem/1.15 var(--serif)}
.next-card .when span{color:var(--muted)}
.next-list{display:flex;gap:10px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.next-list li{background:var(--cream);border-radius:12px;padding:10px 14px;font-size:.95rem;line-height:1.3}
.next-list li b{display:block}
@media (max-width:900px){.next-card{grid-template-columns:1fr;gap:16px;transform:translateY(-32px)}}

/* Values */
.values{background:var(--cream);padding-top:24px}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.v{background:var(--paper);border-radius:var(--radius);padding:26px;border:1px solid var(--line)}
.v .ico{width:46px;height:46px;border-radius:12px;background:var(--moss-soft);color:var(--moss);display:grid;place-items:center;margin-bottom:16px}
.v .ico svg{width:24px;height:24px}
.v h3{font-size:1.18rem}
.v p{color:var(--ink-2);font-size:1rem;margin:0}
@media (max-width:980px){.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vgrid{grid-template-columns:1fr}}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev>:first-child{order:2}
.frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.frame img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}.split.rev>:first-child{order:0}}

/* Sortiment */
.sortiment{background:var(--paper)}
.sort-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:36px}
.highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 44px}
.hl{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--moss);color:#fff;padding:22px;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.hl:nth-child(2){background:var(--rust)}
.hl:nth-child(3){background:#5a3a22}
.hl:nth-child(4){background:#3f3a2e}
.hl small{opacity:.8;font-size:.9rem}
.hl b{font:600 1.35rem/1.15 var(--serif);margin:4px 0}
.hl span{font-weight:600}
@media (max-width:900px){.sort-head{grid-template-columns:1fr;gap:12px}.highlights{grid-template-columns:1fr 1fr}}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;position:sticky;top:72px;z-index:5;background:var(--paper);padding:10px 0}
@media (max-width:820px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}}
.tab{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font:600 .95rem/1 var(--sans);color:var(--ink-2);cursor:pointer}
.tab[aria-selected=true]{background:var(--moss);border-color:var(--moss);color:#fff}
.group{margin-bottom:34px}
.group h3{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:1.45rem;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:0}
.badge{font:700 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:var(--moss-soft);color:var(--moss)}
.badge.eco{background:var(--sand);color:var(--ink-2)}
.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--line)}
.item .n{font-weight:600;line-height:1.25}
.item .n small{display:block;font-weight:400;color:var(--muted);font-size:.9rem}
.item .p{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;text-align:right}
.item .p small{font-weight:400;color:var(--muted)}
.item.in{background:linear-gradient(90deg,var(--rust-soft),transparent 80%)}
@media (max-width:820px){.items{grid-template-columns:1fr}}
.step{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff;overflow:hidden}
.step button{width:36px;height:36px;border:0;background:transparent;font:600 1.2rem/1 var(--sans);color:var(--moss);cursor:pointer}
.step button:hover{background:var(--moss-soft)}
.step output{min-width:44px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;font-size:.92rem}
.step.zero output{color:var(--muted);font-weight:400}
.add{border:1.5px solid var(--moss);color:var(--moss);background:#fff;border-radius:999px;height:36px;padding:0 14px;font:600 .92rem/1 var(--sans);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.add:hover{background:var(--moss);color:#fff}
.price-note{font-size:.95rem;color:var(--muted);margin-top:8px}

/* Order */
.order{background:var(--moss);color:#f1ede3}
.order h2,.order h3{color:#fff}
.order .eyebrow{color:#f3c8a6}
.order-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
.order-sum{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:24px}
.order-sum ul{list-style:none;padding:0;margin:0 0 12px}
.order-sum li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.order-sum li button{background:none;border:0;color:#f3c8a6;cursor:pointer;font:inherit;font-size:.9rem;text-decoration:underline}
.order-sum .empty{opacity:.8}
.form{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.form h3{color:var(--ink)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.f label{font-weight:600;font-size:.95rem}
.f label small{font-weight:400;color:var(--muted)}
.f input,.f select,.f textarea{font:inherit;font-size:1rem;padding:12px 14px;border-radius:var(--radius-s);border:1.5px solid var(--line);background:#fff;color:var(--ink);width:100%}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px var(--moss-soft)}
.f textarea{min-height:90px;resize:vertical}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.form-foot{font-size:.9rem;color:var(--muted);margin:14px 0 0}
.copy-ok{color:var(--ok);font-weight:600}
@media (max-width:900px){.order-grid{grid-template-columns:1fr}}
.bullets{list-style:none;padding:0;margin:22px 0}
.bullets li{display:flex;gap:12px;margin-bottom:12px}
.bullets svg{flex:none;width:22px;height:22px;color:#9fd7a3;margin-top:3px}

/* Termine */
.termine{background:var(--cream)}
@media (max-width:520px){.topbar a{display:none}}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;list-style:none;padding:0;margin:30px 0 20px}
.t{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.t .d{font:600 1.15rem/1.2 var(--serif)}
.t .h{color:var(--ink-2)}
.t button{align-self:flex-start;margin-top:8px;background:none;border:0;padding:0;color:var(--moss);font:600 .88rem/1 var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.t.off{background:transparent;border-style:dashed}
.t.off .d{color:var(--muted)}
.t.off .h{color:var(--muted);font-style:italic}
.t.today{border:2px solid var(--rust);box-shadow:var(--shadow)}
.t.today .tag{align-self:flex-start;background:var(--rust);color:#fff;font:700 .7rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;margin-bottom:4px}
.t.past{display:none}

/* Story */
.story blockquote{margin:28px 0 0;padding:22px 24px;background:var(--cream);border-left:4px solid var(--rust);border-radius:0 var(--radius-s) var(--radius-s) 0;font:italic 400 1.15rem/1.5 var(--serif);color:var(--ink-2)}
.founders{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.founders li{background:var(--rust-soft);color:#7c3214;border-radius:999px;padding:6px 12px;font-weight:600;font-size:.92rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}
.stat{text-align:center;padding:26px 12px;border-radius:var(--radius);background:var(--moss-soft)}
.stat b{display:block;font:600 3rem/1 var(--serif);color:var(--moss)}
.stat span{display:block;margin-top:8px;color:var(--ink-2);font-weight:600;line-height:1.3}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}}

/* Gallery */
.gallery{background:var(--ink);color:#efe9dc}
.gallery h2{color:#fff}
.gallery .eyebrow{color:#e9b48e}
.ggrid{columns:3 280px;column-gap:14px;margin-top:36px}
.ggrid figure{break-inside:avoid;margin:0 0 14px;position:relative;border-radius:14px;overflow:hidden;background:#2b261f}
.ggrid img{width:100%;height:auto;transition:transform .5s ease}
.ggrid figure:hover img{transform:scale(1.03)}
.ggrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));font:italic 500 1rem/1.3 var(--serif);color:#fff}

/* Breeding */
.zucht{background:var(--rust-soft)}
.zucht .box{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.zucht .note{background:#fff;border-radius:var(--radius);padding:24px;border:1px solid #efc9b1}
@media (max-width:820px){.zucht .box{grid-template-columns:1fr}}

/* News */
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
.card .in{padding:22px;display:flex;flex-direction:column;flex:1}
.card time{color:var(--muted);font-size:.9rem;margin-bottom:6px}
.card details{margin-top:auto}
.card summary{cursor:pointer;color:var(--moss);font-weight:600}
.card details ul{padding-left:20px;margin:12px 0 0;font-size:.98rem}
.card details li{margin-bottom:6px}
@media (max-width:900px){.ngrid{grid-template-columns:1fr}}

/* FAQ */
.faq{background:var(--cream)}
.faq-list{max-width:820px;margin:30px auto 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:1.06rem;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--sans);color:var(--rust);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);margin:0 0 18px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* Visit */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.vcard address{font-style:normal;font-size:1.15rem;line-height:1.5;margin-bottom:18px}
.vcard .btns{display:flex;gap:10px;flex-wrap:wrap}
.clist{list-style:none;margin:0;padding:0}
.clist li{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);align-items:center}
.clist li:last-child{border:0}
.clist svg{width:22px;height:22px;color:var(--rust);flex:none}
.clist a{font-weight:700;text-decoration:none;color:var(--ink)}
.clist small{display:block;color:var(--muted)}
@media (max-width:820px){.visit-grid{grid-template-columns:1fr}}

/* Final CTA */
.final{position:relative;color:#fff;overflow:hidden;padding:120px 0;background:#2a2a1f}
.final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.final .wrap{position:relative}
.final h2{color:#fff;max-width:16em}
.final p{max-width:36em;color:#f1ece1;font-size:1.15rem}

/* Footer */
.footer{background:#17140f;color:#bdb3a2;padding:56px 0 110px;font-size:.95rem}
.footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.footer b{color:#fff;font-family:var(--serif);font-size:1.2rem;font-weight:600}
.footer a{color:#e7dfd0}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin-bottom:6px}
@media (max-width:820px){.footer .wrap{grid-template-columns:1fr}}

/* Sticky mobile CTA */
.dock{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:none;gap:8px;background:var(--ink);border-radius:999px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.3)}
.dock a{flex:1;justify-content:center;padding:13px 10px;font-size:.95rem}
.dock .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
@media (max-width:820px){.dock{display:flex;transform:translateY(140%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.dock.show{transform:none;opacity:1;pointer-events:auto}}
.after-send{margin-top:16px;padding:18px;border-radius:var(--radius-s);background:var(--moss-soft);font-size:.98rem}
.after-send p{margin:0 0 10px}
.after-send textarea{width:100%;font:inherit;font-size:.9rem;padding:10px;border:1.5px solid var(--line);border-radius:8px;background:#fff;resize:vertical}
.dock.has-cart .btn-primary::after{content:attr(data-count);background:#fff;color:var(--rust);border-radius:999px;font-size:.75rem;padding:2px 7px;margin-left:4px}

/* Toast */
.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-weight:600;z-index:60;transition:.25s;pointer-events:none;font-size:.95rem}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:821px){.toast{bottom:28px}}

/* Legal pages */
.legal{max-width:820px;margin:0 auto;padding:64px 20px 96px}
.legal h1{font-size:clamp(2rem,4vw,3rem)}
.legal h2{font-size:1.5rem;margin-top:1.6em}
.legal p,.legal li{color:var(--ink-2)}

/* Reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.live i{animation:none}}
:focus-visible{outline:3px solid var(--rust-2);outline-offset:3px}
