/* YOUR.Life ,  Supplement Stacks page styles */

/* GeneratePress full-width override */
.page-template-supplement-stacks .site-content,
.page-template-supplement-stacks .content-area,
.page-template-supplement-stacks .inside-article,
.page-template-supplement-stacks .entry-content,
.page-template-supplement-stacks .page-content { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; }

/* Force full-width, no-sidebar layout on this page (prevents the empty desktop sidebar gutter) */
.page-template-supplement-stacks #content,
.page-template-supplement-stacks .site-content { display: block !important; }
.page-template-supplement-stacks #primary,
.page-template-supplement-stacks .content-area { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; }
.page-template-supplement-stacks #right-sidebar,
.page-template-supplement-stacks #left-sidebar,
.page-template-supplement-stacks .widget-area,
.page-template-supplement-stacks .sidebar { display: none !important; }

/* #omega-supplement-stacks content corrections (beat GP class-scoped defaults) */
#omega-supplement-stacks h1, #omega-supplement-stacks h2, #omega-supplement-stacks h3, #omega-supplement-stacks h4 { font-family: var(--serif); font-weight: 400; }
#omega-supplement-stacks em, #omega-supplement-stacks i, #omega-supplement-stacks blockquote, #omega-supplement-stacks .eyebrow { font-style: normal; }
#omega-supplement-stacks a, #omega-supplement-stacks a:hover { text-decoration: none; }

:root {
      --navy:#1F3A4D; --cream:#F5EFE6; --sand:#E0D3BD; --brass:#8B6E55; --mist:#C9D4DC;
      --body-text:rgba(31,58,77,0.76);
      --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',-apple-system,sans-serif;
    }
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { background:var(--cream); font-family:var(--sans); color:var(--navy); overflow-x:hidden; -webkit-font-smoothing:antialiased; }

.band-cream { background:var(--cream); }
.band-sand { background:var(--sand); }
.band-navy { background:var(--navy); }
.section-pad { padding:56px 24px; }

.eyebrow { display:block; font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-bottom:14px; }
.eyebrow--on-dark { color:var(--brass); }
h1.page-headline { font-family:var(--serif); font-weight:400; font-size:38px; color:var(--cream); line-height:1.1; letter-spacing:-.015em; margin-bottom:16px; }
h2.headline { font-family:var(--serif); font-weight:400; font-size:30px; color:var(--navy); line-height:1.18; margin-bottom:14px; }
.body-copy { font-size:15px; color:var(--body-text); line-height:1.85; margin-bottom:16px; }

/* HERO (theme offsets content below the fixed nav, so no padding-top here) */
.page-hero { padding-top:0; background:var(--navy); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 78% 25%, rgba(201,212,220,.06) 0%, transparent 60%), radial-gradient(ellipse 50% 50% at 10% 90%, rgba(139,110,85,.05) 0%, transparent 55%); pointer-events:none; }
.page-hero-inner { padding:56px 24px 56px; position:relative; z-index:2; max-width:880px; }
.hero-sub { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(224,211,189,.92); margin-bottom:26px; }
.hero-thesis { font-family:var(--serif); font-size:22px; color:rgba(245,239,230,.9); line-height:1.4; margin:24px 0; padding-left:20px; border-left:1.5px solid var(--brass); }
.hero-lead { font-size:15px; color:rgba(245,239,230,.62); line-height:1.8; margin-bottom:18px; }
.btn-hero { display:inline-block; font-family:var(--sans); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); border:.5px solid rgba(245,239,230,.34); padding:16px 28px; text-decoration:none; transition:border-color .3s,color .3s; min-height:48px; margin-top:14px; }
.btn-hero:hover { border-color:var(--brass); color:var(--brass); }

/* HERO image slot (right side on desktop) */
.hero-grid { display:block; }
.hero-media { margin-top:36px; }
.img-ph { background:linear-gradient(160deg, rgba(201,212,220,.16) 0%, rgba(31,58,77,0) 55%, rgba(139,110,85,.16) 100%); border:.5px dashed rgba(245,239,230,.22); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px 24px; position:relative; width:100%; aspect-ratio:4/3; border-radius:3px; }
.img-ph::before { content:''; position:absolute; inset:8px; border:.5px dashed rgba(245,239,230,.13); }
.img-ph-tag { font-size:8.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(224,211,189,.92); margin-bottom:8px; }
.img-ph-title { font-family:var(--serif); font-size:14px; color:rgba(245,239,230,.66); line-height:1.45; max-width:240px; margin-bottom:6px; }
.img-ph-note { font-size:10.5px; color:rgba(245,239,230,.42); line-height:1.55; max-width:250px; }
.img-ph-dims { margin-top:14px; display:inline-block; font-size:9px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:rgba(224,211,189,.92); border:.5px solid rgba(245,239,230,.32); border-radius:40px; padding:6px 13px; }
.img-ph-dims-note { margin-top:7px; font-size:9px; letter-spacing:.05em; color:rgba(245,239,230,.32); }
#omega-supplement-stacks .hero-img { width:100%; height:auto; display:block; border-radius:3px; }

/* JUMP NAV (sticky under the fixed header) */
.jump-nav { position:sticky; top:60px; z-index:50; background:rgba(245,239,230,.94); backdrop-filter:blur(8px); border-bottom:.5px solid rgba(31,58,77,.12); display:flex; gap:6px; overflow-x:auto; padding:12px 18px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.jump-nav::-webkit-scrollbar { display:none; }
.jump-nav a { flex:0 0 auto; font-family:var(--sans); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); text-decoration:none; padding:8px 14px; border:.5px solid rgba(31,58,77,.18); border-radius:40px; white-space:nowrap; transition:all .25s; }
.jump-nav a:hover { border-color:var(--brass); color:var(--brass); }

/* CATEGORY HEADER */
.cat-header { max-width:760px; margin-bottom:40px; }
.cat-intro { font-family:var(--serif); font-size:17px; color:rgba(31,58,77,.66); line-height:1.6; }
.band-sand .cat-intro { color:rgba(31,58,77,.74); }

/* STACK STREAM + CARD */
.stack-stream { display:flex; flex-direction:column; gap:24px; }
.stack-card { background:#FBF7F0; border:.5px solid rgba(31,58,77,.1); border-radius:6px; padding:30px 24px; box-shadow:0 18px 44px rgba(31,58,77,.07); position:relative; overflow:hidden; }
.stack-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--brass); opacity:.55; }
.stack-eyebrow { font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; }
.stack-name { font-family:var(--serif); font-weight:500; font-size:27px; color:var(--navy); line-height:1.12; margin-bottom:8px; }
.stack-tagline { font-family:var(--serif); font-size:16px; color:rgba(31,58,77,.6); line-height:1.45; margin-bottom:22px; }

.foundations { background:rgba(139,110,85,.07); border-radius:4px; padding:16px 18px; margin-bottom:26px; }
.foundations-label { font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--brass); margin-bottom:8px; }
.foundations-text { font-size:13px; color:rgba(31,58,77,.66); line-height:1.62; }

.product-list { display:flex; flex-direction:column; }
.product { display:grid; grid-template-columns:38px 1fr; gap:14px; padding:20px 0; border-top:.5px solid rgba(31,58,77,.12); }
.product:first-child { border-top:0; padding-top:0; }
.product-num { font-family:var(--serif); font-size:22px; color:rgba(139,110,85,.5); line-height:1.1; }
.product-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin-bottom:10px; }
.product-name { font-family:var(--serif); font-size:18px; font-weight:500; color:var(--navy); }
.product-brand { font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(31,58,77,.4); }
.product-use { display:inline-block; font-size:11.5px; color:rgba(31,58,77,.72); background:rgba(31,58,77,.04); border:.5px solid rgba(31,58,77,.14); border-radius:40px; padding:6px 13px; margin-bottom:12px; line-height:1.35; }
.use-label { font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); margin-right:4px; }
.product-desc { font-size:14px; color:rgba(31,58,77,.7); line-height:1.72; }

.stack-foot { margin-top:24px; padding-top:20px; border-top:.5px solid rgba(31,58,77,.12); }
.stack-note { font-size:13.5px; color:rgba(31,58,77,.6); line-height:1.65; }
.inline-link { color:var(--navy); border-bottom:.5px solid var(--brass); text-decoration:none; cursor:pointer; }
.inline-link:hover { color:var(--brass); }
.btn-fullscript { display:inline-block; margin-top:18px; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--navy); border:.5px solid rgba(31,58,77,.4); padding:14px 24px; text-decoration:none; transition:all .3s; min-height:46px; }
.btn-fullscript:hover { border-color:var(--brass); color:var(--brass); background:rgba(139,110,85,.05); }

/* CTA */
.cta-section { background:var(--navy); padding:64px 24px; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 10%, rgba(201,212,220,.06) 0%, transparent 60%); pointer-events:none; }
.cta-inner { position:relative; z-index:2; max-width:640px; margin:0 auto; }
.cta-statement { font-family:var(--serif); font-size:24px; color:var(--cream); line-height:1.4; margin-bottom:16px; }
.cta-body { font-size:14px; color:rgba(245,239,230,.6); line-height:1.7; margin-bottom:30px; }
.cta-row { display:flex; flex-direction:column; gap:14px; align-items:center; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:.07s; }
.reveal-d2 { transition-delay:.14s; }

/* ════════ TABLET ≥ 768px ════════ */
@media (min-width:768px) {
  .jump-nav { top:76px; justify-content:center; padding:14px 48px; }
  .section-pad { padding:88px 48px; }
  h1.page-headline { font-size:clamp(44px,5vw,60px); }
  h2.headline { font-size:clamp(30px,3.2vw,40px); }
  .page-hero-inner { max-width:1260px; margin:0 auto; padding:72px 48px 72px; }
  .hero-grid { display:grid; grid-template-columns:6fr 5fr; gap:44px; align-items:center; }
  .hero-media { margin-top:0; }
  .hero-thesis { font-size:26px; }
  .hero-lead { font-size:16px; max-width:620px; }
  .stack-stream { gap:28px; }
  .stack-card { padding:48px 52px; }
  .stack-name { font-size:32px; }
  .product { grid-template-columns:52px 1fr; gap:22px; padding:26px 0; }
  .product-num { font-size:26px; }
  .product-name { font-size:20px; }
  .product-desc { font-size:14.5px; }
  .foundations { padding:20px 24px; }
  .cta-section { padding:104px 48px; }
  .cta-statement { font-size:30px; }
  .cta-row { flex-direction:row; justify-content:center; }
}

/* ════════ DESKTOP ≥ 1024px ════════ */
@media (min-width:1024px) {
  .section-pad { padding:104px 64px; }
  .hero-grid { gap:72px; }
  .stack-stream { max-width:1120px; margin-left:auto; margin-right:auto; gap:32px; }
  .cat-header { max-width:1120px; margin-left:auto; margin-right:auto; }
  .cat-intro { max-width:680px; }
  .stack-card { display:grid; grid-template-columns:340px 1fr; column-gap:56px; grid-template-rows:auto 1fr; grid-template-areas:"head prod" "foot prod"; align-items:start; padding:52px 56px; }
  .stack-head { grid-area:head; }
  .product-list { grid-area:prod; }
  .stack-foot { grid-area:foot; align-self:end; margin-top:36px; padding-top:24px; }
  .foundations { margin-bottom:0; }
  .cta-section { padding:112px 64px; }
}
