/*
 * Escuela de Doblaje de Cordoba - estilos de front-end
 * Extraidos 1:1 del HTML original de referencia. Se conservan
 * exactamente los mismos nombres de clase, valores de color,
 * tipografias, espaciados y animaciones. Cargado via
 * wp_enqueue_style() desde functions.php.
 * Ademas se anaden, al final, unas reglas minimas de "tema"
 * para pantallas genericas (single/page/archive/404) que no
 * existian en el HTML original de una sola pagina.
 */

  /* ============ TOKENS ============ */
  :root{
    --bg:#f7f4fb;
    --bg-raise:#efe8f8;
    --bg-card:#ffffff;
    --bg-card-2:#f3eef9;
    --line:#ddd3ec;
    --line-soft:#e9e2f3;
    --red:#5b3a94;        /* deep indigo/violet, from the wordmark */
    --red-deep:#3a2560;   /* darker indigo, for gradients */
    --red-bright:#6f42c8; /* rich violet, readable as text on light bg */
    --amber:#2f7fc1;      /* sky blue, from the top of the logo ring, darkened for legibility */
    --amber-soft:#1f6bab; /* darker sky blue, eyebrows & links on light bg */
    --lavender:#9c5cc4;   /* lilac-pink, from the bottom of the logo ring */
    --cream:#221c30;      /* main text — dark on the light theme */
    --cream-dim:#453a5c;
    --muted:#6d5f88;
    --muted-2:#655a80;
    --radius:2px;
    --wrap:1180px;
    --shadow:0 20px 50px -20px rgba(0,0,0,.15);
  }
  /* Dark "chrome" zones keep light text regardless of the light theme above */
  header.site, .hero, footer.site-footer, .news-main{
    --cream:#f8f5fb;
    --cream-dim:#e4dcef;
    --muted:#c3b6da;
    --muted-2:#a89bc4;
    --amber-soft:#aedcf7;
    --red-bright:#b79cf7;
    --line:#4e4660;
    --line-soft:#3a3346;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--cream);
    font-family:'Work Sans', system-ui, -apple-system, Segoe UI, sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{font-family:'Bebas Neue', 'Work Sans', sans-serif; font-weight:400; letter-spacing:.02em; margin:0;}
  .wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}
  .mono{font-family:'IBM Plex Mono', ui-monospace, monospace;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--amber-soft);
    display:flex;
    align-items:center;
    gap:.6em;
    margin:0 0 14px;
  }
  .eyebrow::before{
    content:"";
    width:9px;height:9px;
    background:var(--red-bright);
    display:inline-block;
    border-radius:1px;
    transform:rotate(45deg);
  }
  .slug{color:var(--muted-2);}
  section{position:relative;}
  .section-pad{padding:96px 0;}
  @media (max-width:720px){ .section-pad{padding:64px 0;} }

  /* film-strip / sprocket edge used on cards */
  .sprocket{
    background-image: repeating-linear-gradient(180deg, var(--muted-2) 0 3px, transparent 3px 16px);
    width:3px;
    opacity:.35;
    flex-shrink:0;
  }

  /* ============ BUTTONS ============ */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    font-family:'IBM Plex Mono', monospace;
    font-size:.82rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;
    padding:13px 22px;
    border-radius:var(--radius);
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--red); color:#fff; border-color:var(--red);}
  .btn-primary:hover{background:var(--red-bright); border-color:var(--red-bright);}
  .btn-ghost{background:transparent; color:var(--cream); border-color:var(--muted-2);}
  .btn-ghost:hover{border-color:var(--amber-soft); color:var(--amber-soft);}
  .btn-small{padding:9px 16px; font-size:.72rem;}
  .btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible{
    outline:2px solid var(--amber-soft);
    outline-offset:3px;
  }

  /* ============ HEADER ============ */
  header.site{
    position:sticky; top:0; z-index:100;
    border-bottom:1px solid var(--line-soft);
  }
  header.site::before{
    content:"";
    position:absolute; inset:0;
    background:rgba(33,29,43,.92);
    backdrop-filter:blur(8px);
    z-index:-1;
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
    max-width:var(--wrap); margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--cream);}
  .brand img{height:44px; width:auto;}
  .brand-text{font-family:'Bebas Neue'; line-height:.95;}
  .brand-text .l1{font-size:1.15rem; letter-spacing:.04em; display:block;}
  .brand-text .l2{font-size:.72rem; letter-spacing:.28em; color:var(--amber-soft); display:block; font-family:'IBM Plex Mono'; text-transform:uppercase; margin-top:4px;}

  @media (max-width:420px){
    .header-inner{padding:10px 14px; gap:8px;}
    .brand{gap:8px;}
    .brand img{height:34px;}
    .brand-text .l1{font-size:.92rem;}
    .brand-text .l2{font-size:.6rem; letter-spacing:.16em; margin-top:2px;}
    .hamburger{width:38px; height:38px; flex-shrink:0;}
  }

  nav.main-nav{display:flex;}
  nav.main-nav ul{list-style:none; display:flex; gap:2px; margin:0; padding:0;}
  nav.main-nav a{
    text-decoration:none; color:var(--cream-dim);
    font-family:'IBM Plex Mono'; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
    padding:10px 16px; display:block; border-radius:var(--radius);
    transition:color .15s ease, background .15s ease;
  }
  nav.main-nav a:hover{color:var(--amber-soft); background:var(--bg-raise);}
  nav.main-nav a.is-active{color:var(--red-bright);}

  .hamburger{
    display:none;
    flex-direction:column; justify-content:center; gap:5px;
    width:42px; height:42px;
    background:transparent; border:1px solid var(--line); border-radius:var(--radius);
    cursor:pointer; padding:0;
  }
  .hamburger span{width:20px; height:2px; background:var(--cream); margin:0 auto; transition:transform .2s ease, opacity .2s ease;}
  .hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  @media (max-width: 900px){
    nav.main-nav{
      position:fixed; inset:69px 0 0 0;
      background:#211d2b;
      flex-direction:column;
      transform:translateX(100%);
      transition:transform .28s ease;
      overflow-y:auto;
    }
    nav.main-nav.is-open{transform:translateX(0);}
    nav.main-nav ul{flex-direction:column; padding:24px; gap:4px; width:100%;}
    nav.main-nav a{font-size:1rem; padding:16px; border-bottom:1px solid var(--line-soft);}
    .hamburger{display:flex;}
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:92vh;
    display:flex; align-items:flex-end;
    overflow:hidden;
    border-bottom:1px solid var(--line-soft);
  }
  .hero-collage{
    position:absolute; inset:0;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:repeat(3,1fr);
  }
  .hero-collage img{
    width:100%; height:100%; object-fit:cover;
    filter:grayscale(20%) brightness(1.05) contrast(1.02);
  }
  .hero-collage::after{
    content:"";
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(33,29,43,.12) 0%, rgba(33,29,43,.18) 38%, rgba(33,29,43,.72) 68%, rgba(33,29,43,.97) 96%),
      linear-gradient(100deg, rgba(33,29,43,.4) 0%, rgba(74,47,125,.16) 45%, rgba(33,29,43,.4) 100%);
  }
  .hero-content{
    position:relative; z-index:2;
    max-width:var(--wrap); margin:0 auto;
    padding:120px 24px 72px;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .hero-logo{
    height:clamp(200px, 30vw, 520px); width:auto; display:block;
    margin-bottom:28px;
    filter:drop-shadow(0 10px 30px rgba(0,0,0,.65));
  }
  .rec-badge{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'IBM Plex Mono'; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--amber-soft);
    background:rgba(91,58,148,.22);
    border:1px solid var(--red);
    padding:8px 14px 8px 12px;
    border-radius:var(--radius);
    margin-bottom:28px;
  }
  .rec-dot{
    width:9px; height:9px; border-radius:50%;
    background:var(--red-bright);
    animation:blink 1.4s ease-in-out infinite;
    flex-shrink:0;
  }
  @keyframes blink{0%,100%{opacity:1;} 50%{opacity:.25;}}
  .hero h1{
    font-size:clamp(2.8rem, 8vw, 6.2rem);
    line-height:.92;
    color:var(--cream);
    text-transform:uppercase;
    max-width:14ch;
    margin:0 auto;
    text-shadow:0 4px 24px rgba(0,0,0,.7);
  }
  .hero h1 em{font-style:normal; color:var(--red-bright);}
  .hero-lede{
    font-size:clamp(1.05rem, 1.6vw, 1.3rem);
    color:var(--cream-dim);
    max-width:640px;
    margin:26px auto 0;
    font-weight:400;
    text-shadow:0 2px 12px rgba(0,0,0,.6);
  }
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:38px; justify-content:center;}
  .waveform{width:100%; max-width:600px; height:34px; margin:56px auto 0; opacity:.55;}
  .waveform path{
    stroke:var(--amber-soft);
    animation:wv 2.6s ease-in-out infinite;
  }
  @keyframes wv{0%,100%{transform:scaleY(1);} 50%{transform:scaleY(.4);}}

  @media (max-width:720px){
    .hero{min-height:82vh;}
    .hero-content{padding:96px 20px 56px;}
    .hero-collage{grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(4,1fr);}
  }
  @media (max-width:420px){
    .hero-content{padding:88px 16px 48px;}
    .hero-logo{height:clamp(140px, 42vw, 200px); margin-bottom:20px;}
    .rec-badge{font-size:.68rem; padding:7px 12px 7px 10px; text-align:left;}
    .hero h1{font-size:2.3rem;}
    .hero-lede{font-size:1rem;}
  }

  /* ============ SECTION HEADS ============ */
  .head-row{
    display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
    margin-bottom:48px; flex-wrap:wrap;
  }
  .head-row h2{font-size:clamp(2.2rem,4.4vw,3.4rem); text-transform:uppercase;}
  .head-note{max-width:420px; color:var(--muted); font-size:.95rem;}

  /* ============ LA ESCUELA ============ */
  .escuela-bg{background:var(--bg-raise); border-bottom:1px solid var(--line-soft);}
  .escuela-grid{
    display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;
  }
  @media (max-width:900px){ .escuela-grid{grid-template-columns:1fr;} }
  .escuela-block{margin-bottom:30px;}
  .escuela-block:last-child{margin-bottom:0;}
  .escuela-block h3{
    font-size:1.5rem; text-transform:uppercase; color:var(--amber-soft);
    margin-bottom:10px; letter-spacing:.02em;
  }
  .escuela-block p{color:var(--cream-dim); margin:0 0 12px;}
  .pull-frame{
    border:1px solid var(--line); border-radius:var(--radius);
    padding:26px; background:var(--bg-card);
    position:relative;
  }
  .pull-frame::before{
    content:"SINERGIA WORK";
    position:absolute; top:-11px; left:20px;
    background:var(--bg-raise); padding:0 10px;
    font-family:'IBM Plex Mono'; font-size:.68rem; letter-spacing:.14em; color:var(--muted-2);
  }

  /* gallery marquee */
  .marquee-wrap{
    margin-top:64px;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    padding:28px 0;
    overflow:hidden;
  }
  .marquee-label{
    max-width:var(--wrap); margin:0 auto 18px; padding:0 24px;
  }
  .marquee-track{
    display:flex; gap:14px; width:max-content;
    animation:scrollx 62s linear infinite;
  }
  .marquee-wrap:hover .marquee-track{animation-play-state:paused;}
  @keyframes scrollx{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .marquee-track img{
    height:180px; width:260px; object-fit:cover;
    border-radius:var(--radius);
    filter:grayscale(40%) brightness(.95);
    border:1px solid var(--line);
  }
  @media (prefers-reduced-motion: reduce){
    .marquee-track{animation:none; overflow-x:auto;}
  }

  /* ============ CURSOS ============ */
  .cursos-intro{max-width:760px; color:var(--cream-dim); margin-bottom:56px; font-size:1.05rem;}
  .month-group{margin-bottom:52px;}
  .month-group:last-child{margin-bottom:0;}
  .month-title{
    display:flex; align-items:center; gap:16px;
    font-family:'IBM Plex Mono'; font-size:.85rem; letter-spacing:.18em; text-transform:uppercase;
    color:var(--red-bright);
    margin-bottom:20px;
  }
  .month-title::after{content:""; height:1px; flex:1; background:var(--line);}
  .course-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:20px;
  }
  .course-card{
    display:flex;
    background:var(--bg-card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    transition:border-color .2s ease, transform .2s ease;
  }
  .course-card:hover{border-color:var(--red); transform:translateY(-3px);}
  .course-card .cc-body{padding:22px 20px; display:flex; flex-direction:column; gap:10px; flex:1;}
  .course-card .cc-dates{
    font-family:'IBM Plex Mono'; font-size:.74rem; letter-spacing:.05em; color:var(--amber-soft);
    text-transform:uppercase;
  }
  .course-card h4{font-size:1.35rem; text-transform:uppercase; color:var(--cream); line-height:1.05;}
  .course-card .cc-age{
    font-family:'IBM Plex Mono'; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
    color:var(--muted); border:1px solid var(--line); display:inline-block;
    padding:3px 8px; border-radius:var(--radius); width:fit-content;
  }
  .course-card p{color:var(--cream-dim); font-size:.92rem; margin:2px 0 6px;}
  .course-card .btn{margin-top:auto; align-self:flex-start;}
  .course-card.is-master{background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-card-2) 100%);}
  .course-card.is-master .cc-dates{color:var(--red-bright);}
  .course-card.is-open .cc-dates{color:var(--red-bright);}

  /* ============ PROFESORADO ============ */
  .prof-bg{background:var(--bg-raise); border-bottom:1px solid var(--line-soft);}
  .founder{
    display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:start; margin-bottom:72px;
  }
  @media (max-width:800px){ .founder{grid-template-columns:1fr;} }
  .founder-photo{position:relative;}
  .founder-photo img{
    width:100%; aspect-ratio:4/3.6; object-fit:cover; object-position:center 15%; border-radius:var(--radius);
    filter:grayscale(30%) contrast(1.05);
    border:1px solid var(--line);
  }
  .founder-tag{
    position:absolute; bottom:-14px; left:-14px;
    background:var(--red); color:#fff;
    font-family:'IBM Plex Mono'; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
    padding:8px 12px; border-radius:var(--radius);
  }
  .founder-name{font-size:clamp(1.9rem,3.4vw,2.6rem); text-transform:uppercase; margin-bottom:4px;}
  .founder-role{
    font-family:'IBM Plex Mono'; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--amber-soft); margin-bottom:22px; display:block;
  }
  .founder-bio p{color:var(--cream-dim); margin:0 0 14px;}
  details.more-bio{margin-top:6px;}
  details.more-bio summary{
    cursor:pointer; list-style:none;
    font-family:'IBM Plex Mono'; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--red-bright); padding:10px 0; border-top:1px solid var(--line);
    display:flex; align-items:center; gap:8px;
  }
  details.more-bio summary::-webkit-details-marker{display:none;}
  details.more-bio summary::before{content:"+"; font-family:'Work Sans'; font-size:1.1rem;}
  details.more-bio[open] summary::before{content:"–";}
  details.more-bio[open] summary{color:var(--amber-soft);}
  details.more-bio .more-bio-inner{padding-top:8px;}

  .collab-lead{
    font-family:'IBM Plex Mono'; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--muted); margin-bottom:22px;
  }
  .collab-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:16px;}
  .collab-card{
    background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden;
  }
  .collab-photo{
    width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
    filter:grayscale(20%);
  }
  .collab-photo-pending{
    width:100%; aspect-ratio:4/3;
    display:flex; align-items:center; justify-content:center; text-align:center;
    background:var(--bg-card-2); border-bottom:1px dashed var(--line);
    color:var(--muted-2); font-family:'IBM Plex Mono'; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase;
    padding:12px;
  }
  .collab-body{padding:16px 18px 20px;}
  .collab-work{color:var(--cream-dim); font-size:.85rem; margin:6px 0 0;}
  .collab-avatar{
    width:52px; height:52px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(140deg, var(--red-deep), var(--red));
    display:flex; align-items:center; justify-content:center;
    font-family:'Bebas Neue'; font-size:1.2rem; color:#fff;
  }
  .collab-name{font-weight:600; color:var(--cream); font-size:.98rem;}
  .collab-role{color:var(--muted); font-size:.8rem; margin-top:2px;}

  /* ============ NOTICIAS ============ */
  .news-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:24px;}
  @media (max-width:800px){ .news-grid{grid-template-columns:1fr;} }
  .news-main{
    background:linear-gradient(155deg, var(--red-deep) 0%, var(--red) 100%);
    border:1px solid var(--red-bright);
    border-radius:var(--radius);
    padding:40px;
    position:relative;
  }
  .news-main .eyebrow{color:var(--cream);}
  .news-main .eyebrow::before{background:var(--cream);}
  .news-main h3{font-size:clamp(1.6rem,3vw,2.3rem); text-transform:uppercase; margin-bottom:16px; max-width:16ch;}
  .news-main p{color:var(--cream-dim); max-width:46ch;}
  .news-card{
    background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
    padding:32px; display:flex; flex-direction:column;
  }
  .news-card .tag-example{
    font-family:'IBM Plex Mono'; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted-2); border:1px dashed var(--line); display:inline-block;
    padding:3px 8px; border-radius:var(--radius); margin-bottom:14px; width:fit-content;
  }
  .news-card h4{font-size:1.35rem; text-transform:uppercase; margin-bottom:10px;}
  .news-card p{color:var(--cream-dim); font-size:.92rem; flex:1;}

  /* ============ CONTACTO ============ */
  .contacto-bg{background:var(--bg-raise);}
  .contacto-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:start;}
  @media (max-width:900px){ .contacto-grid{grid-template-columns:1fr;} }

  .visit-title{font-size:clamp(2rem,4vw,2.9rem); text-transform:uppercase; margin-bottom:18px;}
  .info-list{list-style:none; margin:0 0 32px; padding:0;}
  .info-list li{
    display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line);
  }
  .info-list li:last-child{border-bottom:1px solid var(--line);}
  .info-list .ico{
    font-family:'IBM Plex Mono'; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--amber-soft); width:90px; flex-shrink:0; padding-top:2px;
  }
  .info-list .val{color:var(--cream-dim);}
  .pending{color:var(--muted-2); font-style:italic;}

  .social-row{display:flex; gap:12px; margin-bottom:36px;}
  .social-row a{
    width:44px; height:44px; border:1px solid var(--line); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono'; font-size:.72rem; text-transform:uppercase;
    color:var(--cream-dim); text-decoration:none;
    transition:border-color .2s ease, color .2s ease;
  }
  .social-row a:hover{border-color:var(--red-bright); color:var(--red-bright);}

  .map-block{
    border:1px dashed var(--line); border-radius:var(--radius);
    min-height:190px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
    background:
      repeating-linear-gradient(45deg, var(--bg-card) 0 12px, var(--bg-card-2) 12px 24px);
    color:var(--muted);
    text-align:center; padding:24px;
  }
  .map-block .pin{font-size:1.6rem;}
  .map-block strong{color:var(--cream-dim); font-family:'IBM Plex Mono'; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;}

  form.contact-form{
    background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
    padding:36px;
  }
  .form-row{margin-bottom:20px;}
  .form-row label{
    display:block; font-family:'IBM Plex Mono'; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--muted); margin-bottom:8px;
  }
  .form-row input, .form-row select, .form-row textarea{
    width:100%; background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
    color:var(--cream); font-family:'Work Sans'; font-size:.96rem;
    padding:12px 14px;
  }
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{
    border-color:var(--amber-soft); outline:none;
  }
  .form-row textarea{resize:vertical; min-height:110px;}
  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media (max-width:520px){ .two-col{grid-template-columns:1fr;} }
  .checkbox-row{display:flex; gap:10px; align-items:flex-start; margin-bottom:24px;}
  .checkbox-row input{width:auto; margin-top:4px;}
  .checkbox-row label{font-family:'Work Sans'; font-size:.85rem; color:var(--muted); text-transform:none; letter-spacing:0;}
  .form-msg{
    margin-top:16px; font-family:'IBM Plex Mono'; font-size:.82rem;
    color:var(--amber-soft); display:none;
  }
  .form-msg.is-visible{display:block;}

  /* ============ FOOTER ============ */
  footer.site-footer{
    background:#211d2b;
    border-top:1px solid var(--line-soft);
    padding:52px 0 32px;
  }
  .footer-inner{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px;
    margin-bottom:36px;
  }
  .footer-brand{display:flex; align-items:center; gap:12px;}
  .footer-brand img{height:36px;}
  .footer-brand span{font-family:'Bebas Neue'; font-size:1.05rem; letter-spacing:.04em;}
  .footer-links{display:flex; gap:28px; flex-wrap:wrap;}
  .footer-links a{
    font-family:'IBM Plex Mono'; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase;
    text-decoration:none; color:var(--muted);
  }
  .footer-links a:hover{color:var(--amber-soft);}
  .footer-bottom{
    border-top:1px solid var(--line-soft); padding-top:24px;
    font-family:'IBM Plex Mono'; font-size:.72rem; color:var(--muted-2);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  }

  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--red); color:#fff;
    padding:10px 16px; z-index:200; font-family:'IBM Plex Mono'; font-size:.8rem;
  }
  .skip-link:focus{left:10px; top:10px;}

/* ============ PLANTILLAS GENÉRICAS (page / single / archive / 404) ============
   Estas reglas no existían en el HTML original de una sola página; se añaden
   para que index.html, page.html, single.html, archive.html y 404.html
   (requeridos por la arquitectura de tema de bloques) mantengan la misma
   identidad visual: mismos tokens de color, misma tipografía Bebas Neue /
   Work Sans / IBM Plex Mono, mismo ancho de contenido (--wrap). */
.generic-content{ padding:96px 0; }
@media (max-width:720px){ .generic-content{ padding:64px 0; } }
.generic-content .wp-block-post-title{
  font-size:clamp(2.2rem,4.4vw,3.4rem); text-transform:uppercase; margin-bottom:24px;
}
.generic-content .wp-block-post-content p{ color:var(--cream-dim); }
.generic-content .wp-block-post-content a{ color:var(--red-bright); }
.generic-content .wp-block-query{ display:grid; gap:32px; }
.archive-card{
  background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; margin-bottom:24px;
}
.archive-card h2{ font-size:1.6rem; text-transform:uppercase; margin-bottom:10px; }
.archive-card h2 a{ text-decoration:none; color:var(--cream); }
.archive-card .wp-block-post-excerpt{ color:var(--cream-dim); }
.not-found-block{
  text-align:center; padding:120px 24px;
}
.not-found-block h1{ font-size:clamp(3rem,10vw,6rem); color:var(--red-bright); }

/* ============ VARIANTES DE ESTILO DE BLOQUE (core/button) ============
   Mapean is-style-edc-btn-primary / is-style-edc-btn-ghost (registradas en
   functions.php) sobre las reglas .btn / .btn-primary / .btn-ghost ya
   existentes, por si un editor añade un botón nuevo sin las clases
   originales escritas a mano. */
.is-style-edc-btn-primary .wp-block-button__link{
  font-family:'IBM Plex Mono', monospace; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  padding:13px 22px; border-radius:var(--radius); background:var(--red); color:#fff; border:1px solid var(--red);
}
.is-style-edc-btn-primary .wp-block-button__link:hover{ background:var(--red-bright); border-color:var(--red-bright); }
.is-style-edc-btn-ghost .wp-block-button__link{
  font-family:'IBM Plex Mono', monospace; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  padding:13px 22px; border-radius:var(--radius); background:transparent; color:var(--cream); border:1px solid var(--muted-2);
}
.is-style-edc-btn-ghost .wp-block-button__link:hover{ border-color:var(--amber-soft); color:var(--amber-soft); }

/* ============ HERO LOGO LAYERING FIX ============ */
.hero-content .hero-logo{
  position:relative;
  z-index:1;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.hero-content .hero-logo img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
.hero-content .rec-badge,
.hero-content h1,
.hero-content .hero-lede,
.hero-content .hero-actions,
.hero-content .waveform{
  position:relative;
  z-index:2;
}
