:root{
  --sand-50:#FBF6EF;--sand-100:#F7F0E6;--sand-200:#EFE5D7;--line:#E4D6C3;--border:#D3C1A9;
  --cream:#FFFDF9;--wash:#FBF3E8;--tint:#F3E1C7;
  --gold:#E2B169;--ochre:#D08A3E;--logo-orange:#F04E36;--terracotta:#B4532E;--terracotta-dark:#8E3B1F;--olive:#6F7A45;--earth:#5A2A17;
  --ink:#2B1A12;--ink-2:#5C4436;--ink-3:#8A7060;
  --peak:linear-gradient(160deg,#E2B169 0%,#D08A3E 30%,#B4532E 65%,#7A3519 100%);
  --peak-h:linear-gradient(90deg,#D08A3E 0%,#B4532E 50%,#6F7A45 100%);
  --shadow-xs:0 1px 2px rgba(43,26,18,.08);--shadow-md:0 6px 18px rgba(43,26,18,.12);
  --ease:cubic-bezier(.2,0,0,1);
  --font-display:Manrope,system-ui,sans-serif;--body:Inter,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--sand-50);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--terracotta-dark);text-decoration:none}
a:hover{color:var(--earth)}
h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0;text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px}
/* 32px either side costs 18% of a 360px screen; claw some back on small phones. */
@media (max-width:600px){.wrap{padding-left:20px;padding-right:20px}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:var(--cream);padding:8px 12px}
:focus-visible{outline:3px solid rgba(226,177,105,.7);outline-offset:2px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.eyebrow--accent{color:var(--terracotta-dark)}.eyebrow--light{color:var(--tint)}.eyebrow--gold{color:var(--gold)}

/* Buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:6px;font:600 14px/1 var(--body);border:1px solid transparent;transition:background 160ms var(--ease),color 160ms var(--ease),border-color 160ms var(--ease);white-space:nowrap}
.btn--lg{height:48px;padding:0 22px;font-size:15px}
.btn--primary{background:var(--terracotta);color:#fff}.btn--primary:hover{background:var(--terracotta-dark);color:#fff}
.btn--peak{background:var(--peak);color:#fff;text-shadow:0 1px 1px rgba(43,26,18,.25)}.btn--peak:hover{filter:brightness(.93);color:#fff}
.btn--secondary{background:var(--cream);color:var(--terracotta);border-color:var(--terracotta)}.btn--secondary:hover{background:var(--wash);color:var(--terracotta-dark)}
.btn--ghost{color:var(--terracotta)}.btn--ghost:hover{background:var(--wash)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,246,239,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.header__inner{display:flex;align-items:center;gap:32px;padding-top:14px;padding-bottom:14px}
.brand img{height:36px;width:auto}
.site-nav{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:22px}
.site-nav .menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;font-weight:500;white-space:nowrap}
.site-nav .menu > li{position:relative}
.site-nav .menu > li > a{display:flex;align-items:center;gap:6px;padding:8px 0;color:var(--ink)}
.site-nav .menu > li > a:hover{color:var(--terracotta)}
.site-nav .menu > li.current-menu-item > a,.site-nav .menu > li.current-menu-ancestor > a{color:var(--terracotta);font-weight:600}
.site-nav .menu-item-has-children > a::after{content:"▾";font-size:10px;color:var(--ink-3)}
.site-nav .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:-16px;min-width:260px;background:var(--cream);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);display:none;flex-direction:column;white-space:normal}
.site-nav li:hover > .sub-menu,.site-nav li:focus-within > .sub-menu{display:flex}
.site-nav .sub-menu a{display:block;padding:9px 12px;border-radius:6px;color:var(--ink);font-size:14px}
.site-nav .sub-menu a:hover{background:var(--wash);color:var(--terracotta-dark)}
.bz-lang,.bz-lang li{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.bz-lang a,.bz-lang-link{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.bz-lang img{display:inline}
.bz-social{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.bz-social__link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:var(--ink-2)}
.bz-social__link:hover{background:var(--wash);color:var(--terracotta)}
.bz-social__icon{width:18px;height:18px;fill:currentColor;display:block}
.hairline{height:2px;background:var(--peak-h)}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--border);border-radius:6px;background:var(--cream);flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.nav-toggle span:not(.screen-reader-text){display:block;width:18px;height:2px;background:var(--ink)}
@media (max-width:960px){
  .nav-toggle{display:flex}
  .header__inner{flex-wrap:wrap}
  .site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:12px;padding-bottom:12px}
  .site-nav.is-open{display:flex}
  .site-nav .menu{flex-direction:column;gap:0}
  .site-nav .menu > li > a{padding:12px 0;border-bottom:1px solid var(--line)}
  .bz-social{justify-content:flex-start;gap:4px;padding-top:4px}
  .bz-social__link{width:40px;height:40px}
  .site-nav .sub-menu{position:static;box-shadow:none;border:0;background:transparent;padding:0 0 8px 12px;min-width:0}
  .site-nav li:hover > .sub-menu{display:none}
  .site-nav li.is-open > .sub-menu{display:flex}
}

/* Hero */
.hero-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero-split__text{display:flex;flex-direction:column;gap:24px}
.hero-split h1{font-size:clamp(40px,5.5vw,68px);line-height:1.04;letter-spacing:-.025em}
.lead{font-size:18px;color:var(--ink-2);margin:0;max-width:520px}
.collage{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:240px 240px;gap:12px}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.collage__main{grid-row:span 2;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%)}
.hero-full{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;overflow:hidden}
.hero-full > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-full__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,26,18,0) 30%,rgba(43,26,18,.8) 100%)}
.hero-full__inner{position:relative;width:100%;padding-bottom:72px;display:flex;flex-direction:column;gap:24px;color:#fff}
.hero-full h1{font-size:clamp(44px,7vw,92px);line-height:1;letter-spacing:-.03em;color:#fff;max-width:900px}
.hero-full__row{display:flex;gap:32px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.hero-full__row p{font-size:18px;margin:0;max-width:520px}

/* About */
/* Label column + statement. The old auto-fit grid made the statement span 2 of 3
   columns, pushing it ~420px in from the left edge. */
.about{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:16px 40px;align-items:start;padding-top:88px;padding-bottom:72px}
.statement{font-family:var(--font-display);font-size:clamp(19px,1.7vw,24px);line-height:1.5;letter-spacing:-.005em;font-weight:600;margin:0;max-width:64ch}
.statement span{color:var(--ink-3)}
@media (max-width:860px){.about{grid-template-columns:1fr;padding-top:64px;padding-bottom:56px}}

/* Path cards */
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;padding-bottom:112px}
.path-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--cream);color:var(--ink);box-shadow:var(--shadow-xs);transition:box-shadow 200ms var(--ease),transform 200ms var(--ease)}
.path-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);color:var(--ink)}
.path-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.path-card__body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px}
.path-card__title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.01em}
.path-card__text{font-size:14px;line-height:1.55;color:var(--ink-2)}

/* Activities */
.band{background:var(--sand-100);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.activities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px;align-items:start;padding-top:96px;padding-bottom:96px}
.activities__head{display:flex;flex-direction:column;gap:16px}
.activities__head h2,.section-head h2{font-size:40px}
.activities__head p{color:var(--ink-2);margin:0;max-width:420px}
.activities__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));border-top:1px solid var(--border)}
.activities__list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 4px;border-bottom:1px solid var(--border);color:var(--ink);font-size:15px;font-weight:500}
.activities__list a:hover{background:var(--wash);color:var(--earth)}
.arrow{color:var(--ink-3)}

/* Gallery */
section.gallery{padding-top:112px;padding-bottom:112px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.section-head .eyebrow{margin-bottom:12px}
.gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-auto-rows:260px;gap:12px}
.gallery__grid img{width:100%;height:100%;object-fit:cover;border-radius:8px}

/* Testimonials */
.testimonials{background:var(--earth);color:#fff}
.testimonials .wrap{padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:48px}
.testimonials__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px}
.testimonials figure{margin:0;display:flex;flex-direction:column;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.testimonials blockquote{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.5;font-weight:500}
.testimonials figcaption{font-size:13px;color:var(--tint)}

/* Contact + footer */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px;align-items:center;padding-top:96px;padding-bottom:96px}
.contact h2{font-size:clamp(32px,4vw,48px)}
.contact__side{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.contact__email{font-family:var(--font-display);font-weight:600;font-size:20px}
.site-footer{border-top:1px solid var(--line);background:var(--sand-100)}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px;font-size:13px;color:var(--ink-2)}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:24px;flex-wrap:wrap}

/* Inner pages (non-Elementor) */
.content{padding-top:64px;padding-bottom:96px;max-width:860px}
.page-title{font-size:clamp(32px,4vw,48px);margin-bottom:32px}
.entry-content{font-size:17px}
/* h1,h2,h3 are margin:0 globally; give section headings air inside page content. */
.entry-content h2{margin-top:64px}
.entry-content h3{margin-top:32px}
.entry-content > *:first-child{margin-top:0}
.entry-content img{border-radius:8px}
.entry-thumb{border-radius:12px;margin-bottom:32px}
.entry{padding:24px 0;border-bottom:1px solid var(--line)}
.entry__title{font-size:24px}

/* Page blocks: video embed, commitments, team grid */
.bz-lead{font-size:19px;line-height:1.6;color:var(--ink-2)}
.bz-video{margin:40px 0;position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--sand-200);box-shadow:var(--shadow-md)}
.bz-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bz-commitments{display:flex;flex-direction:column;gap:40px;margin:32px 0 16px}
.bz-commitment{display:flex;flex-direction:column;gap:12px;padding-left:20px;border-left:2px solid var(--line)}
.bz-commitment h3{font-size:22px;color:var(--terracotta-dark)}
.bz-commitment p{margin:0}
.bz-partner-row{margin-top:4px}
.bz-partner{display:inline-block;padding:10px 14px;background:var(--cream);border:1px solid var(--border);border-radius:8px}
.bz-partner:hover{background:var(--wash)}
.bz-partner img{height:48px;width:auto}
.bz-team{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:32px 20px}
.bz-team__member{display:flex;flex-direction:column;gap:3px;text-align:center}
.bz-team__member img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin-bottom:12px;background:var(--sand-200)}
.bz-team__photo--empty{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:50%;margin-bottom:12px;background:var(--sand-200);font-family:var(--font-display);font-size:44px;font-weight:700;color:var(--ink-3)}
.bz-team__name{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.35;letter-spacing:-.01em}
.bz-team__role{font-size:13px;line-height:1.35;color:var(--ink-3)}

/* Yoga page: hero, retreat grid, teacher accordion, video row */
.bz-hero{margin:0 0 32px;float:right;width:min(42%,300px);margin-left:28px}
.bz-hero img{width:100%;border-radius:12px;box-shadow:var(--shadow-md)}
.bz-hero figcaption{margin-top:8px;font-size:12px;color:var(--ink-3);text-align:center}
@media (max-width:620px){.bz-hero{float:none;width:100%;margin-left:0}}
.bz-includes{margin:24px 0;padding:20px 24px;background:var(--sand-100);border:1px solid var(--line);border-radius:12px}
.bz-includes__title{margin:0 0 8px;font-weight:600}
.bz-includes ul{margin:0;padding-left:20px;columns:2;font-size:15px}
@media (max-width:520px){.bz-includes ul{columns:1}}

.bz-retreats{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:1fr;gap:16px;clear:both}
/* A short list (activity pages) sits centred under its heading instead of hugging the left. */
@media (min-width:700px){.bz-retreats:not(:has(> li:nth-child(4))){grid-template-columns:repeat(auto-fit,minmax(230px,300px));justify-content:start}}
.bz-retreat{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px;background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs)}
.bz-retreat.is-full{opacity:.72}
.bz-retreat__dates{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--logo-orange)}
.bz-retreat__title{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.bz-retreat__badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:var(--logo-orange);color:var(--cream);font-family:var(--body);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}
.bz-retreat__teacher{font-size:14px;color:var(--ink-2);margin-bottom:10px}
.bz-retreat__link{margin-top:auto;align-self:flex-start;padding:7px 14px;border:1px solid var(--logo-orange);border-radius:6px;font-size:13px;font-weight:600;color:var(--logo-orange)}
.bz-retreat__link:hover{background:var(--wash);color:var(--logo-orange)}

.bz-teachers{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:28px 20px}
.bz-teacher{display:flex;flex-direction:column;gap:10px}
.bz-teacher__photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--sand-200)}
.bz-teacher__photo--empty{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:44px;font-weight:700;color:var(--ink-3)}
.bz-teacher__bio summary{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.35;letter-spacing:-.01em;cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:6px}
.bz-teacher__bio summary::-webkit-details-marker{display:none}
.bz-teacher__bio summary::after{content:"▾";font-size:11px;color:var(--ink-3);transition:transform 160ms var(--ease)}
.bz-teacher__bio[open] summary::after{transform:rotate(180deg)}
.bz-teacher__bio summary:hover{color:var(--terracotta)}
.bz-teacher__bio p{margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--ink-2)}

.bz-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:48px 0 0;clear:both}
.bz-videos .bz-video{margin:0}

/* Horizontal photo strip — stands in for the original's JS carousels */
.bz-strip{list-style:none;margin:24px 0 0;padding:0 0 12px;display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,320px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.bz-strip li{scroll-snap-align:start}
.bz-strip img{width:100%;height:240px;object-fit:cover;border-radius:12px;background:var(--sand-200)}
.bz-strip::-webkit-scrollbar{height:8px}
.bz-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}
.bz-strip::-webkit-scrollbar-track{background:transparent}
@media (prefers-reduced-motion:reduce){.bz-strip{scroll-snap-type:none}}

/* Generic page blocks: image grid, flip-box cards, document links */
.bz-grid{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.bz-grid li{margin:0}
.bz-grid img{width:100%;height:220px;object-fit:cover;border-radius:10px;background:var(--sand-200)}
.bz-grid a{display:block;border-radius:10px}
.bz-grid a:hover img{filter:brightness(.94)}
.bz-grid:has(li:only-child) img{height:auto;max-height:460px;object-fit:contain;background:transparent}

.bz-flips{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-auto-rows:1fr;gap:16px}
.bz-flip{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs)}
.bz-flip__title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.01em}
.bz-flip__text{font-size:14px;line-height:1.6;color:var(--ink-2)}
.bz-flip__link{margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;color:var(--terracotta)}
.bz-flip__link:hover{color:var(--terracotta-dark)}

.bz-doc{margin:20px 0}
.bz-doc__link{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:var(--cream);border:1px solid var(--terracotta);border-radius:6px;font-size:14px;font-weight:600;color:var(--terracotta)}
.bz-doc__link::before{content:"↓";font-weight:700}
.bz-doc__link:hover{background:var(--wash);color:var(--terracotta-dark)}

/* Filterable gallery + lightbox */
.bz-gallery{margin:24px 0 0}
.bz-gallery__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bz-tab{padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:var(--cream);font:600 13px/1 var(--body);color:var(--ink-2);cursor:pointer;transition:background 160ms var(--ease),color 160ms var(--ease),border-color 160ms var(--ease)}
.bz-tab:hover{background:var(--wash);color:var(--terracotta)}
.bz-tab.is-active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.bz-gallery__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}
.bz-shot{margin:0}
.bz-shot__link{display:block;border-radius:10px;overflow:hidden}
.bz-shot img{width:100%;height:190px;object-fit:cover;background:var(--sand-200);transition:transform 220ms var(--ease),filter 220ms var(--ease)}
.bz-shot__link:hover img{transform:scale(1.03);filter:brightness(.95)}
.bz-gallery__empty{margin-top:24px;color:var(--ink-3)}

body.bz-noscroll{overflow:hidden}
.bz-lightbox{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center}
.bz-lightbox[hidden]{display:none}
.bz-lightbox__backdrop{position:absolute;inset:0;background:rgba(43,26,18,.92)}
.bz-lightbox__figure{position:relative;margin:0;max-width:min(94vw,1200px);max-height:88vh;display:flex}
.bz-lightbox__img{max-width:100%;max-height:88vh;width:auto;height:auto;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.bz-lightbox__btn{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,253,249,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background 160ms var(--ease)}
.bz-lightbox__btn:hover{background:rgba(255,253,249,.26)}
.bz-lightbox__prev{left:16px}
.bz-lightbox__next{right:16px}
.bz-lightbox__close{top:16px;right:16px;font-size:26px}
.bz-lightbox__count{position:absolute;bottom:18px;left:0;right:0;z-index:2;margin:0;text-align:center;font-size:13px;color:var(--tint)}
@media (max-width:620px){.bz-lightbox__btn{width:42px;height:42px}.bz-lightbox__prev{left:6px}.bz-lightbox__next{right:6px}}

/* Contact page: detail cards, form, map */
.bz-contact{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px}
.bz-contact__item{margin:0}
.bz-contact__link{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;padding:20px;background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs);color:var(--ink)}
a.bz-contact__link:hover{background:var(--wash);border-color:var(--terracotta);color:var(--ink)}
.bz-contact__icon{width:26px;height:26px;fill:var(--terracotta);margin-bottom:2px}
.bz-contact__title{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em}
.bz-contact__text{font-size:14px;line-height:1.5;color:var(--ink-2)}
.bz-contact__social{margin-top:20px}
.bz-contact__social .bz-social{gap:6px}
.bz-contact__social .bz-social__link{width:40px;height:40px;border:1px solid var(--border);background:var(--cream)}
.bz-contact__social .bz-social__icon{width:20px;height:20px}

.bz-form{margin:24px 0 0;max-width:620px;display:flex;flex-direction:column;gap:16px}
.bz-form__row{margin:0;display:flex;flex-direction:column;gap:6px}
.bz-form__row label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink-2)}
.bz-form input,.bz-form textarea{width:100%;padding:11px 14px;background:var(--cream);border:1px solid var(--border);border-radius:8px;font:400 15px/1.5 var(--body);color:var(--ink)}
.bz-form input:focus,.bz-form textarea:focus{border-color:var(--terracotta);outline:none;box-shadow:0 0 0 3px rgba(226,177,105,.35)}
.bz-form textarea{resize:vertical;min-height:150px}
.bz-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bz-form__actions{margin:4px 0 0}
.bz-form__note{margin:0;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}
.bz-form__note--ok{background:#EEF3E4;border:1px solid var(--olive);color:#3F4A1F}
.bz-form__note--error{background:#FBEDE7;border:1px solid var(--terracotta);color:var(--terracotta-dark)}

.bz-map{margin:48px 0 0;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.bz-map iframe{width:100%;height:100%;border:0;display:block}

/* ------------------------------------------------------------------ Elementor
   Pages are built with Elementor's own widgets (scripts/build-elementor.php); the
   classes below give them the theme's look. Layout (grids, gaps, padding) lives in
   the Elementor settings, so it stays editable there. */
.elementor h1.elementor-heading-title,.elementor h2.elementor-heading-title,.elementor h3.elementor-heading-title{line-height:1.1}
.elementor-widget-text-editor > :first-child{margin-top:0}
.elementor-widget-text-editor > :last-child{margin-bottom:0}
.entry-content .elementor-widget-text-editor{margin:1em 0}
.entry-content .e-con > .elementor-widget-text-editor:first-child{margin-top:0}
.entry-content .elementor-widget-heading h2{margin-top:64px;margin-bottom:16px}
.entry-content .elementor-widget-heading h3{margin-top:32px;margin-bottom:8px}
.entry-content > .elementor > .e-con:first-child > .elementor-widget-heading:first-child h2{margin-top:0}

/* Buttons (Button widget + class bz-el-btn--peak|primary|secondary|ghost|link) */
.elementor-widget.bz-el-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:6px;font:600 14px/1 var(--body);border:1px solid transparent;background:transparent;color:var(--terracotta);transition:background 160ms var(--ease),color 160ms var(--ease),border-color 160ms var(--ease);white-space:nowrap}
.elementor-widget.bz-el-btn .elementor-button.elementor-size-lg{height:48px;padding:0 22px;font-size:15px}
.elementor-widget.bz-el-btn--peak .elementor-button{background:var(--peak);color:#fff;text-shadow:0 1px 1px rgba(43,26,18,.25)}
.elementor-widget.bz-el-btn--peak .elementor-button:hover{filter:brightness(.93);color:#fff}
.elementor-widget.bz-el-btn--primary .elementor-button{background:var(--terracotta);color:#fff}
.elementor-widget.bz-el-btn--primary .elementor-button:hover{background:var(--terracotta-dark);color:#fff}
.elementor-widget.bz-el-btn--secondary .elementor-button{background:var(--cream);color:var(--terracotta);border-color:var(--terracotta)}
.elementor-widget.bz-el-btn--secondary .elementor-button:hover{background:var(--wash);color:var(--terracotta-dark)}
.elementor-widget.bz-el-btn--ghost .elementor-button:hover{background:var(--wash)}
.elementor-widget.bz-el-btn--link .elementor-button{height:auto;padding:12px 0 0;font-size:13px;border:0}
.elementor-widget.bz-el-btn--link .elementor-button:hover{color:var(--terracotta-dark);background:transparent}

/* Videos, photos, galleries, carousels, map */
.elementor-widget.bz-el-video{margin:40px 0}
.e-grid > .elementor-widget.bz-el-video{margin:0}
.bz-el-video .elementor-wrapper{border-radius:12px;overflow:hidden;background:var(--sand-200);box-shadow:var(--shadow-md)}
.elementor-widget.bz-el-photo{margin:28px 0}
.elementor .bz-el-photo img{border-radius:10px}
.elementor-widget.bz-el-grid{margin:28px 0}
.elementor .bz-el-grid .gallery-item img{width:100%;height:220px;object-fit:cover;border-radius:10px;background:var(--sand-200);border:0!important}
.elementor .bz-el-grid .gallery-item a:hover img{filter:brightness(.94)}
.elementor-widget.bz-el-strip{margin:24px 0 8px}
.elementor .bz-el-strip .swiper-slide-image{width:100%;height:240px;object-fit:cover;border-radius:12px;background:var(--sand-200)}
.bz-el-strip .elementor-swiper-button{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.elementor-widget.bz-el-map{margin-top:48px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.elementor .bz-el-map iframe{display:block;width:100%}

/* Yoga hero photo */
.elementor .bz-el-hero img{width:100%;border-radius:12px;box-shadow:var(--shadow-md)}
.bz-el-hero .widget-image-caption{margin-top:8px;font-size:12px;color:var(--ink-3);text-align:center}

/* Cards: activity cards and contact boxes */
.e-con.bz-el-card{background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs)}
:is(.entry-content,.bz-layout) .bz-el-card .elementor-heading-title{margin:0;font-size:20px;letter-spacing:-.01em}
.bz-el-card__text p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
:is(.entry-content,.bz-layout) .bz-el-card .elementor-widget-text-editor{margin:0}
.elementor-widget.bz-el-card__link{margin-top:auto}
.elementor-widget.bz-el-contact{height:100%;padding:20px;background:var(--cream);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs)}
.elementor-widget.bz-el-contact:hover{background:var(--wash);border-color:var(--terracotta)}
.bz-el-contact .elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.bz-el-contact .elementor-icon-box-icon{margin:0 0 2px}
.bz-el-contact .elementor-icon{font-size:26px;color:var(--terracotta);fill:var(--terracotta)}
.bz-el-contact .elementor-icon svg{width:26px;height:26px;fill:var(--terracotta)}
:is(.entry-content,.bz-layout) .bz-el-contact .elementor-icon-box-title{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}
.bz-el-contact .elementor-icon-box-title a{color:var(--ink)}
.bz-el-contact .elementor-icon-box-description{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}

/* About Us commitments + partner logo */
:is(.entry-content,.bz-layout) .bz-el-commitment .elementor-heading-title{margin:0;font-size:22px;color:var(--terracotta-dark)}
:is(.entry-content,.bz-layout) .bz-el-commitment .elementor-widget-text-editor{margin:0}
.bz-el-partner a{display:inline-block;padding:10px 14px;background:var(--cream);border:1px solid var(--border);border-radius:8px}
.bz-el-partner a:hover{background:var(--wash)}
.elementor .bz-el-partner img{height:48px;width:auto;border-radius:0}

/* Gallery page tabs (Nested Tabs widget, styled through its own variables so the
   widget's Style settings in Elementor still override them) */
.elementor-widget-n-tabs.bz-el-tabs{margin-top:24px;--n-tabs-gap:0px;--n-tabs-heading-justify-content:flex-start;--n-tabs-heading-wrap:wrap;--n-tabs-title-gap:8px;--n-tabs-title-padding-top:7px;--n-tabs-title-padding-bottom:7px;--n-tabs-title-padding-left:14px;--n-tabs-title-padding-right:14px;--n-tabs-title-font-size:13px;--n-tabs-title-border-radius:999px;--n-tabs-title-background-color:var(--cream);--n-tabs-title-color:var(--ink-2);--n-tabs-title-background-color-hover:var(--wash);--n-tabs-title-color-hover:var(--terracotta);--n-tabs-title-background-color-active:var(--terracotta);--n-tabs-title-color-active:#fff;--n-tabs-border-width:0px}
.bz-el-tabs .e-n-tabs-heading{gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.elementor-widget-n-tabs.bz-el-tabs .e-n-tab-title{border:1px solid var(--border);font-family:var(--body);font-weight:600;line-height:1}
.elementor-widget-n-tabs.bz-el-tabs .e-n-tab-title[aria-selected="true"]{border-color:var(--terracotta)}
.bz-el-tabs .e-n-tabs-content > .e-con{padding:0;border:0}
.elementor-widget.bz-el-tabs .elementor-widget.bz-el-grid{margin:0}
.elementor .bz-el-tabs .gallery-item img{height:190px}

/* Home page */
.bz-home-title .elementor-heading-title{font-size:clamp(40px,5.5vw,68px);line-height:1.04;letter-spacing:-.025em}
.bz-home-h2 .elementor-heading-title{font-size:40px}
.bz-home-contact .elementor-heading-title{font-size:clamp(32px,4vw,48px)}
.bz-home-muted p{margin:0;max-width:420px;color:var(--ink-2)}
.e-con.bz-collage > .elementor-widget-image{height:100%}
.elementor .bz-collage img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.e-con.bz-collage > .bz-collage__main{grid-row:span 2}
.elementor .bz-collage__main img{clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%)}
.e-con.bz-path{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--cream);color:var(--ink);box-shadow:var(--shadow-xs);transition:box-shadow 200ms var(--ease),transform 200ms var(--ease)}
.e-con.bz-path:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);color:var(--ink)}
.elementor .bz-path__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bz-path__title .elementor-heading-title{font-size:22px;font-weight:700;letter-spacing:-.01em}
.bz-path__text p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.e-con.bz-band{background:var(--sand-100);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bz-activities .elementor-icon-list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));border-top:1px solid var(--border)}
.bz-activities .elementor-icon-list-item{margin:0!important;padding:0!important}
.bz-activities .elementor-icon-list-item > a{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:18px 4px;border-bottom:1px solid var(--border);color:var(--ink);font-size:15px;font-weight:500}
.bz-activities .elementor-icon-list-item > a::after{content:"→";color:var(--ink-3)}
.bz-activities .elementor-icon-list-item > a:hover{background:var(--wash);color:var(--earth)}
.bz-activities .elementor-icon-list-icon{display:none}
.bz-home-gallery{grid-auto-rows:260px}
.e-con.bz-home-gallery > .elementor-widget-image{height:100%}
.elementor .bz-home-gallery img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.e-con.bz-testimonials{background:var(--earth);color:#fff}
.bz-quote{padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.bz-quote .elementor-testimonial-wrapper{text-align:left}
.bz-quote .elementor-testimonial-content{margin:0 0 20px;font-family:var(--font-display);font-size:20px;line-height:1.5;font-weight:500;color:#fff}
.bz-quote .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:none}
.bz-quote .elementor-testimonial-meta,.bz-quote .elementor-testimonial-meta-inner{display:block;text-align:left}
.bz-quote .elementor-testimonial-details{padding:0;text-align:left}
.bz-quote .elementor-testimonial-name{font-size:13px;font-weight:400;color:var(--tint)}
.elementor-widget.contact__email .elementor-heading-title,.elementor-widget.contact__email .elementor-heading-title a{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--terracotta)}

/* Shortcode output inside Elementor pages ([bz_team], [bz_teachers]) — beat `.elementor img`. */
.elementor .bz-team__member img{border-radius:50%}
.elementor .bz-teacher__photo{border-radius:12px}

/* Elementor switched off: pages edited in Elementor show its plain HTML copy, which has
   no classes. Keep it readable — photo galleries as thumbnails, tab buttons hidden. */
.bz-elementor-fallback .entry-content button[role="tab"]:not(.bz-tab){display:none}
.bz-elementor-fallback .entry-content .gallery-item{display:inline-block;width:calc(25% - 8px);margin:0 8px 8px 0;vertical-align:top}
@media (max-width:620px){.bz-elementor-fallback .entry-content .gallery-item{width:calc(50% - 8px)}}
.bz-elementor-fallback .entry-content svg{width:24px;height:24px}
.bz-elementor-fallback .entry-content .gallery-item img{width:100%;height:190px;object-fit:cover;border-radius:10px}
.bz-elementor-fallback .entry-content a > figure{margin:0}
.bz-elementor-fallback .entry-content a:has(> figure > img){display:inline-block;width:calc(33.333% - 8px);margin:0 8px 8px 0;vertical-align:top}
.bz-elementor-fallback .entry-content a > figure > img{width:100%;height:200px;object-fit:cover;border-radius:10px}
.bz-elementor-fallback .entry-content figure > img{max-height:420px;width:auto}

/* Pages rebuilt from the original layout (content/layout/*.json): full-width sections
   of columns, Elementor Full Width template. */
.e-con.bz-layout{font-size:15px;line-height:1.6}
.bz-layout .page-title{margin-bottom:12px}
.bz-layout .page-title .elementor-heading-title{font-size:clamp(32px,4vw,48px)}
.bz-layout h2.elementor-heading-title{font-size:clamp(24px,2.6vw,30px)}
.bz-layout h3.elementor-heading-title{font-size:20px}
.bz-layout .elementor-widget-text-editor h4{margin:0 0 8px;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--terracotta)}
.bz-layout .elementor-widget-text-editor * + h4{margin-top:20px}
.bz-layout .elementor-widget-text-editor p{margin:0 0 10px}
.bz-layout .elementor-widget-text-editor ul{margin:0 0 10px;padding-left:20px}
.elementor .bz-el-pic img{width:100%;border-radius:10px}
.e-con.bz-el-box{border-radius:12px}
.elementor-widget.bz-el-btn--pill .elementor-button{height:34px;padding:0 18px;border-radius:999px;background:var(--logo-orange);border-color:var(--logo-orange);color:#fff;font-size:13px}
.elementor-widget.bz-el-btn--pill .elementor-button:hover{background:var(--cream);color:var(--logo-orange)}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-toggle-item{border:0}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-tab-title{display:flex;align-items:baseline;gap:6px;padding:6px 0 8px;border:0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-tab-title a{color:inherit}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-tab-title.elementor-active,.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-tab-title:hover{color:var(--terracotta)}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle-icon svg{width:9px;height:9px;fill:var(--logo-orange)}
.elementor-widget-toggle.bz-el-toggle .elementor-toggle .elementor-tab-content{padding:8px 0 0;border:0;font-size:13px;line-height:1.55;color:var(--ink-2)}
.elementor-widget-toggle.bz-el-toggle .elementor-tab-content p{margin:0 0 6px}
.bz-layout .elementor-widget.bz-el-video{margin:0}
.bz-layout .elementor-widget.bz-el-strip{margin:0}
/* Flip-box stand-in (activities): photo; description + button fade in on hover/tap */
.e-con.bz-el-flip{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:4/3;background:var(--sand-200)}
.e-con.bz-el-flip > .elementor-widget.bz-el-flip__img{position:absolute;inset:0;height:100%;width:100%}
.elementor .bz-el-flip__img img,.elementor .bz-el-flip__img a{display:block;height:100%;width:100%}
.elementor .bz-el-flip__img img{object-fit:cover;border-radius:0}
.e-con.bz-el-flip > .e-con.bz-el-flip__back{position:absolute;inset:0;background:rgba(180,83,46,.9);color:#fff;text-align:center;opacity:0;transition:opacity 250ms var(--ease)}
.e-con.bz-el-flip:hover > .bz-el-flip__back,.e-con.bz-el-flip:focus-within > .bz-el-flip__back{opacity:1}
.bz-el-flip__back .elementor-widget-text-editor{font-size:14px;line-height:1.55}
.bz-el-flip__back .elementor-widget-text-editor p{margin:0}
.bz-el-flip__back .bz-el-btn--pill .elementor-button{background:#fff;border-color:#fff;color:var(--terracotta)}
.bz-layout .elementor-widget-heading h3.elementor-heading-title{font-size:18px}
/* Boxed columns (retreat / tour cards): the original's orange-on-tint card */
.e-con.bz-el-box .elementor-heading-title{color:var(--logo-orange)}
.e-con.bz-el-box .elementor-widget-text-editor{color:var(--terracotta-dark)}

/* People grids on activity pages (teachers, stakeholders): same look as [bz_teachers] */
.elementor .bz-el-person__photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--sand-200)}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-toggle-item{border:0}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-title{display:flex;align-items:baseline;gap:6px;padding:0;border:0;font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-title a{color:inherit}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-title:hover{color:var(--terracotta)}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:none}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-title > a{flex:0 1 auto}
.elementor-widget-toggle.bz-el-person__bio .elementor-tab-title::after{content:"▾";font-size:11px;color:var(--ink-3);transition:transform 160ms var(--ease)}
.elementor-widget-toggle.bz-el-person__bio .elementor-tab-title.elementor-active::after{transform:rotate(180deg)}
.elementor-widget-toggle.bz-el-person__bio .elementor-toggle .elementor-tab-content{padding:10px 0 0;border:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.elementor-widget-toggle.bz-el-person__bio .elementor-tab-content p{margin:0 0 10px}
