:root { --ink:#18251f; --sage:#6f897b; --moss:#355447; --paper:#f8f7f2; --line:#d8dfd8; --brass:#b9853f; --muted:#5f6c65; --terracotta:#b1502f; --indigo:#4b4a74; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font:16px/1.6 "DM Sans","PingFang SC","Microsoft YaHei",sans-serif; }
h1,h2,h3,h4 { margin:0; font-family:"Playfair Display","Songti SC",serif; font-weight:600; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--brass); outline-offset:3px; }
.site-header { position:sticky; top:0; z-index:10; display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:24px; padding:0 max(24px,calc((100vw - 1120px)/2)); border-bottom:1px solid var(--line); background:rgba(248,247,242,.94); backdrop-filter:blur(8px); }
.site-brand { color:var(--ink); font:600 19px/1.1 "Playfair Display",serif; text-decoration:none; white-space:nowrap; }
.site-brand span { display:block; margin-top:4px; color:var(--sage); font:600 9px "DM Sans",sans-serif; letter-spacing:1.5px; }
.site-nav { display:flex; align-items:center; gap:8px; }
.site-nav a { padding:7px 11px; border-radius:999px; color:var(--ink); font:600 13px "DM Sans",sans-serif; text-decoration:none; white-space:nowrap; }
.site-nav a:hover { background:#eeeae0; }
.site-nav .nav-outline { border:1px solid var(--moss); color:var(--moss); }
.home-hero { position:relative; overflow:hidden; padding:48px 24px 52px; background:radial-gradient(720px 420px at 78% 8%,rgba(111,137,123,.22),transparent 70%),radial-gradient(560px 420px at 8% 90%,rgba(185,133,63,.16),transparent 70%); }
.hero-orbit { position:absolute; top:-120px; right:-90px; width:390px; height:390px; border:1px solid rgba(53,84,71,.18); border-radius:50%; }
.hero-orbit::after { position:absolute; inset:46px; border:1px solid rgba(185,133,63,.22); border-radius:50%; content:""; }
.home-hero-inner,.site-section { max-width:1120px; margin:0 auto; }
.home-hero-inner { position:relative; text-align:center; }
.kicker { margin:0 0 12px; color:var(--brass); font-size:12px; font-weight:700; letter-spacing:1.9px; }
.home-hero h1 { max-width:790px; margin:0 auto 14px; font-size:clamp(34px,4.6vw,50px); line-height:1.18; }
.hero-lede { max-width:530px; margin:0 auto 24px; color:var(--muted); font-size:16px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 24px; border:1px solid transparent; border-radius:4px; font:600 14px "DM Sans",sans-serif; text-align:center; text-decoration:none; }
.button-primary { border-color:var(--brass); background:var(--brass); color:#fff; }
.button-primary:hover { background:#a5763a; }
.button-quiet { border-color:var(--moss); background:#fff; color:var(--moss); }
.site-section { padding:68px 24px; }
.section-intro { max-width:620px; margin:0 auto 34px; text-align:center; }
.section-intro h2,.return-section h2 { font-size:clamp(26px,3.2vw,34px); line-height:1.35; }
.section-intro p:not(.kicker),.return-section p:not(.kicker) { margin:14px 0 0; color:var(--muted); font-size:14.5px; }
.course-feature-grid,.journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.course-feature-grid { margin-bottom:46px; }
.course-feature,.journey-card { display:flex; min-height:220px; flex-direction:column; padding:30px 34px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 1px 2px rgba(24,37,31,.04); }
.course-feature-sound,.journey-card-sound { border-top:4px solid var(--sage); }
.course-feature-oh { border-top:4px solid var(--terracotta); }
.journey-card-course { border-top:4px solid var(--indigo); }
.course-type,.catalog-card > p { margin:0 0 8px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.9px; }
.course-feature h3 { font-size:clamp(23px,2.5vw,29px); line-height:1.35; }
.course-feature > p:not(.course-type),.journey-card p:not(.kicker) { margin:14px 0 26px; color:var(--muted); font-size:14px; }
.text-link { margin-top:auto; color:var(--moss); font-size:13px; font-weight:700; text-decoration:none; }
.text-link:hover { text-decoration:underline; text-underline-offset:3px; }
.course-feature-oh .text-link { color:var(--terracotta); }
.catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:18px; }
.catalog-heading h3 { font-size:24px; }
.catalog-heading p { max-width:420px; margin:0; color:var(--muted); font-size:13px; text-align:right; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.catalog-card { display:flex; min-height:150px; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.catalog-card-live { border-top:3px solid var(--terracotta); }
.catalog-card h4 { font-size:17px; line-height:1.45; }
.catalog-more { margin-top:16px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.catalog-more summary { display:flex; justify-content:space-between; gap:20px; padding:18px 20px; cursor:pointer; color:var(--moss); font-size:14px; font-weight:700; }
.catalog-more summary span { color:var(--muted); font-size:12px; font-weight:500; }
.catalog-more-content { display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px; padding:4px 20px 22px; border-top:1px solid var(--line); }
.catalog-more-content h4 { margin-top:16px; font-size:16px; }
.catalog-more-content ul { margin:8px 0 0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.8; }
.studio-story { display:grid; grid-template-columns:1.04fr .96fr; background:var(--moss); color:#fff; }
.studio-copy { max-width:560px; justify-self:end; padding:76px 56px 76px 24px; }
.kicker-light { color:#c9d6cc; }
.studio-copy h2 { font-size:clamp(26px,3.2vw,35px); line-height:1.38; }
.studio-copy p:not(.kicker) { margin:18px 0 0; color:#dbe3dc; font-size:14.5px; line-height:1.85; }
.studio-image { min-height:320px; background:linear-gradient(155deg,rgba(41,72,56,.38),rgba(22,47,37,.22)),url("../assets/sound-healing-studio-hero.png") center/cover; }
.return-section { display:flex; align-items:center; justify-content:space-between; gap:36px; padding-top:58px; padding-bottom:58px; }
.return-section > div { max-width:620px; }
.site-footer-new { display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; padding:46px max(24px,calc((100vw - 1120px)/2)); border-top:1px solid var(--line); background:#fff; color:var(--muted); font-size:12.5px; }
.footer-brand-new { margin:0; color:var(--ink); font:600 18px "Playfair Display",serif; }
.site-footer-new p { margin:4px 0; }
.site-footer-new nav { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; }
.site-footer-new a { color:var(--muted); text-decoration:none; }
.site-footer-new a:hover { color:var(--ink); }
.booking-page .home-hero { padding:28px 24px 30px; }
.booking-page .home-hero h1 { max-width:680px; font-size:clamp(30px,3.5vw,40px); }
.booking-page .hero-lede { max-width:620px; }
.booking-page .hero-lede { margin-bottom:0; font-size:14px; }
.booking-page .site-section { padding-top:40px; padding-bottom:44px; }
.booking-page .section-intro { margin-bottom:24px; }
.journey-card { min-height:220px; padding:24px 28px; }
.journey-card h2 { font-size:clamp(24px,2.8vw,30px); line-height:1.35; }
.journey-card p:not(.kicker) { margin:10px 0 18px; }
.journey-card .button { margin-top:auto; align-self:flex-start; }
.journey-note { max-width:720px; margin:38px auto 0; color:var(--muted); font-size:13px; text-align:center; }
@media(max-width:760px) { .site-header{min-height:64px;padding:11px 18px}.site-nav a{padding:6px 8px;font-size:12px}.home-hero{padding:62px 20px 66px}.site-section{padding:58px 20px}.course-feature-grid,.catalog-grid,.journey-grid,.studio-story,.catalog-more-content{grid-template-columns:1fr}.course-feature,.journey-card{min-height:0}.catalog-heading,.return-section{display:block}.catalog-heading p{margin-top:7px;text-align:left}.catalog-card{min-height:142px}.catalog-more summary{display:block}.catalog-more summary span{display:block;margin-top:5px}.catalog-more-content{gap:2px}.catalog-more-content h4{margin-top:14px}.studio-copy{padding:62px 20px}.studio-image{min-height:245px}.return-section .button{width:100%;margin-top:25px}.site-footer-new{display:block;padding:35px 20px}.site-footer-new nav{margin:18px 0}.hero-actions .button{width:100%}.journey-card .button{align-self:stretch} }
