:root{--bg: #f6edf6;--bg-strong: #eeddf4;--panel: rgba(255, 255, 255, .34);--panel-strong: rgba(255, 248, 252, .8);--panel-border: rgba(123, 94, 141, .18);--text: #402a52;--muted: #6f5979;--soft: #9873a9;--accent: #e8cfe8;--accent-strong: #6d4079;--gold: #b3862f;--gold-soft: #d8b467;--shadow: rgba(88, 53, 96, .09);--danger: #b16457;--surface-glow: rgba(200, 173, 234, .22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,Manrope,sans-serif;background:radial-gradient(circle at 10% 15%,rgba(220,181,233,.52),transparent 20%),radial-gradient(circle at 80% 18%,rgba(179,147,203,.46),transparent 22%),linear-gradient(180deg,#f6eeff,#f4e6f8 42%,#f7f0f4);color:var(--text)}body:before,body:after{content:"";position:fixed;inset:auto auto 8% -8% 0;width:32vw;height:32vw;border-radius:52% 48%/44% 56%;background:linear-gradient(135deg,#d8a9e8b3,#fff0);filter:blur(28px);opacity:.55;pointer-events:none}body:after{inset:8% -6% auto auto;width:30vw;height:34vw;background:linear-gradient(135deg,#cda9eeb8,#fff0)}img{display:block;max-width:100%}button,input,select,textarea,a{font:inherit}button{border:0}#root{min-height:100vh}.page-shell{--pointer-x: 0px;--pointer-y: 0px;position:relative;width:min(100%,1440px);margin:0 auto;padding:20px 0 26px;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;overflow:hidden;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.site-header,.content-wrap,.site-footer,.secondary-page,.booking-panel,.services-grid,.meta-strip{position:relative;z-index:1}.page-shell.light{--bg: #f6edf6;--bg-strong: #f0dff4;--panel: rgba(255, 255, 255, .38);--panel-strong: rgba(255, 248, 252, .74);--panel-border: rgba(123, 94, 141, .18);--text: #402a52;--muted: #6f5979;--soft: #9873a9;--accent: #e8cfe8;--accent-strong: #6d4079;--gold: #b3862f;--gold-soft: #d8b467;--shadow: rgba(88, 53, 96, .09);background:transparent;box-shadow:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px 14px;border-bottom:0}.brand-block{display:flex;align-items:center;gap:14px;min-width:0}.lotus-mark{display:inline-flex;align-items:center;justify-content:center;font-size:2.75rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(179,134,47,.35))}.brand-copy{min-width:0}.brand-kicker{margin:0 0 5px;text-transform:uppercase;letter-spacing:.24rem;font-size:.64rem;color:var(--soft)}.brand-title{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,2.2vw,3rem);line-height:1;letter-spacing:-.03em;font-weight:600}.header-actions{display:flex;align-items:center;gap:18px}.main-nav{display:flex;align-items:center;gap:26px;padding:10px 18px;border:1px solid rgba(139,89,164,.18);border-radius:999px;background:#ffffff1f;box-shadow:inset 0 1px #ffffff47}.main-nav a{color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.12rem;font-size:.68rem;font-weight:700;transition:opacity .2s ease}.main-nav a:hover,.main-nav a.active{opacity:.85;color:var(--gold)}.content-wrap{padding-top:6px}.hero-banner{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 24px 48px var(--shadow)}.hero-banner-image{width:100%;height:auto;display:block}.section-block{margin-top:44px}.section-heading{text-align:center;margin-bottom:26px}.section-heading h3{margin:8px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,3.4vw,3.6rem);letter-spacing:.02em;line-height:1;color:var(--text)}.eyebrow{display:inline-block;margin:0 0 18px;text-transform:uppercase;letter-spacing:.22rem;font-weight:700;font-size:.72rem;color:var(--gold)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.9rem 1.5rem;border-radius:999px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease;font-weight:700;text-transform:uppercase;letter-spacing:.12rem;font-size:.72rem;cursor:pointer}.primary-button{color:#fffaf0;background:linear-gradient(135deg,#6d4079 0%,#8a5f96 45%,var(--gold) 100%);box-shadow:0 18px 30px #704a7833}.secondary-button{color:var(--text);border:1px solid var(--panel-border);background:#ffffff29}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);box-shadow:0 18px 26px #1f18141f}.meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.meta-pill{display:flex;align-items:center;justify-content:center;min-height:72px;padding:12px 18px;text-align:center;border:1px solid var(--panel-border);border-radius:18px;background:#ffffff1f;text-transform:uppercase;letter-spacing:.12rem;font-size:.7rem;font-weight:700;color:var(--text);box-shadow:inset 0 1px #ffffff26}.services-grid{margin-top:38px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.session-card{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;min-height:170px;padding:18px 18px 18px 14px;border:1px solid var(--panel-border);border-radius:26px;background:#ffffff1f;transition:transform .25s ease,box-shadow .25s ease;box-shadow:inset 0 1px #ffffff1f}.session-card:hover{transform:translateY(-4px);box-shadow:0 18px 28px var(--shadow)}.session-card.featured{background:linear-gradient(135deg,#d8b4672e,#ffffff2e);border-color:#b3862f59}.mini-visual{width:96px;height:118px;border-radius:50% 50% 16px 16px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(179,134,47,.32);background:linear-gradient(180deg,#ffffff80,#d8b4671f);box-shadow:inset 0 1px #fff6}.session-icon-svg{width:46px;height:46px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.session-content h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,2vw,2.8rem);letter-spacing:.02em;line-height:1}.session-duration{margin:10px 0 8px;color:var(--soft);text-transform:uppercase;letter-spacing:.12rem;font-size:.7rem;font-weight:700}.session-content p:last-child{margin:0;color:var(--muted);line-height:1.7;font-size:.95rem}.in-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.experience-card{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;min-height:170px;padding:18px 18px 18px 14px;border:1px solid var(--panel-border);border-radius:26px;background:#ffffff1f;transition:transform .25s ease,box-shadow .25s ease;box-shadow:inset 0 1px #ffffff1f}.experience-card:hover{transform:translateY(-4px);box-shadow:0 18px 28px var(--shadow)}.showcase-panel{margin-top:40px;padding:30px 24px 22px;border:1px solid var(--panel-border);border-radius:28px;background:linear-gradient(135deg,#ffffff24,#c8aad914)}.showcase-copy{text-align:center}.showcase-copy h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,3vw,3.6rem);letter-spacing:.03em;line-height:1;color:var(--text)}.pillars{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 18px;margin-top:22px}.pillars span{padding:.8rem 1rem;border:1px solid rgba(179,134,47,.3);border-radius:999px;background:#d8b46714;text-transform:uppercase;letter-spacing:.18rem;font-size:.62rem;font-weight:700}.booking-panel{margin-top:36px;display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;padding:26px 22px;border:1px solid var(--panel-border);border-radius:28px;background:#ffffff1f}.booking-copy{display:flex;flex-direction:column;justify-content:center}.booking-copy h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,3vw,3.5rem);letter-spacing:.04em;line-height:1}.booking-copy p{margin:16px 0 0;color:var(--muted);line-height:1.7;font-size:1rem}.booking-cta-box{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:24px;border:1px solid var(--panel-border);border-radius:24px;background:linear-gradient(135deg,#ffffff2e,#d4aee414)}.booking-cta-box p{margin:0;color:var(--muted);line-height:1.7}.booking-form{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--panel-border);border-radius:24px;background:#ffffff05}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-form label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;letter-spacing:.12rem;font-size:.68rem;font-weight:700;color:var(--muted)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid var(--panel-border);border-radius:14px;background:#ffffff05;color:var(--text);padding:.9rem 1rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:#9770a8e6;box-shadow:0 0 0 3px #b07fbe1f}.field-error{color:var(--danger);text-transform:none;letter-spacing:0;font-weight:600}.submit-button{width:fit-content;border:none;cursor:pointer}.success-message{margin:0;color:#3c7d5c;font-size:.82rem}.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:26px;padding-top:18px;border-top:1px solid var(--panel-border)}.meta-link{color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.12rem;font-size:.7rem;font-weight:700}.secondary-page{position:relative;padding:20px 0 10px;min-height:640px}.secondary-page>*{position:relative;z-index:1}.page-header{text-align:center;margin-bottom:24px}.page-header .eyebrow{margin-bottom:8px}.page-header h2{margin:10px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,5vw,6rem);line-height:.95;letter-spacing:.04em;color:var(--text)}.service-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:10px}.highlight-card{padding:26px 26px 24px;border:1px solid var(--panel-border);border-radius:28px;background:#ffffff12;min-height:228px;display:flex;flex-direction:column;justify-content:center}.orb{width:64px;height:64px;border-radius:50%;margin-bottom:18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#fef8fd,#e3cdef 45%,#cbb0d8);box-shadow:0 12px 24px #8966a01f}.orb .session-icon-svg{width:45px;height:45px}.highlight-card h3{margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,2.8vw,3.4rem);letter-spacing:.04em;line-height:1;color:var(--text)}.highlight-card p,.service-row p,.contact-item span,.contact-item strong,.contact-actions-panel p{margin:0;color:var(--muted);line-height:1.7}.service-listing{display:flex;flex-direction:column;gap:14px;margin-top:26px}.service-row{display:grid;grid-template-columns:1.3fr .6fr 1.8fr;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--panel-border);border-radius:20px;background:#ffffff14}.service-row span{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,2vw,2.3rem);letter-spacing:.04em}.service-row strong{text-transform:uppercase;letter-spacing:.12rem;font-size:.7rem;color:var(--soft)}.page-cta{display:flex;justify-content:center;margin-top:26px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:18px}.contact-banner-image{width:100%;height:auto;border-radius:22px;box-shadow:0 24px 48px var(--shadow)}.about-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start;margin-top:18px}.about-portrait{width:100%;height:auto;border-radius:22px;box-shadow:0 24px 48px var(--shadow)}.about-copy{display:flex;flex-direction:column;gap:18px;padding:30px 28px;border:1px solid var(--panel-border);border-radius:28px;background:#ffffff1a}.about-copy p{margin:0;color:var(--muted);line-height:1.8;font-size:1rem}.about-copy p:first-child{font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,2vw,2.1rem);color:var(--text)}.about-signature{margin-top:6px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(1.4rem,2vw,1.8rem);color:var(--text)!important;line-height:1.5!important}.contact-panel{display:flex;flex-direction:column;gap:12px;padding:10px 0;border:1px solid var(--panel-border);border-radius:28px;background:#ffffff0f;overflow:hidden}.contact-item{display:flex;flex-direction:column;gap:10px;padding:18px 22px 18px 28px;border-bottom:1px solid var(--panel-border);text-decoration:none;transition:background .2s ease}.contact-item:hover{background:#d8b46714}.contact-item:last-child{border-bottom:none}.contact-item span{text-transform:uppercase;letter-spacing:.18rem;font-size:.72rem;font-weight:700;color:var(--muted)}.contact-item strong{font-size:clamp(1.5rem,2vw,2.5rem);font-weight:700;color:var(--text);line-height:1.2;font-family:Cormorant Garamond,serif;letter-spacing:-.02em}.contact-actions-panel{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:26px 24px;border:1px solid var(--panel-border);border-radius:24px;background:#ffffff14}.booking-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0d0a098f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30}.booking-modal{position:relative;width:min(560px,100%);padding:28px 24px 24px;border:1px solid var(--panel-border);border-radius:28px;background:linear-gradient(180deg,#ffffffeb,#faf5f0e6);box-shadow:0 28px 80px #0b09083d}.modal-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0000000a;color:var(--text);font-size:1.5rem;cursor:pointer}.modal-header h3{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.3rem,3vw,3.2rem);letter-spacing:.04em;line-height:1}.modal-form{margin-top:18px}@media (max-width: 980px){.site-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.hero-section,.booking-panel,.contact-grid,.about-panel,.service-highlight-grid,.services-grid,.in-person-grid{grid-template-columns:1fr}}@media (max-width: 620px){.page-shell{width:min(100% - 16px,1200px);padding:16px 14px 14px;border-radius:22px}.brand-block,.header-actions,.hero-actions,.field-row,.service-row{flex-direction:column;align-items:stretch}.main-nav{width:100%;justify-content:center;text-align:center;flex-wrap:wrap}.hero-copy h2{font-size:clamp(2.7rem,16vw,4.2rem)}.meta-strip{grid-template-columns:1fr}.session-card,.experience-card{grid-template-columns:1fr;text-align:center;justify-items:center}.service-row{grid-template-columns:1fr;text-align:center}.primary-button,.secondary-button,.submit-button{width:100%}.booking-modal{padding:24px 16px 20px}}
