*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}.skip-link{position:absolute;top:-100%;left:16px;background:var(--bronze);color:#fff;padding:12px 24px;font-family:'Inter',sans-serif;font-size:14px;z-index:100;border-radius:0 0 4px 4px;transition:top 0.2s}.skip-link:focus{top:0}:root{--bg:#F6F5F2;--bg-dark:#0B0B0C;--bronze:#B89B72;--bronze-acc:#7A6832;--text:#111;--text-sec:#6D6A63;--ease-reveal:cubic-bezier(0.2,0.8,0.2,1)}body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--bronze);color:#fff}h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:-0.02em;line-height:0.95}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media(min-width:768px){.container{padding:0 48px}}.eyebrow{font-family:'Inter',sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.18em;color:var(--bronze-acc)}.pricing .eyebrow,.performance .eyebrow,.instructor .eyebrow,[class*="bg-dark"] .eyebrow{color:var(--bronze)}.pillar-eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(36px,4vw,56px);font-weight:400;color:var(--bronze);opacity:0.25;line-height:1;margin-bottom:8px}.grain{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(max-width:767px){.grain{display:none}}.reveal{opacity:0;transform:translateY(8px);transition:opacity 0.35s var(--ease-reveal),transform 0.35s var(--ease-reveal)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-8px);transition:opacity 0.38s var(--ease-reveal),transform 0.38s var(--ease-reveal)}.reveal-left.visible{opacity:1;transform:translateX(0)}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all 0.4s ease;padding:24px 0}.nav.scrolled,.nav.menu-open{background:rgba(246,245,242,0.95);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,0.08);padding:16px 0}.nav:not(.scrolled):not(.menu-open) .nav-logo{color:#fff}.nav:not(.scrolled):not(.menu-open) .nav-links a{color:rgba(255,255,255,0.85)}.nav:not(.scrolled):not(.menu-open) .nav-links a:hover{color:#fff}.nav:not(.scrolled):not(.menu-open) .mobile-toggle{color:#fff}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--text)}.nav-links{display:none;align-items:center;gap:32px}@media(min-width:768px){.nav-links{display:flex}.nav-links-inner{display:flex;align-items:center;gap:32px}.nav-studio{display:none}}.nav-links a{background:none;border:none;font-family:'Inter',sans-serif;font-size:14px;color:var(--text);cursor:pointer;transition:color 0.2s;text-decoration:none}.nav-links a:hover{color:var(--bronze)}.nav-cta{font-family:'Inter',sans-serif;font-size:14px;background:var(--bronze);color:#fff;border:none;padding:10px 20px;cursor:pointer;transition:background 0.2s,color 0.2s}.nav-links a.nav-cta:hover{background:var(--bronze-acc);color:#fff}.mobile-toggle{display:block;background:none;border:none;cursor:pointer}@media(min-width:768px){.mobile-toggle{display:none}}@media(max-width:767px){.nav-links{display:grid;grid-template-rows:0fr;position:absolute;top:100%;left:0;right:0;z-index:100;overflow:hidden;background:transparent;backdrop-filter:none;transition:grid-template-rows 0.35s ease,padding 0.35s ease,box-shadow 0.35s ease;padding:0 24px}.nav-links.open{grid-template-rows:1fr;padding:16px 24px 24px;box-shadow:0 10px 30px rgba(0,0,0,0.08);overflow:visible;background:rgba(255,255,255,0.98);backdrop-filter:blur(12px)}.nav-links-inner{overflow:hidden;display:flex;flex-direction:column}.nav-links a{padding:14px 0;border-bottom:1px solid rgba(0,0,0,0.05);width:100%;text-align:left;display:block;opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s,color 0.2s}.nav-links a:last-child{border-bottom:none}.nav-links .nav-cta{margin-top:8px;text-align:center;background:transparent!important;color:var(--bronze)!important;padding:14px 0!important;border-bottom:1px solid rgba(0,0,0,0.05)!important;display:block;opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;font-size:13px}.nav-studio{margin-top:12px;padding-top:16px;border-top:1px solid rgba(0,0,0,0.06);opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s}.nav-studio-label{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.18em;color:var(--bronze);margin-bottom:6px;display:block}.nav-studio-links{display:flex;flex-direction:column;padding-left:1px}.nav-studio-links a{font-family:'Inter',sans-serif;font-size:12px;color:var(--text-sec);padding:5px 0!important;border-bottom:none!important;display:block!important;width:auto!important;opacity:1!important;visibility:visible!important;transition:color 0.2s;letter-spacing:0.01em}.nav-studio-links a:hover{color:var(--bronze)!important}.nav-links.open .nav-studio{opacity:1;visibility:visible}.nav-links.open a{color:var(--text)!important;opacity:1;visibility:visible}.nav-links.open a:hover{color:var(--bronze)!important}.nav-links.open .nav-cta{color:var(--bronze)!important;opacity:1;visibility:visible;position:relative;z-index:10;text-decoration:underline;text-underline-offset:4px}}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:flex-end;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img,.hero-bg picture{width:100%;height:100%}.hero-bg picture img{object-fit:cover;object-position:center center;transform:scale(1.05);will-change:transform}.hero-bg img{object-fit:cover}.hero-overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,0.48)}.hero-content{position:relative;z-index:10;color:#fff;max-width:1200px;width:100%;margin:0 auto 0 0;padding:0 24px 64px}@media(min-width:768px){.hero-content{padding:0 48px 96px;width:70%}}@media(min-width:1024px){.hero-content{width:60%}}.hero-eyebrow{font-family:'Inter',sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.2em;color:var(--bronze);margin-bottom:24px;opacity:0;animation:fadeUp 0.45s 0.2s cubic-bezier(0.2,0.8,0.2,1) forwards}.hero h1{font-size:clamp(38px,4.6vw,72px);line-height:0.95;color:#fff;margin-bottom:24px;text-shadow:0 4px 40px rgba(0,0,0,0.3);max-width:900px;opacity:0;animation:fadeUp 0.45s 0.35s cubic-bezier(0.2,0.8,0.2,1) forwards}.hero-sub{font-family:'Inter',sans-serif;font-size:clamp(16px,1.4vw,20px);color:rgba(255,255,255,0.9);max-width:520px;margin:0 0 40px;line-height:1.6;opacity:0;animation:fadeUp 0.45s 0.5s cubic-bezier(0.2,0.8,0.2,1) forwards}.hero-cta{display:inline-block;background:var(--bronze);color:#fff;border:none;padding:16px 32px;font-family:'Inter',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:0.1em;cursor:pointer;transition:all 0.3s;box-shadow:0 8px 30px rgba(0,0,0,0.2);opacity:0;animation:fadeUp 0.45s 0.6s cubic-bezier(0.2,0.8,0.2,1) forwards}.hero-cta:hover{background:var(--bronze-acc);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,0.3)}.hero-availability{font-family:'Inter',sans-serif;font-size:12px;color:rgba(255,255,255,0.55);margin-top:20px;letter-spacing:0.03em;opacity:0;animation:fadeUp 0.45s 0.7s cubic-bezier(0.2,0.8,0.2,1) forwards}.core-promise{padding:128px 0;text-align:center}.core-promise h2{font-size:clamp(26px,3vw,48px);line-height:1.1;max-width:720px;margin:0 auto 40px}.bronze-rule{width:64px;height:2px;background:var(--bronze);margin:0 auto 40px}.core-promise p{font-family:'Inter',sans-serif;font-size:clamp(14px,1.1vw,16px);line-height:1.65;color:var(--text-sec);max-width:520px;margin:0 auto}.inline-cta{display:inline-block;font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.12em;color:var(--bronze);margin-top:40px;padding-bottom:2px;border-bottom:1px solid rgba(184,155,114,0.3);transition:border-color 0.2s,color 0.2s}.inline-cta:hover{color:var(--bronze-acc);border-bottom-color:var(--bronze-acc)}.ed-pillar{padding:80px 0}@media(max-width:767px){.ed-pillar{padding:56px 0}}.ed-grid{display:grid;gap:32px;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px}@media(min-width:768px){.ed-grid{padding:0 48px;grid-template-columns:8fr 4fr;gap:72px}}.ed-pillar.reversed .ed-grid{direction:rtl}.ed-pillar.reversed .ed-grid>*{direction:ltr}.ed-img{border-radius:2px;overflow:hidden;aspect-ratio:4/3}@media(min-width:768px){.ed-img{aspect-ratio:3/4;min-height:560px}}.ed-img img{width:100%;height:100%;object-fit:cover;transition:transform 6s cubic-bezier(0.25,0.1,0.25,1)}.ed-img:hover img{transform:scale(1.03)}.ed-text .ed-label{font-family:'Inter',sans-serif;font-size:12px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:24px}.ed-text h3{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-0.025em;line-height:1.06;margin-bottom:20px}.ed-text .ed-lead{font-family:'Inter',sans-serif;font-size:clamp(15px,1.15vw,17px);color:var(--text-sec);line-height:1.6;margin-bottom:16px;max-width:460px}.ed-text p{font-family:'Inter',sans-serif;font-size:clamp(14px,1.05vw,15px);color:var(--text-sec);line-height:1.7;margin-bottom:0;max-width:460px}.ed-text .inline-cta{margin-top:32px}.ed-text.reveal{transition-delay:0.06s}@media(max-width:767px){.ed-pillar.reversed .ed-grid{direction:ltr}}.performance{padding:96px 0;background:var(--bg-dark);color:#fff;overflow:hidden}.perf-video{position:relative;aspect-ratio:16/9;background:#1a1a1a;border-radius:2px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,0.4)}.districts{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;border-top:1px solid rgba(255,255,255,0.1);padding-top:48px;margin-top:64px;font-family:'Inter',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--bronze)}.instructor{padding:96px 0 128px;background:#fff}.inst-grid{display:grid;gap:48px;align-items:stretch}@media(min-width:768px){.inst-grid{grid-template-columns:5fr 7fr}}.inst-portrait{border-radius:2px;overflow:hidden;min-height:400px}.inst-portrait img{width:100%;height:100%;object-fit:cover}.inst-bio h2{font-size:clamp(34px,3.6vw,56px);margin-bottom:32px}.inst-bio p{font-family:'Inter',sans-serif;color:var(--text-sec);line-height:1.65;margin-bottom:24px;max-width:520px;font-size:clamp(14px,1.1vw,16px)}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;max-width:400px}.cred-item{display:flex;align-items:center;gap:12px;font-family:'Inter',sans-serif;font-size:14px;color:var(--text-sec)}.cred-icon{width:20px;height:20px;color:var(--bronze);flex-shrink:0}.memberships{margin-top:48px;padding-top:32px;border-top:1px solid rgba(0,0,0,0.05);font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-sec)}.memberships span{display:block;margin-bottom:8px;color:var(--bronze);font-weight:500}.memberships a{transition:color 0.2s}.memberships a:hover{color:var(--text)}.testimonials{padding:96px 0;border-top:1px solid rgba(0,0,0,0.05)}.stars{color:var(--bronze);margin-bottom:24px;font-size:20px;letter-spacing:4px}.pricing{padding:128px 0;background:linear-gradient(180deg,#0B0B0C 0%,#0F0E0D 100%);color:#fff;position:relative}
.pricing::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,0.3) 100%);pointer-events:none}.pricing-header{text-align:center;margin-bottom:80px}.pricing-header h2{font-size:clamp(34px,3.6vw,56px);margin-bottom:16px}.pricing-header p{font-family:'Inter',sans-serif;color:rgba(255,255,255,0.65)}.pricing-header .weeks{font-family:'Inter',sans-serif;font-size:11px;color:var(--bronze);text-transform:uppercase;letter-spacing:0.15em;margin-top:8px}.price-amount{font-family:'Inter',sans-serif;font-size:30px;font-weight:300;color:var(--bronze);margin-bottom:24px;line-height:1}.price-amount span{font-size:11px;color:rgba(255,255,255,0.40);font-weight:400;margin-left:1px}.price-detail{font-family:'Inter',sans-serif;font-size:14px;color:rgba(255,255,255,0.6);margin-bottom:16px}.price-detail strong{color:rgba(255,255,255,0.85)}.contact-form{max-width:640px;margin:0 auto;background:rgba(255,255,255,0.04);padding:48px;border-radius:2px;border:1px solid rgba(255,255,255,0.06);margin-top:80px}.contact-form h3{font-family:'Cormorant Garamond',serif;font-size:30px;text-align:center;color:#fff;margin-bottom:12px}.form-row{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:16px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid rgba(255,255,255,0.12);padding:14px 16px;font-family:'Inter',sans-serif;font-size:14px;color:#fff;outline:none;transition:border-color 0.3s;margin-bottom:20px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,0.25)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--bronze)}.contact-form input:invalid:not(:placeholder-shown),.contact-form textarea:invalid:not(:placeholder-shown){border-color:#c0392b}.contact-form input:valid:not(:placeholder-shown){border-color:var(--bronze)}.contact-form textarea{resize:vertical;min-height:100px}.submit-btn{width:100%;background:var(--bronze);color:#fff;border:none;padding:18px;font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.18em;cursor:pointer;transition:all 0.3s}.submit-btn:hover{background:var(--bronze-acc)}.faq{padding:128px 0;background:#fff;border-top:1px solid rgba(0,0,0,0.05)}.faq-header{text-align:center;margin-bottom:64px}.faq-header h2{font-size:clamp(34px,3.6vw,56px);margin-bottom:16px}.faq-list{max-width:720px;margin:0 auto}.faq-item{border-bottom:1px solid rgba(0,0,0,0.08)}.faq-item:first-child{border-top:1px solid rgba(0,0,0,0.08)}.faq-question{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;text-align:left;gap:24px}.faq-question h3{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,1.6vw,22px);font-weight:400;letter-spacing:-0.02em;line-height:1.3;color:var(--text);transition:color 0.2s}.faq-question:hover h3{color:var(--bronze)}.faq-icon{width:20px;height:20px;flex-shrink:0;position:relative}.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--bronze);transition:transform 0.3s ease}.faq-icon::before{width:20px;height:1.5px;top:50%;left:0;transform:translateY(-50%)}.faq-icon::after{width:1.5px;height:20px;left:50%;top:0;transform:translateX(-50%)}.faq-item.open .faq-icon::after{transform:translateX(-50%) rotate(90deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.4s ease}.faq-answer p{font-family:'Inter',sans-serif;font-size:clamp(14px,1.1vw,16px);color:var(--text-sec);line-height:1.65;padding-bottom:24px;max-width:600px}.footer{padding:96px 0;background:var(--bg)}
.footer-lead{text-align:center;margin-bottom:72px}
.footer-wordmark{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.4vw,32px);font-weight:400;letter-spacing:-0.02em;color:var(--text);margin-bottom:20px}
.footer-rule{width:48px;height:2px;background:var(--bronze);margin:0 auto 24px;opacity:0.5}
.footer-tagline{font-family:'Inter',sans-serif;font-size:clamp(13px,1vw,15px);color:var(--text-sec);line-height:1.6;max-width:400px;margin:0 auto;letter-spacing:0.01em}
.footer-grid{display:grid;gap:48px;margin-bottom:72px}@media(min-width:768px){.footer-grid{grid-template-columns:1.2fr 0.8fr 0.8fr;gap:64px}}.footer-label{font-family:'Inter',sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.18em;color:var(--bronze);margin-bottom:20px}.footer p,.footer li,.footer a{font-family:'Inter',sans-serif;font-size:14px;color:var(--text-sec);line-height:1.6}.footer ul{list-style:none}.footer li{margin-bottom:10px}.footer a:hover{color:var(--text)}
.footer-contact-item{margin-bottom:12px}
.footer-contact-item a{transition:color 0.25s ease}
.footer-location{font-size:12px;letter-spacing:0.06em;color:var(--text-sec);opacity:0.6;margin-top:20px}
.footer-bottom{padding-top:40px;border-top:1px solid rgba(0,0,0,0.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-family:'Inter',sans-serif;font-size:12px;color:rgba(109,106,99,0.45);letter-spacing:0.02em}
.footer-privacy{color:rgba(109,106,99,0.45);transition:color 0.25s ease;text-decoration:none}
.footer-privacy:hover{color:var(--bronze)}@media(max-width:767px){.reveal-left{transform:translateY(8px)}.reveal-left.visible{transform:translateY(0)}.inst-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.contact-form{padding:32px 24px}}.mobile-cta{display:none}@media(max-width:767px){.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:49;background:rgba(11,11,12,0.97);backdrop-filter:blur(12px);padding:10px 16px;gap:10px;border-top:1px solid rgba(184,155,114,0.15);opacity:0;pointer-events:none;transition:opacity 0.3s ease}.mobile-cta.visible{opacity:1;pointer-events:auto}.mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;border-radius:2px;font-family:'Inter',sans-serif;font-size:13px;font-weight:500;letter-spacing:0.04em;transition:opacity 0.2s}.mobile-cta a:active{opacity:0.8}.mobile-cta .cta-text{background:var(--bronze);color:#fff}.mobile-cta .cta-call{background:transparent;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.15)}.mobile-cta svg{width:16px;height:16px;flex-shrink:0}body{padding-bottom:68px}.footer{padding-bottom:100px}}@media(min-width:768px){body{padding-bottom:0}}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:48;width:44px;height:44px;border-radius:50%;border:1px solid rgba(184,155,114,0.3);background:rgba(11,11,12,0.85);backdrop-filter:blur(8px);color:var(--bronze);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity 0.3s ease,transform 0.3s ease,background 0.2s;pointer-events:none}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--bronze);color:#fff;border-color:var(--bronze)}@media(max-width:767px){.back-to-top{bottom:80px;right:16px;width:40px;height:40px}}
a:focus-visible,button:focus-visible,.rw-audience-card:focus-visible,.nav-cta:focus-visible,.hero-cta:focus-visible,.inline-cta:focus-visible,.submit-btn:focus-visible,.cta-btn:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}

.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,0.4)}
.contact-section{padding:80px 0;background:var(--bg);border-top:1px solid rgba(0,0,0,0.05);color:var(--text)}.contact-section .contact-form{background:#fff;border:1px solid rgba(0,0,0,0.06);box-shadow:0 1px 3px rgba(0,0,0,0.04);margin-top:0;padding:48px;max-width:640px;margin:0 auto;border-radius:2px}.contact-section .contact-form h3{color:var(--text)}.contact-section .form-row{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:16px}.contact-section .contact-form input,.contact-section .contact-form textarea{width:100%;background:var(--bg);border:1px solid rgba(0,0,0,0.12);color:var(--text);padding:14px 16px;font-family:"Inter",sans-serif;font-size:14px;outline:none;margin-bottom:20px;box-sizing:border-box}.contact-section .contact-form input::placeholder,.contact-section .contact-form textarea::placeholder{color:rgba(0,0,0,0.3)}.contact-section .contact-form input:focus,.contact-section .contact-form textarea:focus{border-color:var(--bronze)}.contact-section .contact-form input:valid:not(:placeholder-shown){border-color:var(--bronze)}.contact-section .contact-form textarea{resize:vertical;min-height:100px}.contact-section .submit-btn{width:100%;background:var(--bronze);color:#fff;border:none;padding:18px;font-family:"Inter",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.18em;cursor:pointer}.contact-section .submit-btn:hover{background:var(--bronze-acc)}.contact-section .contact-form .form-sub{font-family:"Inter",sans-serif;font-size:13px;color:var(--text-sec);text-align:center;line-height:1.6;margin-bottom:28px}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-left{opacity:1!important;transform:none!important}}
.contact-form.reveal,.pricing-header .reveal{opacity:1!important;transform:none!important;transition:none!important}

@media(max-width:767px){
/* === MOBILE: White ground for editorial continuity === */
body{background:#fff}
.nav.scrolled,.nav.menu-open{background:rgba(255,255,255,0.95)}

/* === MOBILE READABILITY — bumped body text & eyebrows === */
.eyebrow{font-size:12px}
.hero-eyebrow{font-size:12px}
.core-promise p{font-size:15px}
.ed-text p{font-size:15px}
.ed-text .ed-lead{font-size:16px}
.inst-bio p{font-size:15px}
.faq-answer p{font-size:15px}
.price-detail{font-size:15px}
.cred-item{font-size:15px}
.footer p,.footer li,.footer a{font-size:15px}
.contact-section .contact-form input,
.contact-section .contact-form textarea,
.contact-form input,
.contact-form textarea{font-size:16px}
.memberships{font-size:12px}
.districts{font-size:12px}

/* === PREMIUM MOBILE SPACING === */
.core-promise{padding:72px 0}
.core-promise h2{font-size:clamp(24px,6.5vw,32px);margin-bottom:28px}
.core-promise p{margin-bottom:16px}
.bronze-rule{margin:0 auto 28px}
.inline-cta{margin-top:28px}

.performance{padding:64px 0}




.ed-text .ed-label{margin-bottom:16px}
.ed-text h3{margin-bottom:14px}
.ed-text .inline-cta{margin-top:24px}






.districts{margin-top:40px;padding-top:32px;gap:16px}


.instructor{padding:64px 0 72px}
.inst-portrait{min-height:320px}
.inst-bio h2{font-size:clamp(30px,8vw,42px);margin-bottom:24px}
.inst-bio p{margin-bottom:16px}
.credentials{gap:16px;margin-top:32px}
.memberships{margin-top:32px;padding-top:24px}

.testimonials{padding:64px 0}

.stars{margin-bottom:16px}




.pricing{padding:72px 0;background:#fff!important;color:var(--text)!important}
.pricing::before{display:none}
.pricing .eyebrow{color:var(--bronze-acc)}
.pricing-header{margin-bottom:48px}
.pricing-header h2{color:var(--text)}
.pricing-header p{color:var(--text-sec)}




.price-amount{color:var(--bronze)}
.price-amount span{color:var(--text-sec)!important;opacity:0.5}
.price-detail{color:var(--text-sec)!important}
.price-detail strong{color:var(--text)!important}


.faq{padding:72px 0;background:#fff!important;border-top:1px solid rgba(0,0,0,0.05)}
.faq-header{margin-bottom:48px}
.faq-header h2{font-size:clamp(28px,7vw,40px)}
.faq-question{padding:22px 0}
.faq-question h3{font-size:clamp(17px,4.2vw,20px)}
.faq-answer p{font-size:14px;padding-bottom:20px}

.contact-section{padding:72px 0;background:#fff}
.contact-section .contact-form{padding:32px 24px}

.footer{padding:64px 0 100px}
.footer-lead{margin-bottom:48px}
.footer-grid{gap:36px;margin-bottom:48px}
.footer li{margin-bottom:0}
.footer li a{display:block;padding:10px 0;-webkit-tap-highlight-color:transparent}
.footer li{padding:0}
.footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:12px}

/* === INHOME CTA — TEXT-ONLY ON MOBILE === */



/* === CONTAINER BREATHING ROOM === */
.container{padding:0 28px}

/* === HERO MOBILE REFINEMENT === */
.hero{min-height:100svh}
.hero-content{padding:0 28px 56px}
.hero h1{font-size:clamp(44px,11vw,52px);margin-bottom:20px}
.hero-sub{font-size:16px;margin:0 0 32px;line-height:1.55}
.hero-eyebrow{margin-bottom:20px;font-size:10px}
.hero-cta{padding:14px 28px;font-size:13px}
.hero-availability{font-size:11px;margin-top:16px}
.hero-testimonial p{font-size:clamp(22px,6vw,30px)}
.hero-testimonial-stars{font-size:18px;margin-bottom:10px}
.hero-testimonial-attr{font-size:12px;margin-top:10px}

/* === MOBILE PREMIUM MOTION === */

/* 1. Refined text reveals — Apple-tier: slower, more deliberate, barely-there movement */
.reveal{transform:translateY(12px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1)}
.reveal-left{transform:translateY(12px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1)}

/* 2. Images — cinematic slow reveal with longer duration */
.ed-img.reveal,.perf-video.reveal,.rw-areas-map.reveal,.lp-video-wrap.reveal,.inst-portrait-wrap.reveal-left,.rw-inhome-photo.reveal,.rw-audience-card.reveal,.inst-portrait.reveal-left{transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}

/* 3. Ed-pillar images — intersection-based slow zoom (replaces hover) */
.ed-img img{transition:transform 8s cubic-bezier(0.25,0.1,0.25,1)}
.ed-img.visible img{transform:scale(1.04)}

/* 4. Remove stagger delays — mobile scrolls too fast */
.faq-item.reveal[class*="stagger"]{transition-delay:0s!important}





/* 5. Section heading reveals — slightly longer for editorial weight */
.core-promise h2.reveal,
.pricing-header h2.reveal,
.faq-header h2.reveal,
.inst-bio h2.reveal,
.ed-text h3.reveal{
  transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1)
}

/* 6. Bronze rule — cinematic draw-in on mobile */
.bronze-rule{transform:scaleX(0);transition:transform 0.8s cubic-bezier(0.16,1,0.3,1) 0.15s}
.bronze-rule.visible{transform:scaleX(1)}

/* 7. Price rule — draw on reveal */
.price-rule{transform:scaleX(0);transition:transform 0.6s cubic-bezier(0.16,1,0.3,1) 0.1s}
.price-col.visible .price-rule,.price-col .price-rule{transform:scaleX(1)}

/* 8. FAQ accordion — smoother open/close */
.faq-answer{transition:max-height 0.5s cubic-bezier(0.16,1,0.3,1),padding 0.5s cubic-bezier(0.16,1,0.3,1)}

/* 9. Cinematic card overlays — refined shadow and radius */
.cine-quote-content,
.lp-perf-content,
.lp-why-content{
  border-radius:4px;
  box-shadow:0 16px 48px rgba(0,0,0,0.22)
}

/* 10. Mobile CTA bar — refined entrance */
.mobile-cta{transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1);transform:translateY(8px)}
.mobile-cta.visible{transform:translateY(0)}

/* 11. Submit button — tactile press feedback */
.submit-btn:active,.contact-section .submit-btn:active{transform:scale(0.98);transition:transform 0.1s}

/* 12. Inline CTAs — remove letter-spacing animation (janky on mobile), keep clean */
.inline-cta:hover{letter-spacing:0.12em}
.inline-cta:active{opacity:0.7;transition:opacity 0.1s}

/* 13. Nav menu — refined staggered link entrance */
.nav-links a{transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1),visibility 0.35s,color 0.2s,transform 0.35s cubic-bezier(0.16,1,0.3,1);transform:translateY(6px)}
.nav-links.open a{transform:translateY(0)}
.nav-links.open a:nth-child(1){transition-delay:0.04s}
.nav-links.open a:nth-child(2){transition-delay:0.08s}
.nav-links.open a:nth-child(3){transition-delay:0.12s}
.nav-links.open a:nth-child(4){transition-delay:0.16s}
.nav-links.open a:nth-child(5){transition-delay:0.20s}
.nav-links .nav-cta{transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1),visibility 0.35s,transform 0.35s cubic-bezier(0.16,1,0.3,1);transform:translateY(6px)}
.nav-links.open .nav-cta{transform:translateY(0);transition-delay:0.24s}
.nav-studio{transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1) 0.28s,visibility 0.35s 0.28s}

/* 14. Back-to-top — refined entrance */
.back-to-top{transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1),background 0.25s,border-color 0.25s}

/* 15. Touch-friendly tap targets — larger hit areas, haptic-feel feedback */
.faq-question{min-height:56px;-webkit-tap-highlight-color:transparent}
.faq-question:active h3{color:var(--bronze);transition:color 0.08s}
.footer li a{min-height:44px;display:flex;align-items:center;-webkit-tap-highlight-color:transparent}
.footer-contact-item a{min-height:44px;display:flex;align-items:center}
.nav-links a{min-height:48px;display:flex;align-items:center}

/* 16. Smooth scroll on iOS — prevent rubberbanding in fixed elements */
.nav-links{-webkit-overflow-scrolling:touch}

/* 17. Hero — refined entrance timing (slower, more cinematic on mobile) */
.hero-eyebrow{animation:fadeUp 0.7s 0.3s cubic-bezier(0.16,1,0.3,1) forwards}
.hero h1{animation:fadeUp 0.7s 0.5s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-sub{animation:fadeUp 0.7s 0.7s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-cta{animation:fadeUp 0.7s 0.9s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-availability{animation:fadeUp 0.7s 1.05s cubic-bezier(0.16,1,0.3,1) forwards}

/* Hero testimonial variant (Roswell/East Cobb) */
.hero-testimonial{opacity:0;animation:fadeUp 0.7s 0.25s cubic-bezier(0.16,1,0.3,1) forwards}

/* 18. Section dividers — hairline precision */
.faq-item{border-bottom:1px solid rgba(0,0,0,0.06)}
.faq-item:first-child{border-top:1px solid rgba(0,0,0,0.06)}

/* 19. Testimonial cards — no shadow on white ground, use border */


/* 20. Form inputs — refined focus state with bronze glow */
.contact-section input:focus,
.contact-section textarea:focus{
  border-color:var(--bronze);
  box-shadow:0 0 0 3px rgba(184,155,114,0.08);
  transition:border-color 0.3s ease,box-shadow 0.3s ease
}

/* 21. Credentials grid — single column on mobile for breathing room */
.credentials{grid-template-columns:1fr;gap:14px}

/* 22. Selection color on mobile — match brand */
::selection{background:var(--bronze);color:#fff}
::-moz-selection{background:var(--bronze);color:#fff}

/* 23. Override fadeUp for more cinematic hero entrance on mobile */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
}

/* === INSTRUCTOR PORTRAIT — SLOW CINEMATIC ZOOM === */
.inst-portrait img{transition:transform 6s cubic-bezier(0.25,0.1,0.25,1)}
.reveal-left.visible .inst-portrait img{transform:scale(1.02)}

/* Contact card refinement */
.contact-section .contact-form{box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.contact-section .submit-btn{transition:all 0.25s ease-out}.contact-section .submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(184,155,114,0.25)}

/* ============================================================
   UTILITY CLASSES
   Extracted from inline styles for maintainability
   ============================================================ */

/* --- Stagger Delays (reveal animations) --- */
.stagger-1{transition-delay:0.03s}
.stagger-2{transition-delay:0.06s}
.stagger-3{transition-delay:0.08s}
.stagger-4{transition-delay:0.09s}
.stagger-5{transition-delay:0.1s}
.stagger-6{transition-delay:0.12s}
.stagger-7{transition-delay:0.2s}

/* --- Link / Color --- */
.bronze-link{color:var(--bronze)}
.bronze-underline{color:var(--bronze);border-bottom:1px solid rgba(184,155,114,0.3)}

/* --- Pricing Card as Link --- */


/* --- Spacing --- */
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.mb-32{margin-bottom:32px}
.mt-0{margin-top:0}
.center-mt-32{text-align:center;margin-top:32px}
.center-mt-48{text-align:center;margin-top:48px}

/* --- Pricing Disclaimer --- */
.pricing-fine-print{text-align:center;max-width:480px;margin:36px auto 0;font-size:13.5px;opacity:.5;line-height:1.6;letter-spacing:.01em}

/* --- Footer Social Row --- */
.footer-social{display:flex;gap:20px;margin-top:24px}
.footer-social a{color:var(--text-sec);opacity:0.5}

/* --- Testimonials Container Width --- */
.narrow-800{max-width:800px}

/* --- Form Success/Error (hidden by default, shown via JS) --- */
.form-success{display:none;text-align:center;padding:32px 0}
.form-error{display:none;text-align:center;padding:16px 0}

/* --- Video Overlay Elements --- */
.video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.65}
.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px}

/* --- Form Messages --- */
.form-message{font-family:'Inter',sans-serif;font-size:14px;color:var(--text-sec);line-height:1.6}
.form-message-error{color:#c0392b}
.error-link{color:#c0392b;text-decoration:underline}
.form-success-icon{margin:0 auto 16px;display:block}

/* --- Small Spacing --- */
.mb-12{margin-bottom:12px}
.text-sm{font-size:13px}

/* ===== PREMIUM POLISH — Desktop Micro-interactions ===== */

/* 1. Footer social icons — bronze on hover */
.footer-social a{transition:color 0.25s ease,transform 0.25s ease,opacity 0.25s ease}
.footer-social a:hover{color:var(--bronze);transform:translateY(-2px);opacity:1}

/* 2. Bronze rule — draw from center on reveal */
.bronze-rule{transform:scaleX(0);transition:transform 0.5s var(--ease-reveal) 0.1s}
.bronze-rule.visible{transform:scaleX(1)}

/* 3. Testimonial card — subtle lift on hover */



/* 4. Inline CTA — arrow nudge on hover */
.inline-cta{transition:border-color 0.25s ease,color 0.25s ease,letter-spacing 0.3s ease}
.inline-cta:hover{letter-spacing:0.14em}

/* 5. Footer links — smooth color transitions */
.footer a{transition:color 0.2s ease}

/* 6. Form input focus — subtle bronze glow */
.contact-form input:focus,.contact-form textarea:focus,
.contact-section input:focus,.contact-section textarea:focus{
  border-color:var(--bronze);
  box-shadow:0 0 0 3px rgba(184,155,114,0.08);
  transition:border-color 0.3s ease,box-shadow 0.3s ease
}

/* 7. Scroll margin for fixed nav */
[id]{scroll-margin-top:80px}

/* 8. Pillar images — match editorial slow-zoom feel */


/* 9. Inhome cards — subtle hover lift */



/* 10. Price card cursor & focus ring */
.price-col:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}

/* ============================================================
   INLINE FORM VALIDATION
   ============================================================ */
.field-error-msg{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:#c0392b;
  margin-top:-14px;
  margin-bottom:14px;
  padding-left:2px;
  letter-spacing:0.01em;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height 0.3s ease,opacity 0.3s ease,margin 0.3s ease
}
.field-error-msg.visible{
  max-height:32px;
  opacity:1;
  margin-top:-10px;
  margin-bottom:16px
}
.contact-section input.field-error,
.contact-section textarea.field-error{
  border-color:#c0392b;
  box-shadow:0 0 0 3px rgba(192,57,43,0.06)
}

/* ============================================================
   VIDEO LOADING SPINNER
   ============================================================ */
.video-loading{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:10
}
