/*
Theme Name: Kelais Living
Theme URI: https://kelaisliving.com
Author: Kelais Living
Description: A calm editorial WordPress theme created for Kelais Living.
Version: 2.9.12.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: kelais-living
*/

:root {
  --ink: #102a3d;
  --deep: #062b40;
  --gold: #c89d55;
  --sand: #f4eee5;
  --cream: #fbf8f3;
  --white: #fffdf9;
  --body: #263440;
  --line: rgba(16, 42, 61, .14);
  --serif: "Marcellus", "Times New Roman", serif;
  --sans: "Manrope", Arial, sans-serif;
  --oil-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' seed='7'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .055'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
}

body.kelais-cn { --serif:"Noto Serif SC","Songti SC","STSong",serif; --sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; }
body.kelais-cn .site-nav { letter-spacing:.06em; }
body.kelais-cn .site-nav{font-size:clamp(.78rem,.86vw,.94rem);gap:clamp(18px,1.7vw,30px);font-weight:600;letter-spacing:.08em;white-space:nowrap}
body.kelais-cn .language-switch{font-size:.78rem}
body.kelais-cn .hero h1,body.kelais-cn .hero__statement { line-height:1.28; letter-spacing:.02em; }
body.kelais-cn .button { letter-spacing:.12em; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--body); background-color:var(--cream); background-image:var(--oil-texture),radial-gradient(circle at 18% 12%,rgba(222,185,122,.09),transparent 34%); background-blend-mode:soft-light,normal; font-family:var(--sans); line-height:1.65; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
h1,h2,h3,h4 { color: var(--ink); font-family: var(--serif); font-weight: 400; line-height: 1.08; margin: 0 0 1rem; }
p { margin: 0 0 1rem; }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.container { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.eyebrow { color: #a97831; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding: 0 28px; border-radius:999px; background:var(--deep); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; transition:.25s ease; }
.button:hover { background:#174b5d; transform:translateY(-2px); }

/* Header */
.site-header { position:absolute; inset:0 0 auto; z-index:20; color:#fff; padding:22px 0; transition:.25s ease; }
.site-header__inner { width:min(1400px, calc(100% - 64px)); margin:auto; display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:24px; }
.site-logo { min-width:0; }
.kelais-logo-link { display:block; position:relative; width:112px; height:134px; margin:10px 0 0 12px; }
.kelais-logo-link img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 8px rgba(3,26,39,.22)); }
.site-nav { display:flex; justify-content:center; gap:clamp(12px,1.55vw,25px); font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.site-nav a { position:relative; padding:8px 0; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:.25s ease; }
.site-nav a:hover::after { right:0; }
.language-switch { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.language-switch a { opacity:.62; }
.language-switch a.is-active { opacity:1; }
.language-switch a.is-active::after { right:0; }
.site-header .button { background:rgba(3,39,59,.96); }
.menu-toggle { display:none; border:0; background:transparent; color:inherit; font-size:1.6rem; }
body:not(.home) .site-header { position:relative; color:var(--ink); background-color:#f8f1e7; background-image:var(--oil-texture),linear-gradient(105deg,rgba(255,253,249,.94),rgba(244,230,209,.72)); background-blend-mode:soft-light,normal; border-bottom:1px solid var(--line); }

/* 2.7 editorial pages and booking journey */
.editorial-page,.booking-page{background:var(--cream)}
.inner-hero{padding:108px 0 96px;text-align:center;background:linear-gradient(120deg,#fbf8f3,#efe1cb)}
.inner-hero h1{font-size:clamp(3.5rem,7vw,6.8rem)}
.inner-hero>div>p:last-child{max-width:640px;margin:0 auto;font-size:1.08rem}
.inner-hero--news{background:linear-gradient(90deg,rgba(251,248,243,.97),rgba(239,225,203,.8)),url('assets/images/kundalini-real-session.webp') center/cover}
.feature-event,.news-list,.moments,.content-band,.option-panel,.faq-simple,.curriculum,.contact-section,.legal-page>section:last-child{padding:100px 0}
.feature-event__grid,.detail-hero__grid,.split-copy,.contact-grid,.course-learn{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,7vw,96px);align-items:center}
.feature-event figure,.detail-hero img{margin:0;border-radius:24px;overflow:hidden}
.feature-event figure img,.detail-hero img{width:100%;height:590px;object-fit:cover}
.feature-event h2,.section-heading h2,.content-band h2,.option-panel h2,.faq-simple h2,.simple-cta h2,.contact-section h2,.legal-copy h2{font-size:clamp(2rem,4vw,3.7rem)}
.free-pill{display:inline-block;margin:0 0 18px;padding:7px 13px;border:1px solid var(--gold);border-radius:999px;color:#9a6724;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.event-facts{margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px 30px}
.event-facts div{border-top:1px solid rgba(200,157,85,.4);padding-top:10px}.event-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#a97831}.event-facts dd{margin:3px 0 0;color:var(--ink)}
.microcopy{font-size:.78rem;color:#68737b;margin-top:12px}
.unity-note{padding:76px 0;background:var(--deep);color:#fff;text-align:center}.unity-note blockquote{max-width:900px;margin:0 auto;color:#fff;font:400 clamp(1.6rem,3.2vw,2.8rem)/1.45 var(--serif)}
.section-heading{text-align:center;margin-bottom:50px}.news-list{background:#f5ede2}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{background:var(--white);border:1px solid rgba(200,157,85,.35);border-radius:20px;overflow:hidden;transition:.25s}.news-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(16,42,61,.1)}.news-card img{width:100%;height:260px;object-fit:cover}.news-card div{padding:28px}.news-card span{font-size:.66rem;color:#a97831;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.news-card h3{font-size:1.7rem;margin-top:10px}.news-card b{color:#a97831;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}
.moment-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:14px}.moment-grid img{width:100%;height:330px;object-fit:cover;border-radius:16px}.moment-grid img:nth-child(2),.moment-grid img:nth-child(3){margin-top:35px}
.subscribe-panel{padding:80px 0 100px}.subscribe-panel .container>div{padding:68px;text-align:center;border:1px solid rgba(200,157,85,.5);border-radius:24px;background:#fbf5eb}.subscribe-panel h2{font-size:clamp(2rem,4vw,3.6rem)}.subscribe-panel form{display:flex;max-width:620px;margin:28px auto 0}.subscribe-panel input{flex:1;min-width:0;border:1px solid #d8c8af;border-radius:999px 0 0 999px;padding:0 24px;background:#fff}.subscribe-panel button{border:0;border-radius:0 999px 999px 0}
.detail-hero{padding:90px 0;background:linear-gradient(110deg,#fbf8f3,#f1e4d0)}.detail-hero h1,.course-detail__hero h1{font-size:clamp(3rem,6vw,5.7rem)}.detail-hero p{font-size:1.05rem}.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.detail-meta span{padding:8px 13px;border:1px solid rgba(200,157,85,.45);border-radius:999px;font-size:.76rem}.narrow{max-width:820px}.three-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.three-points div{border-top:1px solid var(--gold);padding-top:18px}.simple-cta{text-align:center;padding:85px 0;background:#f0e3d0}.simple-cta .button{margin-top:12px}
.split-copy{align-items:start}.split-copy>div:last-child{font-size:1.06rem}.option-panel{background:#f4eadb}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:880px;margin:auto}.option-grid a{padding:36px;border:1px solid rgba(200,157,85,.55);border-radius:18px;background:var(--white)}.option-grid span,.option-grid p{display:block}.option-grid strong{display:block;font:400 2.4rem var(--serif);color:var(--ink);margin:8px 0}.option-grid b{font-size:.7rem;text-transform:uppercase;color:#a97831;letter-spacing:.12em}.faq-simple details{border-bottom:1px solid var(--line);padding:20px 0}.faq-simple summary{cursor:pointer;color:var(--ink);font-weight:600}.faq-simple details p{padding:14px 0 0}
.course-detail__hero{padding:90px 0;background:#f2e6d5}.course-detail__grid{display:grid;grid-template-columns:1fr 400px;gap:75px;align-items:center}.course-detail__hero aside{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(16,42,61,.12)}.course-detail__hero aside img{width:100%;height:230px;object-fit:cover}.course-detail__hero aside div{padding:28px}.course-detail__hero aside strong{display:block;font:400 2rem var(--serif);color:var(--ink);margin-bottom:16px}.course-detail__hero aside .button{width:100%}.course-detail__hero aside small{display:block;text-align:center;margin-top:12px}.course-learn{align-items:start}.course-learn ul{list-style:none;margin:0;padding:0}.course-learn li{padding:15px 0 15px 32px;border-bottom:1px solid var(--line);position:relative}.course-learn li:before{content:'✦';position:absolute;left:0;color:var(--gold)}.curriculum{background:#f5ecdf}.curriculum .narrow>div{display:grid;grid-template-columns:50px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.curriculum span{color:#a97831}.curriculum small{color:#778088}
.booking-progress{padding:25px 0;border-bottom:1px solid var(--line);background:#fff}.booking-progress .container{display:flex;justify-content:center;gap:clamp(20px,6vw,80px)}.booking-progress span{display:flex;align-items:center;gap:9px;color:#9aa0a5;font-size:.75rem}.booking-progress b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #c8ced2;border-radius:50%}.booking-progress .is-active{color:var(--ink)}.booking-progress .is-active b{background:var(--deep);border-color:var(--deep);color:#fff}
.booking-shell{padding:76px 0 110px;min-height:70vh}.booking-heading{text-align:center;max-width:780px;margin:0 auto 55px}.booking-heading h1{font-size:clamp(2.8rem,5.5vw,5.2rem)}.booking-form{max-width:950px;margin:auto}.booking-form fieldset{border:0;margin:0 0 44px;padding:0}.booking-form legend{width:100%;font:400 1.8rem var(--serif);color:var(--ink);border-bottom:1px solid rgba(200,157,85,.45);padding-bottom:13px;margin-bottom:20px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.choice-grid label,.inline-choice label{position:relative;cursor:pointer}.choice-grid input,.inline-choice input{position:absolute;opacity:0}.choice-grid label>span{display:grid;grid-template-columns:1fr auto;padding:22px;border:1px solid #d9cbb7;border-radius:14px;background:#fff}.choice-grid small{grid-column:1;display:block;color:#727d84;margin-top:4px}.choice-grid strong{grid-column:2;grid-row:1/3;color:#9b6825}.choice-grid input:checked+span,.inline-choice input:checked+span{border-color:var(--gold);box-shadow:0 0 0 2px rgba(200,157,85,.18)}.inline-choice{display:flex;gap:14px}.inline-choice span{display:block;padding:15px 30px;border:1px solid #d9cbb7;border-radius:999px;background:#fff}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label,.payment-card label,.contact-grid label{display:block;font-size:.78rem;font-weight:600;color:var(--ink)}.booking-form input,.booking-form select,.payment-card input,.contact-grid input,.contact-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #d8cbbb;border-radius:10px;background:#fff;padding:15px;font:inherit;color:var(--body)}.booking-action{display:flex;justify-content:space-between;align-items:center;padding-top:25px;border-top:1px solid var(--line)}.booking-action p{margin:0;font-size:.8rem}.consent-line{display:flex!important;align-items:flex-start;gap:10px;margin-bottom:22px}.consent-line input{width:auto;margin-top:4px}.booking-form--short{max-width:760px}
.review-grid{display:grid;grid-template-columns:1fr 360px;gap:35px;max-width:980px;margin:auto}.review-card,.order-summary,.payment-card{padding:34px;border:1px solid #dfd1be;border-radius:18px;background:#fff}.review-card h2,.order-summary h2,.payment-card h2{font-size:1.8rem}.review-card dl div{display:grid;grid-template-columns:150px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.review-card dt{color:#788187}.review-card dd{margin:0;color:var(--ink)}.review-card>a{display:inline-block;margin-top:22px;color:#a97831}.order-summary p{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.order-summary p:nth-of-type(2){font-size:1.15rem}.order-summary .button{width:100%;margin:20px 0 12px}.order-summary small{display:block;text-align:center}.payment-tabs{display:grid;grid-template-columns:1fr 1fr;margin:20px 0}.payment-tabs button{border:1px solid #d8cbbb;background:#fff;padding:13px}.payment-tabs .is-active{background:#f1e5d2;color:var(--ink)}.payment-card .button{width:100%;border:0;margin-top:22px}
.success-panel{text-align:center;max-width:700px;margin:auto}.success-mark{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 25px;border-radius:50%;background:var(--deep);color:#fff;font-size:2rem}.success-panel h1{font-size:clamp(3rem,6vw,5rem)}.confirmation-box{display:grid;gap:6px;margin:35px auto;padding:25px;border:1px solid #dac9af;border-radius:14px;background:#fff;max-width:440px}.confirmation-box strong{font:400 2rem var(--serif);color:var(--ink)}.success-actions{display:flex;flex-direction:column;align-items:center;gap:18px}.ticket{display:grid;grid-template-columns:1fr 270px;max-width:880px;margin:auto;background:#fff;border:1px solid #d9c7aa;border-radius:22px;overflow:hidden}.ticket>div{padding:45px}.ticket>aside{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:var(--deep);color:#fff;padding:30px}.ticket dl div{display:grid;grid-template-columns:100px 1fr;padding:8px 0}.ticket dt{color:#7a858b}.ticket dd{margin:0}.qr-demo{display:grid;place-items:center;width:155px;height:155px;background:repeating-conic-gradient(#102a3d 0 25%,#fff 0 50%) 0/22px 22px;border:10px solid #fff;color:transparent}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px;margin:auto}.manage-grid a{padding:42px;border:1px solid #d9c7aa;border-radius:18px;background:#fff}.manage-grid a>span{font-size:2rem;color:#a97831}.manage-grid h2{font-size:2rem}.manage-grid b{color:#a97831;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}
.contact-grid{align-items:start}.contact-grid form{display:grid;gap:18px;padding:35px;background:#fff;border:1px solid #dfd2bf;border-radius:18px}.contact-grid .button{border:0;justify-self:start}.legal-copy{font-size:1.02rem}.legal-copy h2{font-size:2rem;margin-top:44px}.legal-copy small{color:#8a6b42}

@media (max-width:900px){
 .feature-event__grid,.detail-hero__grid,.split-copy,.contact-grid,.course-learn,.course-detail__grid{grid-template-columns:1fr}.feature-event figure img,.detail-hero img{height:440px}.news-grid{grid-template-columns:1fr 1fr}.moment-grid{grid-template-columns:1fr 1fr}.moment-grid img:nth-child(n){margin:0}.review-grid{grid-template-columns:1fr}.course-detail__hero aside{max-width:460px}.ticket{grid-template-columns:1fr 230px}
}
@media (max-width:640px){
 .inner-hero,.feature-event,.news-list,.moments,.content-band,.option-panel,.faq-simple,.curriculum,.contact-section,.legal-page>section:last-child,.detail-hero,.booking-shell{padding:65px 0}.event-facts,.news-grid,.three-points,.option-grid,.choice-grid,.field-grid,.manage-grid{grid-template-columns:1fr}.moment-grid{grid-template-columns:1fr 1fr}.moment-grid img{height:190px}.subscribe-panel .container>div{padding:38px 22px}.subscribe-panel form{display:grid;gap:10px}.subscribe-panel input,.subscribe-panel button{border-radius:999px;min-height:48px}.feature-event figure img,.detail-hero img{height:330px}.booking-progress .container{gap:8px}.booking-progress span{font-size:0}.booking-progress b{font-size:.7rem}.booking-action{align-items:stretch;flex-direction:column;gap:18px}.booking-action .button{width:100%}.review-card dl div{grid-template-columns:1fr;gap:3px}.ticket{grid-template-columns:1fr}.ticket>div{padding:30px}.ticket>aside{padding:28px}.course-detail__hero aside{width:100%}.event-facts{gap:13px}.inline-choice{display:grid;grid-template-columns:1fr 1fr}.inline-choice span{text-align:center;padding:13px}.unity-note{padding:55px 0}
}

/* 2.8 simplified single-page experience */
.home-people,.home-testimonials{padding:105px 0;background:#f4eadb}
.home-people__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.home-people article{display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:center;padding:30px;border:1px solid rgba(200,157,85,.38);border-radius:22px;background:rgba(255,253,249,.78)}
.home-people article img{width:170px;height:220px;object-fit:cover;border-radius:50% 50% 46% 54%/42% 50% 50% 58%;filter:saturate(.82)}
.home-people h3{font-size:2rem}.home-people small{display:block;color:#7c6e5c;line-height:1.6}
.home-testimonials{background:#fbf8f3}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-grid blockquote{margin:0;padding:34px;border:1px solid rgba(200,157,85,.35);border-radius:18px;background:#fff;font:400 1.25rem/1.6 var(--serif);color:var(--ink)}.testimonial-grid cite{display:block;margin-top:20px;font:600 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#a97831}.testimonial-note{text-align:center;margin-top:22px}
.healing-service-accordion{display:block}.healing-service-accordion>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;cursor:pointer;list-style:none}.healing-service-accordion>summary::-webkit-details-marker,.course-card--accordion>summary::-webkit-details-marker,.news-card--details>summary::-webkit-details-marker{display:none}.healing-service-accordion[open]{grid-column:1/-1}.healing-service-detail{padding:24px 30px 30px 145px;border-top:1px solid rgba(200,157,85,.25)}.healing-service-prices{display:flex;gap:16px;margin:20px 0}.healing-service-prices>span{min-width:230px;padding:17px;border:1px solid rgba(200,157,85,.35);border-radius:12px}.healing-service-prices small,.healing-service-prices strong{display:block}.healing-service-prices strong{font:400 1.8rem var(--serif);color:var(--ink)}
.course-inline-detail{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.course-inline-detail summary{display:flex;justify-content:space-between;padding:15px 0;cursor:pointer;color:#a97831;font-weight:700}.course-inline-detail>div{padding:0 0 15px}.course-card--accordion{display:block}.course-card--accordion>summary{list-style:none}.course-card--accordion[open]{box-shadow:0 18px 42px rgba(16,42,61,.11)}.course-card__detail{padding:0 26px 28px}.course-card__detail .button{margin-top:8px}
.inline-registration{padding:0 0 85px}.inline-registration details{max-width:900px;margin:auto;border:1px solid rgba(200,157,85,.5);border-radius:20px;background:#fff;overflow:hidden}.inline-registration summary{display:flex;justify-content:space-between;align-items:center;padding:27px 32px;cursor:pointer;list-style:none}.inline-registration summary span>*{display:block}.inline-registration summary small{color:#a97831;text-transform:uppercase;letter-spacing:.12em}.inline-registration summary strong{font:400 2rem var(--serif);color:var(--ink)}.inline-registration summary b{font-size:1.6rem;color:#a97831}.inline-registration form{padding:30px;border-top:1px solid var(--line)}.registration-complete{display:none;padding:20px 30px;background:#edf4ef;color:#28563b}.registration-complete:target{display:block}
.news-card--details>summary{list-style:none}.news-card--details .news-card__expanded{padding:0 28px 30px}.news-card--details .button{margin-top:8px;color:#fff}.news-card--details:hover{transform:none}
.ka-package-note{max-width:900px;margin:35px auto 0;border:1px solid rgba(200,157,85,.45);border-radius:15px;background:#fff}.ka-package-note summary{display:flex;justify-content:space-between;padding:22px 25px;cursor:pointer;color:var(--ink);font-weight:700}.ka-package-note>div{padding:0 25px 20px}.ka-inline-booking{padding:100px 0;background:#f5ecdf}.ka-inline-booking .booking-form{padding:38px;border:1px solid rgba(200,157,85,.35);border-radius:22px;background:#fff}
.reiki-video-card__body button{border:0;background:transparent;padding:0;color:#a97831;font:700 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.reiki-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(3,25,37,.86)}.reiki-modal[hidden]{display:none}.reiki-modal__panel{width:min(900px,100%);padding:24px;border-radius:20px;background:#fff}.reiki-modal__player{display:grid;place-items:center;min-height:440px;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#173d4c,#071f2e);color:#fff}.reiki-modal__player video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#071f2e}.reiki-modal__panel h2{margin-top:22px}.reiki-modal__close{position:fixed;top:24px;right:30px;border:0;background:transparent;color:#fff;font-size:2.5rem;cursor:pointer}.modal-open{overflow:hidden}
.course-player{display:grid;grid-template-columns:1fr 320px;max-width:1100px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.course-player__video{display:grid;place-items:center;align-content:center;min-height:520px;background:#082b3e;color:#fff}.course-player__video span{font-size:4rem}.course-player aside{padding:28px}.course-player aside h2{font-size:1.8rem}.course-player aside a{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.course-player aside a span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--gold);border-radius:50%;font-size:.65rem}

@media(max-width:900px){.home-people__grid{grid-template-columns:1fr}.testimonial-grid{grid-template-columns:1fr 1fr}.course-player{grid-template-columns:1fr}.course-player__video{min-height:380px}}
@media(max-width:640px){.home-people,.home-testimonials{padding:70px 0}.home-people article{grid-template-columns:90px 1fr;padding:20px}.home-people article img{width:90px;height:120px}.testimonial-grid{grid-template-columns:1fr}.healing-service-accordion>summary{grid-template-columns:72px 1fr}.healing-service-accordion .healing-service-card__link{grid-column:2}.healing-service-detail{padding:20px}.healing-service-prices{display:grid}.healing-service-prices>span{min-width:0}.ka-inline-booking .booking-form{padding:23px}.reiki-modal__player{min-height:230px}}

/* Hero */
.hero { min-height:100svh; position:relative; display:flex; align-items:center; overflow:hidden; background:#102a3d; color:#fff; }
.hero__media,.hero__shade,.hero__video { position:absolute; inset:0; width:100%; height:100%; }
.hero__video { object-fit:cover; opacity:0; transform:scale(1.025); filter:brightness(1.18) saturate(.82) contrast(.9); transition:opacity 1.8s ease, transform 9s linear; }
.hero__video.is-active { opacity:1; transform:scale(1); }
.hero__shade { z-index:2; background:linear-gradient(90deg,rgba(5,35,48,.44) 0%,rgba(5,35,48,.15) 47%,rgba(242,219,178,.05) 100%),linear-gradient(0deg,rgba(5,32,44,.22),transparent 48%); }
.hero__content { position:relative; z-index:3; width:min(1120px,calc(100% - 48px)); margin:90px auto 0; }
.hero__messages { position:relative; min-height:clamp(285px,39vw,475px); max-width:940px; }
.hero__message { position:absolute; inset:0; display:flex; align-items:center; opacity:0; transform:translateY(24px); filter:blur(9px); pointer-events:none; }
.hero__message.is-active { pointer-events:auto; animation:heroPhraseIn 2.25s cubic-bezier(.2,.65,.25,1) forwards; }
.hero__message.is-leaving { animation:heroPhraseOut 1.65s ease forwards; }
.hero h1 { margin:0; color:#fff; font-size:clamp(3.8rem,7vw,7rem); max-width:800px; letter-spacing:-.03em; text-wrap:balance; text-shadow:0 3px 22px rgba(2,25,36,.18); }
.hero__statement { margin:0; max-width:900px; color:#fff; font:400 clamp(3rem,5.6vw,5.8rem)/1.05 var(--serif); letter-spacing:-.025em; text-wrap:balance; text-shadow:0 3px 22px rgba(2,25,36,.22); }
.hero__content .button { margin-top:18px; opacity:0; transform:translateY(18px); background:#fff; color:var(--deep); animation:heroReveal 1.1s .95s ease forwards; }
.hero__scroll { position:absolute; z-index:3; bottom:26px; left:50%; transform:translateX(-50%); color:#fff; font-size:.63rem; letter-spacing:.16em; text-transform:uppercase; text-align:center; }
.hero__scroll::before { content:""; display:block; width:1px; height:36px; margin:0 auto 10px; background:rgba(255,255,255,.7); animation:scrollPulse 1.8s infinite; }
@keyframes heroReveal { to { opacity:1; transform:none; } }
@keyframes heroPhraseIn { 0% { opacity:0; transform:translateY(24px); filter:blur(9px); } 100% { opacity:1; transform:none; filter:blur(0); } }
@keyframes heroPhraseOut { 0% { opacity:1; transform:none; filter:blur(0); } 100% { opacity:0; transform:translateY(-14px); filter:blur(7px); } }
@keyframes scrollPulse { 0%,100%{transform:scaleY(.4);transform-origin:top} 50%{transform:scaleY(1)} }

/* Home sections */
.intro { padding:110px 0; background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(110deg,#fbf8f3,#f5eadb); background-blend-mode:soft-light,normal; }
.intro__grid { display:grid; grid-template-columns:1fr 1.08fr; gap:9%; align-items:center; }
.intro h2 { font-size:clamp(2.5rem,4.6vw,4.6rem); }
.intro__copy { max-width:480px; }
.intro__image { border-radius:80px 18px 80px 18px; min-height:430px; background:#ead8bf; overflow:hidden; }
.intro__image img { width:100%; height:100%; min-height:430px; object-fit:cover; }
.gold-rule { width:170px; height:1px; background:var(--gold); margin-top:34px; position:relative; }
.gold-rule::after { content:"✦"; position:absolute; right:14px; top:50%; transform:translateY(-51%); color:var(--gold); background:var(--cream); padding:0 8px; }

.pathways { padding:90px 0 110px; background:#f7f0e7; text-align:center; }
.pathways .eyebrow { position:relative; display:inline-block; padding-inline:42px; }
.pathways .eyebrow::before,.pathways .eyebrow::after { content:""; position:absolute; top:50%; width:28px; height:1px; background:rgba(200,157,85,.55); }
.pathways .eyebrow::before { left:0; }.pathways .eyebrow::after { right:0; }
.pathways h2 { font-size:clamp(2.2rem,4vw,4rem); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; text-align:left; }
.card { background:var(--white); border:1px solid rgba(200,157,85,.2); border-radius:16px 56px 16px 16px; overflow:hidden; box-shadow:0 18px 50px rgba(25,42,49,.06); transition:.3s ease; }
.card:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(25,42,49,.11); }
.card__visual { height:210px; background:#e9dfcf; position:relative; overflow:hidden; }
.card__visual img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.card:hover .card__visual img { transform:scale(1.035); }
.card__body { padding:32px 28px 28px; position:relative; }
.card__icon { position:absolute; left:26px; top:-28px; width:56px; height:56px; display:grid; place-items:center; border-radius:50%; background:#fffaf1; border:1px solid rgba(200,157,85,.35); color:var(--gold); box-shadow:0 8px 22px rgba(53,45,31,.08); }
.card__icon svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.card__icon--water { color:#426f78; }
.card h3 { font-size:1.65rem; }
.card__link { display:inline-flex; gap:11px; margin-top:12px; color:var(--ink); font-size:.72rem; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }
.card__link b { font-size:1rem; line-height:.8; font-weight:400; transition:transform .25s ease; }
.card:hover .card__link b { transform:translateX(4px); }

.quote { position:relative; overflow:hidden; padding:72px 0 58px; background:linear-gradient(90deg,#eddfce,#fbf6ee 35%,#fbf6ee 65%,#eddfce); text-align:left; }
.quote blockquote { position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr; column-gap:24px; width:min(760px,82%); margin:auto; color:var(--ink); font-family:var(--serif); font-size:clamp(1.55rem,2.5vw,2.35rem); line-height:1.34; }
.quote__mark { color:#bd8b3e; font-size:5rem; line-height:.75; }
.quote cite { display:block; margin-top:15px; font-family:var(--sans); font-size:.75rem; font-style:normal; letter-spacing:.12em; }
.quote blockquote cite { grid-column:2; }
.quote__foliage { position:absolute; z-index:1; bottom:-65px; width:320px; height:255px; opacity:.16; filter:blur(5px); transform:rotate(-13deg); background:url('assets/images/botanical-shadow.svg') center/contain no-repeat; }
.quote__foliage--left { left:-40px; }.quote__foliage--right { right:-40px; transform:scaleX(-1) rotate(-13deg); }
.quote__ornament { position:relative; z-index:2; width:min(420px,55%); margin:24px auto 0; display:grid; grid-template-columns:1fr 34px 1fr; align-items:center; gap:12px; color:#c89d55; }
.quote__ornament span { height:1px; background:linear-gradient(90deg,transparent,currentColor); }.quote__ornament span:last-child { background:linear-gradient(90deg,currentColor,transparent); }
.quote__ornament svg { width:34px; fill:none; stroke:currentColor; stroke-width:1.1; }

.meaning { padding:105px 0; background-image:var(--oil-texture),linear-gradient(110deg,#fbf8f3,#f6ebdc); background-blend-mode:soft-light,normal; }
.meaning__grid { display:grid; grid-template-columns:.75fr 1.4fr .7fr; gap:8%; align-items:center; }
.meaning__mark img { width:min(250px,100%); mix-blend-mode:multiply; }
.meaning h2 { font-size:clamp(2.2rem,3.6vw,3.7rem); }
.meaning__words { border-left:1px solid var(--gold); padding-left:38px; display:grid; gap:25px; color:var(--ink); letter-spacing:.16em; text-transform:uppercase; }
.meaning__words span { display:flex; align-items:center; gap:15px; }
.word-icon { position:relative; flex:0 0 27px; width:27px; height:27px; border:1px solid var(--gold); border-radius:50%; }
.word-icon--arrive::after { content:""; position:absolute; inset:6px; border-radius:50%; background:var(--ink); }
.word-icon--reflect::after { content:""; position:absolute; inset:8px; border:1px solid var(--gold); border-radius:50%; }
.word-icon--awaken { border:0; border-radius:0; }
.word-icon--awaken::before,.word-icon--awaken::after { content:""; position:absolute; left:13px; top:2px; width:1px; height:23px; background:var(--gold); }.word-icon--awaken::after { transform:rotate(90deg); }

.booking { padding:52px 0; border-top:1px solid var(--line); background:#f6eee4; }
.booking__inner { display:grid; grid-template-columns:1.2fr 2fr auto; align-items:center; gap:45px; }
.booking h2 { font-size:2.2rem; margin:0; }
.booking__steps { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; font-size:.76rem; }
.booking__step { border-left:1px solid var(--line); padding-left:20px; display:flex; align-items:center; gap:14px; }
.booking__icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid rgba(200,157,85,.62); border-radius:50%; color:#b38239; font-size:1.15rem; }
.booking__icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }

.latest-news { padding:88px 0 96px; border-top:1px solid var(--line); background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(110deg,#fbf8f3,#f5eadb); background-blend-mode:soft-light,normal; }
.latest-news__inner { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,1.5fr); gap:7%; align-items:center; }
.latest-news h2 { font-size:clamp(2.5rem,4vw,4rem); }
.latest-news__copy > p:last-child { max-width:390px; }
.latest-news__card { position:relative; display:grid; grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr); min-height:330px; overflow:hidden; border:1px solid rgba(200,157,85,.32); border-radius:18px 62px 18px 18px; background:var(--white); box-shadow:0 18px 50px rgba(25,42,49,.07); }
.latest-news__poster { min-height:330px; background:#d9c5a6; }
.latest-news__poster img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.latest-news__details { position:relative; padding:48px 42px 38px; }
.latest-news__details h3 { margin:.3rem 0 1rem; font-size:clamp(1.8rem,2.7vw,2.7rem); }
.latest-news__badge { display:inline-flex; align-items:center; min-height:28px; padding:0 13px; border:1px solid rgba(200,157,85,.62); border-radius:999px; color:#9a6c29; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.latest-news__actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:26px; }
.latest-news__link { color:var(--ink); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.latest-news__link span { display:inline-block; margin-left:8px; transition:transform .25s ease; }
.latest-news__link:hover span { transform:translateX(4px); }

/* Inner pages */
.page-hero { padding:100px 0 80px; background:linear-gradient(135deg,#f3e8da,#fbf8f3); }
.page-hero h1 { font-size:clamp(3.4rem,7vw,7rem); max-width:900px; }
.page-content { padding:80px 0 120px; }
.page-content > * { max-width:780px; }
.page-content h2 { font-size:2.7rem; margin-top:2.5rem; }
.page-content p { font-size:1.05rem; }

/* Footer */
.site-footer { position:relative; overflow:hidden; background-color:#052c41; background-image:var(--oil-texture),radial-gradient(circle at 20% 5%,rgba(200,157,85,.13),transparent 38%),linear-gradient(130deg,#07354b,#04263a); background-blend-mode:soft-light,screen,normal; color:rgba(255,255,255,.78); padding:55px 0 22px; border-radius:0 0 36px 36px; box-shadow:0 14px 0 #ded8cf; }
.footer-grid { display:grid; grid-template-columns:1.15fr .75fr .8fr 1.05fr 1.35fr; gap:clamp(28px,4vw,60px); align-items:start; }
.footer-logo { display:block; width:112px; height:134px; margin:8px 0 18px; }
.footer-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:transparent; filter:drop-shadow(0 2px 8px rgba(0,0,0,.16)); }
.site-footer h4 { color:#d9b36f; font-family:var(--sans); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
.site-footer ul { list-style:none; padding:0; margin:0; font-size:.82rem; }
.site-footer li { margin:7px 0; }
.footer-note { color:#fff; font-family:var(--serif); font-size:1.25rem; }
.footer-language { margin:.5rem 0 0; color:rgba(255,255,255,.72); font-size:.78rem; }
.socials { display:flex; gap:12px; margin-top:18px; }
.socials a { display:grid; place-items:center; width:35px; height:35px; border:1px solid #c89d55; border-radius:50%; color:#e3bd76; font-weight:700; }
.contact-list { color:#fff; }
.newsletter { margin-top:22px; display:flex; border:1px solid #b58b4b; border-radius:999px; overflow:hidden; }
.newsletter input { width:100%; min-width:0; padding:12px 16px; border:0; outline:0; background:transparent; color:#fff; }
.newsletter input::placeholder { color:rgba(255,255,255,.6); }
.newsletter button { width:46px; border:0; background:transparent; color:#d7ad65; font-size:1.5rem; cursor:pointer; }
.copyright { margin-top:40px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; text-align:center; font-size:.72rem; }
.copyright span { height:1px; background:rgba(255,255,255,.15); }

@media (max-width: 900px) {
  .site-header__inner { grid-template-columns:90px 1fr auto; }
  .kelais-logo-link { width:78px; height:94px; margin:7px 0 0 7px; }
  .menu-toggle { display:block; justify-self:end; }
  .site-nav { display:none; position:absolute; top:100%; left:24px; right:24px; padding:25px; border-radius:16px; background:rgba(6,43,64,.97); flex-direction:column; color:#fff; }
  .site-nav.is-open { display:flex; }
  .site-header__cta { display:none; }
  .hero h1 { font-size:clamp(3.5rem,14vw,6.2rem); }
  .hero__statement { font-size:clamp(2.8rem,9vw,4.8rem); }
  .intro__grid,.meaning__grid { grid-template-columns:1fr; gap:50px; }
  .intro__image { min-height:330px; }
  .cards { grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
  .meaning__mark { font-size:6rem; }
  .meaning__words { grid-template-columns:repeat(3,1fr); border-left:0; border-top:1px solid var(--gold); padding:28px 0 0; }
  .booking__inner { grid-template-columns:1fr; }
  .latest-news__inner { grid-template-columns:1fr; gap:36px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand,.footer-join { grid-column:span 2; }
}

@media (max-width: 560px) {
  .container,.hero__content,.site-header__inner { width:min(100% - 30px,1120px); }
  .site-header { padding:12px 0; }
  /* Keep each landscape hero video's subject visible inside a portrait phone crop. */
  .hero__video:nth-child(1) { object-position:82% center; }
  .hero__video:nth-child(2) { object-position:68% center; }
  .hero__video:nth-child(3) { object-position:43% center; }
  .hero__content { margin-top:70px; }
  .hero h1 { font-size:3.7rem; }
  .hero__messages { min-height:340px; }
  .hero__statement { font-size:2.9rem; line-height:1.08; }
  .quote blockquote { width:calc(100% - 40px); grid-template-columns:1fr; text-align:center; }
  .quote__mark { display:none; }
  .quote blockquote cite { grid-column:1; }
  .intro,.meaning { padding:75px 0; }
  .intro h2 { font-size:2.8rem; }
  .booking__steps { grid-template-columns:1fr; }
  .latest-news { padding:70px 0 78px; }
  .latest-news__card { grid-template-columns:1fr; }
  .latest-news__poster,.latest-news__poster img { min-height:260px; }
  .latest-news__details { padding:34px 25px 30px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand,.footer-join { grid-column:auto; }
  .meaning__words { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__message { display:none; animation:none; filter:none; transform:none; }
  .hero__message:first-child { display:flex; opacity:1; }
}

.healing-service-prices a{display:block;margin-top:9px;color:#a97831;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.healing-service-card.healing-service-accordion{display:block;padding:0;min-height:0}.healing-service-card.healing-service-accordion:hover{transform:none}.healing-service-card.healing-service-accordion>summary{padding:28px 30px 21px}.healing-service-card.healing-service-accordion .healing-service-card__icon{grid-row:auto}.course-card.course-card--accordion{display:block}.course-card.course-card--accordion:hover{transform:none}.course-card.course-card--accordion>summary{display:block}.course-card.course-card--accordion>summary>img{display:block;width:100%;aspect-ratio:1.55/1;object-fit:cover}.course-card.course-card--accordion>summary>div{display:flex;flex-direction:column;min-height:315px;padding:23px 24px 20px}.news-card.news-card--details>summary{display:block}.news-card.news-card--details>summary>div{padding:28px}.news-card.news-card--details .news-card__expanded{padding:0 28px 30px}
.home-people__statement{max-width:760px;margin:36px auto 0;padding-top:30px;border-top:1px solid rgba(200,157,85,.42);text-align:center;color:var(--ink);font:400 clamp(1.02rem,1.45vw,1.3rem)/1.55 var(--serif)}
.ka-booking-options__grid{grid-template-columns:repeat(4,1fr)}.ka-session-card__button--info{background:transparent!important;color:#9b6a2c!important;border-top:1px solid rgba(200,157,85,.3);cursor:default}.journey-credit{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:850px;margin:0 auto 30px;padding:32px;border:1px solid rgba(200,157,85,.45);border-radius:18px;background:#fff}.journey-credit h2{font-size:2rem}
@media(max-width:1050px){.ka-booking-options__grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ka-booking-options__grid{grid-template-columns:1fr}.journey-credit{align-items:stretch;flex-direction:column}.journey-credit .button{width:100%}}

/* The Kelais Way */
.way-page { background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(110deg,#fbf8f3,#f4e7d5); background-blend-mode:soft-light,normal; color:var(--body); overflow:hidden; }
.way-page h1,.way-page h2 { color:var(--ink); }
.kelais-way-view .site-header { position:absolute; color:var(--ink); background:transparent; border-bottom:0; }
.kelais-way-view .site-header .button { color:#fff; }
.way-hero { position:relative; min-height:720px; padding:205px 0 105px; display:flex; align-items:center; isolation:isolate; background:#f7efe2; }
.way-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(251,248,243,.98) 0%,rgba(251,248,243,.93) 31%,rgba(251,248,243,.58) 48%,rgba(251,248,243,.06) 72%); }
.way-hero::after { content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:30%; background:linear-gradient(0deg,rgba(251,248,243,.32),transparent); pointer-events:none; }
.way-hero__photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.way-hero__inner { position:relative; display:block; }
.way-hero__copy { position:relative; z-index:2; max-width:650px; }
.way-hero h1 { font-size:clamp(4rem,7.2vw,7.2rem); line-height:.95; letter-spacing:-.035em; margin:0 0 20px; }
.way-ornament { display:flex; align-items:center; gap:16px; width:300px; color:var(--gold); font-size:15px; }
.way-ornament::before,.way-ornament::after { content:""; height:1px; flex:1; background:rgba(200,157,85,.7); }
.way-hero__promise { margin:22px 0 24px; color:#a97530; font:400 clamp(1.55rem,2.5vw,2.3rem)/1.25 var(--serif); }
.way-hero__intro { max-width:480px; font-size:1.03rem; line-height:1.75; }
.way-purpose { position:relative; padding:100px 0 74px; background-image:var(--oil-texture),linear-gradient(110deg,rgba(255,253,249,.84),rgba(243,229,209,.55)); background-blend-mode:soft-light,normal; }
.way-purpose::after { content:""; position:absolute; right:-120px; bottom:-140px; width:470px; height:470px; opacity:.12; background:url("assets/images/botanical-shadow.svg") center/contain no-repeat; transform:rotate(175deg); pointer-events:none; }
.way-purpose__grid { display:grid; grid-template-columns:minmax(390px,1.22fr) minmax(300px,.78fr); gap:7vw; align-items:center; }
.way-purpose__copy { max-width:590px; }
.way-page .eyebrow { color:#a97530; font-size:.77rem; letter-spacing:.17em; }
.way-purpose h2 { font-size:clamp(2.7rem,4.4vw,4.6rem); line-height:1.03; margin:12px 0 28px; }
.way-purpose p { font-size:1rem; line-height:1.75; }
.way-purpose__image { margin:0; border-radius:38px 9px 38px 9px; overflow:hidden; box-shadow:0 25px 55px rgba(91,65,31,.12); }
.way-purpose__image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.way-gold-rule { display:flex; align-items:center; gap:0; margin-top:35px; color:var(--gold); width:260px; }
.way-gold-rule::before,.way-gold-rule::after { content:""; flex:1; height:1px; background:var(--gold); opacity:.65; }
.way-gold-rule span { padding:0 10px; }

.way-people { padding:45px 0 105px; background-image:var(--oil-texture),linear-gradient(180deg,rgba(238,219,191,.42),rgba(255,253,249,.84)); background-blend-mode:soft-light,normal; }
.way-people__eyebrow { text-align:center; margin-bottom:30px; }
.way-people__grid { display:grid; grid-template-columns:1fr; gap:22px; }
.way-person { display:grid; grid-template-columns:minmax(190px,240px) minmax(0,1fr); overflow:hidden; min-height:350px; background:rgba(255,253,249,.86); border:1px solid rgba(200,157,85,.26); border-radius:28px 8px 28px 8px; box-shadow:0 18px 45px rgba(82,59,31,.08); }
.way-person__portrait { width:100%; height:100%; min-height:350px; object-fit:cover; object-position:center; }
.way-person__content { padding:36px 42px 34px; }
.way-person h2 { margin:0; font-size:clamp(2.15rem,3vw,3.4rem); line-height:1; }
.way-person__role { margin:8px 0 18px; color:#a97530; font:400 1.45rem/1.2 var(--serif); }
.way-mini-rule { display:flex; align-items:center; color:var(--gold); font-size:.72rem; width:115px; margin:20px 0; }
.way-mini-rule::before,.way-mini-rule::after { content:""; flex:1; height:1px; background:rgba(200,157,85,.55); }
.way-mini-rule::before { margin-right:8px; }
.way-mini-rule::after { margin-left:8px; }
.way-person__lead { font:400 1.18rem/1.45 var(--serif); color:var(--ink); }
.way-person__content > p:not(.way-person__role) { line-height:1.65; }
.way-person__areas { list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:8px; font-size:.88rem; }
.way-person__areas li { position:relative; padding-left:22px; }
.way-person__areas li::before { content:"✦"; position:absolute; left:0; color:var(--gold); font-size:.65rem; top:.25rem; }

.way-closing { padding:80px 0; color:var(--ink); background:linear-gradient(90deg,rgba(251,248,243,.88),rgba(248,230,198,.45)),url("assets/images/why-we-exist-room.webp") center 47%/cover; }
.way-closing__inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:24px; max-width:1050px; }
.way-closing__quote { display:block; color:var(--gold); font:700 6rem/.7 var(--serif); }
.way-closing__quote--end { align-self:end; transform:translateY(.12em); }
.way-closing blockquote { margin:0; font:400 clamp(1.8rem,3.2vw,3rem)/1.3 var(--serif); }

@media (max-width:1050px) { .way-person { grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr); } }
@media (max-width:780px) {
  .kelais-way-view .site-header { position:relative; background:var(--cream); }
  .way-hero { min-height:690px; padding:80px 0 64px; align-items:flex-end; }
  .way-hero::before { background:linear-gradient(0deg,rgba(251,248,243,.97) 0%,rgba(251,248,243,.87) 50%,rgba(251,248,243,.1) 82%); }
  .way-hero__photo { object-position:64% center; }
  .way-hero__inner,.way-purpose__grid { grid-template-columns:1fr; }
  .way-hero h1 { font-size:clamp(3.25rem,15vw,5rem); }
  .way-purpose { padding:70px 0 55px; }
  .way-purpose__image { order:-1; border-radius:26px 7px 26px 7px; }
  .way-people { padding:35px 0 70px; }
  .way-person { grid-template-columns:1fr; }
  .way-person__portrait { min-height:0; height:auto; aspect-ratio:4/5; object-position:center 35%; }
  .way-person__content { padding:32px 27px 36px; }
  .way-person__areas { grid-template-columns:1fr; }
  .way-closing { padding:60px 0; }
  .way-closing__inner { grid-template-columns:auto minmax(0,1fr) auto; gap:10px; }
  .way-closing__quote { font-size:3.5rem; }
}

/* Kundalini Awakening */
.ka-page { overflow:hidden; color:var(--body); background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(120deg,#fffdf9,#f4e8d8); background-blend-mode:soft-light,normal; }
.ka-page h1,.ka-page h2,.ka-page h3 { color:var(--ink); }
.kundalini-view .site-header { position:absolute; z-index:30; color:var(--ink); background:transparent; border:0; }
.kundalini-view .site-header .button { color:#fff; }
.ka-hero { position:relative; display:flex; align-items:center; min-height:730px; padding:190px 0 88px; isolation:isolate; background:#f7efe3; }
.ka-hero__image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 47%; }
.ka-hero__video { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; background:#102a3d; }
.ka-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(251,248,243,.99) 0%,rgba(251,248,243,.93) 31%,rgba(251,248,243,.58) 49%,rgba(251,248,243,.06) 74%); }
.ka-hero::after { content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:28%; background:linear-gradient(0deg,rgba(251,248,243,.34),transparent); }
.ka-hero__copy { max-width:600px; }
.ka-hero h1 { margin:0; max-width:560px; font-size:clamp(4.1rem,7vw,7.1rem); line-height:.92; letter-spacing:-.04em; }
.ka-hero__subtitle { margin:24px 0 14px; color:#a66f2d; font:400 clamp(1.4rem,2vw,2rem)/1.25 var(--serif); }
.ka-ornament,.ka-mini-ornament { display:flex; align-items:center; color:var(--gold); }
.ka-ornament { width:285px; margin:18px 0; gap:12px; font-size:.68rem; }
.ka-ornament::before,.ka-ornament::after,.ka-mini-ornament::before,.ka-mini-ornament::after { content:""; height:1px; flex:1; background:rgba(200,157,85,.58); }
.ka-hero__intro { max-width:440px; font-size:1rem; line-height:1.7; }
.ka-hero__intro p { margin:.7em 0; }
.button--gold { margin-top:17px; background:#bd8336; color:#fff; }
.button--gold:hover { background:#93601f; color:#fff; }
.ka-hero--cinematic { min-height:100svh; }
.ka-hero--cinematic::before { background:linear-gradient(90deg,rgba(4,30,42,.72) 0%,rgba(4,30,42,.5) 38%,rgba(4,30,42,.12) 75%); }
.ka-hero--cinematic::after { height:40%; background:linear-gradient(0deg,rgba(4,25,37,.52),transparent); }
.ka-hero--cinematic h1,.ka-hero--cinematic .ka-hero__intro { color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.22); }
.ka-hero--cinematic .ka-hero__subtitle { color:#f1c985; }
.ka-hero--cinematic .button--gold { color:var(--ink); background:#fffdf9; }
.ka-cinematic-view .site-header { color:#fff; }
.ka-cinematic-view .site-header .button { color:#fff; background:rgba(6,43,64,.9); }
.ka-cinematic-view .site-logo { position:relative; }
.ka-cinematic-view .kelais-logo-link { background:transparent; box-shadow:none; }
.ka-cinematic-view .kelais-logo-link::before,.ka-cinematic-view .kelais-logo-link::after { content:none; }
.ka-cinematic-view .kelais-logo-link img { filter:none; }

.ka-what { position:relative; padding:100px 0; background-image:var(--oil-texture),linear-gradient(115deg,rgba(255,253,249,.95),rgba(243,227,205,.57)); background-blend-mode:soft-light,normal; }
.ka-what__grid { display:grid; grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr); gap:6vw; align-items:center; }
.ka-copy h2 { margin:0 0 10px; font-size:clamp(2.7rem,4.3vw,4.6rem); line-height:1.03; }
.ka-copy p { margin:1.15em 0; line-height:1.75; }
.ka-mini-ornament { width:118px; gap:8px; margin:16px 0 25px; font-size:.55rem; }
.ka-session-video { position:relative; margin:0; overflow:hidden; border-radius:38px 8px 38px 8px; background:#d8c6ad; box-shadow:0 28px 65px rgba(68,45,20,.16); }
.ka-session-video::after { content:"REAL SESSION"; position:absolute; top:20px; right:20px; z-index:2; padding:8px 12px; border:1px solid rgba(255,255,255,.55); border-radius:999px; color:#fff; background:rgba(9,43,61,.44); backdrop-filter:blur(8px); font:700 .64rem/1 var(--sans); letter-spacing:.15em; pointer-events:none; }
.ka-session-video video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#162d39; }
.ka-session-image::after { content:""; }
.ka-session-image img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center; }

.ka-booking-options { padding:86px 0 40px; background-color:#f7efe4; background-image:var(--oil-texture),linear-gradient(120deg,rgba(255,253,249,.98),rgba(239,220,190,.55)); background-blend-mode:soft-light,normal; border-block:1px solid rgba(200,157,85,.18); }
.ka-booking-options__heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.ka-booking-options__heading::after { content:"✦"; display:block; margin-top:16px; color:var(--gold); font-size:.64rem; }
.ka-booking-options__heading h2 { margin:.25rem 0 .4rem; font-size:clamp(2.7rem,4.2vw,4.35rem); }
.ka-booking-options__heading > p:last-child { margin:0 auto; max-width:680px; }
.ka-booking-options__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ka-session-card { position:relative; display:grid; grid-template-rows:auto 1fr; min-height:260px; padding:28px 28px 24px; border:1px solid rgba(200,157,85,.42); border-radius:8px; background:rgba(255,253,249,.78); box-shadow:0 16px 45px rgba(72,49,24,.055); }
.ka-session-card__top { display:grid; grid-template-columns:72px 1fr; gap:20px; align-items:start; }
.ka-session-card__icon { display:grid; place-items:center; width:68px; height:68px; color:#b57b2f; border:1px solid rgba(200,157,85,.55); border-radius:50%; }
.ka-session-card__icon svg { width:43px; height:43px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.ka-session-card h3 { margin:2px 0 5px; font-size:clamp(1.45rem,1.8vw,1.9rem); }
.ka-session-card__top p { margin:0; color:#3f4d57; font-size:.85rem; line-height:1.55; }
.ka-session-card__facts { display:grid; align-content:end; gap:8px; margin:20px 0 0; padding-right:110px; }
.ka-session-card__facts span { display:flex; align-items:center; gap:11px; color:#495a65; font-size:.82rem; }
.ka-session-card__facts i { display:grid; place-items:center; width:20px; height:20px; color:#c18a3c; border:1px solid rgba(200,157,85,.5); border-radius:50%; font:400 .68rem/1 var(--sans); }
.ka-session-card__button { position:absolute; right:22px; bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:24px; min-width:126px; min-height:44px; padding:0 18px; border-radius:5px; color:#fff; background:linear-gradient(135deg,#c7923e,#b97827); font-size:.7rem; font-weight:700; letter-spacing:.04em; }
.ka-session-card__button span { font-size:1rem; transition:transform .2s ease; }
.ka-session-card__button:hover span { transform:translateX(4px); }
.ka-booking-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; max-width:820px; margin:36px auto 0; padding:27px 0 8px; border-top:1px solid rgba(200,157,85,.22); }
.ka-booking-benefit { display:flex; align-items:center; gap:16px; }
.ka-booking-benefit > span { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; color:#b77d30; border:1px solid rgba(200,157,85,.52); border-radius:50%; font-size:1.1rem; }
.ka-booking-benefit p { display:grid; margin:0; color:#6a747a; font-size:.75rem; line-height:1.45; }
.ka-booking-benefit strong { color:#35454f; font-size:.79rem; }
.ka-booking-options__note { max-width:760px; margin:28px auto 0; color:#67727a; text-align:center; font-size:.76rem; }

.ka-booking-selector__fieldset,.ka-venue-selector { min-width:0; margin:0; padding:0; border:0; }
.ka-booking-choice,.ka-venue-card > input { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.ka-session-card { cursor:pointer; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.ka-session-card:hover { transform:translateY(-3px); border-color:rgba(183,125,48,.72); box-shadow:0 20px 48px rgba(72,49,24,.1); }
.ka-session-card.is-selected { border-color:#bd8336; box-shadow:0 0 0 2px rgba(200,157,85,.15),0 20px 50px rgba(72,49,24,.1); }
.ka-session-card.is-selected::after { content:"✓"; position:absolute; top:14px; right:15px; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#b77d30; font:700 .78rem/1 var(--sans); }
.ka-session-card:focus-within,.ka-venue-card:focus-within { outline:3px solid rgba(16,42,61,.24); outline-offset:3px; }
.ka-venue-selector { margin-top:64px; padding-top:48px; border-top:1px solid rgba(200,157,85,.28); }
.ka-venue-selector__heading { max-width:760px; margin:0 auto 34px; text-align:center; }
.ka-venue-selector > legend { float:none; width:100%; margin:0 0 8px; text-align:center; font:400 clamp(2.2rem,3.5vw,3.35rem)/1.15 var(--serif); color:var(--ink); }
.ka-venue-selector__heading p { margin:0; color:#64717a; }
.ka-venue-selector__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ka-venue-card { position:relative; display:grid; gap:9px; min-height:305px; padding:30px; border:1px solid rgba(200,157,85,.36); border-radius:20px 6px 20px 6px; color:#475761; background:rgba(255,253,249,.8); box-shadow:0 16px 42px rgba(72,49,24,.055); cursor:pointer; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.ka-venue-card:hover { transform:translateY(-3px); border-color:rgba(183,125,48,.72); box-shadow:0 21px 48px rgba(72,49,24,.1); }
.ka-venue-card.is-selected { border-color:#bd8336; background:rgba(255,250,239,.96); box-shadow:0 0 0 2px rgba(200,157,85,.15),0 20px 50px rgba(72,49,24,.09); }
.ka-venue-card[hidden] { display:none!important; }
.ka-venue-card__check { position:absolute; top:19px; right:20px; display:grid; place-items:center; width:25px; height:25px; border:1px solid rgba(183,125,48,.45); border-radius:50%; color:transparent; }
.ka-venue-card.is-selected .ka-venue-card__check { color:#fff; border-color:#b77d30; background:#b77d30; }
.ka-venue-card__eyebrow { color:#a66f2d; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.ka-venue-card strong { padding-right:35px; color:var(--ink); font:400 1.42rem/1.25 var(--serif); }
.ka-venue-card__address { min-height:2.7em; color:#253d4c; font-weight:600; }
.ka-venue-card span:not(.ka-venue-card__check):not(.ka-venue-card__eyebrow) { font-size:.82rem; line-height:1.5; }
.ka-venue-card em { margin-top:auto; padding-top:10px; color:#99713d; font-size:.72rem; line-height:1.45; }
.ka-booking-selector__continue { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:30px; padding:24px 28px; border:1px solid rgba(200,157,85,.25); border-radius:12px; background:rgba(255,253,249,.58); }
.ka-booking-selector__continue p { max-width:690px; margin:0; color:#657079; font-size:.8rem; line-height:1.55; }
.ka-booking-selector__continue .button { flex:0 0 auto; border:0; cursor:pointer; }

.ka-experiences { padding:92px 0 100px; background:linear-gradient(90deg,rgba(251,248,243,.97),rgba(248,232,207,.55)); }
.ka-section-title { display:flex; align-items:center; justify-content:center; gap:20px; margin:0 0 48px; text-align:center; font-size:clamp(2.4rem,3.8vw,4rem); }
.ka-section-title span { display:flex; align-items:center; gap:10px; color:var(--gold); font-size:.65rem; }
.ka-section-title span::before,.ka-section-title span::after { content:""; width:45px; height:1px; background:rgba(200,157,85,.5); }
.ka-experiences__layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:48px; align-items:stretch; }
.ka-experience-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.ka-experience { padding:14px 26px 26px; text-align:center; border-right:1px solid rgba(200,157,85,.28); }
.ka-experience:nth-child(3n) { border-right:0; }
.ka-experience__icon { display:grid; place-items:center; width:68px; height:68px; margin:0 auto 15px; color:var(--ink); border:1px solid rgba(16,42,61,.36); border-radius:50%; font:400 2.2rem/1 var(--serif); }
.ka-experience h3 { margin:0 0 8px; font:400 1.34rem/1.2 var(--serif); }
.ka-experience p { margin:0; font-size:.86rem; line-height:1.6; }
.ka-experiences__image { margin:0; overflow:hidden; border-radius:32px 8px 32px 8px; }
.ka-experiences__image img { width:100%; height:100%; min-height:390px; object-fit:cover; }

.ka-guidance { position:relative; padding:95px 0; background-image:var(--oil-texture),linear-gradient(110deg,#f7eee1,#fffdf9); background-blend-mode:soft-light,normal; }
.ka-guidance__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1120px; }
.ka-panel { padding:50px 54px; border:1px solid rgba(200,157,85,.25); border-radius:28px 7px 28px 7px; background:rgba(255,253,249,.76); box-shadow:0 20px 55px rgba(72,49,24,.07); }
.ka-panel > h2 { margin:0; text-align:center; font-size:clamp(2rem,3vw,3rem); }
.ka-panel .ka-mini-ornament { margin:15px auto 28px; }
.ka-approach-list { display:grid; gap:22px; }
.ka-approach { display:grid; grid-template-columns:52px 1fr; gap:17px; align-items:start; }
.ka-approach > span { display:grid; place-items:center; width:48px; height:48px; color:#a66f2d; border:1px solid rgba(200,157,85,.52); border-radius:50%; font-size:1.65rem; }
.ka-approach h3 { margin:0 0 4px; font:700 1rem/1.3 var(--sans); }
.ka-approach p,.ka-panel li { margin:0; font-size:.92rem; line-height:1.55; }
.ka-panel ul { margin:12px 0 25px; padding-left:22px; }
.ka-panel li { margin:7px 0; }
.ka-panel li::marker { color:var(--gold); }

.ka-faq { padding:96px 0 110px; }
.ka-faq__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 24px; }
.ka-faq__item { overflow:hidden; border:1px solid rgba(200,157,85,.27); border-radius:14px; background:rgba(255,253,249,.73); }
.ka-faq__item summary { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:21px 24px; cursor:pointer; list-style:none; font:400 1.04rem/1.35 var(--serif); color:var(--ink); }
.ka-faq__item summary::-webkit-details-marker { display:none; }
.ka-faq__item summary b { color:#b7782b; font:400 1.75rem/1 var(--serif); transition:transform .25s ease; }
.ka-faq__item[open] summary b { transform:rotate(45deg); }
.ka-faq__item > div { padding:0 24px 20px; font-size:.9rem; line-height:1.65; }
.ka-faq__item p { margin:0; }

.ka-closing { padding:72px 0; background:linear-gradient(90deg,rgba(251,248,243,.91),rgba(243,221,187,.5)),url("assets/images/kap-innerdance.webp") center/cover; }
.ka-closing__grid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:50px; align-items:center; }
.ka-closing blockquote { position:relative; margin:0; padding-left:54px; color:var(--ink); font:400 clamp(1.4rem,2.2vw,2.1rem)/1.38 var(--serif); }
.ka-closing blockquote > span { position:absolute; left:0; top:-10px; color:var(--gold); font-size:4.5rem; line-height:1; }
.ka-closing cite { display:block; margin-top:16px; font:400 .82rem/1.4 var(--sans); }
.ka-closing__ornament { color:var(--gold); font-size:1.2rem; }
.ka-closing__cta { display:flex; flex-direction:column; align-items:center; text-align:center; }
.ka-closing__cta p { margin:0 0 15px; font:400 1.15rem/1.4 var(--serif); color:var(--ink); }
.ka-closing__cta small { margin-top:12px; }

@media (max-width:1050px) {
  .ka-what__grid { grid-template-columns:1.2fr .8fr; gap:45px; }
  .ka-experiences__layout { grid-template-columns:1fr; }
  .ka-experiences__image { max-height:360px; }
  .ka-experiences__image img { min-height:360px; }
  .ka-venue-selector__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .kundalini-view .site-header { position:relative; background:var(--cream); }
  .ka-hero { min-height:700px; padding:80px 0 64px; align-items:flex-end; }
  .ka-hero__image { object-position:68% center; }
  .ka-hero::before { background:linear-gradient(0deg,rgba(251,248,243,.99) 0%,rgba(251,248,243,.91) 48%,rgba(251,248,243,.12) 82%); }
  .ka-hero--cinematic::before { background:linear-gradient(0deg,rgba(4,30,42,.82) 0%,rgba(4,30,42,.48) 58%,rgba(4,30,42,.14) 88%); }
  .ka-hero h1 { font-size:clamp(3.4rem,16vw,5.4rem); }
  .ka-hero__subtitle { font-size:1.3rem; }
  .ka-what { padding:68px 0; }
  .ka-what__grid,.ka-booking-options__grid,.ka-faq__grid,.ka-closing__grid { grid-template-columns:1fr; }
  .ka-what__grid { gap:36px; }
  .ka-session-video { border-radius:24px 6px 24px 6px; }
  .ka-session-image { max-width:430px; width:100%; margin-inline:auto; }
  .ka-booking-options { padding:68px 0 75px; }
  .ka-booking-benefits { grid-template-columns:1fr; max-width:390px; gap:18px; }
  .ka-venue-selector__grid { grid-template-columns:1fr; }
  .ka-venue-card { min-height:0; }
  .ka-booking-selector__continue { align-items:stretch; flex-direction:column; }
  .ka-booking-selector__continue .button { align-self:flex-start; }
  .ka-session-card__facts { padding-right:140px; }
  .ka-session-card { min-height:0; }
  .ka-experiences { padding:68px 0 75px; }
  .ka-section-title span::before,.ka-section-title span::after { width:18px; }
  .ka-experience-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ka-experience { padding:14px 14px 30px; border-right:0; }
  .ka-panel { padding:38px 26px; }
  .ka-faq { padding:70px 0 78px; }
  .ka-closing { padding:58px 0; }
  .ka-closing__grid { gap:28px; }
  .ka-closing__ornament { display:none; }
}
@media (max-width:480px) {
  .ka-experience-list { grid-template-columns:1fr; }
  .ka-experience { display:grid; grid-template-columns:58px 1fr; column-gap:15px; text-align:left; }
  .ka-experience__icon { grid-row:1 / 3; width:56px; height:56px; margin:0; }
  .ka-experience h3 { align-self:end; }
}

/* Healing Experience */
.healing-page { overflow:hidden; color:var(--body); background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(115deg,#fffdf9,#f3e7d6); background-blend-mode:soft-light,normal; }
.healing-page h1,.healing-page h2,.healing-page h3 { color:var(--ink); }
.healing-hero { position:relative; display:flex; align-items:center; min-height:650px; isolation:isolate; overflow:hidden; color:#fff; background:#173d29; }
.healing-hero__video { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.9) contrast(.95); }
.healing-hero__shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(3,31,19,.82) 0%,rgba(3,31,19,.48) 42%,rgba(3,31,19,.06) 76%),linear-gradient(0deg,rgba(2,24,15,.2),transparent 55%); }
.healing-hero__inner { position:relative; display:block; }
.healing-hero__copy { max-width:650px; }
.healing-hero h1 { margin:0; color:#fff; font-size:clamp(4rem,7.2vw,7.2rem); line-height:.95; letter-spacing:-.035em; text-shadow:0 3px 25px rgba(0,0,0,.24); }
.healing-hero__promise { margin:22px 0 24px; color:#e0ac58; font:400 clamp(1.55rem,2.5vw,2.3rem)/1.25 var(--serif); }
.healing-rule { display:flex; align-items:center; width:600px; max-width:92%; margin:28px 0 0; color:#d6a84e; }
.healing-rule::before,.healing-rule::after { content:""; height:1px; flex:1; background:#d6a84e; }
.healing-rule span { padding:0 12px; font-size:.75rem; }
.healing-hero__copy > p:last-child { max-width:480px; margin:0; font-size:1.03rem; line-height:1.75; }
.healing-intro { padding:90px 0 75px; }
.healing-intro__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr); gap:8vw; align-items:center; }
.healing-intro__copy { max-width:520px; }
.healing-intro h2 { margin:10px 0 25px; font-size:clamp(2.8rem,4.4vw,4.8rem); line-height:1.04; letter-spacing:-.025em; }
.healing-intro__copy > p:last-child { max-width:470px; margin:0; line-height:1.75; }
.healing-intro__image { margin:0; overflow:hidden; border-radius:24px 7px 24px 7px; box-shadow:0 24px 55px rgba(82,58,28,.12); }
.healing-intro__image img { display:block; width:100%; aspect-ratio:1.35/1; object-fit:cover; object-position:center; }
.healing-services { padding:18px 0 68px; }
.healing-section-heading { text-align:center; }
.healing-section-heading h2 { margin:8px 0 28px; font-size:clamp(2.4rem,4vw,4rem); line-height:1.1; }
.healing-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }
.healing-service-card { position:relative; display:grid; grid-template-columns:120px 1fr; grid-template-rows:1fr auto; column-gap:25px; min-height:210px; padding:28px 30px 21px; border:1px solid rgba(190,137,59,.48); border-radius:12px; background:rgba(255,253,249,.7); box-shadow:0 12px 30px rgba(79,57,31,.05); transition:.25s ease; }
.healing-service-card:hover { transform:translateY(-3px); border-color:#b77d30; box-shadow:0 18px 38px rgba(79,57,31,.1); }
.healing-service-card__icon { grid-row:1 / 3; display:grid; place-items:center; align-self:center; color:#bd812d; }
.healing-service-card__icon svg { display:block; width:108px; height:108px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.healing-service-card__copy { display:flex; flex-direction:column; align-self:center; }
.healing-service-card__copy strong { max-width:none; color:var(--ink); font:400 clamp(1.45rem,2vw,2.1rem)/1.05 var(--serif); }
.healing-service-card__copy > span { max-width:325px; margin-top:13px; font-size:.87rem; line-height:1.55; }
.healing-service-card__link { align-self:end; color:#aa7228; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.healing-service-card__link b { margin-left:5px; font-size:1rem; }
.healing-more { display:grid; place-items:center; min-height:112px; margin-top:22px; border:1px dashed rgba(190,137,59,.62); border-radius:12px; color:#b77d30; }
.healing-more span { font-size:2rem; line-height:1; }
.healing-more p { margin:-7px 0 0; }
.healing-private { padding:62px 0 52px; text-align:center; border-top:1px solid rgba(200,157,85,.15); background-image:var(--oil-texture),linear-gradient(110deg,rgba(255,253,249,.9),rgba(244,230,208,.62)); background-blend-mode:soft-light,normal; }
.healing-private .healing-section-heading h2 { margin-bottom:30px; }
.healing-private__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1000px; margin:0 auto 30px; }
.healing-private__steps > div { display:grid; grid-template-columns:34px 55px 1fr; align-items:center; gap:14px; min-height:72px; padding:0 25px; text-align:left; border-right:1px solid rgba(190,137,59,.45); }
.healing-private__steps > div:last-child { border-right:0; }
.healing-private__number { display:grid; place-items:center; width:30px; height:30px; border:1px solid #bd812d; border-radius:50%; color:#a66f2d; font-size:.8rem; }
.healing-private__icon { color:#bd812d; font:400 2.7rem/1 var(--serif); text-align:center; }
.healing-private__steps p { margin:0; color:var(--ink); font-size:.84rem; line-height:1.45; }
.healing-private .button { min-width:310px; }

@media (max-width:900px) {
  .healing-intro__grid { grid-template-columns:1fr; gap:45px; }
  .healing-intro__copy { max-width:650px; }
  .healing-intro__image { max-width:650px; }
  .healing-service-card { grid-template-columns:90px 1fr; padding-inline:22px; }
  .healing-service-card__icon svg { width:84px; height:84px; }
  .healing-private__steps > div { grid-template-columns:30px 45px 1fr; padding:0 14px; gap:9px; }
}
@media (max-width:680px) {
  .healing-hero { min-height:590px; }
  .healing-hero h1 { font-size:clamp(3.7rem,18vw,5.4rem); }
  .healing-hero__copy > p:last-child br { display:none; }
  .healing-intro { padding:68px 0 55px; }
  .healing-intro h2 { font-size:2.8rem; }
  .healing-service-grid { grid-template-columns:1fr; }
  .healing-service-card { min-height:195px; }
  .healing-private__steps { grid-template-columns:1fr; max-width:430px; }
  .healing-private__steps > div { min-height:90px; border-right:0; border-bottom:1px solid rgba(190,137,59,.32); }
  .healing-private__steps > div:last-child { border-bottom:0; }
  .healing-private .button { width:100%; min-width:0; }
}
@media (max-width:430px) {
  .healing-service-card { grid-template-columns:75px 1fr; column-gap:15px; padding:22px 18px 18px; }
  .healing-service-card__icon svg { width:72px; height:72px; }
  .healing-service-card__copy strong { font-size:1.55rem; }
  .healing-service-card__copy > span { font-size:.8rem; }
}

/* Living with Reiki */
.reiki-page { overflow:hidden; color:var(--body); background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(115deg,#fffdf9,#f4e8d8); background-blend-mode:soft-light,normal; }
.reiki-page h1,.reiki-page h2,.reiki-page h3 { color:var(--ink); }
.reiki-hero { position:relative; display:flex; align-items:center; min-height:610px; isolation:isolate; overflow:hidden; color:#fff; background:#15331f; }
.reiki-hero__video { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; }
.reiki-hero__shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(2,25,15,.78),rgba(2,25,15,.34) 55%,rgba(2,25,15,.05)); }
.reiki-hero h1 { margin:0; color:#fff; font-size:clamp(4rem,6.7vw,6.9rem); line-height:.96; text-shadow:0 3px 24px rgba(0,0,0,.23); }
.reiki-hero p { margin:24px 0 0; color:#e3ac50; font:400 clamp(1.55rem,2.5vw,2.35rem)/1.25 var(--serif); }
.reiki-philosophy { padding:100px 0 90px; }
.reiki-philosophy__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(390px,1.18fr); gap:7vw; align-items:center; }
.reiki-philosophy__copy h2 { margin:0 0 29px; font-size:clamp(2rem,3.3vw,3.4rem); line-height:1.25; }
.reiki-philosophy__copy p { margin:1.1em 0; line-height:1.72; }
.reiki-philosophy figure { margin:0; overflow:hidden; border-radius:30px 8px 30px 8px; box-shadow:0 22px 55px rgba(76,52,24,.12); }
.reiki-philosophy img { display:block; width:100%; aspect-ratio:1.25/1; object-fit:cover; }
.reiki-videos { padding:88px 0 100px; border-top:1px solid rgba(200,157,85,.16); background:rgba(255,253,249,.55); }
.reiki-heading { max-width:820px; margin:0 auto 42px; text-align:center; }
.reiki-heading h2 { margin:8px 0 10px; font-size:clamp(2.6rem,4.2vw,4.2rem); line-height:1.08; }
.reiki-heading > p:last-child { margin:0; color:#66727a; }
.reiki-video-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:22px; align-items:stretch; }
.reiki-video-card { grid-column:span 2; overflow:hidden; border:1px solid rgba(190,137,59,.34); border-radius:13px; background:rgba(255,253,249,.84); box-shadow:0 14px 34px rgba(77,54,28,.045); }
.reiki-video-card__visual { position:relative; height:190px; overflow:hidden; }
.reiki-video-card__visual img { width:100%; height:100%; object-fit:cover; }
.reiki-video-card__body { display:flex; flex-direction:column; min-height:205px; padding:20px 21px 18px; }
.reiki-video-card h3 { margin:0 0 8px; font-size:1.35rem; line-height:1.2; }
.reiki-video-card p { margin:0; color:#59676f; font-size:.79rem; line-height:1.55; }
.reiki-video-card__body > div { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding-top:18px; color:#9e6b2b; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.reiki-video-card__body a { color:#a66f2d; }
.reiki-video-card:nth-child(5) { grid-column:2 / span 2; }
.reiki-vimeo-note { margin:30px 0 0; text-align:center; color:#68747c; font-size:.78rem; }
.reiki-faq { padding:88px 0 98px; background-image:var(--oil-texture),linear-gradient(110deg,#f5e8d6,#fffdf9); background-blend-mode:soft-light,normal; }
.reiki-faq h2 { margin:0 0 35px; text-align:center; font-size:clamp(2.7rem,4vw,4rem); }
.reiki-faq__list { max-width:940px; margin:auto; border-top:1px solid rgba(190,137,59,.4); }
.reiki-faq details { border-bottom:1px solid rgba(190,137,59,.4); }
.reiki-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 12px; color:var(--ink); cursor:pointer; list-style:none; font:400 1.05rem/1.35 var(--serif); }
.reiki-faq summary::-webkit-details-marker { display:none; }
.reiki-faq summary b { color:#b77a2c; font-size:1.3rem; }
.reiki-faq details[open] summary b { transform:rotate(45deg); }
.reiki-faq details p { margin:0; padding:0 12px 20px; font-size:.88rem; }
.reiki-closing { padding:70px 0; }
.reiki-closing__panel { padding:56px 65px; border-radius:20px; background:linear-gradient(90deg,rgba(251,247,239,.96),rgba(251,247,239,.45)),url("assets/images/quiet-moment.webp") center/cover; }
.reiki-closing h2 { max-width:660px; margin:0 0 24px; font-size:clamp(2.1rem,3.5vw,3.7rem); line-height:1.15; }

/* Recorded Courses */
.courses-page { overflow:hidden; background-color:var(--cream); background-image:var(--oil-texture),linear-gradient(115deg,#fffdf9,#f3e6d4); background-blend-mode:soft-light,normal; }
.courses-page h1,.courses-page h2,.courses-page h3 { color:var(--ink); }
.courses-hero { padding:82px 0; }
.courses-hero__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:7vw; align-items:center; }
.courses-hero h1 { margin:12px 0 10px; font-size:clamp(4.2rem,7vw,7rem); line-height:.95; }
.courses-hero h2 { margin:18px 0 24px; color:#a66f2d; font-size:clamp(2rem,3.3vw,3.4rem); line-height:1.2; }
.courses-hero__grid > div > p:last-child { max-width:470px; }
.courses-hero figure { margin:0; overflow:hidden; border-radius:34px 8px 34px 8px; box-shadow:0 25px 55px rgba(80,54,25,.12); }
.courses-hero figure img { display:block; width:100%; aspect-ratio:1.45/1; object-fit:cover; }
.course-catalog { padding:80px 0 95px; background:rgba(255,253,249,.54); }
.course-catalog > .container > header { max-width:960px; margin:0 auto 40px; text-align:center; }
.course-catalog header h2 { margin:0 0 26px; font-size:clamp(2.6rem,4vw,4rem); }
.course-search { display:flex; align-items:center; gap:14px; max-width:760px; margin:auto; padding:0 19px; border:1px solid rgba(16,42,61,.25); border-radius:9px; background:#fffdf9; }
.course-search input { width:100%; min-height:50px; border:0; outline:0; background:transparent; }
.course-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:13px; margin-top:20px; }
.course-filters button { min-height:37px; padding:0 20px; border:1px solid rgba(183,125,48,.52); border-radius:999px; color:#a66f2d; background:transparent; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.course-filters .is-active { color:#fff; border-color:var(--deep); background:var(--deep); }
.featured-course { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid rgba(190,137,59,.38); border-radius:18px; background:rgba(255,253,249,.8); }
.featured-course > img { width:100%; height:100%; min-height:390px; object-fit:cover; }
.featured-course > div { padding:42px 48px; }
.featured-course h2 { margin:10px 0 16px; font-size:clamp(2.2rem,3.4vw,3.5rem); line-height:1.1; }
.course-meta { color:#58666f; font-size:.76rem; }
.course-buy { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; margin-top:25px; }
.course-buy strong { color:var(--ink); font:400 2rem/1 var(--serif); }
.course-buy > span { color:#a66f2d; font-size:.72rem; }
.course-preview-note { margin:35px 0 22px; text-align:center; }
.course-preview-note p { margin:0 0 4px; }
.course-preview-note span { color:#69747c; font-size:.75rem; }
.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.course-card { overflow:hidden; border:1px solid rgba(190,137,59,.34); border-radius:13px; background:rgba(255,253,249,.82); transition:.25s ease; }
.course-card:hover { transform:translateY(-4px); box-shadow:0 19px 43px rgba(76,53,26,.09); }
.course-card > img { display:block; width:100%; aspect-ratio:1.55/1; object-fit:cover; }
.course-card > div { display:flex; flex-direction:column; min-height:315px; padding:23px 24px 20px; }
.course-card .eyebrow { font-size:.62rem; }
.course-card h3 { margin:8px 0 10px; font-size:1.65rem; line-height:1.12; }
.course-card p:not(.eyebrow) { margin:0; color:#5d6971; font-size:.8rem; line-height:1.55; }
.course-card__by { margin-top:15px; color:#45545e; font-size:.72rem; }
.course-card .course-meta { margin-top:7px; }
.course-card footer { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:18px; color:var(--ink); border-top:1px solid rgba(190,137,59,.25); }
.course-card footer strong { font:400 1.35rem/1 var(--serif); }
.course-card footer span { font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.course-steps { padding:80px 0; text-align:center; }
.course-steps h2 { margin:0 0 40px; font-size:clamp(2.6rem,4vw,4rem); }
.course-steps .container > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px; }
.course-steps article > span { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 16px; color:#a66f2d; border:1px solid rgba(183,125,48,.5); border-radius:50%; font-size:1.7rem; }
.course-steps h3 { margin:0 0 7px; font-size:1rem; font-family:var(--sans); }
.course-steps p { margin:0; font-size:.78rem; }
.course-closing { padding:0 0 75px; }
.course-closing .container > div { padding:58px 65px; border-radius:20px; background:linear-gradient(90deg,rgba(251,247,239,.96),rgba(251,247,239,.45)),url("assets/images/quiet-moment.webp") center/cover; }
.course-closing h2 { max-width:780px; margin:0 0 24px; font-size:clamp(2.1rem,3.5vw,3.6rem); line-height:1.2; }

@media (max-width:1050px) {
  .reiki-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reiki-video-card,.reiki-video-card:nth-child(5) { grid-column:auto; }
  .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .reiki-hero { min-height:560px; }
  .reiki-philosophy__grid,.courses-hero__grid,.featured-course { grid-template-columns:1fr; }
  .reiki-philosophy figure,.courses-hero figure { order:-1; }
  .reiki-philosophy img { aspect-ratio:1.45/1; }
  .featured-course > img { min-height:280px; }
  .course-steps .container > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .reiki-hero h1 { font-size:3.6rem; }
  .reiki-video-grid,.course-grid,.course-steps .container > div { grid-template-columns:1fr; }
  .reiki-video-card,.reiki-video-card:nth-child(5) { grid-column:auto; }
  .reiki-video-card__visual { height:220px; }
  .reiki-philosophy,.reiki-videos,.course-catalog { padding-block:65px; }
  .reiki-closing__panel,.course-closing .container > div { padding:40px 26px; }
  .featured-course > div { padding:32px 25px; }
  .course-buy { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Final KA comparison layout: four cards in one desktop row. */
.ka-page .ka-booking-options__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ka-page .ka-session-card{min-width:0}
.ka-page .ka-session-card h3{font-size:clamp(1.35rem,1.7vw,1.85rem)}
@media(max-width:1050px){.ka-page .ka-booking-options__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ka-page .ka-booking-options__grid{grid-template-columns:1fr}}

/* 2.9.4 WooCommerce checkout: service-first details and a generous summary. */
.woocommerce-checkout .wp-block-woocommerce-checkout{max-width:1540px;margin-inline:auto;padding-inline:clamp(20px,3.5vw,58px)}
.woocommerce-checkout .wc-block-components-sidebar-layout{gap:clamp(30px,4vw,68px);align-items:start}
.woocommerce-checkout .wc-block-checkout__main{width:56%;padding-right:0}
.woocommerce-checkout .wc-block-checkout__sidebar{width:44%;padding-left:0;position:sticky;top:28px}
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__city,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__state,
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__postcode{display:none!important}
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form{gap:14px}
.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__phone{display:block!important;order:20}
.woocommerce-checkout .wc-block-components-order-summary{overflow:hidden;border:1px solid rgba(190,137,59,.38);border-radius:20px;background:#fffdf9;box-shadow:0 22px 55px rgba(65,49,30,.08)}
.woocommerce-checkout .wc-block-components-order-summary__button-text{font:400 clamp(1.55rem,2.1vw,2rem)/1.2 var(--serif);color:var(--ink)}
.woocommerce-checkout .wc-block-components-order-summary-item{display:block!important;padding:24px!important}
.woocommerce-checkout .wc-block-components-order-summary-item__image,
.woocommerce-checkout .wc-block-components-order-summary-item__quantity{display:none!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;width:100%!important;max-width:none!important;padding:0!important}
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{display:none!important}
.woocommerce-checkout .wc-block-components-product-name{grid-column:1;display:block!important;padding:0!important;color:var(--ink);font:400 clamp(1.35rem,1.9vw,1.85rem)/1.22 var(--serif)}
.woocommerce-checkout .wc-block-components-order-summary-item__total-price{grid-column:2;grid-row:1;color:#9a6726;font-size:1.05rem;font-weight:800;white-space:nowrap}
.woocommerce-checkout .wc-block-components-product-details{grid-column:1/-1;display:grid!important;gap:0;margin:19px 0 0!important;padding:8px 20px!important;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:#faf3e8;color:#42515b;font-size:.86rem;line-height:1.45}
.woocommerce-checkout .wc-block-components-product-details li{display:grid!important;grid-template-columns:minmax(105px,.38fr) minmax(0,1fr);gap:16px;margin:0!important;padding:9px 0!important;border-bottom:1px solid rgba(16,42,61,.09);white-space:normal!important}
.woocommerce-checkout .wc-block-components-product-details li:last-child{border-bottom:0}
.woocommerce-checkout .wc-block-components-product-details li::after{display:none!important;content:""!important}
.woocommerce-checkout .wc-block-components-product-details__name{color:#9b6b2d;font-weight:700}
.woocommerce-checkout .wc-block-components-product-details__value{overflow-wrap:anywhere;color:#31424d}
.woocommerce-checkout .wc-block-components-totals-wrapper{padding-inline:24px}
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.35rem;color:var(--ink)}
@media(max-width:1000px){.woocommerce-checkout .wc-block-checkout__main,.woocommerce-checkout .wc-block-checkout__sidebar{width:100%;padding:0}.woocommerce-checkout .wc-block-components-sidebar-layout{display:block}.woocommerce-checkout .wc-block-checkout__sidebar{position:static;margin-top:38px}}
@media(max-width:560px){.woocommerce-checkout .wc-block-components-order-summary-item__description{grid-template-columns:1fr}.woocommerce-checkout .wc-block-components-order-summary-item__total-price{grid-column:1;grid-row:auto;margin-top:6px}.woocommerce-checkout .wc-block-components-product-details li{grid-template-columns:1fr;gap:2px}}

/* 2.8.3 booking comfort: international telephone entry and a clearer date control. */
.booking-form .booking-date-field input[type="date"]{min-height:68px;padding:17px 18px;font-size:1.12rem;font-weight:600;letter-spacing:.02em;color:var(--ink);cursor:pointer}
.booking-form .booking-date-field input[type="date"]::-webkit-calendar-picker-indicator{width:28px;height:28px;cursor:pointer;opacity:.72}
.international-phone-field{grid-column:1/-1}
.international-phone{display:grid;grid-template-columns:150px 1fr;margin-top:7px;border:1px solid #d8cbbb;border-radius:10px;background:#fff;overflow:hidden;transition:.2s ease}
.international-phone:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,157,85,.14)}
.booking-form .international-phone select,.booking-form .international-phone input{width:100%;min-height:58px;margin:0;border:0;border-radius:0;background:#fff;padding:15px;font:inherit;color:var(--body)}
.booking-form .international-phone select{border-right:1px solid #e3d7c6;font-weight:600;cursor:pointer}
.booking-form .international-phone input:focus,.booking-form .international-phone select:focus{outline:0}
.payment-booking-details{display:grid;gap:13px;margin:18px 0;padding:18px;border-radius:12px;background:#f8f2e8}
.payment-booking-details span{display:grid;gap:3px}
.payment-booking-details small{color:#7c858a;font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.payment-booking-details strong{color:var(--ink);font-size:.86rem;line-height:1.4}
@media(max-width:640px){.international-phone{grid-template-columns:125px 1fr}.booking-form .booking-date-field input[type="date"]{min-height:64px;font-size:1rem}}

/* 2.9.7 streamlined booking and checkout. */
.booking-service-group{grid-column:1/-1;border:1px solid rgba(190,137,59,.35);border-radius:16px;background:#fff;overflow:hidden}.booking-service-group>summary{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;cursor:pointer;list-style:none;color:var(--ink)}.booking-service-group>summary::-webkit-details-marker{display:none}.booking-service-group>summary strong{font:400 1.55rem var(--serif)}.booking-service-group>summary span{color:var(--gold);font-size:1.3rem;transition:.2s}.booking-service-group[open]>summary span{transform:rotate(45deg)}.booking-service-group__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 22px}.arranged-service-note{margin:-8px 0 25px;padding:18px 22px;border-left:3px solid var(--gold);background:#fff8eb;color:#5f503b;line-height:1.65}.arranged-service-note[hidden]{display:none}.contact-trap{position:absolute!important;left:-9999px!important}.course-player__video video{display:block;width:100%;aspect-ratio:16/9;background:#071f2d;border-radius:14px}.course-back-link{margin-top:18px!important;color:#a8732d!important}.kelais-order-actions{margin:28px 0;padding:26px;border:1px solid rgba(190,137,59,.34);border-radius:16px;background:#fffdf9}.kelais-order-actions .button{margin:8px 8px 0 0}.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading,.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__country{display:none!important}.woocommerce-checkout .wc-block-checkout__main{width:52%}.woocommerce-checkout .wc-block-checkout__sidebar{width:48%}.woocommerce-checkout .wc-block-components-order-summary-item__description{min-width:0}.woocommerce-checkout .wc-block-components-product-details__value{font-size:.9rem;line-height:1.55}.woocommerce-checkout .wc-block-components-order-summary{min-width:0}.inline-registration> .container>form{max-width:920px;margin:auto;padding:32px;border:1px solid rgba(190,137,59,.38);border-radius:20px;background:#fff}.event-registration-success{text-align:center}.event-registration-success .qr-demo{margin:25px auto}
.kelais-edit-order{display:inline-flex;margin:0 0 14px;padding:10px 16px;border:1px solid rgba(190,137,59,.4);border-radius:999px;background:#fff;color:#966424;font-size:.78rem;font-weight:700}
@media(max-width:700px){.booking-service-group__choices{grid-template-columns:1fr;padding:0 14px 16px}.booking-service-group>summary{padding:18px}.booking-service-group>summary strong{font-size:1.25rem}}

/* 2.9.8 incremental fixes: accessible FAQ, clean one-field names and mobile hero crop. */
.faq-list{padding-block:70px 100px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none;color:var(--ink);font:400 1.25rem/1.35 var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--gold);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 44px 22px 0}.faq-contact{margin-top:38px}.kelais-hidden-last-name{display:none!important}
.course-player aside>.course-lesson-label{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--body)}.course-player aside>.course-lesson-label>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:.72rem}
@media(max-width:560px){.hero__video:nth-child(1){object-position:80% center}.hero__video:nth-child(2){object-position:62% center}.hero__video:nth-child(3){object-position:46% center}.faq-list{padding-block:48px 74px}.faq-list summary{font-size:1.08rem}.faq-list details p{padding-right:0}}

/* Embedded English booking schedule, inspired by clean appointment interfaces. */
.kelais-schedule{overflow:hidden;border:1px solid rgba(190,137,59,.42);border-radius:18px;background:#fffdf9;box-shadow:0 18px 45px rgba(65,49,30,.07)}
.kelais-schedule__top{display:grid;grid-template-columns:2fr 1fr;gap:18px;padding:22px 25px;border-bottom:1px solid rgba(190,137,59,.28);background:#faf4e9}
.kelais-schedule__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr)}
.kelais-inline-calendar{padding:27px 30px 30px;border-right:1px solid rgba(190,137,59,.26)}
.kelais-inline-calendar__head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:17px}
.kelais-inline-calendar__head strong{text-align:center;color:var(--ink);font:400 1.55rem var(--serif)}
.kelais-inline-calendar__head button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(183,125,48,.38);border-radius:50%;background:#fff;color:#a66f2d;font-size:1.35rem;cursor:pointer}
.kelais-inline-calendar__week,.kelais-inline-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.kelais-inline-calendar__week span{padding:8px 0;text-align:center;color:#7b858b;font-size:.67rem;font-weight:700;text-transform:uppercase}
.kelais-inline-calendar__days button{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:var(--ink);font:600 .9rem var(--sans);cursor:pointer}
.kelais-inline-calendar__days button:hover{background:#f2e4cf}
.kelais-inline-calendar__days button.is-selected{color:#fff;background:var(--deep);box-shadow:0 7px 17px rgba(6,48,70,.2)}
.kelais-inline-calendar__days button.is-available:not(.is-selected){box-shadow:inset 0 0 0 1px rgba(183,125,48,.35)}
.kelais-inline-calendar__days span{aspect-ratio:1}
.kelais-inline-calendar [data-cal-value]{position:absolute;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0;pointer-events:none}
.kelais-time-slots{padding:30px;background:#fff}
.kelais-time-slots h3{margin:4px 0 20px;font-size:1.6rem}
.kelais-time-slots>label{position:relative;margin-bottom:11px;cursor:pointer}
.kelais-time-slots>label input{position:absolute;opacity:0}
.kelais-time-slots>label span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 18px;border:1px solid #ded1bf;border-radius:11px;transition:.2s ease}
.kelais-time-slots>label small{color:#a66f2d;font-size:.68rem;font-weight:700}
.kelais-time-slots>label input:checked+span{border-color:var(--gold);background:#fbf3e6;box-shadow:0 0 0 2px rgba(200,157,85,.14)}
.payment-tabs--four{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.kelais-schedule__top,.kelais-schedule__body{grid-template-columns:1fr}.kelais-inline-calendar{border-right:0;border-bottom:1px solid rgba(190,137,59,.26);padding-inline:18px}.kelais-time-slots{padding:24px 18px}.kelais-inline-calendar__week,.kelais-inline-calendar__days{gap:4px}}

.choice-grid--catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-category{grid-column:1/-1;margin:20px 0 0;padding-bottom:9px;color:#a66f2d;border-bottom:1px solid rgba(190,137,59,.32);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.choice-category:first-child{margin-top:0}
.choice-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-grid--five label:last-child{grid-column:1/-1}
.booking-local-time{display:grid;gap:3px;margin-top:18px;padding:13px 15px;border-radius:9px;background:#f4eee4}
.booking-local-time span{color:#8a6b3f;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.booking-local-time strong{color:var(--ink);font-size:.78rem}
.booking-bring-note{margin:13px 0 0;padding:13px 15px;border-left:3px solid var(--gold);background:#fff8eb;color:#655640;font-size:.75rem;font-weight:600}
.kelais-schedule select[data-locked="true"]{pointer-events:none;color:#284355;background-color:#f2f4f3}
.healing-service-detail__content{max-width:850px;margin:0 auto 25px;color:#45525a}
.healing-service-detail__content h4{margin:24px 0 7px;color:var(--ink);font:400 1.25rem var(--serif)}
.healing-service-detail__content p{margin:0 0 12px;line-height:1.75}
.ticket--success{max-width:920px;margin:35px auto}
@media(max-width:700px){.choice-grid--catalog,.choice-grid--five{grid-template-columns:1fr}.choice-grid--five label:last-child{grid-column:auto}}

/* Five KA choices: spacious 3 + 2 layout instead of compressed cards. */
.ka-page .ka-booking-options__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin-inline:auto}
@media(max-width:900px){.ka-page .ka-booking-options__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ka-page .ka-booking-options__grid{grid-template-columns:1fr}}
