/* ==========================================================================
   Para Kenz — Homepage styles
   Hero, categories, partner showcase, promotions, reviews, FAQ and contact.
   ========================================================================== */

/* ---------- Hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--emerald-900);}
.hero video,.hero .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .hero-fallback{
  background:
    radial-gradient(ellipse at 20% 20%, rgba(21,167,111,.55), transparent 55%),
    radial-gradient(ellipse at 85% 75%, rgba(201,154,59,.35), transparent 50%),
    linear-gradient(160deg,#052e24,#0b6e4f 65%,#0d8a63);
}
.hero::after{content:none;}
.hero-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(0deg, rgba(5,26,20,.82) 0%, rgba(5,26,20,.42) 42%, rgba(5,26,20,.08) 68%, rgba(5,26,20,.28) 100%),
    linear-gradient(100deg, rgba(5,26,20,.4) 0%, rgba(5,26,20,0) 55%);
}
.hero-content{position:relative;z-index:2;color:#fff;padding:64px 0 76px;width:100%;}
.hero-content .eyebrow{color:var(--gold-soft);text-shadow:0 2px 10px rgba(0,0,0,.5);}
.hero-content .eyebrow::before{background:var(--gold);}
.hero-content h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);max-width:760px;text-shadow:0 3px 18px rgba(0,0,0,.55);}
.hero-content p{color:#dff2e8;max-width:520px;font-size:1.05rem;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.hero-trust{
  display:flex;flex-wrap:wrap;gap:10px 22px;margin:28px 0 0;padding:0;list-style:none;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;color:#e9f4ee;
}
.hero-trust li{display:flex;align-items:center;gap:8px;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.hero-trust li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none;}
.hero-stamp{
  position:absolute;top:34px;right:34px;z-index:2;width:104px;height:104px;
  border:1px dashed rgba(255,255,255,.55);border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:#fff;
  transform:rotate(-8deg);
}

/* ---------- Shop by category — 3D circular carousel ---------- */
.pk-showcase{padding-bottom:64px;}
.pk-carousel-container{
  position:relative;width:100%;
  height:clamp(500px,42vw,620px);margin-top:36px;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 42%, #062e25 0%, #062e25 42%, #062e25 78%, #000000 100%);
  cursor:grab;
  -webkit-user-select:none;user-select:none;
}
.pk-carousel-container:active{cursor:grabbing;}
.pk-vignette{position:absolute;top:0;bottom:0;width:18%;min-width:70px;z-index:20;pointer-events:none;}
.pk-vignette-left{left:0;background:linear-gradient(90deg,#000000,rgba(0,0,0,0));}
.pk-vignette-right{right:0;background:linear-gradient(-90deg,#000000,rgba(0,0,0,0));}
.pk-stage{position:absolute;inset:0;perspective:2000px;perspective-origin:50% 50%;}
.pk-ring{
  --n:13;--rot:0deg;--cardW:clamp(230px,18vw,270px);--cardH:calc(var(--cardW) * 1.34);
  position:absolute;top:50%;left:50%;
  width:var(--cardW);height:var(--cardH);
  margin:calc(var(--cardH) / -2) 0 0 calc(var(--cardW) / -2);
  transform-style:preserve-3d;
  transform:rotateY(var(--rot));
  will-change:transform;
}
.pk-ring.is-dragging{cursor:grabbing;}
.pk-card{
  --i:0;--s:1;--radius:clamp(640px,44vw,690px);
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;
  padding:0;border-radius:var(--radius-lg);overflow:hidden;isolation:isolate;
  transform:rotateY(calc(var(--i) * (360deg / var(--n)))) translateZ(var(--radius)) scale(var(--s));
  box-shadow:0 25px 55px -16px rgba(0,0,0,.85);
  backface-visibility:hidden;
  transition:box-shadow .25s ease;
}
.pk-card > *{pointer-events:none;}
.pk-card.is-active{box-shadow:0 34px 70px -14px rgba(0,0,0,.75), 0 0 0 1px rgba(231,206,148,.55), 0 0 50px -4px rgba(231,206,148,.5);}
.pk-card-icon{width:34px;height:34px;margin-bottom:14px;}
.pk-card-icon svg{width:100%;height:100%;}
.pk-card-label{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.15;margin-bottom:4px;}
.pk-card-desc{font-size:.78rem;line-height:1.35;opacity:.85;overflow-wrap:anywhere;}

.pk-card.tone-a{background:linear-gradient(160deg,#dcece2,#eef6f1);}
.pk-card.tone-a .pk-card-icon{color:var(--emerald-700);}
.pk-card.tone-a .pk-card-label{color:var(--emerald-800);}
.pk-card.tone-a .pk-card-desc{color:#4d6d5f;}

.pk-card.tone-b{background:linear-gradient(160deg,#f3e7cf,#faf3e3);}
.pk-card.tone-b .pk-card-icon{color:#9c7a2e;}
.pk-card.tone-b .pk-card-label{color:#7a5d20;}
.pk-card.tone-b .pk-card-desc{color:#8c7442;}

.pk-card.tone-c{background:linear-gradient(160deg,#f2f3ef,#ffffff);}
.pk-card.tone-c .pk-card-icon{color:var(--ink-soft);}
.pk-card.tone-c .pk-card-label{color:var(--emerald-900);}
.pk-card.tone-c .pk-card-desc{color:#6b7d74;}

.pk-card.tone-d{background:linear-gradient(160deg,#f3ded6,#f9ece7);}
.pk-card.tone-d .pk-card-icon{color:#a2543c;}
.pk-card.tone-d .pk-card-label{color:#8a4531;}
.pk-card.tone-d .pk-card-desc{color:#9c6753;}

.pk-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(6,46,37,.02) 26%,rgba(6,46,37,.62) 68%,rgba(4,28,22,.96) 100%);
  pointer-events:none;
}
.pk-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.015);
  transition:transform .8s var(--ease),filter .35s ease;
}
.pk-card[data-category="oils"] .pk-card-image{object-position:center 48%;}
.pk-card-content{position:relative;z-index:2;display:flex;width:100%;flex-direction:column;align-items:flex-start;padding:22px 20px;}
.pk-card[class*="tone-"] .pk-card-icon{display:flex;width:36px;height:36px;align-items:center;justify-content:center;margin-bottom:12px;border:1px solid rgba(255,255,255,.42);border-radius:50%;color:#fff;background:rgba(6,46,37,.58);}
.pk-card[class*="tone-"] .pk-card-icon svg{width:20px;height:20px;}
.pk-card[class*="tone-"] .pk-card-label{color:#fff;font-size:1.14rem;text-shadow:0 2px 14px rgba(0,0,0,.56);}
.pk-card[class*="tone-"] .pk-card-desc{color:#eaf4ef;opacity:.92;text-shadow:0 2px 12px rgba(0,0,0,.62);}
.pk-card:hover .pk-card-image,.pk-card.is-active .pk-card-image{transform:scale(1.075);filter:saturate(1.05) contrast(1.02);}

@keyframes pkCardIn{
  0%{opacity:0;transform:rotateY(calc(var(--i) * (360deg / var(--n)))) translateZ(var(--radius)) translateY(40px) scale(calc(var(--s) * .9));}
  100%{opacity:var(--s);transform:rotateY(calc(var(--i) * (360deg / var(--n)))) translateZ(var(--radius)) translateY(0) scale(var(--s));}
}
.pk-dragger{
  text-align:center;margin:22px 0 0;font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.08em;color:var(--ink-soft);opacity:.75;
}
.pk-card{cursor:pointer;}

@media (max-width:1080px){
  .pk-carousel-container{height:clamp(455px,51vw,500px);}
  .pk-stage{perspective:1700px;}
  .pk-ring{--cardW:clamp(202px,21vw,225px);--cardH:calc(var(--cardW) * 1.38);}
  .pk-card{--radius:560px;}
}
@media (max-width:640px){
  .pk-showcase .section-head{padding-inline:18px;}
  .pk-carousel-container{height:clamp(430px,120vw,460px);margin-top:24px;padding:0;cursor:grab;touch-action:pan-y;}
  .pk-stage{position:absolute;inset:0;perspective:1600px;perspective-origin:50% 50%;}
  .pk-ring{
    --cardW:clamp(188px,56vw,210px);--cardH:calc(var(--cardW) * 1.38);
    position:absolute;top:50%;left:50%;
    width:var(--cardW);height:var(--cardH);
    margin:calc(var(--cardH) / -2) 0 0 calc(var(--cardW) / -2);
    display:block;overflow:visible;
    transform:rotateY(var(--rot));
    transform-style:preserve-3d;
  }
  .pk-card{
    --radius:480px;
    position:absolute;inset:0;
    width:auto;height:auto;
    transform:rotateY(calc(var(--i) * (360deg / var(--n)))) translateZ(var(--radius)) scale(var(--s));
    backface-visibility:hidden;
  }
  .pk-card-content{padding:18px 16px;}
  .pk-card[class*="tone-"] .pk-card-label{font-size:1rem;}
  .pk-card[class*="tone-"] .pk-card-desc{display:-webkit-box;font-size:.7rem;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
  .pk-vignette{display:block;width:10%;min-width:22px;}
  .pk-dragger{max-width:34rem;margin-inline:auto;}
}
@media (max-width:380px){
  .pk-carousel-container{height:410px;}
  .pk-stage{perspective:1500px;}
  .pk-ring{--cardW:clamp(180px,56vw,192px);}
  .pk-card{--radius:450px;}
  .pk-card-content{padding:15px 14px;}
  .pk-card[class*="tone-"] .pk-card-icon{width:30px;height:30px;margin-bottom:8px;}
}
@media (prefers-reduced-motion:reduce){
  .pk-card{transition:none;}
}

/* ---------- Partners editorial marquee ---------- */
.partners-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:0 0 42px;
  background:#fff;
  border-block:1px solid var(--line);
}
.partners-heading{
  position:relative;
  z-index:1;
  max-width:none;
  padding-top:36px;
  padding-bottom:20px;
  text-align:center;
}
.partners-heading .eyebrow{
  margin-bottom:20px;
  color:var(--emerald-600);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:400;
  letter-spacing:.18em;
}
.partners-heading .eyebrow::before{width:28px;}
.partners-heading h2{
  margin:0;
  color:var(--emerald-900);
  font-family:var(--font-display);
  font-size:clamp(2.35rem,4.2vw,3.45rem);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.08;
}
.partners-heading p{
  max-width:720px;
  margin:22px auto 0;
  color:var(--ink-soft);
  font-size:clamp(.96rem,1.5vw,1.12rem);
  line-height:1.55;
}
.partners-marquees{
  position:relative;
  z-index:1;
  display:grid;
  gap:0;
  padding-block:8px;
  border-block:1px solid rgba(11,92,76,.12);
  background:#fff;
}
.marquee{
  position:relative;
  overflow:hidden;
  background:transparent;
  border:0;
}
.marquee + .marquee{border-top:1px solid rgba(11,92,76,.08);}
.marquee::before,.marquee::after{
  content:"";
  position:absolute;
  inset-block:0;
  z-index:2;
  width:clamp(28px,7vw,120px);
  pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(90deg,#fff 8%,rgba(255,255,255,0));}
.marquee::after{right:0;background:linear-gradient(-90deg,#fff 8%,rgba(255,255,255,0));}
.marquee-track{
  --marquee-gap:12px;
  display:flex;
  gap:0;
  width:max-content;
  padding:0;
  animation:partners-scroll 42s linear infinite;
  will-change:transform;
}
.marquee-reverse .marquee-track{animation-direction:reverse;animation-duration:48s;}
.marquee-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:var(--marquee-gap);
  padding-right:var(--marquee-gap);
}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused;}
@keyframes partners-scroll{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

/* ---------- Showcase carousel ---------- */
.carousel{position:relative;}
.carousel-track{
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  padding:4px 4px 20px;margin:-4px -4px 0;
  scrollbar-width:none;
}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track .product-card{
  flex:0 0 calc(25% - 18px);min-width:220px;scroll-snap-align:start;
}
.carousel-btn{
  position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;line-height:1;color:var(--emerald-800);transition:background .18s ease,color .18s ease,transform .18s ease;
}
.carousel-btn:hover{background:var(--emerald-700);color:#fff;transform:translateY(-50%) scale(1.06);}
.carousel-btn.prev{left:-22px;}
.carousel-btn.next{right:-22px;}
.carousel-btn[disabled]{opacity:.35;pointer-events:none;}
@media (max-width:1080px){
  .carousel-track .product-card{flex:0 0 calc(50% - 12px);}
}
@media (max-width:640px){
  .carousel-track .product-card{flex:0 0 82%;min-width:0;}
  .carousel-btn{width:38px;height:38px;font-size:1.2rem;}
  .carousel-btn.prev{left:-8px;}
  .carousel-btn.next{right:-8px;}
}

/* ---------- Label / stamp cards (signature element) ---------- */
.label-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);
  padding:22px;box-shadow:var(--shadow-card);transition:transform .2s ease, box-shadow .2s ease;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}
.label-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);}
.label-card::before{
  content:"";position:absolute;inset:8px;border:1px dashed var(--line);border-radius:calc(var(--radius-md) - 6px);pointer-events:none;
}

/* ---------- Promotions ---------- */
.promo-banner{
  background:linear-gradient(120deg,var(--emerald-800),var(--emerald-600));
  border-radius:var(--radius-lg);color:#fff;padding:52px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden;
}
.promo-banner::before{content:"";position:absolute;width:340px;height:340px;border:1px dashed rgba(255,255,255,.25);border-radius:50%;right:-90px;top:-120px;}
.promo-banner .eyebrow{color:#f4d77e;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-shadow:0 2px 8px rgba(2,36,28,.38);}
.promo-banner .eyebrow::before{width:28px;height:2px;background:#f4d77e;}
.promo-banner h2{color:#fff;}
.promo-banner p{color:#dff2e8;max-width:440px;}

/* ---------- Reviews ---------- */
.reviews-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:92px 0 104px;
  color:var(--ink);
  background:
    radial-gradient(70% 100% at 0% 0%,rgba(199,162,82,.07),transparent 58%),
    radial-gradient(60% 80% at 100% 100%,rgba(23,135,109,.08),transparent 62%),
    #fff;
  border-block:1px solid var(--line);
}
.reviews-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.14;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 17%,#17876d 0 2px,transparent 3px),
    radial-gradient(circle at 29% 6%,#17876d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 72% 24%,#17876d 0 2px,transparent 3px),
    radial-gradient(circle at 82% 46%,#17876d 0 1px,transparent 2px),
    radial-gradient(circle at 58% 72%,#17876d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 96% 88%,#17876d 0 2px,transparent 3px);
}
.reviews-heading{max-width:1100px;margin:0 auto 56px;text-align:center;}
.reviews-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
  color:var(--emerald-600);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.reviews-eyebrow > span:first-child{font-size:.92rem;}
.reviews-heading h2{
  margin:0;
  color:var(--emerald-900);
  font-family:var(--font-display);
  font-size:clamp(2.7rem,5vw,4rem);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.05;
}
.reviews-heading p{
  max-width:760px;
  margin:24px auto 0;
  color:var(--ink-soft);
  font-size:clamp(.98rem,1.6vw,1.16rem);
}
.google-review-summary{
  display:grid;
  grid-template-columns:1.4fr .7fr 1fr auto;
  align-items:center;
  max-width:1100px;
  min-height:116px;
  margin:0 auto 58px;
  padding:20px 34px;
  border:1px solid rgba(11,92,76,.3);
  border-radius:999px;
  background:rgba(251,250,246,.94);
  box-shadow:inset 0 1px 0 #fff,0 24px 70px rgba(6,46,37,.1);
}
.google-rating,.review-metric{min-height:44px;display:flex;align-items:center;justify-content:center;}
.google-rating{gap:8px;border-right:1px solid rgba(11,92,76,.2);}
.google-mark,.review-google-mark{color:var(--emerald-700);font-family:Arial,sans-serif;font-weight:800;}
.google-mark{font-size:2rem;margin-right:4px;}
.google-rating strong{color:var(--emerald-900);font-size:2rem;line-height:1;}
.rating-total{color:var(--ink-soft);font-weight:700;}
.google-stars,.review-stars{color:#e5bf58;letter-spacing:1px;}
.review-metric{flex-direction:column;border-right:1px solid rgba(11,92,76,.2);}
.review-metric strong{color:var(--emerald-900);font-size:1.35rem;line-height:1.1;}
.review-metric span{margin-top:7px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;}
.google-reviews-link{
  justify-self:end;
  margin-left:28px;
  padding:11px 20px;
  border:1px solid rgba(11,92,76,.38);
  border-radius:999px;
  color:var(--emerald-800);
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.google-reviews-link:hover{color:#fff;background:var(--emerald-700);border-color:var(--emerald-700);transform:translateY(-2px);}
.reviews-carousel{position:relative;width:100%;overflow:hidden;}
.reviews-track{
  display:flex;
  width:max-content;
  gap:0;
  padding:16px 0 34px;
  animation:reviews-scroll 68s linear infinite;
  will-change:transform;
}
.reviews-carousel:hover .reviews-track,.reviews-carousel:focus-within .reviews-track{animation-play-state:paused;}
.reviews-loop-group{
  display:flex;
  flex-shrink:0;
  gap:24px;
  padding-right:24px;
}
@keyframes reviews-scroll{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}
.google-review-card{
  display:flex;
  flex:0 0 clamp(310px,27vw,390px);
  min-height:286px;
  flex-direction:column;
  padding:28px;
  border:1px solid rgba(11,92,76,.28);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#f7faf7);
  box-shadow:0 26px 65px rgba(6,46,37,.1);
  transform:rotate(var(--tilt));
  transition:transform .7s var(--ease),border-color .3s ease,box-shadow .3s ease;
}
.google-review-card:hover{
  z-index:2;
  border-color:var(--emerald-500);
  box-shadow:0 34px 80px rgba(6,46,37,.18);
  transform:rotate(0deg) translateY(-7px) scale(1.025);
}
.review-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.review-google-mark{font-size:1.25rem;}
.review-stars{font-size:.86rem;}
.google-review-card blockquote{
  flex:1;
  margin:0;
  color:var(--ink-soft);
  font-size:1rem;
  line-height:1.65;
}
.review-author{display:flex;align-items:center;gap:13px;margin-top:24px;}
.review-avatar{
  display:flex;
  width:42px;
  height:42px;
  flex:0 0 42px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#241d0d;
  background:linear-gradient(135deg,#f0d17b,#b6872d);
  box-shadow:0 7px 20px rgba(199,162,82,.22);
  font-weight:800;
}
.review-author-copy{display:flex;min-width:0;flex-direction:column;}
.review-author-copy strong{display:flex;align-items:center;gap:7px;color:var(--emerald-900);font-size:.9rem;}
.review-author-copy small{margin-top:4px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.63rem;}
.review-verified{display:inline-block;width:8px;height:8px;border-radius:50%;background:#78b943;box-shadow:0 0 0 2px rgba(120,185,67,.14);}
@media (max-width:900px){
  .reviews-section{padding:72px 0 82px;}
  .google-review-summary{grid-template-columns:1fr 1fr;border-radius:28px;gap:0;padding:24px;}
  .google-rating{border-right:1px solid rgba(11,92,76,.2);}
  .review-location{border-right:1px solid rgba(11,92,76,.2);border-top:1px solid rgba(11,92,76,.2);padding-top:18px;margin-top:18px;}
  .google-reviews-link{justify-self:center;margin:18px 0 0;padding:11px 18px;}
  .reviews-track{animation-duration:58s;}
}
@media (max-width:640px){
  .reviews-section{padding:60px 0 70px;}
  .reviews-heading{margin-bottom:38px;}
  .reviews-heading h2{font-size:clamp(2.35rem,12vw,3.2rem);}
  .reviews-heading p{margin-top:18px;font-size:.92rem;}
  .google-review-summary{grid-template-columns:1fr;margin-bottom:38px;border-radius:24px;text-align:center;}
  .google-rating,.review-metric{border-right:0;border-bottom:1px solid rgba(11,92,76,.2);padding:16px 0;}
  .review-location{border-top:0;margin-top:0;}
  .google-reviews-link{justify-self:stretch;text-align:center;}
  .reviews-track{padding:10px 0 30px;animation-duration:50s;}
  .reviews-loop-group{gap:16px;padding-right:16px;}
  .google-review-card{flex-basis:84vw;min-height:270px;padding:24px;}
}
@media (prefers-reduced-motion:reduce){
  .google-review-card,.google-review-card:hover{transform:none;transition:none;}
  .reviews-carousel{overflow-x:auto;scrollbar-width:none;}
  .reviews-carousel::-webkit-scrollbar{display:none;}
  .reviews-track{animation:none;}
  .reviews-loop-group[aria-hidden="true"]{display:none;}
}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;padding:22px 0;text-align:left;font-family:var(--font-display);font-size:1.06rem;color:var(--emerald-900);}
.faq-q .icon{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--emerald-500);display:flex;align-items:center;justify-content:center;transition:transform .25s ease, background .25s ease;color:var(--emerald-700);}
.faq-item.open .faq-q .icon{transform:rotate(45deg);background:var(--emerald-700);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{padding-bottom:20px;}

/* ---------- Contact ---------- */
.contact-section{background:var(--paper);scroll-margin-top:88px;}
.contact-panel{
  position:relative;
  overflow:hidden;
  padding:44px;
  border:1px solid rgba(11,92,76,.3);
  border-radius:28px;
  background:
    radial-gradient(55% 100% at 100% 0%,rgba(199,162,82,.11),transparent 62%),
    radial-gradient(65% 110% at 0% 100%,rgba(23,135,109,.09),transparent 62%),
    #fff;
  box-shadow:0 32px 90px rgba(6,46,37,.12);
}
.contact-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background:
    radial-gradient(circle at 16% 22%,#c7a252 0 2px,transparent 3px),
    radial-gradient(circle at 74% 14%,#17876d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 86% 64%,#c7a252 0 2px,transparent 3px),
    radial-gradient(circle at 48% 78%,#17876d 0 1.5px,transparent 2.5px);
}
.contact-panel > *{position:relative;z-index:1;}
.contact-panel-head{max-width:900px;margin-bottom:34px;}
.contact-kicker{
  margin-bottom:14px;
  color:var(--emerald-600);
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-kicker::before{content:"";display:inline-block;width:24px;height:1px;margin-right:10px;vertical-align:middle;background:var(--emerald-500);}
.contact-panel-head h2{margin-bottom:10px;font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.035em;}
.contact-panel-head p{max-width:760px;margin:0;font-size:1rem;}
.contact-panel-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:42px;align-items:start;}
.contact-certificate{
  position:relative;
  overflow:hidden;
  padding:34px;
  border:1px solid rgba(199,162,82,.72);
  border-radius:4px;
  color:var(--emerald-900);
  background:
    repeating-radial-gradient(circle at 0 0,rgba(6,46,37,.018) 0 1px,transparent 1px 5px),
    radial-gradient(circle at 15% 8%,rgba(255,255,255,.7),transparent 34%),
    #f7f1df;
  box-shadow:0 22px 50px rgba(61,48,20,.13),inset 0 0 36px rgba(199,162,82,.08);
}
.contact-certificate::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:0;
  pointer-events:none;
  border:1px solid rgba(11,92,76,.38);
  border-radius:2px;
}
.contact-certificate::after{
  content:"";
  position:absolute;
  inset:16px;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(var(--gold),var(--gold)) left top/24px 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) left top/1px 24px no-repeat,
    linear-gradient(var(--gold),var(--gold)) right top/24px 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) right top/1px 24px no-repeat,
    linear-gradient(var(--gold),var(--gold)) left bottom/24px 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) left bottom/1px 24px no-repeat,
    linear-gradient(var(--gold),var(--gold)) right bottom/24px 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) right bottom/1px 24px no-repeat;
  opacity:.78;
}
.contact-certificate > *{position:relative;z-index:1;}
.certificate-letterhead{display:flex;align-items:center;gap:14px;padding:3px 2px 17px;border-bottom:3px double rgba(11,92,76,.52);}
.certificate-letterhead > img{width:48px;height:48px;object-fit:contain;filter:sepia(.12) saturate(.92);}
.certificate-letterhead span{display:block;margin-bottom:2px;color:var(--emerald-600);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;}
.certificate-letterhead h3{margin:0;font-size:clamp(1.55rem,3vw,2.05rem);letter-spacing:-.025em;}
.certificate-reference{display:flex;justify-content:space-between;gap:18px;padding:9px 2px 22px;color:rgba(62,90,80,.86);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;}
.certificate-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.certificate-field{margin-bottom:19px;}
.certificate-field label{display:block;margin-bottom:3px;color:var(--emerald-900);font-family:var(--font-display);font-size:.83rem;font-weight:600;}
.certificate-field input,.certificate-field select,.certificate-field textarea{
  width:100%;
  padding:7px 2px 6px;
  border:0;
  border-bottom:1px solid rgba(11,92,76,.58);
  border-radius:0;
  outline:0;
  color:var(--ink);
  background:transparent;
  font-family:var(--font-body);
  font-size:.84rem;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.certificate-field select{padding-right:28px;cursor:pointer;}
.certificate-field input:focus,.certificate-field select:focus,.certificate-field textarea:focus{border-bottom-color:var(--emerald-700);box-shadow:0 2px 0 -1px var(--emerald-700);background-color:rgba(255,255,255,.28);}
.certificate-field-message textarea{
  min-height:132px;
  resize:vertical;
  line-height:28px;
  padding:0 2px;
  border-bottom:0;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(11,92,76,.34) 27px,rgba(11,92,76,.34) 28px);
}
.certificate-field-message textarea:focus{border-bottom:0;box-shadow:none;background-color:rgba(255,255,255,.28);}
.certificate-submit-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:6px;}
.certificate-submit-copy{display:grid;flex:1 1 auto;gap:8px;max-width:275px;}
.certificate-submit-copy > p{max-width:230px;margin:0;color:var(--ink-soft);font-family:var(--font-display);font-size:.69rem;font-style:italic;line-height:1.45;}
.certificate-consent{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:7px;margin:0;color:var(--ink-soft);font-family:var(--font-body);font-size:.59rem;line-height:1.42;}
.certificate-consent input{width:14px;height:14px;margin:1px 0 0;accent-color:var(--emerald-700);}
.certificate-submit{
  position:relative;
  min-width:154px;
  min-height:52px;
  padding:11px 20px;
  border:2px solid var(--gold);
  border-radius:999px;
  color:#fff;
  background:var(--emerald-800);
  box-shadow:inset 0 0 0 3px var(--emerald-800),inset 0 0 0 4px rgba(231,206,148,.75),0 9px 20px rgba(6,46,37,.2);
  font-family:var(--font-display);
  font-size:.84rem;
  font-weight:650;
  letter-spacing:.01em;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.certificate-submit:hover{transform:translateY(-2px) rotate(-1deg);background:var(--emerald-900);box-shadow:inset 0 0 0 3px var(--emerald-900),inset 0 0 0 4px rgba(231,206,148,.82),0 14px 24px rgba(6,46,37,.26);}
.certificate-watermark{position:absolute;right:-28px;bottom:78px;z-index:0!important;width:170px;opacity:.045;transform:rotate(-9deg);pointer-events:none;}
.certificate-success{margin-top:18px;border:1px solid rgba(11,92,76,.18);font-family:var(--font-display);}
.contact-right-column{display:grid;gap:24px;align-content:start;}
.contact-map-card{overflow:hidden;border:1px solid rgba(11,92,76,.18);border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(6,46,37,.1);}
.contact-map-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(11,92,76,.12);background:linear-gradient(120deg,#fff,#f1f7f3);}
.contact-map-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--emerald-100);color:var(--emerald-700);}
.contact-map-icon svg{width:20px;height:20px;}
.contact-map-head > span:nth-child(2){display:grid;gap:2px;min-width:0;}
.contact-map-head small{color:var(--gold);font-family:var(--font-mono);font-size:.54rem;font-weight:700;letter-spacing:.13em;}
.contact-map-head strong{overflow:hidden;color:var(--emerald-900);font-family:var(--font-display);font-size:1rem;text-overflow:ellipsis;white-space:nowrap;}
.contact-map-head a{padding:8px 11px;border:1px solid rgba(11,92,76,.24);border-radius:999px;color:var(--emerald-700);font-size:.64rem;font-weight:800;white-space:nowrap;}
.contact-map-head a:hover,.contact-map-head a:focus-visible{border-color:var(--emerald-700);background:var(--emerald-700);color:#fff;}
.contact-map-card iframe{display:block;width:100%;height:270px;border:0;background:var(--emerald-50);}
.opening-card{
  align-self:stretch;
  padding:28px;
  border:1px solid rgba(199,162,82,.3);
  border-radius:22px;
  color:#dff2e8;
  background:
    radial-gradient(80% 100% at 100% 0%,rgba(199,162,82,.15),transparent 65%),
    var(--emerald-900);
  box-shadow:0 24px 60px rgba(6,46,37,.2);
}
.opening-card h3{margin-bottom:18px;color:var(--gold-soft);font-family:var(--font-body);font-size:1.05rem;font-weight:800;}
.opening-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid rgba(231,206,148,.22);}
.opening-row span{color:#bcd8ca;font-size:.84rem;}
.opening-row strong{color:#fff;font-size:.84rem;text-align:right;line-height:1.55;}
.opening-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  padding:9px 14px;
  border-radius:999px;
  font-size:.8rem;
}
.opening-status > span{width:8px;height:8px;border-radius:50%;}
.opening-status.is-closed{color:#ff8278;background:rgba(178,58,46,.22);}
.opening-status.is-closed > span{background:#e65348;box-shadow:0 0 0 5px rgba(230,83,72,.1);}
.opening-status.is-open{color:#b8f6cf;background:rgba(31,191,113,.2);}
.opening-status.is-open > span{background:#37d685;box-shadow:0 0 0 5px rgba(55,214,133,.1);}
.opening-status.is-closing-soon{color:#ffd29b;background:rgba(224,126,35,.24);}
.opening-status.is-closing-soon > span{background:#f59a3a;box-shadow:0 0 0 5px rgba(245,154,58,.12);}
.contact-direct-card{overflow:hidden;border:1px solid rgba(11,92,76,.14);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(6,46,37,.08);}
.contact-direct-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:18px 20px;color:var(--emerald-900);transition:background .2s ease,transform .2s ease;}
.contact-direct-row + .contact-direct-row{border-top:1px dashed rgba(11,92,76,.2);}
.contact-direct-row:hover,.contact-direct-row:focus-visible{background:var(--emerald-50);}
.contact-direct-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--emerald-700);color:#fff;box-shadow:0 10px 22px rgba(11,92,76,.18);}
.contact-direct-icon.is-gold{background:linear-gradient(145deg,var(--gold-soft),var(--gold));color:var(--emerald-900);box-shadow:0 10px 22px rgba(199,162,82,.2);}
.contact-direct-icon svg{width:22px;height:22px;}
.contact-direct-row > span:last-child{display:grid;gap:4px;min-width:0;}
.contact-direct-row strong{overflow-wrap:anywhere;font-size:.96rem;line-height:1.3;}
.contact-direct-row small{color:var(--muted);font-size:.75rem;line-height:1.4;}
.contact-note{
  margin-top:28px;
  padding:16px 20px;
  border:1px solid rgba(199,162,82,.35);
  border-left:4px solid var(--gold);
  border-radius:12px;
  color:var(--ink-soft);
  background:linear-gradient(90deg,rgba(231,206,148,.2),rgba(227,238,232,.65));
  font-size:.86rem;
}
.contact-actions{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:14px;margin-top:20px;}
.contact-action{
  display:flex;
  width:100%;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.contact-action:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(6,46,37,.16);}
.contact-action-primary{color:#fff;background:var(--emerald-600);}
.contact-action-outline{color:var(--emerald-800);border-color:rgba(11,92,76,.45);background:#fff;}
.contact-action-gold{color:var(--emerald-900);background:linear-gradient(135deg,var(--gold-soft),var(--gold));}
@media (max-width:900px){
  .contact-panel{padding:34px;}
  .contact-panel-grid{grid-template-columns:1fr;gap:28px;}
  .contact-right-column{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:stretch;}
  .contact-direct-card{grid-column:1/-1;}
  .opening-card{width:100%;}
}
@media (max-width:640px){
  .contact-panel{padding:26px 20px;border-radius:22px;}
  .contact-panel-head{margin-bottom:22px;}
  .contact-panel-head h2{font-size:clamp(2rem,10vw,2.65rem);}
  .contact-certificate{padding:28px 24px;}
  .certificate-fields-row{grid-template-columns:1fr;gap:0;}
  .certificate-submit-row{align-items:stretch;flex-direction:column;}
  .certificate-submit-copy{max-width:none;}
  .certificate-submit-copy > p{max-width:none;}
  .certificate-submit{width:100%;}
  .contact-right-column{grid-template-columns:1fr;}
  .contact-map-card iframe{height:250px;}
  .contact-map-head{grid-template-columns:auto minmax(0,1fr);}
  .contact-map-head a{grid-column:1/-1;text-align:center;}
  .opening-card{padding:22px;}
  .contact-actions{grid-template-columns:1fr;gap:10px;}
}
.field{margin-bottom:16px;}
.field label{display:block;font-size:.8rem;font-weight:700;color:var(--emerald-900);margin-bottom:6px;}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);
  font-family:inherit;font-size:.92rem;color:var(--ink);background:#fff;outline:none;transition:border-color .2s;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--emerald-600);}
.field textarea{resize:vertical;min-height:120px;}
.form-success{display:none;background:var(--emerald-100);color:var(--emerald-800);border-radius:var(--radius-sm);padding:14px 16px;font-weight:600;font-size:.9rem;margin-top:14px;}
.form-success.show{display:block;}

/* ---------- Home page responsive pass ---------- */
body{overflow-x:clip;}
@media (max-width:1100px){
  .section{padding:72px 0;}
  .nav{gap:18px;}
  .promo-banner{padding:42px;}
}
@media (max-width:960px){
  .nav{min-height:68px;padding:10px 24px;gap:12px;}
  .nav-links{inset:68px 0 0 0;}
  .hero{min-height:calc(100svh - 68px);}
  .hero-content{padding:96px 24px 58px;}
  .hero-content h1{max-width:680px;}
  .hero-stamp{top:24px;right:24px;width:86px;height:86px;font-size:.54rem;}
  .newsletter-band{padding:16px 0 0;}
}
@media (max-width:700px){
  .container{padding-inline:18px;}
  .section{padding:58px 0;}
  .section-head{margin-bottom:32px;}
  .section-head h2{font-size:clamp(1.8rem,8vw,2.45rem);}
  .nav{padding-inline:18px;gap:9px;}
  .brand{font-size:1.08rem;gap:7px;}
  .brand .mark{width:34px;height:34px;}
  .lang-toggle button{padding:4px 8px;}
  .hero{align-items:flex-end;}
  .hero-content{padding:86px 18px 46px;}
  .hero-content h1{font-size:clamp(2.15rem,10.5vw,3.2rem);line-height:1.04;overflow-wrap:anywhere;}
  .hero-content p{font-size:.96rem;}
  .hero-stamp{display:none;}
  .hero-trust{gap:9px 15px;font-size:.64rem;}
  .pk-showcase{padding-bottom:48px;}
  .pk-carousel-container{margin-top:24px;}
  .pk-dragger{padding-inline:18px;font-size:.62rem;line-height:1.6;}
  .partners-heading{padding-inline:18px;}
  .carousel-track{gap:16px;}
  .carousel-track .product-card{flex-basis:78%;}
  .label-card{padding:18px;}
  .promo-banner{padding:30px 24px;gap:24px;border-radius:20px;}
  .promo-banner h2{font-size:clamp(1.45rem,7vw,2rem);}
  .promo-banner .btn{width:100%;}
  .faq-q{padding:18px 0;font-size:1rem;}
  .contact-panel{margin-inline:-2px;}
  .newsletter-band{margin:18px 0 0;padding:16px 0 0;}
  .newsletter-form{width:min(100%,300px);}
  .newsletter-form input{width:100%;min-width:0;}
  .newsletter-form .btn{width:auto;}
  .site-footer{padding-top:52px;}
}
@media (max-width:520px){
  .brand{font-size:1rem;}
  .brand small{font-size:.52rem;}
  .nav-toggle{padding:7px;}
  .cart-btn > [data-i18n]{display:none;}
  .cart-btn{gap:5px;}
  .hero-cta{display:grid;grid-template-columns:1fr;}
  .hero-cta .btn{width:100%;}
  .pk-card{flex-basis:auto;height:auto;}
  .pk-card-content{padding:16px 14px;}
  .pk-card[class*="tone-"] .pk-card-icon{width:30px;height:30px;margin-bottom:8px;}
  .pk-card[class*="tone-"] .pk-card-icon svg{width:17px;height:17px;}
  .pk-card[class*="tone-"] .pk-card-label{font-size:.92rem;}
  .pk-card[class*="tone-"] .pk-card-desc{font-size:.66rem;line-height:1.3;}
  .carousel-track .product-card{flex-basis:88%;}
  .carousel-btn{display:none;}
  .product-foot{align-items:stretch;flex-direction:column;}
  .product-foot .btn{width:100%;}
  .product-image-placeholder{padding:18px;font-size:.56rem;}
  .product-placeholder-mark{width:64px;height:64px;}
  .product-media .product-placeholder-mark svg{width:36px;height:36px;}
  .reviews-heading h2{font-size:clamp(2.05rem,11vw,2.8rem);}
  .google-review-card{flex-basis:88vw;}
  .certificate-reference{gap:10px;font-size:.53rem;}
  .certificate-letterhead > img{width:42px;height:42px;}
  .opening-row{gap:14px;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom{align-items:flex-start;flex-direction:column;}
}
@media (max-width:380px){
  .nav{gap:7px;padding-inline:12px;}
  .brand{font-size:.92rem;}
  .brand .mark{width:30px;height:30px;}
  .lang-toggle button{padding:4px 6px;font-size:.68rem;}
  .cart-count{min-width:18px;height:18px;}
  .hero-content{padding-inline:14px;}
  .contact-panel{padding:22px 16px;}
  .contact-certificate{padding:26px 20px;}
}

@media (max-width:420px){
  .opening-row{display:grid;grid-template-columns:1fr;gap:5px;}
  .opening-row strong{text-align:left;}
  .contact-direct-row{gap:12px;padding:16px;}
  .contact-actions{gap:8px;}
}
