/* ==========================================================================
   Jois Astrology × SYNERA Healing — design system
   Colour:  moonlit ivory + cosmic sapphire, with aqua / teal (SYNERA), lilac + starlight gold (Jois Astrology),
            and small coral accents. One palette, two expressions — see :root.
   Type:    Newsreader (display serif, optical sizes) + Hanken Grotesk (UI & body)
   ========================================================================== */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/newsreader-opsz.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/hanken-grotesk.woff2) format("woff2")}

:root{
  /* ══════════ COLOUR SYSTEM — single source of truth ══════════ */
  --cosmic-sapphire:#202B5A;
  --celestial-blue:#315B8C;

  --moonlit-ivory:#F8F5EE;
  --pure-pearl:#FFFDFC;
  --celestial-pearl:#EAF2F3;
  --soft-champagne:#F1E8D8;

  --sky-aqua:#62C5C8;
  --ocean-teal:#318F9B;

  --mystic-lilac:#B7A4DC;
  --sunrise-coral:#E98572;
  --starlight-gold:#E2C66D;

  --text:#303746;
  --body-text:#68717D;
  --muted-text:#9299A3;

  --white:#FFFFFF;

  /* specified extras */
  --input-border:#DDE4E5;
  --gold-hover:#B99A68;

  /* ── derived from the palette (no new hues) ── */
  --line:color-mix(in srgb,var(--cosmic-sapphire) 13%,transparent);
  --field-line:color-mix(in srgb,var(--cosmic-sapphire) 32%,transparent);
  --body-on-tint:color-mix(in srgb,var(--body-text) 80%,var(--text)); /* keeps body copy AA-readable on celestial pearl / champagne */

  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Hanken Grotesk","Helvetica Neue",Arial,system-ui,sans-serif;

  --gutter:clamp(20px,5vw,72px);
  --max:1280px;
  --section:clamp(88px,11vw,168px);
  --hh:88px;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* ── semantic tokens (sections / themes may override) ── */
  --bg:var(--moonlit-ivory);
  --fg:var(--cosmic-sapphire);
  --fg-soft:var(--body-text);
  --eyebrow:var(--celestial-blue);
  --rule:var(--starlight-gold);
  --surface-line:var(--celestial-pearl);
  --focus:var(--celestial-blue);
  --btn-bg:var(--cosmic-sapphire);
  --btn-fg:var(--white);
  --btn-hover-bg:var(--celestial-blue);
  --btn-hover-fg:var(--white);
  --menu-bg:var(--moonlit-ivory);
}

/* ── reset ── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.7;color:var(--body-text);background:var(--moonlit-ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-x:clip}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{color:var(--fg)}
::placeholder{color:var(--muted-text);opacity:1}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:2px}
::selection{background:var(--starlight-gold);color:var(--cosmic-sapphire)}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:var(--cosmic-sapphire);color:var(--white);padding:.8rem 1.2rem;transition:top .3s}
.skip-link:focus{top:12px}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s}

/* ── layout ── */
.container{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto}
.section{position:relative;padding-block:var(--section);background:var(--bg);color:var(--fg);overflow:hidden}
:where(.section) p{color:var(--fg-soft)}
/* soft tonal alternation — ivory foundation, pearl surfaces, a little celestial pearl and champagne */
.section--bg{--bg:var(--moonlit-ivory)}
.section--surface{--bg:var(--pure-pearl)}
.section--pearl{--bg:var(--celestial-pearl);--fg-soft:var(--body-on-tint)}
.section--fade{--bg:var(--moonlit-ivory);background:linear-gradient(180deg,var(--moonlit-ivory),var(--pure-pearl))}
.section--glow{--bg:var(--pure-pearl);--fg-soft:var(--body-on-tint);background:linear-gradient(180deg,var(--pure-pearl),var(--celestial-pearl))}
.section--champagne{--bg:var(--soft-champagne);--fg-soft:var(--body-on-tint)}
.section--warm{--bg:var(--celestial-pearl);--fg-soft:var(--body-on-tint);background:linear-gradient(180deg,var(--celestial-pearl),var(--soft-champagne))}
/* SYNERA zones use aqua for their small rules and underlines */
.synera,.approach,.facets,.programs,.science,.pancha,.experiences{--rule:var(--sky-aqua)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,7rem);align-items:start}

/* ── type ── */
.display{font-family:var(--serif);font-weight:380;font-size:clamp(2.2rem,4.5vw + .4rem,4.3rem);line-height:1.03;letter-spacing:-.018em;text-wrap:balance;color:var(--fg)}
.display--hero{font-size:clamp(1.7rem,8.2vw,4.2rem);font-weight:340;line-height:1.02;letter-spacing:-.025em}
.display--hero .ln{white-space:nowrap}
@media (min-width:900px){.display--hero{font-size:clamp(2.6rem,4.5vw,4.2rem)}}
.display--xl{font-size:clamp(2.7rem,6.4vw,6rem);line-height:1}
.display--page{font-size:clamp(2.5rem,5.6vw,5rem);line-height:1}
.display--md{font-size:clamp(2rem,3.4vw,3.1rem)}
.ln{display:block}
.display--stagger .ln:nth-child(2){padding-left:clamp(.8rem,5vw,5rem)}
.display--stagger .ln:nth-child(3){padding-left:clamp(1.6rem,10vw,10rem)}
.eyebrow{display:flex;align-items:center;gap:.9rem;margin-bottom:1.5rem;font:600 .72rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.eyebrow::before{content:"";flex:none;width:2.2rem;height:1px;background:var(--rule)}
.lead{font-size:clamp(1.15rem,.7vw + 1rem,1.4rem);line-height:1.6;color:var(--fg-soft);max-width:36rem;margin-top:1.8rem}
.lead p+p{margin-top:1em}
.prose p{max-width:36rem;margin-bottom:1.2em;color:var(--fg-soft)}
.synera__lead,.approach__lead,.note__text,.crosslink__text,.choice__line,.quote p{color:var(--fg)}
.prose p:last-child{margin-bottom:0}
.section-heading{margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.section-heading .lead{margin-top:1.5rem}

/* ── buttons & links ── */
.btn{--b:var(--btn-bg);--t:var(--btn-fg);display:inline-flex;align-items:center;justify-content:center;gap:.95rem;min-height:56px;padding:0 1.8rem;font:600 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;background:var(--b);color:var(--t);border:1px solid var(--b);border-radius:2px;cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s,transform .5s var(--ease)}
.btn .arrow{flex:none;transition:transform .5s var(--ease)}
.btn:hover .arrow,.link-cta:hover .arrow{transform:translateX(6px)}
.btn--astro{--btn-bg:var(--cosmic-sapphire);--btn-fg:var(--white);--btn-hover-bg:var(--celestial-blue);--btn-hover-fg:var(--white)}
.btn--synera{--btn-bg:var(--sky-aqua);--btn-fg:var(--cosmic-sapphire);--btn-hover-bg:var(--ocean-teal);--btn-hover-fg:var(--cosmic-sapphire)}
.btn--gold{--btn-bg:var(--starlight-gold);--btn-fg:var(--cosmic-sapphire);--btn-hover-bg:var(--gold-hover);--btn-hover-fg:var(--cosmic-sapphire)}
.btn:not(.btn--light):not(.btn--header):hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-bg);color:var(--btn-hover-fg)}
.btn--light,.btn--header{--b:transparent;--t:var(--cosmic-sapphire);border-color:var(--celestial-blue)}
.btn--light:hover,.btn--header:hover{background:var(--celestial-pearl);color:var(--cosmic-sapphire);border-color:var(--celestial-blue)}
.btn--header{min-height:52px;padding:0 1.7rem;font-size:.8rem}
.btn--block{display:flex;width:100%}
.link-cta{display:inline-flex;align-items:center;gap:.9rem;padding-block:.6rem;font:600 .74rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--fg);transition:color .4s var(--ease)}
.link-cta:hover{color:var(--celestial-blue)}
.link-cta span{padding-bottom:.35rem;background:linear-gradient(var(--rule),var(--rule)) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease)}
.link-cta:hover span,.link-cta:focus-visible span{background-size:100% 1px}
.link-cta .arrow{flex:none;transition:transform .5s var(--ease)}
.link-cta--stretch::after{content:"";position:absolute;inset:0;z-index:2}
.round-btn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--fg);cursor:pointer;transition:background .4s,color .4s,opacity .4s}
.round-btn:hover{background:var(--fg);color:var(--bg)}
.round-btn--prev .arrow{transform:scaleX(-1)}
.round-btn--prev:hover .arrow{transform:scaleX(-1) translateX(6px)}
.round-btn[disabled]{opacity:.3;pointer-events:none}

/* ── header ── */
.site-header{color:var(--cosmic-sapphire);position:fixed;inset:0 0 auto 0;z-index:70;height:var(--hh);transition:height .45s var(--ease),background .45s,border-color .45s,backdrop-filter .45s;border-bottom:1px solid transparent;view-transition-name:site-header}
.site-header.is-scrolled{--hh:68px;background:color-mix(in srgb,var(--moonlit-ivory) 88%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border-bottom-color:var(--line)}
.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;flex:none}
.mark{flex:none}
.jois-logo{display:block;flex:none;transition:transform .6s var(--ease)}
@media (min-width:1000px){.brand .jois-logo{width:60px!important;height:60px!important}}
.jois-logo img{display:block;width:100%;height:100%;object-fit:contain}
.brand:hover .jois-logo{transform:scale(1.05)}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font:500 1.35rem/1 var(--serif);letter-spacing:.01em}
.brand__by{margin-top:.3rem;font:500 .66rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--body-text)}
.nav{display:none}
.nav__list{display:flex;gap:clamp(1.8rem,3vw,3.2rem)}
.nav__item{position:relative}
.nav__link{display:block;padding:1.7rem 0;font:600 .82rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;position:relative}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:1.3rem;height:1px;background:var(--rule);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav__link:hover::after,.nav__link.is-active::after,.nav__item:focus-within .nav__link::after{transform:scaleX(1)}
.nav__sub{position:absolute;top:100%;left:-1.6rem;min-width:280px;padding:1rem 0;background:color-mix(in srgb,var(--pure-pearl) 97%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--celestial-pearl);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s,transform .45s var(--ease),visibility .35s}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub a{display:block;padding:.7rem 1.6rem;font:400 1.02rem/1.4 var(--sans);text-decoration:none;color:var(--body-text);transition:padding .4s var(--ease),color .3s,background .3s}
.nav__sub a:hover,.nav__sub a[aria-current]{padding-left:2rem;color:var(--cosmic-sapphire);background:var(--celestial-pearl)}
.site-header__actions{display:flex;align-items:center;gap:1rem}
.site-header__actions .btn--header{display:none}
.menu-toggle{position:relative;width:48px;height:48px;background:none;border:0;cursor:pointer}
.menu-toggle span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-toggle span:first-child{top:19px}
.menu-toggle span:last-child{top:28px}
body.menu-open .menu-toggle span:first-child{top:23.5px;transform:rotate(45deg)}
body.menu-open .menu-toggle span:last-child{top:23.5px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:calc(var(--hh) + 1.5rem) var(--gutter) max(2rem,env(safe-area-inset-bottom));background:var(--menu-bg);color:var(--fg);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
body.menu-open{overflow:hidden}
body.menu-open .menu{opacity:1;visibility:visible}
body.menu-open .site-header{background:var(--menu-bg)}
.menu__link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;font:380 clamp(1.9rem,8vw,2.6rem)/1.1 var(--serif);letter-spacing:-.01em;text-decoration:none;cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}
.menu__link::-webkit-details-marker{display:none}
.menu__group summary i{position:relative;width:14px;height:14px}
.menu__group summary i::before,.menu__group summary i::after{content:"";position:absolute;left:0;right:0;top:6.5px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.menu__group summary i::after{transform:rotate(90deg)}
.menu__group[open] summary i::after{transform:rotate(0)}
.menu__sub{padding:.8rem 0 1.2rem 1rem;display:grid;gap:.15rem}
.menu__sub a{display:block;padding:.5rem 0;font:400 1.05rem/1.3 var(--sans);text-decoration:none;color:var(--fg-soft)}
.sticky-cta{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:55;transform:translateY(160%);transition:transform .6s var(--ease)}
.sticky-cta.is-shown{transform:none}
.sticky-cta .btn{box-shadow:0 10px 24px -14px color-mix(in srgb,var(--cosmic-sapphire) 45%,transparent)}
body.menu-open .sticky-cta{transform:translateY(160%)}
@media (max-width:999px){:root{--hh:72px}.site-header.is-scrolled{--hh:64px}.subnav{top:64px}}
@media (min-width:1000px){
  .nav{display:block}
  .site-header__actions .btn--header{display:inline-flex}
  .menu-toggle,.menu,.sticky-cta{display:none}
}

/* ── hero ── */
.hero{position:relative;display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:calc(var(--hh) + 2.5rem) 0 4rem;overflow:hidden;background:radial-gradient(60% 70% at 78% 52%,color-mix(in srgb,var(--celestial-pearl) 90%,transparent) 0%,transparent 70%),var(--moonlit-ivory)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(2rem,5vw,6rem)}
.hero__eyebrow{margin-bottom:2rem}
.hero__text{margin-top:2.2rem;max-width:32rem}
.hero__tagline{margin-top:1.6rem;max-width:32rem;padding-left:1.2rem;border-left:1px solid var(--rule);font:360 clamp(1.2rem,1.1vw + .9rem,1.5rem)/1.35 var(--serif);letter-spacing:-.005em;color:var(--fg)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.4rem}
.hero__visual{position:relative;width:min(100%,600px);justify-self:end}
.hero-disc{width:100%;height:auto;aspect-ratio:1;overflow:visible}
.hero__caption{position:absolute;bottom:-2.4rem;font:600 .68rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft)}
.hero__caption--l{left:4%}
.hero__caption--r{right:4%}
@media (max-width:899px){
  .hero{align-items:flex-start;padding-top:calc(var(--hh) + 1.5rem)}
  .hero__grid{grid-template-columns:1fr;gap:3.5rem}
  .hero__ctas .btn{width:100%}
  .hero__visual{width:min(112%,520px);justify-self:center;margin-bottom:2rem}
}

/* ── two pathways ── */
.pathways__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);gap:clamp(1rem,2.5vw,2.5rem);align-items:end}
.pathway{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:clamp(1.6rem,3vw,3rem)}
.pathway__art{position:absolute;inset:0 0 38% 0;pointer-events:none}
.pathway .art{width:100%;height:100%}
.pathway__body{position:relative;z-index:1}
.pathway__tag{font:340 clamp(2.2rem,3.6vw,3.4rem)/1 var(--serif);letter-spacing:-.02em;margin-bottom:1.2rem}
.pathway__text{max-width:27rem;margin-bottom:1.6rem}
.pathway--astrology{min-height:clamp(480px,46vw,600px);background:var(--pure-pearl);border:1px solid var(--celestial-pearl);border-radius:2px;color:var(--cosmic-sapphire);--fg:var(--cosmic-sapphire);--fg-soft:var(--body-text);--eyebrow:var(--celestial-blue);--rule:var(--starlight-gold)}
.pathway--astrology .pathway__art{color:var(--celestial-blue)}
.pathway--synera{min-height:clamp(540px,52vw,680px);background:var(--celestial-pearl);box-shadow:inset 0 0 0 1px var(--white);border-radius:4px 110px 4px 4px;color:var(--cosmic-sapphire);--fg:var(--cosmic-sapphire);--fg-soft:var(--body-on-tint);--eyebrow:var(--celestial-blue);--rule:var(--sky-aqua)}
.pathway--synera .pathway__art{color:var(--ocean-teal);opacity:.6;transition:opacity 1s;-webkit-mask-image:linear-gradient(var(--cosmic-sapphire) 55%,transparent);mask-image:linear-gradient(var(--cosmic-sapphire) 55%,transparent)}
.pathway--synera:hover .pathway__art{opacity:.95}
.pathway--synera:hover .drift{animation-play-state:running}
.pathway .link-cta{color:inherit}
.pathway .c-reveal line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) var(--d,0s)}
.pathway--astrology:hover .c-reveal line,.pathway--astrology:focus-within .c-reveal line{stroke-dashoffset:0}
@media (hover:none){.pathway--astrology.is-visible .c-reveal line{stroke-dashoffset:0}.pathway--synera .drift{animation-play-state:running}}
@media (max-width:899px){.pathways__grid{grid-template-columns:1fr}.pathway--synera{border-radius:4px 72px 4px 4px}}

/* ── about ── */
.about__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.about__copy .display{font-size:clamp(2rem,3.7vw,3.5rem)}
.about__copy .prose{margin-top:2.2rem}
.about__words{margin:2rem 0;padding-left:1.4rem;border-left:1px solid var(--rule);font:340 clamp(1.7rem,2.6vw,2.4rem)/1.25 var(--serif);letter-spacing:-.01em}
.about__copy .link-cta{margin-top:.8rem}
.portrait{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--celestial-pearl);border-radius:50%;max-width:480px;margin-inline:auto}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}
.portrait::after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--starlight-gold) 75%,transparent);border-radius:inherit;pointer-events:none}
.portrait--placeholder{background:linear-gradient(170deg,var(--celestial-pearl),var(--soft-champagne));display:grid;place-items:center}
.portrait--placeholder .page-art{opacity:.6;color:var(--mystic-lilac)}
.portrait__mark{position:relative;z-index:1}
.portrait__mark .mark{width:min(34%,96px);height:auto}
@media (max-width:899px){.about__grid{grid-template-columns:1fr}.about__media{max-width:480px;margin-inline:auto}}

/* ── jois astrology section ── */
.astro .astro__art{position:absolute;inset:auto var(--gutter) 0 auto;width:min(52%,720px);height:min(38vw,300px);opacity:.75;color:var(--mystic-lilac);pointer-events:none}
.astro .container{position:relative}
.astro__head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.astro__head .section-heading{margin:0}
.astro__head .prose p{color:var(--fg-soft)}
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.4rem)}
.service{position:relative;display:flex;flex-direction:column;min-height:380px;padding:clamp(1.4rem,2vw,2rem);border:1px solid var(--celestial-pearl);background:var(--pure-pearl);transition:transform .7s var(--ease),border-color .5s,background .5s}
.service:hover{transform:translateY(-6px);border-color:var(--mystic-lilac)}
.service__glyph{color:var(--celestial-blue);margin-bottom:auto;padding-bottom:2.4rem}
.service__title{font:380 clamp(1.6rem,2vw,2rem)/1.1 var(--serif);letter-spacing:-.01em;margin-bottom:.9rem}
.service__text{color:var(--fg-soft);font-size:1rem;line-height:1.6;margin-bottom:1.4rem}
.service .link-cta{align-self:flex-start;color:var(--fg)}
.astro__foot{margin-top:clamp(3rem,6vw,5rem)}
@media (max-width:1099px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){.astro__head{grid-template-columns:1fr;align-items:start}}
@media (max-width:599px){.services{grid-template-columns:1fr}.service{min-height:0}.service__glyph{padding-bottom:1.6rem}}

/* ── SYNERA logo placements ── */
.synera-logo{display:block;flex:none}
.synera-logo img{width:100%;height:auto;filter:drop-shadow(0 12px 20px color-mix(in srgb,var(--cosmic-sapphire) 20%,transparent))}
.pathway__badge{position:absolute;top:clamp(1.2rem,2vw,1.8rem);left:clamp(1.2rem,2vw,1.8rem);z-index:1;width:clamp(78px,8.5vw,108px)}
.pathway__badge img{filter:drop-shadow(0 8px 14px color-mix(in srgb,var(--cosmic-sapphire) 25%,transparent))}
.page-hero__aside{position:relative;z-index:1;margin-top:2.2rem}
.page-hero__logo{width:clamp(170px,44vw,220px)}
@media (min-width:1000px){.page-hero__aside{position:absolute;right:0;top:50%;transform:translateY(-46%);margin:0}.page-hero__logo{width:clamp(290px,27vw,390px)}}
.site-footer__logo{width:56px}
.site-footer__logo img{filter:none}

/* ── SYNERA section — another world ── */
.organic{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.synera .container{position:relative}
.synera__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem clamp(2rem,5vw,5rem);align-items:center;margin-bottom:clamp(3rem,6vw,5.5rem)}
.synera__logo{width:clamp(240px,27vw,390px)}
@media (max-width:899px){.synera__head{grid-template-columns:1fr}.synera__logo{width:220px}}
.synera__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,7rem);align-items:start}
.synera__lead{font:340 clamp(1.5rem,2.2vw,2rem)/1.3 var(--serif);max-width:24rem;margin-bottom:2.4rem}
.synera__kicker{font:600 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:1.2rem}
.parts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.parts li{padding:1rem 0;border-bottom:1px solid var(--line);font:380 1.35rem/1.2 var(--serif)}
.synera__closing{margin:clamp(4rem,8vw,7rem) 0 2.5rem}
.synera__grid .prose p{font-size:1.15rem}
@media (max-width:899px){.synera__grid{grid-template-columns:1fr}}
@media (max-width:479px){.parts{grid-template-columns:1fr}}

/* ── approach: notice · pause · experience ── */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,3rem);position:relative;counter-reset:s}
.step{position:relative;padding-top:2.6rem;border-top:1px solid var(--line)}
.step::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--rule)}
.step__no{display:block;margin-bottom:1rem;font:600 .72rem/1 var(--sans);letter-spacing:.2em;color:var(--fg-soft)}
.step__word{font:320 clamp(2.6rem,5.6vw,5.4rem)/1 var(--serif);letter-spacing:-.025em;margin-bottom:1.4rem}
.step p{color:var(--fg-soft);max-width:18rem}
.approach .section-heading{max-width:none}
.approach__copy{max-width:44rem;margin-top:clamp(4rem,7vw,7rem)}
.approach__lead{font:340 clamp(1.6rem,2.4vw,2.2rem)/1.25 var(--serif);margin-bottom:1rem}
.approach__copy p+p{color:var(--fg-soft);margin-bottom:2rem;max-width:34rem}
@media (max-width:799px){.steps{grid-template-columns:1fr;gap:2.6rem}.step p{max-width:none}}

/* ── panchatattva ── */
.elements{--art-w:clamp(150px,13vw,230px);display:flex;min-height:560px;border-block:1px solid var(--line)}
.element{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-left:1px solid var(--line);background:color-mix(in srgb,var(--tint) 16%,var(--pure-pearl));transition:flex-grow .9s var(--ease),background .6s}
.element:first-child{border-left:0}
.element.is-active{flex-grow:2.7;background:color-mix(in srgb,var(--tint) 34%,var(--pure-pearl));box-shadow:inset 0 2px 0 var(--starlight-gold)}
.element::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 46% at 50% 34%,color-mix(in srgb,var(--tone) 24%,transparent),transparent 72%);opacity:0;transition:opacity .9s var(--ease);pointer-events:none}
.element:hover::before,.element.is-active::before{opacity:1}
.element__btn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:2rem 1.6rem;text-align:left;background:none;border:0;cursor:pointer;color:var(--fg)}
.element__glyph{color:var(--tone);transition:transform .8s var(--ease)}
.element:hover .element__glyph,.element.is-active .element__glyph{transform:translateY(-4px)}
.element__name{font:340 clamp(2rem,2.8vw,2.8rem)/1 var(--serif);letter-spacing:-.02em;margin-top:auto}
.element__role{font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--cosmic-sapphire)}
.element__panel{position:absolute;left:1.6rem;right:1.6rem;top:6.8rem;max-width:22rem;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .6s var(--ease),transform .8s var(--ease),visibility 0s .6s;pointer-events:none}
.element__panel p{font-size:1.02rem;line-height:1.6;color:var(--fg)}
.element.is-active .element__panel{opacity:1;visibility:visible;transform:none;transition:opacity .8s var(--ease) .25s,transform .9s var(--ease) .25s,visibility 0s}
.element__art{position:absolute;top:1.8rem;right:50%;transform:translateX(50%);width:min(var(--art-w),calc(100% - 1.6rem));pointer-events:none;transition:right .9s var(--ease),transform .9s var(--ease)}
.element__art img{display:block;width:100%;height:auto}
.element.is-active .element__art{right:1.5rem;transform:none}
.element--art .element__panel{top:2.2rem;right:calc(var(--art-w) + 3.2rem);max-width:none}
.pancha__foot{margin-top:clamp(2.5rem,5vw,4rem)}
.pancha__hint{margin-bottom:1.6rem;font:500 .85rem/1 var(--sans);letter-spacing:.06em;color:var(--fg-soft)}
@media (max-width:1199px){
  .elements{display:block;min-height:0;border-bottom:0}
  .element{border-left:0;border-bottom:1px solid var(--line)}
  .element__btn{position:static;display:grid;grid-template-columns:56px 1fr;column-gap:1.2rem;align-items:center;width:100%;padding:1.3rem 1rem}
  .element__glyph{grid-row:1/3;margin:0}
  .element__art,.element.is-active .element__art{position:static;right:auto;transform:none;width:56px;grid-row:1/3}
  .element--art .element__panel{right:auto}
  .element__name{margin:0}
  .element__panel{position:static;display:grid;grid-template-rows:0fr;max-width:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:grid-template-rows .7s var(--ease)}
  .element__panel>div{overflow:hidden}
  .element__panel p{padding:0 1rem 1.5rem 5.6rem}
  .element.is-active .element__panel{grid-template-rows:1fr;transition:grid-template-rows .7s var(--ease)}
}

/* ── breath / sound / resonance ── */
.facets__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.facet{position:relative;display:flex;flex-direction:column;padding:clamp(1.6rem,2.4vw,2.6rem);background:var(--pure-pearl);box-shadow:inset 0 0 0 1px var(--celestial-pearl),inset 0 3px 0 var(--facet-accent,var(--sky-aqua));border-radius:2px 2px 2px 56px;transition:transform .7s var(--ease)}
.facet:hover{transform:translateY(-6px)}
.facet__glyph{color:var(--facet-accent,var(--ocean-teal));margin-bottom:2.4rem}
.facet--breath{--facet-accent:var(--sky-aqua)}
.facet--sound{--facet-accent:var(--ocean-teal)}
.facet--resonance{--facet-accent:var(--cosmic-sapphire)}
.facet__title{font:380 clamp(1.6rem,2.1vw,2.1rem)/1.12 var(--serif);letter-spacing:-.01em;margin-bottom:1.2rem}
.facet p{color:var(--fg-soft);margin-bottom:.8rem}
.facet .link-cta{margin-top:auto;padding-top:1.2rem;align-self:flex-start;color:var(--fg)}
@media (max-width:899px){.facets__grid{grid-template-columns:1fr}}

/* ── programs / timeline ── */
.programs__head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
.programs__head .section-heading{margin:0}
.programs__head .prose p{color:var(--fg-soft)}
.programs__head .programs__label{margin-top:2.2rem;font:600 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.timeline__viewport{overflow-x:auto;scrollbar-width:none;cursor:grab;padding-inline:var(--gutter);scroll-snap-type:x proximity}
.timeline__viewport::-webkit-scrollbar{display:none}
.timeline__viewport.is-dragging{cursor:grabbing;scroll-snap-type:none}
.timeline__track{position:relative;width:var(--w);height:var(--h);color:var(--celestial-blue)}
.timeline__line{position:absolute;inset:0;opacity:.45}
.timeline__list{position:absolute;inset:0}
.stage{position:absolute;width:210px;text-align:center;scroll-snap-align:center}
.stage__dot{position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--sc,var(--sky-aqua));box-shadow:0 0 0 7px color-mix(in srgb,var(--sc,var(--sky-aqua)) 22%,transparent)}
.stage__no{position:absolute;left:0;right:0;top:-44px;font:600 .7rem/1 var(--sans);letter-spacing:.2em;color:var(--fg-soft)}
.stage__name{display:block;padding-top:28px;font:330 clamp(1.9rem,2.3vw,2.4rem)/1 var(--serif);letter-spacing:-.015em;color:var(--fg)}
.timeline__controls{display:flex;align-items:center;gap:.8rem;width:min(var(--max),100% - 2*var(--gutter));margin:2.2rem auto 0}
.timeline__progress{flex:1;height:1px;background:var(--line);margin-right:1.4rem}
.timeline__progress span{display:block;height:1px;width:20%;background:var(--celestial-blue);transform-origin:left;transition:margin .2s}
.programs__foot,.programs__details{margin-top:clamp(2.5rem,5vw,4rem)}
.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.details dt{font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:.6rem}
.details dd{font:380 1.3rem/1.3 var(--serif)}
@media (max-width:899px){
  .programs__head{grid-template-columns:1fr;align-items:start}
  .timeline__viewport{overflow:visible;cursor:auto;padding-inline:var(--gutter)}
  .timeline__track{width:auto;height:auto}
  .timeline__line,.timeline__controls{display:none}
  .timeline__list{position:relative;inset:auto;padding-left:34px}
  .timeline__list::before{content:"";position:absolute;left:4px;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(var(--celestial-blue),color-mix(in srgb,var(--celestial-blue) 15%,transparent))}
  .stage{position:relative;left:auto!important;top:auto!important;width:auto;display:flex;align-items:baseline;gap:1.1rem;padding-bottom:1.5rem;text-align:left}
  .stage__dot{left:-34px;top:.62em;margin-left:0}
  .stage__no{position:static;flex:none;width:1.9rem}
  .stage__name{padding:0;font-size:2rem}
}

/* ── experiences ── */
.experiences__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.6rem)}
.exp{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:clamp(1.6rem,2.6vw,2.6rem);background:var(--pure-pearl);box-shadow:inset 0 0 0 1px var(--celestial-pearl);transition:transform .7s var(--ease),background .5s}
.exp:hover{transform:translateY(-5px);background:var(--white)}
.exp__title{font:380 clamp(1.8rem,2.6vw,2.6rem)/1.05 var(--serif);letter-spacing:-.015em;margin-bottom:1rem}
.exp p{color:var(--fg-soft);max-width:26rem;margin-bottom:auto;padding-bottom:1.6rem}
.exp--3{background:var(--cosmic-sapphire);box-shadow:none;color:var(--white);--rule:var(--sky-aqua)}
.exp--3:hover{background:var(--celestial-blue)}
.exp--3 p{color:var(--celestial-pearl)}
.exp--3 .link-cta{color:var(--white)}
.exp--3 .link-cta:hover{color:var(--sky-aqua)}
.exp--1{border-radius:2px 2px 2px 2px}
.exp--4{border-radius:2px 56px 2px 2px}
@media (max-width:799px){.experiences__grid{grid-template-columns:1fr}.exp{min-height:0}}

/* ── science & experience ── */
.science{padding-block:clamp(72px,8vw,120px)}
.science__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.science__copy .display{margin-bottom:1.8rem;font-size:clamp(2rem,3.4vw,3.1rem)}
.science__copy p{max-width:34rem;margin-bottom:1em;color:var(--fg-soft)}
.science__words li{padding:1.1rem 0;border-bottom:1px solid var(--line);font:330 clamp(2rem,3.6vw,3.4rem)/1 var(--serif);letter-spacing:-.02em;color:var(--fg)}
.science__words li:first-child{border-top:1px solid var(--line)}
.science__care{margin-top:2.6rem;max-width:42rem;font-size:.9rem;line-height:1.6;color:var(--fg-soft)}
@media (max-width:899px){.science__grid{grid-template-columns:1fr}}

/* ── journal ── */
.journal__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.journal__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto;gap:clamp(1.4rem,3vw,3rem)}
.jcard{position:relative;display:flex;flex-direction:column;gap:1.4rem}
.jcard--lg{grid-row:1/3}
.jcard__art{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--celestial-pearl);color:var(--cosmic-sapphire);position:relative}
.jcard__art svg{width:100%;height:100%;transition:transform 1.4s var(--ease)}
.jcard:hover .jcard__art svg{transform:scale(1.04)}
.jcard--sm{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.4rem;align-items:start}
.jcard--sm .jcard__art{aspect-ratio:1/1.05}
.jcard__title{font:380 clamp(1.5rem,2.2vw,2.2rem)/1.1 var(--serif);letter-spacing:-.015em;margin-bottom:1rem;text-wrap:balance}
.jcard--lg .jcard__title{font-size:clamp(1.9rem,3.2vw,3.1rem)}
.jcard__teaser p{color:var(--fg-soft);max-width:30rem}
.jcard__teaser{margin-bottom:.8rem}
.jcard .link-cta::after{content:"";position:absolute;inset:0}
.jcard .link-cta{position:static}
.gold-fill{fill:var(--mystic-lilac)}.gold-stroke{stroke:var(--mystic-lilac);stroke-width:1.2;fill:none}
@media (max-width:899px){.journal__grid{grid-template-columns:1fr}.jcard--lg{grid-row:auto}}
@media (max-width:479px){.jcard--sm{grid-template-columns:1fr}.jcard--sm .jcard__art{aspect-ratio:3/2}}

/* ── testimonials ── */
.testimonials__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.quote{padding:2rem;background:var(--pure-pearl);border:1px solid var(--celestial-pearl)}
.quote blockquote p{font:340 1.6rem/1.3 var(--serif)}
.quote figcaption{margin-top:1.4rem;font:600 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow)}

/* ── final CTA ── */
.final-cta{padding-block:calc(var(--section)*1.15)}
.final-cta__head{max-width:46rem;margin-bottom:clamp(3.5rem,7vw,6rem)}
.final-cta__head .lead{margin-top:2rem}
.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.6rem)}
.choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:280px;padding:clamp(1.5rem,2.4vw,2.4rem);background:var(--pure-pearl);border:1px solid var(--celestial-pearl);transition:transform .7s var(--ease)}
.choice:hover{transform:translateY(-5px)}
.choice__line{font:360 clamp(1.7rem,2.4vw,2.3rem)/1.1 var(--serif);letter-spacing:-.015em;margin-bottom:auto;padding-bottom:1.6rem}
.choice--astro{background:var(--pure-pearl);border-color:var(--celestial-pearl);--rule:var(--mystic-lilac)}
.choice--synera{background:var(--celestial-pearl);border-color:var(--white);--rule:var(--sky-aqua);border-radius:2px 2px 2px 56px}
.choice--plain{background:transparent;border-color:var(--celestial-blue)}
.choice .link-cta{color:inherit}
@media (max-width:899px){.choices{grid-template-columns:1fr}.choice{min-height:0}}

/* ── footer ── */
.site-footer{background:var(--cosmic-sapphire);color:var(--white);padding:clamp(80px,10vw,150px) 0 calc(40px + env(safe-area-inset-bottom));--fg:var(--white);--fg-soft:var(--celestial-pearl);--line:color-mix(in srgb,var(--celestial-pearl) 22%,transparent);--focus:var(--sky-aqua)}
.site-footer__statement{font-size:clamp(2.2rem,5.4vw,4.8rem);margin-bottom:clamp(3.5rem,7vw,6rem);color:var(--white)}
.site-footer__grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;gap:clamp(2rem,4vw,4rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.site-footer__wordmark{display:flex;align-items:center;gap:.9rem;font:400 1.7rem/1 var(--serif);margin-bottom:1rem}
.site-footer__name{color:var(--starlight-gold);font:600 .74rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8rem}
.site-footer__line{color:var(--fg-soft);font-size:.95rem;max-width:22rem}
.site-footer__links{display:grid;gap:.55rem}
.site-footer__links a,.site-footer__links span{font-size:.95rem;text-decoration:none;color:var(--white);transition:color .3s}
.site-footer__links a:hover{color:var(--sky-aqua)}
.site-footer__links a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.site-footer__links a:hover{background-size:100% 1px}
.site-footer__contact{margin-top:1.4rem}
.site-footer__notice{margin-top:clamp(3rem,5vw,4.5rem);max-width:52rem;font-size:.85rem;line-height:1.65;color:var(--fg-soft)}
.site-footer__legal{margin-top:1.6rem;font:500 .7rem/1 var(--sans);letter-spacing:.16em;color:var(--fg-soft)}
@media (max-width:999px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.site-footer__grid{grid-template-columns:1fr}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

/* ── inner pages ── */
.page-hero{position:relative;overflow:hidden;padding:calc(var(--hh) + clamp(3rem,7vw,6rem)) 0 clamp(3.5rem,8vw,7rem);background:var(--hero-bg)}
.page-hero--astro,.page-hero--plain{--hero-bg:linear-gradient(180deg,var(--moonlit-ivory),var(--pure-pearl));--bg:var(--pure-pearl)}
.page-hero--synera{--hero-bg:linear-gradient(180deg,var(--pure-pearl),var(--celestial-pearl));--bg:var(--celestial-pearl);--fg-soft:var(--body-on-tint)}
.page-hero__inner{position:relative;z-index:1}

.page-art{position:absolute;inset:0;width:100%;height:100%;color:var(--celestial-blue);opacity:.3;pointer-events:none}
.page-hero--synera .page-art{color:var(--sky-aqua);opacity:.7}
.page-hero--astro .page-art{color:var(--mystic-lilac);opacity:.9}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.4rem;font:500 .8rem/1.2 var(--sans);letter-spacing:.06em;color:var(--fg-soft)}
.crumbs li+li::before{content:"/";margin-right:.6rem;opacity:.5}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.subnav{position:sticky;top:68px;z-index:30;background:color-mix(in srgb,var(--moonlit-ivory) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.subnav ul{display:flex;gap:clamp(1.4rem,3vw,2.8rem);overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;padding:1.1rem 0;font:600 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--body-text);border-bottom:1px solid transparent;transition:color .3s}
.subnav a:hover,.subnav a[aria-current]{color:var(--cosmic-sapphire);border-bottom-color:var(--rule)}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem)}
.principles li{padding-top:1.6rem;border-top:1px solid var(--rule)}
.principles__title{font:380 clamp(1.7rem,2.4vw,2.3rem)/1.1 var(--serif);margin-bottom:1rem;letter-spacing:-.01em}
.principles p{color:var(--fg-soft);max-width:22rem}
.note__text{font:340 clamp(1.4rem,2vw,1.85rem)/1.35 var(--serif);max-width:32rem}
.prompts li{padding:1.5rem 0;border-bottom:1px solid var(--line);font:340 clamp(1.4rem,2vw,1.9rem)/1.3 var(--serif);max-width:34rem}
.prompts li:first-child{border-top:1px solid var(--line)}
.details{margin-top:2.4rem}
.related{display:flex;flex-wrap:wrap;gap:.8rem}
.related a{display:inline-flex;align-items:center;min-height:48px;padding:0 1.4rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:500;transition:background .4s,color .4s,border-color .4s}
.related a:hover{background:var(--celestial-pearl);color:var(--cosmic-sapphire);border-color:var(--celestial-blue)}
.crosslink{display:grid;gap:1.2rem;justify-items:start;max-width:40rem}
.crosslink__text{font:340 clamp(1.7rem,2.6vw,2.4rem)/1.25 var(--serif)}
.care{margin-top:2.6rem;max-width:44rem;font-size:.92rem;line-height:1.65;color:var(--fg-soft);padding-left:1.2rem;border-left:1px solid var(--rule)}
.index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.index a{display:flex;align-items:flex-end;min-height:150px;padding:1.4rem;background:var(--pure-pearl);color:var(--fg);text-decoration:none;font:360 1.7rem/1.1 var(--serif);transition:background .5s,padding .5s var(--ease)}
.index a:hover{background:var(--celestial-pearl);padding-left:1.9rem}
.chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem)}
.chapters li{padding-top:1.6rem;border-top:1px solid var(--rule)}
.chapters__title{font:380 clamp(1.7rem,2.4vw,2.3rem)/1.1 var(--serif);margin-bottom:1rem}
.chapters p:last-child{color:var(--fg-soft)}
.pathways__grid--page{margin-top:0}
.band__inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);align-items:end}

.band__action p{margin-bottom:1.6rem;color:var(--fg-soft);max-width:26rem}
.band__buttons{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem}
.band{padding-block:clamp(72px,9vw,130px)}
.entries{display:grid;gap:clamp(3rem,6vw,6rem)}
.entry{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,6rem);align-items:center;scroll-margin-top:110px}
.entry:nth-child(even) .entry__art{order:2}
.entry__art{aspect-ratio:3/2;background:var(--celestial-pearl);color:var(--cosmic-sapphire);overflow:hidden}
.entry__art svg{width:100%;height:100%}
.entry__title{font:380 clamp(1.9rem,3.2vw,3rem)/1.08 var(--serif);letter-spacing:-.015em;margin-bottom:1.4rem;text-wrap:balance}
.entry__teaser p{color:var(--fg-soft);font-size:1.15rem;max-width:30rem}
.entry__full{margin-top:1.6rem}
@media (max-width:899px){
  .split,.band__inner,.entry{grid-template-columns:1fr}
  .principles,.chapters{grid-template-columns:1fr}
  .index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entry:nth-child(even) .entry__art{order:0}
}

/* ── pillars of SYNERA ── */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,2vw,2rem);align-items:start}
.pillar__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--celestial-pearl);border-top:2px solid var(--sky-aqua)}
.pillar__media img{width:100%;height:100%;object-fit:cover}
.pillar__waves{position:absolute;inset:0;color:var(--sky-aqua);opacity:.8}
.pillar__waves .art{width:100%;height:100%}
.pillar__initials{position:absolute;inset:0;display:grid;place-items:center;font:300 clamp(3.4rem,6vw,5.6rem)/1 var(--serif);letter-spacing:-.02em;color:var(--cosmic-sapphire)}
.pillar__name{margin-top:1.2rem;font:380 clamp(1.4rem,1.9vw,1.85rem)/1.15 var(--serif);letter-spacing:-.01em}
.pillar__role{margin-top:.5rem;font:600 .7rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow)}
.pillar__bio{margin-top:.8rem;font-size:.98rem;line-height:1.6;color:var(--fg-soft)}
@media (min-width:900px){.pillar:nth-child(even){margin-top:clamp(1.5rem,4vw,4rem)}}
@media (max-width:899px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}}

/* ── contact form ── */
.contact__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2.5rem,7vw,8rem);align-items:start}
.page-hero--contact{padding-bottom:clamp(2rem,4vw,3.5rem)}
.contact.section{padding-top:clamp(2rem,4vw,3.5rem)}
.form{display:grid;gap:2rem}
.field label,.field legend{display:block;margin-bottom:.4rem;font:600 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-soft)}
.field legend{margin-bottom:1rem;padding:0}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:.85rem 0;background:transparent;border:0;border-bottom:1px solid var(--field-line);border-radius:0;font:400 1.15rem/1.5 var(--sans);color:var(--text);transition:border-color .3s,box-shadow .3s}
textarea{resize:vertical;min-height:8rem}
input:focus,textarea:focus{outline:0;border-bottom-color:var(--sky-aqua);box-shadow:0 1px 0 var(--sky-aqua),0 8px 16px -12px var(--sky-aqua)}
input:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--celestial-blue) 45%,transparent);outline-offset:6px}
.field.is-invalid input{border-bottom-color:var(--sunrise-coral);box-shadow:0 1px 0 var(--sunrise-coral)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.chip label{display:inline-flex;align-items:center;min-height:48px;margin:0;padding:0 1.25rem;border:1px solid var(--input-border);border-radius:999px;font:500 .95rem/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--fg);transition:background .35s,color .35s,border-color .35s}
.chip:hover label{border-color:var(--fg)}
.chip input:checked+label{background:var(--cosmic-sapphire);border-color:var(--cosmic-sapphire);color:var(--white)}
.chip input:focus-visible+label{outline:2px solid var(--focus);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start}
.form__status{min-height:1.6em;font-size:.98rem;color:var(--fg-soft)}
.form__status.is-error{color:var(--cosmic-sapphire);font-weight:600;border-left:3px solid var(--sunrise-coral);padding-left:.7rem}
.form__status.is-ok{color:var(--cosmic-sapphire);border-left:3px solid var(--sky-aqua);padding-left:.7rem}
.contact__aside{padding:clamp(1.6rem,3vw,2.6rem);background:var(--celestial-pearl);border-radius:2px 56px 2px 2px}
.contact__aside p{margin-bottom:1.2rem;color:var(--fg-soft)}
.contact__aside strong{font:380 1.4rem/1.2 var(--serif);color:var(--fg)}
.contact__direct{display:grid;gap:.8rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.contact__direct span{display:block;font:600 .68rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);margin-bottom:.2rem}
@media (max-width:899px){.contact__grid{grid-template-columns:1fr}.form .btn{justify-self:stretch}}

/* ── brand themes: Jois Astrology pages (gold accent) · SYNERA pages (aqua accent) ── */
.theme-astro{--btn-bg:var(--starlight-gold);--btn-fg:var(--cosmic-sapphire);--btn-hover-bg:var(--gold-hover);--btn-hover-fg:var(--cosmic-sapphire);--rule:var(--starlight-gold)}
.theme-synera{--btn-bg:var(--sky-aqua);--btn-fg:var(--cosmic-sapphire);--btn-hover-bg:var(--ocean-teal);--btn-hover-fg:var(--cosmic-sapphire);--rule:var(--sky-aqua)}

/* ── motion ── */
.drift{animation:drift var(--dur,60s) linear infinite;animation-play-state:paused}
.hero-disc .drift{animation-play-state:running}
@keyframes drift{to{transform:translateX(calc(var(--p) * -1))}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes fade{to{opacity:1}}
.js [data-reveal]{transition:opacity 1.1s var(--ease) var(--rd,0s),transform 1.3s var(--ease) var(--rd,0s)}
.js [data-reveal]:not(.is-visible){opacity:0;transform:translateY(22px)}
/* the one orchestrated moment: hero on load */
.js .hero__copy>*{opacity:0;animation:rise 1.4s var(--ease) forwards}
.js .hero__eyebrow{animation-delay:.1s}
.js .hero__copy h1{animation-delay:.25s}
.js .hero__text{animation-delay:.55s}
.js .hero__tagline{animation-delay:.68s}
.js .hero__ctas{animation-delay:.75s}
.js .hero-disc .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.6s var(--ease) forwards;animation-delay:calc(.5s + var(--d,0s))}
.js .hero-disc .draw--slow{animation-duration:3.8s;animation-delay:1.8s}
.js .hero-disc .hd-waves{opacity:0;animation:fade 2.6s ease .9s forwards}
.js .hero__caption{opacity:0;animation:fade 1.6s ease 2.4s forwards}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .drift{animation:none!important}
  .js [data-reveal],.js .hero__copy>*,.js .hero__caption,.js .hero-disc .hd-waves{opacity:1!important;transform:none!important}
  .js .hero-disc .draw{stroke-dashoffset:0!important}
  .pathway .c-reveal line{stroke-dashoffset:0}
}
@media print{.site-header,.sticky-cta,.menu{display:none}}
