/* T·Lab brand homepage (home.html). Loaded after shop-c.css; only page-specific layout lives here. */

/* header: on wide screens the text nav lists every product, so the Products dropdown is only for small screens */
@media (min-width:960px){.home .pmenu{display:none}}
.nav-links a[aria-current="page"]{color:var(--ink)}

/* ===== brand hero ===== */
.hero{background:linear-gradient(180deg,var(--mint) 0%,var(--paper) 100%);padding-block:24px clamp(36px,6vw,72px)}
.hero-grid{display:grid;gap:22px;align-items:center}
.hero-grid>*{min-width:0}
.hero-copy{display:grid;gap:16px;justify-items:start}
.hero h1{font:600 clamp(34px,8.6vw,56px)/1.06 var(--sans);letter-spacing:-.028em;color:var(--ink);text-wrap:balance;max-width:15ch}
.hero-sub{font-size:17px;line-height:1.55;color:var(--muted);max-width:46ch}
.hero-sub b{color:var(--ink);font-weight:500}
.hero .lead-stat{margin-top:0}
.hero .proof{margin-top:0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.hero-ctas .btn{flex:1 1 220px}
@media (min-width:600px){.hero-ctas .btn{flex:0 0 auto}}
.hero-media{margin:0;position:relative;border-radius:var(--r);background:var(--stone);aspect-ratio:1/1;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:contain}
.hero-media figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--ink);max-width:calc(100% - 24px)}
.hero .trust{margin-top:2px}
/* phones: headline, then the product line-up, then proof + buttons, all inside the first screen */
@media (max-width:959px){
  .hero-grid{gap:14px}
  .hero-copy{display:contents}
  .hero-copy>*{justify-self:start}
  .hero .eyebrow{order:1}
  .hero h1{order:2}
  .hero-media{order:3;aspect-ratio:4/3;justify-self:stretch}
  .hero .lead-stat,.hero .proof{order:4}
  .hero-ctas{order:5;justify-self:stretch}
  .hero-sub{order:3}
  .hero .trust{order:7;justify-self:stretch}
}
@media (min-width:960px){
  .hero{padding-top:56px}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px}
  .hero-media{aspect-ratio:1/1}
}

/* ===== shop the range ===== */
.home .xcard-img{aspect-ratio:1/1}
.xcard-benefit{font-size:15px;color:var(--ink);line-height:1.45}
.price-mini .off{font:600 12px/1 var(--sans);color:var(--sale);background:var(--sale-bg);padding:5px 8px;border-radius:999px;align-self:center}
.first-line{font-size:14px;font-weight:500;color:var(--sale);line-height:1.35}
.first-line b{font-weight:600}
.xcard-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:4px}
.xcard-actions .more{position:relative;z-index:0}

.combo{margin-top:16px;display:grid;gap:16px;background:var(--teal-deep);color:var(--mint-2);border-radius:var(--r);padding:16px;overflow:hidden}
.combo>*{min-width:0}
.combo-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.combo-imgs span{background:var(--stone);border-radius:var(--r-sm);aspect-ratio:4/5;overflow:hidden}
.combo-imgs img{width:100%;height:100%;object-fit:contain}
.combo-copy{display:grid;gap:10px;align-content:center;justify-items:start}
.combo .eyebrow{color:#f2d27a;font-weight:500}
.combo h3{font:600 clamp(26px,5.4vw,36px)/1.1 var(--sans);letter-spacing:-.022em;color:var(--white)}
.combo p{font-size:15px;line-height:1.5}
.combo .price-mini b{color:var(--white);font-size:22px}
.combo .price-mini s{color:var(--mint-2)}
.combo .first-line{color:#ffd9c7}
.combo .btn-primary{background:var(--white);color:var(--teal-deep)}
.combo .btn-primary:hover{background:var(--mint)}
.combo .btn.added{background:var(--mint-2)}
.combo-rate{font-size:13.5px;font-weight:500;color:var(--mint-2)}
.combo-rate span{color:#f2d27a}
.combo-imgs.three{grid-template-columns:repeat(3,1fr);gap:6px}
.combo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}
.combo-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:var(--white);text-decoration:none;font-size:15px;transition:background-color .15s}
.combo-list a:hover{background:rgba(255,255,255,.16)}
.combo-list b{font-weight:600;white-space:nowrap}
.combo-list .cl-name{display:grid;gap:2px;min-width:0}
.combo-list .cl-save{font-size:13px;font-weight:600;color:#f2d27a}
.combo-list .cl-price{display:grid;justify-items:end;gap:1px;line-height:1.2}
.combo-list .cl-price s{font-size:13px;opacity:.65}
.combo .btn-primary svg{margin-left:2px}
@media (min-width:760px){.combo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:22px;gap:28px;align-items:center}}
@media (min-width:1100px){.combo-imgs{max-width:420px}}

/* ===== offers strip ===== */
.offers2{display:grid;gap:12px}
@media (min-width:760px){.offers2{grid-template-columns:1fr 1fr;gap:16px}}
.offer2{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start;border-radius:var(--r);padding:18px}
.offer2.first{background:var(--sale-bg);box-shadow:inset 0 0 0 1.5px #f6c9b2}
.offer2.code{background:var(--mint);box-shadow:inset 0 0 0 1.5px var(--mint-2)}
.offer2-ico{grid-row:span 2;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--white);color:var(--teal)}
.offer2.first .offer2-ico{color:var(--sale)}
.offer2 b{font:600 clamp(19px,4.6vw,22px)/1.25 var(--sans);letter-spacing:-.015em;color:var(--ink)}
.offer2 p{font-size:15px;color:var(--muted);line-height:1.5}

/* ===== reviews (curated) ===== */
.rv-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter) 4px;scroll-padding-inline:var(--gutter);align-items:stretch}
.rv-row::-webkit-scrollbar{display:none}
.rv-row>.rv{flex:0 0 min(86%,340px);scroll-snap-align:start;align-content:start}
.rv-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.rv-dots span{width:7px;height:7px;border-radius:50%;background:var(--line);transition:transform .2s var(--ease),background-color .2s}
.rv-dots span.on{background:var(--teal);transform:scale(1.35)}
@media (min-width:760px){
  .rv-row{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;margin-inline:0;padding-inline:0;gap:16px;align-items:start}
  .rv-dots{display:none}
}
@media (min-width:1000px){.rv-row{grid-template-columns:repeat(3,1fr)}}

.faq-more a+a{margin-left:0}

/* ---------- Our mission band (links to /our-story/) ---------- */
.mission{background:linear-gradient(160deg,var(--paper) 0%,var(--mint) 100%);overflow:hidden;padding-bottom:0}
.mission-grid{display:grid;gap:8px;align-items:end}
.mission-grid>*{min-width:0}
.mission-copy{display:grid;gap:14px;padding-bottom:clamp(32px,6vw,72px)}
.mission-k{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0}
.mission-copy>p{color:var(--muted);line-height:1.6;max-width:54ch}
.mission-who{display:grid;gap:2px;padding:12px 14px;border-left:3px solid var(--teal);background:rgba(255,255,255,.7);border-radius:0 12px 12px 0;max-width:54ch}
.mission-who b{font-weight:600;color:var(--ink)}
.mission-who span{font-size:14px;color:var(--muted)}
.mission-btn{justify-self:start}
.mission-media{justify-self:center;align-self:end;width:min(240px,62%)}
.mission-media img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 26px rgba(8,59,53,.18))}
@media (min-width:900px){.mission-grid{grid-template-columns:1.4fr 1fr;gap:48px}.mission-media{width:min(300px,100%)}}
