/* =========================================================
   WELLNESS HOUSE / WELLNESS GOURMET — SHARED STYLESHEET
   Palette: navy (trust, health, honesty) + gold (victory, warmth)
   Motifs: laurel wreath (perseverance/victory), rising data-path
           (research), droplet (sweetness)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500;1,9..144,600&family=Allura&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --navy-900:#0e1c3a;
  --navy-800:#152a52;
  --navy-700:#1c3e7a;
  --navy-600:#28519a;
  --navy-500:#3a67ba;

  --gold-700:#a97a1c;
  --gold-600:#c8962a;
  --gold-500:#d9a73b;
  --gold-400:#e6bd5c;
  --gold-300:#f0cd79;
  --gold-100:#faf1dc;

  --cream:#fbf7ee;
  --paper:#ffffff;
  --ink-900:#1c2230;
  --ink-600:#4c5468;
  --ink-400:#7c8398;

  --border:#e7ddc8;

  --max:1180px;
  --radius:6px;
  --shadow-soft:0 20px 50px -25px rgba(14,28,58,0.35);
  --shadow-card:0 12px 30px -18px rgba(14,28,58,0.28);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink-900);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{
  font-family:'Fraunces',Georgia,serif;
  color:var(--navy-800);
  margin:0 0 .5em;
  font-weight:600;
  letter-spacing:-0.01em;
}
p{margin:0 0 1.15em;}
.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 32px;
}
@media(max-width:640px){
  .container{padding:0 20px;}
  body{font-size:16px;}
}

@media(max-width:480px){
  .nav{padding:12px 18px;flex-wrap:wrap;gap:10px;}
  .brand img{height:32px;}
  .brand-word{font-size:1rem;}
  .brand-word small{font-size:.55rem;}
  .nav-links a{padding:7px 12px;font-size:.85rem;}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ---------- reveal-on-scroll ---------- */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ============ HEADER / NAV ============ */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(14,28,58,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(217,167,59,0.25);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 32px;
  max-width:var(--max);
  margin:0 auto;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--gold-100);
}
.brand img{height:40px;width:auto;}
.brand-word{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:1.28rem;
  letter-spacing:.02em;
  color:#fff;
  line-height:1;
}
.brand-word small{
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:.6rem;
  letter-spacing:.22em;
  color:var(--gold-400);
  margin-top:3px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-links a{
  display:inline-block;
  text-decoration:none;
  color:#eef1f8;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.02em;
  padding:9px 16px;
  border-radius:999px;
  transition:background .25s ease, color .25s ease;
}
.nav-links a:hover{background:rgba(217,167,59,0.18);color:var(--gold-300);}
.nav-links a.active{background:var(--gold-500);color:var(--navy-900);font-weight:600;}

/* ============ EYEBROW / LABELS ============ */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold-700);
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:26px;
  height:2px;
  background:var(--gold-500);
  display:inline-block;
}

/* ============ LAUREL DIVIDER ============ */
.laurel-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 auto 3rem;
  width:min(560px,100%);
}
.laurel-divider svg{height:34px;width:auto;flex-shrink:0;}
.laurel-divider .center-dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--gold-500);
  box-shadow:0 0 0 5px var(--gold-100);
  flex-shrink:0;
}
.laurel-divider .flip{transform:scaleX(-1);}

/* ============ HERO (shared bg treatment) ============ */
.hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-800) 62%,var(--navy-700) 100%);
  color:#fff;
  overflow:hidden;
  padding:96px 0 130px;
}
.hero::before{
  /* rising dot-path motif, echoing the logo's data curve */
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(217,167,59,0.14), transparent 40%),
    radial-gradient(circle at 88% 82%, rgba(217,167,59,0.10), transparent 45%);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:2;
  max-width:var(--max);
  margin:0 auto;
  padding:0 32px;
  text-align:center;
}
.hero .logo-mark{
  width:112px;
  height:auto;
  margin:0 auto 28px;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,0.35));
}
.hero-path-svg{
  position:absolute;
  left:0;right:0;bottom:78px;
  width:100%;
  height:90px;
  z-index:1;
  opacity:.55;
  pointer-events:none;
}

.curve-divider{
  display:block;
  width:100%;
  line-height:0;
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:1;
}
.curve-divider svg{width:100%;height:70px;display:block;}

/* ============ SECTIONS ============ */
.section{
  padding:96px 0;
}
.section.alt{background:var(--paper);}
.section-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 56px;
}
.section-head h2{
  font-size:clamp(1.8rem,3.2vw,2.5rem);
}
.section-head .lede{
  color:var(--ink-600);
  font-size:1.05rem;
}

/* Drop cap */
.drop p.lede-text::first-letter{
  font-family:'Fraunces',serif;
  font-size:3.4em;
  font-weight:600;
  float:left;
  line-height:.82;
  padding:.04em .07em 0 0;
  color:var(--gold-600);
}

/* two-column prose */
.prose-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
@media(max-width:800px){
  .prose-cols{grid-template-columns:1fr;gap:0;}
}
.prose-cols p{color:var(--ink-600);}

/* Pull-quote / stat callouts */
.stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin:52px 0 0;
}
@media(max-width:760px){
  .stat-row{grid-template-columns:1fr;}
}
.stat-card{
  border:1px solid var(--border);
  background:var(--paper);
  border-radius:var(--radius);
  padding:30px 26px;
  text-align:center;
}
.stat-card .num{
  font-family:'Fraunces',serif;
  font-size:2.6rem;
  color:var(--navy-700);
  font-weight:600;
  line-height:1;
  margin-bottom:8px;
}
.stat-card .num .unit{
  font-size:1.1rem;
  color:var(--gold-600);
  font-weight:600;
}
.stat-card .cap{
  font-size:.86rem;
  color:var(--ink-600);
  letter-spacing:.02em;
}

/* Belief / tenet blocks */
.tenets-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--paper);
}
@media(max-width:800px){
  .tenets-grid{grid-template-columns:1fr;}
}
.tenet{
  padding:44px 40px;
  position:relative;
}
.tenet + .tenet{border-left:1px solid var(--border);}
@media(max-width:800px){
  .tenet + .tenet{border-left:none;border-top:1px solid var(--border);}
}
.tenet .quote-mark{
  font-family:'Fraunces',serif;
  font-size:3.6rem;
  color:var(--gold-300);
  line-height:.5;
  display:block;
  margin-bottom:14px;
}
.tenet h3{
  font-size:1.15rem;
  margin-bottom:.6em;
  color:var(--navy-700);
}
.tenet p{color:var(--ink-600); font-size:.98rem;}

/* Solid banner CTA linking pages */
.cross-link{
  background:var(--navy-800);
  color:#fff;
  border-radius:var(--radius);
  padding:52px 44px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cross-link h3{
  color:#fff;
  font-size:clamp(1.4rem,2.6vw,1.9rem);
  margin-bottom:.4em;
}
.cross-link p{color:rgba(255,255,255,0.75);max-width:520px;margin:0 auto 24px;}
.btn-gold{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--gold-500);
  color:var(--navy-900);
  font-weight:700;
  text-decoration:none;
  padding:13px 28px;
  border-radius:999px;
  font-size:.95rem;
  letter-spacing:.01em;
  transition:transform .25s ease, background .25s ease;
}
.btn-gold:hover{background:var(--gold-400);transform:translateY(-2px);}

/* ============ FOOTER ============ */
.site-footer{
  background:var(--navy-900);
  color:rgba(255,255,255,0.65);
  padding:56px 0 30px;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:32px;
  padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer-brand{display:flex;align-items:center;gap:12px;}
.footer-brand img{height:34px;}
.footer-brand span{
  font-family:'Fraunces',serif;
  color:#fff;
  font-size:1.05rem;
  font-weight:600;
}
.footer-tag{
  font-size:.88rem;
  color:var(--gold-300);
  letter-spacing:.06em;
  margin-top:4px;
}
.footer-nav{display:flex;gap:26px;list-style:none;padding:0;margin:0;}
.footer-nav a{text-decoration:none;color:rgba(255,255,255,0.75);font-size:.92rem;}
.footer-nav a:hover{color:var(--gold-400);}
.footer-bottom{
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:.78rem;
  color:rgba(255,255,255,0.4);
}

/* ============ ABOUT PAGE — FLOWY HEADLINE ============ */
.about-hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-800) 65%,var(--navy-700) 100%);
  color:#fff;
  padding:110px 0 140px;
  overflow:hidden;
  text-align:center;
}
.about-hero .flowy-title{
  position:relative;
  z-index:2;
  margin:0 auto 34px;
  max-width:900px;
}
.flowy-title .line1{
  display:block;
  font-family:'Allura',cursive;
  font-weight:400;
  font-size:clamp(2.6rem,7vw,5.2rem);
  color:var(--gold-300);
  line-height:1;
  transform:rotate(-2deg) translateX(-3%);
}
.flowy-title .line2{
  display:block;
  font-family:'Allura',cursive;
  font-weight:400;
  font-size:clamp(2.6rem,7vw,5.2rem);
  color:#fff;
  line-height:1;
  margin-top:.1em;
  transform:rotate(-1.2deg) translateX(6%);
}
.about-hero .intro{
  position:relative;
  z-index:2;
  max-width:660px;
  margin:0 auto;
  color:rgba(255,255,255,0.85);
  font-size:1.06rem;
}
.about-hero .intro p:last-child{margin-bottom:0;}

/* ============ FOUNDERS ============ */
.founders{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
}
@media(max-width:940px){
  .founders{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
}
.founder-card{
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  display:flex;
  flex-direction:column;
}
.founder-photo-wrap{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--navy-800);
}
.founder-photo-wrap img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:top center;
}
.founder-photo-wrap::after{
  content:"";
  position:absolute;inset:0;
  box-shadow:inset 0 -50px 50px -30px rgba(14,28,58,0.55);
  pointer-events:none;
}
.founder-body{padding:26px 26px 30px;}
.founder-body h3{
  font-size:1.28rem;
  margin-bottom:.15em;
  color:var(--navy-800);
}
.founder-role{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold-600);
  margin-bottom:14px;
}
.founder-linkedin{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.82rem;
  font-weight:600;
  color:var(--navy-600);
  text-decoration:none;
  border-bottom:1px solid var(--navy-500);
  padding-bottom:1px;
  margin-bottom:16px;
}
.founder-linkedin:hover{color:var(--gold-600);border-color:var(--gold-600);}
.founder-body p{
  font-size:.94rem;
  color:var(--ink-600);
  margin-bottom:1em;
}
.founder-body p:last-child{margin-bottom:0;}
.founder-role-desc{
  font-style:italic;
  color:var(--ink-900) !important;
  border-top:1px dashed var(--border);
  padding-top:14px;
  margin-top:6px !important;
}

/* ============ "IN IT FOR LIFE" FLOATING SIGNATURE ============ */
.forever-wrap{
  position:relative;
  padding:120px 0 90px;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(217,167,59,0.08), transparent 60%),
    var(--cream);
}
.forever-wrap .laurel-divider{margin-bottom:2.4rem;}
.forever-text{
  font-family:'Allura',cursive;
  font-weight:400;
  font-size:clamp(3.4rem,11vw,8.5rem);
  line-height:1;
  color:var(--navy-700);
  opacity:0.14;
  white-space:nowrap;
  user-select:none;
  transform:rotate(-2deg);
}
.forever-caption{
  position:relative;
  margin-top:.6rem;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:500;
  font-size:1.05rem;
  color:var(--navy-700);
  letter-spacing:.04em;
}
@media(max-width:640px){
  .forever-text{font-size:clamp(2.6rem,15vw,5rem);}
  .forever-caption{margin-top:.4rem;}
}

