:root{--ink:#416b80;--paper:#f7f5ef;--coral:#4f788c;--yellow:#d9e5e9;--purple:#6f91a1;--mint:#d7c29f;--white:#fff;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Questrial',Arial,sans-serif}
body{background:var(--paper);color:var(--ink)}
.topbar{background:rgba(247,245,239,.96);border-color:rgba(65,107,128,.18)}
.brand{font-family:var(--font-body);font-size:1.05rem;letter-spacing:0}.brand span{color:var(--ink)}
nav,.mini-cta,.button,.quick-notes{font-family:var(--font-body)}
.mini-cta{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.hero{background:var(--paper)}
.hero-image{background-image:linear-gradient(150deg,rgba(65,107,128,.02),rgba(65,107,128,.08)),url('salsa-nina-louis.png');background-position:center 42%;box-shadow:18px 18px 0 #9bb3be}
.image-tag{background:#4f788c}
.image-tag strong{color:#fff}
.ticker,.schedule-section{background:#4f788c}
.ticker{color:#fff;font-family:var(--font-display);font-weight:500;letter-spacing:.02em}
.coral{background:#4f788c}
.yellow{background:#dfe9ec}.event-section{background:var(--paper);border-top:1px solid rgba(65,107,128,.2);border-bottom:1px solid rgba(65,107,128,.2)}
.purple{background:#6f91a1}
.final-cta{background:#4f788c}
.real-energy{padding:8rem 5vw;background:#e7edef}
.energy-heading{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}
.energy-heading h2{font-family:var(--font-display);font-size:clamp(3.4rem,7vw,7rem);font-weight:400;text-transform:uppercase;line-height:.94}
.energy-heading>p:last-child{font-size:1.05rem}
.photo-story{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:1rem}
.photo{margin:0;position:relative;overflow:hidden;grid-column:span 4}
.photo-main{grid-column:span 7;grid-row:span 2}
.photo-tall{grid-column:span 5;grid-row:span 2}
.photo-wide{grid-column:span 7}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.photo:hover img{transform:scale(1.035)}
.photo figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(65,107,128,.92);color:#fff;padding:.55rem .8rem;font-weight:400;font-size:.85rem}
.class-card{box-shadow:0 16px 35px rgba(65,107,128,.1)}
.button.primary{background:#4f788c}.button.dark{background:#416b80}.quick-notes span:before,.eyebrow{color:#4f788c}
h1,h2{font-weight:500;text-transform:none;letter-spacing:-.035em}.hero h1 em{font-family:var(--font-display);font-style:italic;text-transform:none;font-size:.86em;letter-spacing:-.03em;color:#4f788c}
.section-heading h2,.schedule-head h2,.event-panel h2,.about h2,.final-cta h2,.energy-heading h2{font-weight:500;text-transform:none;letter-spacing:-.035em}
.class-card h3,.event-list h3{font-family:var(--font-display);font-weight:500;text-transform:none}
.ghost{border-color:#4f788c}.light,.day b{color:#dfe9ec}.day a:hover i{color:#fff}
.about-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.6rem}.about-photo-pair img{width:100%;height:410px;object-fit:cover}.marbella-moment{display:grid;grid-template-columns:1.15fr .85fr;background:#416b80;color:#fff}.marbella-moment img{width:100%;height:100%;min-height:520px;object-fit:cover}.marbella-moment div{padding:7vw 5vw;align-self:center}.marbella-moment h2{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,7rem);font-weight:500;text-transform:none;line-height:.9}.marbella-moment p:last-child{font-size:1.1rem;max-width:38ch;margin-top:2rem}
@media(max-width:900px){.energy-heading{grid-template-columns:1fr;gap:1rem}.photo-story{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}.photo,.photo-main,.photo-tall,.photo-wide{grid-column:span 1;grid-row:span 1}.photo-main{grid-column:span 2}.hero-image{background-position:center 42%}.marbella-moment{grid-template-columns:1fr}.marbella-moment img{min-height:360px}.about-photo-pair img{height:330px}}
@media(max-width:600px){.real-energy{padding:5rem 6vw}.energy-heading h2{font-size:3.7rem}.photo-story{display:block}.photo{height:300px;margin-bottom:1rem}.photo-main{height:360px}.hero-image{box-shadow:9px 9px 0 #9bb3be}.about-photo-pair{grid-template-columns:1fr}.about-photo-pair img{height:380px}.marbella-moment div{padding:5rem 6vw}}

/* Lively Costa del Sol layer: keeps the established blue and ivory identity. */
:root{--coral:#e85d4a;--yellow:#45d8c7;--purple:#397f88;--mint:#82b8a4}
.topbar{box-shadow:0 8px 30px rgba(48,91,112,.08)}
.brand span{color:var(--coral)}
nav a:hover{color:var(--coral)}
.mini-cta{background:var(--coral);border-color:var(--coral);color:#fff;border-radius:999px}
.hero{background:
  radial-gradient(circle at 8% 18%,rgba(69,216,199,.3),transparent 28%),
  radial-gradient(circle at 44% 82%,rgba(232,93,74,.14),transparent 30%),
  var(--paper)}
.hero h1 em{color:var(--coral)}
.hero-image{background-image:url('salsa-pose.png'),linear-gradient(145deg,#45d8c7 0%,#397188 52%,#e85d4a 100%);background-size:contain,cover;background-repeat:no-repeat;background-position:center bottom,center;box-shadow:18px 18px 0 var(--yellow);transform:rotate(1deg);border:8px solid #fff}
.hero-image.hero-marbella{background-image:linear-gradient(150deg,rgba(36,70,87,.04),rgba(232,93,74,.12)),url('new-beach-dance.jpg');background-size:cover;background-position:center}
.image-tag{background:var(--coral);transform:rotate(-5deg);box-shadow:8px 8px 0 var(--yellow)}
.button{border-radius:999px}.button.primary{background:var(--coral)}.button.primary:hover{background:#cf493a}
.ghost{border:1.5px solid var(--ink);background:rgba(255,255,255,.55)}
.quick-notes span:before,.eyebrow{color:var(--coral)}
.ticker{background:#397188;color:#fff;border-top:5px solid var(--yellow);border-bottom:5px solid var(--coral)}
.section-heading h2,.energy-heading h2{color:#315f75}
.class-grid{gap:1.5rem}.class-card{border-radius:0 42px 0 42px;box-shadow:0 18px 38px rgba(48,91,112,.16)}
.coral{background:linear-gradient(145deg,#ed6b56,#d94839)}
.yellow{background:linear-gradient(145deg,#75eadc,#31c7b7);color:#234f63}
.purple{background:linear-gradient(145deg,#4f9299,#286f7a)}
.schedule-section{background:linear-gradient(145deg,#315f75,#244657)}
.schedule-grid{border-color:rgba(255,255,255,.25)}.day{border-color:rgba(255,255,255,.25)}
.light,.day b{color:var(--yellow)}
.real-energy{background:
  radial-gradient(circle at 90% 10%,rgba(69,216,199,.42),transparent 26%),
  linear-gradient(145deg,#e8fbf8,#f7eee8 52%,#e5f0ef)}
.photo-story{gap:1.25rem}.photo{border:7px solid #fff;box-shadow:0 18px 35px rgba(49,95,117,.18)}
.photo:nth-child(2),.photo:nth-child(5){transform:rotate(1.2deg)}
.photo:nth-child(3),.photo:nth-child(6){transform:rotate(-1deg)}
.photo figcaption{background:var(--coral);border-radius:999px;font-weight:700}
.marbella-moment{background:linear-gradient(130deg,#315f75,#397f88)}
.pose-feature img{object-fit:contain;background:linear-gradient(145deg,#45d8c7 0%,#397188 55%,#e85d4a 100%);padding:2rem 2rem 0}
.event-section{background:linear-gradient(120deg,#e6fbf8,#f7f5ef 60%)}
.event-list>div{border-color:#e85d4a}.event-list h3{color:#315f75}
.service-chooser{background:linear-gradient(145deg,#f7f5ef 0%,#e7f8f5 100%)}
.service-heading{display:grid;grid-template-columns:.75fr 1.35fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}
.service-heading h2{font-family:var(--font-display);font-size:clamp(3.4rem,7vw,7rem);font-weight:500;line-height:.94;letter-spacing:-.035em}
.service-heading>p:last-child{font-size:1.08rem;max-width:34ch}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.service-card{min-height:330px;padding:2rem;display:flex;flex-direction:column;border-radius:0 38px 0 38px;box-shadow:0 18px 38px rgba(49,95,117,.14)}
.service-card>span{font-weight:700;font-size:.8rem;letter-spacing:.12em}
.service-card h3{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4.5rem);font-weight:500;line-height:.95;margin:auto 0 1rem}
.service-card p{font-size:1.05rem;max-width:45ch;margin:0 0 1.5rem}
.service-card a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid currentColor;font-weight:700}
.service-card a b{font-size:1.25rem}
.service-card.group{background:#315f75;color:#fff}.service-card.private{background:#45d8c7;color:#234f63}.service-card.wedding{background:#e85d4a;color:#fff}.service-card.events{background:#fff;color:#315f75}
.about{background:linear-gradient(180deg,var(--paper),#edf4f3)}
.about-photo-pair img{border:7px solid #fff;box-shadow:0 16px 32px rgba(49,95,117,.17)}
.about-photo-pair img:first-child{transform:rotate(-1.5deg)}.about-photo-pair img:last-child{transform:rotate(1.5deg)}
.about-photo-single{grid-template-columns:1fr}.about-photo-single img{width:82%;justify-self:center;transform:rotate(1.5deg)!important}
.final-cta{background:linear-gradient(130deg,#e85d4a 0%,#d84b55 45%,#397188 100%)}
.final-cta .eyebrow{color:#8cf1e5}.final-cta .white{color:#315f75;border-radius:999px}
.floating-whatsapp{background:#20bd68}
.testimonials{padding:8rem 5vw;background:linear-gradient(145deg,#315f75 0%,#397f88 58%,#45b8ad 100%);color:#fff;overflow:hidden}.testimonials-heading{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}.testimonials-heading h2{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,7rem);font-weight:500;line-height:.9;letter-spacing:-.035em}.testimonials-heading>p:last-child{font-size:1.08rem;max-width:34ch}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.testimonial-grid blockquote{margin:0;padding:1.8rem;background:rgba(255,255,255,.96);color:#315f75;min-height:275px;display:flex;flex-direction:column;border-radius:18px;box-shadow:0 18px 38px rgba(17,44,55,.18)}.testimonial-grid blockquote:nth-child(3n+2){transform:translateY(1.2rem)}.testimonial-grid blockquote>span{font-family:var(--font-display);font-size:4rem;line-height:.7;color:#e85d4a}.testimonial-grid blockquote p{font-family:var(--font-display);font-size:1.55rem;line-height:1.18;margin:1.25rem 0 2rem}.testimonial-grid blockquote footer{margin-top:auto;padding:0;display:block;background:none;color:#397188;font-family:var(--font-body);font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.testimonial-grid .featured{background:#ff7a5c;color:#fff}.testimonial-grid .featured>span,.testimonial-grid .featured footer{color:#fff}
@media(max-width:900px){.service-heading{grid-template-columns:1fr;gap:1rem}.testimonials-heading{grid-template-columns:1fr;gap:1rem}.testimonial-grid{grid-template-columns:repeat(2,1fr)}.testimonial-grid blockquote:nth-child(3n+2){transform:none}}
@media(max-width:600px){.hero-image{box-shadow:9px 9px 0 var(--yellow);border-width:5px}.photo{transform:none!important;border-width:5px}.class-card{border-radius:0 30px 0 30px}.about-photo-single img{width:100%}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card{min-height:300px;border-radius:0 30px 0 30px}.service-heading h2{font-size:3.7rem}.testimonials{padding:5rem 6vw}.testimonials-heading h2{font-size:3.7rem}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid blockquote{min-height:0}}
