@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--navy:#071c30;--navy2:#102c45;--gold:#f5b91b;--cream:#faf8f2;--ink:#122235;--muted:#5d6873}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:30;background:rgba(250,248,242,.97);backdrop-filter:blur(12px);border-bottom:1px solid #e7e3d8}.nav{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:190px;max-height:66px;object-fit:contain;object-position:left}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav nav a:hover,.text-link:hover{color:#ba8200}.nav-cta{background:var(--gold);padding:10px 19px;border-radius:5px}.menu-toggle{display:none;background:none;border:0;font-size:26px;color:var(--navy)}.hero{background:var(--navy);color:white;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 35%,#214766 0,transparent 42%);pointer-events:none}.hero-grid{min-height:615px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;position:relative;padding-top:75px;padding-bottom:75px}.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:2.5px;color:#b47e00}.eyebrow{color:var(--gold)}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.12;letter-spacing:-1.4px;margin:20px 0}h1{font-size:clamp(48px,5.7vw,80px)}h1 em,h2 span{color:var(--gold);font-style:italic}.hero p{color:#d5dfe7;max-width:540px;font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;border-radius:5px;font-weight:800;font-size:14px;border:2px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--gold);color:var(--navy)}.outline{border-color:#8294a3;color:white}.hero-facts{display:flex;gap:25px;flex-wrap:wrap;margin-top:56px;color:#cbd5df;font-size:12px}.hero-facts strong{display:block;color:white;font-size:21px}.hero-art{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}.hero-circle{width:min(390px,100%);aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:240px;background:radial-gradient(circle,#1a3d5a,var(--navy));box-shadow:0 0 0 22px #f5b91b10,0 0 0 46px #f5b91b07;transform:rotate(-12deg)}.hero-quote{position:absolute;bottom:12px;left:0;right:0;text-align:center;background:var(--gold);color:var(--navy);font-size:13px;letter-spacing:1.5px;font-weight:900;padding:15px;transform:rotate(-3deg)}.hero-quote b{padding:0 8px}.floating-note{position:absolute;color:var(--gold);font-size:58px}.note-one{top:0;right:0}.note-two{bottom:40px;left:10px}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.section h2{font-size:clamp(38px,4vw,56px);margin-top:15px}.about p{font-size:17px;color:var(--muted)}.text-link{color:#9a6900;font-size:14px;font-weight:800}.courses{background:#f0eee7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading p{max-width:330px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:white;border:1px solid #e6e0d5;border-radius:10px;padding:29px;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #071c3017}.course-number{font-size:12px;color:#87919b;font-weight:800}.course-icon{font-size:44px;margin:18px 0}.course-card h3{font-size:22px;margin:0}.course-card p{color:var(--muted);min-height:54px;margin:8px 0 20px}.schedule{background:var(--navy);color:white}.schedule .section-heading p{color:#c4d1db}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px}.filter{border:1px solid #587088;background:transparent;color:white;border-radius:30px;padding:10px 18px;font-size:13px}.filter.active{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:800}.schedule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:20px}.schedule-card{background:white;color:var(--navy);border-radius:10px;overflow:hidden}.schedule-head{padding:20px 24px;background:var(--gold)}.schedule-head span{font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:900}.schedule-head h3{font-size:23px;margin:2px 0 0}.schedule-row{padding:17px 24px;display:grid;grid-template-columns:130px 1fr;gap:16px;border-bottom:1px solid #e9e6df;font-size:14px}.schedule-row:last-child{border-bottom:0}.schedule-row time{font-weight:800;color:#536579}.schedule-note{color:#bdcad6;font-size:12px;margin:10px 0 24px}.history{background:var(--cream)}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.milestones article{border-top:3px solid var(--gold);background:white;padding:24px;border-radius:3px}.milestones article span{color:#b68000;font-weight:900}.milestones h3{line-height:1.3;margin:13px 0}.milestones p{color:var(--muted);font-size:14px}.bomun{background:var(--gold);text-align:center}.bomun .section-kicker{color:#6e4b00}.bomun h2 span{color:var(--navy)}.bomun-inner{max-width:770px}.bomun p{font-size:18px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact p{color:var(--muted);font-size:17px}.contact-details{margin-top:30px}.contact-details p{font-size:15px;color:var(--ink)}.contact-form{background:white;border:1px solid #e8e3d9;border-radius:12px;padding:30px;display:flex;flex-direction:column;gap:9px;box-shadow:0 15px 45px #071c300a}.contact-form label{font-size:13px;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cfd4d7;border-radius:5px;padding:12px;margin-bottom:8px;background:white;color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}.contact-form small{color:var(--muted);font-size:11px}footer{background:var(--navy);color:white;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-inner strong{font-family:Georgia,serif;font-size:28px}.footer-inner p,.footer-inner small{color:#c1ced7;font-size:12px;margin:2px}.whatsapp{position:fixed;bottom:22px;right:22px;z-index:40;background:#21bd63;color:white;border-radius:50px;padding:13px 20px;font-weight:800;box-shadow:0 8px 28px #0004}.whatsapp:hover{background:#139d4e}@media(max-width:850px){.nav nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:stretch;box-shadow:0 12px 20px #0002}.nav nav.open{display:flex}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr;padding-top:60px}.hero-art{min-height:330px}.hero-circle{width:280px;font-size:170px}.split,.contact-grid{grid-template-columns:1fr;gap:25px}.course-grid,.milestones{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section{padding:75px 0}}@media(max-width:580px){.container{width:min(100% - 30px,1160px)}.brand img{width:160px}.hero-grid{gap:5px}.hero-facts{gap:15px;margin-top:35px}.hero-art{min-height:310px}.hero-circle{width:235px;font-size:145px}.hero-quote{font-size:10px}.course-grid,.schedule-grid,.milestones{grid-template-columns:1fr}.course-card{padding:23px}.section{padding:62px 0}.schedule-row{grid-template-columns:120px 1fr;padding:14px;font-size:12px}.contact-form{padding:22px}.whatsapp span{display:none}.whatsapp{width:54px;height:54px;display:grid;place-items:center;font-size:23px;padding:0}.footer-inner{display:block}.footer-inner>*{margin-bottom:10px}}

/* V2: banner paisajístico con textos HTML editables */
.header{background:#fff}.hero-v2{background:#071c30 url('../assets/images/banner-paisaje.webp') center 43%/cover no-repeat;isolation:isolate}.hero-v2:before{display:none}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,23,40,.94) 0%,rgba(4,23,40,.82) 38%,rgba(4,23,40,.32) 74%,rgba(4,23,40,.12) 100%)}.hero-v2-content{min-height:600px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;padding-top:85px;padding-bottom:85px}.hero-v2 h1{max-width:710px;text-shadow:0 3px 20px #0018}.hero-v2 p{max-width:580px;color:#fff;text-shadow:0 2px 12px #001a}.hero-v2 .hero-facts{margin-top:48px}.instrument-strip{background:var(--navy);color:white;text-align:center;padding:17px 0;font-size:13px;font-weight:700;line-height:2}.instrument-strip span{color:var(--gold);padding:0 8px}.gallery{background:#f0eee7}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery figure{margin:0;background:white;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #071c3012}.gallery img{width:100%;height:340px;object-fit:cover;object-position:top;display:block;transition:transform .25s}.gallery a:hover img{transform:scale(1.025)}.gallery figcaption{padding:14px 18px;font-weight:700;font-size:13px}.gallery-note{font-size:13px;color:var(--muted)}.contact-details a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}@media(max-width:850px){.hero-v2-content{min-height:540px}.hero-shade{background:linear-gradient(90deg,rgba(4,23,40,.92),rgba(4,23,40,.58))}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.hero-v2{background-position:65% center}.hero-v2-content{min-height:560px;padding-top:62px;padding-bottom:62px}.hero-v2 h1{font-size:clamp(40px,11vw,58px)}.hero-shade{background:linear-gradient(90deg,rgba(4,23,40,.94),rgba(4,23,40,.67))}.hero-v2 .hero-facts{margin-top:35px}.gallery-grid{grid-template-columns:1fr}.gallery img{height:360px}.instrument-strip{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-card,.btn,.gallery img{transition:none}}

/* V3: fotografía panorámica proporcionada por la escuela, sin letras incrustadas.
   El ancho completo tiene prioridad sobre el recorte; la tipografía sigue siendo HTML. */
.hero-v2 {
  background-image: url('../assets/images/banner-paisaje.webp');
  background-color: #071c30;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
}
.hero-v2-content { min-height: clamp(590px, 44.4vw, 790px); }
.hero-shade { background: linear-gradient(90deg,rgba(4,23,40,.87) 0%,rgba(4,23,40,.69) 37%,rgba(4,23,40,.18) 68%,rgba(4,23,40,.04) 100%); }
@media (max-width: 850px) {
  .hero-v2 { background-size: cover; background-position: 63% center; }
  .hero-v2-content { min-height: 570px; }
  .hero-shade { background: linear-gradient(90deg,rgba(4,23,40,.9),rgba(4,23,40,.35)); }
}
@media (max-width: 580px) {
  .hero-v2 { background-position: 58% center; }
  .hero-v2-content { min-height: 570px; }
  .hero-shade { background: linear-gradient(90deg,rgba(4,23,40,.92),rgba(4,23,40,.58)); }
}

/* V4: eliminar la franja azul superior: el fondo cubre todo el hero desde el encabezado. */
.hero.hero-v2 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (min-width: 851px) {
  .hero.hero-v2 { background-position: center center; }
}
@media (max-width: 850px) {
  .hero.hero-v2 { background-size: cover; background-position: 63% center; }
}
@media (max-width: 580px) {
  .hero.hero-v2 { background-position: 58% center; }
}

/* V5: ancho panorámico 100%, altura natural, sin recortes ni deformación. */
.hero.hero-v2 {
  position: relative;
  display: block;
  height: auto;
  min-height: 0;
  background: none;
  overflow: hidden;
  isolation: isolate;
}
.hero.hero-v2::before { display: none; }
.hero-landscape {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
.hero.hero-v2 .hero-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg,rgba(4,23,40,.83) 0%,rgba(4,23,40,.66) 35%,rgba(4,23,40,.13) 70%,transparent 100%);
}
.hero.hero-v2 .hero-v2-content {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: 0;
  height: 100%;
  padding-top: clamp(16px,2.8vw,46px);
  padding-bottom: clamp(16px,2.8vw,46px);
  justify-content: center;
}
.hero.hero-v2 h1 { font-size: clamp(34px,4.9vw,78px); max-width: 710px; margin: 12px 0 18px; }
.hero.hero-v2 p { font-size: clamp(13px,1.2vw,18px); margin: 10px 0; }
.hero.hero-v2 .actions { margin-top: clamp(12px,2vw,28px); }
.hero.hero-v2 .hero-facts { margin-top: clamp(10px,2vw,30px); }
@media (max-width: 1100px) {
  .hero.hero-v2 h1 { font-size: clamp(32px,5.1vw,58px); max-width: 58%; }
  .hero.hero-v2 p { max-width: 56%; }
  .hero.hero-v2 .hero-facts { display: none; }
  .hero.hero-v2 .btn { padding: 9px 13px; font-size: 12px; }
}
@media (max-width: 700px) {
  /* En móviles, mostrar primero la imagen completa y después el texto, sin recortar. */
  .hero.hero-v2 .hero-shade { display: none; }
  .hero.hero-v2 .hero-v2-content {
    position: relative; inset: auto; height: auto; min-height: 0;
    width: 100%; padding: 28px 20px 34px; background: #071c30;
  }
  .hero.hero-v2 h1 { font-size: clamp(36px,8.5vw,52px); max-width: 100%; }
  .hero.hero-v2 p { max-width: 100%; font-size: 15px; }
  .hero.hero-v2 .hero-facts { display: flex; }
}
