/* ============================================================
   RIOVIE — Founder Story  (rebuild v2)
   ============================================================ */
:root{
  --green:#41492f;        /* buttons (kept darker so they pop on footer) */
  --green-dark:#343b26;   /* hover */
  --footer-green:#5f6b3c; /* lighter olive-avocado footer */
  --green-head:#3a4a2f;   /* headlines */
  --green-700:#4a5638;    /* small icons / labels */
  --cream:#f3efe6;        /* page background */
  --hero-bg:#f7f1ec;      /* hero near-white wash */
  --card:#fbf9f4;         /* cards */
  --line:#e4dece;         /* hairlines */
  --clay:#b06a45;         /* terracotta accent */
  --clay-soft:#c0996f;
  --ink:#43473d;
  --ink-soft:#5f6356;
  --maxw:1180px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --script:"Dancing Script",cursive;
  --sign:"Sacramento",cursive;
  --sans:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);
  font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-weight:700;margin:0 0 12px;}
.italic{font-style:italic;}
.center{text-align:center;}

/* buttons — shorter */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;
  font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;
  padding:9px 19px;border-radius:3px;border:none;cursor:pointer;transition:background .2s,transform .2s;}
.btn:hover{background:var(--green-dark);transform:translateY(-1px);}
.btn .arr{font-size:13px;}
.btn--ghost{background:rgba(65,73,47,.62);}
.btn--ghost:hover{background:var(--green);}

/* ===================== NAV (single line) ===================== */
.nav{position:sticky;top:0;z-index:40;background:var(--cream);border-bottom:1px solid var(--line);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:58px;}
.nav__right{display:flex;align-items:center;gap:22px;}
.nav__cta{padding:8px 15px;font-size:10.5px;}
.brand__name{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.13em;color:var(--green-head);line-height:1;}
.brand__logo{height:40px;width:auto;display:block;}
.nav__links{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.nav__links a{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);
  font-weight:600;white-space:nowrap;padding:4px 0;border-bottom:1.5px solid transparent;}
.nav__links a:hover,.nav__links a.active{color:var(--green-head);border-bottom-color:var(--clay);}
.nav__burger{display:none;background:none;border:none;font-size:21px;color:var(--green-head);cursor:pointer;}

/* ===================== HERO (full-bleed overlay) ===================== */
.hero{position:relative;background-color:var(--hero-bg);background-image:url('../img/hero.jpg');
  background-image:-webkit-image-set(url('../img/hero.webp') type('image/webp'), url('../img/hero.jpg') type('image/jpeg'));
  background-image:image-set(url('../img/hero.webp') type('image/webp'), url('../img/hero.jpg') type('image/jpeg'));
  background-size:cover;background-position:center 30%;
  min-height:400px;display:flex;align-items:bottom;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to right,
    var(--hero-bg) 0%, var(--hero-bg) 22%,
    rgba(247,241,236,.85) 38%, rgba(247,241,236,.15) 56%, rgba(247,241,236,0) 70%);}
.hero__inner{position:relative;z-index:2;width:100%;}
.hero__text{max-width:540px;padding:40px 0;}
.hero h1{font-family:var(--serif);font-size:78px;line-height:1;font-weight:600;color:var(--green-head);
  margin:0 0 10px;white-space:nowrap;}
.hero__script{font-family:var(--script);font-size:26px;color:var(--clay);margin:0 0 16px;line-height:1.2;}
.hero__sub{font-family:var(--serif);font-size:21px;color:var(--green-head);font-style:italic;margin:0 0 16px;}
.hero h1 .hero__sub{display:block;white-space:normal;font-weight:400;line-height:1.4;margin:14px 0 0;}
.hero__sun{width:96px;opacity:.85;}

/* ===================== MY STORY ===================== */
.story{background:var(--card);padding:20px 0;}
.story__grid{display:grid;grid-template-columns:.74fr 2.2fr;gap:44px;align-items:stretch;}
.story__photo{border-radius:2px;overflow:hidden;}
.story__photo img{width:100%;height:100%;object-fit:cover;}
.story__float{display:none;}
.story h2{font-family:var(--serif);font-size:34px;color:var(--green-head);font-weight:600;margin:0 0 16px;}
.story__cols{column-count:3;column-gap:34px;font-size:13.5px;color:var(--ink-soft);line-height:1.68;}
.story__cols p{margin:0 0 13px;break-inside:avoid;}
.story__cols .connect-h{font-family:var(--serif);font-size:21px;color:var(--green-head);margin:6px 0 9px;font-weight:600;}
.story__cols .stack span{display:block;}
.story__cols .stack{margin:0 0 13px;}
.story__affirm{font-family:var(--serif);font-size:21px;color:var(--green-head);font-weight:600;line-height:1.4;break-inside:avoid;margin-top:8px;}

/* ===================== BELIEF PILLARS ===================== */
.beliefs{background:var(--cream);padding:25px 0;}
.beliefs__grid{display:grid;grid-template-columns:repeat(3,1fr);}
.belief{padding:0 40px;border-left:1px solid var(--line);text-align:center;}
.belief:first-child{border-left:none;}
.belief__icon{width:44px;height:44px;margin:0 auto 18px;}
.belief p{font-size:13.5px;color:var(--ink-soft);text-align:left;margin:0 0 13px;}
.belief .bold{font-weight:700;color:var(--ink);}
.belief__sign{font-family:var(--sign);font-size:42px;color:var(--clay);text-align:right;margin-top:6px;line-height:1;}
.sign-heart{display:inline-block;width:21px;height:21px;vertical-align:baseline;margin-left:4px;}
.belief__sun{width:88px;margin:15px auto 0;opacity:.8;}

/* ===================== METABOLIC SPOTLIGHT ===================== */
.spotlight{background:var(--cream);padding:8px 0 15px;}
.spot-card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:25px 25px;}
.spot__grid{display:grid;grid-template-columns:2.6fr 1.5fr 1.3fr;gap:26px;align-items:start;}
.spot__col h5,.spot__feature h5{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--green-700);font-weight:800;margin:14px 0 9px;}
.spot__feature{display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:stretch;}
.spot__feature .eyebrow{margin-bottom:8px;}
.spot__helix{border-radius:3px;overflow:hidden;}
.spot__helix img{width:100%;height:100%;object-fit:cover;display:block;min-height:280px;}
.spot__title{font-family:var(--serif);color:var(--green-head);font-weight:600;margin:0 0 12px;font-size:27px;line-height:1.12;}
.spot__title .ft{font-size:18px;}
.spot__feature p{font-size:12.5px;color:var(--ink-soft);margin:0 0 10px;}
.spot__col h4{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--green-700);font-weight:800;margin:0 0 12px;}
.spot__col p{font-size:12.5px;color:var(--ink-soft);margin:0 0 11px;}
.community-grid{display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:26px;align-items:center;}
.community-photo img{width:100%;height:100%;object-fit:cover;border-radius:3px;display:block;min-height:260px;}
.community-text h3{font-family:var(--serif);color:var(--green-head);font-weight:600;margin:0 0 12px;font-size:24px;}
.community-text p{font-size:13px;color:var(--ink-soft);margin:0 0 11px;line-height:1.55;}
.community-text .italic{color:var(--clay);font-size:15px;}
.community-bold{font-weight:700;color:var(--green-head)!important;}
.community-badge img{width:100%;height:auto;display:block;}
.spot__footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:26px;align-items:start;}
.spot__footer .cite-ref{font-size:10.5px;line-height:1.5;color:var(--clay);margin:0;}
.spot__footer .disclaimer-strip{font-size:10.5px;line-height:1.5;color:var(--ink-soft);margin:0;}
.checks{list-style:none;margin:0 0 16px;padding:0;}
.checks li{font-size:12.5px;color:var(--ink);padding:4px 0 4px 18px;position:relative;}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--clay);font-weight:700;}
.research-box{background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:14px;margin-bottom:25px;}
.research-box .rb-t{font-family:var(--serif);font-size:15px;color:var(--green-head);font-weight:600;margin:0;line-height:1.35;}
.link-line{font-size:11px;color:var(--clay);word-break:break-all;}
.link-line a{text-decoration:underline;}
.why-list{list-style:none;margin:0 0 12px;padding:0;}
.why-list li{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink);padding:5px 0;}
.why-list img{width:23px;height:23px;flex:0 0 23px;}
.why-helix{display:none;}
.spot__note{font-size:11px;color:var(--ink-soft);margin-top:12px;font-style:italic;}
.spot__disclaimer{font-size:10.5px;line-height:1.5;color:var(--ink-soft);margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);}

/* ===================== TWO-UP SPOTLIGHTS ===================== */
.duo{background:var(--cream);padding:4px 0 52px;}
.duo__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.duo-card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:26px 28px;display:flex;flex-direction:column;}
.duo-card__inner{display:grid;grid-template-columns:.7fr 1fr;gap:24px;align-items:stretch;}
.duo-card--rev .duo-card__inner{grid-template-columns:1fr .7fr;}
.duo-card__photo{border-radius:3px;overflow:hidden;min-height:300px;}
.duo-card__photo img{width:100%;height:100%;object-fit:cover;}
.duo-card h3{font-family:var(--serif);font-size:24px;color:var(--green-head);font-weight:600;margin:0 0 8px;}
.duo-card p{font-size:12.5px;color:var(--ink-soft);margin:0 0 12px;}
.duo-card h5{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--green-700);font-weight:800;margin:14px 0 9px;}
.practice-title{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--clay);font-weight:700;text-align:center;margin:18px 0 10px;}
.practice{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin:0 0 16px;}
.practice .cell{padding:14px 10px;text-align:center;border-left:1px solid var(--line);}
.practice .cell:first-child{border-left:none;}
.practice img{width:28px;height:28px;margin:0 auto 7px;}
.practice .big{font-family:var(--serif);font-size:18px;color:var(--green-head);font-weight:600;}
.practice .sm{font-size:10.5px;color:var(--ink-soft);line-height:1.35;}
.foot-note{font-size:11px;color:var(--ink-soft);margin-top:10px;}

/* ===================== SUNSET BAND (short, full-width) ===================== */
.band{position:relative;background-image:url('../img/sunset-band.jpg');background-image:-webkit-image-set(url('../img/sunset-band.webp') type('image/webp'), url('../img/sunset-band.jpg') type('image/jpeg'));background-image:image-set(url('../img/sunset-band.webp') type('image/webp'), url('../img/sunset-band.jpg') type('image/jpeg'));background-size:cover;background-position:center 60%;color:#fff;text-align:center;padding:22px 0 20px;}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(72,52,84,.06),rgba(58,40,66,.20));}
.band__in{position:relative;z-index:2;}
.band h2{font-family:var(--serif);font-size:38px;font-weight:600;margin:0;line-height:1.05;text-shadow:0 2px 16px rgba(35,24,40,.6),0 1px 3px rgba(35,24,40,.5);}
.band .script{font-family:var(--script);color:#fff;font-size:42px;display:block;margin:2px 0 9px;line-height:1;text-shadow:0 2px 16px rgba(35,24,40,.6),0 1px 3px rgba(35,24,40,.5);}
.band .btn{margin-bottom:0;}
.band .trust{display:flex;justify-content:center;gap:28px;margin-top:11px;}
.band .trust div{display:flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.05em;text-shadow:0 1px 6px rgba(35,24,40,.7);}
.band .trust img{width:20px;height:20px;filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(35,24,40,.6));opacity:.95;}

/* ===================== FOOTER ===================== */
.footer{background:var(--footer-green);color:#e7ead9;padding:50px 0 24px;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.3fr;gap:34px;}
.footer .brand__name{color:#fff;}
.footer__logo{height:78px;width:auto;margin-bottom:12px;}
.footer__tag{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#cdd4b8;margin-top:4px;}
.footer p{font-size:12.5px;color:#dde2cd;margin:14px 0 0;max-width:240px;}
.footer h6{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fff;font-weight:800;margin:0 0 14px;}
.footer ul{list-style:none;margin:0;padding:0;}
.footer ul li{margin:0 0 8px;font-size:12.5px;color:#dde2cd;}
.footer ul a:hover{color:#fff;}
.footer .disc{font-size:11.5px;color:#cdd4b8;line-height:1.55;}
.footer .social{display:flex;gap:12px;margin-top:20px;}
.footer .social a{width:34px;height:34px;border:1px solid #93a06d;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.footer .social a img{width:17px;height:17px;}
.footer .social a:hover{background:#93a06d;}
.footer__bottom{text-align:center;border-top:1px solid #74804f;margin-top:36px;padding-top:18px;font-size:11px;color:#b9c19c;}

/* ===================== RESPONSIVE ===================== */
@media(max-width:980px){
  .nav__links{display:none;}
  .nav__burger{display:block;}
  .hero{min-height:440px;background-position:center;}
  .hero::before{background:linear-gradient(to right,var(--hero-bg) 0%,rgba(247,241,236,.9) 45%,rgba(247,241,236,.3) 75%,rgba(247,241,236,0) 100%);}
  .hero h1{font-size:56px;}
  .story__grid{grid-template-columns:1fr;}
  .story__photo img{min-height:300px;}
  .story__cols{column-count:1;}
  .beliefs__grid{grid-template-columns:1fr;gap:30px;}
  .belief{border-left:none;border-top:1px solid var(--line);padding:26px 0 0;}
  .belief:first-child{border-top:none;}
  .spot__grid{grid-template-columns:1fr;}
  .spot__footer{grid-template-columns:1fr;gap:12px;}
  .community-grid{grid-template-columns:1fr;}
  .community-photo img{min-height:220px;}
  .community-badge{width:160px;margin:6px auto 0;}
  .duo__grid{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .hero{background-image:url('../img/hero-sm.jpg');background-image:-webkit-image-set(url('../img/hero-sm.webp') type('image/webp'), url('../img/hero-sm.jpg') type('image/jpeg'));background-image:image-set(url('../img/hero-sm.webp') type('image/webp'), url('../img/hero-sm.jpg') type('image/jpeg'));min-height:625px;align-items:flex-end;}
  .hero::before{background:linear-gradient(to bottom,
    rgba(247,241,236,0) 0%, rgba(247,241,236,0) 50%,
    rgba(247,241,236,.5) 60%, rgba(247,241,236,.92) 72%,
    var(--hero-bg) 82%, var(--hero-bg) 100%);}
  .hero__text{padding:0 0 34px;}
  .hero h1{text-shadow:0 1px 14px rgba(247,241,236,.95), 0 0 4px rgba(247,241,236,.85);}
  .hero__script{text-shadow:0 1px 12px rgba(247,241,236,.95);}
  .hero__sub{text-shadow:0 1px 10px rgba(247,241,236,.9);}
  .hero__sun{display:none;}
  .story__photo{display:none;}
  .story__float{display:block;float:right;width:47%;max-width:230px;
    aspect-ratio:4/5;object-fit:cover;object-position:center bottom;
    border-radius:3px;margin:2px 0 14px 18px;}
  .story__affirm{clear:both;}
  .spot__feature{grid-template-columns:1fr;}
  .spot__helix{display:none;}
  .why-helix{display:block;float:right;width:72px;height:auto;border-radius:3px;margin:0 0 8px 14px;}
  .band{background-image:url('../img/sunset-band-sm.jpg');background-image:-webkit-image-set(url('../img/sunset-band-sm.webp') type('image/webp'), url('../img/sunset-band-sm.jpg') type('image/jpeg'));background-image:image-set(url('../img/sunset-band-sm.webp') type('image/webp'), url('../img/sunset-band-sm.jpg') type('image/jpeg'));}
}
@media(max-width:560px){
  .hero h1{font-size:44px;white-space:normal;}
  .nav__cta{display:none;}
  .band h2{font-size:30px;}
  .band .trust{flex-direction:column;gap:12px;align-items:center;}
  .footer__grid{grid-template-columns:1fr;}
  .duo-card__inner,.duo-card--rev .duo-card__inner{grid-template-columns:1fr;}
  .duo-card__photo{min-height:240px;}
  .spot__feature{grid-template-columns:1fr;}
}

/* ===================== FROM THE LIBRARY (teaser + hub cards) ===================== */
.library{background:var(--card);padding:30px 0 34px;border-top:1px solid var(--line);}
.library__head{text-align:center;max-width:620px;margin:0 auto 24px;}
.library__head h2{font-family:var(--serif);font-size:32px;color:var(--green-head);font-weight:600;margin:0 0 8px;}
.library__head p{font-size:13.5px;color:var(--ink-soft);margin:0;}
.lib__quote{max-width:660px;margin:0 auto 26px;text-align:center;}
.lib__quote p{font-family:var(--serif);font-style:italic;font-size:23px;line-height:1.4;color:var(--green-head);margin:0;}
.lib__quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);margin-top:8px;}
.lib__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.lib__card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:5px;
  padding:22px 22px 20px;transition:transform .15s,box-shadow .15s;}
a.lib__card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(60,55,40,.09);}
.lib__cat{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:700;margin:0 0 8px;}
.lib__card h3{font-family:var(--serif);font-size:20px;color:var(--green-head);font-weight:600;margin:0 0 8px;line-height:1.22;}
.lib__card p{font-size:12.5px;color:var(--ink-soft);margin:0 0 16px;line-height:1.55;flex:1;}
.lib__more{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);font-weight:700;}
.lib__more .arr{font-size:13px;}
.lib__card--soon{opacity:.62;}
.lib__card--soon .lib__more{color:var(--ink-soft);}
.library__cta{text-align:center;margin-top:26px;}
@media(max-width:760px){ .lib__grid{grid-template-columns:1fr;} }
