:is(.page-booking,.page-not-found) .page-hero{background:var(--ink);padding:9rem 4rem 5rem;position:relative;overflow:hidden}:is(.page-booking,.page-not-found) .page-hero:before{content:"";pointer-events:none;background:radial-gradient(50% 80% at 90%,#a0724a1f 0%,#0000 60%),radial-gradient(30% 50% at 5% 80%,#6b7c6e14 0%,#0000 50%);position:absolute;inset:0}:is(.page-booking,.page-not-found) .page-hero-inner{z-index:1;max-width:1100px;margin:0 auto;position:relative}:is(.page-booking,.page-not-found) .page-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);opacity:0;margin-bottom:1.5rem;font-size:.72rem;animation:.8s .2s forwards fadeUp}:is(.page-booking,.page-not-found) .page-title{color:var(--ground);opacity:0;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:300;line-height:1.08;animation:.8s .35s forwards fadeUp}:is(.page-booking,.page-not-found) .page-title em{color:var(--accent);font-style:italic}:is(.page-booking,.page-not-found) .page-sub{color:#f2ece099;opacity:0;max-width:560px;font-size:1.05rem;font-weight:300;line-height:1.85;animation:.8s .5s forwards fadeUp}:is(.page-booking,.page-not-found) .donation-notice{background:var(--ground);border-top:3px solid var(--accent);border-bottom:1px solid var(--line);padding:2.5rem 4rem}:is(.page-booking,.page-not-found) .donation-notice-inner{align-items:center;gap:2rem;max-width:1100px;margin:0 auto;display:flex}:is(.page-booking,.page-not-found) .donation-icon{flex-shrink:0;margin-top:16px;font-size:2rem}:is(.page-booking,.page-not-found) .donation-notice h2{color:var(--ink);margin-bottom:.3rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:500}:is(.page-booking,.page-not-found) .donation-notice p{color:var(--ink-soft);font-size:.9rem;line-height:1.7}:is(.page-booking,.page-not-found) .sessions-section{max-width:1100px;margin:0 auto;padding:4rem 5rem 0 0}:is(.page-booking,.page-not-found) .sessions-intro{margin-bottom:3.5rem}:is(.page-booking,.page-not-found) .section-label{letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:.8rem;font-size:.7rem}:is(.page-booking,.page-not-found) .section-title{color:var(--ink);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;line-height:1.15}:is(.page-booking,.page-not-found) .divider{background:var(--accent);width:3rem;height:1px;margin-bottom:1.5rem}:is(.page-booking,.page-not-found) .session-full{border:1px solid var(--line);margin-bottom:1.5rem;transition:box-shadow .3s;overflow:hidden}:is(.page-booking,.page-not-found) .session-full:hover{box-shadow:0 16px 48px #1c181217}:is(.page-booking,.page-not-found) .session-full.featured{border-color:var(--accent)}:is(.page-booking,.page-not-found) .session-full-header{background:var(--parchment);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:1fr auto;align-items:start;gap:2rem;padding:2.5rem 3rem;transition:background .2s;display:grid}:is(.page-booking,.page-not-found) .session-full-header:hover{background:var(--ground)}:is(.page-booking,.page-not-found) .session-full.featured .session-full-header{background:linear-gradient(135deg, #a0724a0d, var(--parchment))}:is(.page-booking,.page-not-found) .session-meta{align-items:center;gap:1rem;margin-bottom:.7rem;display:flex}:is(.page-booking,.page-not-found) .session-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-size:.68rem}:is(.page-booking,.page-not-found) .session-badge{background:var(--accent);color:var(--parchment);letter-spacing:.1em;text-transform:uppercase;border-radius:1px;padding:.25rem .7rem;font-size:.63rem}:is(.page-booking,.page-not-found) .session-full-header h2{color:var(--ink);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:500}:is(.page-booking,.page-not-found) .session-headline{color:var(--ink-soft);max-width:580px;font-size:.95rem;line-height:1.7}:is(.page-booking,.page-not-found) .session-toggle{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--stone);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.3rem;font-size:1.1rem;transition:transform .3s,background .2s;display:flex}:is(.page-booking,.page-not-found) .session-full.open .session-toggle{background:var(--ink);color:var(--parchment);border-color:var(--ink);transform:rotate(45deg)}:is(.page-booking,.page-not-found) .session-full-body{background:var(--parchment);border-top:1px solid var(--line);padding:0 3rem 2.5rem;display:none}:is(.page-booking,.page-not-found) .session-full.featured .session-full-body{background:linear-gradient(135deg, #a0724a08, var(--parchment))}:is(.page-booking,.page-not-found) .session-full.open .session-full-body{display:block}:is(.page-booking,.page-not-found) .session-body-grid{grid-template-columns:1.2fr 1fr;gap:4rem;padding-top:2.5rem;display:grid}:is(.page-booking,.page-not-found) .session-description p{color:var(--ink-soft);margin-bottom:1.2rem;font-size:.97rem;line-height:1.9}:is(.page-booking,.page-not-found) .session-description p:first-child{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;line-height:1.65}:is(.page-booking,.page-not-found) .detail-block{margin-bottom:2rem}:is(.page-booking,.page-not-found) .detail-label{letter-spacing:.15em;text-transform:uppercase;color:var(--stone);margin-bottom:.5rem;font-size:.68rem}:is(.page-booking,.page-not-found) .detail-value{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:400;line-height:1.5}:is(.page-booking,.page-not-found) .detail-value.small{color:var(--ink-soft);font-family:Jost,sans-serif;font-size:.9rem;font-weight:300}:is(.page-booking,.page-not-found) .fits-list{margin-top:.3rem;list-style:none}:is(.page-booking,.page-not-found) .fits-list li{color:var(--ink-soft);padding-left:1.2rem;font-size:.88rem;line-height:1.7;position:relative}:is(.page-booking,.page-not-found) .fits-list li:before{content:"✓";color:var(--accent);font-size:.75rem;position:absolute;left:0}:is(.page-booking,.page-not-found) .session-cta-row{border-top:1px solid var(--line);align-items:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;display:flex}:is(.page-booking,.page-not-found) .btn-book{background:var(--ink);color:var(--parchment);letter-spacing:.12em;text-transform:uppercase;border-radius:2px;padding:.9rem 2.2rem;font-family:Jost,sans-serif;font-size:.8rem;font-weight:400;text-decoration:none;transition:background .25s,transform .2s;display:inline-block}:is(.page-booking,.page-not-found) .session-full.featured .btn-book{background:var(--accent)}:is(.page-booking,.page-not-found) .btn-book:hover{background:var(--accent);transform:translateY(-1px)}:is(.page-booking,.page-not-found) .session-full.featured .btn-book:hover{background:var(--ink)}:is(.page-booking,.page-not-found) .btn-ask{letter-spacing:.08em;color:var(--stone);border-bottom:1px solid #8c80704d;padding-bottom:1px;font-size:.8rem;text-decoration:none;transition:color .2s}:is(.page-booking,.page-not-found) .btn-ask:hover{color:var(--accent)}:is(.page-booking,.page-not-found) .faq-section{background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5rem 4rem}:is(.page-booking,.page-not-found) .faq-inner{max-width:760px;margin:0 auto}:is(.page-booking,.page-not-found) .faq-header{margin-bottom:3rem}:is(.page-booking,.page-not-found) .faq-item{border-bottom:1px solid var(--line)}:is(.page-booking,.page-not-found) .faq-question{cursor:pointer;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.4rem 0;display:flex}:is(.page-booking,.page-not-found) .faq-question h3{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500}:is(.page-booking,.page-not-found) .faq-arrow{color:var(--stone);flex-shrink:0;font-size:1.1rem;transition:transform .3s}:is(.page-booking,.page-not-found) .faq-item.open .faq-arrow{color:var(--accent);transform:rotate(45deg)}:is(.page-booking,.page-not-found) .faq-answer{padding-bottom:1.5rem;display:none}:is(.page-booking,.page-not-found) .faq-item.open .faq-answer{display:block}:is(.page-booking,.page-not-found) .faq-answer p{color:var(--ink-soft);font-size:.95rem;line-height:1.85}:is(.page-booking,.page-not-found) .final-cta{background:var(--ink);text-align:center;padding:6rem 4rem}:is(.page-booking,.page-not-found) .final-cta-inner{max-width:580px;margin:0 auto}:is(.page-booking,.page-not-found) .final-cta-title{color:var(--ground);margin-bottom:1.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.15}:is(.page-booking,.page-not-found) .final-cta-title em{color:var(--accent);font-style:italic}:is(.page-booking,.page-not-found) .final-cta-sub{color:#f2ece08c;margin-bottom:2rem;font-size:.92rem;line-height:1.85}:is(.page-booking,.page-not-found) .btn-light{background:var(--ground);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;border-radius:2px;padding:1rem 2.6rem;font-family:Jost,sans-serif;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .25s,transform .2s;display:inline-block}:is(.page-booking,.page-not-found) .btn-light:hover{background:var(--accent);color:var(--parchment);transform:translateY(-1px)}:is(.page-booking,.page-not-found) .reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(20px)}:is(.page-booking,.page-not-found) .reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:900px){:is(.page-booking,.page-not-found) .page-hero{padding:7rem 1.5rem 4rem}:is(.page-booking,.page-not-found) .donation-notice{padding:2rem 1.5rem}:is(.page-booking,.page-not-found) .donation-notice-inner{text-align:center;flex-direction:column;gap:1rem}:is(.page-booking,.page-not-found) .sessions-section{padding:3.5rem 1.5rem}:is(.page-booking,.page-not-found) .session-full-header{gap:1rem;padding:1.8rem}:is(.page-booking,.page-not-found) .session-full-header h2{font-size:1.5rem}:is(.page-booking,.page-not-found) .session-full-body{padding:0 1.8rem 2rem}:is(.page-booking,.page-not-found) .session-body-grid{grid-template-columns:1fr;gap:2rem;padding-top:2rem}:is(.page-booking,.page-not-found) .session-cta-row{flex-direction:column;align-items:flex-start;gap:1rem}:is(.page-booking,.page-not-found) .btn-book{min-height:44px;padding:.95rem 2rem}:is(.page-booking,.page-not-found) .faq-section{padding:4rem 1.5rem}:is(.page-booking,.page-not-found) .faq-question{padding:1.2rem 0}:is(.page-booking,.page-not-found) .faq-question h3{font-size:1.05rem}:is(.page-booking,.page-not-found) .final-cta{padding:5rem 1.5rem}:is(.page-booking,.page-not-found) .btn-light{min-height:44px;padding:.95rem 2rem}}@media (max-width:380px){:is(.page-booking,.page-not-found) .page-hero{padding:6rem 1.1rem 3rem}:is(.page-booking,.page-not-found) .session-full-header{padding:1.4rem}:is(.page-booking,.page-not-found) .session-full-body{padding:0 1.4rem 1.6rem}:is(.page-booking,.page-not-found) .sessions-section{padding:3rem 1.1rem}:is(.page-booking,.page-not-found) .faq-section{padding:3.5rem 1.1rem}:is(.page-booking,.page-not-found) .final-cta{padding:4rem 1.1rem}}@media (prefers-reduced-motion:reduce){:is(.page-booking,.page-not-found) .reveal{opacity:1!important;transform:none!important}:is(.page-booking,.page-not-found) .page-eyebrow,:is(.page-booking,.page-not-found) .page-title,:is(.page-booking,.page-not-found) .page-sub{opacity:1!important;animation:none!important}}
