/* ==========================================================================
   Mendoxa — ultra premium private clinic
   Palette: warm ivory · deep forest · sage
   Type:    DM Sans (display + body), loaded via <link> in <head>
   ========================================================================== */

:root{
  /* color */
  --ink:#0B1513;
  --forest:#0F2F28;
  --forest-deep:#09201B;
  --forest-mid:#1B4A40;
  --forest-soft:#2E6356;
  --sage:#8FA79B;
  --sage-2:#C3D3C9;
  --sage-soft:#E6EFE9;
  --sage-mist:#F1F6F2;
  --ivory:#F6F2EB;
  --ivory-2:#FAF8F3;
  --cream:#FFFDF9;
  --text:#14201C;
  --text-2:#2F3D38;
  --muted:#5F6D68;
  --muted-2:#8A9691;
  --line:#E4DED4;
  --line-soft:#ECE8E0;
  --gold:#C9A66B;
  /* legacy aliases used by older pages */
  --teal:var(--forest);
  --teal-deep:var(--forest-deep);
  --teal-mid:var(--forest-mid);
  --teal-soft:var(--sage-soft);
  --bg:var(--ivory);
  --bg-2:var(--ivory-2);
  --surface:var(--cream);
  /* type */
  --font:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --display:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* layout */
  --max:1180px;
  --gutter:clamp(1.15rem, 3vw, 2rem);
  --nav-h:80px;
  --r-sm:12px;
  --r:20px;
  --r-lg:28px;
  --r-xl:36px;
  --pill:999px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  /* elevation */
  --shadow-sm:0 1px 2px rgba(11,21,19,.04), 0 1px 1px rgba(11,21,19,.03);
  --shadow:0 2px 6px -2px rgba(11,21,19,.06), 0 14px 32px -16px rgba(11,21,19,.14);
  --shadow-lg:0 10px 24px -12px rgba(11,21,19,.12), 0 30px 70px -28px rgba(11,21,19,.24);
  --shadow-xl:0 24px 60px -24px rgba(15,47,40,.30), 0 60px 120px -48px rgba(15,47,40,.28);
  --ring:0 0 0 1px rgba(15,47,40,.06);
  --section:clamp(4.25rem, 8.5vw, 7.5rem);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:var(--font);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--text);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga","calt";
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--forest-mid);text-decoration:none;text-underline-offset:.18em}
a:hover{color:var(--forest)}
p a:not(.btn),li a:not(.btn){text-decoration:underline;text-decoration-color:var(--sage-2);text-decoration-thickness:1px}
p a:not(.btn):hover,li a:not(.btn):hover{text-decoration-color:var(--forest)}
strong{font-weight:600;color:var(--ink)}
::selection{background:var(--sage-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--forest-soft);outline-offset:3px;border-radius:4px}
[id]{scroll-margin-top:calc(var(--nav-h) + 1rem)}

.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--cream);color:var(--ink);padding:.6rem 1rem;border-radius:10px;box-shadow:var(--shadow)}
.wrap{width:min(100% - 2*var(--gutter), var(--max));margin-inline:auto}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
h1,h2,h3,h4{color:var(--ink);text-wrap:balance;margin:0}
h1{
  font-family:var(--display);
  font-size:clamp(2.7rem, 1.35rem + 4.3vw, 4.6rem);
  font-weight:400;
  line-height:1.0;
  letter-spacing:-.028em;
  margin-bottom:1.4rem;
  font-variation-settings:"opsz" 144, "SOFT" 30;
}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--forest-mid);font-variation-settings:"opsz" 144, "SOFT" 60}
h2{
  font-family:var(--display);
  font-size:clamp(1.95rem, 1.25rem + 2.1vw, 3rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.022em;
  margin-bottom:.9rem;
  font-variation-settings:"opsz" 96;
}
h3{
  font-family:var(--font);
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.25;
  margin-bottom:.45rem;
}
h4{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--forest-mid);margin-bottom:1.4rem;
}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--sage);flex:none}
.lead{
  font-size:clamp(1.08rem, .95rem + .45vw, 1.24rem);
  font-weight:400;color:var(--text-2);line-height:1.55;
  max-width:36ch;margin:0 0 1.9rem;
}
.section-head{max-width:38rem;margin-bottom:clamp(2.25rem,4.5vw,3.25rem)}
.section-head p{color:var(--muted);margin:.8rem 0 0;font-size:1.08rem;font-weight:400;line-height:1.55;max-width:52ch}

section{padding:var(--section) 0;position:relative}
section + section{padding-top:0}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.prose{max-width:68ch}
.prose p,.prose li{color:var(--text-2);line-height:1.7}
.prose h2{margin-top:2.25rem;font-size:clamp(1.55rem,1.2rem + 1vw,2rem)}
.prose h2:first-child{margin-top:0}
.prose ol,.prose ul{padding-left:1.25rem}
.prose li{margin:.35rem 0}

/* --------------------------------------------------------------------------
   Navigation — glass, sticky
   -------------------------------------------------------------------------- */
.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(246,242,235,.72);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);
  backdrop-filter:blur(22px) saturate(1.4);
  border-bottom:1px solid rgba(11,21,19,0);
  transition:background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.nav.is-scrolled{
  background:rgba(250,248,243,.86);
  border-bottom-color:rgba(11,21,19,.06);
  box-shadow:0 10px 36px -24px rgba(11,21,19,.22);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:var(--nav-h)}
.logo{display:inline-flex;align-items:center}
.logo img{height:34px;width:auto;transition:opacity .2s}
.logo:hover img{opacity:.85}
.nav-links{display:flex;align-items:center;gap:1.9rem}
.nav-links a:not(.btn){
  color:var(--text-2);font-weight:500;font-size:.93rem;letter-spacing:-.005em;
  position:relative;padding:.25rem 0;
  transition:color .2s var(--ease);
}
.nav-links a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--forest);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav-links a:not(.btn):hover{color:var(--ink)}
.nav-links a:not(.btn):hover::after,
.nav-links a:not(.btn).is-current::after{transform:scaleX(1)}
.nav-links a:not(.btn).is-current{color:var(--ink)}
.nav-links .btn{margin-left:.4rem;min-height:44px;padding:.65rem 1.25rem;font-size:.88rem}
.menu-btn{
  display:none;appearance:none;background:rgba(255,253,249,.8);border:1px solid var(--line);
  border-radius:14px;width:46px;height:46px;font-size:1.05rem;cursor:pointer;color:var(--ink);
  box-shadow:var(--shadow-sm);transition:background .2s,border-color .2s;
}
.menu-btn:hover{background:var(--cream);border-color:var(--sage-2)}
.menu-btn[aria-expanded="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:52px;padding:.9rem 1.7rem;border-radius:var(--pill);
  font-family:var(--font);font-weight:600;font-size:.97rem;letter-spacing:-.005em;
  border:1px solid transparent;cursor:pointer;text-decoration:none;line-height:1;
  position:relative;isolation:isolate;white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(.985)}
.btn-primary{
  background:linear-gradient(180deg, #16382F 0%, var(--forest) 60%, #0C2822 100%);
  color:#fff;border-color:rgba(9,32,27,.9);
  box-shadow:0 1px 0 rgba(255,255,255,.14) inset, 0 14px 30px -14px rgba(15,47,40,.6), 0 2px 4px -2px rgba(15,47,40,.3);
}
.btn-primary:hover{
  background:linear-gradient(180deg, #1B4A40 0%, #143A32 60%, #0F2F28 100%);
  color:#fff;transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(255,255,255,.16) inset, 0 20px 38px -14px rgba(15,47,40,.65), 0 3px 6px -2px rgba(15,47,40,.3);
}
.btn-secondary{
  background:rgba(255,253,249,.6);color:var(--ink);border-color:rgba(11,21,19,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.btn-secondary:hover{background:var(--cream);border-color:var(--ink);color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-lg{min-height:58px;padding:1.05rem 2rem;font-size:1.02rem}
.btn-light{
  background:#fff;color:var(--forest);border-color:#fff;
  box-shadow:0 14px 36px -14px rgba(0,0,0,.45);
}
.btn-light:hover{background:var(--sage-soft);color:var(--forest-deep);transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(0,0,0,.5)}
/* arrow affordance on primary CTAs */
.btn-primary[data-funnel]::after,.btn-light[data-funnel]::after{
  content:"";width:.55rem;height:.55rem;flex:none;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  transform:rotate(45deg);opacity:.85;margin-left:.1rem;
  transition:transform .25s var(--ease);
}
.btn-primary[data-funnel]:hover::after,.btn-light[data-funnel]:hover::after{transform:rotate(45deg) translate(2px,-2px)}

/* --------------------------------------------------------------------------
   Hero — photo column + glass path card
   -------------------------------------------------------------------------- */
.hero{
  position:relative;
  padding:clamp(2.75rem, 5.5vw, 5rem) 0 clamp(2.5rem, 4.5vw, 4rem);
  overflow:clip;
}
.hero::before{
  /* soft sage light behind the visual */
  content:"";position:absolute;inset:-10% -10% auto auto;width:62%;height:120%;
  background:radial-gradient(60% 55% at 70% 40%, rgba(143,167,155,.22), transparent 70%);
  pointer-events:none;z-index:0;
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem, 5vw, 4.5rem);
  align-items:center;
}
.hero-copy{position:relative;z-index:2;padding-bottom:.5rem}
.hero-copy h1{max-width:12ch}
.hero-visual{
  position:relative;
  isolation:isolate;
  margin-right:clamp(0px, 2vw, 1.25rem);
}
.hero-visual::before{
  /* offset sage frame for depth */
  content:"";position:absolute;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg, var(--sage-soft), rgba(195,211,201,.55));
  z-index:-1;
}
.hero-photo{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  aspect-ratio:4/5;
  max-height:min(660px, 74vh);
  background:var(--sage-mist);
  box-shadow:var(--shadow-xl), var(--ring);
}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:60% 50%;
  transform:scale(1.02);
  transition:transform 1.6s var(--ease-out);
}
.hero-visual:hover .hero-photo img{transform:scale(1.05)}
.hero-photo::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 30%),
    linear-gradient(200deg, transparent 50%, rgba(15,47,40,.30) 100%);
  pointer-events:none;
}
.hero-float{
  position:absolute;left:-2.25rem;bottom:2rem;z-index:3;
  width:min(360px, calc(100% - 1rem));
  background:rgba(255,253,249,.82);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(255,255,255,.85);
  border-radius:var(--r-lg);
  padding:1.3rem 1.35rem 1.35rem;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, var(--shadow-lg);
  animation:float-in 1.1s var(--ease-out) .25s both;
}
@keyframes float-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-float h2{
  font-family:var(--display);font-variation-settings:"opsz" 48;
  font-size:1.35rem;font-weight:500;letter-spacing:-.015em;
  margin:0 0 .3rem;line-height:1.15;
}
.hero-float p{margin:0 0 .9rem;font-size:.86rem;color:var(--muted);line-height:1.45}
.hero-float ol{list-style:none;margin:0 0 1.05rem;padding:0;border-top:1px solid var(--line-soft)}
.hero-float li{
  display:flex;align-items:center;gap:.75rem;
  padding:.6rem 0;border-bottom:1px solid var(--line-soft);
  font-size:.88rem;color:var(--text-2);font-weight:500;letter-spacing:-.005em;
}
.hero-float li span{
  flex:none;width:1.6rem;height:1.6rem;border-radius:var(--pill);
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--forest);color:#fff;
  font-family:var(--display);font-size:.78rem;font-weight:500;
  box-shadow:0 6px 12px -6px rgba(15,47,40,.6);
}
.hero-float .btn{width:100%;min-height:48px;font-size:.93rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.35rem}
.hero-note{
  margin:0;font-size:.9rem;color:var(--muted);max-width:42ch;line-height:1.5;
  padding-left:1rem;border-left:2px solid var(--sage-2);
}

/* --------------------------------------------------------------------------
   Trust strip
   -------------------------------------------------------------------------- */
.trust{padding:0}
.trust + section{padding-top:var(--section)}
.trust-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  background:rgba(255,253,249,.8);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.trust-item{
  padding:1.5rem 1.5rem 1.55rem;
  font-size:.98rem;font-weight:600;color:var(--ink);letter-spacing:-.015em;
  border-right:1px solid var(--line-soft);position:relative;
  display:flex;flex-direction:column;
  transition:background .3s var(--ease);
}
.trust-item:hover{background:var(--sage-mist)}
.trust-item:last-child{border-right:0}
.trust-item svg{width:1.4rem;height:1.4rem;stroke:var(--forest-mid);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.95rem}
.trust-item::before{content:"";display:block;width:1.75rem;height:2px;background:var(--sage);margin-bottom:.9rem;border-radius:2px}
.trust-item.has-icon::before{display:none}
.trust-item span{display:block;margin-top:.35rem;font-weight:400;font-size:.87rem;color:var(--muted);line-height:1.45}

/* --------------------------------------------------------------------------
   Cards
   -------------------------------------------------------------------------- */
.card{
  background:var(--cream);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;height:100%;
  padding:1.75rem 1.65rem 1.7rem;
  position:relative;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.card p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.55}
.card p + p{margin-top:.6rem}
.card h3 + p strong{color:var(--forest)}
.card:hover{box-shadow:var(--shadow);border-color:rgba(15,47,40,.1)}
/* media cards */
a.card-full{display:block;height:100%;text-decoration:none;color:inherit;border-radius:var(--r-lg)}
a.card-full:hover{text-decoration:none}
a.card-full .card{padding:0}
a.card-full:hover .card{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(15,47,40,.12);
}
a.card-full:hover .card-media{transform:scale(1.06)}
.card-media-wrap{overflow:hidden;aspect-ratio:5/4;background:var(--sage-mist);position:relative}
.card-media-wrap::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(15,47,40,.22) 100%);
  pointer-events:none;
}
.card-media{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease-out);filter:saturate(.94) contrast(1.02);
}
.card-body{padding:1.5rem 1.55rem 1.6rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.card-body h3{font-family:var(--display);font-variation-settings:"opsz" 48;font-size:1.55rem;font-weight:500;letter-spacing:-.015em}
.card-body p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.card .eyebrow{margin-bottom:.35rem;font-size:.68rem}
.card .eyebrow::before{width:.9rem}
.card-link{
  margin-top:auto;padding-top:1.1rem;
  font-weight:600;font-size:.93rem;color:var(--forest);
  display:inline-flex;align-items:center;gap:.4rem;
  transition:gap .25s var(--ease), color .2s;
}
a.card-full:hover .card-link{gap:.65rem;color:var(--forest-deep)}
/* plain text cards */
.card.plain{padding:1.85rem 1.7rem 1.75rem}
.card.plain::before,.card:not(.plain):not(:has(.card-media-wrap))::before{
  content:"";display:block;width:1.75rem;height:2px;background:var(--sage);border-radius:2px;margin-bottom:1.2rem;
  transition:width .35s var(--ease), background .35s var(--ease);
}
.card.plain:hover::before,.card:not(.plain):not(:has(.card-media-wrap)):hover::before{width:2.75rem;background:var(--forest-mid)}
.card.plain h3{font-size:1.2rem}
.card.plain p{margin:0;color:var(--muted);font-size:.96rem}

/* --------------------------------------------------------------------------
   Steps
   -------------------------------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;position:relative;counter-reset:step}
.step{
  background:var(--cream);
  border:1px solid var(--line-soft);
  border-radius:var(--r);
  padding:1.65rem 1.4rem 1.7rem;
  box-shadow:var(--shadow-sm);
  position:relative;overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.step::after{
  content:"";position:absolute;inset:auto 0 0 0;height:3px;
  background:linear-gradient(90deg, var(--sage), var(--forest-mid));
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(15,47,40,.1)}
.step:hover::after{transform:scaleX(1)}
.step-num{
  width:2.65rem;height:2.65rem;border-radius:var(--pill);
  display:flex;align-items:center;justify-content:center;
  background:var(--forest);color:#fff;
  font-family:var(--display);font-weight:500;font-size:1.05rem;
  margin-bottom:1.2rem;
  box-shadow:0 12px 22px -12px rgba(15,47,40,.7), 0 0 0 5px var(--sage-mist);
}
.step h3{font-size:1.05rem}
.step p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}

.how-visual{
  margin-top:2.25rem;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--shadow-lg), var(--ring);
  aspect-ratio:21/9;background:var(--sage-mist);position:relative;
}
.how-visual img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease-out)}
.how-visual:hover img{transform:scale(1.03)}
.how-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 70%, rgba(15,47,40,.14) 100%);
  pointer-events:none;
}

/* alternate section background */
section.alt,section[style*="--bg-2"]{
  background:linear-gradient(180deg, var(--ivory-2) 0%, var(--sage-mist) 100%);
  border-top:1px solid rgba(15,47,40,.05);border-bottom:1px solid rgba(15,47,40,.05);
}
section.alt + section,section[style*="--bg-2"] + section{padding-top:var(--section)}
section + section.alt,section + section[style*="--bg-2"]{padding-top:var(--section)}

/* --------------------------------------------------------------------------
   CTA band
   -------------------------------------------------------------------------- */
.band{
  position:relative;overflow:hidden;
  border-radius:var(--r-xl);
  padding:clamp(2.75rem,5.5vw,4.25rem) clamp(1.85rem,4.5vw,3.5rem);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.75rem;
  color:#fff;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(143,167,155,.35), transparent 55%),
    radial-gradient(60% 80% at 0% 100%, rgba(201,166,107,.14), transparent 60%),
    linear-gradient(125deg, #09201B 0%, #0F2F28 50%, #1B4A40 100%);
  box-shadow:var(--shadow-xl);
  isolation:isolate;
}
.band::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:url("/img/texture.webp") center/cover no-repeat;
  opacity:.10;mix-blend-mode:luminosity;
}
.band::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 40%);
}
.band h2{color:#fff;margin:0;max-width:16ch;font-weight:400}
.band p{margin:.7rem 0 0;color:rgba(255,255,255,.76);max-width:40ch;font-weight:400;font-size:1.06rem}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */
.faq{max-width:760px}
.faq details{border-top:1px solid var(--line);padding:1.25rem 0;transition:background .2s}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:1.25rem;
  font-weight:500;font-size:1.08rem;letter-spacing:-.012em;color:var(--ink);
  transition:color .2s;
}
.faq summary:hover{color:var(--forest-mid)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";flex:none;width:2.1rem;height:2.1rem;border-radius:var(--pill);
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);color:var(--forest);font-size:1.15rem;font-weight:300;
  background:var(--cream);
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s;
}
.faq summary:hover::after{border-color:var(--sage)}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--forest);border-color:var(--forest);color:#fff}
.faq details[open] summary{margin-bottom:.75rem}
.faq p{margin:0;color:var(--muted);font-size:1rem;max-width:60ch;line-height:1.6}
@media (prefers-reduced-motion:no-preference){
  .faq details[open] p{animation:faq-in .35s var(--ease-out)}
}
@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Page hero / pathway hero / niche hero-card
   -------------------------------------------------------------------------- */
.page-hero{
  padding:clamp(3rem,6vw,5rem) 0 clamp(1.5rem,3vw,2.25rem);
  position:relative;
}
.page-hero::before{
  content:"";position:absolute;inset:0 0 auto 0;height:100%;z-index:-1;
  background:
    radial-gradient(50% 60% at 85% 0%, rgba(143,167,155,.18), transparent 70%),
    linear-gradient(180deg, var(--ivory-2), var(--ivory));
}
.page-hero h1{max-width:18ch;font-size:clamp(2.4rem, 1.4rem + 3.2vw, 3.9rem)}
.page-hero p{color:var(--muted);max-width:52ch;font-size:1.12rem;line-height:1.55;margin:0}
.page-hero p a{text-decoration:none}
.page-hero + section{padding-top:clamp(1.5rem,3vw,2.5rem)}

.pathway-hero{
  padding:clamp(2.75rem,5.5vw,5rem) 0 clamp(2.5rem,4.5vw,4rem);
  position:relative;overflow:clip;
}
.pathway-hero::before{
  content:"";position:absolute;inset:-10% -10% auto auto;width:60%;height:120%;
  background:radial-gradient(60% 55% at 70% 40%, rgba(143,167,155,.2), transparent 70%);
  pointer-events:none;z-index:0;
}
.pathway-hero .wrap{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.pathway-hero h1{max-width:13ch}
.mini-panel{
  position:relative;isolation:isolate;
  border-radius:var(--r-xl);overflow:visible;
  aspect-ratio:4/5;max-height:min(600px,72vh);
  margin-right:clamp(0px,2vw,1.25rem);
}
.mini-panel::before{
  content:"";position:absolute;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-xl);z-index:-1;
  background:linear-gradient(160deg, var(--sage-soft), rgba(195,211,201,.55));
}
.mini-panel picture{
  position:absolute;inset:0;border-radius:var(--r-xl);overflow:hidden;
  background:var(--sage-mist);box-shadow:var(--shadow-xl), var(--ring);
}
.mini-panel picture::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg, transparent 55%, rgba(15,47,40,.28) 100%);
}
.mini-panel img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.02);transition:transform 1.6s var(--ease-out)}
.mini-panel:hover img{transform:scale(1.05)}
.mini-panel .panel-tag{
  position:absolute;left:-1.5rem;bottom:1.75rem;z-index:2;
  display:inline-flex;align-items:center;gap:.6rem;
  background:rgba(255,253,249,.85);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.85);
  border-radius:var(--pill);padding:.65rem 1.05rem .65rem .75rem;
  font-size:.82rem;font-weight:600;color:var(--forest);letter-spacing:-.005em;
  box-shadow:var(--shadow-lg);
  animation:float-in 1s var(--ease-out) .3s both;
}
.mini-panel .panel-tag i{
  width:1.5rem;height:1.5rem;border-radius:var(--pill);flex:none;
  background:var(--forest);display:inline-flex;align-items:center;justify-content:center;
}
.mini-panel .panel-tag i::after{content:"";width:.4rem;height:.65rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}

/* niche pages (bpc-157 etc.) — dark path card */
.hero-card{
  position:relative;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(143,167,155,.3), transparent 55%),
    linear-gradient(140deg, #0B2620 0%, #0F2F28 55%, #1B4A40 100%);
  color:#fff;border-radius:var(--r-xl);
  padding:clamp(1.75rem,3.5vw,2.5rem);
  box-shadow:var(--shadow-xl);
  display:flex;flex-direction:column;justify-content:space-between;
}
.hero-card h2{color:#fff;font-size:1.6rem;margin-bottom:1rem;font-variation-settings:"opsz" 48}
.hero-card ol{list-style:none;margin:0;padding:0;counter-reset:hc}
.hero-card li{
  counter-increment:hc;display:flex;align-items:center;gap:.85rem;
  padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:.95rem;color:rgba(255,255,255,.86);
}
.hero-card li::before{
  content:counter(hc);flex:none;width:1.7rem;height:1.7rem;border-radius:var(--pill);
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  font-family:var(--display);font-size:.8rem;
}
.hero-card .btn{width:100%}
.hero-card .btn-primary[style]{box-shadow:0 14px 36px -14px rgba(0,0,0,.45)}
.hero-card .btn-primary[style]:hover{background:var(--sage-soft) !important}

.legal-box{
  background:var(--sage-mist);
  border:1px solid rgba(15,47,40,.07);
  border-left:3px solid var(--sage);
  border-radius:var(--r-sm);
  padding:1.2rem 1.4rem;
  font-size:.93rem;color:var(--text-2);line-height:1.58;margin:1.75rem 0;
}
.legal-box strong{color:var(--forest)}

/* --------------------------------------------------------------------------
   Footer — deep forest
   -------------------------------------------------------------------------- */
.footer{
  margin-top:clamp(2rem,4vw,3.5rem);
  padding:clamp(3.5rem,6.5vw,5.5rem) 0 2.25rem;
  color:rgba(255,255,255,.7);
  position:relative;isolation:isolate;
  background:
    radial-gradient(70% 60% at 100% 0%, rgba(143,167,155,.16), transparent 60%),
    linear-gradient(180deg, #0C2620 0%, #09201B 60%, #071915 100%);
  border-top:1px solid rgba(255,255,255,.06);
}
.footer::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:url("/img/texture.webp") center/cover no-repeat;
  opacity:.06;mix-blend-mode:luminosity;
}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
.footer .logo img{height:32px;filter:brightness(0) invert(1);opacity:.95}
.footer p{color:rgba(255,255,255,.58) !important;font-weight:400;font-size:.95rem !important;line-height:1.6}
.footer h4{
  margin:0 0 1.1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.42);font-weight:600;
}
.footer a{display:block;color:rgba(255,255,255,.8);text-decoration:none;margin:.5rem 0;font-size:.94rem;width:fit-content;position:relative;transition:color .2s}
.footer a:not(.logo)::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--sage);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.footer a:hover{color:#fff}
.footer a:not(.logo):hover::after{transform:scaleX(1)}
.footer a.logo{display:inline-flex;margin:0}
.footer-bottom{
  margin-top:3rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.78rem;color:rgba(255,255,255,.4);line-height:1.65;
  display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start;
}
.footer-bottom p{margin:0;color:inherit !important;font-size:inherit !important;max-width:115ch;line-height:inherit}
.footer a.ls-seal{display:inline-flex;margin:0;flex:0 0 73px;width:73px}
.footer a.ls-seal::after{content:none;display:none}
.footer a.ls-seal img{display:block;width:73px;height:79px;filter:none;opacity:1}

/* --------------------------------------------------------------------------
   Reveal on scroll
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out), transform .8s var(--ease-out)}
  .reveal.in{opacity:1;transform:none}
  .grid-3 > .reveal:nth-child(2),.steps > .reveal:nth-child(2){transition-delay:.08s}
  .grid-3 > .reveal:nth-child(3),.steps > .reveal:nth-child(3){transition-delay:.16s}
  .steps > .reveal:nth-child(4){transition-delay:.24s}
  .hero-visual.reveal{transition-delay:.1s}
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  .hero-float{left:-1rem}
  .nav-links{gap:1.3rem}
}
@media (max-width:980px){
  /* Hamburger from tablet down — seven links do not fit a tablet bar */
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;flex-direction:column;align-items:stretch;
    position:absolute;left:0;right:0;top:var(--nav-h);
    background:var(--ivory-2);
    border-bottom:1px solid var(--line);
    padding:.75rem var(--gutter) 1.5rem;gap:0;
    box-shadow:var(--shadow-lg);
    animation:menu-in .3s var(--ease-out);
  }
  @keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .nav-links.open a:not(.btn){padding:.95rem 0;font-size:1.1rem;font-weight:500;border-bottom:1px solid var(--line-soft);font-family:var(--display);font-variation-settings:"opsz" 24;letter-spacing:-.01em}
  .nav-links.open a:not(.btn)::after{display:none}
  .nav-links.open .btn{width:100%;margin:1rem 0 0;min-height:54px;font-size:1rem}

  .hero-grid,.pathway-hero .wrap{grid-template-columns:1fr;gap:1.75rem}
  .hero::before,.pathway-hero::before{width:100%;inset:-10% 0 auto 0}
  /* Stack order: photo → copy + CTAs → path card, so the headline stays in the fold */
  .hero-visual{display:contents}
  .hero-visual::before{display:none}
  .hero-photo{
    order:-1;aspect-ratio:16/10;max-height:none;border-radius:var(--r-lg);
    box-shadow:.9rem .9rem 0 0 var(--sage-soft), var(--shadow-lg), var(--ring);
    margin-right:.9rem;
  }
  .hero-photo img{object-position:60% 55%}
  .hero-float{
    position:relative;left:auto;bottom:auto;width:auto;order:3;
    margin:.5rem 0 0;border-radius:var(--r);animation:none;
    background:var(--cream);
  }
  .hero-copy{padding-bottom:0}
  .mini-panel{order:-1;margin-right:0;max-height:none;aspect-ratio:16/10}
  .mini-panel::before{inset:.9rem -.9rem -.9rem .9rem}
  .mini-panel picture{border-radius:var(--r-lg)}
  .mini-panel .panel-tag{left:1rem;bottom:1rem}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2n){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > div:first-child{grid-column:1/-1}
  .how-visual{aspect-ratio:16/9}
}
@media (max-width:720px){
  :root{--nav-h:68px;--section:clamp(3.5rem,12vw,4.75rem);--r-xl:28px}
  .grid-3,.grid-2,.steps{grid-template-columns:1fr}
  .hero{padding-top:1.25rem}
  .pathway-hero{padding-top:1.25rem}
  .hero-photo{aspect-ratio:16/10;box-shadow:.7rem .7rem 0 0 var(--sage-soft), var(--shadow-lg), var(--ring);margin-right:.7rem}
  .mini-panel{aspect-ratio:4/3}
  .mini-panel::before{inset:.75rem -.6rem -.6rem .75rem}
  .hero-float{padding:1.15rem 1.15rem 1.2rem}
  .hero-copy h1{max-width:none}
  .hero-cta{flex-direction:column}
  .hero-cta .btn,.band .btn{width:100%}
  .trust-grid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--line-soft);padding:1.25rem 1.35rem}
  .trust-item:last-child{border-bottom:0}
  .footer-grid{grid-template-columns:1fr;gap:1.75rem}
  .band{border-radius:var(--r-lg)}
  h1{font-size:clamp(2.35rem, 10vw, 3rem)}
  .page-hero h1{font-size:clamp(2.1rem, 9vw, 2.75rem)}
  .lead{font-size:1.06rem}
}

/* --------------------------------------------------------------------------
   Process — care path (home: sticky intro + photo steps · how-it-works: features · niche: strip)
   -------------------------------------------------------------------------- */
.process{position:relative}
.process-grid{
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(2.5rem,6vw,5.5rem);align-items:start;
}
.process-intro{position:sticky;top:calc(var(--nav-h) + 1.75rem)}
.process-intro h2{max-width:13ch}
.process-sub{
  color:var(--muted);font-size:1.1rem;line-height:1.55;max-width:42ch;
  margin:.9rem 0 1.75rem;
}
.process-intro .btn{margin-bottom:1.9rem}
.process-trust{
  list-style:none;margin:0;padding:1.4rem 0 0;display:grid;gap:.6rem;
  border-top:1px solid var(--line);
}
.process-trust li{position:relative;padding-left:1.25rem;font-size:.92rem;color:var(--text-2);font-weight:500;letter-spacing:-.005em;line-height:1.45}
.process-trust li::before{
  content:"";position:absolute;left:.05rem;top:.5em;width:.45rem;height:.45rem;border-radius:50%;
  background:var(--forest-mid);box-shadow:0 0 0 4px var(--sage-soft);
}
.process-trust a{color:inherit;text-decoration:underline;text-decoration-color:var(--sage-2);text-underline-offset:.18em}
.process-trust a:hover{color:var(--forest);text-decoration-color:var(--forest)}

.process-num{
  display:block;font-family:var(--display);font-variation-settings:"opsz" 144;
  font-weight:300;font-size:2.35rem;line-height:1;letter-spacing:-.03em;
  color:var(--forest-mid);margin-bottom:.85rem;
}
.process-num::after{
  content:"";display:block;width:1.75rem;height:1px;background:var(--sage);margin-top:.7rem;
  transition:width .4s var(--ease), background .4s var(--ease);
}

.process-steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.process-step{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem;align-items:center;
  background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r-lg);
  padding:1.15rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.process-step:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(15,47,40,.12)}
.process-step:hover .process-num::after{width:2.75rem;background:var(--forest-mid)}
.process-step:hover .process-photo img{transform:scale(1.05)}
.process-photo{
  aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;position:relative;
  background:var(--sage-mist);box-shadow:var(--ring);
}
.process-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out);filter:saturate(.96)}
.process-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 65%, rgba(15,47,40,.16) 100%);pointer-events:none;
}
.process-body{padding:.35rem 1rem .35rem 0}
.process-body h3{
  font-family:var(--display);font-variation-settings:"opsz" 48;
  font-size:1.42rem;font-weight:500;letter-spacing:-.015em;line-height:1.15;margin-bottom:.5rem;
}
.process-body p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.55;max-width:46ch}
.process-body p a{text-decoration:underline;text-decoration-color:var(--sage-2)}
.process-body p a:hover{text-decoration-color:var(--forest)}

/* caption pill on photos (Eden-style, no claims) */
.photo-tag{
  position:absolute;left:.75rem;bottom:.75rem;z-index:2;
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,253,249,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.9);border-radius:var(--pill);
  padding:.4rem .8rem .4rem .55rem;font-size:.74rem;font-weight:600;color:var(--forest);letter-spacing:-.005em;
  box-shadow:var(--shadow);white-space:nowrap;
}
.photo-tag i{width:1.15rem;height:1.15rem;border-radius:50%;flex:none;background:var(--forest);display:inline-flex;align-items:center;justify-content:center}
.photo-tag i::after{content:"";width:.28rem;height:.5rem;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}

/* how-it-works: alternating feature rows */
.process-features{list-style:none;margin:0;padding:0}
.process-feature{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2rem,5.5vw,5rem);align-items:center;
  padding:clamp(2.25rem,4.5vw,3.75rem) 0;border-top:1px solid var(--line);
}
.process-feature:first-child{border-top:0;padding-top:.5rem}
.process-feature:nth-child(even) .process-feature-photo{order:2}
.process-feature-photo{
  position:relative;isolation:isolate;aspect-ratio:5/4;
  border-radius:var(--r-xl);overflow:hidden;background:var(--sage-mist);
  box-shadow:var(--shadow-lg), var(--ring);
}
.process-feature-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease-out)}
.process-feature:hover .process-feature-photo img{transform:scale(1.04)}
.process-feature-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg, transparent 60%, rgba(15,47,40,.22) 100%);pointer-events:none;
}
.process-feature-photo .photo-tag{left:1.1rem;bottom:1.1rem;font-size:.8rem;padding:.5rem .95rem .5rem .6rem}
.process-feature-body .process-num{font-size:clamp(3.4rem,5vw,4.75rem);color:var(--sage);margin-bottom:1rem}
.process-feature-body .process-num::after{width:2.75rem;background:var(--forest-mid)}
.process-feature-body h2{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);max-width:16ch}
.process-feature-body p{color:var(--text-2);font-size:1.08rem;line-height:1.6;max-width:50ch;margin:0}
.process-feature-body p + p{margin-top:.8rem}
.process-detail{list-style:none;margin:1.35rem 0 0;padding:0;display:grid;gap:.5rem}
.process-detail li{
  position:relative;padding-left:1.1rem;font-size:.95rem;color:var(--text-2);line-height:1.5;
}
.process-detail li::before{
  content:"";position:absolute;left:0;top:.55em;width:.38rem;height:.38rem;border-radius:50%;
  background:var(--forest-mid);box-shadow:0 0 0 3px var(--sage-soft);
}

/* niche pages: compact strip */
.process-mini{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  background:rgba(255,253,249,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);
}
.process-mini li{padding:1.6rem 1.5rem 1.7rem;border-right:1px solid var(--line-soft);transition:background .3s var(--ease)}
.process-mini li:last-child{border-right:0}
.process-mini li:hover{background:var(--sage-mist)}
.process-mini li:hover .process-num::after{width:2.75rem;background:var(--forest-mid)}
.process-mini .process-num{font-size:1.95rem}
.process-mini h3{font-size:1.06rem;margin-bottom:.4rem}
.process-mini p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.process-mini-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;
  margin-bottom:clamp(1.75rem,3.5vw,2.5rem);
}
.process-mini-head .section-head{margin-bottom:0}
.process-mini-head .btn{flex:none}

@media (prefers-reduced-motion:no-preference){
  .process-steps > .reveal:nth-child(2),.process-mini > .reveal:nth-child(2){transition-delay:.08s}
  .process-steps > .reveal:nth-child(3),.process-mini > .reveal:nth-child(3){transition-delay:.16s}
  .process-steps > .reveal:nth-child(4),.process-mini > .reveal:nth-child(4){transition-delay:.24s}
}
@media (max-width:1100px){
  .process-step{grid-template-columns:190px minmax(0,1fr);gap:1.25rem}
}
@media (max-width:980px){
  .process-grid{grid-template-columns:1fr;gap:2.25rem}
  .process-intro{position:static}
  .process-intro h2{max-width:none}
  .process-trust{grid-template-columns:1fr 1fr}
  .process-feature{grid-template-columns:1fr;gap:1.5rem}
  .process-feature:nth-child(even) .process-feature-photo{order:0}
  .process-feature-photo{aspect-ratio:16/10}
  .process-mini{grid-template-columns:1fr 1fr}
  .process-mini li:nth-child(2n){border-right:0}
  .process-mini li:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}
}
@media (max-width:720px){
  /* more vertical rhythm on phones: steps breathe, numbers sit clear of headings */
  .process-steps{gap:1.35rem}
  .process-step{grid-template-columns:1fr;gap:1.15rem;padding:1rem 1rem 1.5rem}
  .process-photo{aspect-ratio:16/10}
  .process-body{padding:.35rem .5rem 0}
  .process-body h3{font-size:1.3rem;margin-bottom:.6rem}
  .process-body p{line-height:1.6}
  .process-num{margin-bottom:1rem}
  .process-intro .btn{width:100%}
  .process-trust{grid-template-columns:1fr;gap:.75rem}
  .process-mini{grid-template-columns:1fr}
  .process-mini li{border-right:0;border-bottom:1px solid var(--line-soft);padding:1.65rem 1.35rem 1.8rem}
  .process-mini li:last-child{border-bottom:0}
  .process-mini .process-num{margin-bottom:.9rem}
  .process-mini h3{margin-bottom:.55rem}
  .process-mini p{line-height:1.58}
  .process-mini-head{margin-bottom:1.75rem;gap:1.25rem}
  .process-mini-head .btn{width:100%}
  .process-feature{padding:2.5rem 0;gap:1.6rem}
  .process-feature-body h2{max-width:none}
  .process-detail{gap:.7rem}
}

/* --------------------------------------------------------------------------
   What's included — home + pathway pages (P1 conversion)
   -------------------------------------------------------------------------- */
.included{position:relative}
.included-grid{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(2.25rem,5.5vw,5rem);align-items:start;
}
.included-intro{position:sticky;top:calc(var(--nav-h) + 1.75rem)}
.included-intro h2{max-width:12ch}
.included-intro p{color:var(--muted);font-size:1.1rem;line-height:1.55;max-width:34ch;margin:.9rem 0 1.6rem}
.included-photo{
  position:relative;isolation:isolate;aspect-ratio:5/4;margin-top:2rem;
  border-radius:var(--r-lg);overflow:hidden;background:var(--sage-mist);
  box-shadow:var(--shadow-lg), var(--ring);
}
.included-photo picture{position:absolute;inset:0}
.included-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
.included-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg, transparent 60%, rgba(15,47,40,.18) 100%);
}
.included-list{
  list-style:none;margin:0;padding:0;counter-reset:inc;
  background:rgba(255,253,249,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);
}
.included-list li{
  display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:1.15rem;align-items:start;
  padding:1.45rem 1.65rem;border-top:1px solid var(--line-soft);
  transition:background .3s var(--ease);
}
.included-list li:first-child{border-top:0}
.included-list li:hover{background:var(--sage-mist)}
.included-icon{
  width:2.75rem;height:2.75rem;border-radius:50%;flex:none;
  background:var(--sage-soft);color:var(--forest);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.included-list li:hover .included-icon{background:var(--forest);color:#fff}
.included-icon svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.included-list h3{font-size:1.08rem;margin-bottom:.3rem}
.included-list p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.52;max-width:52ch}
.included-list p a{text-decoration:underline;text-decoration-color:var(--sage-2)}
.included-list p a:hover{text-decoration-color:var(--forest)}
.included-note{margin:1.1rem .25rem 0;font-size:.85rem;color:var(--muted-2);line-height:1.5}
@media (prefers-reduced-motion:no-preference){
  .included-list > .reveal:nth-child(2){transition-delay:.06s}
  .included-list > .reveal:nth-child(3){transition-delay:.12s}
  .included-list > .reveal:nth-child(4){transition-delay:.18s}
  .included-list > .reveal:nth-child(5){transition-delay:.24s}
}
@media (max-width:980px){
  .included-grid{grid-template-columns:1fr;gap:1.75rem}
  .included-intro{position:static}
  .included-intro h2{max-width:none}
  .included-intro p{max-width:52ch}
  .included-photo{display:none}
}
@media (max-width:720px){
  .included-intro .btn{width:100%}
  .included-list li{padding:1.25rem 1.15rem;gap:.95rem;grid-template-columns:2.4rem minmax(0,1fr)}
  .included-icon{width:2.4rem;height:2.4rem}
  .included-icon svg{width:1.15rem;height:1.15rem}
}

/* --------------------------------------------------------------------------
   Pathway sticky CTA — mobile/tablet only, appears after hero CTA scrolls away,
   hides near footer, dismissible for the session
   -------------------------------------------------------------------------- */
.path-sticky{display:none}
@media (max-width:980px){
  .path-sticky{
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    display:flex;align-items:center;gap:.55rem;
    padding:.65rem var(--gutter) calc(.65rem + env(safe-area-inset-bottom, 0px));
    background:rgba(250,248,243,.9);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border-top:1px solid var(--line);
    box-shadow:0 -14px 36px -20px rgba(11,21,19,.28);
    transform:translateY(110%);visibility:hidden;
    transition:transform .5s var(--ease-out), visibility 0s linear .5s;
  }
  .path-sticky.is-visible{transform:none;visibility:visible;transition:transform .5s var(--ease-out), visibility 0s}
  .path-sticky .btn{min-height:50px;padding-block:.7rem;font-size:.97rem}
  .path-sticky .btn-primary{flex:1 1 auto;min-width:0}
  .path-sticky .btn-secondary{flex:0 0 auto;padding-inline:1rem;background:transparent}
  .path-sticky-close{
    flex:none;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--line);
    background:transparent;color:var(--muted);font-size:.85rem;line-height:1;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;
    transition:background .2s var(--ease), color .2s var(--ease);
  }
  .path-sticky-close:hover{background:var(--sage-mist);color:var(--forest)}
  body.has-sticky{padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px))}
  @media (prefers-reduced-motion:reduce){.path-sticky{transition:none}}
}
@media (max-width:420px){
  .path-sticky .btn-secondary{padding-inline:.8rem;font-size:.9rem}
}

/* ==========================================================================
   Hub v2 layout (appended): home / solutions composition,
   Mendoxa brand. Mobile-first. Nothing above this block is required to change.
   ========================================================================== */

/* Hero: copy first on phones so the CTA sits above the fold at 375px -------- */
.v2-hero{position:relative;overflow:clip;padding:clamp(1.25rem,4vw,4.5rem) 0 clamp(2rem,4.5vw,4rem)}
.v2-hero::before{content:"";position:absolute;inset:-10% 0 auto 0;height:120%;background:radial-gradient(60% 55% at 80% 30%, rgba(143,167,155,.2), transparent 70%);pointer-events:none;z-index:0}
.v2-hero .wrap{position:relative;z-index:1;display:grid;gap:1.75rem;align-items:center}
.v2-hero h1{max-width:14ch;font-weight:500;letter-spacing:-.03em;line-height:1.02;font-size:clamp(2.35rem,8.5vw,3rem)}
.v2-hero .lead{max-width:44ch;margin-bottom:1.4rem}
.v2-hero .hero-cta{margin-bottom:1.1rem}
.v2-hero .hero-cta .btn{width:100%;min-height:54px}
.v2-hero-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/11;background:var(--sage-mist);box-shadow:.7rem .7rem 0 0 var(--sage-soft), var(--shadow-lg), var(--ring);margin-right:.7rem}
.v2-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.v2-hero-photo.is-product{aspect-ratio:1/1;background:var(--forest-deep) url("/img/v2/texture-evergreen-organic.png") center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,5vw,3rem)}
.v2-hero-photo.is-product img{width:auto;height:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.v2-hero-tag{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,253,249,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.85);border-radius:var(--pill);padding:.55rem .95rem .55rem .65rem;font-size:.8rem;font-weight:600;color:var(--forest);box-shadow:var(--shadow-lg)}
.v2-hero-tag i{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--forest);flex:none;display:inline-flex;align-items:center;justify-content:center}
.v2-hero-tag i::after{content:"";width:.3rem;height:.55rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.v2-hero-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}
.v2-hero-chips li{font-size:.8rem;font-weight:600;color:var(--forest);background:var(--sage-mist);border:1px solid var(--sage-2);border-radius:var(--pill);padding:.4rem .8rem}
@media (max-width:720px){.v2-hero-chips{display:none}}

/* Category scroller (snap) --------------------------------------------------- */
.v2-scroller-wrap{position:relative}
.v2-scroller{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:.25rem var(--gutter) 1.25rem;margin:0 calc(-1 * var(--gutter));scrollbar-width:none;-webkit-overflow-scrolling:touch}
.v2-scroller::-webkit-scrollbar{display:none}
.v2-scroller > *{scroll-snap-align:start;flex:0 0 min(78vw,300px)}
.v2-scroller-hint{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);margin:0}
.v2-scroller-hint::before{content:"";width:1.6rem;height:1px;background:var(--sage)}

/* Niche card: 16:9 image + title + promise ---------------------------------- */
a.v2-cat{display:flex;flex-direction:column;height:100%;background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease)}
a.v2-cat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(15,47,40,.12);text-decoration:none}
.v2-cat-media{aspect-ratio:16/9;overflow:hidden;background:var(--sage-mist);position:relative}
.v2-cat-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out);filter:saturate(.94)}
a.v2-cat:hover .v2-cat-media img{transform:scale(1.05)}
.v2-cat-media .v2-soon{position:absolute;top:.7rem;left:.7rem}
.v2-cat-overlay{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1rem .95rem;background:linear-gradient(180deg,transparent,rgba(9,32,27,.88) 70%);color:#fff}
.v2-cat-overlay h4{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.v2-cat-overlay p{margin:.25rem 0 0;font-size:1.05rem;font-weight:600;line-height:1.2;color:#fff;max-width:16ch}
.v2-cat-body{padding:1.05rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.v2-cat-body h3{font-size:1.1rem;margin:0}
.v2-cat-body p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.v2-cat-body .card-link{padding-top:.75rem;font-size:.88rem}
.v2-cat-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.v2-soon{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);background:rgba(255,253,249,.92);border:1px solid var(--sage-2);border-radius:var(--pill);padding:.35rem .7rem}
.v2-soon.is-dark{background:var(--forest);color:#fff;border-color:var(--forest)}

/* Trust strip: avatars + 300k + Trustpilot 4.6 -------------------------------- */
.v2-trust{padding:0}
.v2-trust + section{padding-top:var(--section)}
.v2-trust-inner{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}
.v2-avatars{display:flex;align-items:center}
.v2-avatars img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--cream);box-shadow:var(--shadow-sm);margin-left:-.55rem;background:var(--sage-mist)}
.v2-avatars img:first-child{margin-left:0}
.v2-trust-text{margin:0;font-size:.95rem;font-weight:500;color:var(--text-2);line-height:1.45}
.v2-tp{display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--muted);text-decoration:none;margin-left:auto}
.v2-tp strong{font-size:.95rem;color:var(--ink);letter-spacing:-.01em}
.v2-tp:hover strong{color:var(--forest)}
.v2-tp-score{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.v2-tp-score b{font-size:1.35rem;font-weight:700;color:var(--ink);letter-spacing:-.03em}
.v2-stars{color:#00b67a;letter-spacing:.04em;font-size:1.05rem;line-height:1}
.v2-tp-meta{font-size:.8rem;color:var(--muted)}

/* Pillars ------------------------------------------------------------------- */
.v2-pillars{display:grid;grid-template-columns:1fr;gap:.9rem;list-style:none;margin:0;padding:0}
.v2-pillars li{background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.4rem 1.35rem;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.95rem;align-items:start;transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.v2-pillars li:hover{box-shadow:var(--shadow);border-color:rgba(15,47,40,.1)}
.v2-pillars svg{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:14px;background:var(--sage-mist);stroke:var(--forest);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v2-pillars h3{font-size:1.02rem;margin-bottom:.25rem}
.v2-pillars p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}

/* Product mosaic (bento) ------------------------------------------------------ */
.v2-bento{display:grid;grid-template-columns:1fr;gap:1rem}
a.v2-tile{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;min-height:280px;color:#fff;text-decoration:none;background:var(--forest);box-shadow:var(--shadow);isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
a.v2-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);text-decoration:none;color:#fff}
.v2-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease-out)}
a.v2-tile:hover img{transform:scale(1.04)}
.v2-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(9,32,27,0) 35%, rgba(9,32,27,.82) 100%)}
.v2-tile-body{position:absolute;left:0;right:0;bottom:0;padding:1.35rem 1.4rem}
.v2-tile-body .eyebrow{color:rgba(255,255,255,.8);margin-bottom:.5rem}
.v2-tile-body .eyebrow::before{background:rgba(255,255,255,.5)}
.v2-tile-body h3{color:#fff;font-size:1.45rem;margin:0 0 .3rem}
.v2-tile-body p{margin:0;color:rgba(255,255,255,.82);font-size:.92rem;line-height:1.45;max-width:36ch}
.v2-tile-body .card-link{color:#fff;padding-top:.7rem}
.v2-tile.is-product{background:#05080a}
.v2-tile.is-product img{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 32%;transform:none;z-index:-2;filter:none}
a.v2-tile.is-product:hover img{transform:scale(1.04)}
.v2-tile.is-product::after{background:linear-gradient(180deg, rgba(5,8,10,0) 38%, rgba(5,8,10,.88) 100%)}

/* Reviews placeholder --------------------------------------------------------- */
.v2-review-track{display:grid;grid-template-columns:1fr;gap:1rem}
.v2-review-card{background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.5rem 1.45rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}
.v2-review-card .v2-stars{margin:.1rem 0}
.v2-review-card p{margin:0;color:var(--text-2);font-size:1rem;line-height:1.55}
.v2-review-card .v2-review-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;font-weight:600}
.v2-review-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);background:var(--sage-mist);border:1px solid var(--sage-2);border-radius:var(--pill);padding:.4rem .8rem;width:fit-content}
.v2-review-widget{border:1px dashed var(--sage-2);border-radius:var(--r);padding:2rem 1.5rem;background:var(--ivory-2);text-align:center;color:var(--muted);font-size:.95rem;line-height:1.55}
.v2-review-widget strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.35rem}

/* Three steps ---------------------------------------------------------------- */
.v2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1rem;counter-reset:v2s}
.v2-steps li{counter-increment:v2s;background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.v2-step-photo{aspect-ratio:16/10;overflow:hidden;background:var(--sage-mist)}
.v2-step-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.95)}
.v2-step-body{padding:1.25rem 1.3rem 1.4rem}
.v2-step-body::before{content:"0" counter(v2s);display:block;font-size:.78rem;font-weight:700;letter-spacing:.14em;color:var(--sage);margin-bottom:.6rem}
.v2-step-body h3{font-size:1.1rem;margin-bottom:.35rem}
.v2-step-body p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.52}

/* SKU cards ------------------------------------------------------------------ */
.v2-sku-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;align-items:stretch}
.v2-sku{background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);position:relative;transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.v2-sku:hover{box-shadow:var(--shadow);border-color:rgba(15,47,40,.12)}
.v2-sku.is-hero{border-color:rgba(15,47,40,.18);box-shadow:var(--shadow-lg)}
.v2-sku-media{aspect-ratio:4/3;background:var(--sage-mist);display:flex;align-items:center;justify-content:center;padding:1.25rem;position:relative;overflow:hidden}
.v2-sku-media.is-dark{background:var(--forest-deep) url("/img/v2/texture-evergreen-organic.png") center/cover no-repeat}
.v2-sku-media.is-cream{background:var(--ivory-2) url("/img/v2/texture-cream-organic.png") center/cover no-repeat}
.v2-sku-media img{max-height:100%;width:auto;max-width:72%;object-fit:contain;filter:drop-shadow(0 20px 28px rgba(0,0,0,.28))}
.v2-sku-media.is-photo{padding:0}
.v2-sku-media.is-photo img{width:100%;height:100%;max-width:none;object-fit:cover;filter:none}
.v2-sku-media .v2-soon{position:absolute;top:.8rem;left:.8rem}
.v2-sku-body{padding:1.35rem 1.4rem 1.45rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.v2-sku-body .eyebrow{margin-bottom:.1rem;font-size:.68rem}
.v2-sku-body .eyebrow::before{width:.9rem}
.v2-sku-body h3{font-size:1.35rem;margin:0;letter-spacing:-.02em}
.v2-sku-generic{margin:0;font-size:.9rem;color:var(--forest-mid);font-weight:500}
.v2-sku-body p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.52}
.v2-sku-opts{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:.25rem 0 0;padding:0}
.v2-sku-opts li{font-size:.8rem;font-weight:600;color:var(--text-2);background:var(--ivory-2);border:1px solid var(--line);border-radius:var(--pill);padding:.35rem .7rem}
.v2-sku-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:auto;padding-top:1rem}
.v2-sku-actions .btn{width:100%;min-height:48px;font-size:.93rem}
.v2-sku-note{margin:0;font-size:.8rem;color:var(--muted-2);line-height:1.45}

/* Coming soon / disabled CTA -------------------------------------------------- */
.btn.is-disabled,.btn[aria-disabled="true"]{background:var(--sage-soft);color:var(--muted);border-color:var(--sage-2);box-shadow:none;cursor:not-allowed;pointer-events:none}
.v2-notice{display:flex;gap:.9rem;align-items:flex-start;background:var(--sage-mist);border:1px solid rgba(15,47,40,.08);border-radius:var(--r);padding:1.2rem 1.3rem;font-size:.95rem;color:var(--text-2);line-height:1.55}
.v2-notice strong{color:var(--forest)}

/* Education cards (coming-soon categories) ----------------------------------- */
.v2-edu{display:grid;grid-template-columns:1fr;gap:1rem}
.v2-edu article{background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem}
.v2-edu h3{font-size:1.25rem;margin:0}
.v2-edu p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.v2-edu ul{margin:.25rem 0 0;padding-left:1.1rem;color:var(--text-2);font-size:.92rem;line-height:1.55}
.v2-edu .v2-soon{width:fit-content}

/* Section helpers -------------------------------------------------------------- */
.v2-section-head{display:flex;flex-direction:column;gap:.75rem;margin-bottom:clamp(1.75rem,4vw,2.5rem)}
.v2-section-head .section-head{margin-bottom:0}
.v2-section-head .btn{align-self:flex-start}
.v2-muted{color:var(--muted);font-size:.9rem;line-height:1.5}
.v2-sub{font-size:1.02rem;color:var(--text-2);max-width:60ch;line-height:1.6}

/* Tablet and up ------------------------------------------------------------- */
@media (min-width:721px){
  .v2-hero h1{font-size:clamp(2.6rem,1.2rem + 3.6vw,4.1rem)}
  .v2-hero .hero-cta .btn{width:auto}
  .v2-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v2-sku-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-edu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-trust-inner{flex-direction:row;align-items:center;gap:1.25rem;padding:1rem 1.4rem}
  .v2-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:280px 280px}
  .v2-bento.is-4 > :first-child{grid-row:auto}
  .v2-review-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v2-section-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1.5rem}
  .v2-sku-actions{flex-direction:row}
  .v2-sku-actions .btn{width:auto;flex:1}
}
@media (min-width:981px){
  .v2-hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem)}
  .v2-hero{padding-top:clamp(2.75rem,5.5vw,5rem)}
  .v2-hero-photo{aspect-ratio:4/5;max-height:min(640px,74vh);border-radius:var(--r-xl);box-shadow:var(--shadow-xl),var(--ring);margin-right:clamp(0px,2vw,1.25rem)}
  .v2-hero-photo.is-product{aspect-ratio:1/1}
  .v2-hero-tag{left:-1.25rem;bottom:1.75rem}
  .v2-cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v2-pillars{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v2-pillars li{grid-template-columns:1fr;gap:.9rem}
  .v2-bento{grid-template-columns:1.15fr .85fr;grid-template-rows:300px 300px}
  .v2-bento.is-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:320px 320px}
  .v2-scroller > *{flex-basis:300px}
  .v2-edu{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v2-edu.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-sku-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
