/* =================================================================
   HOME - style.css
   pages/home/style.css
   ================================================================= */

/* Nav zawsze solidny na home (hero jest pół-jasny / pół-teal) */
.home-page .nav{
  background:rgba(249,249,249,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-dark);
}

/* =================================================================
   HERO - split (foto + panel teal) wg referencji nordursalt.us
   ================================================================= */
.hero-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:100svh;
  overflow:hidden;
}
.hero-split__media{
  position:relative;overflow:hidden;background:var(--paper-2);
}
.hero-split__slides{
  position:absolute;
  inset:0;
}
.hero-split__slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transition:opacity .75s var(--ease);
}
.hero-split__slide.is-active{
  opacity:1;
}
.hero-split__slide img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  transform:scale(1.04);
  transition:transform 7s ease;
}
.hero-split__slide.is-active img{
  transform:scale(1);
}
.hero-split__controls{
  position:absolute;
  right:clamp(1rem,2.6vw,2rem);
  bottom:clamp(1rem,2.6vw,2rem);
  z-index:2;
  display:flex;
  gap:.75rem;
}
.hero-split__arrow{
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(13,16,20,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#fff;
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.hero-split__arrow svg{
  width:1rem;
  height:1rem;
}
.hero-split__arrow:hover{
  transform:translateY(-2px);
  background:rgba(13,16,20,.36);
  border-color:rgba(255,255,255,.6);
}
.hero-split__arrow:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:3px;
}

.hero-split__panel{
  background:var(--frost);
  color:#fff;
  display:flex;align-items:center;
  min-width:0;
  padding:clamp(3rem,7vw,7rem) clamp(2rem,6vw,7rem);
}
.hero-split__inner{max-width:620px;min-width:0}

.hero-split__rating{
  display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;
  font-size:clamp(1rem,1.35vw,1.16rem);
  color:rgba(255,255,255,.92);
  margin-bottom:clamp(1.35rem,2.6vw,2rem);
}
.hero-split__stars{
  color:#f0a338;letter-spacing:.05em;font-size:1.14em;white-space:nowrap;
}
.hero-split__half{opacity:.45}

.hero-split__shop-link{
  display:none;
}

.hero-split__title{
  font-family:var(--display);
  font-weight:330;
  font-size:clamp(1.7rem,2.9vw,2.7rem);
  line-height:1.28;letter-spacing:-.012em;
  color:#fff;
  margin:0;
}

.hero-split__cta{
  padding:.9em 2.05em;
  letter-spacing:.12em;
  color:#fff;
}

.hero-cats{
  width:100%;
  min-width:0;
  margin-top:0;
}
.hero-cats__head{display:none}
.hero-cats__viewport{
  max-width:100%;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (4 * 1rem)) / 5);
  gap:1rem;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.hero-cats__viewport::-webkit-scrollbar{display:none}
.hero-cat{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--line-dark);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-shadow:0 10px 28px -18px rgba(10,13,15,.18);
  transition:transform .3s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
}
.hero-cat:hover{
  transform:translateY(-2px);
  border-color:rgba(0,72,84,.28);
  box-shadow:0 16px 36px -20px rgba(10,13,15,.22);
}
.hero-cat__media{
  display:block;
  aspect-ratio:1/1.02;
  background:none;
}
.hero-cat__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-cat__body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  min-width:0;
  padding:.95rem 1rem 1rem;
}
.hero-cat__title{
  font-family:var(--display);
  font-weight:320;
  font-size:clamp(1.15rem,1.5vw,1.45rem);
  line-height:1.12;
  letter-spacing:-.015em;
  color:var(--ink);
}
.hero-cat__price{
  display:block;
  margin-top:.28rem;
  font-family:var(--display);
  font-weight:320;
  font-size:clamp(.9rem,1.05vw,1.08rem);
  line-height:1.18;
  letter-spacing:-.01em;
  color:var(--frost);
}
.hero-cat__meta{
  display:none;
}
.hero-cats__pagination{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin-top:.95rem;
}
.hero-cats__dot{
  appearance:none;
  border:0;
  width:1.9rem;
  height:3px;
  padding:0;
  background:rgba(0,72,84,.18);
  cursor:pointer;
  transition:background .25s var(--ease),transform .25s var(--ease),opacity .25s var(--ease);
}
.hero-cats__dot:hover{
  background:rgba(0,72,84,.34);
}
.hero-cats__dot.is-active{
  background:var(--frost);
}
.hero-cats__dot:focus-visible{
  outline:2px solid rgba(0,72,84,.42);
  outline-offset:3px;
}

.home-shop{
  background:#fff;
  padding:clamp(2.75rem,6vw,4.5rem) var(--gut) clamp(2.5rem,5vw,4rem);
}
.home-shop__head,
.home-shop > .hero-cats{
  max-width:var(--maxw);
  margin-left:auto;
  margin-right:auto;
}
.home-shop__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:clamp(1.4rem,2.6vw,2rem);
}
.home-shop__title{
  margin:0;
  font-family:var(--display);
  font-weight:320;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--ink);
}
.home-shop__link{
  flex-shrink:0;
  border-color:rgba(20,36,42,.18);
  color:var(--ink);
}
.home-shop__link:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.home-shop .hero-cats__dot{
  background:rgba(0,72,84,.18);
}
.home-shop .hero-cats__dot:hover{
  background:rgba(0,72,84,.34);
}
.home-shop .hero-cats__dot.is-active{
  background:var(--frost);
}
.home-shop .hero-cats__dot:focus-visible{
  outline:2px solid rgba(0,72,84,.42);
}

/* =================================================================
   TICKER STRIP
   ================================================================= */
.ticker-strip{
  --ticker-gap:2.5rem;
  background:var(--ink);
  padding:.9rem 0;
  overflow:hidden;
}
.ticker__track{
  display:flex;
  width:max-content;
  white-space:nowrap;
  will-change:transform;
  animation:ticker var(--ticker-duration, 30s) linear infinite;
}
.ticker__group{
  display:flex;
  align-items:center;
  gap:var(--ticker-gap);
  min-width:max-content;
  flex-shrink:0;
  padding-right:var(--ticker-gap);
}
.ticker__track span{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--fog-dim)}
.ticker__track b{color:var(--frost-lt);font-weight:400}
@keyframes ticker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* =================================================================
   MANIFESTO
   ================================================================= */
.manifesto{
  padding:clamp(6rem,15vh,14rem) var(--gut);
  max-width:1300px;margin:0 auto;text-align:center;
}
.manifesto__eyebrow{font-size:.70rem;letter-spacing:.32em;text-transform:uppercase;color:var(--frost);margin-bottom:2.5rem}
.manifesto__text{
  font-family:var(--display);font-weight:320;
  font-size:clamp(1.7rem,4.8vw,4.2rem);line-height:1.2;letter-spacing:-.016em;color:var(--ink);
}
.manifesto__text .w{display:inline-block;opacity:.12}
.manifesto__by{margin-top:2.5rem;color:var(--fog-dim);font-size:.95rem}
.manifesto__by em{color:var(--frost);font-family:var(--display);font-style:italic}

/* =================================================================
   PROCESS SPLIT
   ================================================================= */
.process-split{
  --process-split-bg:#ffffff;
  --process-split-surface:#ffffff;
  --process-split-ink:#1d2d2a;
  --process-split-muted:#62706b;
  --process-split-accent:#355f57;
  --process-split-pill-bg:#dce8df;
  --process-split-pill-ink:#25433d;
  padding:clamp(4.5rem,10vw,8.5rem) clamp(1.25rem,4vw,3rem);
  background:var(--process-split-bg);
}
.process-split__inner{
  width:min(1600px, 100%);
  min-height:clamp(26rem,40vw,35rem);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);
  align-items:center;
  gap:clamp(2rem,6vw,7rem);
}
.process-split__content{
  max-width:23rem;
  justify-self:start;
}
.process-split__eyebrow{
  margin:0 0 1rem;
  font-family:var(--sans);
  color:var(--process-split-accent);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.process-split__title{
  margin:0;
  font-family:var(--display);
  color:var(--process-split-ink);
  font-size:clamp(2rem,4.2vw,3.8rem);
  font-weight:340;
  line-height:.96;
  letter-spacing:-.02em;
}
.process-split__lead{
  margin:1.3rem 0 0;
  font-family:var(--sans);
  color:var(--process-split-muted);
  font-size:1rem;
  line-height:1.75;
}
.process-split__pill{
  margin-top:1.6rem;
  padding:.88em 1.7em;
  font-size:.74rem;
  letter-spacing:.12em;
}
.process-split__media{
  min-height:clamp(18rem,31vw,27rem);
  margin:0;
  overflow:hidden;
  border-radius:999px;
  background:var(--process-split-surface);
  box-shadow:0 20px 60px rgba(29,45,42,.08);
}
.process-split__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* =================================================================
   EDITORIAL STORY
   ================================================================= */
.editorial-story{
  padding:clamp(4.5rem,9vh,8rem) 0;
  background:var(--paper);
  overflow:hidden;
}
.editorial-story__intro{
  max-width:46rem;
  margin:0 auto clamp(3rem,6vw,4.75rem);
  padding:0 var(--gut);
  text-align:center;
}
.editorial-story__title{
  margin:.6rem 0 .9rem;
  font-size:clamp(2.2rem,5.5vw,4.5rem);
}
.editorial-story__lead{
  max-width:44ch;
  margin:0 auto;
  color:var(--fog);
  font-size:1rem;
  line-height:1.7;
}
.editorial-story__intro--article{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gut);
  text-align:left;
}
.editorial-story--intro-only .editorial-story__title{
  max-width:20ch;
}
.editorial-story__lead--article{
  max-width:120ch;
  margin-inline:0;
}
.editorial-story__lead--article + .editorial-story__lead--article{
  margin-top:1.4rem;
}
.editorial-story__rows{
  display:grid;
  gap:clamp(1.25rem,2vw,1.75rem);
}
.editorial-story__row{
  min-height:clamp(19rem,30vw,24.5rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
}
.editorial-story__text-shell{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-left:max(var(--gut), calc((100vw - var(--maxw)) / 2 + var(--gut)));
  padding-right:clamp(1.5rem,4vw,4rem);
}
.editorial-story__copy{
  width:min(100%, 29rem);
}
.editorial-story__heading{
  margin:0 0 1.1rem;
  font-family:var(--display);
  font-weight:340;
  font-size:clamp(1.6rem,2.4vw,2.35rem);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}
.editorial-story__copy p{
  margin:0 0 1rem;
  color:var(--fog);
  font-size:1rem;
  line-height:1.7;
}
.editorial-story__copy p:last-child{
  margin-bottom:0;
}
.editorial-story__row--mirrored .editorial-story__text-shell{
  justify-content:flex-end;
  padding-left:clamp(1.5rem,4vw,4rem);
  padding-right:max(var(--gut), calc((100vw - var(--maxw)) / 2 + var(--gut)));
}
.editorial-story__media{
  min-width:0;
  min-height:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:var(--paper-2);
}
.editorial-story__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

@media (min-width:761px){
  .editorial-story__media{
    height:clamp(32rem,48vw,42rem);
    min-height:clamp(32rem,48vw,42rem);
    border-radius:999px 0 0 999px;
  }
  .editorial-story__row--mirrored .editorial-story__media{
    border-radius:0 999px 999px 0;
  }
}

/* =================================================================
   COLLECTION
   ================================================================= */
.collection{
  background:var(--salt);
  padding-top:clamp(4rem,8vh,7rem);
  border-top:1px solid var(--line-dark);
}
.collection__intro{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(2.5rem,6vw,4rem);
  display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;
}
.collection__intro .h-display{font-size:clamp(2.2rem,6vw,5rem)}
.collection__lead{max-width:38ch;color:var(--fog);font-size:1rem}
.cards{
  max-width:var(--maxw);margin:0 auto;
  padding:0 var(--gut) clamp(2rem,4vw,3rem);
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,1.5vw,1.6rem);
}
.collection__all{display:flex;justify-content:center;padding:clamp(.5rem,2vw,1rem) var(--gut) clamp(4rem,8vw,7rem)}

/* =================================================================
   PROCESS (home - dark bg, 6 steps)
   ================================================================= */
.process{
  background:var(--ink);color:var(--salt);
  padding:clamp(5rem,10vh,10rem) var(--gut);
}
.process__head{max-width:var(--maxw);margin:0 auto clamp(3rem,5vw,4.5rem)}
.process__head .eyebrow{color:var(--frost-lt);margin-bottom:1rem}
.process__head .h-display{color:var(--salt)}
.process__list{
  list-style:none;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
}
.process__step{
  padding:2.2rem 1.4rem 2.2rem 0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.process__step:nth-child(3n){border-right:none}
.process__step:nth-last-child(-n+3){border-bottom:none}
.process__num{font-family:var(--display);font-size:.95rem;color:var(--frost-lt);letter-spacing:.1em}
.process__step h3{font-family:var(--display);font-weight:380;font-size:1.5rem;margin:2.2rem 0 .8rem;color:var(--salt)}
.process__step p{color:rgba(255,255,255,.5);font-size:.95rem;line-height:1.7}

.photo-collage{
  padding:0 var(--gut) clamp(3rem,6vw,4.5rem);
  overflow-x:clip;
}
.photo-collage--last{
  padding-top:clamp(2.25rem,5vw,3.5rem);
}
.photo-collage__inner{
  max-width:var(--maxw);
  margin:0 auto;
  width:100%;
  min-width:0;
  overflow-x:clip;
}
.photo-collage__intro{
  max-width:42rem;
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
}
.photo-collage__title{
  margin:.8rem 0 1rem;
  font-size:clamp(2rem,4vw,3.5rem);
}
.photo-collage__lead{
  max-width:42rem;
  color:var(--fog);
  font-size:1rem;
  line-height:1.85;
}
.photo-collage__mobile{
  display:none;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:clip;
}
.photo-collage__mobile-slider{
  display:grid;
  gap:.95rem;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:clip;
}
.photo-collage__mobile-viewport{
  max-width:100%;
  display:flex;
  gap:0;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  box-sizing:border-box;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scroll-padding-inline:0;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.photo-collage__mobile-viewport::-webkit-scrollbar{
  display:none;
}
.photo-collage__mobile-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  margin:0;
  min-height:clamp(18rem,88vw,25rem);
  overflow:hidden;
  box-sizing:border-box;
  border-radius:1.35rem;
  border:1px solid rgba(20,36,42,.12);
  background:#f4f7f8;
  box-shadow:0 14px 34px rgba(20,36,42,.06);
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.photo-collage__mobile-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.photo-collage__pagination{
  display:flex;
  align-items:center;
  gap:.45rem;
}
.photo-collage__dot{
  appearance:none;
  border:0;
  width:1.9rem;
  height:3px;
  padding:0;
  background:rgba(0,72,84,.18);
  cursor:pointer;
  transition:background .25s var(--ease),transform .25s var(--ease),opacity .25s var(--ease);
}
.photo-collage__dot.is-active{
  background:var(--frost);
  transform:scaleX(1.08);
}
.photo-collage__grid{
  display:grid;
  gap:clamp(.9rem,1.6vw,1.35rem);
  align-items:stretch;
}
.photo-collage__grid + .photo-collage__grid{
  margin-top:clamp(.9rem,1.6vw,1.35rem);
}
.photo-collage__grid--primary{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-areas:
    "hero hero snow salt lava lava"
    "hero hero snow liquorice lava lava";
}
.photo-collage__grid--secondary{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-areas:
    "dinner pink pink blue black black"
    "duo pink pink blue black black";
}
.photo-collage__grid--tertiary{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-areas:
    "frost frost legend lifetime lifetime energy"
    "frost frost legend lifetime lifetime flakes";
}
.photo-collage__item{
  position:relative;
  display:block;
  margin:0;
  overflow:hidden;
  border-radius:1.35rem;
  border:1px solid rgba(20,36,42,.12);
  background:#f4f7f8;
  box-shadow:0 14px 34px rgba(20,36,42,.06);
  transform-origin:center;
  transition:transform .45s var(--ease), border-color .45s ease, box-shadow .45s ease;
}
.photo-collage__grid--primary .photo-collage__item{
  min-height:clamp(11rem,16vw,14rem);
}
.photo-collage__grid--secondary .photo-collage__item{
  min-height:clamp(11rem,16vw,14rem);
}
.photo-collage__grid--tertiary .photo-collage__item{
  min-height:clamp(11rem,16vw,14rem);
}
.photo-collage__item::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(17,27,31,.12));
  pointer-events:none;
  opacity:.65;
  transition:opacity .35s ease;
}
.photo-collage__item img{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}
.photo-collage__item--hero{grid-area:hero;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--snow{grid-area:snow;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--salt{grid-area:salt}
.photo-collage__item--liquorice{grid-area:liquorice}
.photo-collage__item--lava{grid-area:lava;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--snow img{
  object-position:center 62%;
}
.photo-collage__item--salt img{
  object-position:center 50%;
}
.photo-collage__item--pink{grid-area:pink;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--pink img{
  object-position:center 42%;
}
.photo-collage__item--dinner{grid-area:dinner}
.photo-collage__item--dinner img{
  object-position:center 56%;
}
.photo-collage__item--blue{grid-area:blue;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--duo{grid-area:duo}
.photo-collage__item--duo img{
  object-position:center 46%;
}
.photo-collage__item--black{grid-area:black;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--black img{
  object-position:center 52%;
}
.photo-collage__item--energy{grid-area:energy}
.photo-collage__item--energy img{
  object-position:center 52%;
}
.photo-collage__item--lifetime{grid-area:lifetime}
.photo-collage__item--lifetime img{
  object-position:center 62%;
}
.photo-collage__item--legend{grid-area:legend;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--legend img{
  object-position:center 50%;
}
.photo-collage__item--flakes{grid-area:flakes}
.photo-collage__item--flakes img{
  object-position:center 42%;
}
.photo-collage__item--frost{grid-area:frost;min-height:clamp(22rem,31vw,29rem)}
.photo-collage__item--frost img{
  object-position:center 52%;
}
@media (hover:hover) and (pointer:fine){
  .photo-collage__grid{
    overflow:visible;
  }
  .photo-collage__item:hover,
  .photo-collage__item:focus-within{
    z-index:2;
    transform:translateY(-4px) scale(1.03);
    border-color:rgba(0,72,84,.22);
    box-shadow:0 26px 52px rgba(20,36,42,.14);
  }
  .photo-collage__item:hover::after,
  .photo-collage__item:focus-within::after{
    opacity:.28;
  }
  .photo-collage__item:hover img,
  .photo-collage__item:focus-within img{
    transform:scale(1.08);
  }
}

.certificate-band{
  padding:clamp(3.5rem,6vw,5.25rem) var(--gut);
}
.certificate-band__frame{
  max-width:var(--maxw);
  margin:0 auto;
  overflow:hidden;
}
.certificate-band__inner{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(18.5rem,20rem);
  gap:clamp(2.25rem,5vw,5rem);
  align-items:center;
}
.certificate-band__copy{
  max-width:44rem;
  grid-column:1;
  grid-row:1;
}
.certificate-band__title{
  margin:.8rem 0 1rem;
  font-size:clamp(2rem,4vw,3.6rem);
}
.certificate-band__lead{
  max-width:48ch;
  color:var(--fog);
  font-size:1rem;
  line-height:1.85;
}
.certificate-band__actions{
  margin-top:1.75rem;
}
.certificate-band__toggle{
  max-width:100%;
  flex-wrap:wrap;
  row-gap:.55rem;
  padding-inline:1.45rem;
  white-space:normal;
  text-align:center;
}
.certificate-band__toggle [data-certificate-toggle-label]{
  display:inline-block;
}
.certificate-band__toggle-icon{
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  width:1.45rem;
  height:1.45rem;
  border-radius:999px;
  border:1px solid currentColor;
  transition:transform .35s var(--ease), background-color .35s ease, color .35s ease;
}
.certificate-band__toggle-icon::before,
.certificate-band__toggle-icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:.64rem;
  height:1px;
  background:currentColor;
  transform:translate(-50%, -50%);
}
.certificate-band__toggle-icon::after{
  width:1px;
  height:.64rem;
}
.certificate-band.is-details-open .certificate-band__toggle-icon{
  transform:rotate(45deg);
}
.certificate-band__docs{
  display:grid;
  grid-column:2;
  grid-row:1;
  justify-self:center;
  width:min(100%, 21rem);
  gap:1rem;
}
.certificate-band__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  gap:1rem;
  min-height:12.5rem;
  padding:2rem 1.6rem 1.75rem;
  text-align:center;
  border:1px solid rgba(20,36,42,.16);
  border-radius:1rem;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(20,36,42,.05);
  transition:transform .35s var(--ease), border-color .35s ease, box-shadow .35s ease;
}
.certificate-band__card:hover,
.certificate-band__card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(0,72,84,.38);
  box-shadow:0 20px 42px rgba(20,36,42,.09);
}
.certificate-band__icon{
  width:4.15rem;
  height:4.15rem;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(158,211,217,.22);
  color:var(--ink);
}
.certificate-band__icon svg{
  width:2.1rem;
  height:2.1rem;
}
.certificate-band__file{
  font-family:var(--display);
  font-size:clamp(1.45rem,2vw,1.85rem);
  font-weight:360;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}
.certificate-band__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  margin-top:auto;
  padding:.72rem 1.15rem;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:.74rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:background-color .35s ease, transform .35s ease;
}
.certificate-band__card:hover .certificate-band__cta,
.certificate-band__card:focus-visible .certificate-band__cta{
  background:var(--frost);
}
.certificate-band__details{
  grid-column:1 / -1;
  grid-row:2;
  min-width:0;
  margin-top:clamp(2rem,4vw,2.75rem);
  padding-top:clamp(1.5rem,3vw,2rem);
  border-top:1px solid rgba(20,36,42,.12);
}
.certificate-band__details-intro{
  max-width:54rem;
  margin-bottom:clamp(1.5rem,3vw,2rem);
}
.certificate-band__details-lead{
  color:var(--fog);
  font-size:1rem;
  line-height:1.85;
}
.certificate-band__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin-bottom:1rem;
}
.certificate-band__stat{
  padding:1.15rem 1rem 1.1rem;
  border:1px solid rgba(20,36,42,.1);
  border-radius:1rem;
  background:rgba(255,255,255,.9);
}
.certificate-band__stat strong{
  display:block;
  font-family:var(--display);
  font-size:clamp(1.45rem,2.2vw,2rem);
  font-weight:340;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--ink);
}
.certificate-band__stat span{
  display:block;
  margin-top:.45rem;
  color:var(--fog);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.certificate-band__details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.certificate-band__detail-card{
  min-width:0;
  min-height:100%;
  padding:1.45rem 1.3rem 1.5rem;
  border:1px solid rgba(20,36,42,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.82);
}
.certificate-band__detail-card h3{
  margin-bottom:.8rem;
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:340;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}
.certificate-band__detail-card p{
  color:var(--fog);
  font-size:.94rem;
  line-height:1.75;
}
.certificate-band__detail-card p + p{
  margin-top:.95rem;
}
.certificate-band__metric-list,
.certificate-band__feature-list,
.certificate-band__usage-list{
  margin:0;
  padding:0;
  list-style:none;
}
.certificate-band__metric-list{
  display:grid;
  gap:.55rem;
  margin-bottom:1rem;
}
.certificate-band__metric-list li{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(20,36,42,.08);
}
.certificate-band__metric-list li span{
  color:var(--ink);
  font-size:.92rem;
}
.certificate-band__metric-list li strong{
  color:var(--frost);
  font-size:.84rem;
  letter-spacing:.06em;
  white-space:nowrap;
}
.certificate-band__feature-list,
.certificate-band__usage-list{
  display:grid;
  gap:.7rem;
  margin-top:1rem;
}
.certificate-band__feature-list li,
.certificate-band__usage-list li{
  position:relative;
  padding-left:1.1rem;
  color:var(--fog);
  font-size:.94rem;
  line-height:1.7;
}
.certificate-band__feature-list li::before,
.certificate-band__usage-list li::before{
  content:"";
  position:absolute;
  top:.62rem;
  left:0;
  width:.35rem;
  height:.35rem;
  border-radius:50%;
  background:var(--frost);
}
.certificate-band__compare{
  min-width:0;
  margin-top:1rem;
  padding:1.55rem 1.35rem 1.4rem;
  border:1px solid rgba(20,36,42,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.84);
}
.certificate-band__compare h3{
  margin:0 0 1rem;
  font-family:var(--display);
  font-size:1.55rem;
  font-weight:340;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
}
.certificate-band__compare-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.certificate-band__compare-table{
  width:100%;
  min-width:42rem;
  border-collapse:collapse;
}
.certificate-band__compare-table th,
.certificate-band__compare-table td{
  padding:.9rem .95rem;
  border-bottom:1px solid rgba(20,36,42,.1);
  text-align:left;
  vertical-align:top;
  font-size:.92rem;
  line-height:1.55;
}
.certificate-band__compare-table th{
  color:var(--ink);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.certificate-band__compare-table td{
  color:var(--fog);
}
.certificate-band__compare-table td:first-child{
  color:var(--ink);
  font-weight:600;
}
.certificate-band__details-summary{
  max-width:58rem;
  margin-top:1.4rem;
  color:var(--ink);
  font-size:1rem;
  line-height:1.8;
}

/* =================================================================
   REGIONAL MARKETS
   ================================================================= */
.home-markets{
  padding:clamp(4.75rem,8vw,6.75rem) var(--gut) clamp(4rem,7vw,5.75rem);
  background:#fff;
}
.home-markets__inner{
  width:min(1480px,100%);
  margin:0 auto;
}
@media (max-width:1180px){
  .certificate-band__inner{
    grid-template-columns:minmax(0,1fr) minmax(16rem,18rem);
    gap:2rem;
  }
  .certificate-band__docs{
    width:min(100%,18rem);
  }
}

/* =================================================================
   PROCESS ILLUSTRATIONS
   ================================================================= */
.process-illustrations{
  background:#eef1f1;
  padding:clamp(5.5rem,8vw,8rem) var(--gut) clamp(7rem,10vw,10rem);
}
.process-illustrations__head{
  max-width:760px;
  margin:0 auto clamp(5rem,7vw,7rem);
  text-align:center;
}
.process-illustrations__head .section-title{
  margin:0 0 .85rem;
  font-family:var(--display);
  font-weight:340;
  font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:1.04;
  letter-spacing:-.02em;
  color:var(--ink);
}
.process-illustrations__head p:not(.section-title){
  margin:0;
  color:#66909a;
  font-size:.86rem;
  line-height:1.7;
}
.process-illustrations__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(5rem,6vw,7rem) clamp(4rem,7vw,8rem);
  max-width:1120px;
  margin:0 auto;
  padding:0;
  list-style:none;
}
.process-illustrations__grid li{
  min-width:0;
}
.process-illustrations__grid img{
  width:100%;
  height:210px;
  object-fit:contain;
  display:block;
  margin:0 0 1.6rem;
}
.process-illustrations__grid h3{
  margin:0 0 .75rem;
  color:var(--frost);
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.25;
  text-transform:uppercase;
}
.process-illustrations__grid p{
  margin:0;
  color:#55737b;
  font-size:.78rem;
  line-height:1.55;
}

/* =================================================================
   TESTIMONIALS
   ================================================================= */
.award-note{
  background:#fff;
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
  margin-top:clamp(3rem,6vw,5rem);
  padding:clamp(4.5rem,10vw,7.5rem) clamp(1.25rem,4vw,3rem);
}
.award-note__inner{
  width:min(1600px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(2rem,5vw,6rem);
}
.award-note__media{
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.award-note__slider{
  position:relative;
  width:100%;
  min-height:clamp(21rem,38vw,31rem);
  aspect-ratio:1.05/1;
  overflow:hidden;
  border-radius:1.4rem;
  background:#fff;
}
.award-note__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .6s var(--ease);
}
.award-note__slide.is-active{
  opacity:1;
  z-index:1;
}
.award-note__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.award-note__slide--contain img{
  object-fit:contain;
  object-position:center;
  background:#fff;
}
.award-note__dots{
  position:absolute;
  left:50%;
  bottom:1rem;
  z-index:2;
  display:flex;
  gap:.55rem;
  transform:translateX(-50%);
}
.award-note__dot{
  width:.8rem;
  height:.8rem;
  padding:0;
  border:1px solid rgba(18,29,34,.35);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  cursor:pointer;
  transition:transform .22s ease, background-color .22s ease, border-color .22s ease;
}
.award-note__dot.is-active{
  background:var(--ink);
  border-color:var(--ink);
  transform:scale(1.08);
}
.award-note__content{
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  justify-self:start;
  gap:clamp(1.4rem,3vw,2.2rem);
}
.award-note__content > .award-note__title,
.award-note__content > .award-note__title + p{
  display:none;
}
.award-note__lead{
  margin:0;
  font-family:var(--display);
  font-weight:330;
  font-size:clamp(1.55rem,2.3vw,2.45rem);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--ink);
}
.award-note__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.35rem;
  width:100%;
}
.award-note__meta-item{
  padding-top:.8rem;
  border-top:1px solid var(--line-dark);
}
.award-note__meta-label{
  display:block;
  margin-bottom:.4rem;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--frost);
}
.award-note__meta-value{
  margin:0;
  font-size:.95rem;
  line-height:1.6;
  color:var(--ink);
}
.award-note__seal{
  width:clamp(6.5rem,9vw,8.75rem);
}
.award-note__seal img{
  width:100%;
  height:auto;
  display:block;
}
.testimonials{
  background:var(--paper-2);
  padding:clamp(4.5rem,9vh,8rem) var(--gut);
  text-align:center;
}
.testimonials > .eyebrow{margin-bottom:clamp(2.5rem,5vw,4rem);display:block}
.testimonials__grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.8rem);
  text-align:left;
}
.testimonial{
  padding:2rem 1.8rem 1.8rem;
  background:var(--salt);
  border-radius:8px;
  display:flex;flex-direction:column;gap:1.2rem;
  transition:box-shadow .4s var(--ease);
}
.testimonial:hover{box-shadow:0 8px 32px -8px rgba(10,13,15,.1)}
.testimonial__stars{color:var(--frost);font-size:.85rem;letter-spacing:.08em}
.testimonial__text{
  font-family:var(--display);font-style:italic;font-weight:320;
  font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.55;color:var(--ink);flex:1;
}
.testimonial__by{
  display:flex;flex-direction:column;gap:.25rem;
  padding-top:.9rem;border-top:1px solid var(--line-dark);
}
.testimonial__name{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--ink)}
.testimonial__handle{font-size:.7rem;letter-spacing:.14em;color:var(--frost);text-transform:uppercase}

/* =================================================================
   VALUES
   ================================================================= */
.values{
  background:var(--salt);
  padding:clamp(4rem,8vh,8rem) var(--gut);
  border-top:1px solid var(--line-dark);
}
.values__grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);
}
.value{display:flex;flex-direction:column;gap:1rem}
.value__k{font-family:var(--display);font-size:clamp(2.2rem,3.5vw,3rem);line-height:1;color:var(--ink)}
.value p{color:var(--fog);font-size:.96rem;max-width:22ch}

/* =================================================================
   CLUB (dark section - contrast)
   ================================================================= */
.club{
  position:relative;background:var(--ink);
  padding:clamp(5rem,12vh,10rem) var(--gut);
  text-align:center;overflow:hidden;
}
.club__inner{position:relative;z-index:2;max-width:580px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.club__emblem{width:100px;height:100px;color:rgba(158,211,217,.35);margin-bottom:1.6rem}
.club .eyebrow{margin-bottom:1.2rem}
.club .h-display{color:var(--salt)}
.club .h-display em{color:var(--frost-lt)}
.club__lead{color:rgba(255,255,255,.5);margin:1.4rem 0 2.4rem;font-size:1.02rem;max-width:44ch}
.club__form{display:flex;gap:.6rem;width:100%;max-width:460px}
.club__form input{
  flex:1;padding:1em 1.4em;border-radius:100px;
  border:1px solid var(--line);background:rgba(255,255,255,.05);
  color:var(--salt);font-size:.9rem;
}
.club__form input::placeholder{color:rgba(255,255,255,.3)}
.club__form input:focus{outline:none;border-color:var(--frost-lt)}
.club__fine{margin-top:1.2rem;font-size:.72rem;color:rgba(255,255,255,.3)}

/* =================================================================
   FOOTER EXTRAS (home only)
   ================================================================= */
.footer__contact-hero{
  max-width:var(--maxw);margin:clamp(3rem,6vh,5rem) auto 0;
  padding-top:clamp(2rem,4vh,3rem);
  border-top:1px solid var(--line-dark);
  display:flex;flex-direction:column;gap:.5rem;
}
.footer__contact-label{
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--fog-dim);
}
.footer__contact-email{
  font-family:var(--display);font-weight:320;font-style:italic;
  font-size:clamp(1.8rem,4vw,3.8rem);
  letter-spacing:-.02em;line-height:1;
  color:var(--ink);
  border-bottom:1px solid var(--line-dark);
  padding-bottom:.3em;
  display:inline-block;
  transition:color .25s,border-color .25s;
}
.footer__contact-email:hover{color:var(--frost);border-color:var(--frost)}

.footer__ghost{
  font-family:'Fraunces',Georgia,serif;font-weight:330;
  text-align:center;
  font-size:clamp(4rem,22vw,20rem);
  line-height:.8;letter-spacing:-.03em;
  color:var(--frost);opacity:.13;
  margin-top:2rem;user-select:none;overflow:hidden;
}

/* =================================================================
   FULL-BLEED IMAGE BAND
   ================================================================= */
.band{
  position:relative;
  height:clamp(58vh,72vh,86vh);
  overflow:hidden;
  background:var(--ink);
}
.band__media{position:absolute;inset:0}
.band__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 55%;
  opacity:0;transform:scale(1.06);
  transition:opacity 1.1s var(--ease),transform 9s ease;
}
.band__media img.is-loaded{opacity:1;transform:scale(1)}
.band__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top, rgba(16,23,19,.7) 0%, rgba(16,23,19,.15) 45%, rgba(16,23,19,.35) 100%);
}
.band__caption{
  position:absolute;left:0;bottom:0;z-index:2;
  padding:clamp(2.5rem,7vw,6rem) var(--gut);
  color:#fff;max-width:760px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  isolation:isolate;
}
.band__caption::before{
  content:"";
  position:absolute;
  top:-1.6rem;
  bottom:-1.6rem;
  left:-1.6rem;
  right:14%;
  z-index:-1;
  border-radius:999px;
  background:radial-gradient(
    ellipse at 28% 50%,
    rgba(9, 22, 26, 0.68) 0%,
    rgba(9, 22, 26, 0.46) 38%,
    rgba(9, 22, 26, 0.16) 62%,
    rgba(9, 22, 26, 0) 82%
  );
  filter:blur(20px);
  opacity:.92;
  pointer-events:none;
}
.band__caption > *{
  position:relative;
}
.band--caption-right .band__caption{
  left:auto;right:0;
  text-align:right;
  align-items:flex-end;
}
.band--caption-right .band__caption::before{
  left:14%;
  right:-1.6rem;
  background:radial-gradient(
    ellipse at 72% 50%,
    rgba(9, 22, 26, 0.68) 0%,
    rgba(9, 22, 26, 0.46) 38%,
    rgba(9, 22, 26, 0.16) 62%,
    rgba(9, 22, 26, 0) 82%
  );
}
.band--plain .band__overlay{
  background:none;
}
.band__eyebrow{
  font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--frost-lt);margin-bottom:1rem;
}
.band__title{
  margin:0 0 1rem;
  color:#fff;
  font-size:clamp(2rem,4.8vw,4.25rem);
  line-height:1;
}
.band__lead{
  margin:0;
  max-width:34rem;
  color:rgba(255,255,255,.9);
  font-size:clamp(.95rem,1.25vw,1.08rem);
  line-height:1.75;
}
.band--caption-right .band__lead{
  margin-left:auto;
}
.band__text{
  margin:0;
  font-family:var(--display);font-weight:320;
  font-size:clamp(1.7rem,4.2vw,3.4rem);
  line-height:1.12;letter-spacing:-.02em;
}
@media (min-width:1025px){
  .band--caption-right .band__caption{
    max-width:980px;
  }
  .band--caption-right .band__lead{
    max-width:44rem;
  }
}
@media (max-width:760px){
  .band__caption::before{
    top:-1rem;
    bottom:-1rem;
    left:-.75rem;
    right:8%;
    filter:blur(16px);
  }
  .band--caption-right .band__caption::before{
    left:8%;
    right:-.75rem;
  }
}

/* =================================================================
   GALERIA (mozaika zdjęć)
   ================================================================= */
.gallery{
  background:var(--paper);
  padding:clamp(4.5rem,9vh,8rem) var(--gut);
}
.gallery__head{
  max-width:var(--maxw);margin:0 auto clamp(2.5rem,5vw,4rem);
  text-align:center;
}
.gallery__head .h-display{margin:.6rem 0 .9rem;font-size:clamp(2.2rem,5.5vw,4.5rem)}
.gallery__lead{color:var(--fog);font-size:1rem;max-width:48ch;margin:0 auto;line-height:1.7}
.gallery__grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  grid-auto-rows:minmax(15rem,21vw);
  gap:clamp(.8rem,1.5vw,1.15rem);
}
.gallery__item{
  margin:0;
  overflow:hidden;
  border-radius:clamp(1rem,1.7vw,1.6rem);
  position:relative;
  background:var(--paper-2);
}
.gallery__item--video{
  cursor:pointer;
}
.gallery__item--video:focus-visible{
  outline:2px solid var(--frost);
  outline-offset:4px;
}
.gallery__item--wide{
  min-height:clamp(16rem,21vw,22rem);
}
.gallery__item--tall{
  grid-row:span 2;
}
.gallery__item--video::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7, 18, 21, 0.08) 0%, rgba(7, 18, 21, 0.22) 100%);
  pointer-events:none;
}
.gallery__video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:var(--ink-2);
  transform:scale(1.01);
  transition:transform .6s var(--ease);
  pointer-events:none;
}
.gallery__item:hover .gallery__video{
  transform:scale(1.04);
}
.gallery-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:clamp(1rem,3vw,2rem);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.gallery-modal[hidden]{
  display:none;
}
.gallery-modal.is-open{
  opacity:1;
  pointer-events:auto;
}
.gallery-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(5, 12, 16, 0.86);
  cursor:pointer;
}
.gallery-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1120px, 100%);
  display:grid;
  gap:.9rem;
}
.gallery-modal__toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.8rem;
}
.gallery-modal__close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.9rem;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.1);
  color:#fff;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.gallery-modal__close{
  width:2.9rem;
  padding:0;
  border-radius:999px;
  font-size:1.4rem;
  line-height:1;
}
.gallery-modal__close span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}
.gallery-modal__close:hover,
.gallery-modal__close:focus-visible{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.36);
  transform:translateY(-1px);
}
.gallery-modal__frame{
  background:#000;
  border-radius:clamp(1rem,1.7vw,1.5rem);
  overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,.35);
}
.gallery-modal__video{
  display:block;
  width:100%;
  max-height:calc(100vh - 8rem);
  background:#000;
}
body.gallery-modal-open{
  overflow:hidden;
}

/* =================================================================
   RESPONSIVE (home-specific)
   ================================================================= */
@media (max-width:1200px){
  .gallery__grid{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .gallery__item--tall{
    grid-row:auto;
  }
  .gallery__item--wide,
  .gallery__item--tall{
    min-height:clamp(16rem,48vw,25rem);
  }
}
@media (max-width:1024px){
  .photo-collage__grid--primary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "hero hero"
      "snow lava"
      "salt liquorice";
  }
  .photo-collage__grid--secondary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "pink pink"
      "dinner blue"
      "duo black";
  }
  .photo-collage__grid--tertiary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "lifetime lifetime"
      "energy legend"
      "flakes frost";
  }
  .photo-collage__grid--primary .photo-collage__item,
  .photo-collage__item--hero,
  .photo-collage__item--snow,
  .photo-collage__item--lava{
    min-height:clamp(15rem,32vw,22rem);
  }
  .photo-collage__grid--secondary .photo-collage__item,
  .photo-collage__item--pink,
  .photo-collage__item--blue,
  .photo-collage__item--black{
    min-height:clamp(15rem,32vw,22rem);
  }
  .photo-collage__grid--tertiary .photo-collage__item,
  .photo-collage__item--legend,
  .photo-collage__item--frost{
    min-height:clamp(15rem,32vw,22rem);
  }
  .certificate-band__inner{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .certificate-band__stats{
    grid-template-columns:1fr;
  }
  .certificate-band__copy,
  .certificate-band__details,
  .certificate-band__docs,
  .certificate-band__card{
    grid-column:auto;
    grid-row:auto;
  }
  .certificate-band__docs{
    width:min(100%,22rem);
    margin:0 auto;
  }
  .certificate-band__details-grid{
    grid-template-columns:1fr;
  }
  .certificate-band__compare-table{
    min-width:0;
  }
}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;min-height:0}
  .hero-split__media{aspect-ratio:4/3}
  .hero-split__slide img{position:absolute}
  .hero-split__controls{
    right:1rem;
    bottom:1rem;
  }
  .hero-split__arrow{
    width:2.75rem;
    height:2.75rem;
  }
  .hero-split__panel{padding:clamp(2.5rem,8vw,4rem) var(--gut)}
  .hero-cats__viewport{
    grid-auto-columns:calc((100% - .85rem) / 2);
    gap:.85rem;
  }
}
@media (min-width:901px){
  .hero-split{
    min-height:50svh;
  }
  .hero-split__panel{
    align-items:flex-start;
    padding:
      calc(clamp(2rem,4vw,3.25rem) + var(--anchor-offset))
      clamp(2rem,6vw,7rem)
      clamp(2rem,4vw,3.25rem)
      clamp(2rem,6vw,7rem);
  }
}
@media (max-width:680px){
  .hero-split__media{
    aspect-ratio:4/4.25;
  }
  .home-shop__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .hero-cats__viewport{
    grid-auto-columns:calc(100% - 2.4rem);
    gap:.8rem;
  }
  .hero-cat{
    min-height:0;
  }
  .hero-cat__body{
    padding:.85rem .95rem .95rem;
  }
  .hero-cats__pagination{
    justify-content:center;
  }
  .gallery__item--wide,
  .gallery__item--tall{
    min-height:clamp(15rem,58vw,20rem);
  }
  .gallery-modal{
    padding:.85rem;
  }
  .gallery-modal__toolbar{
    gap:.6rem;
  }
  .gallery-modal__close{
    width:2.7rem;
    min-height:2.7rem;
  }
  .gallery-modal__video{
    max-height:calc(100vh - 7.4rem);
  }
  .certificate-band{
    padding:2.75rem 1rem;
  }
  .certificate-band__copy{
    text-align:center;
    margin:0 auto;
  }
  .certificate-band__toggle{
    width:100%;
    justify-content:center;
    padding-inline:1.1rem;
  }
  .certificate-band__lead{
    margin-left:auto;
    margin-right:auto;
  }
  .certificate-band__actions{
    display:flex;
    justify-content:center;
  }
  .certificate-band__details-intro{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .certificate-band__detail-card,
  .certificate-band__compare{
    padding:1.2rem 1rem 1.15rem;
  }
  .certificate-band__metric-list li{
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
  }
  .certificate-band__metric-list li strong{
    white-space:normal;
  }
  .certificate-band__compare-wrap{
    overflow:visible;
  }
  .certificate-band__compare-table,
  .certificate-band__compare-table tbody,
  .certificate-band__compare-table tr,
  .certificate-band__compare-table td{
    display:block;
    width:100%;
  }
  .certificate-band__compare-table{
    min-width:0;
  }
  .certificate-band__compare-table thead{
    display:none;
  }
  .certificate-band__compare-table tr{
    padding:.15rem 0 .5rem;
    border-bottom:1px solid rgba(20,36,42,.1);
  }
  .certificate-band__compare-table tr:last-child{
    border-bottom:none;
  }
  .certificate-band__compare-table td{
    padding:.38rem 0;
    border-bottom:none;
    font-size:.9rem;
    line-height:1.6;
  }
  .certificate-band__compare-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:.14rem;
    color:var(--ink);
    font-size:.72rem;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .certificate-band__details-summary{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
}
@media (max-width:1024px){
  .process-split{
    padding-inline:clamp(1.25rem,3vw,2rem);
  }
  .process-split__inner{
    grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
    gap:clamp(1.75rem,4vw,3.25rem);
    min-height:clamp(24rem,44vw,30rem);
  }
  .process-split__content{
    max-width:21rem;
  }
  .process-split__media{
    min-height:clamp(17rem,34vw,22rem);
    border-radius:999px;
  }
  .editorial-story__row{
    min-height:clamp(16.5rem,34vw,20.5rem);
  }
  .editorial-story__text-shell{
    padding-left:var(--gut);
    padding-right:clamp(1.25rem,3vw,2rem);
  }
  .editorial-story__row--mirrored .editorial-story__text-shell{
    padding-left:clamp(1.25rem,3vw,2rem);
    padding-right:var(--gut);
  }
  .process-illustrations__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(3rem,5vw,4.5rem) clamp(2rem,4vw,3rem);
  }
  .collection__intro{grid-template-columns:1fr;gap:1.2rem}
  .cards{grid-template-columns:repeat(2,1fr)}
  .process__list{grid-template-columns:repeat(2,1fr)}
  .process__step:nth-child(3n){border-right:1px solid var(--line)}
  .process__step:nth-child(2n){border-right:none}
  .process__step:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .process__step:nth-last-child(-n+2){border-bottom:none}
  .values__grid{grid-template-columns:repeat(2,1fr)}
  .award-note__inner{
    gap:clamp(1.75rem,4vw,3rem);
  }
  .award-note__slider{
    min-height:clamp(18rem,38vw,24rem);
  }
  .award-note__meta{
    gap:.95rem 1rem;
  }
  .testimonials__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .photo-collage{
    padding:0 1rem 2.75rem;
  }
  .photo-collage--last{
    padding-top:2rem;
  }
  .photo-collage__inner,
  .photo-collage__mobile,
  .photo-collage__mobile-slider,
  .photo-collage__mobile-viewport{
    width:min(100%, calc(100vw - 2rem));
    max-width:min(100%, calc(100vw - 2rem));
  }
  .photo-collage.is-slider-ready .photo-collage__mobile{
    display:block;
    margin-bottom:1rem;
  }
  .photo-collage.is-slider-ready .photo-collage__grid{
    display:none;
  }
  .photo-collage__mobile-viewport{
    gap:0;
  }
  .photo-collage__mobile-slide{
    flex:0 0 min(100%, calc(100vw - 2rem));
    width:min(100%, calc(100vw - 2rem));
    min-width:min(100%, calc(100vw - 2rem));
    max-width:min(100%, calc(100vw - 2rem));
  }
  .photo-collage__intro{
    margin-bottom:1.4rem;
  }
  .photo-collage__title{
    font-size:clamp(1.9rem,7.2vw,2.7rem);
  }
  .photo-collage__grid--primary{
    grid-template-columns:1fr;
    grid-template-areas:
      "hero"
      "snow"
      "salt"
      "lava"
      "liquorice";
  }
  .photo-collage__grid--secondary{
    grid-template-columns:1fr;
    grid-template-areas:
      "pink"
      "dinner"
      "blue"
      "duo"
      "black";
    gap:1rem;
  }
  .photo-collage__grid--tertiary{
    grid-template-columns:1fr;
    grid-template-areas:
      "lifetime"
      "energy"
      "legend"
      "flakes"
      "frost";
    gap:1rem;
  }
  .photo-collage__grid--primary .photo-collage__item,
  .photo-collage__item--hero,
  .photo-collage__item--snow,
  .photo-collage__item--lava{
    min-height:clamp(12.5rem,60vw,18rem);
    border-radius:1.1rem;
  }
  .photo-collage__grid--secondary .photo-collage__item,
  .photo-collage__item--pink,
  .photo-collage__item--blue,
  .photo-collage__item--black{
    min-height:clamp(12.5rem,60vw,18rem);
    border-radius:1.1rem;
  }
  .photo-collage__grid--tertiary .photo-collage__item,
  .photo-collage__item--legend,
  .photo-collage__item--frost{
    min-height:clamp(12.5rem,60vw,18rem);
    border-radius:1.1rem;
  }
  .photo-collage__mobile-frame{
    min-height:clamp(18rem,88vw,24rem);
    border-radius:1.1rem;
  }
  .photo-collage__mobile-controls{
    right:.85rem;
    bottom:.85rem;
  }
  .home-markets{
    padding:4rem 1rem 3.5rem;
  }
  .process-split{
    padding:3.5rem 1rem;
  }
  .process-split__inner{
    grid-template-columns:1fr;
    min-height:auto;
    gap:1.5rem;
  }
  .process-split__content{
    max-width:none;
  }
  .process-split__title{
    font-size:clamp(1.9rem,7.2vw,2.6rem);
    letter-spacing:-.02em;
  }
  .process-split__lead{
    font-size:.96rem;
    line-height:1.7;
  }
  .process-split__media{
    min-height:15rem;
    border-radius:3rem;
  }
  .editorial-story{
    padding:3.5rem 0;
  }
  .editorial-story__intro{
    margin-bottom:2rem;
    padding:0 1rem;
  }
  .editorial-story__title{
    font-size:clamp(1.9rem,7.2vw,2.8rem);
  }
  .editorial-story__rows{
    gap:1.25rem;
  }
  .editorial-story__row{
    min-height:auto;
    grid-template-columns:1fr;
    gap:1.25rem;
  }
  .editorial-story__row > .editorial-story__media{
    order:-1;
  }
  .editorial-story__text-shell,
  .editorial-story__row--mirrored .editorial-story__text-shell{
    padding:0 1rem;
  }
  .editorial-story__media{
    min-height:12.5rem;
  }
  .editorial-story__copy{
    width:100%;
  }
  .process-illustrations{
    padding:4rem 1rem 5rem;
  }
  .process-illustrations__head{
    margin-bottom:3rem;
  }
  .process-illustrations__grid{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .process-illustrations__grid img{
    height:180px;
    margin-bottom:1.25rem;
  }
  .cards{grid-template-columns:1fr}
  .process__list{grid-template-columns:1fr}
  .process__step{border-right:none;border-bottom:1px solid var(--line)}
  .process__step:last-child{border-bottom:none}
  .values__grid{grid-template-columns:1fr 1fr;gap:1.8rem}
  .award-note{
    padding:2.25rem 1rem;
  }
  .award-note__inner{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .award-note__slider{
    min-height:0;
    aspect-ratio:4/5;
    border-radius:1.2rem;
  }
  .award-note__content{
    gap:1.25rem;
    max-width:none;
  }
  .award-note__lead{
    max-width:none;
    font-size:clamp(1.4rem,6vw,1.95rem);
  }
  .award-note__meta{
    grid-template-columns:1fr;
    gap:.8rem;
  }
  .award-note__seal{
    width:7rem;
  }
  .testimonials__grid{grid-template-columns:1fr}
  .club__form{flex-direction:column}
  .club__form .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .manifesto__text .w{opacity:1}
}

/* =================================================================
   HOME ONLY - about stats / values / team / contact
   ================================================================= */
.about-stats {
  background: var(--paper);
  padding: clamp(4rem,8vh,7rem) var(--gut);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.about-stats__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(2rem,4vw,4rem);
}
.stat-item { text-align: center }
.stat-num {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(2.8rem,6vw,5.5rem);
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--ink);
  display: block;
  margin-bottom: .5rem;
}
.stat-label {
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--fog);
  line-height: 1.55;
}

.about-values {
  padding: clamp(5rem,10vh,9rem) var(--gut);
  border-bottom: 1px solid var(--line-dark);
}
.about-values__head {
  max-width: var(--maxw);
  margin: 0 auto 3.5rem;
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
}
.about-values__eyebrow {
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--frost);
}
.about-values__title {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.4rem,2.5vw,2.3rem);
  line-height: 1;
  letter-spacing: -.016em;
  color: var(--ink);
  margin: 0;
}
.about-values__grid {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}
.value-card {
  padding: clamp(2rem,4vw,3.5rem);
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  transition: background .25s;
}
.value-card:hover { background: var(--paper) }
.value-card__icon {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 1rem;
  line-height: 1;
}
.value-card__title {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.1rem,1.6vw,1.5rem);
  line-height: 1.1;
  letter-spacing: -.012em;
  color: var(--ink);
  margin: 0 0 .8rem;
}
.value-card__title em { font-style: italic; color: var(--frost) }
.value-card__text {
  font-size: .82rem;
  color: var(--fog);
  line-height: 1.8;
  margin: 0;
}

.about-team {
  padding: clamp(5rem,10vh,9rem) var(--gut);
  border-bottom: 1px solid var(--line-dark);
  background: var(--paper);
}
.about-team__head {
  max-width: var(--maxw);
  margin: 0 auto 3.5rem;
}
.about-team__eyebrow {
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--frost);
  display: block;
  margin-bottom: .5rem;
}
.about-team__title {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.4rem,2.5vw,2.3rem);
  line-height: 1;
  letter-spacing: -.016em;
  color: var(--ink);
  margin: 0;
}
.about-team__grid {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(1.5rem,3vw,2.5rem);
}
.team-card__photo {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  margin-bottom: 1.2rem;
  background: var(--ink);
  position: relative;
}
.team-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transform: scale(1.03);
}
.team-card__photo img.is-loaded { opacity: 1; transform: scale(1) }
.team-card__photo::after {
  content: attr(data-initials);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--display);
  font-weight: 320;
  font-style: italic;
  font-size: clamp(3rem,8vw,6rem);
  color: var(--frost-lt);
  opacity: .3;
  letter-spacing: -.02em;
}
.team-card__name {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.1rem,1.6vw,1.4rem);
  line-height: 1.1;
  letter-spacing: -.012em;
  color: var(--ink);
  margin: 0 0 .3rem;
}
.team-card__name-real {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.1rem,1.6vw,1.4rem);
  line-height: 1.1;
  letter-spacing: -.012em;
  color: var(--ink);
  margin: 0 0 .3rem;
}
.team-card__role {
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--frost);
  display: block;
  margin-bottom: .6rem;
}
.team-card__role-real {
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--frost);
  display: block;
  margin-bottom: .6rem;
}
.team-card__bio {
  font-size: .8rem;
  color: var(--fog);
  line-height: 1.75;
  margin: 0;
}
.team-card__bio-real {
  font-size: .8rem;
  color: var(--fog);
  line-height: 1.75;
  margin: 0;
}
.about-team .team-card > .team-card__name,
.about-team .team-card > .team-card__role,
.about-team .team-card > .team-card__bio {
  display: none;
}

.contact-hd {
  padding: clamp(5rem,10vh,8rem) var(--gut) 0;
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem,5vw,6rem);
  align-items: end;
  border-bottom: 1px solid var(--line-dark);
  padding-bottom: clamp(2.5rem,5vh,4rem);
}
.contact-hd__eyebrow {
  font-size: .66rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--frost);
  display: block;
  margin-bottom: .7rem;
}
.contact-hd__title {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(3rem,7vw,6.5rem);
  line-height: .92;
  letter-spacing: -.026em;
  color: var(--ink);
  margin: 0;
}
.contact-hd__title em { font-style: italic; color: var(--frost) }
.contact-hd__right { padding-bottom: .4rem }
.contact-hd__lead {
  font-size: clamp(.9rem,1.2vw,1.05rem);
  color: var(--fog);
  line-height: 1.8;
  margin: 0 0 1.2rem;
  max-width: 46ch;
}
.contact-hd__reply {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--frost);
}
.contact-hd__reply-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--frost);
  animation: blink 2s ease infinite;
}
@keyframes blink {
  0%,100% { opacity: 1 }
  50% { opacity: .25 }
}

.contact-layout {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(3rem,6vh,5rem) var(--gut) clamp(6rem,12vh,10rem);
  display: grid;
  grid-template-columns: 60fr 40fr;
  gap: clamp(3rem,6vw,9rem);
  align-items: start;
}
.contact-main {
  min-width: 0;
}
.topic-label {
  font-size: .6rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--fog);
  display: block;
  margin-bottom: .65rem;
}
.topic-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 2rem;
}
.topic-pill {
  height: 34px;
  padding: 0 1rem;
  border: 1px solid var(--line-dark);
  background: transparent;
  font-family: var(--sans);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fog);
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.topic-pill:hover { border-color: var(--frost-lt) }
.topic-pill.is-active {
  border-color: var(--frost);
  background: var(--frost);
  color: #fff;
}
.topic-hint {
  font-size: .78rem;
  color: var(--fog);
  line-height: 1.7;
  padding: .8rem 1rem;
  background: var(--paper);
  border-left: 3px solid var(--frost);
  margin-bottom: 1.8rem;
  display: none;
}
.topic-hint.is-vis { display: block }
.form-row { margin-bottom: .95rem }
.form-row--2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}
.form-row--0 { margin-bottom: 0 }
.form-field {
  display: flex;
  flex-direction: column;
  gap: .28rem;
}
.form-label {
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--fog);
  font-weight: 500;
}
.form-label--req::after { content: ' *'; color: var(--frost) }
.form-input {
  height: 44px;
  padding: 0 .9rem;
  border: 1px solid var(--line-dark);
  background: #fff;
  font-family: var(--sans);
  font-size: .88rem;
  color: var(--ink);
  outline: none;
  width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
.form-input:focus {
  border-color: var(--frost);
  box-shadow: 0 0 0 3px rgba(0,72,84,.1);
}
.form-input::placeholder { color: var(--fog); opacity: .6 }
.form-textarea {
  width: 100%;
  min-height: 160px;
  resize: vertical;
  padding: .75rem .9rem;
  border: 1px solid var(--line-dark);
  background: #fff;
  font-family: var(--sans);
  font-size: .88rem;
  color: var(--ink);
  outline: none;
  transition: border-color .2s;
  line-height: 1.6;
}
.form-textarea:focus { border-color: var(--frost) }
.form-textarea::placeholder { color: var(--fog); opacity: .6 }
.form-error {
  font-size: .63rem;
  color: #c0392b;
  display: none;
}
.form-field.has-error .form-error { display: block }
.form-field.has-error .form-input,
.form-field.has-error .form-textarea { border-color: #c0392b }
.contact-form-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.contact-form-status {
  display: none;
  margin-top: 1rem;
  font-size: .72rem;
  line-height: 1.6;
  color: #c0392b;
}
.contact-form-status.is-vis { display: block }
.form-char {
  text-align: right;
  font-size: .6rem;
  color: var(--fog);
  opacity: .55;
  margin-top: .2rem;
}
.form-char.is-warn { color: #e67e22; opacity: 1 }
.contact-submit-row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.8rem;
}
.contact-submit {
  min-height: 48px;
  padding: .92em 2.2em;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  border: 1.5px solid var(--ink);
  cursor: pointer;
  font-family: var(--sans);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  transition: transform .35s var(--ease), background .25s, border-color .25s;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.contact-submit:hover:not(:disabled) {
  background: var(--frost);
  border-color: var(--frost);
  transform: translateY(-2px);
}
.contact-submit:disabled { opacity: .6; cursor: not-allowed }
.contact-submit__spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  display: none;
  animation: spin .6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg) } }
.contact-submit.is-loading .contact-submit__spinner { display: block }
.contact-submit.is-loading .contact-submit__label { opacity: 0 }
.contact-gdpr {
  font-size: .68rem;
  color: var(--fog);
  line-height: 1.6;
  max-width: 38ch;
}
.contact-gdpr a { color: var(--frost); border-bottom: 1px solid currentColor }
.contact-success {
  display: none;
  padding: 2.5rem;
  border: 1px solid var(--frost);
  background: rgba(0,72,84,.05);
  text-align: center;
}
.contact-success.is-vis { display: block }
.contact-success__check {
  width: 48px;
  height: 48px;
  border: 2px solid var(--frost);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.contact-success__check svg .mark {
  stroke-dasharray: 22;
  stroke-dashoffset: 22;
  animation: drawCheck .5s .1s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes drawCheck { to { stroke-dashoffset: 0 } }
.contact-success__title {
  font-family: var(--display);
  font-weight: 320;
  font-size: clamp(1.2rem,2vw,1.8rem);
  letter-spacing: -.012em;
  color: var(--ink);
  margin: 0 0 .5rem;
}
.contact-success__sub {
  font-size: .85rem;
  color: var(--fog);
  line-height: 1.7;
}
.contact-product-photo {
  width: min(100%, 640px);
  aspect-ratio: 1;
  margin: clamp(2rem,4vw,3rem) 0 0;
  overflow: hidden;
  background: var(--paper);
}
.contact-product-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-sidebar {
  position: sticky;
  top: clamp(5rem,10vh,7rem);
}
.contact-info-block {
  padding: 0 0 1.8rem;
  margin-bottom: 1.8rem;
  border-bottom: 1px solid var(--line-dark);
}
.contact-info-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.info-label {
  font-size: .58rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--frost);
  display: block;
  margin-bottom: .65rem;
}
.info-val {
  font-size: clamp(.9rem,1.1vw,1rem);
  color: var(--ink);
  font-weight: 500;
  margin: 0 0 .25rem;
  line-height: 1.4;
}
.info-val a {
  color: inherit;
  border-bottom: 1px solid var(--line-dark);
  transition: border-color .2s, color .2s;
}
.info-val a:hover { color: var(--frost); border-color: var(--frost) }
.info-sub {
  font-size: .78rem;
  color: var(--fog);
  line-height: 1.7;
  margin: 0;
}
.contact-socials {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.social-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .65rem .8rem;
  border: 1px solid var(--line-dark);
  font-size: .72rem;
  color: var(--fog);
  font-weight: 500;
  transition: border-color .2s, color .2s, background .2s;
}
.social-link:hover {
  border-color: var(--frost);
  color: var(--frost);
  background: rgba(0,72,84,.04);
}
.social-link span { letter-spacing: .06em }
.social-link svg { opacity: .4; transition: opacity .2s }
.social-link:hover svg { opacity: 1 }
.contact-map {
  margin-top: 1.8rem;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-map__embed{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  border:0;
  filter:grayscale(1) saturate(.55) brightness(.92) contrast(1.02);
  opacity:1;
  pointer-events:auto;
  z-index:0;
  transform:none;
  transition:filter .3s ease, opacity .3s ease;
}
.contact-map__veil{
  position:absolute;
  inset:0;
  background:rgba(248,246,241,.42);
  pointer-events:none;
  z-index:1;
  transition:opacity .3s ease;
}
.contact-map__pin{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  z-index:3;
  text-align:center;
  transition:opacity .3s ease, transform .3s ease;
}
.contact-map__coords {
  font-family: var(--display);
  font-weight: 320;
  font-style: italic;
  font-size: clamp(1.4rem,3vw,2.2rem);
  letter-spacing: -.015em;
  color: var(--frost);
  display: block;
  margin-bottom: 0;
  transform: translateY(-1.15rem);
}
.contact-map__place {
  display:inline-flex;
  font-size:0;
  line-height:1;
  letter-spacing:0;
  color:transparent;
  transform: translateY(-1.15rem);
}
.contact-map__place::before{
  content:"Rybnik · Polska";
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--fog);
}
.contact-map::before,
.contact-map::after {
  content: '';
  position: absolute;
  background: var(--line-dark);
  pointer-events:none;
  z-index:3;
  transition:opacity .3s ease;
}
.contact-map::before { inset: 0 50% 0 50%; width: 1px }
.contact-map::after { inset: 50% 0 50% 0; height: 1px }
.contact-map__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--frost);
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition:opacity .3s ease, transform .3s ease;
}
.contact-map__dot::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px solid var(--frost);
  animation: pulseRing 1.8s ease infinite;
}
.contact-map:hover .contact-map__embed,
.contact-map:focus-within .contact-map__embed{
  filter:none;
}
.contact-map:hover .contact-map__veil,
.contact-map:focus-within .contact-map__veil,
.contact-map:hover .contact-map__pin,
.contact-map:focus-within .contact-map__pin,
.contact-map:hover::before,
.contact-map:focus-within::before,
.contact-map:hover::after,
.contact-map:focus-within::after,
.contact-map:hover .contact-map__dot,
.contact-map:focus-within .contact-map__dot{
  opacity:0;
}
.contact-map__place,
.contact-map__place::before{
  display:none;
  content:none;
}
@keyframes pulseRing {
  0% { transform: scale(.6); opacity: .8 }
  100% { transform: scale(1.8); opacity: 0 }
}
.photo-collage--people{
  margin-top:clamp(3rem,6vw,5rem);
}
.photo-collage--packaging{
  margin-top:clamp(3rem,6vw,5rem);
}
.contact-faq {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(4rem,8vh,7rem) var(--gut);
  border-top: 1px solid var(--line-dark);
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(2rem,4vw,6rem);
  align-items: start;
}
.contact-faq__label {
  font-size: .62rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--frost);
  padding-top: .3rem;
}
.faq-row-wrap {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--line-dark);
}
.faq-row-wrap:first-child { border-top: 1px solid var(--line-dark) }
.faq-row-trigger {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.2rem 0;
  cursor: pointer;
}
.faq-row-trigger:focus-visible {
  outline: 2px solid var(--frost);
  outline-offset: 4px;
}
.faq-row__q {
  font-size: clamp(.88rem,1.1vw,1rem);
  color: var(--ink);
  font-weight: 400;
  flex: 1;
  line-height: 1.5;
}
.faq-row__ico {
  font-size: 1rem;
  color: var(--fog);
  flex-shrink: 0;
  transition: transform .3s var(--ease);
}
.faq-row-wrap.is-open .faq-row__ico {
  transform: rotate(45deg);
  color: var(--frost);
}
.faq-row__a {
  font-size: .82rem;
  color: var(--fog);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s var(--ease), padding .3s;
  padding-right: 2.4rem;
}
.faq-row-wrap.is-open .faq-row__a {
  max-height: 420px;
  padding-bottom: .8rem;
}

@media (max-width:1100px) {
  .about-team__grid { grid-template-columns: repeat(2,1fr) }
  .about-stats__inner { grid-template-columns: repeat(2,1fr); gap: 2rem }
}
@media (max-width:1000px) {
  .contact-hd { grid-template-columns: 1fr }
  .contact-layout {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem,4vw,2.1rem);
    padding-bottom: clamp(4.25rem,9vh,5.5rem);
  }
  .contact-sidebar { position: relative; top: 0 }
  .contact-info-block {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .faq-row-wrap {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}
@media (max-width:860px) {
  .about-values__grid { grid-template-columns: 1fr 1fr }
}
@media (max-width:640px) {
  .form-row--2 { grid-template-columns: 1fr }
  .contact-faq { grid-template-columns: 1fr }
  .contact-submit-row { flex-direction: column; align-items: flex-start }
  .contact-map{
    margin-top: 1.2rem;
    aspect-ratio: 1.08 / 1;
  }
}
@media (max-width:600px) {
  .about-team__grid { grid-template-columns: 1fr }
  .about-values__grid { grid-template-columns: 1fr }
  .about-stats__inner { grid-template-columns: 1fr 1fr }
}
