@font-face {
  font-family: "Fraunces";
  src: url("../fonts/Fraunces.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/Fraunces-Italic.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root{
  --bg:#f4ede4;
  --bg-alt:#ebe1d2;
  --surface:#ffffff;
  --surface-2:#1a3a2e;
  --surface-3:#2d5a47;
  --text:#2a2926;
  --text-muted:#6b6a66;
  --text-inv:#f4ede4;
  --accent:#c97b5a;
  --accent-2:#8a9a7b;
  --accent-3:#d4a574;
  --border:#d4ccc0;
  --border-dark:#3a3a38;
  --font-display:'Fraunces',serif;
  --font-body:'Manrope',sans-serif;
  --fs-display:clamp(2.8rem,6vw,5.2rem);
  --fs-h1:clamp(2.2rem,4.5vw,3.8rem);
  --fs-h2:clamp(1.8rem,3.2vw,2.6rem);
  --fs-h3:clamp(1.3rem,2vw,1.7rem);
  --fs-body:1rem;
  --fs-small:0.875rem;
  --fs-xs:0.75rem;
  --space-xs:0.5rem;
  --space-sm:1rem;
  --space-md:2rem;
  --space-lg:3.5rem;
  --space-xl:6rem;
  --radius-sm:4px;
  --radius-md:12px;
  --radius-lg:24px;
  --shadow-sm:0 2px 8px rgba(42,41,38,.06);
  --shadow-md:0 8px 24px rgba(42,41,38,.1);
  --shadow-lg:0 20px 48px rgba(42,41,38,.15);
}

*{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  overflow-x:clip;
}
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
main{flex:1 0 auto}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

.container{max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.container-narrow{max-width:960px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.02em}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}

.overline{
  font-family:var(--font-body);
  font-size:var(--fs-xs);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--accent);
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:var(--space-sm);
}
.overline::before{
  content:"◆";
  font-size:.6rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.95rem 1.8rem;
  font-size:var(--fs-small);
  font-weight:600;
  letter-spacing:.02em;
  border-radius:var(--radius-sm);
  transition:all .3s ease;
  min-height:44px;
  min-width:44px;
}
.btn-primary{
  background:var(--surface-2);
  color:var(--text-inv);
}
.btn-primary:hover{
  background:var(--accent);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.btn-accent{
  background:var(--accent);
  color:#fff;
}
.btn-accent:hover{
  background:var(--surface-2);
  transform:translateY(-2px);
}
.btn-outline{
  border:1.5px solid var(--surface-2);
  color:var(--surface-2);
}
.btn-outline:hover{
  background:var(--surface-2);
  color:var(--text-inv);
}
.btn-light{
  background:var(--surface);
  color:var(--surface-2);
}
.btn-light:hover{
  background:var(--accent);
  color:#fff;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .75rem;
  font-size:var(--fs-xs);
  font-weight:600;
  letter-spacing:.05em;
  background:var(--surface);
  color:var(--surface-2);
  border-radius:999px;
  border:1px solid var(--border);
}
.badge-accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.badge-dark{background:var(--surface-2);color:var(--text-inv);border-color:var(--surface-2)}
.badge-ghost{background:transparent;border:1px solid var(--surface-2);color:var(--surface-2)}
.badge-sage{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}

.chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .65rem;
  font-size:.7rem;
  font-weight:700;
  font-family:var(--font-body);
  letter-spacing:.1em;
  text-transform:uppercase;
  background:var(--bg-alt);
  border-radius:var(--radius-sm);
  color:var(--text-muted);
}
.chip-botanical{
  background:var(--surface-2);
  color:var(--text-inv);
  font-family:var(--font-display);
  font-style:italic;
  letter-spacing:.08em;
  text-transform:none;
  font-weight:500;
}

.leaf-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin:var(--space-lg) 0;
  color:var(--accent-2);
  font-size:1.5rem;
}
.leaf-divider::before,
.leaf-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(244,237,228,.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.notice-bar{
  background:var(--surface-2);
  color:var(--text-inv);
  text-align:center;
  padding:.45rem 1rem;
  font-size:var(--fs-xs);
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:600;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 0;
  gap:2rem;
}
.logo{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.logo img{
  width:50px;
  height:50px;
  border-radius:var(--radius-sm);
  object-fit:cover;
}
.logo-text{
  display:flex;
  flex-direction:column;
  line-height:1;
}
.logo-line1{
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:600;
  color:var(--surface-2);
  letter-spacing:-.01em;
}
.logo-line2{
  font-family:var(--font-body);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.25em;
  color:var(--accent);
  margin-top:3px;
}
.nav-menu{
  display:flex;
  align-items:center;
  gap:2rem;
  list-style:none;
}
.nav-menu a{
  font-size:var(--fs-small);
  font-weight:500;
  color:var(--text);
  position:relative;
  padding:.25rem 0;
  transition:color .25s;
}
.nav-menu a::after{
  content:"";
  position:absolute;
  bottom:0;left:0;
  width:0;height:1.5px;
  background:var(--accent);
  transition:width .3s;
}
.nav-menu a:hover{color:var(--accent)}
.nav-menu a:hover::after{width:100%}
.nav-menu a.active{color:var(--accent)}
.nav-menu a.active::after{width:100%}

.burger{
  display:none;
  width:44px;height:44px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
}
.burger span{
  display:block;
  width:24px;height:2px;
  background:var(--surface-2);
  transition:all .3s;
}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{
  position:relative;
  padding:var(--space-lg) 0 var(--space-xl);
  background:
    radial-gradient(ellipse at 85% 20%,rgba(138,154,123,.25),transparent 50%),
    radial-gradient(ellipse at 15% 80%,rgba(201,123,90,.18),transparent 50%),
    var(--bg);
  overflow:hidden;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem 1rem;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:999px;
  font-size:var(--fs-xs);
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:var(--space-md);
}
.hero-eyebrow-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--accent);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(1.3)}
}
.hero h1{
  font-size:var(--fs-display);
  margin-bottom:var(--space-md);
  color:var(--surface-2);
}
.hero h1 em{
  font-style:italic;
  color:var(--accent);
  font-weight:400;
}
.hero-sub{
  font-size:1.125rem;
  color:var(--text-muted);
  max-width:540px;
  margin-bottom:var(--space-md);
}
.hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-bottom:var(--space-lg);
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  padding-top:var(--space-md);
  border-top:1px solid var(--border);
  max-width:540px;
}
.hero-stat-num{
  font-family:var(--font-display);
  font-size:2.2rem;
  font-weight:500;
  color:var(--surface-2);
  line-height:1;
}
.hero-stat-label{
  font-size:var(--fs-xs);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-muted);
  margin-top:.4rem;
}
.hero-visual{
  position:relative;
}
.hero-img{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--shadow-lg);
}
.hero-img img{
  width:100%;height:100%;
  object-fit:cover;
}
.hero-img-badge{
  position:absolute;
  left:-2rem;
  bottom:2rem;
  background:var(--surface);
  padding:1rem 1.25rem;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:200px;
}
.hero-img-badge-icon{
  width:44px;height:44px;
  background:var(--accent-2);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
}
.hero-img-badge-text{
  display:flex;
  flex-direction:column;
}
.hero-img-badge-text strong{
  font-family:var(--font-display);
  font-size:1.1rem;
  color:var(--surface-2);
}
.hero-img-badge-text span{
  font-size:var(--fs-xs);
  color:var(--text-muted);
}
.hero-botanical-tag{
  position:absolute;
  top:2rem;right:-1rem;
  background:var(--surface-2);
  color:var(--text-inv);
  padding:.6rem 1rem;
  border-radius:var(--radius-sm);
  font-family:var(--font-display);
  font-style:italic;
  font-size:var(--fs-small);
  transform:rotate(6deg);
  box-shadow:var(--shadow-md);
}

section{padding:var(--space-xl) 0;position:relative}
section .container,
section .container-narrow{position:relative}

.section-head{
  margin-bottom:var(--space-lg);
  max-width:720px;
}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{
  color:var(--surface-2);
  margin-bottom:var(--space-sm);
}
.section-head h2 em{
  font-style:italic;
  color:var(--accent);
}
.section-head p{
  color:var(--text-muted);
  font-size:1.1rem;
  margin-top:var(--space-sm);
}

.philosophy{
  background:var(--surface-2);
  color:var(--text-inv);
  position:relative;
  overflow:hidden;
}
.philosophy::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(138,154,123,.3),transparent 40%),
    radial-gradient(circle at 80% 70%,rgba(201,123,90,.2),transparent 40%);
  pointer-events:none;
}
.philosophy .overline{color:var(--accent-3)}
.philosophy h2{color:var(--text-inv)}
.philosophy h2 em{color:var(--accent-3)}
.philosophy-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:var(--space-lg);
  align-items:center;
  position:relative;
  z-index:1;
}
.philosophy-visual{
  position:relative;
  aspect-ratio:1/1;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.philosophy-visual img{width:100%;height:100%;object-fit:cover}
.philosophy-visual::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 60%,rgba(201,123,90,.3));
  mix-blend-mode:multiply;
}
.philosophy-quote{
  font-family:var(--font-display);
  font-size:1.6rem;
  font-style:italic;
  line-height:1.4;
  margin:var(--space-md) 0;
  padding-left:var(--space-md);
  border-left:3px solid var(--accent-3);
}
.philosophy-points{
  list-style:none;
  margin-top:var(--space-md);
  display:grid;
  gap:1rem;
}
.philosophy-points li{
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.philosophy-points-icon{
  width:36px;height:36px;
  background:var(--accent-3);
  color:var(--surface-2);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-weight:700;
}
.philosophy-points strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.1rem;
  margin-bottom:.25rem;
  color:var(--text-inv);
}
.philosophy-points span{
  color:rgba(244,237,228,.8);
  font-size:var(--fs-small);
}

.categories{
  background:var(--bg);
  position:relative;
}
.categories::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(212,204,192,.15) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,204,192,.15) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
.cat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  position:relative;
  z-index:1;
}
.cat-card{
  background:var(--surface);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:all .4s cubic-bezier(.4,0,.2,1);
  position:relative;
  display:flex;
  flex-direction:column;
}
.cat-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}
.cat-card-img{
  aspect-ratio:4/3;
  overflow:hidden;
  position:relative;
}
.cat-card-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s;
}
.cat-card:hover .cat-card-img img{transform:scale(1.08)}
.cat-card-code{
  position:absolute;
  top:1rem;right:1rem;
  background:var(--surface-2);
  color:var(--text-inv);
  padding:.3rem .65rem;
  font-family:var(--font-display);
  font-style:italic;
  font-size:var(--fs-xs);
  border-radius:var(--radius-sm);
}
.cat-card-body{
  padding:1.5rem;
  flex:1;
  display:flex;
  flex-direction:column;
}
.cat-card-body h3{
  color:var(--surface-2);
  margin-bottom:.5rem;
}
.cat-card-body p{
  color:var(--text-muted);
  font-size:var(--fs-small);
  margin-bottom:1rem;
  flex:1;
}
.cat-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-bottom:1rem;
}
.cat-card-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:var(--fs-small);
  font-weight:600;
  color:var(--accent);
  transition:gap .25s;
}
.cat-card-link:hover{gap:.8rem}

.features{
  background:var(--bg-alt);
  position:relative;
}
.features-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:var(--space-lg);
  align-items:center;
}
.features-list{
  display:grid;
  gap:1.25rem;
}
.feature-item{
  background:var(--surface);
  padding:1.5rem;
  border-radius:var(--radius-md);
  border-left:4px solid var(--accent);
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  transition:all .3s;
}
.feature-item:hover{
  transform:translateX(8px);
  box-shadow:var(--shadow-md);
}
.feature-item:nth-child(2){border-left-color:var(--accent-2)}
.feature-item:nth-child(3){border-left-color:var(--accent-3)}
.feature-item:nth-child(4){border-left-color:var(--surface-2)}
.feature-icon{
  width:52px;height:52px;
  background:var(--bg);
  color:var(--accent);
  border-radius:var(--radius-sm);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  flex-shrink:0;
}
.feature-item:nth-child(2) .feature-icon{color:var(--accent-2)}
.feature-item:nth-child(3) .feature-icon{color:var(--accent-3)}
.feature-item:nth-child(4) .feature-icon{color:var(--surface-2)}
.feature-text h3{
  color:var(--surface-2);
  margin-bottom:.35rem;
  font-size:1.25rem;
}
.feature-text p{
  color:var(--text-muted);
  font-size:var(--fs-small);
}
.feature-text .chip{margin-top:.5rem}
.features-visual{
  position:relative;
  aspect-ratio:3/4;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.features-visual img{width:100%;height:100%;object-fit:cover}
.features-visual-overlay{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:1.5rem;
  background:linear-gradient(transparent,rgba(26,58,46,.95));
  color:var(--text-inv);
}
.features-visual-overlay h4{
  font-family:var(--font-display);
  font-size:1.3rem;
  margin-bottom:.5rem;
}
.features-visual-overlay p{
  font-size:var(--fs-xs);
  opacity:.85;
}

.bestsellers{
  background:var(--surface);
  position:relative;
}
.best-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.best-card{
  background:var(--bg);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:all .3s;
  position:relative;
}
.best-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
}
.best-card-img{
  aspect-ratio:1/1;
  overflow:hidden;
  position:relative;
  background:var(--bg-alt);
}
.best-card-img img{width:100%;height:100%;object-fit:cover}
.best-card-tag{
  position:absolute;
  top:1rem;left:1rem;
  background:var(--accent);
  color:#fff;
  padding:.25rem .6rem;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-radius:var(--radius-sm);
}
.best-card-code{
  position:absolute;
  bottom:1rem;right:1rem;
  background:rgba(26,58,46,.9);
  color:var(--text-inv);
  padding:.25rem .5rem;
  font-family:var(--font-display);
  font-style:italic;
  font-size:.7rem;
  border-radius:var(--radius-sm);
  backdrop-filter:blur(8px);
}
.best-card-body{
  padding:1.25rem;
}
.best-card-body h4{
  font-family:var(--font-display);
  color:var(--surface-2);
  font-size:1.1rem;
  margin-bottom:.25rem;
}
.best-card-latin{
  font-family:var(--font-display);
  font-style:italic;
  color:var(--text-muted);
  font-size:var(--fs-xs);
  margin-bottom:.75rem;
}
.best-card-specs{
  display:flex;
  gap:.4rem;
  flex-wrap:wrap;
  margin-bottom:.75rem;
}
.best-card-price{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:.75rem;
  border-top:1px solid var(--border);
}
.best-card-price strong{
  font-family:var(--font-display);
  font-size:1.25rem;
  color:var(--accent);
}

.advantages-strip{
  background:var(--surface-2);
  color:var(--text-inv);
  padding:var(--space-lg) 0;
  position:relative;
  overflow:hidden;
}
.advantages-strip::before{
  content:"❦";
  position:absolute;
  left:-2rem;top:50%;
  transform:translateY(-50%);
  font-size:15rem;
  color:var(--accent-3);
  opacity:.08;
}
.advantages-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
  position:relative;
  z-index:1;
}
.advantage-item{
  text-align:center;
  padding:1rem;
}
.advantage-num{
  font-family:var(--font-display);
  font-size:3.5rem;
  font-weight:500;
  line-height:1;
  color:var(--accent-3);
  margin-bottom:.5rem;
}
.advantage-label{
  font-size:var(--fs-small);
  text-transform:uppercase;
  letter-spacing:.15em;
  opacity:.85;
  margin-bottom:.5rem;
}
.advantage-desc{
  font-size:var(--fs-xs);
  opacity:.7;
  line-height:1.5;
}

.process{
  background:var(--bg);
  position:relative;
}
.process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  position:relative;
  margin-top:var(--space-md);
}
.process-timeline::before{
  content:"";
  position:absolute;
  top:32px;left:12.5%;right:12.5%;
  height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3),var(--surface-2));
  z-index:0;
}
.process-step{
  position:relative;
  z-index:1;
  text-align:center;
}
.process-step-num{
  width:64px;height:64px;
  background:var(--surface);
  border:2px solid var(--accent);
  border-radius:50%;
  margin:0 auto 1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--accent);
  font-weight:500;
  position:relative;
}
.process-step:nth-child(2) .process-step-num{border-color:var(--accent-2);color:var(--accent-2)}
.process-step:nth-child(3) .process-step-num{border-color:var(--accent-3);color:var(--accent-3)}
.process-step:nth-child(4) .process-step-num{border-color:var(--surface-2);color:var(--surface-2)}
.process-step h4{
  font-family:var(--font-display);
  color:var(--surface-2);
  margin-bottom:.5rem;
  font-size:1.15rem;
}
.process-step p{
  font-size:var(--fs-small);
  color:var(--text-muted);
  max-width:220px;
  margin:0 auto;
}

.cta-banner{
  background:
    linear-gradient(135deg,rgba(26,58,46,.92),rgba(45,90,71,.9)),
    var(--surface-2);
  color:var(--text-inv);
  padding:var(--space-xl) 0;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-banner::before{
  content:"✦";
  position:absolute;
  left:10%;top:20%;
  font-size:5rem;
  color:var(--accent-3);
  opacity:.15;
}
.cta-banner::after{
  content:"✦";
  position:absolute;
  right:10%;bottom:20%;
  font-size:5rem;
  color:var(--accent-3);
  opacity:.15;
}
.cta-banner h2{
  font-size:var(--fs-h1);
  margin-bottom:var(--space-sm);
}
.cta-banner h2 em{font-style:italic;color:var(--accent-3)}
.cta-banner p{
  font-size:1.15rem;
  max-width:640px;
  margin:0 auto var(--space-md);
  opacity:.9;
}
.cta-banner .btn{font-size:1rem;padding:1.1rem 2.4rem}

.form-section{
  background:var(--bg-alt);
  padding:var(--space-xl) 0;
}
.form-wrapper{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:var(--space-lg);
  align-items:center;
}
.form-info h2{color:var(--surface-2)}
.form-info h2 em{font-style:italic;color:var(--accent)}
.form-info p{
  color:var(--text-muted);
  margin:var(--space-sm) 0 var(--space-md);
  font-size:1.05rem;
}
.form-contacts{
  display:grid;
  gap:1rem;
}
.form-contact-item{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem;
  background:var(--surface);
  border-radius:var(--radius-md);
  border-left:3px solid var(--accent);
}
.form-contact-icon{
  width:44px;height:44px;
  background:var(--surface-2);
  color:var(--text-inv);
  border-radius:var(--radius-sm);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
}
.form-contact-text strong{
  display:block;
  font-family:var(--font-display);
  color:var(--surface-2);
  font-size:1rem;
  margin-bottom:.15rem;
}
.form-contact-text span{
  font-size:var(--fs-small);
  color:var(--text-muted);
}
.form-box{
  background:var(--surface);
  padding:clamp(1.5rem,4vw,2.5rem);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  position:relative;
}
.form-box::before{
  content:"";
  position:absolute;
  top:-2px;left:-2px;right:-2px;bottom:-2px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border-radius:var(--radius-lg);
  z-index:-1;
  opacity:.3;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1rem;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.form-field.full{grid-column:1/-1}
.form-field label{
  font-size:var(--fs-xs);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-muted);
}
.form-field input,
.form-field select,
.form-field textarea{
  font-family:var(--font-body);
  font-size:1rem;
  padding:.85rem 1rem;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg);
  color:var(--text);
  transition:border-color .25s;
  min-height:44px;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:var(--accent);
}
.form-field textarea{
  min-height:110px;
  resize:vertical;
}
.form-checkbox{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin:1rem 0 1.5rem;
  font-size:var(--fs-xs);
  color:var(--text-muted);
}
.form-checkbox input{
  margin-top:.15rem;
  flex-shrink:0;
  width:18px;height:18px;
  accent-color:var(--accent);
}
.form-checkbox a{
  color:var(--accent);
  text-decoration:underline;
}
.form-submit{
  width:100%;
  padding:1.1rem;
  background:var(--surface-2);
  color:var(--text-inv);
  font-size:1rem;
  font-weight:600;
  border-radius:var(--radius-sm);
  transition:all .3s;
  min-height:52px;
}
.form-submit:hover{
  background:var(--accent);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}

.testimonials{
  background:var(--surface);
}
.testi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.testi-card{
  background:var(--bg);
  padding:2rem;
  border-radius:var(--radius-md);
  position:relative;
}
.testi-card::before{
  content:"„";
  position:absolute;
  top:.5rem;right:1.5rem;
  font-family:var(--font-display);
  font-size:5rem;
  line-height:1;
  color:var(--accent);
  opacity:.2;
}
.testi-stars{
  color:var(--accent);
  margin-bottom:.75rem;
  font-size:1rem;
}
.testi-text{
  font-style:italic;
  color:var(--text);
  margin-bottom:1rem;
  font-size:var(--fs-small);
  line-height:1.6;
}
.testi-author{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding-top:1rem;
  border-top:1px solid var(--border);
}
.testi-avatar{
  width:40px;height:40px;
  background:var(--accent-2);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:var(--fs-small);
}
.testi-author strong{
  display:block;
  font-family:var(--font-display);
  color:var(--surface-2);
}
.testi-author span{
  font-size:var(--fs-xs);
  color:var(--text-muted);
}
.testi-note{
  text-align:center;
  margin-top:var(--space-md);
  font-size:var(--fs-xs);
  color:var(--text-muted);
  font-style:italic;
}

.page-hero{
  padding:var(--space-lg) 0;
  background:
    radial-gradient(ellipse at 30% 50%,rgba(138,154,123,.2),transparent 50%),
    var(--bg-alt);
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:attr(data-code);
  position:absolute;
  right:5%;top:50%;
  transform:translateY(-50%);
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(4rem,12vw,10rem);
  color:var(--surface-2);
  opacity:.06;
  line-height:1;
}
.breadcrumb{
  display:flex;
  gap:.5rem;
  font-size:var(--fs-xs);
  color:var(--text-muted);
  margin-bottom:var(--space-md);
  letter-spacing:.05em;
}
.breadcrumb a:hover{color:var(--accent)}
.page-hero h1{
  color:var(--surface-2);
  margin-bottom:var(--space-sm);
}
.page-hero h1 em{font-style:italic;color:var(--accent)}
.page-hero p{
  max-width:640px;
  color:var(--text-muted);
  font-size:1.1rem;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:var(--space-sm);
}

.cat-index{
  background:var(--surface);
  padding:var(--space-md) 0;
  border-bottom:1px solid var(--border);
}
.chapter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:center;
}
.chapter-tab{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem 1.1rem;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:var(--fs-small);
  font-weight:600;
  color:var(--text);
  transition:all .25s;
  min-height:44px;
}
.chapter-tab i{color:var(--accent)}
.chapter-tab-num{
  font-family:var(--font-display);
  font-style:italic;
  color:var(--accent);
  font-size:var(--fs-xs);
}
.chapter-tab:hover{
  background:var(--surface-2);
  color:var(--text-inv);
  border-color:var(--surface-2);
  transform:translateY(-2px);
}
.chapter-tab:hover i,
.chapter-tab:hover .chapter-tab-num{color:var(--accent-3)}

.sortiment-intro{
  background:var(--surface);
  padding:var(--space-lg) 0;
}
.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-lg);
  align-items:center;
}
.intro-text h2{color:var(--surface-2);margin-bottom:1rem}
.intro-text p{
  color:var(--text-muted);
  margin-bottom:1rem;
}
.intro-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:var(--space-md);
  padding-top:var(--space-md);
  border-top:1px solid var(--border);
}
.intro-stat{
  text-align:center;
}
.intro-stat-num{
  font-family:var(--font-display);
  font-size:2.2rem;
  color:var(--accent);
  line-height:1;
}
.intro-stat-label{
  font-size:var(--fs-xs);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-muted);
  margin-top:.35rem;
}
.intro-visual{
  aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow-md);
}
.intro-visual img{width:100%;height:100%;object-fit:cover}

.category-section{
  padding:var(--space-lg) 0;
  position:relative;
}
.category-section.bg-a{background:var(--bg)}
.category-section.bg-b{background:var(--bg-alt)}
.category-layout{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:var(--space-lg);
  align-items:start;
}
.category-layout.rev{grid-template-columns:2fr 1fr}
.category-layout.rev .category-info{order:2}
.category-info h2,
.category-info h3{
  font-size:2rem;
  color:var(--surface-2);
  margin-bottom:1rem;
}
.category-info h2 em,
.category-info h3 em{font-style:italic;color:var(--accent)}
.category-info p{
  color:var(--text-muted);
  margin-bottom:1rem;
}
.category-info .chip{
  display:block;
  width:fit-content;
  margin-bottom:1rem;
}
.category-list{
  list-style:none;
  display:grid;
  gap:.75rem;
}
.category-list li{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem 1rem;
  background:var(--surface);
  border-radius:var(--radius-sm);
  border-left:3px solid var(--accent);
  font-size:var(--fs-small);
}
.category-list li i{color:var(--accent);font-size:1rem}

.cat-title{
  font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--surface-2);
  margin-bottom:1rem;
}
.cat-title em{font-style:italic;color:var(--accent)}
.category-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:var(--space-md);
}
.category-head p{
  max-width:480px;
  color:var(--text-muted);
}
.category-head .chip{
  display:block;
  width:fit-content;
  margin-bottom:1rem;
}

.spec-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.spec-card{
  position:relative;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:1.4rem 1.25rem 1.1rem;
  transition:transform .3s,box-shadow .3s,border-color .3s;
  display:flex;
  flex-direction:column;
}
.spec-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
  border-color:var(--accent-2);
}
.spec-icon{
  width:54px;height:54px;
  border-radius:var(--radius-md);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  margin-bottom:.9rem;
}
.tint-sage{background:rgba(138,154,123,.16);color:#5c6b50}
.tint-terra{background:rgba(201,123,90,.14);color:#b0603f}
.tint-gold{background:rgba(212,165,116,.2);color:#a97b3f}
.tint-deep{background:rgba(26,58,46,.1);color:var(--surface-2)}
.spec-code{
  position:absolute;
  top:1rem;right:1rem;
  font-family:var(--font-display);
  font-style:italic;
  font-size:.7rem;
  color:var(--text-muted);
  background:var(--bg-alt);
  padding:.2rem .5rem;
  border-radius:var(--radius-sm);
}
.spec-name{
  font-family:var(--font-display);
  font-weight:500;
  font-size:1.05rem;
  color:var(--surface-2);
  margin-bottom:.15rem;
}
.spec-latin{
  font-family:var(--font-display);
  font-style:italic;
  font-size:.75rem;
  color:var(--text-muted);
  margin-bottom:.6rem;
}
.spec-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin-bottom:.7rem;
}
.spec-price{
  margin-top:auto;
  padding-top:.6rem;
  border-top:1px dashed var(--border);
  font-family:var(--font-display);
  font-size:1.15rem;
  color:var(--accent);
}

.tool-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.tool-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.1rem;
  align-items:center;
  background:var(--surface);
  border-radius:var(--radius-md);
  padding:1.25rem;
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  transition:all .3s;
}
.tool-card:hover{
  transform:translateX(6px);
  box-shadow:var(--shadow-md);
}
.tool-card:nth-child(2){border-left-color:var(--accent-2)}
.tool-card:nth-child(3){border-left-color:var(--accent-3)}
.tool-card:nth-child(4){border-left-color:var(--surface-2)}
.tool-card .spec-code{top:1rem}
.tool-icon{
  width:60px;height:60px;
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  color:var(--text-inv);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
}
.tool-card h3{
  font-size:1.15rem;
  color:var(--surface-2);
  margin-bottom:.2rem;
}
.tool-card .spec-latin{margin-bottom:.4rem}
.tool-card .spec-price{border-top:none;padding-top:0}
.workshop-note{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:1.25rem;
  background:var(--surface-2);
  color:var(--text-inv);
  padding:1.25rem 1.5rem;
  border-radius:var(--radius-md);
}
.workshop-note i{
  font-size:1.6rem;
  color:var(--accent-3);
}
.workshop-note strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.1rem;
  margin-bottom:.15rem;
}
.workshop-note span{
  font-size:var(--fs-small);
  opacity:.85;
}
.workshop-note .badge{margin-left:auto;flex-shrink:0}

.soil-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.soil-card{
  position:relative;
  background:var(--surface);
  border-radius:var(--radius-md);
  border:1px solid var(--border);
  border-top:4px solid var(--accent-2);
  padding:1.75rem 1.25rem 1.4rem;
  text-align:center;
  transition:all .3s;
}
.soil-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
}
.soil-card:nth-child(2){border-top-color:var(--accent)}
.soil-card:nth-child(3){border-top-color:var(--accent-3)}
.soil-card:nth-child(4){border-top-color:var(--surface-2)}
.soil-card .spec-icon{margin:0 auto .9rem}
.soil-card h3{font-size:1.1rem;color:var(--surface-2);margin-bottom:.2rem}
.soil-card .spec-latin{margin-bottom:.5rem}
.soil-card .spec-price{border-top:none;padding-top:0}
.soil-card .spec-code{top:.9rem}

.acc-list{
  display:grid;
  gap:.75rem;
}
.acc-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.1rem;
  align-items:center;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:1rem 1.25rem;
  transition:all .25s;
}
.acc-row:hover{
  border-color:var(--accent);
  transform:translateX(6px);
}
.acc-row .spec-icon{
  margin:0;
  width:48px;height:48px;
  font-size:1.2rem;
}
.acc-row h3{
  font-size:1.05rem;
  color:var(--surface-2);
  margin-bottom:.1rem;
}
.acc-row p{
  font-size:var(--fs-small);
  color:var(--text-muted);
}
.acc-price{
  font-family:var(--font-display);
  font-size:1.15rem;
  color:var(--accent);
}

.category-products{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.category-product{
  background:var(--surface);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:all .3s;
  position:relative;
}
.category-product:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
}
.category-product-img{
  aspect-ratio:1/1;
  overflow:hidden;
  position:relative;
}
.category-product-img img{width:100%;height:100%;object-fit:cover}
.category-product-code{
  position:absolute;
  top:.75rem;right:.75rem;
  background:var(--surface-2);
  color:var(--text-inv);
  padding:.2rem .5rem;
  font-family:var(--font-display);
  font-style:italic;
  font-size:.7rem;
  border-radius:var(--radius-sm);
}
.category-product-body{
  padding:1rem;
}
.category-product-body h5{
  font-family:var(--font-display);
  color:var(--surface-2);
  font-size:1rem;
  margin-bottom:.2rem;
}
.category-product-latin{
  font-family:var(--font-display);
  font-style:italic;
  font-size:.7rem;
  color:var(--text-muted);
  margin-bottom:.5rem;
}
.category-product-price{
  font-family:var(--font-display);
  color:var(--accent);
  font-size:1.1rem;
  font-weight:500;
}

.story-section{
  background:var(--surface);
  padding:var(--space-lg) 0;
}
.story-layout{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:var(--space-lg);
  align-items:center;
}
.story-visual{
  position:relative;
  aspect-ratio:3/4;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.story-visual img{width:100%;height:100%;object-fit:cover}
.story-year{
  position:absolute;
  bottom:1.5rem;left:1.5rem;
  background:var(--accent);
  color:#fff;
  padding:1rem 1.5rem;
  border-radius:var(--radius-md);
}
.story-year strong{
  font-family:var(--font-display);
  font-size:2rem;
  display:block;
  line-height:1;
}
.story-year span{
  font-size:var(--fs-xs);
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:.9;
}
.story-content h2{color:var(--surface-2);margin-bottom:var(--space-sm)}
.story-content h2 em{font-style:italic;color:var(--accent)}
.story-content p{
  color:var(--text-muted);
  margin-bottom:1rem;
  font-size:1.05rem;
}
.story-quote{
  background:var(--bg);
  padding:1.5rem;
  border-radius:var(--radius-md);
  border-left:4px solid var(--accent-2);
  margin:var(--space-md) 0;
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.15rem;
  color:var(--surface-2);
  line-height:1.5;
}

.values-section{
  background:var(--surface-2);
  color:var(--text-inv);
  padding:var(--space-xl) 0;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.value-card{
  background:rgba(244,237,228,.05);
  padding:2rem;
  border-radius:var(--radius-md);
  border:1px solid rgba(244,237,228,.15);
  transition:all .3s;
}
.value-card:hover{
  background:rgba(244,237,228,.1);
  transform:translateY(-4px);
}
.value-icon{
  width:56px;height:56px;
  background:var(--accent-3);
  color:var(--surface-2);
  border-radius:var(--radius-md);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  margin-bottom:1rem;
}
.value-card h4{
  font-family:var(--font-display);
  font-size:1.25rem;
  margin-bottom:.5rem;
}
.value-card p{
  font-size:var(--fs-small);
  opacity:.85;
  line-height:1.6;
}

.expertise-section{
  background:var(--bg-alt);
  padding:var(--space-lg) 0;
}
.expertise-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
  min-width:0;
  max-width:100%;
}
.expertise-card{
  background:var(--surface);
  padding:2rem;
  border-radius:var(--radius-md);
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  box-shadow:var(--shadow-sm);
  min-width:0;
  max-width:100%;
}
.expertise-num{
  font-family:var(--font-display);
  font-size:clamp(2rem,6vw,3rem);
  font-weight:500;
  color:var(--accent);
  line-height:1;
  flex-shrink:0;
}
.expertise-card > div{
  min-width:0;
  flex:1;
  max-width:100%;
}
.expertise-card h4{
  font-family:var(--font-display);
  color:var(--surface-2);
  font-size:clamp(1rem,4vw,1.2rem);
  margin-bottom:.5rem;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.expertise-card p{
  color:var(--text-muted);
  font-size:var(--fs-small);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.contact-section{
  background:var(--surface);
  padding:var(--space-xl) 0;
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:var(--space-lg);
}
.contact-info-card{
  background:var(--surface-2);
  color:var(--text-inv);
  padding:clamp(1.5rem,4vw,2.5rem);
  border-radius:var(--radius-lg);
  position:relative;
  overflow:hidden;
}
.contact-info-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 20%,rgba(201,123,90,.25),transparent 50%),
    radial-gradient(circle at 20% 80%,rgba(138,154,123,.2),transparent 50%);
  pointer-events:none;
}
.contact-info-card > *{position:relative;z-index:1}
.contact-info-card h3{
  font-size:1.8rem;
  margin-bottom:.5rem;
}
.contact-info-card h3 em{font-style:italic;color:var(--accent-3)}
.contact-info-card > p{
  opacity:.85;
  margin-bottom:var(--space-md);
  font-size:var(--fs-small);
}
.contact-items{
  display:grid;
  gap:1rem;
  margin-bottom:var(--space-md);
}
.contact-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem;
  background:rgba(244,237,228,.08);
  border-radius:var(--radius-md);
  border:1px solid rgba(244,237,228,.12);
}
.contact-item-icon{
  width:40px;height:40px;
  background:var(--accent-3);
  color:var(--surface-2);
  border-radius:var(--radius-sm);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}
.contact-item-text strong{
  display:block;
  font-family:var(--font-display);
  font-size:1rem;
  margin-bottom:.15rem;
}
.contact-item-text span{
  font-size:var(--fs-small);
  opacity:.85;
  line-height:1.5;
}
.contact-hours{
  background:rgba(244,237,228,.06);
  padding:1.25rem;
  border-radius:var(--radius-md);
  border:1px solid rgba(244,237,228,.1);
}
.contact-hours h4{
  font-family:var(--font-display);
  font-size:1.1rem;
  margin-bottom:.75rem;
  color:var(--accent-3);
}
.hours-list{
  list-style:none;
  display:grid;
  gap:.4rem;
  font-size:var(--fs-small);
}
.hours-list li{
  display:flex;
  justify-content:space-between;
  padding:.25rem 0;
  border-bottom:1px dashed rgba(244,237,228,.15);
}
.hours-list li:last-child{border-bottom:none}
.hours-list strong{color:var(--accent-3)}

.contact-form-wrapper{
  background:var(--bg);
  padding:clamp(1.5rem,4vw,2.5rem);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.contact-form-wrapper h3{
  color:var(--surface-2);
  margin-bottom:var(--space-sm);
}
.contact-form-wrapper > p{
  color:var(--text-muted);
  margin-bottom:var(--space-md);
  font-size:var(--fs-small);
}

.map-section{
  padding:var(--space-md) 0;
  background:var(--bg-alt);
}
.map-wrapper{
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:16/6;
  box-shadow:var(--shadow-md);
  position:relative;
}
.map-wrapper iframe{
  width:100%;height:100%;
  border:0;
}

.faq-section{
  background:var(--surface);
  padding:var(--space-lg) 0;
}
.faq-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:var(--space-lg);
}
.faq-list{
  display:grid;
  gap:.75rem;
}
.faq-item{
  background:var(--bg);
  border-radius:var(--radius-md);
  overflow:hidden;
  border:1px solid var(--border);
}
.faq-question{
  width:100%;
  padding:1.25rem 1.5rem;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  font-family:var(--font-display);
  font-size:1.05rem;
  color:var(--surface-2);
  transition:background .25s;
}
.faq-question:hover{background:var(--bg-alt)}
.faq-question i{
  transition:transform .3s;
  color:var(--accent);
}
.faq-item.open .faq-question i{transform:rotate(180deg)}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}
.faq-answer-inner{
  padding:0 1.5rem 1.25rem;
  color:var(--text-muted);
  font-size:var(--fs-small);
  line-height:1.6;
}
.faq-item.open .faq-answer{max-height:500px}

.site-footer{
  background:var(--surface-2);
  color:var(--text-inv);
  padding:var(--space-xl) 0 0;
  position:relative;
  margin-top:auto;
}
.site-footer::before{
  content:"❦";
  position:absolute;
  right:5%;bottom:20%;
  font-size:12rem;
  color:var(--accent-3);
  opacity:.05;
  pointer-events:none;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:var(--space-lg);
  position:relative;
  z-index:1;
  padding-bottom:var(--space-lg);
  border-bottom:1px solid rgba(244,237,228,.15);
}
.footer-brand .logo-line1{color:var(--text-inv)}
.footer-brand p{
  font-size:var(--fs-small);
  opacity:.75;
  margin:var(--space-sm) 0;
  max-width:300px;
  line-height:1.6;
}
.footer-contact{
  margin-top:var(--space-sm);
  font-size:var(--fs-xs);
  opacity:.7;
  line-height:1.7;
}
.footer-col h5{
  font-family:var(--font-display);
  font-size:1.1rem;
  margin-bottom:1rem;
  color:var(--accent-3);
}
.footer-col ul{
  list-style:none;
  display:grid;
  gap:.6rem;
}
.footer-col a{
  font-size:var(--fs-small);
  opacity:.75;
  transition:opacity .25s,color .25s;
}
.footer-col a:hover{opacity:1;color:var(--accent-3)}
.footer-bottom{
  padding:var(--space-md) 0 var(--space-md);
  text-align:center;
}
.footer-disclaimer{
  font-size:.85rem;
  opacity:.7;
  max-width:760px;
  margin:0 auto var(--space-sm);
  line-height:1.6;
}
.footer-updated{
  font-size:var(--fs-xs);
  opacity:.5;
  margin-bottom:var(--space-sm);
  letter-spacing:.05em;
}
.footer-copyright{
  font-size:var(--fs-xs);
  opacity:.6;
  letter-spacing:.05em;
}

.thanks-section{
  padding:var(--space-xl) 0;
  background:var(--bg-alt);
  min-height:70vh;
  display:flex;
  align-items:center;
}
.thanks-box{
  background:var(--surface);
  padding:clamp(2rem,5vw,4rem);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  text-align:center;
  max-width:640px;
  margin:0 auto;
  position:relative;
  overflow:hidden;
}
.thanks-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 0% 0%,rgba(138,154,123,.15),transparent 40%),
    radial-gradient(circle at 100% 100%,rgba(201,123,90,.15),transparent 40%);
  pointer-events:none;
}
.thanks-box > *{position:relative;z-index:1}
.thanks-logo{
  width:50px;height:50px;
  margin:0 auto var(--space-md);
}
.thanks-icon{
  width:80px;height:80px;
  background:var(--accent-2);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.5rem;
  margin:0 auto var(--space-md);
}
.thanks-box h1{
  color:var(--surface-2);
  margin-bottom:var(--space-sm);
}
.thanks-box h1 em{font-style:italic;color:var(--accent)}
.thanks-message{
  color:var(--text-muted);
  margin-bottom:var(--space-md);
  font-size:1.05rem;
}
.thanks-steps{
  text-align:left;
  background:var(--bg);
  padding:1.5rem;
  border-radius:var(--radius-md);
  margin-bottom:var(--space-md);
}
.thanks-steps h4{
  font-family:var(--font-display);
  color:var(--surface-2);
  margin-bottom:1rem;
}
.thanks-steps ol{
  list-style:none;
  counter-reset:step;
  display:grid;
  gap:.75rem;
}
.thanks-steps li{
  counter-increment:step;
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  font-size:var(--fs-small);
  color:var(--text);
}
.thanks-steps li::before{
  content:counter(step);
  width:28px;height:28px;
  background:var(--accent);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:var(--fs-xs);
  flex-shrink:0;
}
.thanks-contacts{
  display:grid;
  gap:.5rem;
  margin-bottom:var(--space-md);
  font-size:var(--fs-small);
  color:var(--text-muted);
}

.legal-section{
  padding:var(--space-lg) 0;
  background:var(--bg-alt);
  min-height:60vh;
}
.legal-content{
  max-width:800px;
  margin:0 auto;
  background:var(--surface);
  padding:clamp(2rem,5vw,3rem);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  word-break:break-word;
}
.legal-content h1{
  color:var(--surface-2);
  margin-bottom:var(--space-sm);
  font-size:2.2rem;
}
.legal-updated{
  font-size:var(--fs-xs);
  color:var(--text-muted);
  margin-bottom:var(--space-md);
  letter-spacing:.05em;
}
.legal-content h2{
  color:var(--surface-2);
  font-size:1.4rem;
  margin:var(--space-md) 0 var(--space-sm);
  padding-bottom:.5rem;
  border-bottom:2px solid var(--accent);
  display:inline-block;
}
.legal-content h3{
  color:var(--surface-2);
  font-size:1.15rem;
  margin:var(--space-sm) 0 .5rem;
}
.legal-content p{
  color:var(--text);
  margin-bottom:.75rem;
  line-height:1.7;
  font-size:.95rem;
}
.legal-content ul,
.legal-content ol{
  margin:.5rem 0 1rem 1.5rem;
  color:var(--text);
  font-size:.95rem;
  line-height:1.7;
}
.legal-content li{margin-bottom:.4rem}
.legal-callout{
  background:var(--bg);
  padding:1.25rem;
  border-left:4px solid var(--accent);
  border-radius:var(--radius-sm);
  margin:1rem 0;
}
.legal-callout strong{color:var(--surface-2);display:block;margin-bottom:.25rem}
.legal-callout p{margin:0;font-size:var(--fs-small)}

.legal-toc{
  background:var(--bg);
  padding:1.5rem;
  border-radius:var(--radius-md);
  margin-bottom:var(--space-md);
}
.legal-toc h4{
  font-family:var(--font-display);
  color:var(--surface-2);
  margin-bottom:.75rem;
  font-size:1.1rem;
}
.legal-toc ol{
  list-style:none;
  counter-reset:toc;
  display:grid;
  gap:.4rem;
  margin:0;
}
.legal-toc li{
  counter-increment:toc;
}
.legal-toc a{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:var(--fs-small);
  color:var(--surface-2);
  padding:.35rem .5rem;
  border-radius:var(--radius-sm);
  transition:background .25s;
}
.legal-toc a:hover{background:var(--bg-alt);color:var(--accent)}
.legal-toc a::before{
  content:"§" counter(toc);
  font-family:var(--font-display);
  font-weight:600;
  color:var(--accent);
  min-width:30px;
}

@media (max-width:1024px){
  .hero-grid,
  .philosophy-grid,
  .features-grid,
  .form-wrapper,
  .intro-grid,
  .story-layout,
  .contact-grid,
  .faq-grid{
    grid-template-columns:1fr;
    gap:var(--space-md);
  }
  .cat-grid,
  .best-grid,
  .advantages-grid,
  .values-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .category-layout,
  .category-layout.rev{
    grid-template-columns:1fr;
  }
  .category-layout.rev .category-info{order:0}
  .footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .expertise-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:repeat(2,1fr)}
  .tool-grid{grid-template-columns:1fr}
  .category-head{flex-direction:column;align-items:flex-start;gap:1rem}
}

[data-aos="fade-right"]:not(.aos-animate){
  transform:translate3d(-32px,0,0) !important;
}
[data-aos="fade-left"]:not(.aos-animate){
  transform:translate3d(32px,0,0) !important;
}
[data-aos="fade-up"]:not(.aos-animate){
  transform:translate3d(0,24px,0) !important;
}

@media (max-width:900px){
  [data-aos]{
    transform:none !important;
    opacity:1 !important;
    transition:none !important;
  }
  .hero-grid > *,
  .philosophy-grid > *,
  .contact-grid > *,
  .story-layout > *,
  .order-grid > *,
  .testimonial-grid > *,
  .testi-grid > *,
  .category-layout > *,
  .expertise-grid > *{
    min-width:0;
    max-width:100%;
  }
}

@media (max-width:768px){
  .burger{display:flex}
  .nav-menu{
    position:fixed;
    top:0;right:-100%;
    width:85%;max-width:360px;
    height:100vh;
    background:var(--surface);
    flex-direction:column;
    padding:5rem 2rem 2rem;
    gap:1.5rem;
    box-shadow:-20px 0 40px rgba(0,0,0,.1);
    transition:right .4s;
    z-index:99;
    align-items:flex-start;
  }
  .nav-menu.open{right:0}
  .nav-menu a{font-size:1.1rem}

  .hero-stats{grid-template-columns:1fr;gap:1rem}
  .hero-visual{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .hero-img-badge,
  .hero-botanical-tag{
    position:static;
    max-width:100%;
    transform:none;
  }
  .hero::before{font-size:18rem}

  .cat-grid,
  .best-grid,
  .advantages-grid,
  .testi-grid,
  .values-grid,
  .category-products{
    grid-template-columns:1fr;
  }
  .process-timeline{grid-template-columns:1fr;gap:2rem}
  .process-timeline::before{display:none}

  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:var(--space-md)}

  section{padding:var(--space-lg) 0}
  .hero{padding:var(--space-md) 0 var(--space-lg)}

  .intro-stats{grid-template-columns:1fr;gap:1rem}
  .soil-grid{grid-template-columns:1fr}
  .workshop-note{flex-wrap:wrap}
  .workshop-note .badge{margin-left:0}

  input,select,textarea,button.form-submit,.btn{
    max-width:100%;
  }
  input,select,textarea{width:100%}
}

@media (max-width:640px){
  .header-inner{flex-wrap:wrap;gap:1rem}
  .logo a,
  .logo{
    flex-direction:column;
  }
  .logo-text,
  .footer-col,
  .footer-contact,
  .notice-bar{
    word-break:break-all;
  }
  .logo-text{min-width:0;flex:1}
}

@media (max-width:560px){
  .spec-grid{grid-template-columns:1fr}
  .acc-row{grid-template-columns:auto 1fr}
  .acc-price{grid-column:2;justify-self:start}
}

@media (max-width:480px){
  .container,
  .container-narrow{
    padding:0 1rem;
  }
  .legal-content{
    padding:1.25rem;
  }
  .contact-form-wrapper,
  .thanks-box{
    padding:1.25rem;
  }
  .expertise-card{
    flex-direction:column;
    gap:.75rem;
    padding:1.25rem;
  }
  h1{font-size:clamp(1.7rem,8vw,2.4rem)}
  h2{font-size:clamp(1.4rem,6vw,2rem)}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}