/* Nala Yoga · estilos */
@font-face{font-family:'Bodoni Moda';src:url('/assets/fonts/bodoni-moda-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('/assets/fonts/bodoni-moda-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('/assets/fonts/bodoni-moda-latin-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('/assets/fonts/bodoni-moda-latin-600-italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'DM Mono';src:url('/assets/fonts/dm-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Mono';src:url('/assets/fonts/dm-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

  :root{
    color-scheme:light;
    --paper:#F2EDE3;
    --paper-2:#E9E1D3;
    --sand:#DED2BC;
    --taupe:#9E8F76;
    --label:#6E6046;
    --label-dark:#E2D8C5;
    --ink:#1E1C19;
    --ink-soft:#4A443B;
    --muted:#736A5C;
    --rule:rgba(30,28,25,.16);
    --rule-soft:rgba(30,28,25,.08);
    --maxw:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Open Sans',system-ui,sans-serif;
    background:var(--paper);color:var(--ink-soft);
    font-weight:300;line-height:1.72;font-size:16px;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  h1,h2,h3{font-weight:600;line-height:1.1}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
  .col{max-width:600px;margin:0 auto}

  /* Utility face carries all data: times, numbers, labels */
  .mono{font-family:'DM Mono',ui-monospace,monospace;font-weight:400;letter-spacing:.02em}
  .tag{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--label);font-weight:500}

  .serif{font-family:'Bodoni Moda',Georgia,serif}

  /* ---------- BUTTONS: rectangular, hairline, mono label ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    font-family:'DM Mono',monospace;font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
    padding:16px 30px;border:1px solid var(--ink);color:var(--ink);background:transparent;
    border-radius:0;cursor:pointer;transition:background .35s ease,color .35s ease;
  }
  .btn:hover{background:var(--ink);color:var(--paper)}
  .btn-fill{background:var(--ink);color:var(--paper)}
  .btn-fill:hover{background:transparent;color:var(--ink)}
  .btn:focus-visible{outline:2px solid var(--taupe);outline-offset:4px}

  /* ---------- NAV ---------- */
  header{position:sticky;top:0;z-index:120;background:rgba(242,237,227,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule-soft)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
  .brand{font-family:'Bodoni Moda',serif;font-size:1.4rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
  .nav-links{display:flex;gap:28px}
  .nav-links a{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:500;transition:color .25s}
  .nav-links a:hover{color:var(--label)}
  .burger{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--ink)}
  .burger span{display:block;width:22px;height:1px;background:var(--ink);margin:5px 0}

  /* ---------- SPINE: the signature thread ---------- */
  main{position:relative}
  .spine{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rule-soft);z-index:0}
  .spine-fill{position:absolute;top:0;left:0;width:100%;height:0;background:var(--taupe);opacity:.55}
  main > section, main > .bleed{position:relative;z-index:1}

  /* node marker sitting on the thread */
  .node{width:9px;height:9px;border:1px solid var(--taupe);background:var(--paper);border-radius:50%;margin:0 auto 30px;transform:rotate(45deg)}

  section{padding:110px 0}

  /* ---------- HERO ---------- */
  .hero{padding:96px 0 0;text-align:center}
  .hero .coords{margin-bottom:34px}
  .hero h1{font-family:'Bodoni Moda',serif;font-size:clamp(2.6rem,7vw,5.6rem);color:var(--ink);letter-spacing:-.015em;margin-bottom:30px}
  .hero h1 em{font-style:italic;font-weight:400}
  .hero .lead{max-width:52ch;margin:0 auto 42px;font-size:1.05rem}
  .hero-actions{display:flex;gap:0;justify-content:center;flex-wrap:wrap}
  .hero-actions .btn+.btn{border-left:none}
  @media(max-width:520px){.hero-actions{flex-direction:column;align-items:stretch;gap:10px;max-width:300px;margin:0 auto}.hero-actions .btn+.btn{border-left:1px solid var(--ink);margin-top:0}}

  /* full-bleed image, edge to edge, square corners */
  .bleed{margin-top:90px;position:relative}
  .bleed img{width:100%;height:clamp(300px,52vh,560px);object-fit:cover}
  .bleed figcaption{
    font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--muted);padding:14px 26px 0;max-width:var(--maxw);margin:0 auto;
  }

  /* ---------- SECTION HEADINGS ---------- */
  .head{text-align:center;margin-bottom:64px}
  .head .tag{display:block;margin-bottom:22px}
  .head h2{font-family:'Bodoni Moda',serif;font-size:clamp(1.9rem,4.4vw,3.1rem);color:var(--ink);letter-spacing:-.01em}
  .head p{max-width:56ch;margin:20px auto 0;color:var(--muted);font-size:1rem}

  /* ---------- PROBLEMS: ruled list, not cards ---------- */
  .signals{max-width:620px;margin:0 auto;border-top:1px solid var(--rule)}
  .signal{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline;padding:24px 4px;border-bottom:1px solid var(--rule)}
  .signal .mk{font-family:'DM Mono',monospace;font-size:.76rem;color:var(--label);letter-spacing:.1em}
  .signal h3{font-family:'Open Sans',sans-serif;font-weight:500;font-size:1rem;color:var(--ink);margin-bottom:4px}
  .signal p{font-size:.94rem;color:var(--muted)}
  .pull{
    max-width:30ch;margin:64px auto 0;text-align:center;
    font-family:'Bodoni Moda',serif;font-style:italic;
    font-size:clamp(1.4rem,3vw,2rem);color:var(--ink);line-height:1.32;
  }

  /* ---------- SEQUENCE (pillars strung on the thread) ---------- */
  .seq{max-width:520px;margin:0 auto}
  .step{text-align:center;padding:34px 0}
  .step .n{
    font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.2em;color:var(--label);font-weight:500;
    background:var(--paper);display:inline-block;padding:6px 14px;margin-bottom:18px;
  }
  .step h3{font-family:'Bodoni Moda',serif;font-size:1.5rem;color:var(--ink);margin-bottom:8px}
  .step p{font-size:.95rem;color:var(--muted);max-width:38ch;margin:0 auto}

  /* ---------- CLASSES: inverted block ---------- */
  .dark{background:var(--ink);color:var(--paper)}
  .dark .head h2{color:#FAF7F0}
  .dark .head p{color:#D2C9B8}
  .dark .tag{color:var(--label-dark)}
  .roster{max-width:760px;margin:0 auto;border-top:1px solid rgba(242,237,227,.3)}
  .item{padding:30px 6px;border-bottom:1px solid rgba(242,237,227,.3);display:grid;grid-template-columns:1fr 1.3fr;gap:26px;align-items:baseline;text-align:left}
  .item h3{font-family:'Bodoni Moda',serif;font-size:1.6rem;font-weight:600;color:#FAF7F0}
  .item p{font-size:.95rem;color:#D2C9B8}

  /* ---------- SCHEDULE: printed timetable ---------- */
  .table{max-width:620px;margin:0 auto;border-top:1px solid var(--rule)}
  .row{display:grid;grid-template-columns:110px 76px 1fr;gap:16px;padding:17px 4px;border-bottom:1px solid var(--rule);align-items:baseline;text-align:left}
  .row .d{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--label);font-weight:500}
  .row .t{font-family:'DM Mono',monospace;font-size:.95rem;color:var(--ink)}
  .row .c{font-size:.97rem;color:var(--ink-soft)}
  .row.cont .d{opacity:0}
  .place{text-align:center;margin-top:34px}
  .place .tag{display:block;margin-bottom:10px}
  .note{max-width:52ch;margin:16px auto 0;text-align:center;font-size:.93rem;color:var(--muted)}

  /* ---------- PRICING: ruled columns, no boxes ---------- */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto 44px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .plan{padding:44px 24px;text-align:center;border-right:1px solid var(--rule);position:relative}
  .plan:last-child{border-right:none}
  .plan.pick{background:var(--ink)}
  .plan.pick h3,.plan.pick .amt{color:#FAF7F0}
  .plan.pick .freq{color:#CCC2B0}
  .plan.pick .mark{color:var(--sand)}
  .plan .mark{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-weight:500;display:block;margin-bottom:16px;min-height:.9em}
  .plan h3{font-family:'Bodoni Moda',serif;font-size:1.45rem;color:var(--ink);margin-bottom:6px}
  .plan .freq{font-family:'DM Mono',monospace;font-size:.74rem;color:var(--muted);margin-bottom:26px}
  .plan .amt{font-family:'Bodoni Moda',serif;font-size:2.7rem;color:var(--ink);line-height:1}
  .plan .amt sup{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.12em;vertical-align:super;color:var(--muted)}
  .terms{max-width:900px;margin:0 auto 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--rule)}
  .terms div{padding:16px 18px;border-right:1px solid var(--rule);font-family:'DM Mono',monospace;font-size:.74rem;line-height:1.7;color:var(--muted);text-align:center}
  .terms div:last-child{border-right:none}
  .terms strong{color:var(--ink);font-weight:500}
  .duo{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto;border-top:1px solid var(--rule)}
  .duo > div{padding:38px 30px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center}
  .duo > div:last-child{border-right:none}
  .duo h3{font-family:'Bodoni Moda',serif;font-size:1.4rem;color:var(--ink);margin-bottom:12px}
  .duo p{font-size:.93rem;color:var(--muted);margin-bottom:20px}
  .duo a{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:500;border-bottom:1px solid var(--taupe);padding-bottom:4px}
  .duo a:hover{color:var(--label)}

  /* ---------- OFFERINGS ---------- */
  .offers{max-width:620px;margin:0 auto 46px;border-top:1px solid var(--rule)}
  .offer{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px 4px;border-bottom:1px solid var(--rule);align-items:baseline;text-align:left}
  .offer .mk{font-family:'DM Mono',monospace;font-size:.76rem;color:var(--label)}
  .offer p{font-size:.96rem;color:var(--ink-soft)}
  .center-cta{text-align:center}

  /* ---------- STORY ---------- */
  .story{text-align:center}
  .portrait{width:210px;margin:0 auto 40px}
  .portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.04)}
  .story blockquote{font-family:'Bodoni Moda',serif;font-style:italic;font-size:clamp(1.6rem,3.6vw,2.5rem);color:var(--ink);max-width:20ch;margin:0 auto 28px;line-height:1.26}
  .sig{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--label);font-weight:500}
  .sig span{display:block;font-family:'Open Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--muted);font-size:.95rem;margin-top:12px}

  /* ---------- VOICES ---------- */
  .voices{max-width:680px;margin:0 auto}
  .voice{padding:36px 0;border-bottom:1px solid var(--rule);text-align:center}
  .voice:first-child{border-top:1px solid var(--rule)}
  .voice p{font-family:'Bodoni Moda',serif;font-size:clamp(1.15rem,2.4vw,1.5rem);color:var(--ink);line-height:1.4;max-width:34ch;margin:0 auto 14px}
  .voice .who{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--label)}

  /* ---------- FAQ ---------- */
  .faq{max-width:660px;margin:0 auto;border-top:1px solid var(--rule)}
  details{border-bottom:1px solid var(--rule)}
  summary{cursor:pointer;list-style:none;padding:24px 4px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;text-align:left;color:var(--ink);font-size:1rem;font-weight:400;transition:color .25s}
  summary:hover{color:var(--label)}
  summary::-webkit-details-marker{display:none}
  summary .pm{font-family:'DM Mono',monospace;font-size:1rem;color:var(--label)}
  details[open] summary .pm{transform:rotate(45deg)}
  details p{padding:0 4px 26px;font-size:.95rem;color:var(--muted);text-align:left}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--ink);color:var(--paper);text-align:center}
  .contact h2{font-family:'Bodoni Moda',serif;font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:600;color:#FAF7F0;margin-bottom:20px}
  .contact .lead{color:#DCD3C2;max-width:48ch;margin:0 auto 34px}
  .lines{display:flex;flex-direction:column;gap:0;max-width:420px;margin:0 auto 54px;border-top:1px solid rgba(242,237,227,.34)}
  .lines a{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.1em;padding:15px 8px;border-bottom:1px solid rgba(242,237,227,.34);color:#E8DFCD;transition:background .3s,color .3s}
  .lines a:hover{background:var(--paper);color:var(--ink)}
  form{max-width:520px;margin:0 auto;text-align:left}
  .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field{margin-bottom:16px}
  label{display:block;font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#CCC2B0;margin-bottom:8px}
  input,select,textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid rgba(242,237,227,.42);
    color:var(--paper);padding:11px 2px;border-radius:0;
    font-family:'Open Sans',sans-serif;font-size:.95rem;font-weight:300;transition:border-color .25s;
  }
  input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--sand)}
  textarea{resize:vertical;min-height:80px}
  input::placeholder,textarea::placeholder{color:#A99F8D}
  select option{color:#1E1C19}
  form .btn{width:100%;margin-top:22px;border-color:var(--paper);color:var(--paper)}
  form .btn:hover{background:var(--paper);color:var(--ink)}
  .fine{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:#B8AE9C;margin-top:16px;text-align:center}


  .dark .head p.levels{margin-top:18px;color:#E2D8C5}
  .dark .head p.levels strong{color:#FAF7F0;font-weight:500}
  /* ---------- PRIVADAS Y DÚO ---------- */
  .forwho,.first,.ppl,.en,.priv .head p,.kicker,.ppl-note{background:var(--paper);position:relative}
  .priv .langs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:22px}
  .priv .langs span{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--rule);padding:7px 14px}
  .kicker{text-align:center;font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.35rem;color:var(--ink);margin:0 0 22px}
  .forwho{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto 64px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .forwho > div{padding:26px 20px;border-right:1px solid var(--rule);text-align:left}
  .forwho > div:last-child{border-right:none}
  .forwho b{display:block;font-weight:600;color:var(--ink);margin-bottom:8px;font-size:.98rem}
  .forwho p{font-size:.9rem;color:var(--muted);line-height:1.6}
  .duo-pitch{max-width:760px;margin:0 auto 64px;background:var(--ink);color:#DCD3C2;text-align:center;padding:46px 30px}
  .duo-pitch .tag{color:#CFC3A8}
  .duo-pitch h3{font-family:'Bodoni Moda',serif;font-size:clamp(1.6rem,3.6vw,2.2rem);color:#FAF7F0;margin:14px 0 14px}
  .duo-pitch p{max-width:50ch;margin:0 auto 16px}
  .duo-pitch .per{font-family:'DM Mono',monospace;font-size:.86rem;letter-spacing:.04em;color:#E2D8C5;margin-bottom:26px}
  .duo-pitch .per strong{color:#FAF7F0;font-weight:500}
  .duo-pitch .btn{background:#FAF7F0;color:var(--ink);border-color:#FAF7F0}
  .duo-pitch .btn:hover{background:transparent;color:#FAF7F0}
  .first{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:900px;margin:0 auto 60px;border-top:1px solid var(--rule)}
  .first > div{padding:24px 20px;text-align:center;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .first > div:last-child{border-right:none}
  .first .n{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.16em;color:var(--label);font-weight:500;display:block;margin-bottom:10px}
  .first b{display:block;font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.2rem;color:var(--ink);margin-bottom:6px}
  .first p{font-size:.9rem;color:var(--muted)}
  .ppl{display:grid;grid-template-columns:1fr 1fr 1.3fr;max-width:900px;margin:0 auto 14px;border:1px solid var(--rule)}
  .ppl > div{padding:28px 18px;text-align:center;border-right:1px solid var(--rule)}
  .ppl > div:last-child{border-right:none}
  .ppl .rec{background:var(--paper-2)}
  .lbl2{display:block;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--label);font-weight:500;margin-bottom:12px}
  .ppl .amt{font-family:'Bodoni Moda',serif;font-weight:600;font-size:2.2rem;color:var(--ink);line-height:1.1}
  .ppl .amt.small{font-size:1.5rem;margin-top:6px}
  .ppl .amt sup{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--muted);margin-left:4px;vertical-align:super}
  .ppl-note{max-width:640px;margin:0 auto 60px;text-align:center;font-size:.9rem;color:var(--muted)}
  .pform{max-width:760px;margin:0 auto 60px;padding:52px 30px}
  .pform h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:clamp(1.7rem,3.8vw,2.4rem);color:#FAF7F0;margin:16px 0 14px}
  .pform form{max-width:560px}
  .pform .fine a{color:#E2D8C5}
  .en{max-width:760px;margin:0 auto;border:1px solid var(--rule);padding:40px 30px;text-align:center}
  .en h3{font-family:'Bodoni Moda',serif;font-size:1.5rem;color:var(--ink);margin:14px 0 12px}
  .en p{font-size:.95rem;color:var(--muted);max-width:58ch;margin:0 auto 16px}
  .en .per{font-family:'DM Mono',monospace;font-size:.84rem;color:var(--ink)}
  .en .per strong{font-weight:500}
  .tall{padding-top:40px}
  @media(max-width:820px){
    .forwho{grid-template-columns:1fr 1fr}
    .forwho > div:nth-child(2){border-right:none}
    .forwho > div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
    .first,.ppl{grid-template-columns:1fr}
    .first > div,.ppl > div{border-right:none}
    .ppl > div{border-bottom:1px solid var(--rule)}
    .ppl > div:last-child{border-bottom:none}
    .pform{padding:40px 20px}
  }
  @media(max-width:520px){
    .forwho{grid-template-columns:1fr}
    .forwho > div{border-right:none;border-bottom:1px solid var(--rule)}
    .forwho > div:last-child{border-bottom:none}
  }

  /* ---------- BONOS ---------- */
  .bonos{max-width:900px;margin:0 auto 44px;border:1px solid var(--rule);padding:38px 30px;text-align:center}
  .bonos .mark{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-weight:500;display:block;margin-bottom:14px}
  .bonos h3{font-family:'Bodoni Moda',serif;font-size:1.45rem;color:var(--ink);margin-bottom:12px}
  .bonos p{font-size:.95rem;color:var(--muted);max-width:56ch;margin:0 auto 20px}
  .bonos a{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:500;border-bottom:1px solid var(--taupe);padding-bottom:4px}
  .bonos a:hover{color:var(--label)}

  /* ---------- INSCRIPCIÓN ---------- */
  .contact .tag{color:#CFC3A8}
  .insc{border-bottom:1px solid rgba(242,237,227,.14)}
  .insc form{max-width:600px}
  .step-h{display:flex;align-items:baseline;gap:14px;margin:38px 0 18px;padding-bottom:10px;border-bottom:1px solid rgba(242,237,227,.34);font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.35rem;color:#FAF7F0}
  .step-h span{font-family:'DM Mono',monospace;font-size:.74rem;font-weight:500;letter-spacing:.14em;color:#CFC3A8}
  .insc .step-h:first-of-type{margin-top:10px}
  .lbl{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#CCC2B0;margin-bottom:10px}
  .opts{display:grid;gap:10px}
  .opts.two{grid-template-columns:1fr 1fr}
  #gOpts{grid-template-columns:1fr 1fr}
  label.opt{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border:1px solid rgba(242,237,227,.3);cursor:pointer;
    font-family:'Open Sans',sans-serif;text-transform:none;letter-spacing:0;font-size:.95rem;color:#F2EDE3;transition:border-color .2s,background .2s}
  label.opt:hover{border-color:rgba(242,237,227,.6)}
  label.opt input{width:auto;margin-top:4px;accent-color:#E2D8C5;flex-shrink:0}
  label.opt b{display:block;font-weight:500;color:#FAF7F0}
  label.opt em{display:block;font-style:normal;font-size:.85rem;color:#CCC2B0;margin-top:2px}
  label.opt:has(input:checked){border-color:#E2D8C5;background:rgba(242,237,227,.08)}
  label.opt.off{opacity:.4;cursor:not-allowed}
  .hint{font-size:.88rem;color:#CCC2B0;margin:0 0 12px}
  .hint.ok{color:#E2D8C5}
  details.cond{margin:28px 0 18px;border:1px solid rgba(242,237,227,.3);padding:0 16px}
  details.cond summary{cursor:pointer;list-style:none;padding:14px 0;font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#E2D8C5}
  details.cond summary::-webkit-details-marker{display:none}
  details.cond summary::after{content:" +"}
  details.cond[open] summary::after{content:" –"}
  details.cond ul{margin:0 0 16px 18px;color:#DCD3C2;font-size:.9rem;line-height:1.7}
  label.chk{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;font-family:'Open Sans',sans-serif;text-transform:none;letter-spacing:0;font-size:.92rem;color:#DCD3C2;cursor:pointer}
  label.chk input{width:auto;margin-top:4px;accent-color:#E2D8C5;flex-shrink:0}
  .err{min-height:1.2em;color:#F2B8A0;font-size:.92rem;margin-top:10px}
  @media(max-width:820px){.opts.two,#gOpts{grid-template-columns:1fr}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--paper);padding:60px 0 34px;text-align:center;border-top:1px solid var(--rule)}
  .fbrand{font-family:'Bodoni Moda',serif;font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:26px}
  .flinks{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
  .flinks a{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
  .flinks a:hover{color:var(--ink)}
  .fbot{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--muted);display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--rule-soft)}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:820px){
    .nav-links{
      display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;
      background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 26px 20px;
    }
    .nav-links.open{display:flex}
    .nav-links a{padding:15px 0;border-bottom:1px solid var(--rule-soft);text-align:center}
    .burger{display:block}
    section{padding:78px 0}
    .hero{padding:64px 0 0}
    .bleed{margin-top:60px}
    .item{grid-template-columns:1fr;gap:8px}
    .plans{grid-template-columns:1fr}
    .plan{border-right:none;border-bottom:1px solid var(--rule)}
    .plan:last-child{border-bottom:none}
    .terms{grid-template-columns:1fr}
    .terms div{border-right:none;border-bottom:1px solid var(--rule-soft)}
    .duo{grid-template-columns:1fr}
    .duo > div{border-right:none}
    .row{grid-template-columns:74px 1fr;gap:12px}
    .row .d{grid-column:1/-1;margin-bottom:2px}
    .row.cont .d{display:none}
    .f2{grid-template-columns:1fr;gap:0}
    .spine{display:none}
  }


  .plan.pick .amt sup{color:#CCC2B0}
  /* =================== MULTIPÁGINA =================== */
  header .wrap.nav{max-width:1240px}
  .nav-links{gap:22px;align-items:center}
  .nav-links a{font-size:.72rem;letter-spacing:.1em;padding:6px 0;border-bottom:1px solid transparent}
  .nav-links a.on{border-bottom-color:var(--ink)}
  .nav-links a.nav-cta{background:var(--ink);color:var(--paper);padding:10px 16px;border:1px solid var(--ink)}
  .nav-links a.nav-cta:hover,.nav-links a.nav-cta.on{background:transparent;color:var(--ink)}
  .lang-sw{display:flex;gap:10px;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.1em}
  .lang-sw a{color:var(--muted);padding:4px 0;border-bottom:1px solid transparent}
  .lang-sw a.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}
  .lang-sw a:hover{color:var(--ink)}
  .lang-sw-m{display:none}
  @media(max-width:1180px){
    .nav-links{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 26px 22px;max-height:calc(100vh - 70px);overflow:auto}
    .nav-links.open{display:flex}
    .nav-links a{padding:15px 0;border-bottom:1px solid var(--rule-soft);text-align:center;width:100%}
    .nav-links a.on{border-bottom-color:var(--rule-soft);color:var(--label)}
    .nav-links a.nav-cta{margin-top:16px;padding:14px 16px}
    .burger{display:block}
    .lang-sw-d{display:none}
    .lang-sw-m{display:flex;justify-content:center;gap:22px;margin-top:18px;font-size:.8rem}
    .lang-sw-m a{padding:6px 2px;width:auto;border-bottom:1px solid transparent}
  }

  /* cabecera de páginas interiores */
  .page-head{padding:84px 0 54px;text-align:center}
  .page-head .tag{display:block;margin-bottom:22px}
  .page-head h1{font-family:'Bodoni Moda',serif;font-weight:600;font-size:clamp(2.3rem,6vw,4.4rem);color:var(--ink);letter-spacing:-.015em;margin-bottom:22px}
  .page-head .lead{max-width:58ch;margin:0 auto;font-size:1.04rem;color:var(--ink-soft);background:var(--paper);position:relative}
  section.tight{padding-top:10px}
  .contact h1.ch1{font-family:'Bodoni Moda',serif;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;color:#FAF7F0;margin:18px 0 18px}

  /* siguientes pasos / tarjetas */
  .next-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto;border:1px solid var(--rule);background:var(--paper);position:relative}
  .ncard{display:block;padding:34px 26px;border-right:1px solid var(--rule);text-align:left;transition:background .3s}
  .ncard:last-child{border-right:none}
  .ncard:hover{background:var(--paper-2)}
  .ncard.pick{background:var(--ink)}
  .ncard.pick h3{color:#FAF7F0}.ncard.pick p{color:#DCD3C2}.ncard.pick span{color:#E2D8C5}
  .ncard.pick:hover{background:#2B2823}
  .ncard h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.35rem;color:var(--ink);margin-bottom:10px}
  .ncard p{font-size:.92rem;color:var(--muted);margin-bottom:18px}
  .ncard span{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:500}

  .terms.four{grid-template-columns:repeat(4,1fr);max-width:1000px}
  .terms div{background:var(--paper);position:relative}

  /* bonos */
  .bgrid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1040px;margin:0 auto 20px;border:1px solid var(--rule);background:var(--paper);position:relative}
  .bcard{padding:32px 22px;border-right:1px solid var(--rule);text-align:center;display:flex;flex-direction:column;align-items:center}
  .bcard:last-child{border-right:none}
  .bcard.pick{background:var(--paper-2)}
  .bcard h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.3rem;color:var(--ink);margin:4px 0 10px}
  .bcard p{font-size:.9rem;color:var(--muted);margin-bottom:22px;flex:1}
  .bcard a{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:500;border-bottom:1px solid var(--taupe);padding-bottom:4px}

  /* eventos */
  .evgrid{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto 30px;border-top:1px solid var(--rule);background:var(--paper);position:relative}
  .evgrid > div{padding:30px 26px;border-bottom:1px solid var(--rule);text-align:left}
  .evgrid > div:nth-child(odd){border-right:1px solid var(--rule)}
  .evgrid .n{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.16em;color:var(--label);font-weight:500}
  .evgrid h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.35rem;color:var(--ink);margin:10px 0 8px}
  .evgrid p{font-size:.93rem;color:var(--muted)}

  /* inscripción: pasos */
  .steps4{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto;border:1px solid var(--rule);background:var(--paper);position:relative}
  .steps4 > div{padding:24px 18px;border-right:1px solid var(--rule);text-align:center}
  .steps4 > div:last-child{border-right:none}
  .steps4 .n{font-family:'DM Mono',monospace;font-size:.74rem;letter-spacing:.16em;color:var(--label);font-weight:500;display:block;margin-bottom:8px}
  .steps4 b{display:block;font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.12rem;color:var(--ink);margin-bottom:6px}
  .steps4 p{font-size:.88rem;color:var(--muted)}
  .insc .hint a{color:#FAF7F0;border-bottom:1px solid currentColor}
  label.chk a{color:#FAF7F0;border-bottom:1px solid currentColor}

  /* privadas: "desde" */
  .ppl .amt small.from{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.08em;color:var(--muted);font-weight:400;margin-right:4px;vertical-align:middle}

  /* sobre mí */
  .about{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;max-width:1000px;margin:0 auto;align-items:center;background:var(--paper);position:relative}
  .about-img img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.03)}
  .about-txt{text-align:left}
  .about-txt p{margin-bottom:18px;color:var(--ink-soft)}
  .about-txt p.big{font-family:'Bodoni Moda',serif;font-size:1.35rem;line-height:1.45;color:var(--ink)}
  .cred{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
  .cred p{font-size:.93rem;color:var(--muted);margin-top:6px}
  .phil{max-width:680px;margin:0 auto 56px;text-align:center}
  .phil p{color:#DCD3C2;font-size:1.05rem;margin-bottom:20px}
  .phil p.em{font-family:'Bodoni Moda',serif;font-style:italic;font-size:clamp(1.35rem,2.8vw,1.8rem);line-height:1.4;color:#FAF7F0}
  .pil3{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto;border-top:1px solid rgba(242,237,227,.3)}
  .pil3 > div{padding:26px 20px;text-align:center;border-right:1px solid rgba(242,237,227,.3)}
  .pil3 > div:last-child{border-right:none}
  .pil3 h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.25rem;color:#FAF7F0;margin-bottom:8px}
  .pil3 p{font-size:.9rem;color:#D2C9B8}
  .manifesto{list-style:none;max-width:720px;margin:0 auto 64px;border-top:1px solid var(--rule);background:var(--paper);position:relative}
  .manifesto li{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:baseline;padding:20px 4px;border-bottom:1px solid var(--rule);text-align:left}
  .manifesto span{font-family:'DM Mono',monospace;font-size:.74rem;color:var(--label);font-weight:500;letter-spacing:.12em}
  .manifesto p{font-family:'Bodoni Moda',serif;font-size:clamp(1.12rem,2.3vw,1.4rem);line-height:1.4;color:var(--ink)}
  .vm{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto;border:1px solid var(--rule);background:var(--paper);position:relative}
  .vm > div{padding:34px 28px;text-align:left}
  .vm > div:first-child{border-right:1px solid var(--rule)}
  .vm .tag{display:block;margin-bottom:12px}
  .vm p{font-size:.98rem;color:var(--ink-soft)}

  /* legales */
  .legal{max-width:760px;margin:0 auto;text-align:left;background:var(--paper);position:relative;padding:4px 0}
  .legal h2{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.3rem;color:var(--ink);margin:34px 0 12px}
  .legal p,.legal li{font-size:.96rem;color:var(--ink-soft);margin-bottom:10px}
  .legal ul{margin:0 0 12px 20px}
  .legal .prevail{font-family:'DM Mono',monospace;font-size:.74rem;color:var(--muted);border:1px solid var(--rule);padding:10px 14px}
  mark.ph{background:#FCE5CD;color:#7F4F00;padding:0 4px;font-weight:600}

  /* gracias */
  .thanks{padding-bottom:110px}
  .wa-box{max-width:560px;margin:40px auto 0;border:1px solid var(--rule);padding:30px 24px;background:var(--paper-2);position:relative}
  .wa-box p{font-size:.95rem;color:var(--ink-soft);margin-bottom:20px}
  .wa-box .lbl2{margin-top:24px}
  .wa-box pre{white-space:pre-wrap;text-align:left;font-family:'DM Mono',monospace;font-size:.8rem;line-height:1.7;color:var(--ink);background:var(--paper);border:1px solid var(--rule);padding:14px 16px;margin-top:8px}

  /* pie */
  .ftag{font-size:.92rem;color:var(--muted);max-width:44ch;margin:-12px auto 26px}
  .fcontact{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
  .fcontact a{font-family:'DM Mono',monospace;font-size:.74rem;color:var(--ink)}
  .fcontact a:hover{color:var(--label)}
  .fbot a:hover{color:var(--ink)}

  @media(max-width:900px){
    .next-grid,.bgrid,.steps4{grid-template-columns:1fr 1fr}
    .ncard:nth-child(2),.bcard:nth-child(2),.steps4 > div:nth-child(2){border-right:none}
    .next-grid .ncard:nth-child(-n+2),.bgrid .bcard:nth-child(-n+2),.steps4 > div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
    .next-grid .ncard:last-child{grid-column:1/-1}
    .terms.four{grid-template-columns:1fr 1fr}
    .about{grid-template-columns:1fr;gap:34px}
    .about-img{max-width:320px;margin:0 auto}
  }
  @media(max-width:620px){
    .next-grid,.bgrid,.steps4,.evgrid,.vm,.pil3{grid-template-columns:1fr}
    .ncard,.bcard,.steps4 > div,.pil3 > div{border-right:none;border-bottom:1px solid var(--rule)}
    .pil3 > div{border-bottom-color:rgba(242,237,227,.3)}
    .ncard:last-child,.bcard:last-child,.steps4 > div:last-child{border-bottom:none}
    .evgrid > div:nth-child(odd){border-right:none}
    .vm > div:first-child{border-right:none;border-bottom:1px solid var(--rule)}
    .terms.four{grid-template-columns:1fr}
    .page-head{padding:60px 0 40px}
  }
  @media (prefers-color-scheme: dark){
    mark.ph{background:#5A4630;color:#FCE5CD}
    .ncard.pick{background:#0E0D0B}
  }

  /* =================== FOTOS =================== */
  .ages .head p{background:var(--paper);position:relative}
  .ages-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;max-width:1080px;margin:0 auto}
  .ages-grid figure{margin:0;overflow:hidden;background:var(--paper-2)}
  .ages-grid img{width:100%;height:clamp(300px,42vw,520px);object-fit:cover}
  .split{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;max-width:1040px;margin:0 auto 60px;align-items:center;background:var(--paper);position:relative}
  .split-img{margin:0}
  .split-img{width:100%}
  .split-img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
  .split .kicker{text-align:left}
  .split .first{grid-template-columns:1fr;margin:0}
  .split .first > div{text-align:left;border-right:none}
  .split .evgrid{grid-template-columns:1fr;margin:0}
  .split .evgrid > div{border-right:none !important}
  @media(max-width:820px){
    .split{grid-template-columns:1fr;gap:30px}
    .split-img{max-width:420px;margin:0 auto}
    .ages-grid{grid-template-columns:1fr}
    .ages-grid img{height:auto;aspect-ratio:4/3}
  }


  /* =================== AJUSTES SEPT =================== */
  .bw img{filter:grayscale(1)}
  .about-img img{height:auto;display:block;object-position:50% 50%}
  .chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
  .chips li{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.06em;color:var(--ink);border:1px solid var(--rule);padding:7px 12px}
  .chooser{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto;border:1px solid var(--rule);background:var(--paper);position:relative}
  .chooser a{display:block;padding:34px 28px;text-align:left;transition:background .3s}
  .chooser a:first-child{border-right:1px solid var(--rule)}
  .chooser a:hover{background:var(--paper-2)}
  .chooser .tag{display:block;margin-bottom:12px}
  .chooser h3{font-family:'Bodoni Moda',serif;font-weight:600;font-size:1.35rem;color:var(--ink);margin-bottom:8px;line-height:1.25}
  .chooser p{font-size:.93rem;color:var(--muted);margin-bottom:16px}
  .chooser .go{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:500}
  .bgrid.three{grid-template-columns:repeat(3,1fr);max-width:900px}
  .next-grid.two{grid-template-columns:1fr 1fr;max-width:760px}
  .next-grid.two .ncard:last-child{grid-column:auto}
  #mensualidad .head p,#visitantes .head p{background:var(--paper);position:relative}
  @media(max-width:900px){
    .bgrid.three{grid-template-columns:1fr}
    .bgrid.three .bcard{border-right:none;border-bottom:1px solid var(--rule)}
    .bgrid.three .bcard:last-child{border-bottom:none}
  }
  @media(max-width:620px){
    .chooser,.next-grid.two{grid-template-columns:1fr}
    .chooser a:first-child{border-right:none;border-bottom:1px solid var(--rule)}
    .next-grid.two .ncard:first-child{border-bottom:1px solid var(--rule)}
  }

  /* ---------- VERSIÓN OSCURA CONTROLADA ----------
     Si el móvil fuerza el modo oscuro, la web se adapta con sus
     propios colores en vez de dejar que el navegador los invente. */
  @media (prefers-color-scheme: dark){
    :root{
      --paper:#1A1815;
      --paper-2:#221F1B;
      --sand:#3A342B;
      --taupe:#B5A489;
      --ink:#FAF7F0;
      --ink-soft:#DCD3C2;
      --muted:#ABA294;
      --label:#CFC3A8;
      --rule:rgba(250,247,240,.2);
      --rule-soft:rgba(250,247,240,.1);
    }
    header{background:rgba(26,24,21,.92)}
    .burger span{background:var(--ink)}
    /* bloques que ya eran oscuros: un punto más profundos para que se distingan */
    .dark,.contact,.plan.pick{background:#0E0D0B}
    .roster{border-top-color:rgba(250,247,240,.26)}
    .item{border-bottom-color:rgba(250,247,240,.26)}
    input,select,textarea{color:#FAF7F0;border-bottom-color:rgba(250,247,240,.4)}
    select option{color:#1A1815;background:#FAF7F0}
    form .btn{border-color:#FAF7F0;color:#FAF7F0}
    form .btn:hover{background:#FAF7F0;color:#0E0D0B}
    .btn-fill{background:#FAF7F0;color:#0E0D0B}
    .btn-fill:hover{background:transparent;color:#FAF7F0}
    .portrait img{filter:grayscale(1) contrast(1.02) brightness(1.06)}
    .spine-fill{opacity:.7}
  }

  @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
