/* ============================================================
   TJBW SITE — SHARED STYLES
   thejourneybeginswithin.com
   ============================================================ */

/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap');

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:var(--sans)}

/* ── TOKENS ── */
:root{
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --max:1140px;
  --nav-h:64px;

  /* TJBW / Cosmic indigo */
  --tjbw-bg:#0D1220;
  --tjbw-bg2:#111928;
  --tjbw-bg3:#182038;
  --tjbw-text:#E8EEF7;
  --tjbw-t2:rgba(232,238,247,0.62);
  --tjbw-t3:rgba(232,238,247,0.32);
  --tjbw-gold:#C4A05A;
  --tjbw-gold-l:#DEC07A;
  --tjbw-blue:#7B9FC4;
  --tjbw-border:rgba(232,238,247,0.07);
  --tjbw-border-gold:rgba(196,160,90,0.28);
  --tjbw-overlay:rgba(13,18,32,0.68);

  /* AWP / Forest green */
  --awp-bg:#091410;
  --awp-bg2:#0C1C0E;
  --awp-bg3:#162E18;
  --awp-text:#E4F0E4;
  --awp-t2:rgba(228,240,228,0.62);
  --awp-t3:rgba(228,240,228,0.32);
  --awp-green:#5A9A5A;
  --awp-green-l:#80BA80;
  --awp-border:rgba(228,240,228,0.07);
  --awp-border-green:rgba(90,154,90,0.3);
  --awp-overlay:rgba(9,20,16,0.7);

  /* Health / Warm amber */
  --hp-bg:#FBF0DC;
  --hp-bg2:#F4E4C0;
  --hp-bg3:#EDD8A8;
  --hp-text:#1C0E08;
  --hp-t2:#5C3A20;
  --hp-t3:#9C7A5A;
  --hp-green:#5A8A50;
  --hp-amber:#C4870A;
  --hp-border:rgba(28,14,8,0.1);
  --hp-border-amber:rgba(196,135,10,0.3);
  --hp-border-green:rgba(90,138,80,0.3);
  --hp-overlay:rgba(251,240,220,0.4);
}

/* ── HERO BACKGROUND SYSTEM ── */
.hero{position:relative;overflow:hidden;display:flex;align-items:center}

/* WebP / video background */
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg-img{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  min-width:100%;min-height:100%;
  width:auto;height:auto;
  object-fit:cover;
}
/* Dark overlay sits above bg image */
.hero-overlay{position:absolute;inset:0;z-index:1}

/* CSS animated fallback — always present as base layer */
.hero-bg-css{position:absolute;inset:0;z-index:0}

/* Content always above everything */
.hero-content{position:relative;z-index:2;width:100%}

/* ── NAV (dark variant — TJBW + AWP) ── */
.nav-dark{
  position:sticky;top:0;z-index:100;
  height:var(--nav-h);
  background:rgba(13,18,32,0.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,238,247,0.07);
  padding:0 2rem;
}
.nav-light{
  position:sticky;top:0;z-index:100;
  height:var(--nav-h);
  background:rgba(251,240,220,0.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(28,14,8,0.1);
  padding:0 2rem;
}
.nav-inner{
  max-width:var(--max);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:100%;
}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo-img{width:34px;height:34px;object-fit:contain;flex-shrink:0}
.nav-wordmark-dark{font-family:var(--serif);font-size:16px;font-weight:400;letter-spacing:0.04em;color:#E8EEF7}
.nav-wordmark-light{font-family:var(--serif);font-size:16px;font-weight:400;letter-spacing:0.04em;color:#1C0E08}
.nav-links-dark{display:flex;align-items:center;gap:1.75rem}
.nav-links-light{display:flex;align-items:center;gap:1.75rem}
.nav-link-dark{font-size:13px;color:rgba(232,238,247,0.55);letter-spacing:0.02em;transition:color .2s}
.nav-link-dark:hover{color:#E8EEF7}
.nav-link-light{font-size:13px;color:rgba(28,14,8,0.55);letter-spacing:0.02em;transition:color .2s}
.nav-link-light:hover{color:#1C0E08}
.nav-cta-dark{font-size:12px;font-weight:500;color:var(--tjbw-gold);border:1px solid var(--tjbw-border-gold);border-radius:99px;padding:7px 18px;letter-spacing:0.04em;transition:all .2s}
.nav-cta-dark:hover{background:rgba(196,160,90,0.12);color:var(--tjbw-gold-l)}
.nav-cta-light{font-size:12px;font-weight:500;color:var(--hp-green);border:1px solid var(--hp-border-green);border-radius:99px;padding:7px 18px;letter-spacing:0.04em;transition:all .2s}
.nav-cta-light:hover{background:rgba(90,138,80,0.1)}

/* Dropdown */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{font-size:13px;color:rgba(232,238,247,0.55);cursor:pointer;display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;letter-spacing:0.02em}
.nav-dropdown-toggle:hover{color:#E8EEF7}
.nav-dropdown-toggle::after{content:'↓';font-size:10px;opacity:0.5}
.nav-dropdown-menu{
  display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  background:var(--tjbw-bg2);border:1px solid var(--tjbw-border);border-radius:8px;
  padding:.5rem;min-width:200px;box-shadow:0 8px 24px rgba(0,0,0,0.4);
}
.nav-dropdown:hover .nav-dropdown-menu{display:block}
.nav-dropdown-item{display:block;padding:.5rem .75rem;font-size:12px;color:var(--tjbw-t2);border-radius:5px;transition:all .2s}
.nav-dropdown-item:hover{background:rgba(232,238,247,0.06);color:var(--tjbw-text)}
.nav-dropdown-item .item-sub{font-size:10px;color:var(--tjbw-t3);margin-top:1px}

.nav-hamburger{display:none;background:none;border:none;font-size:22px;color:var(--tjbw-t2);padding:4px}

/* ── BUTTONS ── */
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:var(--tjbw-gold);color:#0D1220;font-family:var(--sans);font-size:14px;font-weight:500;padding:14px 28px;border-radius:4px;border:none;letter-spacing:0.02em;transition:background .2s;text-decoration:none}
.btn-gold:hover{background:var(--tjbw-gold-l)}
.btn-gold-sm{display:inline-flex;align-items:center;gap:6px;background:var(--tjbw-gold);color:#0D1220;font-family:var(--sans);font-size:12px;font-weight:500;padding:10px 20px;border-radius:4px;border:none;letter-spacing:0.02em;transition:background .2s}
.btn-gold-sm:hover{background:var(--tjbw-gold-l)}
.btn-outline-gold{font-size:12px;font-weight:500;padding:10px 20px;border-radius:4px;border:1px solid var(--tjbw-border-gold);color:var(--tjbw-gold);background:transparent;letter-spacing:0.02em;transition:all .2s}
.btn-outline-gold:hover{background:rgba(196,160,90,0.1)}

.btn-green{display:inline-flex;align-items:center;gap:8px;background:var(--awp-green);color:#fff;font-family:var(--sans);font-size:14px;font-weight:500;padding:14px 28px;border-radius:4px;border:none;letter-spacing:0.02em;transition:background .2s}
.btn-green:hover{background:var(--awp-green-l)}
.btn-green-sm{display:inline-flex;align-items:center;gap:6px;background:var(--awp-green);color:#fff;font-family:var(--sans);font-size:12px;font-weight:500;padding:10px 20px;border-radius:4px;border:none;letter-spacing:0.02em;transition:background .2s}

.btn-hp{display:inline-flex;align-items:center;gap:8px;background:var(--hp-green);color:#fff;font-family:var(--sans);font-size:14px;font-weight:500;padding:14px 28px;border-radius:4px;border:none;letter-spacing:0.02em;transition:background .2s}
.btn-hp:hover{background:#4A7A40}

/* ── FORM ELEMENTS ── */
.form-input-dark{
  flex:1;min-width:180px;
  background:rgba(232,238,247,0.06);
  border:1px solid var(--tjbw-border-gold);
  border-radius:4px;padding:13px 16px;
  font-size:14px;color:var(--tjbw-text);
  font-family:var(--sans);outline:none;
  transition:border-color .2s;
}
.form-input-dark::placeholder{color:var(--tjbw-t3)}
.form-input-dark:focus{border-color:var(--tjbw-gold)}

.form-input-light{
  flex:1;min-width:180px;
  background:#fff;
  border:1px solid var(--hp-border-amber);
  border-radius:4px;padding:13px 16px;
  font-size:14px;color:var(--hp-text);
  font-family:var(--sans);outline:none;
  transition:border-color .2s;
}
.form-input-light::placeholder{color:var(--hp-t3)}
.form-input-light:focus{border-color:var(--hp-amber)}

.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-micro-dark{font-size:11px;color:var(--tjbw-t3);margin-top:10px}
.form-micro-light{font-size:11px;color:var(--hp-t3);margin-top:10px}
.form-error{font-size:12px;color:#f87171;margin-top:8px;display:none}
.form-success{display:none}

/* ── SECTION STRUCTURE ── */
.section{padding:5rem 2rem}
.section-inner{max-width:var(--max);margin:0 auto}
.section-inner-narrow{max-width:720px;margin:0 auto}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;margin-bottom:.875rem}
.eyebrow-gold{color:var(--tjbw-gold)}
.eyebrow-green{color:var(--awp-green)}
.eyebrow-amber{color:var(--hp-amber)}
.section-title-serif{font-family:var(--serif);font-size:clamp(28px,4vw,48px);font-weight:400;line-height:1.2;margin-bottom:.875rem}
.section-title-sans{font-family:var(--sans);font-size:clamp(24px,3.5vw,40px);font-weight:400;line-height:1.2;margin-bottom:.875rem}
.gold-rule{width:44px;height:1px;background:var(--tjbw-gold);margin:1.25rem 0;opacity:0.45}
.green-rule{width:44px;height:1px;background:var(--awp-green);margin:1.25rem 0;opacity:0.45}

/* ── FOOTER ── */
.footer-dark{background:var(--tjbw-bg2);border-top:1px solid var(--tjbw-border);padding:3rem 2rem 2rem}
.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.footer-brand-block{}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.footer-logo{width:36px;height:36px;object-fit:contain}
.footer-brand-name{font-family:var(--serif);font-size:15px;color:var(--tjbw-text)}
.footer-tagline{font-size:12px;color:var(--tjbw-t3);line-height:1.75;margin-bottom:12px}
.footer-col-title{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--tjbw-t3);margin-bottom:14px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-links a{font-size:13px;color:var(--tjbw-t2);transition:color .2s}
.footer-links a:hover{color:var(--tjbw-gold)}
.footer-bottom-dark{border-top:1px solid var(--tjbw-border);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-legal{font-size:11px;color:var(--tjbw-t3);line-height:1.65}
.footer-legal a{color:var(--tjbw-t3);text-decoration:underline}

/* ── ANIMATIONS ── */
@keyframes pulse-glow{0%,100%{opacity:.10}50%{opacity:.20}}
@keyframes shimmer-star{0%,100%{opacity:.15}50%{opacity:.55}}
@keyframes drift-a{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(10px,-14px) scale(1.04)}70%{transform:translate(-8px,10px) scale(0.97)}}
@keyframes drift-b{0%,100%{transform:translate(0,0)}55%{transform:translate(-12px,-10px)}}
@keyframes drift-c{0%,100%{transform:translate(0,0)}45%{transform:translate(8px,12px)}}
@keyframes float-up{0%{transform:translateY(0);opacity:0}50%{opacity:.8}100%{transform:translateY(-80px);opacity:0}}
@keyframes warm-pulse{0%,100%{opacity:.07}50%{opacity:.16}}
@keyframes book-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-inner > *:first-child{grid-column:1/-1}
}
@media(max-width:720px){
  .section{padding:3.5rem 1.5rem}
  .nav-dark .nav-links-dark,.nav-light .nav-links-light{display:none}
  .nav-dark .nav-links-dark.open,.nav-light .nav-links-light.open{
    display:flex;flex-direction:column;position:absolute;
    top:var(--nav-h);left:0;right:0;padding:1.25rem 2rem;gap:1rem;z-index:99;
  }
  .nav-dark .nav-links-dark.open{background:var(--tjbw-bg2);border-bottom:1px solid var(--tjbw-border)}
  .nav-light .nav-links-light.open{background:var(--hp-bg2);border-bottom:1px solid var(--hp-border)}
  .nav-hamburger{display:block}
  .footer-inner{grid-template-columns:1fr}
  .footer-bottom-dark{flex-direction:column;text-align:center}
}
