/* Beyond Kundalini Yoga School — site styles
   Mobile-first. Warm linen ground, olive accent, clay detail. */
:root{
  --linen:#f5f1ea; --paper:#fbf9f5; --sand:#ebe4d8; --line:#ddd5c7;
  --ink:#2b2a26; --soft:#5f5a51; --muted:#8a8378;
  --olive:#56634a; --olive-deep:#424d38; --clay:#a9694a;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
  --read:40rem; --wide:72rem; --gut:1.35rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--linen);color:var(--ink);font:400 1.0625rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--olive-deep);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--clay)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.005em;color:var(--ink)}
p{margin:0 0 1.1em}
strong{font-weight:600}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

/* ---------- Header & navigation ---------- */
.site-head{position:sticky;top:0;z-index:20;background:rgba(245,241,234,.95);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.head-in{max-width:var(--wide);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem var(--gut);gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.brand img{width:40px;height:auto}
.brand span{font:500 1.35rem/1 var(--serif);letter-spacing:.14em;text-transform:uppercase}
.brand small{display:block;font:500 .62rem/1.3 var(--sans);letter-spacing:.2em;color:var(--muted);margin-top:.25rem}
.head-right{display:flex;align-items:center;gap:1.6rem}
.head-link{display:none;text-decoration:none;color:var(--ink);font:500 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.head-link:hover,.head-link[aria-current]{color:var(--clay)}
@media(min-width:860px){.head-link{display:inline}}
.menu-btn{display:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.7rem .95rem;border-radius:999px;cursor:pointer}
.js .menu-btn{display:inline-flex}
.menu-btn:hover{border-color:var(--olive)}
.site-nav{border-top:1px solid var(--line);background:var(--linen)}
.js .site-nav{display:none}
.js .nav-open .site-nav{display:block;position:absolute;left:0;right:0;top:100%;box-shadow:0 18px 30px -20px rgba(43,42,38,.35);max-height:calc(100vh - 80px);overflow:auto}
.nav-in{max-width:var(--wide);margin:auto;padding:1.2rem var(--gut) 1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.5rem}
.grp-home{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:.6rem}
.grp-home a{font:500 1.35rem/1.2 var(--serif);text-decoration:none;color:var(--ink)}
.grp{font:600 .68rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin:0 0 .5rem}
.grp a{color:inherit;text-decoration:none}
.site-nav ul,.foot-nav ul{list-style:none;margin:0;padding:0}
.nav-grp li a{display:block;padding:.35rem 0;font:500 1.2rem/1.25 var(--serif);text-decoration:none;color:var(--ink)}
.site-nav a[aria-current=page]{color:var(--clay)}
.site-nav a:hover{color:var(--clay)}
@media(min-width:860px){.nav-in{grid-template-columns:repeat(5,1fr)}.grp-home{display:none}}

/* ---------- Page hero ---------- */
.page-hero{max-width:var(--wide);margin:auto;padding:2.6rem var(--gut) 0}
.page-hero .text{max-width:var(--read)}
.eyebrow{font:600 .7rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin:0 0 1rem}
.page-hero h1{font-size:clamp(2.6rem,10vw,4.6rem);margin:0 0 .6rem;font-weight:400}
.subtitle{font:italic 400 1.45rem/1.35 var(--serif);color:var(--soft);margin:0}
.hero-img{margin:2rem calc(var(--gut) * -1) 0;overflow:hidden;background:var(--sand)}
.hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-img.tall img{aspect-ratio:4/5}
@media(min-width:760px){
  .hero-img{margin:2.4rem 0 0;border-radius:4px}
  .hero-img img,.hero-img.tall img{aspect-ratio:16/9}
}
@media(min-width:960px){
  .page-hero.split{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:center;padding-top:4rem}
  .page-hero.split .hero-img{margin:0}
  .page-hero.split .hero-img img{aspect-ratio:4/5}
  .page-hero.split .hero-img:not(.tall) img{aspect-ratio:5/4}
}
.page-hero.plain{padding-bottom:1rem}

/* ---------- Reading column ---------- */
.content{max-width:calc(var(--read) + 2*var(--gut));margin:auto;padding:2.8rem var(--gut) 4rem}
.content>.lead:first-child,.content .lead{font:400 1.6rem/1.4 var(--serif);color:var(--ink);margin-bottom:1.2em}
.content h2{font-size:clamp(1.9rem,6vw,2.4rem);margin:3.2rem 0 1rem;font-weight:400}
.content h2::before{content:"";display:block;width:2.2rem;height:1px;background:var(--clay);margin-bottom:1.2rem}
.content h3{font-size:1.45rem;font-style:italic;font-weight:500;margin:-.2rem 0 1rem;color:var(--soft)}
.content p strong:only-child{font:italic 500 1.3rem/1.45 var(--serif);color:var(--olive-deep)}
.closing{margin:3.5rem 0 0;padding-top:2rem;border-top:1px solid var(--line);text-align:center;font:italic 400 1.55rem/1.4 var(--serif);color:var(--soft)}

/* figures inside content */
.fig{margin:2.6rem calc(var(--gut) * -1)}
.fig img{width:100%;background:var(--sand)}
.fig.wide img{aspect-ratio:3/2;object-fit:cover}
.fig.single{margin-left:auto;margin-right:auto;max-width:26rem}
.fig.single img{aspect-ratio:4/5;object-fit:cover}
.fig.pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.fig.pair img{aspect-ratio:3/4;object-fit:cover;height:100%}
.fig.pair.land{grid-template-columns:1fr}
.fig.pair.land img{aspect-ratio:3/2}
@media(min-width:760px){
  .fig{margin-left:-6rem;margin-right:-6rem}
  .fig img{border-radius:3px}
  .fig.pair{gap:1rem}
  .fig.pair.land{grid-template-columns:1fr 1fr}
  .fig.single{margin-left:auto;margin-right:auto}
}

/* practical details block */
.info{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:1.6rem 1.4rem 1.2rem;margin:3rem calc(var(--gut) * -.4) 0}
.info h2{margin-top:0}
.info h2::before{display:none}
.info p:first-of-type{font-size:1rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--olive);color:#fff;text-decoration:none;font:600 .8rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:1rem 1.4rem;border-radius:999px;margin:.5rem .5rem .3rem 0;transition:background .2s}
.btn:hover{background:var(--olive-deep);color:#fff}
.btn.alt{background:transparent;color:var(--olive-deep);box-shadow:inset 0 0 0 1px var(--olive)}
.btn.alt:hover{background:var(--olive);color:#fff}
@media(max-width:480px){.info .btn,.content>.btn{display:flex;justify-content:center;margin-right:0}}

/* lessons accordion */
details.lesson{border-top:1px solid var(--line);padding:0}
details.lesson:last-of-type{border-bottom:1px solid var(--line)}
details.lesson summary{list-style:none;cursor:pointer;padding:1rem 2rem 1rem 0;position:relative;font:500 1.3rem/1.3 var(--serif)}
details.lesson summary::-webkit-details-marker{display:none}
details.lesson summary::after{content:"+";position:absolute;right:.2rem;top:.85rem;font:300 1.5rem/1 var(--sans);color:var(--clay);transition:transform .2s}
details.lesson[open] summary::after{transform:rotate(45deg)}
details.lesson summary strong{font-weight:500}
details.lesson p{margin:0 0 1.2rem;color:var(--soft)}

/* tables */
.schedule{width:100%;border-collapse:collapse;font-size:.98rem;margin:0 0 1.5rem}
.schedule th{font:600 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.6rem .6rem .6rem 0;border-bottom:1px solid var(--ink)}
.schedule td{padding:.9rem .6rem .9rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.schedule td:first-child{font:500 1.15rem/1.3 var(--serif)}
@media(max-width:560px){
  .schedule thead,.schedule tr:first-child:has(th){display:none}
  .schedule tr{display:block;padding:.9rem 0;border-bottom:1px solid var(--line)}
  .schedule td{display:block;border:0;padding:.1rem 0}
  .schedule td:first-child{font-size:1.3rem;margin-bottom:.2rem}
  .schedule td+td{color:var(--soft)}
}

/* teachers */
.portraits{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:2.4rem calc(var(--gut) * -1)}
.portraits figure{margin:0}
.portraits img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.portraits figcaption{font:italic 400 1.15rem/1.3 var(--serif);color:var(--soft);padding:.6rem var(--gut) 0}
@media(min-width:760px){.portraits{gap:1.2rem;margin-left:-4rem;margin-right:-4rem}.portraits img{border-radius:3px}.portraits figcaption{padding-left:0}}

.note-box{border:1px dashed var(--line);border-radius:6px;padding:1.4rem;color:var(--muted);font-size:.95rem;text-align:center;margin:2rem 0}

/* ---------- Homepage ---------- */
.home-hero{max-width:var(--wide);margin:auto;padding:2.2rem var(--gut) 0}
.home-hero h1{font-size:clamp(2.9rem,12vw,4.4rem);font-weight:400;margin:0 0 1.1rem;line-height:1.02}
.motto{font:italic 400 clamp(1.5rem,5.5vw,2.1rem)/1.3 var(--serif);color:var(--olive-deep);margin:0}
@media(min-width:960px){
  .home-hero{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:end;padding-top:4.5rem}
  .home-hero .hero-img{margin:0}
  .home-hero .hero-img img{aspect-ratio:4/5}
  .home-hero .text{padding-bottom:3rem}
}
.band{padding:4.2rem 0;border-top:1px solid var(--line)}
.band.tint{background:var(--paper)}
.band-in{max-width:var(--wide);margin:auto;padding:0 var(--gut)}
.band-head{max-width:var(--read);margin-bottom:2.2rem}
.band h2{font-size:clamp(2.1rem,7vw,3rem);font-weight:400;margin:0 0 .6rem}
.band-head p{color:var(--soft)}
.band-head em,.kicker{font:italic 400 1.35rem/1.4 var(--serif);color:var(--soft)}
.welcome{max-width:var(--read)}
.welcome .lead{font:400 1.65rem/1.4 var(--serif)}
.cards{display:grid;gap:2.6rem}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr;gap:2rem}.cards.three{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column}
.card .img{overflow:hidden;background:var(--sand);margin:0 calc(var(--gut) * -1) 1.2rem}
.card .img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s ease}
.card:hover .img img{transform:scale(1.02)}
@media(min-width:700px){.card .img{margin:0 0 1.2rem;border-radius:3px}}
.card h3{font-size:1.75rem;font-weight:500;margin:0 0 .4rem}
.card p{color:var(--soft);margin-bottom:.8rem}
.card .more{margin-top:auto;font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--olive-deep)}
.card .more:hover{color:var(--clay)}
.text-cards .card{border-top:1px solid var(--ink);padding-top:1.2rem}
.life{position:relative}
.life-grid{display:grid;gap:2rem;align-items:center}
.life blockquote{margin:0;font:italic 400 clamp(2rem,8vw,3.2rem)/1.15 var(--serif);color:var(--ink)}
.life blockquote span{color:var(--clay)}
.life figure{margin:0 calc(var(--gut) * -1)}
.life figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media(min-width:760px){.life-grid{grid-template-columns:1fr 1fr;gap:4rem}.life figure{margin:0}.life figure img{border-radius:3px}}
.split2{display:grid;gap:2rem;align-items:center}
.split2 figure{margin:0 calc(var(--gut) * -1)}
.split2 figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(min-width:760px){.split2{grid-template-columns:1.1fr 1fr;gap:4rem}.split2 figure{margin:0}.split2 figure img{border-radius:3px}}
.split2 h3{font-size:1.6rem;font-style:italic;font-weight:400;color:var(--soft);margin:0 0 1rem}
.events-box{border:1px dashed var(--line);border-radius:6px;padding:2.2rem 1.4rem;text-align:center;color:var(--muted);font-size:.92rem;margin:1.5rem 0 1rem}
.note{font-size:.85rem;color:var(--muted)}

/* ---------- Footer ---------- */
.site-foot{background:var(--olive-deep);color:#e9e5da;padding:3.5rem var(--gut) 2.5rem;text-align:center}
.site-foot .motto{color:#fff;margin:1rem auto 1.6rem;max-width:22ch}
.site-foot img{width:56px;margin:auto;opacity:.95}
.site-foot a{color:#fff}
.site-foot .addr{font-size:.92rem;letter-spacing:.04em}
.site-foot .muted{display:block;margin-top:1.6rem;font-size:.78rem;color:#bfc4b4;letter-spacing:.06em}
.foot-nav{margin:2.2rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1rem;max-width:56rem;text-align:left}
.foot-grp .grp,.foot-grp .grp a{color:#c9a58f;text-decoration:none}
.foot-grp li a{display:block;padding:.2rem 0;text-decoration:none;font-size:.88rem;color:#e3e5d9}
.foot-grp li a:hover{color:#fff}
@media(min-width:760px){.foot-nav{grid-template-columns:repeat(5,1fr)}}

/* review-only banner */
.preview-flag{background:var(--clay);color:#fff;text-align:center;font:600 .68rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:.45rem 1rem}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Homepage movements ---------- */
.hero-lead{font:400 clamp(1.35rem,4.6vw,1.75rem)/1.4 var(--serif);color:var(--soft);margin:0 0 1.6rem;max-width:30ch}
.scroll-cue{font:600 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--olive-deep);border-bottom:1px solid var(--clay);padding-bottom:.35rem}
.philosophy{padding:5rem 0}
.philo-grid{display:grid;gap:2.4rem;align-items:center}
.philo-text blockquote{margin:0 0 1.6rem;font:italic 400 clamp(2.2rem,8.5vw,3.4rem)/1.12 var(--serif);color:var(--ink)}
.philo-text blockquote span{color:var(--clay)}
.philo-text p{color:var(--soft);max-width:34rem}
.philosophy figure{margin:0 calc(var(--gut) * -1)}
.philosophy figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media(min-width:760px){.philo-grid{grid-template-columns:1.2fr 1fr;gap:5rem}.philosophy figure{margin:0}.philosophy figure img{border-radius:3px}}
.pathways .band-head{margin-bottom:1rem}
.pathway{display:grid;gap:1.4rem;padding:2.4rem 0;border-top:1px solid var(--line)}
.pathway:first-of-type{border-top:0}
.pathway figure{margin:0 calc(var(--gut) * -1)}
.pathway figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pathway .eyebrow{display:none}
.pathway h3{font-size:clamp(2rem,7vw,2.6rem);font-weight:400;margin:0 0 .3rem}
.pw-tag{font:italic 400 1.3rem/1.4 var(--serif);color:var(--soft);margin-bottom:1.1rem}
.pw-list{list-style:none;margin:0 0 1rem;padding:0;border-top:1px solid var(--line)}
.pw-list li a,.event a{display:block;padding:.85rem 1.6rem .85rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative}
.pw-list li a::after,.event a::after{content:"→";position:absolute;right:.1rem;top:.85rem;color:var(--clay);transition:transform .2s}
.pw-list li a:hover::after,.event a:hover::after{transform:translateX(3px)}
.pw-name{display:block;font:500 1.25rem/1.3 var(--serif)}
.pw-desc{display:block;font-size:.93rem;color:var(--soft);line-height:1.55;margin-top:.15rem}
@media(min-width:760px){
  .pathway{grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:3.4rem 0}
  .pathway figure{margin:0}.pathway figure img{border-radius:3px;aspect-ratio:4/3}
  .pathway.flip figure{order:2}
}
.presence{padding:5rem 0}
.presence-grid{display:grid;gap:2.4rem;align-items:center}
.presence h2{font-size:clamp(2.1rem,7vw,3rem);font-weight:400;margin:0 0 1rem}
.presence-text p:not(.eyebrow){color:var(--soft);max-width:30rem}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0 calc(var(--gut) * -1)}
.mosaic figure{margin:0}
.mosaic img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.mosaic .m-wide{grid-column:1/-1}.mosaic .m-wide img{aspect-ratio:16/9}
@media(min-width:760px){.presence-grid{grid-template-columns:1fr 1.4fr;gap:4.5rem}.mosaic{margin:0;gap:.8rem}.mosaic img{border-radius:3px}}
.practical .band-head{margin-bottom:1.6rem}
.practical h3{font:500 1.5rem/1.25 var(--serif);margin:0 0 .9rem}
.practical h3.visit{margin-top:2.4rem}
.practical-grid{display:grid;gap:3rem}
@media(min-width:860px){.practical-grid{grid-template-columns:1.25fr 1fr;gap:4.5rem}}
.event{margin:0 0 1rem}.event a{border-top:1px solid var(--line)}
.practical .schedule{font-size:.92rem}

/* ---------- Language switch ---------- */
.head-link.lang{display:inline;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;letter-spacing:.04em;text-transform:none;font-size:.85rem}
.head-link.lang:hover{border-color:var(--olive)}

/* ---------- Hebrew / RTL ---------- */
[dir=rtl]{--serif:"Frank Ruhl Libre",Georgia,serif;--sans:"Assistant",system-ui,-apple-system,"Segoe UI",sans-serif}
[dir=rtl] body{font-size:1.1rem}
[dir=rtl] *{letter-spacing:0!important}
[dir=rtl] em,[dir=rtl] i,[dir=rtl] .subtitle,[dir=rtl] .closing,[dir=rtl] .motto,[dir=rtl] .kicker,[dir=rtl] .pw-tag,[dir=rtl] blockquote,[dir=rtl] .content h3,[dir=rtl] .split2 h3,[dir=rtl] .portraits figcaption,[dir=rtl] .content p strong:only-child{font-style:normal!important}
[dir=rtl] .brand span{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.14em!important}
[dir=rtl] .eyebrow,[dir=rtl] .grp{font-size:.82rem;font-weight:600}
[dir=rtl] .btn,[dir=rtl] .head-link,[dir=rtl] .menu-btn,[dir=rtl] .scroll-cue,[dir=rtl] .card .more,[dir=rtl] .preview-flag,[dir=rtl] .schedule th{text-transform:none;font-size:.95rem}
[dir=rtl] .head-link.lang{font-family:var(--sans)}
[dir=rtl] .schedule th{text-align:right}
[dir=rtl] .foot-nav{text-align:right}
[dir=rtl] .pw-list li a,[dir=rtl] .event a{padding:.85rem 0 .85rem 1.6rem}
[dir=rtl] .pw-list li a::after,[dir=rtl] .event a::after{content:"←";right:auto;left:.1rem}
[dir=rtl] .pw-list li a:hover::after,[dir=rtl] .event a:hover::after{transform:translateX(-3px)}
[dir=rtl] details.lesson summary{padding:1rem 0 1rem 2rem}
[dir=rtl] details.lesson summary::after{right:auto;left:.2rem}
[dir=rtl] .btn{margin:.5rem 0 .3rem .5rem}
@media(min-width:760px){[dir=rtl] .portraits figcaption{padding-right:0}}
