/* Home page. After the hero the page is one continuous white surface; sections are separated by space and thin rules, not colour blocks. */
.w{background:#fff;color:var(--ink)}
.w .kicker{color:#9A7434}
.w .lede,.w .muted{color:#5C5449}
.w .small{color:#6C6458}
.wsec{position:relative;padding:clamp(80px,9vw,132px) 0}
/* soft resonance divider instead of a hard line */
.wsec+.wsec::before{content:"";position:absolute;left:0;right:0;top:0;height:46px;transform:translateY(-50%);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 46' preserveAspectRatio='none'%3E%3Cpath d='M0 23 C 150 23, 250 8, 400 23 S 650 38, 800 23 S 1050 8, 1200 23' fill='none' stroke='%23C9A35E' stroke-opacity='.35' stroke-width='1'/%3E%3Cpath d='M0 23 C 200 23, 300 14, 450 23 S 700 32, 850 23 S 1100 14, 1200 23' fill='none' stroke='%23C9A35E' stroke-opacity='.18' stroke-width='1'/%3E%3Ccircle cx='600' cy='23' r='3.5' fill='%23C9A35E' fill-opacity='.7'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.wsec.rings-bg{background:radial-gradient(circle at 85% 30%,rgba(201,163,94,.07) 0,transparent 45%),repeating-radial-gradient(circle at 85% 30%,rgba(201,163,94,.06) 0 1px,transparent 1px 34px),#fff}
.wsec.warm{background:linear-gradient(180deg,#fff 0%,#FBF8F2 50%,#fff 100%)}
.sechead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,56px)}
.sechead h2{color:#111}
.sechead .lede{max-width:46ch}
@media (max-width:900px){.sechead{grid-template-columns:1fr}}
.box{border:1px solid #E3DACB;border-radius:18px;background:#fff}
.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* hero: photograph on the right, rings radiating from the bowl, words on the left */
.hero{position:relative;height:calc(100svh - 89px);min-height:620px;margin-top:89px;overflow:hidden;background:#000;cursor:crosshair}
.hero .photo-bg{position:absolute;top:0;right:0;bottom:0;width:62%;background:#000}
.hero .photo-bg img{width:100%;height:100%;object-fit:cover;object-position:72% 40%;filter:saturate(.95) brightness(.9)}
.hero .photo-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 18%,rgba(0,0,0,0) 42%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 30%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}
.hero .copy{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none}
.hero .copy .wrap>*{pointer-events:auto}
.hero h1{max-width:8.5ch;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.hero .lede{margin:22px 0 32px;max-width:34ch;color:#E6DED2}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .org{margin-top:20px;font-size:.95rem;color:#CFC7BA}
.hero .hint{position:absolute;z-index:2;right:clamp(18px,4vw,48px);bottom:24px;font-size:.84rem;color:rgba(255,255,255,.75);display:flex;gap:10px;align-items:center;text-shadow:0 1px 8px #000}
.hero .hint #ck{display:flex;gap:5px}
.hero .hint i{width:9px;height:9px;border-radius:50%}
@media (max-width:900px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column}
  .hero .photo-bg{position:relative;width:100%;height:56vh}
  .hero .photo-bg::after{background:linear-gradient(0deg,#000 0%,rgba(0,0,0,0) 40%)}
  .hero canvas{height:56vh}
  .hero .copy{position:relative;transform:none;top:auto;padding:0 0 48px;margin-top:-40px}
  .hero .hint{top:16px;bottom:auto;left:clamp(18px,4vw,48px);right:auto}
}

/* three doors */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.door{display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .3s,transform .3s var(--ease)}
.door:hover{transform:translateY(-3px);box-shadow:0 26px 50px -30px rgba(40,28,10,.4)}
.door .img{aspect-ratio:4/3;overflow:hidden;background:#EFE8DC}
.door .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.door:hover .img img{transform:scale(1.04)}
.door .b{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.door .ic{width:44px;height:44px;border-radius:50%;border:1px solid #D9C9A8;color:#9A7434;display:grid;place-items:center}
.door h3{font-family:var(--serif);font-weight:500;font-size:2.1rem;line-height:1.05;color:#111}
.door p{margin:0;color:#5C5449}
.door .row{margin-top:auto;padding-top:14px}
@media (max-width:980px){.doors{grid-template-columns:1fr}}

/* organisations */
.otabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.otabs button{border:1px solid #D8CFC0;background:#fff;color:var(--ink);border-radius:999px;padding:10px 18px;font-size:.95rem}
.otabs button[aria-selected="true"]{background:#111;color:#fff;border-color:#111}
.opanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:stretch}
.opanel h3{font-family:var(--serif);font-weight:400;font-size:2.5rem;line-height:1.05;color:#111}
.opanel ul{padding-left:0;list-style:none;margin:18px 0 0}
.opanel li{padding:10px 0 10px 28px;border-bottom:1px solid #EEE7DB;position:relative;color:#3E372F}
.opanel li::before{content:"";position:absolute;left:4px;top:18px;width:9px;height:9px;border-radius:50%;border:1.5px solid #C9A35E}
.opanel .ph{border-radius:18px;overflow:hidden;min-height:380px;position:relative}
.opanel .ph img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.evidence{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:#111;padding-left:16px;border-left:2px solid #C9A35E}
.evidence small{display:block;font-family:var(--sans);font-style:normal;font-size:.8rem;color:#6C6458;margin-top:6px}
@media (max-width:900px){.opanel{grid-template-columns:1fr}.opanel .ph{min-height:260px}}
.kit{margin-top:40px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:26px 28px}
.kit .ic{width:56px;height:56px;border-radius:50%;background:#F6EFE2;color:#9A7434;display:grid;place-items:center}
.kit h3{font-family:var(--serif);font-weight:500;font-size:1.7rem;color:#111}
.kit p{margin:4px 0 0;color:#5C5449}
@media (max-width:760px){.kit{grid-template-columns:1fr}}

/* gallery */
.gallery{columns:3 280px;column-gap:16px}
.gallery button{display:block;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:14px;overflow:hidden;background:#EFE8DC;cursor:zoom-in;break-inside:avoid;position:relative}
.gallery img{width:100%;height:auto;display:block;transition:transform .8s var(--ease)}
.gallery button:hover img{transform:scale(1.03)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;font-size:.84rem;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);text-align:left;opacity:0;transition:opacity .3s}
.gallery button:hover figcaption,.gallery button:focus-visible figcaption{opacity:1}
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 40px) 20px calc(env(safe-area-inset-bottom,0px) + 40px)}
.lightbox.on{display:flex}
.lightbox figure{margin:0;max-width:min(1200px,94vw);text-align:center}
.lightbox img{max-height:80vh;width:auto;max-width:100%;border-radius:10px}
.lightbox figcaption{color:#D7D1C7;margin-top:12px;font-size:.95rem}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:999px;padding:10px 16px}
.lightbox .x{top:calc(env(safe-area-inset-top,0px) + 16px);right:16px}
.lightbox .pv{left:16px;top:50%}.lightbox .nx{right:16px;top:50%}

/* AYA Standard */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pillar{padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.pbadge{position:relative;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#D9B574,#A27A3E);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -12px rgba(122,90,40,.7)}
.pbadge .icon{width:28px;height:28px;stroke:#fff}
.pbadge b{position:absolute;right:-6px;top:-6px;width:26px;height:26px;border-radius:50%;background:#111;color:#fff;font-size:.72rem;font-weight:600;display:grid;place-items:center;border:2px solid #fff}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:2.4rem;line-height:1;color:#111}
.pillar p{margin:0;color:#5C5449}
.pillar ul{margin:6px 0 16px;padding-left:18px;color:#3E372F}
.pillar li{margin:5px 0}
.pillar .btn{align-self:flex-start;margin-top:auto}
@media (max-width:980px){.pillars{grid-template-columns:1fr}}
.alliances{margin-top:56px;padding-top:32px;border-top:1px solid #EEE7DB}
.alliances p{text-align:center;color:#6C6458;font-size:.9rem;margin:0 0 22px}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.logo-tile{height:150px;background:#fff;border:1px solid #E3DACB;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#3E372F;text-align:center;padding:10px}
.logo-tile b{font-size:1.15rem;font-weight:600;letter-spacing:.04em}
.logo-tile span{font-size:.72rem;color:#7A7266}
.logo-tile img{max-height:84px;max-width:100%;object-fit:contain}
.logo-tile span{font-size:.72rem;line-height:1.3}
@media (max-width:1100px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* featured practitioners */
.feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pcard{padding:18px;display:flex;flex-direction:column;gap:8px}
.pcard .ph{aspect-ratio:1;border-radius:12px;background:radial-gradient(120% 90% at 30% 20%,#F2EADB,#DCCBAA);display:grid;place-items:center;color:#9A7434;font-family:var(--serif);font-size:3rem;overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover}
.pcard b{font-weight:500;color:#111;font-size:1.05rem}
.pcard .lv{font-size:.8rem;font-weight:500;color:#9A7434}
.pcard span{font-size:.88rem;color:#5C5449}
@media (max-width:980px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* voices */
.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.voice{margin:0;padding:26px;display:flex;flex-direction:column;gap:16px}
.voice p{margin:0;font-family:var(--serif);font-size:1.5rem;line-height:1.3;color:#111}
.voice .by{margin-top:auto;font-size:.88rem;color:#6C6458}
.voice .by b{display:block;color:#111;font-weight:500}
@media (max-width:900px){.voices{grid-template-columns:1fr}}

/* bowl house */
.house{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hitem{overflow:hidden;display:flex;flex-direction:column}
.hitem .img{aspect-ratio:4/3;overflow:hidden;background:#EFE8DC}
.hitem .img img{width:100%;height:100%;object-fit:cover}
.hitem .b{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.hitem h3{font-family:var(--serif);font-weight:500;font-size:1.7rem;color:#111}
.hitem p{margin:0;color:#5C5449;font-size:.95rem}
.hitem .row{margin-top:auto;padding-top:10px}
@media (max-width:980px){.house{grid-template-columns:1fr}}

/* gallery video tile */
.gallery .gv{background:#111;color:#fff;cursor:pointer}
.gallery .gv img{opacity:.7}
.gallery .gv .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:#000;display:grid;place-items:center}
.gallery .gv .play svg{width:22px;height:22px;margin-left:3px}
.gallery .gv figcaption{opacity:1}
.lightbox .frame{width:min(1100px,94vw);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.lightbox .frame iframe{width:100%;height:100%;border:0}

/* featured practitioner photos */
.pcard .ph img{transition:transform .8s var(--ease)}
.pcard:hover .ph img{transform:scale(1.04)}

/* video testimonials */
.tvids{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tvid{position:relative;aspect-ratio:16/9;border:0;padding:0;border-radius:18px;overflow:hidden;background-color:#111;background-size:cover;background-position:center;cursor:pointer;color:#fff;text-align:left}
.tvid::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.1) 60%)}
.tvid .play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:2;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.94);color:#000;display:grid;place-items:center;transition:transform .2s}
.tvid:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.tvid .play svg{width:26px;height:26px;margin-left:4px}
.tvid .cap{position:absolute;left:20px;bottom:16px;z-index:2;font-size:.88rem;color:#E6DED2}
.tvid .cap b{display:block;font-family:var(--serif);font-weight:500;font-size:1.5rem;color:#fff}
.tvid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
@media (max-width:760px){.tvids{grid-template-columns:1fr}}

/* hearing is believing */
.believe{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#000;color:var(--bone)}
.believe .bg{position:absolute;inset:-4%;background-size:cover;background-position:center;filter:brightness(.42) saturate(.9);animation:kb 28s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}
.believe .vid{position:absolute;inset:0;pointer-events:none}
.believe .vid iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0;opacity:.55}
.believe canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}
.believe .in{position:relative;z-index:2;padding:110px 0}
.believe h2{max-width:16ch;margin:0 auto;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.believe .row{justify-content:center;margin-top:32px}
@media (prefers-reduced-motion:reduce){.believe .bg{animation:none}}

.gallery .gv .dur{position:absolute;right:10px;top:10px;font-size:.72rem;background:rgba(0,0,0,.6);color:#fff;padding:2px 8px;border-radius:999px}

.cred-line{text-align:center;margin:22px 0 0!important;font-size:.92rem!important;color:#3E372F!important;line-height:1.7}

/* home gallery: a compact selection */
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,16vw,230px);gap:14px}
.gal-grid button{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:#EFE8DC;cursor:zoom-in}
.gal-grid button.big{grid-column:span 2;grid-row:span 2}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gal-grid button:hover img{transform:scale(1.04)}
.gal-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;font-size:.84rem;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);text-align:left}
.gal-grid .gv{cursor:pointer}
.gal-grid .gv .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);color:#000;display:grid;place-items:center}
.gal-grid .gv .play svg{width:20px;height:20px;margin-left:3px}
@media (max-width:760px){.gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}}

/* testimonial player */
.tplayer{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
.tmain{position:relative;width:100%;height:0;padding-top:56.25%;border-radius:18px;overflow:hidden;background:#111}
.tmain button{position:absolute;inset:0;border:0;padding:0;background-color:#111;background-size:cover;background-position:center;cursor:pointer;color:#fff;text-align:left}
.tmain button::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.05) 60%)}
.tmain .play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:2;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.94);color:#000;display:grid;place-items:center}
.tmain .play svg{width:28px;height:28px;margin-left:4px}
.tmain .cap{position:absolute;left:22px;bottom:18px;z-index:2;color:#E6DED2;font-size:.9rem}
.tmain .cap b{display:block;font-family:var(--serif);font-weight:500;font-size:1.8rem;color:#fff}
.tmain iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tside{position:relative}
.tlist{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:420px}
.tlist li{flex:none}
.tlist button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid #E3DACB;background:#fff;border-radius:12px;padding:8px;cursor:pointer;color:var(--ink)}
.tlist button[aria-current="true"]{border-color:#C9A35E;box-shadow:0 0 0 1px #C9A35E;background:#FBF6EC}
.tlist img{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#EFE8DC;flex:none}
.tlist b{display:block;font-weight:500;font-size:.98rem}
.tlist span{font-size:.8rem;color:#6C6458}
@media (max-width:900px){.tplayer{grid-template-columns:1fr}.tlist{flex-direction:row;overflow-x:auto;max-height:none!important}.tlist li{width:240px}}

/* gallery and testimonials pages */
.ggrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,220px);grid-auto-flow:dense;gap:14px}
.ggrid button{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:#EFE8DC;cursor:zoom-in}
.ggrid button.big{grid-column:span 2;grid-row:span 2}
.ggrid img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ggrid button:hover img{transform:scale(1.04)}
.ggrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;font-size:.84rem;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);text-align:left;opacity:0;transition:opacity .3s}
.ggrid button:hover figcaption,.tgrid figcaption{opacity:1}
.ggrid .gv{cursor:pointer;background:#111}
.ggrid .gv .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);color:#000;display:grid;place-items:center}
.ggrid .gv .play svg{width:20px;height:20px;margin-left:3px}
.tgrid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(180px,17vw,250px)}
@media (max-width:760px){.ggrid,.tgrid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}}
.tq .tph{height:180px;margin:-26px -26px 6px;border-radius:18px 18px 0 0;background-size:cover;background-position:center}

.ostate{margin:22px 0 0;font-size:var(--step-0);color:#3E372F;line-height:1.6}
