@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--ink:#1d2024;--muted:#66655f;--rose:#a64f57;--rose-dark:#853b43;--rose-soft:#ead2d1;--cream:#f6f1ea;--paper:#fbfaf7;--white:#fff;--line:#ded8d0;--shadow:0 18px 45px #372a2017;--radius:18px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif;line-height:1.6}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-family:Manrope,sans-serif;line-height:1.07}h1{margin-bottom:1.35rem;font-size:clamp(3rem,6.4vw,6.6rem)}h2{margin-bottom:1.25rem;font-size:clamp(2.25rem,4.1vw,4.4rem)}h3{font-size:1.55rem}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:.5rem;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #ded8d0a6;justify-content:space-between;align-items:center;gap:2rem;min-height:82px;padding:0 clamp(1.25rem,4vw,4rem);display:flex;position:sticky;top:0}.wordmark{letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;font-family:Manrope,sans-serif;font-size:.96rem;font-weight:800;text-decoration:none}.site-header nav{align-items:center;gap:clamp(1.1rem,3vw,3.1rem);display:flex}.site-header nav a{font-weight:500;text-decoration:none}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--rose)}.site-header .nav-cta{color:var(--rose);font-weight:700}.menu-button{border:1px solid var(--line);background:var(--white);font:inherit;border-radius:.5rem;padding:.6rem .8rem;display:none}.hero{background:var(--white);grid-template-columns:54% 46%;min-height:calc(100vh - 82px);display:grid;overflow:hidden}.hero-copy{z-index:2;background:linear-gradient(90deg,#fff 78%,#fff0);align-self:center;margin-right:-12%;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,5.5vw,7rem)}.eyebrow{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:800}.hero-lede{color:#56575a;max-width:640px;margin-bottom:2.2rem;font-size:clamp(1.15rem,1.7vw,1.48rem);line-height:1.5}.button{border:2px solid var(--rose);color:#fff;background:var(--rose);text-align:center;border-radius:10px;justify-content:center;align-items:center;min-height:58px;padding:.85rem 1.5rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover,.button:focus-visible{background:var(--rose-dark);border-color:var(--rose-dark);transform:translateY(-2px)}.button-outline{color:var(--rose-dark);background:0 0}.button-outline:hover,.button-outline:focus-visible{color:#fff}.trust-list{color:#5c5c59;flex-wrap:wrap;gap:.6rem 1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.trust-list li:not(:last-child):after{content:"•";color:var(--rose);margin-left:1.5rem}.hero-image{background:image-set("/hero-wedding-dance.avif" 1x type("image/avif"),"/hero-wedding-dance.webp" 1x type("image/webp"),"/hero-wedding-dance.jpg" 1x type("image/jpeg")) 50%/cover no-repeat;min-height:640px}.inclusion-ribbon{color:#553c3f;background:var(--rose-soft);text-align:center;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;padding:.9rem 1.5rem;font-size:.91rem;font-weight:600;display:flex}.inclusion-ribbon span:not(:last-child):after{content:"·";margin-left:1.75rem}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-heading{max-width:780px;margin-bottom:3.2rem}.section-heading.centered{text-align:center}.section-heading.centered p{max-width:620px;margin-left:auto;margin-right:auto}.section-heading>p:last-child{color:var(--muted);font-size:1.1rem}.packages-section{background:var(--cream)}.package-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1.5rem;display:grid}.package-card{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);border:1px solid #ded8d0cc;flex-direction:column;padding:2rem;transition:transform .2s;display:flex;position:relative}.package-card:hover{transform:translateY(-5px)}.package-card.featured{border-color:var(--rose)}.card-label{color:#fff;background:var(--rose);text-transform:uppercase;letter-spacing:.08em;border-radius:0 0 .5rem .5rem;padding:.45rem .75rem;font-size:.72rem;font-weight:700;position:absolute;top:0;right:1.25rem}.package-number{border:2px solid var(--rose);width:72px;height:72px;color:var(--rose);border-radius:50%;place-items:center;margin-bottom:1.75rem;font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:700;display:grid}.card-eyebrow{color:var(--rose);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.45rem;font-size:.76rem;font-weight:700}.package-card h3{margin-bottom:.8rem}.package-summary{color:var(--muted)}.package-card ul{border-top:1px solid var(--line);margin:1rem 0 1.5rem;padding:1.25rem 0 0;list-style:none}.package-card li{padding:.35rem 0 .35rem 1.25rem;position:relative}.package-card li:before{content:"—";color:var(--rose);position:absolute;left:0}.price-row{align-items:baseline;gap:.55rem;margin-top:auto;display:flex}.price-row strong,.single-price strong{letter-spacing:-.04em;font-family:Manrope,sans-serif;font-size:2.25rem}.price-row span,.single-price span{color:var(--muted);font-size:.85rem}.text-link{color:var(--rose-dark);text-underline-offset:.25rem;font-weight:700;text-decoration-thickness:1px}.package-card .text-link{margin-top:1.1rem}.single-lesson{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffa6;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;margin-top:1.5rem;padding:1.7rem 2rem;display:grid}.single-lesson h3{margin-bottom:.45rem}.single-lesson p:last-child{color:var(--muted);margin-bottom:0}.single-price{flex-direction:column;display:flex}.terms{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:1.25rem}.terms summary{cursor:pointer;padding:1rem 0;font-weight:700}.terms p{max-width:900px;color:var(--muted)}.about-section{grid-template-columns:1.35fr .8fr;align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.intro-copy{color:#3e4042;font-size:1.25rem}.about-intro>p:not(.eyebrow){max-width:760px}.about-links{flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem;display:flex}.credential-panel{border-radius:var(--radius);color:#fff;background:var(--ink);box-shadow:var(--shadow);padding:clamp(2rem,4vw,3.5rem)}.script-line{color:#e8b9bc;font-weight:700}.credential-panel blockquote{margin:1rem 0 2.5rem;font-family:Manrope,sans-serif;font-size:clamp(1.45rem,2.2vw,2.2rem);line-height:1.35}.credential-panel dl{margin:0}.credential-panel dl div{border-top:1px solid #ffffff2e;grid-template-columns:90px 1fr;gap:1rem;padding:1rem 0;display:grid}.credential-panel dt{color:#e8b9bc;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.credential-panel dd{margin:0}.process-section{background:var(--white)}.process-grid{grid-template-columns:repeat(4,1fr);padding:0;list-style:none;display:grid}.process-grid li{border-left:1px solid var(--line);padding:0 1.5rem}.process-grid li:first-child{border-left:0;padding-left:0}.process-grid span{color:var(--rose);font-family:Manrope,sans-serif;font-size:2rem;font-weight:700}.process-grid h3{margin:1.2rem 0 .6rem}.process-grid p{color:var(--muted)}.welcome-section{color:#fff;background:#282b2e;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);display:grid}.welcome-copy>p:first-child{font-size:1.3rem}.welcome-copy>p:nth-child(2){color:#d5d5d1}.check-grid{grid-template-columns:1fr 1fr;gap:.85rem 1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.check-grid li{padding-left:1.4rem;position:relative}.check-grid li:before{content:"✓";color:#e8b9bc;position:absolute;left:0}.reviews-section{background:var(--cream)}.featured-review{border-radius:var(--radius);background:var(--white);max-width:980px;box-shadow:var(--shadow);text-align:center;padding:clamp(2rem,5vw,4rem)}.quote-mark{height:55px;color:var(--rose);font-family:Georgia,serif;font-size:5rem;line-height:1}.featured-review blockquote{margin:.5rem 0 2rem;font-family:Manrope,sans-serif;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.5}.featured-review p,.review-grid article>p{flex-direction:column;gap:.15rem;margin:0;display:flex}.featured-review span,.review-grid span{color:var(--muted);font-size:.85rem}.review-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;display:grid}.review-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffa6;padding:1.7rem}.review-grid blockquote{margin:0 0 1.5rem}.review-source{text-align:center;margin-top:2rem}.locations-section{grid-template-columns:.8fr 1.2fr;gap:5rem;display:grid}.location-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.location-grid article{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);padding:2rem}.location-number{color:var(--rose);font-weight:800}.location-grid h3{margin:1.5rem 0 .75rem}.location-grid address{color:var(--muted);margin-bottom:1.5rem;font-style:normal}.access-note{color:var(--muted);grid-column:2;margin-top:-3.5rem;font-size:.88rem}.faq-section{background:var(--cream);grid-template-columns:.8fr 1.2fr;gap:5rem;display:grid}.faq-list details{border-top:1px solid #cfc8bf}.faq-list details:last-child{border-bottom:1px solid #cfc8bf}.faq-list summary{cursor:pointer;justify-content:space-between;gap:1rem;padding:1.3rem 0;font-family:Manrope,sans-serif;font-weight:700;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rose);font-size:1.35rem;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:760px;color:var(--muted);padding-right:2rem}.book-section{padding:clamp(4rem, 8vw, 7rem) max(1.25rem, calc((100vw - var(--max)) / 2));color:#fff;background:var(--ink);grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.book-copy>p:not(.eyebrow){color:#d7d7d3;max-width:660px;font-size:1.15rem}.book-copy ul{color:#f0dadb;padding-left:1.25rem}.booking-card{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff2e;padding:clamp(2rem,5vw,3.5rem)}.booking-kicker{color:#e8b9bc;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}.booking-time{margin-bottom:.5rem;font-family:Manrope,sans-serif;font-size:5.5rem;font-weight:800;line-height:1}.booking-time span{font-size:1rem;font-weight:500}.booking-card>p:nth-of-type(3){color:#d7d7d3}.calendly-frame{color:var(--muted);background:#fff;border-radius:10px;margin:1.25rem 0;overflow:hidden}.calendly-frame>p{margin:0;padding:1rem;font-size:.82rem}.calendly-frame iframe{border:0;width:100%;height:650px;display:block}.placeholder-note{color:#aeadab;margin-top:1rem;font-size:.75rem;display:block}.site-footer{padding:4rem max(1.25rem, calc((100vw - var(--max)) / 2));color:#4d4d4a;background:var(--white);border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;gap:3rem;display:grid}.site-footer>div:first-child p{max-width:370px;margin-top:1rem}.site-footer a{color:var(--rose-dark)}.footer-label{color:var(--ink);font-weight:700}.copyright{border-top:1px solid var(--line);color:#77746f;grid-column:1/-1;margin:1rem 0 0;padding-top:1.5rem;font-size:.8rem}:focus-visible{outline-offset:4px;outline:3px solid #246a73}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media (width<=980px){.site-header{min-height:72px}.menu-button{display:block}.site-header nav{background:var(--white);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:.2rem;padding:1rem 1.25rem 1.5rem;display:none;position:absolute;top:71px;left:0;right:0}.site-header nav.open{display:flex}.site-header nav a{padding:.8rem}.hero{grid-template-columns:1fr}.hero-copy{background:var(--white);margin:0;padding:4.5rem 1.5rem 3rem}.hero-image{background-position:60%;min-height:58vw}.package-grid,.review-grid{grid-template-columns:1fr}.package-card{width:100%;max-width:680px}.single-lesson{grid-template-columns:1fr auto}.single-lesson .button{grid-column:1/-1}.about-section,.welcome-section,.locations-section,.faq-section,.book-section{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr;gap:2rem 0}.process-grid li:nth-child(3){border-left:0;padding-left:0}.access-note{grid-column:1;margin-top:0}}@media (width<=620px){.wordmark{white-space:normal;letter-spacing:.22em;max-width:220px;line-height:1.35}h1{font-size:clamp(2.8rem,13vw,4rem)}.hero-copy .button{width:100%}.hero-image{min-height:76vw}.trust-list{display:block}.trust-list li{margin:.35rem 0}.trust-list li:after{display:none}.inclusion-ribbon{display:block}.inclusion-ribbon span{padding:.2rem;display:block}.inclusion-ribbon span:after{display:none}.single-lesson,.location-grid,.check-grid,.process-grid{grid-template-columns:1fr}.process-grid li,.process-grid li:nth-child(3){border-left:0;border-bottom:1px solid var(--line);padding:0 0 1.25rem}.site-footer{grid-template-columns:1fr}.copyright{grid-column:1}}
