/* variety: geometric-bold | collage-mosaic | cool-desat | alternating-light-dark | dividers | jp-latin-lede | head-tagline-divider | faq-appendix */

:root{
  --c-bg:#f3f1ea;
  --c-fg:#232a22;
  --c-muted:#5f6659;
  --c-accent:#6b7b4a;
  --c-dark:#20271d;
  --c-on-dark:#eef0e6;
  --c-on-dark-muted:rgba(238,240,230,0.74);
  --c-line:rgba(35,42,34,0.16);
  --c-line-dark:rgba(238,240,230,0.2);
  --space-1:4px;
  --space-2:8px;
  --space-3:16px;
  --space-4:28px;
  --space-5:48px;
  --space-6:80px;
  --radius-sm:2px;
  --radius-md:6px;
  --radius-lg:12px;
  --font-display:"Playfair Display","Noto Serif JP","Hiragino Mincho ProN","Songti SC",serif;
  --font-body:"Noto Sans JP","Hiragino Sans","Yu Gothic","Microsoft YaHei",sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-fg);
  font-family:var(--font-body);
  font-size:16px;
  font-weight:400;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
a{color:inherit;}
h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-0.01em;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
svg{display:block;}

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

/* eyebrow */
.eyebrow{
  display:inline-block;
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.eyebrow--center{display:block;text-align:center;}

/* section heads */
.sec-head{max-width:720px;margin-bottom:var(--space-5);}
.sec-head h2{
  font-size:clamp(1.6rem,3vw,2.3rem);
  line-height:1.18;
}
.sec-head .lead{margin-top:var(--space-3);}
.lead{
  font-size:clamp(1rem,1.4vw,1.0625rem);
  color:var(--c-muted);
  max-width:68ch;
}

/* buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-body);
  font-size:0.875rem;
  font-weight:600;
  letter-spacing:0.03em;
  text-decoration:none;
  border-radius:var(--radius-sm);
  padding:0 var(--space-4);
  height:44px;
  cursor:pointer;
  border:1px solid transparent;
}
.btn--fill{
  background:var(--c-accent);
  color:var(--c-on-dark);
  border-color:var(--c-accent);
}
.btn--line{
  background:transparent;
  color:var(--c-fg);
  border:1px solid var(--c-line);
}
.btn--on-dark{color:var(--c-on-dark);border-color:var(--c-line-dark);}

/* ============ HEADER ============ */
.site-head{
  background:var(--c-bg);
  border-bottom:1px solid var(--c-line);
}
.site-head__in{
  display:flex;
  align-items:center;
  gap:var(--space-3);
  height:78px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  text-decoration:none;
}
.brand__mark{
  width:30px;height:30px;
  object-fit:contain;
  display:block;
}
.brand__name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.125rem;
  color:var(--c-fg);
}
.site-head__rule{
  width:1px;
  height:26px;
  background:var(--c-line);
}
.site-head__tag{
  font-size:0.875rem;
  font-weight:500;
  letter-spacing:0.04em;
  color:var(--c-muted);
}
.site-head__link{
  margin-left:auto;
  font-size:0.875rem;
  font-weight:600;
  letter-spacing:0.03em;
  color:var(--c-fg);
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (max-width:640px){
  .site-head__tag{display:none;}
  .site-head__rule{display:none;}
}

/* ============ HERO ============ */
.peak-hero{padding:48px 0 64px;}
.hero__mosaic{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:minmax(300px,auto) 132px 168px;
  gap:18px;
}
.mosaic__say{grid-column:1 / 7;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;}
.mosaic__h1{
  font-size:clamp(30px,3.6vw,46px);
  line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--c-fg);
  margin-bottom:var(--space-3);
}
.mosaic__lead{
  font-size:clamp(0.9375rem,1.2vw,1rem);
  color:var(--c-muted);
  max-width:46ch;
  margin-bottom:var(--space-4);
}
.mosaic__k{grid-column:7 / 10;grid-row:1;}
.mosaic__l{grid-column:10 / 13;grid-row:1 / 4;}
.mosaic__m{grid-column:1 / 5;grid-row:2 / 4;}
.mosaic__n{grid-column:5 / 10;grid-row:2;}
.mosaic__turn{grid-column:5 / 10;grid-row:3;display:flex;flex-direction:column;}

.hero__mosaic figure{margin:0;display:flex;flex-direction:column;}
.hero__mosaic img{width:100%;height:calc(100% - 34px);object-fit:cover;display:block;border-radius:var(--radius-sm);}
.hero__mosaic figcaption{
  height:34px;
  padding-top:12px;
  font-size:0.8125rem;
  font-weight:400;
  color:var(--c-muted);
  display:flex;
  align-items:baseline;
  gap:var(--space-2);
}
.mosaic__num{
  font-size:0.6875rem;
  font-weight:500;
  letter-spacing:0.08em;
  color:var(--c-accent);
}
.u{font-size:0.8125rem;}
.mosaic__turn{padding-top:var(--space-3);border-top:1px solid var(--c-line);}
.mosaic__turnline{
  font-size:0.875rem;
  font-weight:600;
  color:var(--c-fg);
}
.mosaic__turn .btn--line{
  margin-top:auto;
  margin-left:auto;
  height:40px;
}

@media (max-width:1024px) and (min-width:700px){
  .hero__mosaic{grid-template-columns:repeat(6,1fr);grid-template-rows:auto 200px 150px;gap:16px;}
  .mosaic__say{grid-column:1 / 7;grid-row:1;}
  .mosaic__k{grid-column:1 / 4;grid-row:2;}
  .mosaic__l{grid-column:4 / 7;grid-row:2;}
  .mosaic__m{grid-column:1 / 4;grid-row:3;}
  .mosaic__n{grid-column:4 / 7;grid-row:3;}
  .mosaic__turn{grid-column:1 / 7;grid-row:4;}
}
@media (max-width:699px){
  .hero__mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px;}
  .mosaic__say{grid-column:1 / 3;}
  .mosaic__k{grid-column:1 / 2;}
  .mosaic__l{grid-column:2 / 3;grid-row:auto;}
  .mosaic__m{grid-column:1 / 2;grid-row:auto;}
  .mosaic__n{grid-column:2 / 3;grid-row:auto;}
  .mosaic__k,.mosaic__l,.mosaic__m,.mosaic__n{aspect-ratio:1/1;}
  .mosaic__turn{grid-column:1 / 3;}
}

/* ============ SPLIT ============ */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-6);
  align-items:center;
}
.split--rev .split__media{order:2;}
.split__media{
  aspect-ratio:4/3;
  border-radius:var(--radius-md);
  overflow:hidden;
}
.split__media img{width:100%;height:100%;object-fit:cover;display:block;}
.split__text h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;}
.split__text .lead{margin:var(--space-3) 0;}
.split__text p{color:var(--c-muted);margin-bottom:var(--space-3);}
.tick{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);}
.tick li{
  display:flex;
  align-items:flex-start;
  gap:var(--space-2);
  font-size:0.9375rem;
  color:var(--c-fg);
}
.tick svg{width:20px;height:20px;flex:none;color:var(--c-accent);margin-top:2px;}
@media (max-width:1024px){
  .split{gap:var(--space-5);}
}
@media (max-width:640px){
  .split{grid-template-columns:1fr;gap:var(--space-4);}
  .split--rev .split__media{order:0;}
}

/* ============ sections rhythm ============ */
.trail-intro{padding:var(--space-6) 0;}
.gear-category{padding:var(--space-6) 0;background:var(--c-dark);color:var(--c-on-dark);}
.season-guide{padding:var(--space-5) 0 var(--space-6);}
.pick-shop{padding:var(--space-6) 0;}
.fit-steps{padding:var(--space-5) 0 var(--space-6);}
.field-metric{padding:var(--space-6) 0;background:var(--c-dark);color:var(--c-on-dark);}
.rental-plan{padding:var(--space-6) 0;}
.care-kit{padding:var(--space-5) 0 var(--space-6);}
.voice-quote{padding:var(--space-6) 0;background:var(--c-dark);color:var(--c-on-dark);}
.forest-story{padding:var(--space-6) 0;}
.ask-accordion{padding:var(--space-5) 0 var(--space-6);}
.maker-row{padding:var(--space-5) 0;}
.join-cta{padding:var(--space-6) 0;background:var(--c-dark);color:var(--c-on-dark);}
.reach-contact{padding:var(--space-6) 0 var(--space-5);}

/* dark section foregrounds */
.gear-category .eyebrow,.field-metric .eyebrow,.voice-quote .eyebrow,.join-cta .eyebrow{color:var(--c-accent);}
.gear-category h2,.field-metric h2,.voice-quote h2,.join-cta h2{color:var(--c-on-dark);}
.gear-category .lead,.field-metric .lead,.voice-quote .lead,.join-cta .lead{color:var(--c-on-dark-muted);}

/* ============ CATEGORY CARDS ============ */
.cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.cat-card{
  padding:var(--space-4);
  border-left:1px solid var(--c-line-dark);
}
.cat-card:first-child{border-left:none;}
.cat-card__icon{color:var(--c-accent);margin-bottom:var(--space-3);}
.cat-card__icon svg{width:24px;height:24px;}
.cat-card__eyebrow{
  display:block;
  font-size:0.6875rem;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-2);
}
.cat-card__title{
  font-size:1.1875rem;
  line-height:1.3;
  color:var(--c-on-dark);
  margin-bottom:var(--space-3);
}
.cat-card__body{
  font-size:0.9375rem;
  color:var(--c-on-dark-muted);
  margin-bottom:var(--space-4);
}
.cat-card__meta{
  display:block;
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.05em;
  color:var(--c-on-dark);
  padding-top:var(--space-3);
  border-top:1px solid var(--c-line-dark);
}
@media (max-width:1024px){
  .cat-grid{grid-template-columns:1fr 1fr;}
  .cat-card{border-left:none;border-top:1px solid var(--c-line-dark);padding:var(--space-4) 0;}
  .cat-card:nth-child(odd){padding-right:var(--space-4);}
  .cat-card:nth-child(even){padding-left:var(--space-4);border-left:1px solid var(--c-line-dark);}
  .cat-card:first-child,.cat-card:nth-child(2){border-top:none;}
}
@media (max-width:640px){
  .cat-grid{grid-template-columns:1fr;}
  .cat-card{padding:var(--space-4) 0;border-left:none;border-top:1px solid var(--c-line-dark);}
  .cat-card:first-child{border-top:none;}
}

/* ============ SEASON CARDS ============ */
.season-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.season-card{
  padding:var(--space-4);
  border-left:1px solid var(--c-line);
}
.season-card:first-child{border-left:none;}
.season-card__num{
  display:block;
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.season-card__title{
  font-size:1.0625rem;
  line-height:1.4;
  margin-bottom:var(--space-3);
}
.season-card__body{
  font-size:0.9375rem;
  color:var(--c-muted);
  margin-bottom:var(--space-4);
}
.season-card__meta{
  display:block;
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.05em;
  color:var(--c-fg);
  padding-top:var(--space-3);
  border-top:1px solid var(--c-line);
}
@media (max-width:1024px){
  .season-grid{grid-template-columns:1fr 1fr;}
  .season-card{border-left:none;border-top:1px solid var(--c-line);padding:var(--space-4) 0;}
  .season-card:nth-child(even){padding-left:var(--space-4);border-left:1px solid var(--c-line);}
  .season-card:nth-child(odd){padding-right:var(--space-4);}
  .season-card:first-child,.season-card:nth-child(2){border-top:none;}
}
@media (max-width:640px){
  .season-grid{grid-template-columns:1fr;}
  .season-card{padding:var(--space-4) 0;border-left:none;border-top:1px solid var(--c-line);}
  .season-card:first-child{border-top:none;}
}

/* ============ PICK CARDS ============ */
.pick-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-3);
  align-items:stretch;
}
.pick-card{
  display:flex;
  flex-direction:column;
  padding:var(--space-4);
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  background:var(--c-bg);
  position:relative;
}
.pick-card__media{
  aspect-ratio:4/3;
  border-radius:var(--radius-sm);
  overflow:hidden;
  margin-bottom:var(--space-3);
}
.pick-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.pick-card__eyebrow{
  display:block;
  font-size:0.6875rem;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-2);
}
.pick-card__title{
  font-size:1.0625rem;
  line-height:1.4;
  margin-bottom:var(--space-3);
}
.pick-card__body{
  font-size:0.875rem;
  color:var(--c-muted);
  margin-bottom:var(--space-4);
}
.pick-card__price{
  display:flex;
  align-items:baseline;
  gap:var(--space-1);
  margin-top:auto;
  margin-bottom:var(--space-3);
}
.num{
  font-family:var(--font-display);
  font-size:1.75rem;
  line-height:1;
  color:var(--c-fg);
}
.price__unit{
  font-size:0.875rem;
  font-weight:500;
  color:var(--c-muted);
}
.pick-card__btn{width:100%;height:42px;}
.pick-card--promo{
  border:2px solid var(--c-accent);
}
.pick-card__badge{
  position:absolute;
  top:-11px;
  left:var(--space-4);
  background:var(--c-accent);
  color:var(--c-on-dark);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.05em;
  padding:4px 10px;
  border-radius:var(--radius-sm);
}
@media (max-width:1024px){ .pick-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .pick-grid{grid-template-columns:1fr;} }

/* ============ FIT STEPS ============ */
.steps{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
}
.step{
  display:flex;
  gap:var(--space-3);
  padding:var(--space-4);
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
.step:nth-child(odd){border-left:none;}
.step:first-child,.step:nth-child(2){border-top:none;}
.step__num{
  font-family:var(--font-display);
  font-size:1.25rem;
  color:var(--c-accent);
  flex:none;
  line-height:1.3;
}
.step__title{
  font-size:1.0625rem;
  margin-bottom:var(--space-2);
}
.step__body p{
  font-size:0.9375rem;
  color:var(--c-muted);
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr;}
  .step{border-left:none;padding:var(--space-4) 0;}
  .step:nth-child(2){border-top:1px solid var(--c-line);}
}

/* ============ FIELD METRIC ============ */
.metric-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.metric{
  padding:var(--space-4);
  border-left:1px solid var(--c-line-dark);
}
.metric:first-child{border-left:none;}
.metric__cap{
  display:block;
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.06em;
  color:var(--c-on-dark-muted);
  margin-bottom:var(--space-2);
}
.metric__num{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(2rem,3.4vw,2.75rem);
  line-height:1;
  color:var(--c-on-dark);
}
.metric__unit{
  font-family:var(--font-body);
  font-size:0.9375rem;
  font-weight:500;
  margin-left:2px;
}
.metric__note{
  display:block;
  font-size:0.8125rem;
  font-weight:400;
  color:var(--c-on-dark-muted);
  margin-top:var(--space-2);
}
@media (max-width:1024px){
  .metric-row{grid-template-columns:1fr 1fr;}
  .metric{border-left:none;border-top:1px solid var(--c-line-dark);padding:var(--space-4) 0;}
  .metric:nth-child(even){padding-left:var(--space-4);border-left:1px solid var(--c-line-dark);}
  .metric:nth-child(odd){padding-right:var(--space-4);}
  .metric:first-child,.metric:nth-child(2){border-top:none;}
}
@media (max-width:640px){
  .metric-row{grid-template-columns:1fr;}
  .metric{border-left:none;border-top:1px solid var(--c-line-dark);padding:var(--space-4) 0;}
  .metric:first-child{border-top:none;}
}

/* ============ CARE CARDS ============ */
.care-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.care-card{
  padding:var(--space-4);
  border-left:1px solid var(--c-line);
}
.care-card:first-child{border-left:none;}
.care-card__icon{color:var(--c-accent);margin-bottom:var(--space-3);}
.care-card__icon svg{width:24px;height:24px;}
.care-card__key{
  display:block;
  font-size:0.6875rem;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-2);
}
.care-card__title{
  font-size:1.0625rem;
  line-height:1.4;
  margin-bottom:var(--space-3);
}
.care-card__body{
  font-size:0.9375rem;
  color:var(--c-muted);
  margin-bottom:var(--space-4);
}
.care-card__meta{
  display:block;
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.05em;
  color:var(--c-fg);
  padding-top:var(--space-3);
  border-top:1px solid var(--c-line);
}
@media (max-width:1024px){ .care-grid{grid-template-columns:1fr;}
  .care-card{border-left:none;border-top:1px solid var(--c-line);padding:var(--space-4) 0;}
  .care-card:first-child{border-top:none;}
}

/* ============ VOICE QUOTE ============ */
.quote{margin:0;max-width:68ch;}
.quote__mark{width:32px;height:32px;color:var(--c-accent);margin-bottom:var(--space-3);}
.quote__text{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.25rem,2.4vw,1.75rem);
  line-height:1.5;
  color:var(--c-on-dark);
  margin-bottom:var(--space-4);
}
.quote__by{display:flex;flex-direction:column;gap:2px;}
.quote__name{
  font-size:0.9375rem;
  font-weight:600;
  color:var(--c-on-dark);
}
.quote__role{
  font-size:0.8125rem;
  font-weight:400;
  color:var(--c-on-dark-muted);
}

/* ============ ACCORDION ============ */
.acc{border-top:1px solid var(--c-line);max-width:860px;}
.acc__item{border-bottom:1px solid var(--c-line);}
.acc__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  background:none;
  border:none;
  cursor:pointer;
  padding:var(--space-4) 0;
  text-align:left;
  font-family:var(--font-body);
  color:var(--c-fg);
}
.acc__q{font-size:1rem;font-weight:600;}
.acc__chev{width:20px;height:20px;flex:none;color:var(--c-accent);transition:none;}
.acc__head[aria-expanded="true"] .acc__chev{transform:rotate(180deg);}
.acc__panel{display:none;padding:0 0 var(--space-4);}
.acc__panel p{font-size:0.9375rem;color:var(--c-muted);max-width:68ch;}
.acc__item.is-open .acc__panel{display:block;}

/* ============ MAKER ROW ============ */
.maker-row{text-align:center;}
.maker-row__h{
  font-size:clamp(1.4rem,2.4vw,1.9rem);
  margin-bottom:var(--space-5);
}
.makers{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:var(--space-4);
}
.maker{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:0.9375rem;
  font-weight:600;
  letter-spacing:0.03em;
  color:var(--c-fg);
  border:1px solid var(--c-line);
  border-radius:var(--radius-sm);
  padding:var(--space-2) var(--space-3);
}
.maker svg{width:18px;height:18px;color:var(--c-accent);}

/* ============ JOIN CTA ============ */
.join-cta__in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-5);
  flex-wrap:wrap;
}
.join-cta__text{max-width:58ch;}
.join-cta__text h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;margin-top:var(--space-2);}
.join-cta__text .lead{margin-top:var(--space-3);}
.join-cta__act{display:flex;flex-direction:column;gap:var(--space-2);min-width:220px;}
.join-cta__act .btn{width:100%;min-height:44px;}
@media (max-width:640px){ .join-cta__act{width:100%;} }

/* ============ REACH CONTACT ============ */
.reach-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.reach-item{
  padding:var(--space-4);
  border-left:1px solid var(--c-line);
}
.reach-item:first-child{border-left:none;}
.reach-item__key{
  display:block;
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.reach-item__val{
  display:flex;
  align-items:flex-start;
  gap:var(--space-2);
  font-size:0.9375rem;
  color:var(--c-fg);
}
.reach-item__val svg{width:20px;height:20px;flex:none;color:var(--c-accent);margin-top:2px;}
.reach-item__val a{color:var(--c-fg);text-decoration:none;}
@media (max-width:640px){
  .reach-grid{grid-template-columns:1fr;}
  .reach-item{border-left:none;border-top:1px solid var(--c-line);padding:var(--space-4) 0;}
  .reach-item:first-child{border-top:none;}
}

/* ============ FOOTER ============ */
.base-footer{
  background:var(--c-dark);
  color:var(--c-on-dark);
  padding:var(--space-5) 0 var(--space-4);
}
.foot-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-3);
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--c-line-dark);
}
.foot-strip__item{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:0.875rem;
  color:var(--c-on-dark);
}
.foot-strip__item svg{width:18px;height:18px;color:var(--c-accent);}
.foot-strip__item a{color:var(--c-on-dark);text-decoration:none;}
.foot-strip__rule{width:1px;height:18px;background:var(--c-line-dark);}
.foot-cols{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:var(--space-4);
  padding:var(--space-5) 0;
}
.brand__name--foot{
  font-family:var(--font-display);
  font-size:1.125rem;
  font-weight:600;
  color:var(--c-on-dark);
}
.foot-brand__tag{
  margin-top:var(--space-2);
  font-size:0.8125rem;
  color:var(--c-on-dark-muted);
  max-width:36ch;
}
.foot-col__h{
  display:block;
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.foot-col ul{display:flex;flex-direction:column;gap:var(--space-2);}
.foot-col a{
  display:inline-block;
  min-height:24px;
  min-width:24px;
  padding:3px 0;
  font-size:0.875rem;
  color:var(--c-on-dark-muted);
  text-decoration:none;
}
.foot-col a:hover{color:var(--c-on-dark);}
.foot-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding-top:var(--space-4);
  border-top:1px solid var(--c-line-dark);
}
.foot-bar__copy{
  font-size:0.75rem;
  color:var(--c-on-dark-muted);
}
.foot-bar__cookie{
  position:absolute;
  right:0;
  background:none;
  border:1px solid var(--c-line-dark);
  border-radius:var(--radius-sm);
  color:var(--c-on-dark);
  font-family:var(--font-body);
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.04em;
  padding:var(--space-1) var(--space-3);
  cursor:pointer;
}
@media (max-width:1024px){ .foot-cols{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){
  .foot-cols{grid-template-columns:1fr;}
  .foot-bar{flex-direction:column;gap:var(--space-3);}
  .foot-bar__cookie{position:static;}
}

/* ============ COOKIE BANNER ============ */
.cookie-banner{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:1000;
  background:var(--c-dark);
  color:var(--c-on-dark);
  border-top:1px solid var(--c-line-dark);
}
.cookie-banner.is-hidden{display:none;}
.cookie-banner__in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  padding-top:var(--space-3);
  padding-bottom:var(--space-3);
  flex-wrap:wrap;
}
.cookie-banner__text .eyebrow{margin-bottom:var(--space-1);}
.cookie-banner__text p{font-size:0.8125rem;color:var(--c-on-dark-muted);max-width:60ch;}
.cookie-banner__act{display:flex;gap:var(--space-2);flex-wrap:wrap;}
.cookie-banner__act .btn{height:40px;}
.cookie-banner__act .btn--line{color:var(--c-on-dark);border-color:var(--c-line-dark);}

/* ============ COOKIE DIALOG ============ */
.cookie-dialog{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(32,39,29,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.cookie-dialog.is-hidden{display:none;}
.cookie-dialog__box{
  background:var(--c-bg);
  color:var(--c-fg);
  border-radius:var(--radius-md);
  max-width:520px;
  width:100%;
  padding:var(--space-5);
  /* снято: max-height:90vh; — обрезает содержимое */
  overflow-y:auto;
}
.cookie-dialog__title{
  font-size:1.375rem;
  margin-bottom:var(--space-4);
}
.cookie-cats{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4);}
.cookie-cat{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-3);
  border:1px solid var(--c-line);
  border-radius:var(--radius-sm);
}
.cookie-cat__name{
  display:block;
  font-size:0.9375rem;
  font-weight:600;
  margin-bottom:var(--space-1);
}
.cookie-cat__desc{font-size:0.8125rem;color:var(--c-muted);}
.cookie-cat input{margin-top:2px;flex:none;width:24px;height:24px;accent-color:var(--c-accent);}
.cookie-dialog__act{display:flex;justify-content:flex-end;gap:var(--space-2);}


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

/* WH-CONTRAST-VERIFIED:START */
/* Measured in a real browser against the painted background, then re-measured.
   36 selector(s) corrected. */
.aux-head span.aux-eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.aux-sec:not(.aux-sec--band) span.aux-sec__eye { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.aux-sec.aux-sec--band span.aux-sec__eye { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.foot-col span.foot-col__h { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.doc-head span.aux-eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.doc-sec span.doc-sec__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.doc-sec.doc-sec--faq span.doc-sec__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.aux-p a { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.mosaic__say span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.mosaic__say a.btn.btn--fill { color: #ffffff !important; } /* was #eef0e6 at 4:1, needs 4.5 */
.mosaic__k span.mosaic__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.mosaic__l span.mosaic__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.mosaic__m span.mosaic__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.mosaic__n span.mosaic__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.split__text span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.gear-category .wrap .sec-head span.eyebrow { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.cat-card span.cat-card__eyebrow { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.season-guide .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.pick-shop .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.pick-card span.pick-card__eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.pick-card.pick-card--promo span.pick-card__badge { color: #ffffff !important; } /* was #eef0e6 at 4:1, needs 4.5 */
.pick-card.pick-card--promo span.pick-card__eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.pick-card.pick-card--promo a.btn.btn--fill.pick-card__btn { color: #ffffff !important; } /* was #eef0e6 at 4:1, needs 4.5 */
.fit-steps .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.step span.step__num { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.field-metric .wrap .sec-head span.eyebrow { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.care-kit .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.care-card span.care-card__key { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.voice-quote .wrap span.eyebrow { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.ask-accordion .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.wrap span.eyebrow.eyebrow--center { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.join-cta__text span.eyebrow { color: #86936b !important; } /* was #6b7b4a at 3.33:1, needs 4.5 */
.join-cta__act a.btn.btn--fill { color: #ffffff !important; } /* was #eef0e6 at 4:1, needs 4.5 */
.reach-contact .wrap .sec-head span.eyebrow { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.reach-item span.reach-item__key { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
.faq__a a { color: #627144 !important; } /* was #6b7b4a at 4.08:1, needs 4.5 */
/* WH-CONTRAST-VERIFIED:END */

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

.site-head__nav{margin-left:auto;display:flex;align-items:center;}
.site-head__nav .site-head__link{margin-left:0;display:inline-block;padding:4px 0;min-height:24px;}
.skip-link{position:absolute;left:8px;top:-64px;z-index:2000;padding:10px 16px;background:var(--c-fg);color:var(--c-bg);font-size:0.875rem;font-weight:600;text-decoration:none;border-radius:var(--radius-sm);}
.skip-link:focus{top:8px;outline:2px solid var(--c-accent);outline-offset:2px;}

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

.hero__mosaic figcaption{background:var(--c-bg)}
