/* variety: soft-minimal | full-bleed-overlay | warm-earth | equal | bordered | institutional | head-two-row-strip | classic-numbered */

:root{
  --c-bg:#f6f4ee;
  --c-fg:#23271f;
  --c-muted:#5f6657;
  --c-accent:#4a6b3d;
  --c-dark:#1c2318;
  --c-on-dark:#eef2e6;
  --cover-ink:12,11,10;
  --paper:246,244,238;
  --space-1:4px;
  --space-2:8px;
  --space-3:16px;
  --space-4:28px;
  --space-5:48px;
  --space-6:80px;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:16px;
  --font-display:"Libre Franklin","Helvetica Neue",Arial,sans-serif;
  --font-body:"Source Serif 4",Georgia,"Times New Roman",serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--c-bg);
  color:var(--c-fg);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.6;
  font-weight:400;
}
img{display:block}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-0.01em;line-height:1.1}

.wrap{
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  padding-inline:24px;
}
@media (min-width:1025px){.wrap{padding-inline:48px}}

/* ====== BUTTONS ====== */
.btn{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-body);
  font-size:0.9375rem;font-weight:600;
  padding:14px 26px;border-radius:var(--radius-sm);
  letter-spacing:0.02em;
}
.btn--accent{background:var(--c-accent);color:#fff}
.btn--outline{background:transparent;color:var(--c-fg);border:1px solid var(--c-fg)}

/* ====== EYEBROWS ====== */
.section-eyebrow{
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.12em;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.section-eyebrow--light{color:var(--c-on-dark);opacity:.82}

/* ====== COVER / HERO ====== */
.cover{
  position:relative;
  background-color:#0c0b0a;
  min-height:660px;
}
@media (max-width:1024px){.cover{min-height:540px}}

.site-header{
  position:absolute;top:0;inset-inline:0;z-index:3;
}
.strip{
  background:var(--c-dark);
  color:var(--c-on-dark);
  height:32px;display:flex;align-items:center;
}
.strip__wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.strip__addr,.strip__tel{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:0.75rem;font-weight:500;letter-spacing:0.03em;
  color:var(--c-on-dark);
}
.mainrow{height:76px;display:flex;align-items:center}
.mainrow__wrap{display:flex;align-items:center;width:100%}
.brand{display:inline-flex;align-items:center;gap:var(--space-2);color:#fff}
.brand__mark{color:#fff}
.brand__name{
  font-family:var(--font-display);font-size:1.25rem;font-weight:700;
  letter-spacing:0.01em;color:#fff;
}

.cover__photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:70% 50%;
  opacity:.6;z-index:0;display:block;
}
.cover__scrim{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to top, rgba(var(--cover-ink),.94) 0%, rgba(var(--cover-ink),.80) 30%, rgba(var(--cover-ink),.55) 55%, rgba(var(--cover-ink),.22) 78%, rgba(var(--cover-ink),0) 100%),
    linear-gradient(to right, rgba(var(--cover-ink),.55) 0%, rgba(var(--cover-ink),0) 62%);
}
.cover__wrap{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:660px;
  padding-block:128px 56px;
}
@media (max-width:1024px){.cover__wrap{min-height:540px;padding-block:116px 48px}}

.cover__eyebrow{
  display:flex;align-items:center;gap:var(--space-3);
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.14em;
  color:rgba(var(--paper),.78);
}
.cover__eyebrow::after{content:"";flex:1;height:1px;background:rgba(var(--paper),.22)}

.cover__bottom{
  display:flex;align-items:flex-end;justify-content:space-between;gap:48px;
}
.cover__copy{max-width:620px}
.cover__title{
  max-width:15ch;
  font-size:clamp(2.6rem,5.4vw,4.4rem);
  line-height:1.03;letter-spacing:-0.02em;
  color:#fff;
}
.cover__lead{
  max-width:42ch;
  font-size:1rem;line-height:1.55;
  color:rgba(var(--paper),.82);
  margin-top:20px;
}
.cover__actions{
  display:flex;align-items:center;gap:28px;
  margin-top:28px;
}
.textlink{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:0.9375rem;font-weight:500;color:#fff;
  position:relative;
}
.textlink::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:#fff;
}
.textlink svg{position:relative}
.cover__caption{
  max-width:220px;text-align:right;
  font-size:0.6875rem;line-height:1.5;
  color:rgba(var(--paper),.62);
  padding-top:var(--space-2);
  border-top:1px solid rgba(var(--paper),.22);
}
@media (max-width:900px){
  .cover__bottom{flex-direction:column;align-items:flex-start;gap:28px}
  .cover__caption{text-align:left;max-width:none}
}

/* ====== ROOTFIGURES (figure band, dark) ====== */
.rootfigures{
  background:var(--c-dark);
  color:var(--c-on-dark);
  padding-block:var(--space-6);
}
.rootfigures__title{
  font-size:clamp(1.6rem,3vw,2.2rem);
  letter-spacing:-0.01em;
  color:var(--c-on-dark);
  margin-bottom:var(--space-5);
}
.figrow{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);
}
.fig{border-top:1px solid rgba(238,242,230,.22);padding-top:var(--space-3)}
.fig__num{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.5rem,5vw,3.4rem);line-height:1;
  letter-spacing:-0.02em;color:var(--c-on-dark);
  display:flex;align-items:baseline;gap:var(--space-2);
}
.fig__unit{font-size:1rem;font-weight:500;color:var(--c-on-dark);opacity:.72}
.fig__cap{
  font-size:0.8125rem;font-weight:400;
  color:var(--c-on-dark);opacity:.72;
  margin-top:var(--space-2);
}
.fig--light .fig__num{color:var(--c-fg)}
.fig--light .fig__unit{color:var(--c-muted);opacity:1}
.fig--light .fig__cap{color:var(--c-muted);opacity:1}
.fig--light{border-top-color:rgba(35,39,31,.18)}

/* ====== SPLIT ====== */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center;
}
.split--reverse .split__media{order:2}
.split__media{
  aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md);
  border:1px solid rgba(35,39,31,.12);
}
.split__media img{width:100%;height:100%;object-fit:cover;display:block}
.split__title{
  font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-3);
}
@media (max-width:900px){
  .split{grid-template-columns:1fr}
  .split--reverse .split__media{order:0}
}

.lead{
  font-size:1.0625rem;line-height:1.65;color:var(--c-fg);max-width:68ch;
  margin-bottom:var(--space-3);
}
.body{
  font-size:1rem;line-height:1.7;color:var(--c-muted);max-width:68ch;
  margin-bottom:var(--space-4);
}
.lead--center{margin-inline:auto;text-align:center}
.lead--light{color:var(--c-on-dark);opacity:.9}

.checklist{display:flex;flex-direction:column;gap:var(--space-3)}
.checklist li{
  display:flex;align-items:flex-start;gap:var(--space-3);
  font-size:1rem;color:var(--c-fg);
}
.checklist svg{color:var(--c-accent);flex-shrink:0;margin-top:3px}

.leafpromise{padding-block:var(--space-6)}

/* ====== CARELOOP ====== */
.careloop{padding-block:var(--space-6)}
.careloop__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-3);text-align:center;
}
.careloop .lead--center{margin-bottom:var(--space-5)}

.cardgrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);
}
.card{
  border:1px solid rgba(35,39,31,.14);
  border-radius:var(--radius-md);
  padding:var(--space-4);
  background:var(--c-bg);
  display:flex;flex-direction:column;
}
.card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--radius-sm);
  border:1px solid rgba(74,107,61,.3);color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.card__eyebrow{
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;letter-spacing:0.05em;
  text-transform:uppercase;color:var(--c-accent);
  margin-bottom:var(--space-2);
}
.card__title{
  font-size:1.1875rem;color:var(--c-fg);margin-bottom:var(--space-2);
}
.card__text{
  font-size:1rem;line-height:1.6;color:var(--c-muted);
  margin-bottom:var(--space-3);flex:1;
}
.card__meta{
  font-size:0.8125rem;font-weight:500;letter-spacing:0.03em;
  color:var(--c-muted);
  padding-top:var(--space-3);border-top:1px solid rgba(35,39,31,.12);
}

/* ====== GREENPATH ====== */
.greenpath{padding-block:var(--space-6)}
.greenpath__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-3);
}
.greenpath .lead{margin-bottom:var(--space-5)}
.steps{
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5) var(--space-5);
}
.step{display:flex;gap:var(--space-3);align-items:flex-start}
.step__num{
  font-family:var(--font-display);font-weight:700;
  font-size:0.9375rem;letter-spacing:0.04em;
  color:#fff;background:var(--c-accent);
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.step__title{font-size:1.1875rem;color:var(--c-fg);margin-bottom:var(--space-2)}
.step__text{font-size:1rem;line-height:1.6;color:var(--c-muted)}
@media (max-width:640px){.steps{grid-template-columns:1fr}}

/* ====== HABITATGRID (dark) ====== */
.habitatgrid{
  background:var(--c-dark);color:var(--c-on-dark);
  padding-block:var(--space-6);
}
.habitatgrid__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-on-dark);margin-bottom:var(--space-3);text-align:center;
}
.habitatgrid .lead--center{margin-bottom:var(--space-5)}
.card--dark{
  background:#242c1c;
  border:1px solid rgba(238,242,230,.16);
  color:var(--c-on-dark);
}
.card--dark .card__icon{color:#9cc088;border-color:rgba(156,192,136,.4)}
.card--dark .card__eyebrow{color:#9cc088}
.card--dark .card__title{color:var(--c-on-dark)}
.card--dark .card__text{color:var(--c-on-dark);opacity:.82}
.card--dark .card__meta{color:var(--c-on-dark);opacity:.72;border-top-color:rgba(238,242,230,.16)}

/* ====== LIVINGWALL ====== */
.livingwall{padding-block:var(--space-6)}

/* ====== PLANS ====== */
.plans{padding-block:var(--space-6)}
.plans__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-3);text-align:center;
}
.plans .lead--center{margin-bottom:var(--space-5)}
.plangrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);
  align-items:start;
}
.plan{
  border:1px solid rgba(35,39,31,.14);
  border-radius:var(--radius-md);
  padding:var(--space-4);
  background:var(--c-bg);
  display:flex;flex-direction:column;position:relative;
}
.plan__img{
  width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  border-radius:var(--radius-sm);margin-bottom:var(--space-3);
}
.plan__eyebrow{
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--space-1);
}
.plan__name{font-size:1.375rem;color:var(--c-fg);margin-bottom:var(--space-2)}
.plan__price{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2rem,4vw,2.6rem);line-height:1;letter-spacing:-0.02em;
  color:var(--c-fg);display:flex;align-items:baseline;gap:var(--space-1);
  margin-bottom:var(--space-3);
}
.plan__unit{font-size:0.9375rem;font-weight:500;color:var(--c-muted)}
.plan__feats{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);flex:1}
.plan__feats li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:0.9375rem;color:var(--c-fg)}
.plan__feats svg{color:var(--c-accent);flex-shrink:0;margin-top:3px}
.plan .btn{justify-content:center;width:100%;min-height:48px;min-width:48px}
.plan--promoted{
  border:2px solid var(--c-accent);
  background:#eef1e8;
}
.plan__badge{
  position:absolute;top:-12px;left:var(--space-4);
  background:var(--c-accent);color:#fff;
  font-family:var(--font-display);
  font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;
  text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-sm);
}
@media (max-width:900px){.plangrid{grid-template-columns:1fr}}

/* ====== POTSHOP ====== */
.potshop{padding-block:var(--space-6);background:var(--c-dark);color:var(--c-on-dark)}
.potshop__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-on-dark);margin-bottom:var(--space-3);text-align:center;
}
.potshop .lead--center{color:var(--c-on-dark);opacity:.9;margin-bottom:var(--space-5)}
.prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.prod{
  border:1px solid rgba(238,242,230,.16);
  border-radius:var(--radius-md);overflow:hidden;
  background:#242c1c;display:flex;flex-direction:column;
}
.prod__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.prod__body{padding:var(--space-4);display:flex;flex-direction:column;flex:1}
.prod__eyebrow{
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;letter-spacing:0.06em;
  text-transform:uppercase;color:#9cc088;margin-bottom:var(--space-1);
}
.prod__title{font-size:1.1875rem;color:var(--c-on-dark);margin-bottom:var(--space-2)}
.prod__text{font-size:0.9375rem;line-height:1.6;color:var(--c-on-dark);opacity:.82;margin-bottom:var(--space-3);flex:1}
.prod__price{
  font-family:var(--font-display);font-weight:700;
  font-size:1.75rem;line-height:1;letter-spacing:-0.02em;
  color:var(--c-on-dark);display:flex;align-items:baseline;gap:var(--space-1);
  margin-bottom:var(--space-3);
}
.prod__unit{font-size:0.875rem;font-weight:500;color:var(--c-on-dark);opacity:.72}
.prod .btn--outline{color:var(--c-on-dark);border-color:var(--c-on-dark);justify-content:center}

/* ====== SEASONWATCH ====== */
.seasonwatch{padding-block:var(--space-6)}
.seasonwatch__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-5);
}

/* ====== VOICELEAF (dark) ====== */
.voiceleaf{background:var(--c-dark);color:var(--c-on-dark);padding-block:var(--space-6)}
.quote{max-width:68ch}
.quote__mark{color:#9cc088;margin-bottom:var(--space-3)}
.quote__text{
  font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.5;
  color:var(--c-on-dark);margin-bottom:var(--space-4);
}
.quote__by{display:flex;flex-direction:column;gap:2px}
.quote__name{
  font-family:var(--font-display);font-size:0.9375rem;font-weight:600;
  letter-spacing:0.03em;color:var(--c-on-dark);
}
.quote__role{font-size:0.8125rem;color:var(--c-on-dark);opacity:.7}

/* ====== CORPORATEPACT ====== */
.corporatepact{padding-block:var(--space-6)}

/* ====== ASKLEAF ====== */
.askleaf{padding-block:var(--space-6)}
.askleaf__inner{max-width:1200px}
.askleaf__title{
  font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-0.01em;
  color:var(--c-fg);margin-bottom:var(--space-5);
}
.accordion{display:flex;flex-direction:column;border-top:1px solid rgba(35,39,31,.14);max-width:860px}
.acc{border-bottom:1px solid rgba(35,39,31,.14)}
.acc__head{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:var(--space-4) 0;text-align:left;
  font-family:var(--font-display);font-size:1.0625rem;font-weight:600;
  color:var(--c-fg);
}
.acc__chev{color:var(--c-accent);flex-shrink:0;transition:none}
.acc__head[aria-expanded="true"] .acc__chev{transform:rotate(180deg)}
.acc__panel{display:none;padding:0 0 var(--space-4)}
.acc__panel p{font-size:1rem;line-height:1.65;color:var(--c-muted);max-width:68ch}
.acc__head[aria-expanded="true"]+.acc__panel{display:block}

/* ====== STARTGROWING (dark) ====== */
.startgrowing{background:var(--c-dark);color:var(--c-on-dark);padding-block:var(--space-6)}
.startgrowing__inner{max-width:860px;text-align:center;margin-inline:auto}
.startgrowing .section-eyebrow--light{text-align:center}
.startgrowing__title{
  font-size:clamp(1.8rem,3.8vw,2.8rem);letter-spacing:-0.01em;
  color:var(--c-on-dark);margin-bottom:var(--space-3);
}
.startgrowing .lead--light{margin-bottom:var(--space-4);margin-inline:auto}

/* ====== CONTACTSGARDEN ====== */
.contactsgarden{padding-block:var(--space-5)}
.contactlist{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}
.contactlist li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:1rem;color:var(--c-fg)}
.contactlist svg{color:var(--c-accent);flex-shrink:0;margin-top:3px}
.contactlist__key{
  display:block;
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--c-muted);margin-bottom:2px;
}
.contactlist a{color:var(--c-accent)}
.mappanel{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  border-radius:var(--radius-md);border:1px solid rgba(35,39,31,.14);
}
.mappanel__bg{width:100%;height:100%;object-fit:cover;display:block}
.mappanel__pin{
  position:absolute;bottom:var(--space-3);left:var(--space-3);
  display:inline-flex;align-items:center;gap:var(--space-2);
  background:var(--c-bg);color:var(--c-fg);
  font-family:var(--font-display);font-size:0.8125rem;font-weight:600;
  letter-spacing:0.03em;padding:6px 12px;border-radius:var(--radius-sm);
  border:1px solid rgba(35,39,31,.14);
}
.mappanel__pin svg{color:var(--c-accent)}

/* ====== FOOTER ====== */
.sitefooter{background:var(--c-dark);color:var(--c-on-dark)}
.sitefooter__top{
  display:flex;justify-content:space-between;gap:var(--space-5);
  padding-block:var(--space-6) var(--space-5);
}
.footnav__label{
  font-family:var(--font-display);
  font-size:0.75rem;font-weight:500;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--c-on-dark);opacity:.6;
  margin-bottom:var(--space-3);
}
.footnav ul{display:flex;flex-direction:column;gap:var(--space-2)}
.footnav a{display:inline-flex;align-items:center;min-height:28px;min-width:28px;font-size:0.9375rem;color:var(--c-on-dark);opacity:.9}
.footbrand{text-align:right}
.footbrand__name{
  font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;
  letter-spacing:0.01em;color:var(--c-on-dark);
}
.footbrand__tag{font-size:0.9375rem;color:var(--c-on-dark);opacity:.72;margin-top:var(--space-2)}
.sitefooter__bottom{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding-block:var(--space-4);
  border-top:1px solid rgba(238,242,230,.16);
}
.copyright{font-size:0.8125rem;color:var(--c-on-dark);opacity:.7}
.cookie-settings-btn{
  min-height:28px;min-width:28px;padding:4px 2px;
  font-family:var(--font-body);
  font-size:0.8125rem;font-weight:500;letter-spacing:0.03em;
  color:var(--c-on-dark);opacity:.85;
  text-decoration:underline;text-underline-offset:3px;
}
@media (max-width:900px){
  .sitefooter__top{flex-direction:column;gap:var(--space-5)}
  .footbrand{text-align:left}
}

/* ====== COOKIE BANNER ====== */
.is-hidden{display:none}
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  background:var(--c-dark);color:var(--c-on-dark);
  border-top:1px solid rgba(238,242,230,.16);
}
.cookie-banner__inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  padding-block:var(--space-3);
}
.cookie-banner__text{font-size:0.875rem;line-height:1.55;color:var(--c-on-dark);opacity:.9;max-width:68ch}
.cookie-banner__text a{color:#9cc088;text-decoration:underline;text-underline-offset:2px}
.cookie-banner__actions{display:flex;gap:var(--space-2);flex-shrink:0;flex-wrap:wrap}
.cookie-banner__actions .btn{padding:10px 18px;font-size:0.875rem}
.cookie-banner__actions .btn--outline{color:var(--c-on-dark);border-color:var(--c-on-dark)}
@media (max-width:900px){.cookie-banner__inner{flex-direction:column;align-items:flex-start}}

/* ====== COOKIE DIALOG ====== */
.cookie-dialog{
  position:fixed;inset:0;z-index:1000;
  background:rgba(12,11,10,.6);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.cookie-dialog__box{
  background:var(--c-bg);color:var(--c-fg);
  border-radius:var(--radius-md);
  max-width:520px;width:100%;
  padding:var(--space-5);
  /* снято: max-height:90vh; — обрезает содержимое */overflow-y:auto;
}
.cookie-dialog__title{font-size:1.5rem;color:var(--c-fg);margin-bottom:var(--space-2)}
.cookie-dialog__lead{font-size:0.9375rem;color:var(--c-muted);margin-bottom:var(--space-4)}
.cookie-cat{padding-block:var(--space-3);border-top:1px solid rgba(35,39,31,.14)}
.cookie-cat__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.cookie-cat__name{font-family:var(--font-display);font-size:0.9375rem;font-weight:600;color:var(--c-fg)}
.cookie-cat__fixed{font-size:0.75rem;font-weight:500;letter-spacing:0.04em;color:var(--c-accent)}
.cookie-cat__desc{font-size:0.8125rem;line-height:1.5;color:var(--c-muted);margin-top:var(--space-2)}
.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
.switch input{opacity:0;position:absolute;inset:0;margin:0;min-width:40px;min-height:24px;width:100%;height:100%}
.switch span{
  position:absolute;inset:0;cursor:pointer;
  background:#c9c3b6;border-radius:999px;transition:none;
}
.switch span::before{
  content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;
  background:#fff;border-radius:50%;transition:none;
}
.switch input:checked+span{background:var(--c-accent)}
.switch input:checked+span::before{left:21px}
.cookie-dialog__actions{
  display:flex;justify-content:flex-end;gap:var(--space-2);
  margin-top:var(--space-4);
}

/* ====== RESPONSIVE GRIDS ====== */
@media (max-width:1024px){
  .cardgrid,.prodgrid{grid-template-columns:repeat(2,1fr)}
  .figrow{gap:var(--space-4)}
}
@media (max-width:640px){
  .cardgrid,.prodgrid,.figrow{grid-template-columns:1fr}
  body{font-size:1rem}
}


/* wh-consent: fixed component, injected after generation */
  .wh-consent { position: fixed; left: max(3vw, 16px); right: max(3vw, 16px); bottom: 16px; z-index: 1000;
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px; justify-content: space-between;
    background: var(--c-fg, #1b1b1b); color: var(--c-bg, #fff); padding: 18px 22px;
    border-radius: var(--radius-md, 10px); box-shadow: 0 10px 40px rgba(0,0,0,.28); }
  .wh-consent p { margin: 0; flex: 1 1 320px; font-size: .95rem; line-height: 1.5; color: var(--c-bg, #fff); }
  .wh-consent a { color: var(--c-bg, #fff); text-decoration: underline; }
  .wh-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
  .wh-consent__btn { font: inherit; font-size: .9rem; padding: 10px 18px; border-radius: var(--radius-sm, 8px);
    border: 1px solid var(--c-bg, #fff); background: transparent; color: var(--c-bg, #fff); cursor: pointer; }
  .wh-consent__btn--primary { background: var(--c-bg, #fff); color: var(--c-fg, #1b1b1b); border-color: var(--c-bg, #fff); }
  .wh-consent__reopen { display: inline-block; margin-top: 12px; background: none; border: 0; padding: 0;
    font: inherit; font-size: .85rem; color: inherit; opacity: .7; text-decoration: underline; cursor: pointer; }
  .wh-consent__reopen:hover { opacity: 1; }
  .wh-consent__dialog { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
    padding: 20px; background: rgba(0,0,0,.45); }
  .wh-consent__panel { width: min(520px, 100%); background: var(--c-bg, #fff); color: var(--c-fg, #1b1b1b);
    border-radius: var(--radius-md, 10px); padding: 26px; display: grid; gap: 14px; }
  .wh-consent__panel h2 { margin: 0; font-size: 1.3rem; color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel p { color: var(--c-fg, #1b1b1b); margin: 0; }
  .wh-consent__opts { display: grid; gap: 10px; }
  .wh-consent__opts label { display: flex; align-items: center; gap: 10px; font-size: .95rem; color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel .wh-consent__btn { border-color: var(--c-fg, #1b1b1b); color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel .wh-consent__btn--primary { background: var(--c-fg, #1b1b1b); color: var(--c-bg, #fff); }
  /* In a column the main axis is vertical, so the paragraph's 320px basis becomes a 320px HEIGHT and
     the bar swells to half the phone screen. Reset it here, not above: on a row it is what keeps the
     text and the buttons on one line. */
  @media (max-width: 640px) { .wh-consent { flex-direction: column; align-items: stretch; } .wh-consent p { flex: 0 0 auto; } .wh-consent__actions { justify-content: stretch; } .wh-consent__btn { flex: 1 1 auto; } }

/* WH-CONTRAST-VERIFIED:START */
/* Measured in a real browser against the painted background, then re-measured.
   2 selector(s) corrected. */
.brand span.brand__name { color: #8a8a8a !important; } /* was #ffffff at 1.1:1, needs 3 */
.potshop .wrap p.section-eyebrow { color: #77906e !important; } /* was #4a6b3d at 2.66:1, needs 4.5 */
/* WH-CONTRAST-VERIFIED:END */

/* WH-LAYOUT-VERIFIED:START */
/* Measured in a real browser: content escaping its container, then re-measured.
   2 container(s) corrected. */
[hidden], .hidden, .is-hidden { display: none !important; } /* div.cookie-dialog was flex at 1440x900 while marked hidden */
[hidden], .hidden, .is-hidden { display: none !important; } /* div.wh-consent__dialog was flex at 1440x900 while marked hidden */
/* WH-LAYOUT-VERIFIED:END */

.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 16px;background:var(--c-dark);color:var(--c-on-dark);font-size:0.9375rem;font-weight:600;border-radius:var(--radius-sm)}
.skip-link:focus{top:12px}

:where(main p a,main li a,main dd a,main td a,main address a,footer a,footer li a){display:inline-block;min-height:24px;box-sizing:border-box;padding-block:2px}
:where(a:not([class]),dialog a,[role="dialog"] a,[role="region"] a){display:inline-block;min-height:24px;box-sizing:border-box;padding-block:2px}
:where(a[href^="tel:"],a[href^="mailto:"]){display:inline-block;min-height:24px;box-sizing:border-box;padding-block:2px}
