
:root{--red:#c8131c;--red2:#9e0e15;--ink:#151515;--muted:#626262;--line:#e4e4e4;--soft:#f6f6f4;--white:#fff;--char:#191919}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:15px/1.58 Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit}.container{width:min(1440px,94%);margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:255px}.logo-mark{width:44px;height:44px;position:relative;flex:0 0 auto}.logo-mark:before,.logo-mark:after{content:"";position:absolute;width:16px;height:41px;top:2px;background:linear-gradient(#e32732,#a70810);border-radius:55% 45% 55% 45%}.logo-mark:before{left:9px;transform:rotate(35deg)}.logo-mark:after{right:9px;transform:rotate(-35deg)}.logo-name{font-size:20px;line-height:.95;font-weight:800}.logo-name span{display:block;color:var(--red)}.logo-sub{font-size:9px;letter-spacing:.15em;color:#777;margin-top:5px}.nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}.nav a{text-decoration:none;text-transform:uppercase;font-size:10.5px;font-weight:800;white-space:nowrap}.nav a.active,.nav a:hover{color:var(--red)}
.hero{padding:28px 0 18px}.hero-frame{display:grid;grid-template-columns:380px 1fr;min-height:390px;background:var(--soft);overflow:hidden}.hero-copy{padding:42px;display:flex;flex-direction:column;justify-content:center;min-width:0}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:800;margin-bottom:12px}.hero h1{font:500 clamp(42px,4.3vw,64px)/.98 Georgia,serif;letter-spacing:-.035em;margin:0 0 14px}.rule{width:42px;height:4px;background:var(--red);margin:5px 0 18px}.hero p{font-size:16px;color:#454545;max-width:500px;margin:0 0 22px}.hero-img{min-height:390px;background:center/cover no-repeat}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--red);border:1px solid var(--red);color:#fff!important;text-decoration:none;font-size:12px;font-weight:800;width:max-content}.btn:hover{background:var(--red2)}.btn.outline{background:#fff;color:var(--red)!important}
.section{padding:48px 0}.section.alt{background:#fafafa}.section.dark{background:var(--char);color:#fff}.section-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.section-title h2{font-size:30px;line-height:1.1;margin:0}.section-title p{max-width:650px;margin:0;color:var(--muted)}.section.dark .section-title p{color:#ccc}.redline{width:38px;height:3px;background:var(--red);margin:9px 0 18px}
.home-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.home-card{position:relative;min-height:315px;overflow:hidden;background:#111;text-decoration:none}.home-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.93),rgba(0,0,0,.05) 70%)}.home-card-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff}.label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#ff737a;font-weight:800}.home-card h3{font-size:18px;line-height:1.08;text-transform:uppercase;margin:7px 0}.home-card p{font-size:12px;line-height:1.4;margin:0 0 10px}.link-arrow{font-weight:800;font-size:12px}
.feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.feature{border-top:3px solid var(--red);padding:18px 0}.feature h3{font-size:19px;margin:0 0 7px}.feature p{font-size:13px;color:#555;margin:0}
.story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px}.story-lead{font:28px/1.3 Georgia,serif}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.timeline article{border-top:3px solid var(--red);padding-top:12px}.timeline h3{font-size:16px;margin:0 0 6px}.timeline p{font-size:13px;color:#555;margin:0}
.media-band{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.media-band img{width:100%;height:360px;object-fit:cover}.media-copy{background:#a80f17;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:center}.media-copy h2{font:34px/1.1 Georgia,serif;margin:0 0 12px}.media-copy p{color:#fff}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.info-box{padding:19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.info-box strong{display:block;color:var(--red);font-size:11px;text-transform:uppercase;margin-bottom:4px}.info-box a{font-size:16px;font-weight:800;text-decoration:none}
.price-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.price-card{background:linear-gradient(135deg,#a40d15,#d11621);color:#fff;padding:30px}.price-card .price{font-size:54px;font-weight:900;line-height:1}.price-card .price span{font-size:18px;font-weight:500}.price-card h3{margin:12px 0 8px;font-size:22px}.price-card p{color:#fff;margin:0 0 17px}.mini-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-benefit{border:1px solid var(--line);padding:18px;background:#fff}.mini-benefit strong{display:block;color:var(--red);font-size:20px}
.schedule{width:100%;border-collapse:collapse;background:#fff}.schedule th,.schedule td{padding:14px 15px;border-bottom:1px solid var(--line);text-align:left}.schedule th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#777;background:#fafafa}.schedule tr:hover td{background:#fff7f7}
.teacher{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center}.teacher img{width:260px;height:320px;object-fit:cover}.teacher h2{font-size:31px;margin:0 0 8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{width:100%;height:240px;object-fit:cover}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{position:relative;padding:22px 20px 20px;border-top:4px solid var(--red);background:#fff}.step .num{font-size:11px;color:var(--red);font-weight:900;letter-spacing:.12em}.step h3{font-size:20px;margin:7px 0}.step p{font-size:13px;color:#555;margin:0}.construction-price{display:grid;grid-template-columns:1fr 1fr;gap:16px}.construction-price article{padding:28px;background:#111;color:#fff}.construction-price article:last-child{background:var(--red)}.construction-price .big{font-size:44px;font-weight:900}.construction-price p{color:#eee}.construction-price article:last-child p{color:#fff}
.paint-hours{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.hours-card{background:var(--red);color:#fff;padding:28px}.hours-card h2{font-size:30px;margin:0 0 10px}.hours-card .hours{font-size:25px;font-weight:800;line-height:1.25}.hours-card p{color:#fff}.paint-feature{padding:22px;border-top:3px solid var(--red)}.paint-feature h3{margin:0 0 7px}.paint-feature p{font-size:13px;color:#555;margin:0}
.workshop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.workshop-card{display:grid;grid-template-columns:190px 1fr;border:1px solid var(--line);background:#fff;overflow:hidden}.workshop-card img{width:190px;height:100%;min-height:220px;object-fit:cover}.workshop-card .body{padding:20px}.workshop-card h3{font-size:19px;margin:0 0 7px}.workshop-card p{font-size:13px;color:#555}.hire{background:#111;color:#fff;padding:30px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center}.hire h2{font:32px/1.1 Georgia,serif;margin:0 0 10px}.hire p{color:#ddd;margin:0}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-card{background:#fff;border:1px solid var(--line);overflow:hidden;text-decoration:none}.video-thumb{height:190px;background:#1a1a1a center/cover no-repeat;position:relative}.video-thumb:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(200,19,28,.94);color:#fff;font-size:22px;padding-left:3px}.video-card .body{padding:14px}.video-card h3{font-size:14px;margin:0 0 4px}.video-card small{color:#777}
.events-top{display:grid;grid-template-columns:1fr 1fr;gap:18px}.event-block{border:1px solid var(--line);padding:20px}.event{display:grid;grid-template-columns:62px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.date{border:1px solid #df8f94;color:var(--red);padding:8px 4px;text-align:center}.date strong{display:block;font-size:21px;line-height:1}.date span{font-size:9px;text-transform:uppercase}.event h3{font-size:14px;margin:0 0 3px}.event p{font-size:11px;color:#666;margin:0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.news-card{border:1px solid var(--line);background:#fff;overflow:hidden}.news-card img{width:100%;height:185px;object-fit:cover}.news-card .body{padding:16px}.meta{font-size:9px;color:var(--red);text-transform:uppercase;font-weight:800}.news-card h3{font-size:17px;margin:6px 0}.news-card p{font-size:12.5px;color:#555}
.archive{border-top:1px solid var(--line)}.archive-row{display:grid;grid-template-columns:105px 1fr 150px;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.archive-row a{text-decoration:none;font-weight:800}.archive-row time,.archive-row small{font-size:10px;color:#777}.archive-row .cat{text-align:right}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.contact-cards{display:grid;gap:10px}.contact-card{padding:20px;border:1px solid var(--line)}.contact-card strong{display:block;color:var(--red);font-size:11px;text-transform:uppercase;margin-bottom:5px}.contact-card a{font-size:18px;font-weight:800;text-decoration:none}.form{background:#fafafa;padding:26px;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #ccc;background:#fff;font:inherit}.field textarea{min-height:130px;resize:vertical}.privacy{font-size:12px;color:#555}.success{display:none;margin-top:12px;padding:12px;background:#ecf7ed;border:1px solid #bcd9bf;color:#24582b}
.footer{background:#191919;color:#ddd;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:25px;padding:35px 0}.footer h3{color:#fff;font-size:13px;text-transform:uppercase}.footer a{color:#ddd;text-decoration:none}.footer p{font-size:12px}.copyright{border-top:1px solid #333;padding:12px 0 20px;font-size:10px;color:#999;display:flex;justify-content:space-between}
@media(max-width:1100px){.nav{gap:12px}.hero-frame{grid-template-columns:330px 1fr}.home-cards{grid-template-columns:repeat(3,1fr)}.video-grid,.news-grid{grid-template-columns:1fr 1fr}.workshop-card{grid-template-columns:150px 1fr}.workshop-card img{width:150px}}
@media(max-width:820px){.nav{display:none}.header-inner{padding:13px 0}.hero-frame,.story-grid,.media-band,.price-hero,.paint-hours,.hire,.contact-grid{grid-template-columns:1fr}.hero-img{order:-1;min-height:280px}.hero-copy{padding:30px}.home-cards,.feature-grid,.process,.gallery,.timeline,.info-strip{grid-template-columns:1fr 1fr}.teacher{grid-template-columns:150px 1fr}.teacher img{width:150px;height:220px}.workshop-grid,.events-top{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.home-cards,.feature-grid,.process,.gallery,.timeline,.info-strip,.video-grid,.news-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.construction-price{grid-template-columns:1fr}.teacher{grid-template-columns:1fr}.teacher img{width:100%;height:330px}.workshop-card{grid-template-columns:1fr}.workshop-card img{width:100%;height:230px}.archive-row{grid-template-columns:1fr}.archive-row .cat{text-align:left}.copyright{flex-direction:column}}


/* =========================================================
   V3 · MEJORA GLOBAL MÓVIL
   Menú visible + tipografía más legible + mejor espaciado
   ========================================================= */

.mobile-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  border-radius:2px;
  padding:0;
  flex:0 0 auto;
}
.mobile-menu-toggle span{
  display:block;
  width:23px;
  height:2px;
  background:currentColor;
  transition:.2s ease;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}
body.mobile-menu-open{overflow:hidden}

/* Previene textos demasiado pequeños en Safari/iPhone */
@media(max-width:820px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:18px;line-height:1.62}
  .container{width:min(100% - 34px, 1440px)}

  .site-header{position:sticky;top:0}
  .header-inner{
    min-height:88px;
    padding:10px 0;
    gap:12px;
  }
  .logo{
    min-width:0;
    gap:10px;
    flex:1 1 auto;
  }
  .logo-mark{width:46px;height:46px}
  .logo-name{font-size:19px;line-height:1}
  .logo-sub{font-size:10px;letter-spacing:.12em}
  .mobile-menu-toggle{display:inline-flex}

  .site-header .nav{
    display:none;
    position:fixed;
    z-index:1000;
    top:88px;
    left:0;
    right:0;
    bottom:0;
    background:#fff;
    padding:22px 24px 40px;
    overflow-y:auto;
    align-content:start;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    border-top:1px solid var(--line);
  }
  .site-header .nav.is-open{display:flex}
  .site-header .nav a{
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #ece8e4;
    font-size:17px;
    line-height:1.2;
    text-transform:none;
    letter-spacing:0;
    padding:0 4px;
  }
  .site-header .nav a:after{
    content:"→";
    color:var(--red);
    font-size:20px;
  }
  .site-header .nav a.active{
    color:var(--red);
    font-weight:900;
  }

  .hero{padding:18px 0 12px}
  .hero-frame{
    grid-template-columns:1fr;
    min-height:0;
    overflow:visible;
  }
  .hero-img{
    order:-1;
    min-height:0;
    height:auto;
    aspect-ratio:4/3;
    background-size:cover;
    background-position:center;
  }
  .hero-copy{padding:30px 24px 34px}
  .eyebrow{
    font-size:12px;
    line-height:1.4;
    letter-spacing:.18em;
    margin-bottom:13px;
  }
  .hero h1{
    font-size:clamp(44px,13vw,64px);
    line-height:.98;
    margin-bottom:18px;
  }
  .hero p{
    font-size:19px;
    line-height:1.58;
    max-width:none;
    margin-bottom:24px;
  }
  .btn{
    min-height:50px;
    padding:0 20px;
    font-size:15px;
  }

  .section{padding:42px 0}
  .section-title{
    display:block;
    margin-bottom:24px;
  }
  .section-title h2{font-size:34px;line-height:1.08}
  .section-title p{
    margin-top:15px;
    font-size:18px;
    line-height:1.58;
    max-width:none;
  }
  .redline{width:48px;height:4px;margin:12px 0 20px}

  .story-grid{grid-template-columns:1fr;gap:28px}
  .story-lead{
    font-size:29px;
    line-height:1.28;
  }
  .story-grid h2{font-size:34px;line-height:1.1}
  .story-grid p{
    font-size:18px;
    line-height:1.62;
  }
  .timeline{
    grid-template-columns:1fr;
    gap:0;
  }
  .timeline article{padding:18px 0;border-top:3px solid var(--red)}
  .timeline h3{font-size:24px;line-height:1.2}
  .timeline p{font-size:18px;line-height:1.55}

  .home-cards{grid-template-columns:1fr 1fr;gap:12px}
  .home-card{min-height:300px}
  .home-card h3{font-size:22px}
  .home-card p{font-size:16px}
  .label{font-size:11px}
  .link-arrow{font-size:15px}

  .feature-grid{grid-template-columns:1fr}
  .feature{padding:22px 0}
  .feature h3{font-size:24px}
  .feature p{font-size:18px;line-height:1.55}

  .info-strip{grid-template-columns:1fr}
  .info-box{padding:21px}
  .info-box strong{font-size:13px}
  .info-box a,.info-box span{font-size:19px}

  .price-hero,.paint-hours,.hire,.contact-grid,.media-band{grid-template-columns:1fr}
  .price-card,.hours-card,.media-copy,.hire,.form{padding:27px 22px}
  .price-card .price{font-size:52px}
  .price-card h3{font-size:25px}
  .price-card p,.hours-card p,.media-copy p,.hire p{font-size:18px;line-height:1.58}

  .process{grid-template-columns:1fr}
  .step{padding:24px 20px}
  .step .num{font-size:13px}
  .step h3{font-size:25px}
  .step p{font-size:18px;line-height:1.58}

  .teacher{grid-template-columns:1fr;gap:22px}
  .teacher img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover}
  .teacher h2{font-size:35px}
  .teacher p{font-size:18px;line-height:1.6}

  .gallery{grid-template-columns:1fr}
  .gallery img{height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}

  .workshop-grid{grid-template-columns:1fr}
  .workshop-card{
    grid-template-columns:1fr;
  }
  .workshop-card img{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .workshop-card .body{padding:22px}
  .workshop-card h3{font-size:25px}
  .workshop-card p{font-size:18px;line-height:1.58}

  .video-grid,.news-grid,.events-top{grid-template-columns:1fr}
  .video-thumb{height:auto;aspect-ratio:16/9}
  .video-card .body{padding:18px}
  .video-card h3{font-size:20px;line-height:1.3}
  .video-card small{font-size:15px}

  .news-card img{height:auto;aspect-ratio:16/10}
  .news-card .body{padding:19px}
  .meta{font-size:12px}
  .news-card h3{font-size:23px;line-height:1.25}
  .news-card p{font-size:17px;line-height:1.55}

  .event{grid-template-columns:70px 1fr;gap:16px}
  .event h3{font-size:20px}
  .event p{font-size:16px;line-height:1.45}
  .date strong{font-size:24px}
  .date span{font-size:11px}

  .archive-row{grid-template-columns:1fr;gap:5px;padding:17px 0}
  .archive-row a{font-size:18px;line-height:1.35}
  .archive-row time,.archive-row small{font-size:14px}
  .archive-row .cat{text-align:left}

  .contact-cards{gap:12px}
  .contact-card{padding:22px}
  .contact-card strong{font-size:13px}
  .contact-card a{font-size:21px}

  .form-grid{grid-template-columns:1fr}
  .field label{font-size:13px}
  .field input,.field select,.field textarea{
    font-size:17px;
    min-height:50px;
    padding:13px;
  }
  .privacy{font-size:15px;line-height:1.5}

  .schedule{
    min-width:720px;
  }
  .schedule th{font-size:12px}
  .schedule td{font-size:17px;line-height:1.45}

  .footer-grid{grid-template-columns:1fr;gap:18px;padding:30px 0}
  .footer h3{font-size:15px}
  .footer p,.footer a{font-size:16px;line-height:1.5}
  .copyright{font-size:13px;gap:7px}

  /* cualquier texto principal suelto dentro de secciones */
  main p{font-size:18px;line-height:1.62}
}

@media(max-width:560px){
  .container{width:min(100% - 30px, 1440px)}
  .header-inner{min-height:82px}
  .site-header .nav{top:82px}
  .logo-name{font-size:18px}
  .logo-sub{font-size:9px}
  .home-cards{grid-template-columns:1fr}
  .home-card{min-height:330px}
  .hero-copy{padding:28px 20px 32px}
  .hero p{font-size:18px}
  .story-lead{font-size:27px}
}

/* LANDING GUITARRA — menú y lectura móvil */
@media(max-width:900px){
  .top .nav{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:12px 18px !important;
  }
  .top .brand{
    font-size:17px !important;
    line-height:1.05 !important;
    max-width:245px;
  }
  .top .brand small{font-size:9px !important;margin-top:4px !important}
  .top .mobile-menu-toggle{display:inline-flex !important}
  .top .menu{
    display:none !important;
    position:fixed !important;
    z-index:1100 !important;
    top:82px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    background:#fff !important;
    padding:22px !important;
    overflow:auto !important;
    flex-direction:column !important;
    gap:0 !important;
  }
  .top .menu.is-open{display:flex !important}
  .top .menu a{
    display:flex !important;
    align-items:center !important;
    min-height:55px !important;
    border-bottom:1px solid #ece8e4 !important;
    font-size:17px !important;
    text-transform:none !important;
  }
  .landing-return-nav{
    font-size:14px !important;
    padding:9px 16px !important;
  }

  .hero-grid{grid-template-columns:1fr !important}
  .hero-photo{
    order:-1 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    background-position:center 24% !important;
  }
  .hero-copy{padding:32px 23px 36px !important}
  .hero-copy h1{
    font-size:clamp(48px,13vw,68px) !important;
    line-height:.94 !important;
  }
  .hero-copy .lead{font-size:19px !important;line-height:1.58 !important}
  .stats-grid,.levels,.awards,.price-points,.online-list,.book-points{
    grid-template-columns:1fr !important;
  }
  .stat strong{font-size:25px !important}
  .stat span{font-size:16px !important}
  .section-head{grid-template-columns:1fr !important;gap:16px !important}
  .section-head h2,.teacher-copy h2,.video-copy h2,.book-copy h2{
    font-size:38px !important;
    line-height:1.05 !important;
  }
  .section-head p,.level p,.practice-copy p,.video-copy p,.teacher-copy p,.online-copy p,.price-copy p,.book-copy p{
    font-size:18px !important;
    line-height:1.62 !important;
  }
  .level h3{font-size:24px !important}
  .practice,.video-sec,.teacher,.online,.price,.book-grid{
    grid-template-columns:1fr !important;
  }
  .practice-video,.video-box iframe{min-height:0 !important;aspect-ratio:16/9 !important}
  .practice-copy,.teacher-copy,.online-copy,.price-main,.price-copy,.book-copy{padding:27px 22px !important}
  .teacher-photo,.online-photo{min-height:420px !important}
  .schedule-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch}
  .schedule-wrap table{min-width:720px !important}
  .schedule-wrap th{font-size:12px !important}
  .schedule-wrap td{font-size:16px !important}
}

/* LANDING CONSTRUCCIÓN — menú y lectura móvil */
@media(max-width:900px){
  .lc-top .inner{
    min-height:82px !important;
    padding:10px 18px !important;
  }
  .lc-brand{font-size:17px !important}
  .lc-top .mobile-menu-toggle{display:inline-flex !important}
  .lc-top nav{
    display:none !important;
    position:fixed !important;
    z-index:1100 !important;
    top:82px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    background:#fff !important;
    padding:22px !important;
    overflow:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .lc-top nav.is-open{display:flex !important}
  .lc-top nav a{
    min-height:55px !important;
    display:flex !important;
    align-items:center !important;
    border-bottom:1px solid #ece8e4 !important;
    color:#171717 !important;
    font-size:17px !important;
    text-transform:none !important;
  }

  .heroC-grid{grid-template-columns:1fr !important}
  .heroC-photo{
    order:-1 !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    background-position:center 46% !important;
  }
  .heroC-copy{padding:32px 23px 36px !important}
  .heroC-copy h1{font-size:clamp(46px,12.5vw,66px) !important}
  .heroC-copy p{font-size:19px !important;line-height:1.58 !important}
  .factgrid,.stepsC,.timeline,.galleryC,.courseFacts{grid-template-columns:1fr !important}
  .factgrid div{border-right:0 !important;border-bottom:1px solid #e3ddd5 !important}
  .headC,.teacherC,.study,.woods,.videoGrid,.shellac,.priceC{grid-template-columns:1fr !important}
  .headC h2,.bioC h2,.study-copy h2,.shellac h2,.priceRight h2,.finalC h2{
    font-size:38px !important;
    line-height:1.05 !important;
  }
  .headC p,.stepC p,.bioC p,.study-copy p,.wood-card p,.videoInfo p,.shellac p,.priceRight p,.finalC p{
    font-size:18px !important;
    line-height:1.62 !important;
  }
  .stepC h3,.wood-card h3,.videoInfo h3{font-size:24px !important}
  .bioC,.study-copy,.shellac .copy,.priceLeft,.priceRight{padding:27px 22px !important}
  .teacherC img{min-height:0 !important;height:auto !important;aspect-ratio:4/5 !important;object-fit:cover !important}
  .wood-card{grid-template-columns:1fr !important}
  .wood-card img{min-height:0 !important;height:auto !important;aspect-ratio:4/3 !important;object-fit:contain !important}
  .videoFrame{aspect-ratio:16/9 !important}
  .galleryC figure{grid-column:auto !important;min-height:0 !important}
  .galleryC img{height:auto !important;aspect-ratio:4/3 !important;object-fit:cover !important}
}


/* =========================================================
   V4 · REVISIÓN MÓVIL FINAL
   Jerarquía tipográfica, botones, contacto y protección
   frente a reglas antiguas de las landings.
   ========================================================= */

@media(max-width:820px){

  /* Base legible en toda la web */
  body{
    font-size:18px !important;
    line-height:1.62 !important;
  }

  p,
  li,
  .body,
  .copy,
  .description,
  .intro,
  .text{
    font-size:18px;
    line-height:1.62;
  }

  /* Nada informativo importante por debajo de 15px */
  small,
  .meta,
  .date-label,
  .caption,
  .eyebrow,
  .label,
  .archive-row time,
  .archive-row small,
  .video-card small{
    font-size:15px !important;
    line-height:1.4 !important;
  }

  .eyebrow,
  .label{
    letter-spacing:.14em !important;
  }

  /* Títulos generales */
  h1{line-height:1.02}
  h2{line-height:1.08}
  h3{line-height:1.18}

  .section-title h2,
  .story-grid h2,
  .section-head h2,
  .headC h2{
    font-size:36px !important;
    line-height:1.08 !important;
  }

  .timeline h3,
  .feature h3,
  .workshop-card h3,
  .video-card h3,
  .news-card h3,
  .contact-card h3,
  .stepC h3,
  .wood-card h3,
  .videoInfo h3,
  .level h3{
    font-size:24px !important;
    line-height:1.2 !important;
  }

  /* Home: evitar que Safari tape botones */
  .hero-copy,
  .final,
  .finalC{
    padding-bottom:calc(38px + env(safe-area-inset-bottom)) !important;
  }

  .hero-actions,
  .actions,
  .heroC-actions{
    gap:12px !important;
  }

  .btn,
  .btnc,
  .cta{
    min-height:52px !important;
    padding:0 20px !important;
    font-size:16px !important;
    line-height:1.2 !important;
  }

  /* Asociación */
  .story-grid{
    gap:32px !important;
  }

  .story-lead{
    font-size:30px !important;
    line-height:1.24 !important;
  }

  .story-grid p,
  .timeline p{
    font-size:18px !important;
    line-height:1.62 !important;
  }

  .timeline article{
    padding:22px 0 !important;
  }

  /* Home cards */
  .home-card{
    min-height:340px !important;
  }

  .home-card h3{
    font-size:24px !important;
    line-height:1.15 !important;
  }

  .home-card p{
    font-size:17px !important;
    line-height:1.5 !important;
  }

  /* Guitarra y construcción: textos largos */
  .teacher p,
  .bioC p,
  .practice-copy p,
  .study-copy p,
  .video-copy p,
  .videoInfo p,
  .book-copy p,
  .online-copy p,
  .price-copy p,
  .priceRight p,
  .shellac p,
  .stepC p,
  .wood-card p{
    font-size:18px !important;
    line-height:1.62 !important;
  }

  /* Encadre de Tato: conservar cara y guitarra */
  .teacherC img,
  .teacherC img[src$="tato-portada-real.jpg"]{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
    object-position:58% 30% !important;
    min-height:0 !important;
  }

  /* Pintura y Talleres */
  .workshop-card .body,
  .teacher-copy,
  .bioC{
    padding:24px !important;
  }

  .workshop-card p,
  .teacher-copy p{
    font-size:18px !important;
    line-height:1.6 !important;
  }

  /* Vídeos */
  .video-card .body,
  .videoInfo{
    padding:20px !important;
  }

  .video-card h3,
  .videoInfo h3{
    font-size:22px !important;
  }

  /* Eventos: etiquetas y fechas antiguamente demasiado pequeñas */
  .event .date,
  .event time,
  .event small,
  .event .meta,
  .archive-row time,
  .archive-row small,
  .archive-row .cat{
    font-size:15px !important;
  }

  .event h3,
  .archive-row a{
    font-size:20px !important;
    line-height:1.3 !important;
  }

  .event p{
    font-size:17px !important;
    line-height:1.5 !important;
  }

  /* Contacto: tres teléfonos muy claros */
  .contact-cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .contact-card{
    padding:24px !important;
    border:1px solid #e3ddd5 !important;
  }

  .contact-card strong,
  .contact-card .eyebrow{
    font-size:15px !important;
  }

  .contact-card h3{
    font-size:24px !important;
    margin:8px 0 !important;
  }

  .contact-card a[href^="tel:"]{
    display:inline-flex !important;
    align-items:center !important;
    min-height:48px !important;
    font-size:24px !important;
    font-weight:800 !important;
    color:var(--red) !important;
    text-decoration:none !important;
  }

  /* Formularios */
  .field label{
    font-size:15px !important;
    line-height:1.35 !important;
  }

  .field input,
  .field select,
  .field textarea{
    font-size:18px !important;
    line-height:1.4 !important;
    min-height:52px !important;
  }

  .privacy{
    font-size:15px !important;
    line-height:1.5 !important;
  }

  /* Horarios: legibles y con scroll */
  .schedule-wrap,
  .table-scroll,
  .schedule-container{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .schedule,
  .schedule-wrap table{
    min-width:760px !important;
  }

  .schedule th,
  .schedule-wrap th{
    font-size:14px !important;
    line-height:1.3 !important;
  }

  .schedule td,
  .schedule-wrap td{
    font-size:17px !important;
    line-height:1.45 !important;
    padding:16px 14px !important;
  }

  /* Footer */
  .footer p,
  .footer a{
    font-size:16px !important;
    line-height:1.55 !important;
  }

  /* Seguridad contra reglas de landing antiguas */
  .top .brand,
  .lc-brand{
    max-width:calc(100% - 64px) !important;
  }

  .top .mobile-menu-toggle,
  .lc-top .mobile-menu-toggle,
  .site-header .mobile-menu-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:1200 !important;
  }

  .top .menu.is-open,
  .lc-top nav.is-open,
  .site-header .nav.is-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  /* Evitar que titulares de landing vuelvan a cortarse */
  .hero-copy h1,
  .heroC-copy h1{
    max-width:100% !important;
    overflow:visible !important;
    white-space:normal !important;
    word-break:normal !important;
  }

  .hero-copy,
  .heroC-copy{
    overflow:visible !important;
    min-width:0 !important;
  }
}

@media(max-width:560px){
  body{font-size:18px !important}
  .container{width:min(100% - 28px, 1440px) !important}

  .site-header .nav a,
  .top .menu a,
  .lc-top nav a{
    font-size:18px !important;
    min-height:58px !important;
  }

  .hero h1,
  .hero-copy h1{
    font-size:clamp(46px,14vw,60px) !important;
  }

  .heroC-copy h1{
    font-size:clamp(44px,13vw,58px) !important;
  }

  .section-title h2,
  .story-grid h2,
  .section-head h2,
  .headC h2{
    font-size:34px !important;
  }

  .story-lead{
    font-size:28px !important;
  }

  .contact-card a[href^="tel:"]{
    font-size:23px !important;
  }
}

.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{margin:0 0 20px;padding:15px 17px;border:1px solid;font-size:16px;line-height:1.45}
.form-status.success{background:#eef8ef;color:#1d5d26;border-color:#b9dcbc}
.form-status.error{background:#fff0f0;color:#8e1515;border-color:#e4b1b1}
@media(max-width:820px){.form-status{font-size:17px!important;padding:16px!important}}

/* =========================================================
   V6 · REVISIÓN GLOBAL DE TAMAÑOS
   Menú, títulos, textos, tarjetas y footer más grandes.
   ========================================================= */
body{font-size:18px!important;line-height:1.66!important}
p,li{font-size:18px!important;line-height:1.66!important}

/* MENÚ Y LOGO */
.site-header .nav{gap:20px!important}
.site-header .nav a,.top .menu a,.lc-top nav a{
  font-size:13.5px!important;
  line-height:1.2!important;
  letter-spacing:.015em!important;
  font-weight:800!important
}
.header-inner,.top .nav,.lc-top .inner{min-height:96px!important}
.logo-name,.top .brand,.lc-brand{font-size:23px!important}
.logo-sub,.top .brand small{font-size:11px!important}

/* TITULARES */
.hero h1,.hero-copy h1,.heroC-copy h1{
  font-size:clamp(58px,5.4vw,84px)!important;
  line-height:.97!important
}
.section-title h2,.story-grid h2,.section-head h2,.headC h2,.bioC h2,.teacher-copy h2,.video-copy h2,.study-copy h2,.finalC h2,
.hours-card h2,.hire h2,.priceRight h2{
  font-size:42px!important;
  line-height:1.08!important
}
.timeline h3,.feature h3,.workshop-card h3,.video-card h3,.news-card h3,.contact-card h3,.stepC h3,.wood-card h3,.videoInfo h3,.level h3,.step h3,.paint-feature h3{
  font-size:24px!important;
  line-height:1.2!important
}

/* PÁRRAFOS PRINCIPALES */
.hero p,.hero-copy .lead,.heroC-copy p,.section-title p,.story-grid p,.timeline p,.feature p,.teacher p,.teacher-copy p,.bioC p,.practice-copy p,.study-copy p,.video-copy p,.videoInfo p,.book-copy p,.online-copy p,.price-copy p,.priceRight p,.shellac p,.stepC p,.wood-card p,.workshop-card p,.news-card p,.event p,.finalC p,.paint-feature p,.hours-card p,.hire p,.media-copy p,.price-card p,.step p{
  font-size:18px!important;
  line-height:1.65!important
}

/* HOME: TARJETAS MÁS LEGIBLES */
.home-card{min-height:345px!important}
.home-card-copy{left:22px!important;right:22px!important;bottom:22px!important}
.home-card h3{font-size:22px!important;line-height:1.08!important}
.home-card p{font-size:16px!important;line-height:1.48!important}
.home-card .label{font-size:11px!important}
.home-card .link-arrow{font-size:15px!important}

/* BLOQUES INFORMATIVOS HOME / ASOCIACIÓN */
.feature{padding:23px 0!important}
.feature h3{font-size:22px!important}
.feature p{font-size:17px!important;line-height:1.55!important}
.story-lead{font-size:34px!important;line-height:1.28!important}
.timeline article{padding-top:17px!important}
.timeline h3{font-size:21px!important}
.timeline p{font-size:17px!important}

/* GUITARRA / CONSTRUCCIÓN / PINTURA */
.teacher h2,.bioC h2{font-size:38px!important}
.teacher p,.bioC p{font-size:18px!important}
.info-box strong,.contact-card strong{font-size:13px!important}
.info-box a,.contact-card a{font-size:20px!important}
.step .num{font-size:13px!important}
.step h3{font-size:23px!important}
.step p{font-size:17px!important}
.paint-feature h3{font-size:22px!important}
.paint-feature p{font-size:17px!important}

/* TALLERES */
.workshop-card .body{padding:24px!important}
.workshop-card h3{font-size:23px!important}
.workshop-card p{font-size:17px!important}

/* VÍDEOS */
.video-card .body,.videoInfo{padding:20px!important}
.video-card h3,.videoInfo h3{font-size:21px!important}
.video-card small{font-size:14px!important}

/* EVENTOS */
.event{grid-template-columns:76px 1fr!important;gap:17px!important;padding:16px 0!important}
.date strong{font-size:27px!important}
.date span{font-size:11px!important}
.event h3{font-size:19px!important;line-height:1.25!important}
.event p{font-size:16px!important;line-height:1.5!important}
.news-card h3{font-size:21px!important;line-height:1.25!important}
.news-card p{font-size:16px!important}
.meta{font-size:11px!important}
.archive-row a{font-size:18px!important}
.archive-row time,.archive-row small{font-size:13px!important}

/* FORMULARIO */
.form{padding:32px!important}
.field label{font-size:13px!important}
.field input,.field select,.field textarea{font-size:18px!important;padding:14px!important}
.privacy{font-size:14px!important}
.btn,.btnc,.cta{min-height:52px!important;padding:0 22px!important;font-size:16px!important}

/* TABLAS */
.schedule th,.schedule-wrap th{font-size:13px!important}
.schedule td,.schedule-wrap td{font-size:17px!important;padding:16px!important}

/* FOOTER */
.footer-grid{padding:44px 0!important;gap:32px!important}
.footer h3{font-size:16px!important}
.footer p,.footer a{font-size:16px!important;line-height:1.58!important}
.copyright{font-size:13px!important;padding:15px 0 24px!important}

/* TABLET */
@media(max-width:1100px){
  .site-header .nav{gap:12px!important}
  .site-header .nav a,.top .menu a,.lc-top nav a{font-size:12.5px!important}
  .hero h1,.hero-copy h1,.heroC-copy h1{font-size:clamp(52px,6.6vw,72px)!important}
  .section-title h2,.story-grid h2,.section-head h2,.headC h2,.bioC h2,.teacher-copy h2,.video-copy h2,.study-copy h2,.finalC h2{font-size:38px!important}
}

/* MÓVIL */
@media(max-width:820px){
  body{font-size:19px!important;line-height:1.68!important}
  p,li,.hero p,.hero-copy .lead,.heroC-copy p,.section-title p,.story-grid p,.timeline p,.feature p,.teacher p,.teacher-copy p,.bioC p,.practice-copy p,.study-copy p,.video-copy p,.videoInfo p,.book-copy p,.online-copy p,.price-copy p,.priceRight p,.shellac p,.stepC p,.wood-card p,.workshop-card p,.news-card p,.event p,.finalC p,.paint-feature p,.hours-card p,.hire p,.media-copy p,.price-card p,.step p{
    font-size:19px!important;line-height:1.66!important
  }
  .site-header .nav a,.top .menu a,.lc-top nav a{font-size:19px!important;min-height:60px!important}
  .logo-name,.top .brand,.lc-brand{font-size:21px!important}
  .hero h1,.hero-copy h1,.heroC-copy h1{font-size:clamp(48px,13vw,64px)!important}
  .section-title h2,.story-grid h2,.section-head h2,.headC h2,.bioC h2,.teacher-copy h2,.video-copy h2,.study-copy h2,.finalC h2{font-size:36px!important}
  .timeline h3,.feature h3,.workshop-card h3,.video-card h3,.news-card h3,.contact-card h3,.stepC h3,.wood-card h3,.videoInfo h3,.level h3,.step h3,.paint-feature h3{font-size:25px!important}
  .eyebrow,.label,.meta,.date-label,.archive-row time,.archive-row small,.video-card small,.caption{font-size:15px!important}
  .home-card h3{font-size:25px!important}
  .home-card p{font-size:18px!important}
  .feature p,.timeline p{font-size:18px!important}
  .footer h3{font-size:18px!important}
  .footer p,.footer a{font-size:17px!important}
  .field label{font-size:15px!important}
  .field input,.field select,.field textarea{font-size:18px!important}
}


/* =========================================================
   CORRECCIÓN LANDING GUITARRA · VÍDEOS RESPONSIVE EN MÓVIL
   ========================================================= */
.video-box,
.practice-video,
.video-sec,
.video-frame,
.video-embed,
.youtube-wrap,
.embed-responsive{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.video-box iframe,
.practice-video iframe,
.video-sec iframe,
.video-frame iframe,
.video-embed iframe,
.youtube-wrap iframe,
.embed-responsive iframe,
iframe[src*="youtube.com"],
iframe[src*="youtu.be"],
iframe[src*="youtube-nocookie.com"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  border:0 !important;
  margin:0 !important;
}

@media(max-width:900px){
  .video-sec,
  .practice,
  .videoGrid{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .video-box,
  .practice-video,
  .video-frame,
  .video-embed,
  .youtube-wrap,
  .embed-responsive{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  .video-box iframe,
  .practice-video iframe,
  .video-sec iframe,
  .video-frame iframe,
  .video-embed iframe,
  .youtube-wrap iframe,
  .embed-responsive iframe,
  iframe[src*="youtube.com"],
  iframe[src*="youtube-nocookie.com"]{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }
}

@media(max-width:560px){
  .video-box,
  .practice-video,
  .video-frame,
  .video-embed,
  .youtube-wrap,
  .embed-responsive{
    aspect-ratio:16 / 9 !important;
    border-radius:0 !important;
  }

  .video-box iframe,
  .practice-video iframe,
  iframe[src*="youtube.com"],
  iframe[src*="youtube-nocookie.com"]{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }
}


/* =========================================================
   NAVEGACIÓN DE RETORNO EN LANDINGS
   ========================================================= */
.landing-nav-back{
  width:min(1180px, calc(100% - 40px));
  margin:14px auto 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:40;
}
.landing-back-btn,
.landing-home-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid #d9d2ca;
  background:#fff;
  color:#171717;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.landing-back-btn:hover,
.landing-home-btn:hover{
  border-color:#b9141c;
  color:#b9141c;
}

@media(max-width:820px){
  .landing-nav-back{
    width:calc(100% - 28px);
    margin:10px auto 8px;
    gap:10px;
  }
  .landing-back-btn,
  .landing-home-btn{
    flex:1 1 0;
    min-height:50px;
    padding:0 12px;
    font-size:16px!important;
  }
}

@media(max-width:430px){
  .landing-nav-back{
    position:sticky;
    top:82px;
    background:#fff;
    padding:8px 0;
    margin-top:0;
  }
}


/* CORRECCIÓN GLOBAL DE CUADRE · CONSTRUCCIÓN + CONTACTO */
*,*::before,*::after{box-sizing:border-box}
img,iframe,video{max-width:100%}
main,section,.container,.hero-frame,.contact-grid,.story-grid,.price-hero,.teacher,.media-band,.process,.feature-grid{min-width:0}

/* CONSTRUCCIÓN */
.hero .hero-frame{
  grid-template-columns:minmax(0,36%) minmax(0,64%)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.hero .hero-copy{
  min-width:0!important;
  overflow:visible!important;
  padding:44px 42px!important;
}
.hero .hero-copy h1{
  max-width:100%!important;
  width:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-size:clamp(48px,4.7vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}
.hero .hero-img{
  width:100%!important;
  min-width:0!important;
  background-size:cover!important;
  background-position:center!important;
}
.info-strip{
  width:100%!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  overflow:hidden!important;
}
.info-box{min-width:0!important;overflow-wrap:anywhere!important}
.section-title{
  grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)!important;
  align-items:end!important;
  gap:36px!important;
}
.process{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.step{min-width:0!important}

/* CONTACTO */
.contact-grid{
  grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
  gap:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.contact-grid>*{min-width:0!important}
.contact-grid .hero-copy,
.contact-grid .contact-copy,
.contact-grid .intro-copy{
  padding:44px 42px!important;
  overflow:visible!important;
}
.contact-grid h1,
.contact-grid .hero-copy h1{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  font-size:clamp(52px,5vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}
.contact-grid img,
.contact-grid .hero-img,
.contact-grid .contact-image{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
}
.contact-cards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.contact-card{min-width:0!important;overflow:hidden!important}
.contact-card a,.contact-card p,.contact-card span{overflow-wrap:anywhere!important}
.form,form{width:100%!important;max-width:100%!important;min-width:0!important}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.field{min-width:0!important}
.field input,.field select,.field textarea{width:100%!important;max-width:100%!important}

@media(max-width:1100px){
  .hero .hero-frame{grid-template-columns:minmax(0,42%) minmax(0,58%)!important}
  .hero .hero-copy{padding:34px 30px!important}
  .hero .hero-copy h1{font-size:clamp(44px,5.4vw,62px)!important}
  .contact-grid{grid-template-columns:minmax(0,44%) minmax(0,56%)!important}
  .contact-grid .hero-copy,.contact-grid .contact-copy,.contact-grid .intro-copy{padding:34px 30px!important}
  .contact-grid h1,.contact-grid .hero-copy h1{font-size:clamp(46px,5.5vw,66px)!important}
}

@media(max-width:820px){
  .hero .hero-frame,.contact-grid{grid-template-columns:1fr!important;overflow:visible!important}
  .hero .hero-img,.contact-grid img,.contact-grid .hero-img,.contact-grid .contact-image{
    order:-1!important;width:100%!important;min-height:0!important;height:auto!important;
    aspect-ratio:4/3!important;object-fit:cover!important
  }
  .hero .hero-copy,.contact-grid .hero-copy,.contact-grid .contact-copy,.contact-grid .intro-copy{
    padding:30px 22px 34px!important
  }
  .hero .hero-copy h1,.contact-grid h1,.contact-grid .hero-copy h1{
    font-size:clamp(46px,12vw,60px)!important;line-height:.98!important;letter-spacing:-.03em!important
  }
  .info-strip,.process,.section-title,.contact-cards,.form-grid{grid-template-columns:1fr!important}
  .section-title{gap:18px!important}
  .contact-card{padding:22px!important}
}



/* =========================================================
   TALLERES · CORRECCIÓN MÓVIL
   En móvil, el texto deja de ir encima de las fotografías.
   ========================================================= */
@media(max-width:820px){

  /* Cualquier tarjeta de talleres pasa a foto + bloque de texto */
  .workshop-card,
  .workshop-grid .workshop-card,
  .taller-card,
  .talleres-card,
  .workshop-item{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    height:auto !important;
    min-height:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .workshop-card img,
  .taller-card img,
  .talleres-card img,
  .workshop-item img{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
    object-position:center !important;
    z-index:auto !important;
  }

  /* El texto se coloca debajo con fondo blanco y buen contraste */
  .workshop-card .body,
  .workshop-card .copy,
  .workshop-card .content,
  .taller-card .body,
  .taller-card .copy,
  .taller-card .content,
  .talleres-card .body,
  .talleres-card .copy,
  .talleres-card .content,
  .workshop-item .body,
  .workshop-item .copy,
  .workshop-item .content{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    padding:24px 22px 26px !important;
    background:#fff !important;
    color:#171717 !important;
    text-shadow:none !important;
    z-index:auto !important;
  }

  .workshop-card .label,
  .workshop-card .eyebrow,
  .taller-card .label,
  .taller-card .eyebrow,
  .talleres-card .label,
  .talleres-card .eyebrow,
  .workshop-item .label,
  .workshop-item .eyebrow{
    color:#c21d25 !important;
    font-size:15px !important;
    line-height:1.35 !important;
    margin-bottom:10px !important;
    text-shadow:none !important;
  }

  .workshop-card h3,
  .taller-card h3,
  .talleres-card h3,
  .workshop-item h3{
    color:#171717 !important;
    font-size:27px !important;
    line-height:1.16 !important;
    margin:0 0 14px !important;
    text-shadow:none !important;
  }

  .workshop-card p,
  .taller-card p,
  .talleres-card p,
  .workshop-item p{
    color:#4b4b4b !important;
    font-size:18px !important;
    line-height:1.58 !important;
    margin:0 !important;
    text-shadow:none !important;
  }

  /* Desactiva capas oscuras / degradados usados en escritorio */
  .workshop-card::before,
  .workshop-card::after,
  .taller-card::before,
  .taller-card::after,
  .talleres-card::before,
  .talleres-card::after,
  .workshop-item::before,
  .workshop-item::after{
    display:none !important;
    content:none !important;
  }

  /* Si la tarjeta usa background-image en vez de img */
  .workshop-card[style*="background-image"],
  .taller-card[style*="background-image"],
  .talleres-card[style*="background-image"],
  .workshop-item[style*="background-image"]{
    background-size:100% auto !important;
    background-position:top center !important;
    background-repeat:no-repeat !important;
    padding-top:75% !important;
  }
}

@media(max-width:560px){
  .workshop-card .body,
  .workshop-card .copy,
  .workshop-card .content,
  .taller-card .body,
  .taller-card .copy,
  .taller-card .content,
  .talleres-card .body,
  .talleres-card .copy,
  .talleres-card .content,
  .workshop-item .body,
  .workshop-item .copy,
  .workshop-item .content{
    padding:22px 18px 24px !important;
  }

  .workshop-card h3,
  .taller-card h3,
  .talleres-card h3,
  .workshop-item h3{
    font-size:25px !important;
  }

  .workshop-card p,
  .taller-card p,
  .talleres-card p,
  .workshop-item p{
    font-size:18px !important;
  }
}

/* Entradas históricas reales */
.legacy-post{max-width:920px}
.legacy-back{display:inline-flex;margin-bottom:28px;color:#bd1822;text-decoration:none;font-weight:900}
.legacy-post h1{font:500 clamp(42px,5vw,68px)/1.02 Georgia,serif;letter-spacing:-.03em;margin:10px 0 24px}
.legacy-featured img{width:100%;height:auto;margin:0 0 24px}
.legacy-content{font-size:18px;line-height:1.72;color:#333}
.legacy-content p,.legacy-content li{font-size:18px;line-height:1.72}
.legacy-content img{max-width:100%;height:auto}
.legacy-content iframe{max-width:100%}
@media(max-width:650px){
  .legacy-post h1{font-size:42px!important}
  .legacy-content,.legacy-content p,.legacy-content li{font-size:18px!important}
}

/* Entradas históricas limpias */
.legacy-content{
  max-width:860px;
  font-size:18px;
  line-height:1.72;
}
.legacy-content h2{
  font:500 34px/1.1 Georgia,serif;
  margin:30px 0 12px;
}
.legacy-content .legacy-lead{
  font-size:21px!important;
  line-height:1.55!important;
  color:#444;
  margin:0 0 20px;
}
.legacy-content p{
  margin:0 0 18px;
}
@media(max-width:650px){
  .legacy-content h2{font-size:30px!important}
  .legacy-content .legacy-lead{font-size:19px!important}
}

/* Noticias investigadas */
.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.research-card{display:flex;flex-direction:column;border:1px solid #ddd;background:#fff;min-width:0}
.research-img img{display:block;width:100%;height:225px;object-fit:cover}
.research-body{padding:21px;display:flex;flex-direction:column;flex:1}
.research-body h3{font-size:23px;line-height:1.18;margin:9px 0 11px}.research-body h3 a{text-decoration:none}
.research-body p{font-size:16px;line-height:1.58;color:#555;margin:0 0 14px}.research-more{margin-top:auto;color:#bd1822;font-weight:900;text-decoration:none}
.research-entry{padding:54px 0 76px}.research-entry-inner{max-width:940px}.research-back{display:inline-flex;margin-bottom:32px;color:#bd1822;font-weight:900;text-decoration:none}
.research-entry h1{font:500 clamp(46px,5.4vw,74px)/1.01 Georgia,serif;letter-spacing:-.035em;margin:10px 0 18px}.research-lead{font-size:22px;line-height:1.55;max-width:820px;color:#4a4a4a;margin:0 0 30px}
.research-hero{display:block;width:100%;max-height:580px;object-fit:cover;margin:0 0 38px}.research-copy{max-width:800px}
.research-copy section{padding:27px 0;border-top:1px solid #ddd}.research-copy h2,.research-videos h2,.research-sources h2{font-size:30px;line-height:1.15;margin:0 0 13px}.research-copy p{font-size:18px;line-height:1.74;color:#3e3e3e;margin:0}
.research-videos{padding:34px 0;border-top:1px solid #ddd}.research-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.research-video-grid iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.research-sources{padding:30px 0;border-top:1px solid #ddd}.research-sources ul{margin:0;padding-left:20px}.research-sources li{margin:8px 0;font-size:16px}.research-sources a{color:#bd1822}
.research-cta{margin-top:30px;padding:28px;background:#f5f2ec;display:flex;align-items:center;justify-content:space-between;gap:22px}
@media(max-width:900px){.research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.research-grid{grid-template-columns:1fr}.research-img img{height:auto;aspect-ratio:4/3}.research-body h3{font-size:25px}.research-body p{font-size:18px}.research-entry{padding:34px 0 54px}.research-entry h1{font-size:43px}.research-lead{font-size:19px}.research-copy h2,.research-videos h2,.research-sources h2{font-size:27px}.research-copy p{font-size:18px}.research-video-grid{grid-template-columns:1fr}.research-cta{flex-direction:column;align-items:flex-start}}

.research-card{overflow:hidden}.research-img{display:block}.research-img img{transition:transform .25s ease}.research-card:hover .research-img img{transform:scale(1.02)}
.research-sources{margin-top:24px}.research-sources h2{font-size:26px}.research-sources li{margin:8px 0}
