/* ==========================================================================
   CoreVive — homepage v3
   Editorial brand narrative. Loads on the front page only.

   设计原则（与 corevive.css 的分工）：
   - corevive.css = 全站设计系统 + WooCommerce 皮肤
   - 本文件 = 仅首页的版面：大幅字体、不对称网格、留白、图片裁切叙事
   明确回避：等宽卡片 / 三列特征块 / 每段一个底色框 / 满屏圆角 / 装饰图标
   ========================================================================== */

/* ---------- 大字排版（衬线全大写是本站的语域基线） ---------- */
.hm-st{font-family:var(--disp);font-weight:400;text-transform:uppercase;
  letter-spacing:-.022em;line-height:.92;margin:0;}
.hm-st--xl{font-size:clamp(46px,10.2vw,166px);letter-spacing:-.03em;}
.hm-st--l{font-size:clamp(36px,6.6vw,104px);letter-spacing:-.026em;}
.hm-st--m{font-size:clamp(27px,4.2vw,64px);letter-spacing:-.02em;}
.hm-st em{font-style:italic;text-transform:none;letter-spacing:-.01em;}
.hm-st .in{display:block;margin-left:clamp(0px,13vw,168px);}      /* 第二行缩进＝版面不对称 */
.hm-st .thin{color:var(--ink-3);}

.hm-num{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-3);display:block;margin-bottom:clamp(18px,2.6vw,40px);}
.hm-lede{font-size:clamp(15.5px,1.15vw,17.5px);line-height:1.72;color:var(--ink-2);max-width:36ch;}

/* ---------- 版面容器（三种宽度＝节奏，不是所有内容同宽） ---------- */
.hm-b{padding:clamp(64px,9vw,172px) 0;position:relative;}
.hm-b--tight{padding:clamp(44px,5.6vw,104px) 0;}
.hm-b--flush{padding-left:0;padding-right:0;}
.hm-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.hm-in--narrow{max-width:920px;}
.hm-in--wide{max-width:1600px;}
.hm-rule{border-top:1px solid var(--line);}

/* ==========================================================================
   01 HERO
   ========================================================================== */
.hm-hero{padding:clamp(18px,2.6vw,40px) 0 0;}
.hm-hero-grid{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(22px,3.6vw,68px);align-items:end;}
.hm-hero-copy{padding-bottom:clamp(6px,1.6vw,26px);}
.hm-hero-copy .hm-st{margin:clamp(14px,2vw,30px) 0 clamp(20px,2.4vw,34px);}
.hm-hero-media{position:relative;margin-right:calc(var(--pad) * -1);overflow:hidden;background:var(--paper-2);}
.hm-hero-media img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 28%;display:block;}

/* 单条文字链接（不是 pill 按钮） */
.hm-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding-bottom:6px;border-bottom:1px solid var(--ink);transition:gap .45s var(--ease),color .3s,border-color .3s;}
.hm-link:hover{gap:20px;color:var(--clay);border-color:var(--clay);}
.hm-link--l{color:var(--paper);border-color:rgba(251,250,247,.4);}
.hm-link--l:hover{color:#E8A78C;border-color:#E8A78C;}

/* 细线事实条（替代 4 图标信任卡） */
.hm-facts{list-style:none;max-width:var(--maxw);margin:clamp(26px,4vw,58px) auto 0;padding:0 var(--pad);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);}
.hm-facts li{padding:20px 0;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);line-height:1.6;}
.hm-facts li + li{border-left:1px solid var(--line);padding-left:clamp(12px,2vw,26px);}
.hm-facts b{display:block;color:var(--ink);font-weight:700;margin-bottom:4px;}

/* ==========================================================================
   02 10 MINUTES. EVERY DAY.
   ========================================================================== */
.hm-min{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(26px,5vw,88px);align-items:start;}
.hm-min-media{margin-top:clamp(28px,6vw,112px);overflow:hidden;background:var(--paper-2);}
.hm-min-media img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.hm-min-list{margin-top:clamp(26px,3.6vw,58px);list-style:none;}
.hm-min-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,2.4vw,34px);
  padding:15px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.6;color:var(--ink-2);}
.hm-min-list li:last-child{border-bottom:1px solid var(--line);}
.hm-min-list .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--clay);padding-top:3px;}

/* ==========================================================================
   03 DESIGNED TO BE FELT, NOT SEEN.
   ========================================================================== */
.hm-crops{display:grid;grid-template-columns:.86fr 1.1fr .96fr;gap:clamp(12px,2vw,28px);
  align-items:end;margin-top:clamp(34px,5vw,80px);}
.hm-crop{margin:0;overflow:hidden;background:var(--paper-2);}
.hm-crop img{width:100%;height:100%;object-fit:cover;display:block;}
.hm-crop--a img{aspect-ratio:4/5;}
.hm-crop--b{margin-bottom:clamp(18px,4vw,72px);}
.hm-crop--b img{aspect-ratio:1/1;transform:scale(2.15);transform-origin:54% 16%;}
.hm-crop--c{margin-bottom:clamp(6px,1.4vw,24px);}
.hm-crop--c img{aspect-ratio:3/4;transform:scale(1.55);transform-origin:50% 84%;}
.hm-crop figcaption{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);margin-top:12px;}
.hm-crop figcaption b{color:var(--ink);font-weight:700;}

.hm-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,5vw,80px);
  margin-top:clamp(34px,4.6vw,72px);border-top:1px solid var(--ink);}
.hm-specs div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:14px 0;border-bottom:1px solid var(--line);}
.hm-specs dt{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);}
.hm-specs dd{font-size:14.5px;text-align:right;}

/* ==========================================================================
   04 YOUR PROGRESS HAS A NUMBER.   ← 全页唯一深色段（视觉重心）
   ========================================================================== */
.hm-b--ink{background:var(--ink);color:var(--paper);}
.hm-b--ink .hm-num{color:rgba(251,250,247,.42);}
.hm-b--ink .hm-lede{color:rgba(251,250,247,.66);}
.hm-data{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(28px,5vw,84px);align-items:end;margin-top:clamp(38px,6vw,86px);}
.hm-bars{display:flex;align-items:flex-end;gap:clamp(7px,1.3vw,20px);
  height:clamp(130px,20vw,270px);border-bottom:1px solid rgba(251,250,247,.22);}
.hm-bar{flex:1;background:rgba(251,250,247,.2);transition:height 1s var(--ease);}
.hm-bar--now{background:var(--clay);}
.hm-bar-lbls{display:flex;gap:clamp(7px,1.3vw,20px);margin-top:10px;}
.hm-bar-lbls span{flex:1;text-align:center;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.14em;color:rgba(251,250,247,.5);text-transform:uppercase;}
.hm-readout{list-style:none;}
.hm-readout li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:13px 0;border-bottom:1px solid rgba(251,250,247,.16);}
.hm-readout .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,250,247,.5);}
.hm-readout .v{font-family:var(--mono);font-size:15px;font-weight:700;}
.hm-readout .v.hi{color:#E8A78C;}
.hm-note{margin-top:16px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(251,250,247,.42);}

/* ==========================================================================
   静场：一张环境图 + 一句话（呼吸段，不放任何组件）
   ========================================================================== */
.hm-quiet{position:relative;overflow:hidden;background:var(--ink);}
.hm-quiet img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 40%;display:block;opacity:.92;}
.hm-quiet q{position:absolute;left:var(--pad);bottom:clamp(22px,4vw,58px);right:var(--pad);
  max-width:24ch;font-family:var(--disp);font-size:clamp(22px,3.4vw,54px);line-height:1.04;
  letter-spacing:-.02em;color:#fff;text-shadow:0 2px 40px rgba(23,21,15,.5);quotes:none;}

/* ==========================================================================
   05 THE TRAINER
   ========================================================================== */
.hm-prod{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(26px,4.6vw,84px);align-items:start;}
.hm-prod-media{background:var(--paper-2);aspect-ratio:1/1;display:flex;align-items:center;
  justify-content:center;padding:clamp(20px,4vw,64px);}
.hm-prod-media img{width:100%;height:100%;object-fit:contain;display:block;}
.hm-prod-name{font-family:var(--disp);text-transform:none;font-size:clamp(28px,3.4vw,52px);
  line-height:1.02;letter-spacing:-.02em;margin:12px 0 16px;}
.hm-price{font-family:var(--mono);font-size:clamp(19px,1.9vw,26px);font-weight:700;display:flex;
  align-items:baseline;gap:14px;margin-bottom:8px;}
.hm-price s{font-size:15px;font-weight:400;color:var(--ink-3);}
.hm-price .save{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;background:var(--clay);color:#fff;padding:5px 11px;border-radius:var(--pill);}
.hm-atc{margin:clamp(22px,2.6vw,34px) 0 0;}
.hm-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--pill);
  font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:19px 30px;cursor:pointer;transition:background .35s,color .35s,transform .45s var(--ease);}
.hm-btn:hover{background:var(--clay);border-color:var(--clay);transform:translateY(-2px);}
.hm-btn[data-state="done"]{background:var(--sage);border-color:var(--sage);transform:none;}
.hm-reassure{margin-top:18px;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);line-height:2;}
.hm-reassure span + span::before{content:'·';margin:0 8px;color:var(--line);}

/* 产品索引：编辑感行列表，替代 4 张等宽商品卡 */
.hm-index{margin-top:clamp(48px,7vw,110px);}
.hm-index-hd{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  border-top:1px solid var(--ink);padding-top:18px;margin-bottom:4px;}
.hm-index-hd h3{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;margin:0;}
.hm-index-hd span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3);}
.hm-index ol,.hm-index ul{list-style:none;}
.hm-index li{border-bottom:1px solid var(--line);}
.hm-index a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:clamp(12px,3vw,44px);
  align-items:center;padding:clamp(15px,2.1vw,26px) 0;
  transition:padding-left .5s var(--ease),color .3s;}
.hm-index a:hover{padding-left:clamp(6px,1.2vw,16px);color:var(--clay);}
.hm-index .rn{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--ink-3);}
.hm-index .nm{font-family:var(--disp);font-size:clamp(18px,1.9vw,27px);letter-spacing:-.012em;}
.hm-index .ds{font-size:13.5px;color:var(--ink-3);text-align:right;}
.hm-index .pr{font-family:var(--mono);font-size:13.5px;font-weight:700;}
@media(max-width:760px){.hm-index .ds{display:none;}}

/* ==========================================================================
   06 REAL PEOPLE. REAL ROUTINES.
   ========================================================================== */
.hm-quote{font-family:var(--disp);font-size:clamp(24px,3.9vw,58px);line-height:1.06;
  letter-spacing:-.022em;max-width:30ch;margin:0;}
.hm-quote em{font-style:italic;}
.hm-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,4vw,72px);margin-top:clamp(34px,5vw,80px);}
.hm-quotes > :nth-child(2){margin-top:clamp(22px,5vw,96px);}   /* 错位＝不对称 */
.hm-q2{font-family:var(--disp);font-size:clamp(17px,1.7vw,23px);line-height:1.32;letter-spacing:-.008em;margin:0;}
.hm-who{display:flex;align-items:center;gap:12px;margin-top:20px;}
.hm-who img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--paper-3);}
.hm-who .nm{font-size:13.5px;}
.hm-who .vf{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);}
.hm-score{display:flex;align-items:baseline;gap:18px;margin-top:clamp(34px,4.4vw,64px);
  padding-top:18px;border-top:1px solid var(--line);}
.hm-score .n{font-family:var(--disp);font-size:clamp(30px,3.4vw,52px);line-height:1;}
.hm-score .m{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);}

/* ==========================================================================
   07 FAQ / SHIPPING
   ========================================================================== */
.hm-faq-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);
  gap:clamp(30px,5vw,92px);align-items:start;}
.hm-faq details{border-top:1px solid var(--line);}
.hm-faq details:last-of-type{border-bottom:1px solid var(--line);}
.hm-faq summary{list-style:none;cursor:pointer;display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(12px,2vw,28px);align-items:baseline;
  padding:clamp(15px,1.9vw,24px) 0;}
.hm-faq summary::-webkit-details-marker{display:none;}
.hm-faq .i{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--ink-3);padding-top:5px;}
.hm-faq .q{font-family:var(--disp);font-size:clamp(18px,2vw,27px);line-height:1.2;letter-spacing:-.014em;
  transition:color .3s;}
.hm-faq summary:hover .q{color:var(--clay);}
.hm-faq .pm{width:11px;height:11px;position:relative;flex:none;margin-top:8px;}
.hm-faq .pm::before,.hm-faq .pm::after{content:'';position:absolute;background:var(--ink-3);
  transition:transform .4s var(--ease),opacity .3s;}
.hm-faq .pm::before{left:0;top:5px;width:11px;height:1px;}
.hm-faq .pm::after{left:5px;top:0;width:1px;height:11px;}
.hm-faq details[open] .pm::after{transform:scaleY(0);}
.hm-faq .a{padding:0 0 24px clamp(32px,5vw,64px);font-size:14.5px;line-height:1.7;
  color:var(--ink-2);max-width:60ch;}
.hm-ship{border-top:1px solid var(--ink);padding-top:18px;}
.hm-ship h3{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;margin:0 0 6px;}
.hm-ship dl{margin:0 0 22px;}
.hm-ship dt{font-size:14px;padding-top:14px;}
.hm-ship dd{margin:3px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.6;}
.hm-ship .more{margin-top:8px;}

/* ==========================================================================
   08 品牌收尾 + 订阅（不用色块盒子，靠排版与细线）
   ========================================================================== */
.hm-final{padding-bottom:clamp(56px,7vw,120px);}
.hm-state{font-family:var(--disp);text-transform:uppercase;font-size:clamp(29px,5.6vw,98px);
  line-height:.95;letter-spacing:-.028em;margin:0;max-width:18ch;}
.hm-state em{font-style:italic;text-transform:none;}
.hm-news{margin-top:clamp(30px,4.4vw,62px);max-width:540px;}
.hm-news form{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--ink);
  padding-bottom:10px;transition:border-color .3s;}
.hm-news form:focus-within{border-color:var(--clay);}
.hm-news input{flex:1;min-width:0;background:none;border:none;font-size:15.5px;padding:8px 0;font-family:var(--body);}
.hm-news input::placeholder{color:var(--ink-3);}
.hm-news button{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;padding:8px 0;cursor:pointer;
  transition:color .3s;}
.hm-news button:hover{color:var(--clay);}
.hm-fine{margin-top:14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);}

/* ==========================================================================
   图片揭示（克制：只做 clip-path 揭幕，不做位移/缩放）
   ========================================================================== */
.rv-img{clip-path:inset(0 0 0% 0);}
.js .rv-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.15s var(--ease);}
.js .rv-img.in{clip-path:inset(0 0 0% 0);}

/* ==========================================================================
   RESPONSIVE — 移动端重新构图，不是把桌面缩小
   ========================================================================== */
@media(max-width:1080px){
  .hm-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .hm-min{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .hm-prod{gap:clamp(24px,4vw,48px);}
}
@media(max-width:900px){
  .hm-hero-grid{grid-template-columns:1fr;gap:clamp(20px,4vw,32px);}
  .hm-hero-media{margin-right:calc(var(--pad) * -1);margin-left:calc(var(--pad) * -1);}
  .hm-hero-media img{aspect-ratio:4/5;object-position:50% 22%;}
  .hm-hero-copy{padding-bottom:0;}
  .hm-st .in{margin-left:0;}
  .hm-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hm-facts li:nth-child(odd){border-left:none;padding-left:0;}
  .hm-facts li:nth-child(n+3){border-top:1px solid var(--line);}
  .hm-min,.hm-prod,.hm-faq-grid,.hm-data{grid-template-columns:1fr;}
  .hm-min-media{margin-top:clamp(22px,5vw,40px);}
  .hm-quotes{grid-template-columns:1fr;}
  .hm-quotes > :nth-child(2){margin-top:0;}
  .hm-quiet img{aspect-ratio:4/5;object-position:50% 45%;}
  .hm-quiet q{font-size:clamp(21px,6.4vw,34px);max-width:20ch;}
  .hm-specs{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .hm-crops{grid-template-columns:1fr 1fr;gap:10px;}
  .hm-crop--a img{aspect-ratio:3/4;}
  .hm-crop--b{margin-bottom:0;}
  .hm-crop--b img{aspect-ratio:3/4;}
  .hm-crop--c{grid-column:span 2;margin-bottom:0;}
  .hm-crop--c img{aspect-ratio:16/10;transform:none;}
  .hm-index a{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;}
  .hm-prod-media{padding:22px;}
  .hm-facts li{padding:15px 0;font-size:9.5px;}
}

/* 减少动态偏好：全部关掉，只留静态版面 */
@media(prefers-reduced-motion:reduce){
  .hm-bar{transition:none;}
  .hm-link,.hm-index a,.hm-btn,.rv-img{transition:none !important;}
}
