*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --forest:    #152519;
  --deep:      #1d3326;
  --mid:       #2a4535;
  --sage:      #6d9e7e;
  --sage-pale: #a8c4b0;
  --sage-mist: #d0e2d8;
  --copper:    #a07855;
  --copper-lt: #c4976e;
  --moonlight: #f0ebe0;
  --cream:     #f6f2e8;
  --warm:      #faf7f0;
  --white:     #fffdf9;
  --muted:     #6a7c6e;
  --light:     #94b09a;
  --midnight:  #0d1a12;

  --f-display: clamp(54px,7.5vw,100px);
  --f-h1:      clamp(40px,5.5vw,72px);
  --f-h2:      clamp(32px,4vw,54px);
  --f-h3:      clamp(20px,2.5vw,30px);
  --f-body:    17px;
  --f-sm:      14px;
  --f-xs:      11px;

  --ease: cubic-bezier(0.25,0.46,0.45,0.94);
  --max: 1120px;
}
html{scroll-behavior:smooth}
body{
  font-family:'Raleway',sans-serif;
  font-weight:300;
  font-size:var(--f-body);
  color:var(--forest);
  background:var(--warm);
  overflow-x:hidden;
  line-height:1.85;
}
/* grain overlay */
body::after{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;z-index:9998;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:.5;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 48px}

/* ── REVEAL ─── */
.r{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.r.in{opacity:1;transform:none}
.r.d1{transition-delay:.12s}.r.d2{transition-delay:.24s}
.r.d3{transition-delay:.36s}.r.d4{transition-delay:.48s}

/* ── TYPE ─── */
.eyebrow{
  font-family:'Cinzel',serif;
  font-size:var(--f-xs);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--copper);
  display:flex;align-items:center;gap:14px;
}
.eyebrow::before,.eyebrow::after{
  content:'';display:block;
  flex:0 0 28px;height:1px;background:currentColor;opacity:.5;
}
.eyebrow--light{color:var(--sage-pale)}
.serif{font-family:'Cormorant Garamond',serif}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.1}
.thin-line{
  display:block;width:1px;
  background:linear-gradient(to bottom,transparent,var(--copper),transparent);
  margin:28px auto;height:60px;
}
.thin-line--h{
  display:block;height:1px;width:60px;
  background:linear-gradient(to right,transparent,var(--copper),transparent);
  margin:28px auto;
}

/* ── BUTTONS ─── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Raleway',sans-serif;font-weight:500;
  font-size:var(--f-xs);letter-spacing:.18em;text-transform:uppercase;
  padding:15px 38px;cursor:pointer;transition:all .4s var(--ease);
  border:none;border-radius:0;
}
.btn--earth{background:var(--copper);color:var(--warm)}
.btn--earth:hover{background:var(--copper-lt);transform:translateY(-2px)}
.btn--ghost-light{
  background:transparent;color:var(--moonlight);
  border:1px solid rgba(240,235,224,.3);
}
.btn--ghost-light:hover{border-color:var(--copper-lt);color:var(--copper-lt)}
.btn--ghost-dark{
  background:transparent;color:var(--deep);
  border:1px solid rgba(42,69,53,.35);
}
.btn--ghost-dark:hover{background:var(--deep);color:var(--moonlight)}
.btn svg{width:13px;height:13px;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}

/* ── NAV ─── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:20px 48px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .5s,backdrop-filter .5s;
}
.nav.on{
  background:rgba(21,37,25,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav__logo{
  font-family:'Cinzel',serif;font-size:15px;letter-spacing:.12em;
  color:var(--moonlight);
}
.nav__logo em{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--copper-lt)}
.nav__links{display:flex;gap:36px;align-items:center}
.nav__toggle{
  display:none;
  border:0;
  background:transparent;
  width:40px;
  height:40px;
  padding:8px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.nav__toggle span{
  display:block;
  width:20px;
  height:1px;
  background:var(--moonlight);
}
.nav__links a{
  font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(240,235,224,.6);transition:color .3s;
}
.nav__links a:hover{color:var(--copper-lt)}
.nav__links a.cta{
  border:1px solid rgba(160,120,85,.5);
  padding:8px 18px;color:var(--copper-lt);
  transition:all .3s;
}
.nav__links a.cta:hover{background:var(--copper);border-color:var(--copper);color:var(--warm)}

/* ── HERO ─── */
.hero{
  min-height:100vh;
  position:relative;
  display:grid;
  grid-template-columns:55% 45%;
  grid-gap:0;
  gap:0;
  background:var(--forest);
  overflow:hidden;
  width:100%;
}
/* sacred circle watermark */
.hero__circle{
  position:absolute;
  right:8%;top:50%;
  transform:translateY(-50%);
  width:min(60vw,680px);
  aspect-ratio:1;
  animation:spinSlow 80s linear infinite;
  pointer-events:none;z-index:1;
}
@keyframes spinSlow{to{transform:translateY(-50%) rotate(360deg)}}
.hero__left{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  justify-content:center;
  padding:140px 40px 100px 80px;
}
.hero__tagline{
  font-size:var(--f-display);
  font-family:'Cormorant Garamond',serif;
  font-weight:300;font-style:italic;
  color:var(--moonlight);
  line-height:1.05;
  margin:24px 0 36px;
}
.hero__tagline span{
  color:var(--sage-pale);
  display:block;
}
.hero__sub{
  font-size:16px;font-weight:300;
  color:var(--light);max-width:400px;
  line-height:1.9;margin-bottom:44px;
}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero__scroll{
  position:absolute;bottom:48px;left:80px;
  display:flex;flex-direction:column;
  align-items:center;gap:12px;
  font-size:9px;letter-spacing:.25em;text-transform:uppercase;
  color:var(--sage);
}
.hero__scroll::after{
  content:'';width:1px;height:52px;
  background:linear-gradient(to bottom,var(--sage),transparent);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

.hero__right{
  position:relative;
  z-index:2;
  background-image:url('images/anna-hero-background.jpg');
  background-size:cover;
  background-position:center 15%;
  min-height:100vh;
}
.hero__right::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right, var(--forest) 0%, rgba(21,37,25,.12) 48%),
    linear-gradient(to top, var(--forest) 0%, transparent 30%),
    linear-gradient(to bottom, rgba(21,37,25,.35) 0%, transparent 18%);
}
.hero__right::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:rgba(13,26,18,.22);
}

/* ── WAVE DIVIDER ─── */
.wave{overflow:hidden;line-height:0;display:block}
.wave svg{display:block;width:100%;height:60px}

/* ── ESSENCE BAR ─── */
.essence{
  background:var(--cream);
  padding:48px 0;
  border-bottom:1px solid rgba(42,69,53,.1);
}
.essence__inner{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
}
.essence__item{
  padding:24px 32px;
  border-right:1px solid rgba(42,69,53,.1);
  text-align:center;
}
.essence__item:last-child{border-right:none}
.essence__glyph{
  font-family:'Cormorant Garamond',serif;
  font-size:36px;font-weight:300;font-style:italic;
  color:var(--deep);line-height:1;display:block;margin-bottom:8px;
}
.essence__label{
  font-size:11px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}

/* ── PATH / OFFERINGS ─── */
.path{padding:100px 0;background:var(--warm)}
.path__header{text-align:center;margin-bottom:72px}
.path__header h2{font-size:var(--f-h2);color:var(--forest);margin:20px 0 12px;font-weight:300;font-style:italic}
.path__header p{color:var(--muted);max-width:500px;margin:0 auto;font-size:15px;line-height:1.9}
.path__offerings{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;
  border:1px solid rgba(42,69,53,.1);
}
.path__item{
  padding:56px 44px;
  background:var(--white);
  transition:background .4s;
  position:relative;
  overflow:hidden;
}
.path__item::before{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,transparent,var(--copper),transparent);
  opacity:0;transition:opacity .4s;
}
.path__item:hover{background:var(--cream)}
.path__item:hover::before{opacity:1}
.path__glyph{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border:1px solid rgba(160,120,85,.3);
  border-radius:50%;
  margin-bottom:28px;
  color:var(--copper);
}
.path__glyph svg{width:22px;height:22px}
.path__num{
  position:absolute;top:28px;right:32px;
  font-family:'Cinzel',serif;font-size:11px;
  letter-spacing:.15em;color:var(--sage-mist);
}
.path__item h3{
  font-size:24px;color:var(--forest);
  margin-bottom:16px;font-style:italic;
}
.path__item p{font-size:14px;color:var(--muted);line-height:1.85}

/* ── ABOUT ─── */
.about{
  display:grid;grid-template-columns:45% 55%;
  background:var(--deep);
  min-height:85vh;
}
.about__photo{
  position:relative;overflow:hidden;
}
.about__photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 10%;
  filter:saturate(.85) brightness(.9);
}
.about__photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,transparent 60%,var(--deep));
}
/* decorative botanical overlay */
.about__leaf{
  position:absolute;bottom:40px;left:32px;
  opacity:.15;pointer-events:none;
}
.about__words{
  padding:100px 72px 100px 56px;
  display:flex;flex-direction:column;justify-content:center;
}
.about__words h2{
  font-size:var(--f-h1);color:var(--moonlight);
  font-weight:300;font-style:italic;margin:20px 0 8px;
}
.about__words h2 span{color:var(--sage-pale);font-style:normal}
.about__intro{
  font-size:18px;font-weight:400;font-style:italic;
  font-family:'Cormorant Garamond',serif;
  color:var(--sage-pale);line-height:1.6;
  margin-bottom:28px;
}
.about__words p{
  font-size:15px;color:var(--sage-mist);
  line-height:1.95;margin-bottom:20px;
  font-weight:300;
}
.about__words p strong{color:var(--moonlight);font-weight:500}
.about__words .btn{margin-top:36px}

/* ── WHO ─── */
.who{padding:100px 0;background:var(--cream)}
.who__header{text-align:center;margin-bottom:64px}
.who__header h2{font-size:var(--f-h2);color:var(--forest);font-weight:300;font-style:italic;margin:20px 0 16px}
.who__header p{color:var(--muted);max-width:460px;margin:0 auto;font-size:15px}
.who__list{
  display:grid;grid-template-columns:1fr 1fr;
  gap:12px;
  max-width:860px;margin:0 auto;
}
.who__item{
  display:flex;gap:20px;align-items:flex-start;
  padding:28px 32px;
  background:var(--white);
  border:1px solid rgba(42,69,53,.08);
  transition:border-color .3s,transform .3s;
}
.who__item:hover{border-color:rgba(160,120,85,.4);transform:translateY(-3px)}
.who__mark{
  flex-shrink:0;margin-top:4px;
  width:28px;height:28px;
  background:none;
  border:1px solid rgba(160,120,85,.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .3s,border-color .3s;
}
.who__item:hover .who__mark{background:var(--copper);border-color:var(--copper)}
.who__mark svg{width:10px;height:10px;color:var(--copper)}
.who__item:hover .who__mark svg{color:var(--warm)}
.who__item p{font-size:14px;color:var(--forest);line-height:1.65;font-weight:400}

/* ── AWAKENING / RESULTS ─── */
.awaken{
  padding:100px 0;background:var(--forest);
  position:relative;overflow:hidden;
}
/* Background sacred spiral */
.awaken::before{
  content:'';position:absolute;
  right:-10%;top:50%;transform:translateY(-50%);
  width:70vh;height:70vh;
  border-radius:50%;
  border:1px solid rgba(109,158,126,.08);
  box-shadow:0 0 0 40px rgba(109,158,126,.04),
             0 0 0 80px rgba(109,158,126,.025),
             0 0 0 130px rgba(109,158,126,.015);
  pointer-events:none;
}
.awaken__header{text-align:center;margin-bottom:64px}
.awaken__header h2{font-size:var(--f-h2);color:var(--moonlight);font-weight:300;font-style:italic;margin:20px 0 12px}
.awaken__header p{color:var(--light);max-width:480px;margin:0 auto;font-size:15px}
.awaken__grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
  position:relative;z-index:1;
}
.awaken__card{
  padding:36px 24px;text-align:center;
  border:1px solid rgba(109,158,126,.15);
  transition:background .4s,border-color .4s;
}
.awaken__card:hover{background:rgba(42,69,53,.6);border-color:rgba(160,120,85,.3)}
.awaken__icon{
  width:40px;height:40px;margin:0 auto 20px;
  color:var(--sage);
}
.awaken__card p{font-size:13px;color:var(--light);line-height:1.7;font-weight:300}

/* ── MANIFESTO QUOTE ─── */
.manifesto{
  padding:100px 0;
  background:var(--moonlight);
  text-align:center;position:relative;overflow:hidden;
}
.manifesto::before{
  content:'"';
  position:absolute;top:-40px;left:50%;transform:translateX(-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:360px;font-weight:300;
  color:rgba(42,69,53,.06);line-height:1;
  pointer-events:none;
}
.manifesto blockquote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:300;
  font-size:clamp(26px,3.5vw,46px);
  color:var(--forest);line-height:1.5;
  max-width:780px;margin:0 auto 28px;
  position:relative;z-index:1;
}
.manifesto cite{
  font-size:var(--f-xs);font-style:normal;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.manifesto cite::before,.manifesto cite::after{
  content:'';display:block;width:24px;height:1px;background:currentColor;opacity:.5;
}

/* ── PRICING ─── */
.pricing{padding:100px 0;background:var(--deep)}
.pricing__header{text-align:center;margin-bottom:64px}
.pricing__header h2{font-size:var(--f-h2);color:var(--moonlight);font-weight:300;font-style:italic;margin:20px 0 12px}
.pricing__header p{color:var(--light);max-width:480px;margin:0 auto;font-size:15px}
.pricing__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:800px;margin:0 auto}
.pricing__card{background:rgba(42,69,53,.5);border:1px solid rgba(109,158,126,.15)}
.pricing__card--main{border-color:rgba(160,120,85,.35)}
.pricing__card-top{
  padding:44px 44px 32px;
  border-bottom:1px solid rgba(109,158,126,.1);
  display:flex;
  flex-direction:column;
  min-height:clamp(180px,22vw,208px);
}
.pricing__tag{
  font-family:'Cinzel',serif;font-size:10px;
  letter-spacing:.2em;color:var(--copper-lt);
  display:block;margin-bottom:20px;
}
.pricing__price{
  font-family:'Cormorant Garamond',serif;
  font-size:64px;font-weight:300;color:var(--moonlight);line-height:1;
}
.pricing__price sup{font-size:26px;vertical-align:top;margin-top:16px;display:inline-block}
.pricing__duration{font-size:12px;color:var(--light);margin-top:auto;padding-top:10px}
.pricing__dual{display:flex;align-items:flex-end;gap:32px}
.pricing__dual-item{display:flex;flex-direction:column;align-items:flex-start}
.pricing__dual-item .pricing__price{font-size:54px}
.pricing__dual-divider{width:1px;height:56px;background:rgba(109,158,126,.25);margin-bottom:8px;flex-shrink:0}
.pricing__dual-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-top:8px}
.pricing__card-body{padding:32px 44px 44px}
.pricing__desc{font-size:14px;color:var(--sage-pale);line-height:1.85;margin-bottom:28px;font-weight:300}
.pricing__features{list-style:none;margin-bottom:32px}
.pricing__features li{
  font-size:13px;color:var(--light);
  padding:9px 0;
  border-bottom:1px solid rgba(109,158,126,.1);
  display:flex;gap:10px;align-items:center;
  font-weight:300;
}
.pricing__features li::before{
  content:'';display:block;
  width:5px;height:5px;border-radius:50%;
  background:var(--copper);flex-shrink:0;
}

/* ── CTA ─── */
.cta-wrap{
  padding:120px 0;background:var(--forest);
  text-align:center;position:relative;overflow:hidden;
}
.cta-wrap::after{
  content:'';position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:600px;height:600px;border-radius:50%;
  border:1px solid rgba(109,158,126,.06);
  box-shadow:
    0 0 0 60px rgba(109,158,126,.04),
    0 0 0 120px rgba(109,158,126,.025),
    0 0 0 200px rgba(109,158,126,.01);
  pointer-events:none;
}
.cta-wrap>*{position:relative;z-index:1}
.cta-wrap h2{
  font-size:var(--f-h1);color:var(--moonlight);
  font-weight:300;font-style:italic;
  margin:20px auto 20px;max-width:600px;
}
.cta-wrap p{
  color:var(--light);font-size:16px;max-width:500px;
  margin:0 auto 48px;line-height:1.9;font-weight:300;
}
.cta-wrap .btn{margin:0 auto}

/* ── FOOTER ─── */
.footer{
  background:var(--midnight);
  padding:40px 48px;
  border-top:1px solid rgba(255,255,255,.03);
}
.footer__inner{
  max-width:var(--max);margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:20px;
}
.footer__brand{
  font-family:'Cinzel',serif;font-size:14px;
  letter-spacing:.1em;color:rgba(240,235,224,.45);
}
.footer__links{display:flex;gap:28px;flex-wrap:wrap}
.footer__links a{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.25);transition:color .3s;
}
.footer__links a:hover{color:var(--copper-lt)}
.footer__email{font-size:12px;color:rgba(255,255,255,.2);letter-spacing:.04em;transition:color .3s}
.footer__email:hover{color:var(--copper-lt)}
.footer__social{display:inline-flex;align-items:center;color:rgba(255,255,255,.25);transition:color .3s}
.footer__social:hover{color:var(--copper-lt)}

/* ── RESPONSIVE ─── */
@media(max-width:900px){
  .hero__right{background-image:url('images/anna-hero-background-800.jpg')}
  .nav{
    padding:16px 20px;
    align-items:center;
  }
  .nav__toggle{display:inline-flex}
  .nav__links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:16px 20px 20px;
    background:rgba(13,26,18,.98);
    border-bottom:1px solid rgba(255,255,255,.05);
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .nav.nav--open .nav__links{display:flex}
  .nav__links a{font-size:11px}
  .nav__links a.cta{padding:10px 14px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__left{padding:120px 32px 80px}
  .hero__right{min-height:65vw;min-height:65svh}
  .hero__scroll{left:32px}
  .about{grid-template-columns:1fr}
  .about__words{padding:64px 32px}
  .about__photo{min-height:55vw}
  .path__offerings{grid-template-columns:1fr}
  .who__list{grid-template-columns:1fr}
  .awaken__grid{grid-template-columns:repeat(2,1fr)}
  .pricing__grid{grid-template-columns:1fr}
  .pricing__card-top{min-height:auto;padding:32px 24px 24px}
  .pricing__card-body{padding:28px 24px 32px}
  .pricing__dual{gap:20px}
  .essence__inner{grid-template-columns:repeat(2,1fr)}
  .wrap{padding:0 24px}
}
