/* Page-level: white ground everywhere */
body{background:#fff}
.hero-overlay{background:
  linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.18) 60%, rgba(0,0,0,0.12) 100%),
  linear-gradient(to right, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.10) 40%, rgba(0,0,0,0.06) 100%),
  linear-gradient(to top, rgba(30,18,6,0.18) 0%, transparent 50%)}
.hero-overlay::after{content:'';position:absolute;bottom:0;right:0;width:60%;height:40%;background:radial-gradient(ellipse at 70% 80%,rgba(0,0,0,0.25) 0%,transparent 70%);pointer-events:none}

/* Hero — testimonial layout */
.hero{align-items:stretch}.hero .hero-content{display:flex;flex-direction:column;height:auto;padding-top:120px;padding-bottom:64px;margin:0}@media(min-width:768px){.hero .hero-content{padding-top:140px;padding-bottom:96px;width:70%}}@media(min-width:1024px){.hero .hero-content{width:60%}}.hero .hero-content .hero-cta{align-self:flex-start}.hero-testimonial{flex:1;display:flex;flex-direction:column;justify-content:center;opacity:0;animation:fadeUp 0.45s 0.08s cubic-bezier(0.2,0.8,0.2,1) forwards}.hero-testimonial-stars{color:var(--bronze);font-size:22px;letter-spacing:4px;margin-bottom:12px}.hero-testimonial p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(26px,3vw,40px);color:rgba(255,255,255,0.9);line-height:1.15;letter-spacing:-0.01em;text-shadow:0 2px 20px rgba(0,0,0,0.4),0 1px 4px rgba(0,0,0,0.3)}.hero-testimonial-attr{display:block;margin-top:12px;font-family:'Inter',sans-serif;font-size:13px;color:rgba(255,255,255,0.5);letter-spacing:0.05em;text-shadow:0 1px 8px rgba(0,0,0,0.3)}
@media(min-width:768px){.hero-testimonial{flex:0;justify-content:flex-start;margin-bottom:auto}.hero-testimonial-stars{font-size:16px;letter-spacing:3px;margin-bottom:10px}.hero-testimonial p{font-size:clamp(20px,2vw,26px);opacity:0.85}.hero-testimonial-attr{font-size:12px;opacity:0.7}}
@media(max-width:767px){.hero .hero-content{padding-top:56px;padding-bottom:44px}.hero .hero-content .hero-eyebrow{margin-top:78px}.hero h1{font-size:clamp(36px,9.5vw,44px)!important}.hero-sub{font-size:15px!important}.hero-testimonial{justify-content:flex-start!important;padding-top:24px}.hero-testimonial-stars{font-size:16px!important;letter-spacing:3px!important}.hero-testimonial p{font-size:clamp(20px,5.5vw,28px)!important}.hero-testimonial-attr{font-size:11px!important}}

.core-promise{background:#fff;padding:140px 0 120px}
@media(min-width:768px){
.core-promise{background:#fff}
}
.ed-pillar:first-of-type{padding-top:40px}
.ed-pillar{background:var(--bg)}
@media(max-width:767px){.ed-pillar{background:#fff}}

/* ═══════════════════════════════════════════════
   Triptych — Gallery Exhibition Layout
   ═══════════════════════════════════════════════ */
.triptych{padding:80px 0;background:var(--bg)}
.triptych-inner{display:grid;grid-template-columns:1fr;gap:40px;max-width:1200px;margin:0 auto;padding:0 24px}
@media(min-width:768px){
.triptych-inner{grid-template-columns:6fr 5fr auto;gap:56px;padding:0 48px;align-items:center}
}

/* Large image */
.triptych-image{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:2px;min-height:480px}
@media(min-width:768px){.triptych-image{min-height:600px}}
.triptych-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s cubic-bezier(0.25,0.1,0.25,1)}
.triptych-slide.active{opacity:1}
.triptych-slide img{width:100%;height:100%;object-fit:cover}

/* Text */
.triptych-text{display:flex;flex-direction:column;justify-content:center;min-height:480px;position:relative}
@media(min-width:768px){.triptych-text{min-height:auto}}
.triptych-text-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(6px);transition:opacity 0.9s cubic-bezier(0.25,0.1,0.25,1),transform 0.9s cubic-bezier(0.25,0.1,0.25,1);pointer-events:none}
.triptych-text-panel.active{opacity:1;transform:translateY(0);pointer-events:auto;position:relative}
.triptych-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:28px}
.triptych-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:24px;color:var(--text)}
.triptych-lead{font-family:'Inter',sans-serif;font-size:clamp(17px,1.4vw,21px);color:var(--text-sec);line-height:1.6;margin-bottom:16px;max-width:480px}
.triptych-body{font-family:'Inter',sans-serif;font-size:clamp(14px,1.05vw,15px);color:var(--text-sec);line-height:1.7;margin-bottom:16px;max-width:460px}
.triptych-body:last-of-type{margin-bottom:0}
.triptych-text .inline-cta{margin-top:28px}

/* Navigation — vertical labels */
.triptych-nav{display:flex;gap:8px;justify-content:center}
@media(min-width:768px){
.triptych-nav{flex-direction:column;gap:0;justify-content:center;padding-left:24px;border-left:1px solid rgba(0,0,0,0.06)}
}
.triptych-nav-item{background:none;border:none;cursor:pointer;padding:12px 16px;text-align:left;position:relative;transition:opacity 0.3s}
.triptych-nav-item:hover{opacity:1}
@media(min-width:768px){.triptych-nav-item{padding:20px 0 20px 24px}}
.triptych-nav-label{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-sec);opacity:0.55;transition:opacity 0.4s,color 0.4s;border-bottom:1px solid transparent;padding-bottom:2px}
.triptych-nav-item.active .triptych-nav-label{opacity:1;color:var(--bronze);border-bottom-color:transparent}
.triptych-nav-item:not(.active) .triptych-nav-label{border-bottom-color:rgba(109,106,99,0.2)}
.triptych-nav-item:hover .triptych-nav-label{opacity:0.8}
.triptych-nav-line{display:none}
@media(min-width:768px){
.triptych-nav-line{display:block;position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--bronze);transform:scaleY(0);transition:transform 0.25s cubic-bezier(0.25,0.1,0.25,1)}
.triptych-nav-item.active .triptych-nav-line{transform:scaleY(1)}
}

/* Mobile: hide desktop triptych, show carousel */
.triptych-carousel{display:none}
@media(max-width:767px){
.triptych{padding:36px 0 36px;background:#fff}
.triptych-inner{display:none}
.triptych-carousel{display:block;overflow:hidden;padding:0}

/* Track */
.triptych-carousel-track{display:flex;transition:transform 0.45s cubic-bezier(0.25,0.1,0.25,1)}
.triptych-carousel-track.dragging{transition:none}

/* Cards */
.triptych-carousel-card{min-width:100%;padding:0 28px;box-sizing:border-box}

/* Image */
.triptych-carousel-img{aspect-ratio:3/2;overflow:hidden;border-radius:2px;margin-bottom:20px}
.triptych-carousel-img img{width:100%;height:100%;object-fit:cover}

/* Text */
.triptych-carousel-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:14px}
.triptych-carousel-text h3{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,7vw,34px);font-weight:400;letter-spacing:-0.025em;line-height:1.06;margin-bottom:12px;color:var(--text)}
.triptych-carousel-text p{font-family:'Inter',sans-serif;font-size:14px;color:var(--text-sec);line-height:1.65;margin-bottom:12px;max-width:460px}
.triptych-carousel-text .inline-cta{margin-top:20px}

/* Dots */
.triptych-carousel-dots{display:flex;justify-content:center;gap:12px;padding-top:20px}
.triptych-carousel-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(0,0,0,0.2);background:transparent;padding:0;cursor:pointer;transition:background 0.3s,border-color 0.3s}
.triptych-carousel-dot.active{background:var(--bronze);border-color:var(--bronze)}
}

/* Mobile pull quote refinement */
@media(max-width:767px){
.pull-quote{padding:36px 28px 56px}
.pull-quote blockquote{font-size:clamp(22px,5.5vw,30px)}
}

/* ═══════════════════════════════════════════════
   Pull Quote Bridge — transitional strip
   ═══════════════════════════════════════════════ */

/* Desktop: centered, generous breathing room */
@media(min-width:768px){

}

@media(max-width:767px){

}

/* ═══════════════════════════════════════════════
   Cinematic Testimonial Band — before pricing
   Mirrors lp-perf layout: left gradient, right image
   ═══════════════════════════════════════════════ */

/* Desktop */
.cine-quote{position:relative;display:flex;align-items:center;overflow:hidden;height:65vh;min-height:500px;max-height:700px;padding:0}
.cine-quote-photo{display:none}
.cine-quote-bg{position:absolute;inset:0;z-index:0}
.cine-quote-bg img{width:100%;height:100%;object-fit:cover;object-position:center center}
.cine-quote-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,11,12,0.88) 0%,rgba(11,11,12,0.72) 40%,rgba(0,0,0,0.18) 70%,transparent 100%)}
@media(min-width:768px){.cine-quote-content{position:relative;z-index:10;width:50%;padding:0 0 0 48px}}
@media(min-width:1296px){.cine-quote-content{padding-left:calc((100vw - 1200px) / 2);width:45%}}
.cine-quote-stars{color:var(--bronze);font-size:16px;letter-spacing:3px;margin-bottom:20px}
.cine-quote-content blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,2.2vw,30px);color:rgba(255,255,255,0.9);line-height:1.35;letter-spacing:-0.01em;margin:0 0 20px;font-weight:400;max-width:540px}
.cine-quote-content figcaption{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--bronze);font-weight:400;opacity:0.6}
.cine-quote-content .inline-cta{margin-top:24px;color:var(--bronze);border-bottom-color:rgba(184,155,114,0.3)}

/* Mobile: card treatment matching other cinematic sections */
@media(max-width:767px){
.cine-quote{height:auto;min-height:auto;max-height:none;padding:0 0 32px;flex-direction:column;overflow:visible;background:#fff}
.cine-quote-photo{display:block;width:100%;aspect-ratio:3/2;overflow:hidden}
.cine-quote-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.cine-quote-bg{display:none}
.cine-quote-overlay{display:none}
.cine-quote-content{position:relative;z-index:10;margin-top:-36px;margin-left:16px;margin-right:16px;background:var(--bg-dark,#0B0B0C);padding:40px 28px 44px;border-radius:3px;box-shadow:0 12px 40px rgba(0,0,0,0.18);max-width:none;text-align:left}
.cine-quote-content::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--bronze,#B89B72);border-radius:3px 3px 0 0;opacity:0.7}
.cine-quote-content blockquote{font-size:clamp(18px,4.8vw,22px);color:rgba(255,255,255,0.85);max-width:none}
.cine-quote-content figcaption{opacity:0.55}
.cine-quote-stars{font-size:16px;letter-spacing:3px;margin-bottom:18px}
}
.instructor{background:#fff}
.faq{background:#fff}

/* Desktop: FAQ gets cream to alternate with white pricing above */
@media(min-width:768px){
.faq{background:var(--bg);border-top:1px solid rgba(0,0,0,0.05)}
}
.contact-section{background:#fff;border-top:1px solid rgba(0,0,0,0.06)}

/* Editorial split layout */
.contact-editorial{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  max-width:1200px;
  margin:0 auto
}
@media(min-width:768px){
.contact-editorial{
  grid-template-columns:5fr auto 7fr;
  gap:0;
  align-items:start
}
/* Vertical rule between columns */
.contact-editorial::before{
  content:'';
  grid-column:2;
  grid-row:1;
  width:1px;
  align-self:stretch;
  background:rgba(0,0,0,0.07);
  margin:8px 0
}
}

/* Left — editorial heading */
.contact-left{
  padding-top:8px
}
@media(min-width:768px){
.contact-left{
  grid-column:1;
  padding-right:64px;
  padding-top:12px
}
}
.contact-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,3.2vw,50px);
  font-weight:400;
  letter-spacing:-0.025em;
  line-height:1.05;
  color:var(--text);
  margin-bottom:24px
}
.contact-note{
  font-family:'Inter',sans-serif;
  font-size:clamp(14px,1.1vw,16px);
  color:var(--text-sec);
  line-height:1.65;
  max-width:380px
}

/* Right — form */
.contact-right{
  width:100%
}
@media(min-width:768px){
.contact-right{
  grid-column:3;
  padding-left:64px
}
}
.contact-right form{
  max-width:none
}
.contact-section .form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-bottom:0
}
.contact-section .form-row input{
  margin-bottom:20px
}
.contact-section input,
.contact-section textarea{
  width:100%;
  background:var(--bg);
  border:1px solid rgba(0,0,0,0.10);
  color:var(--text);
  padding:14px 16px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  outline:none;
  margin-bottom:20px;
  box-sizing:border-box;
  transition:border-color 0.3s
}
.contact-section input::placeholder,
.contact-section textarea::placeholder{
  color:rgba(0,0,0,0.28)
}
.contact-section input:focus,
.contact-section textarea:focus{
  border-color:var(--bronze)
}
.contact-section input:valid:not(:placeholder-shown){
  border-color:rgba(184,155,114,0.4)
}
.contact-section 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;
  transition:all 0.25s ease-out
}
.contact-section .submit-btn:hover{
  background:var(--bronze-acc);
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(184,155,114,0.2)
}

/* Mobile adjustments */
@media(max-width:767px){
.contact-editorial{gap:32px}
.contact-left{text-align:center}
.contact-note{margin:0 auto}
.contact-section .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}
.contact-section .form-row input{margin-bottom:12px}
.contact-section input,
.contact-section textarea{margin-bottom:12px}
.contact-section{padding:64px 0}
}

.footer{background:var(--bg)}

/* Desktop: subtle transition from white contact to cream footer */
@media(min-width:768px){
.footer{border-top:1px solid rgba(0,0,0,0.06)}
}
@media(max-width:767px){
.footer{background:#fff}
}
}

/* ═══════════════════════════════════════════════
   Pull Quotes — editorial pauses
   ═══════════════════════════════════════════════ */
.pull-quote{padding:100px 0 110px;text-align:center;position:relative;background:#fff}
@media(min-width:768px){
.pull-quote{padding:64px 0;background:#fff}
}
.pull-quote figure{max-width:680px;margin:0 auto;position:relative;text-align:center}
.pull-quote blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(26px,3.2vw,42px);color:#1a1a1a;line-height:1.25;letter-spacing:-0.015em;margin:0 0 32px;font-weight:400}
.pull-quote figcaption{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:#999;font-weight:400}
.pull-quote .pq-stars{color:var(--bronze);font-size:20px;letter-spacing:4px;margin-bottom:20px}
@media(max-width:767px){.pull-quote{padding:28px 28px 36px;background:#fff}}

/* ═══════════════════════════════════════════════
   In-Home Section — Editorial Feature (desktop)
   Cinematic card (mobile, unchanged)
   ═══════════════════════════════════════════════ */
.lp-why-photo{display:none}

/* ── Mobile: original cinematic card (unchanged) ── */
@media(max-width:767px){
.lp-why{height:auto;min-height:auto;max-height:none;padding:0 0 48px;flex-direction:column;overflow:visible;background:#fff}
.lp-why-photo{display:block;width:100%;aspect-ratio:3/2;overflow:hidden}
.lp-why-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.lp-why-bg{display:none}
.lp-why-overlay{display:none}
.lp-why-quote{display:none}
.lp-why-content{position:relative;z-index:10;margin-top:-36px;margin-left:16px;margin-right:16px;background:var(--bg-dark,#0B0B0C);padding:40px 28px 44px;border-radius:3px;box-shadow:0 12px 40px rgba(0,0,0,0.18)}
.lp-why-content h2{font-size:clamp(26px,6.5vw,34px)!important;line-height:1.1!important;margin-bottom:20px!important;color:#fff!important}
.lp-why-content p{font-size:14px!important;line-height:1.65!important;color:rgba(255,255,255,0.65)!important}
.lp-why-content .eyebrow{font-size:11px!important;margin-bottom:16px!important;color:var(--bronze)!important}
.lp-why-content p+p{margin-top:14px!important}
.lp-why-content::after{display:none}
.lp-why-content::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--bronze,#B89B72);border-radius:3px 3px 0 0;opacity:0.7}
.lp-why-content .lp-districts{display:flex;flex-wrap:wrap;justify-content:center;margin-top:0;padding-top:24px;border-top:1px solid rgba(184,155,114,0.18);gap:20px;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em}
.lp-why-content .lp-districts a{color:var(--bronze);text-decoration:none}
.lp-why-content .inline-cta{display:block;text-align:center;margin-top:20px}
.lp-why-content p:last-of-type{margin-bottom:24px}
}

/* ── Desktop: reorder — pull quote before in-home section ── */
@media(min-width:768px){
main#main{display:flex;flex-direction:column}
main#main>*{width:100%}
main#main>.core-promise{order:1}
main#main>.triptych{order:2}
main#main>.pull-quote{order:3}
main#main>.lp-why{order:4}
main#main>.lp-perf{order:6}
main#main>.instructor{order:7}
main#main>.cine-quote{order:8}
main#main>.pricing{order:9}
main#main>.faq{order:10}
main#main>.contact-section{order:11}
}

/* ── Desktop: editorial feature with integrated quote ── */
@media(min-width:768px){
.lp-why{
  position:relative;
  display:block;
  overflow:visible;
  height:auto;min-height:auto;max-height:none;
  padding:120px 0 100px;
  background:var(--bg)
}
.lp-why-bg{
  position:relative;
  inset:auto;
  z-index:0;
  max-width:1200px;
  margin:0 auto;
  padding:0 48px;
  aspect-ratio:12/5;
  overflow:hidden;
  border-radius:3px
}
.lp-why-bg picture,.lp-why-bg img{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center 40%;
  border-radius:3px;
  transition:transform 6s cubic-bezier(0.25,0.1,0.25,1)
}
.lp-why-bg:hover img{transform:scale(1.02)}
.lp-why-overlay{display:none}

/* Content grid: text | rule | quote, districts below */
.lp-why-content{
  position:relative;
  z-index:10;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:72px 48px 0;
  display:grid;
  grid-template-columns:1fr auto 380px;
  grid-template-rows:auto auto;
  gap:0;
  align-items:start
}
.lp-why-text{
  max-width:none;
  margin:0;
  text-align:left;
  padding-right:48px
}
.lp-why-content .eyebrow{
  color:var(--bronze-acc);
  margin-bottom:24px
}
.lp-why-content h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,3.2vw,50px);
  font-weight:400;
  letter-spacing:-0.02em;
  line-height:1.05;
  color:var(--text);
  margin-bottom:28px
}
.lp-why-content p{
  font-family:'Inter',sans-serif;
  font-size:clamp(15px,1.15vw,17px);
  color:var(--text-sec);
  line-height:1.65;
  max-width:540px;
  margin-left:0;
  margin-right:0
}
.lp-why-content p+p{margin-top:16px}

/* Vertical rule between text and quote */
.lp-why-content::after{
  content:'';
  grid-column:2;
  grid-row:1;
  width:1px;
  align-self:stretch;
  background:rgba(0,0,0,0.08);
  margin:4px 0
}

/* Integrated quote — top-aligned with eyebrow */
.lp-why-quote{
  grid-column:3;
  grid-row:1;
  padding-left:48px;
  display:flex;
  align-items:flex-start;
  padding-top:2px
}
.lp-why-quote figure{margin:0}
.lp-why-quote-stars{
  color:var(--bronze);
  font-size:16px;
  letter-spacing:3px;
  margin-bottom:20px
}
.lp-why-quote blockquote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(20px,1.8vw,25px);
  color:var(--text);
  line-height:1.35;
  letter-spacing:-0.01em;
  margin:0 0 20px;
  font-weight:400;
  opacity:0.7
}
.lp-why-quote figcaption{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--bronze);
  font-weight:400;
  opacity:0.55
}

/* Districts span full width below */
.lp-why-content .lp-districts{
  grid-column:1 / -1;
  grid-row:2;
  display:flex;flex-wrap:wrap;gap:20px;
  margin-top:40px;
  padding-top:32px;
  border-top:1px solid rgba(0,0,0,0.06);
  justify-content:flex-start;
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.12em
}
.lp-why-content .lp-districts a{color:var(--bronze);transition:color 0.2s}
.lp-why-content .lp-districts a:hover{color:var(--text)}
}

/* ═══════════════════════════════════════════════
   Cinematic Performance Band
   ═══════════════════════════════════════════════ */
.lp-perf{position:relative;display:flex;align-items:center;overflow:hidden;height:65vh;min-height:500px;max-height:700px;padding:0}
.lp-perf-photo{display:none}
@media(max-width:767px){
.lp-perf{height:auto;min-height:auto;max-height:none;padding:0 0 24px;flex-direction:column;overflow:visible;background:#fff}
.lp-perf-photo{display:block;width:100%;aspect-ratio:3/2;overflow:hidden}
.lp-perf-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.lp-perf-bg{display:none}
.lp-perf-overlay{display:none}
.lp-perf-content{position:relative;z-index:10;margin-top:-36px;margin-left:16px;margin-right:16px;background:var(--bg-dark,#0B0B0C);padding:40px 28px 44px;border-radius:3px;box-shadow:0 12px 40px rgba(0,0,0,0.18)}
.lp-perf-content h2{font-size:clamp(26px,6.5vw,34px)!important;line-height:1.1!important;margin-bottom:20px!important;color:#fff!important}
.lp-perf-content p{font-size:14px!important;line-height:1.65!important;color:rgba(255,255,255,0.65)!important}
.lp-perf-content .eyebrow{font-size:11px!important;margin-bottom:16px!important;color:var(--bronze)!important}
.lp-perf-content::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--bronze,#B89B72);border-radius:3px 3px 0 0;opacity:0.7}
}
.lp-perf-bg{position:absolute;inset:0;z-index:0}
.lp-perf-bg img,.lp-perf-bg picture{width:100%;height:100%;object-fit:cover;object-position:center center}
.lp-perf-bg picture img{object-fit:cover;object-position:center center}
.lp-perf-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,11,12,0.88) 0%,rgba(11,11,12,0.72) 40%,rgba(0,0,0,0.25) 70%,transparent 100%)}
@media(min-width:768px){.lp-perf-content{position:relative;z-index:10;width:100%;padding:0 48px}}
@media(min-width:1296px){.lp-perf-content{padding-left:calc((100vw - 1200px) / 2)}}
.lp-perf-content .eyebrow{color:var(--bronze);margin-bottom:24px}
.lp-perf-content h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.6vw,56px);font-weight:400;letter-spacing:-0.02em;line-height:0.95;color:#fff;margin-bottom:24px;max-width:480px}
.lp-perf-content p{font-family:'Inter',sans-serif;font-size:clamp(15px,1.15vw,17px);color:rgba(255,255,255,0.85);line-height:1.65;max-width:400px}
.lp-perf-play{display:inline-flex;align-items:center;gap:16px;margin-top:36px;cursor:pointer;transition:opacity 0.3s}
.lp-perf-play:hover{opacity:0.8}
.lp-perf-play svg{transition:transform 0.3s ease}
.lp-perf-play:hover svg{transform:scale(1.06)}
.lp-perf-play span{font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.12em;color:var(--bronze);border-bottom:1px solid rgba(184,155,114,0.3);padding-bottom:2px}
.lp-perf-video-overlay{display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,0.92);backdrop-filter:blur(8px);align-items:center;justify-content:center}
.lp-perf-video-overlay.active{display:flex}
.lp-perf-close{position:absolute;top:24px;right:32px;background:none;border:none;color:rgba(255,255,255,0.6);font-size:36px;cursor:pointer;transition:color 0.2s;font-family:'Inter',sans-serif;font-weight:300;line-height:1;z-index:10}
.lp-perf-close:hover{color:#fff}

/* ═══════════════════════════════════════════════
   Animation Restraint — match East Cobb polish
   ═══════════════════════════════════════════════ */
.reveal.eyebrow,
.reveal.weeks,
.reveal.inline-cta,
.reveal.memberships,
.reveal.pricing-fine-print,
.reveal.contact-form,
.faq-item.reveal,
.reveal.center-mt-32,
.pull-quote .reveal{opacity:1;transform:none;transition:none}
.faq-item.reveal[class*="stagger"]{transition-delay:0s!important}

/* ═══════════════════════════════════════════════
   Whitespace rhythm
   ═══════════════════════════════════════════════ */
.core-promise{padding:140px 0 120px}
.instructor{padding:96px 0}
.faq{padding:80px 0}
.contact-section{padding:96px 0 104px}
@media(min-width:768px){
.instructor{padding:96px 0}
.faq{padding:96px 0}
.contact-section{padding:96px 0}
}
.mobile-section-quote{display:none}
@media(max-width:767px){
.mobile-section-quote{display:none;text-align:center;padding:40px 24px;background:#fff}
.mobile-section-quote .msq-stars{color:var(--bronze);font-size:14px;letter-spacing:3px;margin-bottom:14px}
.mobile-section-quote blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,5.5vw,28px);line-height:1.3;color:var(--text);margin-bottom:12px;letter-spacing:-0.01em}
.mobile-section-quote cite{font-family:'Inter',sans-serif;font-size:11px;font-style:normal;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-sec)}
@media(max-width:767px){.mobile-section-quote{display:block}}
.core-promise{padding:64px 0 56px}
.instructor{padding:48px 0 56px}
.mobile-section-cta{display:block;text-align:center;padding:32px 24px;background:#fff}
.mobile-section-cta a{display:inline-block;font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.12em;color:var(--bronze);padding-bottom:2px;border-bottom:1px solid rgba(184,155,114,0.3);transition:color 0.2s,border-color 0.2s}
.mobile-section-cta a:hover{color:var(--bronze-acc);border-bottom-color:var(--bronze-acc)}
@media(min-width:768px){.mobile-section-cta{display:none}}
.faq{
  padding:24px 0 48px!important;
  background:#fff;
  border-top:none
}
.faq-header{margin-bottom:48px}
.faq-header h2{font-size:clamp(28px,7vw,40px)}
.faq-question{
  padding:22px 0;
  margin:0;
  padding-left:0;
  padding-right:0
}
.faq-question h3{font-size:clamp(17px,4.2vw,20px)}
.faq-answer p{font-size:14px;padding-bottom:20px}
.contact-section{
  padding:48px 0;
  background:var(--bg);
  border-top:none
}
.contact-section input,
.contact-section textarea{
  background:#fff
}
.contact-editorial{gap:40px}
.contact-left{text-align:left}
.contact-heading{font-size:clamp(28px,7vw,40px);margin-bottom:20px}
.contact-note{margin:0;max-width:none}
.contact-section .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}
@media(min-width:768px){.contact-section .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}}
.contact-section input,
.contact-section textarea{
  padding:16px;
  font-size:15px;
  border-radius:2px;
  margin-bottom:12px
}
.contact-section .submit-btn{
  padding:18px;
  font-size:13px;
  border-radius:2px
}
}

/* ═══════════════════════════════════════════════
   Pricing — Editorial Menu (desktop)
   Mobile retains dark card treatment via style.css
   ═══════════════════════════════════════════════ */

/* Base: dark card treatment (mobile only — overridden by mobile editorial block below) */
@media(max-width:767px){
.pricing-columns{display:grid;gap:32px;max-width:960px;margin:0 auto 80px}
.price-col{text-align:center;padding:36px 32px}
.price-col h3{font-family:'Cormorant Garamond',serif;font-size:24px;color:rgba(255,255,255,0.9);margin-bottom:8px}
.price-rule{width:40px;height:2px;background:var(--bronze);margin:0 auto 20px;opacity:0.5}
.price-col .price-amount{font-family:'Inter',sans-serif;font-size:30px;font-weight:300;color:var(--bronze);margin-bottom:24px;line-height:1}
.price-col .price-amount span{font-size:11px;color:rgba(255,255,255,0.40);font-weight:400;margin-left:1px}
.price-col .price-detail{font-family:'Inter',sans-serif;font-size:14px;color:rgba(255,255,255,0.6);margin-bottom:16px}
}

/* Desktop: editorial light treatment */
@media(min-width:768px){
.pricing-inclusive{display:none}
.pricing{
  background:#fff!important;
  color:var(--text)!important;
  padding:96px 0!important;
  border-top:1px solid rgba(0,0,0,0.05)
}
.pricing::before{display:none}
.pricing .eyebrow{color:var(--bronze-acc)}
.pricing-header{margin-bottom:56px}
.pricing-header h2{color:var(--text)}
.pricing-header p{color:var(--text-sec)}
.pricing-header .weeks{color:var(--bronze)}

.pricing-columns{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:0;
  max-width:900px;
  margin:0 auto 48px;
  align-items:start
}

/* Vertical rules between columns */
.pricing-columns::before,
.pricing-columns::after{
  content:'';
  width:1px;
  align-self:stretch;
  background:rgba(0,0,0,0.08);
  margin:8px 0
}
.pricing-columns::before{grid-column:2;grid-row:1}
.pricing-columns::after{grid-column:4;grid-row:1}

.price-col{
  padding:24px 40px;
  text-align:center;
  background:transparent
}
.price-col:nth-child(1){grid-column:1}
.price-col:nth-child(2){grid-column:3}
.price-col:nth-child(3){grid-column:5}

.price-col h3{
  font-size:clamp(22px,2vw,28px);
  color:var(--text);
  margin-bottom:12px
}
.price-rule{
  width:40px;height:2px;
  background:var(--bronze);
  margin:0 auto 20px;
  opacity:0.4
}
.price-col .price-amount{
  font-size:clamp(28px,2.4vw,36px);
  font-weight:300;
  color:var(--bronze);
  margin-bottom:20px
}
.price-col .price-amount span{
  font-size:12px;
  color:var(--text-sec);
  opacity:0.5
}
.price-col .price-detail{
  font-size:clamp(13px,1vw,15px);
  color:var(--text-sec);
  margin-bottom:12px
}
.price-col .price-detail:last-child{margin-bottom:0}

.pricing .pricing-fine-print{
  color:var(--text-sec);
  opacity:0.8;
  font-size:14.5px;
  max-width:540px
}
.pricing .pricing-fine-print span{
  color:var(--bronze)!important
}
.pricing .inline-cta{
  color:var(--bronze)
}
}

/* Mobile pricing — editorial light treatment (matches desktop) */
@media(max-width:767px){
.pricing{
  background:#fff!important;
  color:var(--text)!important;
  padding:48px 0 16px!important;
  border-top:none!important
}
.pricing::before{display:none}
.pricing .eyebrow{color:var(--bronze-acc)}
.pricing-header{margin-bottom:40px}
.pricing-header h2{color:var(--text)}
.pricing-header p{color:var(--text-sec)}
.pricing-header .weeks{color:var(--bronze)}
.pricing-inclusive{
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--bronze)!important;
  letter-spacing:0.02em;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(184,155,114,0.2)
}
.pricing-columns{
  grid-template-columns:1fr;
  gap:0;
  margin:0 auto 32px
}
.pricing-columns::before,
.pricing-columns::after{display:none}
.price-col{
  background:transparent!important;
  border:none;
  border-radius:0;
  box-shadow:none!important;
  padding:28px 0;
  border-bottom:1px solid rgba(0,0,0,0.06);
  display:flex;
  flex-direction:column
}
.price-col:last-child{
  border-bottom:none
}
.price-col:first-child{
  border-top:none
}
.price-rule{display:none}
.price-col h3{
  color:var(--text)!important;
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:8px
}
.price-col .price-amount{
  color:var(--bronze);
  font-size:18px;
  font-weight:400;
  margin-bottom:4px;
  line-height:1.4
}
.price-col .price-amount span{
  color:var(--text-sec)!important;
  opacity:0.4;
  font-size:11px
}
.price-col .price-duration{
  font-size:13px;
  color:var(--text-sec)!important;
  opacity:0.5;
  margin-bottom:6px
}
.price-col .price-detail{
  color:var(--text-sec)!important;
  font-size:13px;
  margin-bottom:0;
  line-height:1.5;
  opacity:0.6
}
.pricing-header .lessons-link{
  color:var(--text-sec)!important;
  border-bottom-color:rgba(0,0,0,0.15)
}
.pricing .pricing-fine-print{
  display:none
}
.pricing .inline-cta{
  color:var(--bronze)
}
.pricing .center-mt-32{
  display:none
}
}

/* Animation restraint for pricing */
.price-col.reveal{opacity:1!important;transform:none!important;transition:none!important}

/* ═══════════════════════════════════════════════
   Micro-interactions — Premium Polish Layer
   ═══════════════════════════════════════════════ */

/* ── Pricing Cards: lift + glow on hover (desktop) ── */
@media(min-width:768px){
.price-col{
  transition:transform 0.35s cubic-bezier(0.25,0.1,0.25,1),
             box-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1),
             border-color 0.35s ease;
  border:1px solid transparent;
  border-radius:3px;
  position:relative
}
.price-col:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 48px rgba(0,0,0,0.06),0 4px 12px rgba(0,0,0,0.04);
  border-color:rgba(184,155,114,0.18)
}
.price-col:hover .price-rule{
  opacity:0.8;
  width:56px
}
.price-rule{
  transition:width 0.4s cubic-bezier(0.25,0.1,0.25,1),opacity 0.4s ease
}
.price-col:hover h3{
  color:var(--bronze)!important;
  transition:color 0.3s ease
}
.price-col h3{transition:color 0.3s ease}
}

/* ── Triptych Nav: shift + weight on hover ── */
@media(min-width:768px){
.triptych-nav-item{
  transition:opacity 0.3s,transform 0.3s cubic-bezier(0.25,0.1,0.25,1)
}
.triptych-nav-item:hover{
  transform:translateX(4px)
}
.triptych-nav-label{
  transition:opacity 0.4s,color 0.4s,letter-spacing 0.4s ease
}
.triptych-nav-item:hover .triptych-nav-label{
  opacity:0.85;
  letter-spacing:0.14em
}
.triptych-nav-item.active .triptych-nav-label{
  letter-spacing:0.14em
}
}

/* ── Inline CTAs / Bronze Links: expanding underline ── */
.inline-cta{
  background-image:linear-gradient(var(--bronze-acc),var(--bronze-acc));
  background-size:0% 1px;
  background-position:0% 100%;
  background-repeat:no-repeat;
  transition:background-size 0.4s cubic-bezier(0.25,0.1,0.25,1),
             color 0.3s ease,
             border-color 0.3s ease;
  border-bottom:1px solid rgba(184,155,114,0.3)
}
.inline-cta:hover{
  background-size:100% 1px;
  border-bottom-color:transparent;
  color:var(--bronze-acc)
}

.bronze-link{
  background-image:linear-gradient(var(--bronze),var(--bronze));
  background-size:0% 1px;
  background-position:0% 100%;
  background-repeat:no-repeat;
  transition:background-size 0.35s cubic-bezier(0.25,0.1,0.25,1),color 0.2s ease;
  padding-bottom:1px
}
.bronze-link:hover{
  background-size:100% 1px
}

/* ── FAQ Items: subtle background tint on hover ── */
.faq-question{
  transition:background-color 0.3s ease,padding-left 0.3s ease;
  border-radius:2px;
  margin:0 -12px;
  padding-left:12px;
  padding-right:12px
}
.faq-question:hover{
  background-color:rgba(184,155,114,0.04)
}
.faq-question h3{
  transition:color 0.25s ease
}
.faq-question:hover h3{
  color:var(--bronze)
}
.faq-icon::before,.faq-icon::after{
  transition:transform 0.3s ease,background-color 0.3s ease
}
.faq-question:hover .faq-icon::before,
.faq-question:hover .faq-icon::after{
  background-color:var(--bronze-acc)
}

/* ── Nav CTA: refined hover lift ── */
.nav-cta{
  transition:background 0.3s ease,color 0.2s ease,transform 0.3s ease,box-shadow 0.3s ease!important
}
a.nav-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(184,155,114,0.2)
}

/* ── Back-to-Top: smooth hover state ── */
.back-to-top{
  transition:opacity 0.3s ease,transform 0.3s ease,background 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease
}
.back-to-top:hover{
  box-shadow:0 4px 20px rgba(184,155,114,0.25)
}

/* ── Submit Button: refined press feedback ── */
.contact-section .submit-btn{
  transition:all 0.3s cubic-bezier(0.25,0.1,0.25,1)
}
.contact-section .submit-btn:hover{
  box-shadow:0 8px 28px rgba(184,155,114,0.25)
}
.contact-section .submit-btn:active{
  transform:translateY(0px);
  box-shadow:0 2px 8px rgba(184,155,114,0.15)
}

/* ── Hero CTA: breathing glow ── */
.hero-cta{
  transition:all 0.35s cubic-bezier(0.25,0.1,0.25,1)
}
.hero-cta:hover{
  box-shadow:0 12px 40px rgba(0,0,0,0.3),0 0 0 1px rgba(184,155,114,0.15)
}

/* ── Form Inputs: focus glow ── */
.contact-section input:focus,
.contact-section textarea:focus{
  box-shadow:0 0 0 3px rgba(184,155,114,0.08);
  border-color:var(--bronze)
}

/* ── Performance Play Button: pulse hint ── */
.lp-perf-play svg{
  transition:transform 0.3s ease,filter 0.3s ease
}
.lp-perf-play:hover svg{
  transform:scale(1.08);
  filter:drop-shadow(0 2px 8px rgba(184,155,114,0.3))
}

/* ── Triptych Carousel Dots (mobile): expand active ── */
.triptych-carousel-dot{
  transition:background 0.3s,border-color 0.3s,transform 0.3s ease
}
.triptych-carousel-dot:hover{
  transform:scale(1.25);
  border-color:var(--bronze)
}

/* ── Credential Items: subtle hover ── */
.cred-item{
  transition:transform 0.3s ease
}
.cred-item:hover{
  transform:translateX(3px)
}

/* ── Footer Links: color shift ── */
.footer a{
  transition:color 0.25s ease
}

/* ── Reduced Motion: respect user preference ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    transition-duration:0.01ms!important;
    animation-duration:0.01ms!important
  }
}