/* Estilos compartidos del blog (paleta Cielo aire + componentes de los posts). Cambia aquí y se actualizan todos los posts. */

  :root{
    /* Paleta — inspirada en la referencia: menta + verde profundo + rosa + toques de confeti */
    --mint-50:#F3FAF7;
    --mint-100:#E4F3EC;
    --mint-200:#C9E9DD;
    --aqua:#BFEAE6;
    --pink-100:#FBE9EA;
    --pink-200:#F6D3D7;
    --green-700:#1F5C4C;   /* primario (botones) */
    --green-600:#2C7562;
    --green-500:#4E9A84;   /* banda verde */
    --ink:#16302A;         /* texto principal */
    --ink-soft:#4B635C;    /* texto secundario */
    --white:#FFFFFF;
    --coral:#F2785C;
    --sun:#F5C04A;
    --navy:#2F3A8F;
    --berry:#D9467A;
    --sky:#5CB8E6;

    --radius-sm:12px;
    --radius:20px;
    --radius-lg:32px;
    --shadow:0 10px 30px -12px rgba(22,48,42,.18);
    --shadow-lg:0 24px 60px -20px rgba(22,48,42,.28);
    --maxw:1180px;
    /* Espacio entre secciones: cambia SOLO este valor y se ajusta toda la página */
    --section-space:clamp(96px,9vw,136px);
    --header-h:76px;
    --font-head:"Lexend Deca", system-ui, sans-serif;
    --font-body:"Poppins", system-ui, sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html{overflow-x:clip;-webkit-tap-highlight-color:transparent}
  a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
  body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--mint-50);line-height:1.6;font-size:17px;overflow-x:hidden;overflow-x:clip}
  img{max-width:100%;display:block}
  a{color:inherit}
  h1,h2,h3{font-family:var(--font-head);line-height:1.08;margin:0;letter-spacing:-.02em}
  h1{font-size:clamp(2.4rem,5.6vw,4.2rem);font-weight:800}
  h2{font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:700}
  h3{font-size:1.25rem;font-weight:700}
  p{margin:0}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  section{position:relative;padding:var(--section-space) 0}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600);margin-bottom:14px}
  .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}
  .lead{color:var(--ink-soft);font-size:1.1rem;max-width:56ch}
  .center{text-align:center}
  .center .lead{margin-left:auto;margin-right:auto}

  /* Botones */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease}
  .btn-primary{background:var(--green-700);color:var(--white)}
  .btn-primary:hover{background:var(--green-600);transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn-ghost{border-color:var(--green-700);color:var(--green-700);background:transparent}
  .btn-ghost:hover{background:var(--green-700);color:var(--white)}
  .btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
  .btn svg{width:18px;height:18px}

  /* Confeti */
  .confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
  .confetti i{position:absolute;display:block;border-radius:2px;opacity:.9}
  .confetti i.dot{border-radius:50%}
  section > .wrap{position:relative;z-index:1}

  /* NAV */
  header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--mint-50) 85%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(31,92,76,.08)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
  .logo{font-family:var(--font-head);font-weight:800;font-size:1.5rem;text-decoration:none;color:var(--green-700);display:flex;align-items:center;gap:10px}
  /* Logo: iniciales "aa" (Arian Alpiste) */
  .logo-mark{display:inline-flex;align-items:baseline;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:24px;line-height:1;letter-spacing:-.14em;padding:7px calc(9px + .14em) 9px 9px;border-radius:12px;background:var(--green-700);color:#fff}
  .logo-mark::before{content:"a"}
  .logo-mark::after{content:"a";color:#FF9A7E}
  .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
  .nav-links a{text-decoration:none;font-weight:500;color:var(--ink-soft);font-size:.96rem;padding:8px 0;transition:color .2s}
  .nav-links a:hover{color:var(--green-700)}
  .nav-cta{display:flex;gap:10px}
  .nav-cta .btn{min-height:44px;padding:0 20px;font-size:.9rem}
  .menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:var(--green-700)}
  .mobile-menu{background:var(--white);border-top:1px solid var(--mint-200);padding:8px 16px 20px;box-shadow:var(--shadow)}
  .mobile-menu ul{list-style:none;margin:0 0 16px;padding:0}
  .mobile-menu li a{display:flex;align-items:center;min-height:52px;text-decoration:none;font-weight:700;font-size:1.05rem;border-bottom:1px solid var(--mint-200)}
  .mobile-menu .btn{width:100%}

  /* HERO */
  .hero{min-height:calc(100svh - var(--header-h));display:flex;align-items:center;padding:48px 0 var(--section-space);background:linear-gradient(180deg,var(--mint-100),var(--mint-50))}
  .hero > .wrap{width:100%}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
  .hero .hero-title{font-family:var(--font-head);font-weight:800;font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.08;letter-spacing:-.02em;margin:0;color:var(--ink)}
  .hero h1.eyebrow{font-family:var(--font-body);line-height:1.6;letter-spacing:.12em}
  .hero .hero-title span{color:var(--green-600);position:relative;white-space:nowrap}
  .hero .hero-title span::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.28em;background:var(--sun);opacity:.55;z-index:-1;border-radius:6px}
  .hero .lead{margin:22px 0 32px}
  .hero-actions{display:flex;gap:12px;flex-wrap:nowrap}
  .hero-actions .btn{white-space:nowrap;padding:0 20px}
  .br-sm{display:none}
  .hero-stats{display:flex;gap:32px;margin-top:40px;flex-wrap:wrap}
  .hero-stats strong{font-family:var(--font-head);font-size:1.8rem;display:block;color:var(--green-700)}
  .hero-stats span{font-size:.9rem;color:var(--ink-soft)}
  .hero-visual{position:relative;aspect-ratio:1/1;max-width:520px;justify-self:center;width:100%}
  .hero-circle{position:absolute;inset:8% 0 0 8%;border-radius:50%;background:var(--aqua)}
  .hero-photo{position:absolute;inset:0 6% 6% 0;border-radius:50% 50% 46% 54% / 58% 52% 48% 42%;overflow:hidden;box-shadow:var(--shadow-lg)}
  .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
  .badge-float{position:absolute;background:var(--white);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;font-size:.88rem;font-weight:500}
  .badge-float b{display:block;font-family:var(--font-head);font-size:1rem}
  .badge-float .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
  .badge-1{left:-6%;top:4%}
  .badge-1 .ico{background:var(--pink-200);color:var(--berry)}
  .badge-2{right:-4%;bottom:2%}
  .badge-2 .ico{background:#FFF1CC;color:#A86F00}

  /* SERVICIOS — tarjeta grande con 3 */
  .services-card{margin-top:52px;background:var(--white);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .service{display:flex;flex-direction:column;gap:14px}
  .service-img{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.3}
  .service-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  .service:hover .service-img img{transform:scale(1.05)}
  .service-tag{position:absolute;top:12px;left:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--white)}
  .service p{color:var(--ink-soft);font-size:.96rem}
  .service-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px dashed var(--mint-200);font-size:.9rem}
  .service-meta strong{color:var(--coral)}
  .service-meta a{font-weight:700;color:var(--green-700);text-decoration:none}
  .carousel-dots{display:none;justify-content:center;gap:4px;margin-top:4px}
  .carousel-dots button{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
  .carousel-dots button::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--mint-200);transition:width .25s ease, background .25s ease}
  .carousel-dots button[aria-current="true"]::before{width:22px;background:var(--green-700)}

  /* SOBRE MÍ — split con mancha rosa */
  .about{background:var(--white)}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .split .lead{margin:20px 0 28px}
  .checklist{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:12px}
  .checklist li{display:flex;gap:12px;align-items:flex-start}
  .checklist svg{flex:none;width:24px;height:24px;color:var(--green-600);margin-top:2px}
  .about-visual{position:relative;max-width:480px;justify-self:center;width:100%}
  .blob-pink{position:absolute;inset:-6% -8% 10% 14%;background:var(--pink-200);border-radius:42% 58% 36% 64% / 52% 38% 62% 48%;transform:rotate(-6deg)}
  .about-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-lg)}
  .about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
  .sticker{position:absolute;right:-18px;bottom:28px;background:var(--sun);color:var(--ink);font-family:var(--font-head);font-weight:800;font-size:.95rem;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;text-align:center;line-height:1.15;transform:rotate(10deg);box-shadow:var(--shadow)}

  /* PORTFOLIO — banda verde */
  .portfolio{padding-bottom:0;background:var(--mint-50)}
  .portfolio-stage{position:relative;margin-top:52px;padding-bottom:var(--section-space)}
  .portfolio-stage::before{content:"";position:absolute;left:0;right:0;top:150px;bottom:0;background:var(--green-500)}
  .gallery{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:32px 24px}
  .gallery .shot{width:calc((100% - 48px)/3)}
  .shot{margin:0}
  .shot .frame{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);border:6px solid var(--white)}
  .shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  .shot:hover img{transform:scale(1.05)}
  .shot figcaption{color:var(--white);margin-top:18px}
  .shot figcaption small{opacity:.8;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
  .shot figcaption h3{margin:4px 0 6px}
  .shot figcaption p{opacity:.88;font-size:.95rem}
  .shot[hidden]{display:none}
  .shot.pop{animation:pop .45s ease both}
  @keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
  .portfolio-more{position:relative;text-align:center;margin-top:44px}
  .btn-light{background:var(--white);color:var(--green-700)}
  .btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
  .pills{position:relative;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:28px auto 0;background:var(--aqua);padding:6px;border-radius:999px;width:max-content;max-width:100%}
  .pills button{border:0;background:transparent;font:inherit;font-weight:700;font-size:.92rem;color:var(--green-700);padding:0 20px;min-height:44px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
  .pills button[aria-pressed="true"],.pills button:hover{background:var(--green-700);color:var(--white)}

  /* PROCESO */
  .process{background:var(--pink-100)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px;counter-reset:step}
  .step{background:var(--white);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);position:relative}
  .step::before{counter-increment:step;content:counter(step);font-family:var(--font-head);font-weight:800;font-size:1.1rem;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;color:var(--white)}
  .step:nth-child(1)::before{background:var(--coral)}
  .step:nth-child(2)::before{background:var(--sky)}
  .step:nth-child(3)::before{background:var(--sun);color:var(--ink)}
  .step:nth-child(4)::before{background:var(--green-600)}
  .step p{color:var(--ink-soft);font-size:.95rem;margin-top:8px}

  /* PAQUETES */
  .pricing{background:var(--mint-100)}
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;align-items:stretch}
  .plan{background:var(--white);border-radius:var(--radius-lg);padding:34px 30px;display:flex;flex-direction:column;border:2px solid transparent;box-shadow:var(--shadow);transition:transform .25s ease}
  .plan:hover{transform:translateY(-4px)}
  .plan.featured{border-color:var(--green-700);position:relative}
  .plan.featured .ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--coral);color:var(--white);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
  .plan .price{font-family:var(--font-head);font-size:2.6rem;font-weight:800;color:var(--green-700);margin:14px 0 4px}
  .plan .price small{font-size:1rem;color:var(--ink-soft);font-weight:500}
  .plan > p{color:var(--ink-soft);font-size:.95rem}
  .plan ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:8px;font-size:.95rem;line-height:1.45}
  .plan li{display:flex;gap:10px}
  .plan li svg{flex:none;width:20px;height:20px;color:var(--green-600);margin-top:1px}
  .plan li b{font-weight:700;color:var(--green-700)}
  .plan .btn{margin-top:auto}
  .pricing[data-mode="foto"] .v-only,.pricing[data-mode="video"] .f-only{display:none!important}
  .mode-switch{margin-top:24px}
  .family-chip{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:6px 18px 6px 6px;background:#FFF1C9;border:1px solid #FFE08A;border-radius:999px;text-decoration:none;color:var(--ink);font-size:.95rem;transition:transform .2s ease, box-shadow .2s ease}
  .family-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
  .family-chip .ico{flex:none;width:34px;height:34px;border-radius:50%;background:var(--sky);color:var(--white);display:grid;place-items:center}
  .family-chip .ico svg{width:18px;height:18px}
  .family-chip b{color:var(--green-700)}
  .family-chip .sm{display:none}
  .inline-link{color:var(--green-700);font-weight:700;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:3px}
  .inline-link:hover{text-decoration-color:var(--green-700)}
  .plans-foot{text-align:center;margin-top:36px;color:var(--ink-soft);font-size:.95rem}
  .plans-foot a{font-weight:700;color:var(--green-700);text-decoration:none}

  /* TESTIMONIOS */
  .testimonials{background:var(--white)}
  .quotes{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:stretch}
  .quote-photo{border-radius:var(--radius-lg);overflow:hidden;position:relative;background:var(--sun);min-height:100%}
  .quote-photo img{position:absolute;inset:0;object-position:50% 70%}
  .quote-photo img{width:100%;height:100%;object-fit:cover}
  .quote-list{display:grid;gap:18px;margin-top:28px}
  .quote{display:flex;gap:16px;padding:20px;border-radius:var(--radius);background:var(--mint-50);border:1px solid var(--mint-200)}
  .quote img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
  .quote p{font-size:.98rem}
  .quote cite{display:block;font-style:normal;font-weight:700;font-size:.88rem;margin-top:6px;color:var(--green-700)}
  .quote cite span{font-weight:500;color:var(--ink-soft)}
  .quote img.logo-avatar{background:#F5ECE6;border:1px solid var(--mint-200)}
  .stars{display:flex;gap:2px;color:var(--sun);margin-bottom:4px}
  .stars svg{width:16px;height:16px}

  /* FAQ */
  .faq{background:var(--mint-50)}
  .faq-list{max-width:780px;margin:48px auto 0;display:grid;gap:14px}
  details{background:var(--white);border-radius:var(--radius);padding:4px 24px;box-shadow:0 2px 0 var(--mint-200)}
  summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;font-weight:700;font-size:1.04rem}
  summary::-webkit-details-marker{display:none}
  summary .plus{flex:none;width:36px;height:36px;border-radius:50%;background:var(--aqua);color:var(--green-700);display:grid;place-items:center;transition:transform .25s ease, background .2s}
  details[open] summary .plus{transform:rotate(45deg);background:var(--green-700);color:var(--white)}
  details p{color:var(--ink-soft);padding:0 0 20px}
  .faq-answer{color:var(--ink-soft);padding:0 0 20px}
  .faq-answer p{padding:0 0 8px}
  .faq-answer ul{margin:0;padding-left:20px;display:grid;gap:8px}
  .faq-answer b{color:var(--ink)}

  /* CTA / CONTACTO */
  .contact{background:var(--pink-100)}
  .contact-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden}
  .contact-info{background:var(--green-700);color:var(--white);padding:48px 44px;position:relative;overflow:hidden}
  .contact-info .lead{color:rgba(255,255,255,.85);margin:16px 0 32px}
  .contact-info .eyebrow{color:var(--aqua)}
  .contact-lines{display:grid;gap:16px}
  .contact-lines a{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:500}
  .contact-lines .ico{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
  .contact-lines svg{width:20px;height:20px}
  .contact-info::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--green-600);right:-70px;bottom:-70px;z-index:0}
  .contact-info > *{position:relative;z-index:1}
  .contact-lines a{word-break:break-word}
  form{padding:44px;display:grid;gap:18px}
  .field{display:grid;gap:6px}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  label{font-weight:700;font-size:.9rem}
  input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--mint-50);border:2px solid var(--mint-200);border-radius:var(--radius-sm);padding:12px 14px;min-height:48px;transition:border-color .2s, background .2s}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-600);background:var(--white)}
  textarea{min-height:110px;resize:vertical}
  .help{font-size:.82rem;color:var(--ink-soft)}

  /* FOOTER */
  footer{background:var(--ink);color:rgba(255,255,255,.8);padding:56px 0 32px;font-size:.94rem}
  .foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
  footer .logo{color:var(--white)}
  footer .logo-mark{background:var(--green-600)}
  .foot-links{display:flex;gap:24px;flex-wrap:wrap;list-style:none;padding:0;margin:0;min-height:44px;align-items:center}
  .foot-links a{text-decoration:none;white-space:nowrap}
  .foot-links a:hover{color:var(--white)}
  .social{display:flex;gap:10px}
  .social a{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .2s}
  .social a:hover{background:var(--green-600)}
  .social svg{width:20px;height:20px}
  .copy{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;font-size:.84rem;color:rgba(255,255,255,.55)}

  /* Reveal al hacer scroll */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  /* La primera sección (portada) se ve desde el primer pintado: sin esperar a los scripts ni a la animación */
  main > section:first-of-type .reveal,main > article > section:first-of-type .reveal{opacity:1;transform:none;transition:none}


  /* ===== PALETAS =====
     Activa:   CIELO AIRE  (portada blanca, secciones alternan blanco / celeste / amarillo)
     Guardada: BOSQUE AIRE (portada blanca, secciones crema / salvia / beige) — para fechas especiales.
     Para cambiar: en la etiqueta <html> de arriba pon data-theme="bosque-aire" en vez de "cielo-aire". */
  [data-theme="bosque-aire"]{--mint-50:#FFFFFF;--mint-100:#FFFFFF;--mint-200:#E9E7D6;--aqua:#E5DFB0;--pink-100:#FFFFFF;--pink-200:#EFD3B5;--green-700:#3D5A2A;--green-600:#55763A;--green-500:#6E8F4E;--ink:#25301C;--ink-soft:#5A6450}
  [data-theme="cielo-aire"]{--mint-50:#FFFFFF;--mint-100:#FFFFFF;--mint-200:#DCEBF8;--aqua:#C9E5FA;--pink-100:#FFFFFF;--pink-200:#FFE7A3;--green-700:#1D4C8A;--green-600:#2C65B0;--green-500:#3F7DC4;--ink:#132A45;--ink-soft:#4A5F78}
  /* Aire: hero blanco + cada sección con su color */
  [data-theme="bosque-aire"] .hero{background:#FFFFFF}
  [data-theme="bosque-aire"] #servicios{background:#F7F6EC}
  [data-theme="bosque-aire"] #sobre-mi{background:#E8EFDC}
  [data-theme="bosque-aire"] #portfolio{background:#F7F6EC}
  [data-theme="bosque-aire"] .process{background:#F6E9D9}
  [data-theme="bosque-aire"] #paquetes{background:#EEECD8}
  [data-theme="bosque-aire"] #testimonios{background:#E8EFDC}
  [data-theme="bosque-aire"] #faq{background:#F7F6EC}
  [data-theme="bosque-aire"] #contacto{background:#F6E9D9}
  [data-theme="cielo-aire"] .hero{background:#FFFFFF}
  [data-theme="cielo-aire"] #servicios{background:#E6F1FC}
  [data-theme="cielo-aire"] #sobre-mi{background:#FFFFFF}
  [data-theme="cielo-aire"] #portfolio{background:#E6F1FC}
  [data-theme="cielo-aire"] .process{background:#FFFFFF}
  [data-theme="cielo-aire"] #paquetes{background:#FFFFFF}
  [data-theme="cielo-aire"] #testimonios{background:#E6F1FC}
  [data-theme="cielo-aire"] #faq{background:#E6F1FC}
  [data-theme="cielo-aire"] #contacto{background:#FFF1C9}
  [data-theme="cielo-aire"] #faq details{background:#FFFFFF}
  /* Cómo funciona sobre blanco: tarjetas celestes con barra de color */
  [data-theme="cielo-aire"] .process .step{background:#EEF6FD;box-shadow:none;border:1px solid #DCEBF8;overflow:hidden}
  [data-theme="cielo-aire"] .process .step::after{content:"";position:absolute;left:0;right:0;top:0;height:5px}
  [data-theme="cielo-aire"] .process .step:nth-child(1)::after{background:var(--coral)}
  [data-theme="cielo-aire"] .process .step:nth-child(2)::after{background:var(--sky)}
  [data-theme="cielo-aire"] .process .step:nth-child(3)::after{background:var(--sun)}
  [data-theme="cielo-aire"] .process .step:nth-child(4)::after{background:var(--green-600)}
  [data-theme="cielo-aire"] #paquetes .plan{border-color:#DCEBF8}
  [data-theme="cielo-aire"] #paquetes .plan.featured{border-color:var(--green-700)}

  /* Responsive */
  @media (max-width:980px){
    .nav-links,.nav-cta .btn-ghost{display:none}
    .menu-btn{display:grid;place-items:center}
    .hero-grid,.split,.quotes,.contact-card{grid-template-columns:1fr}
    /* Testimonios móvil: título → foto → comentarios */
    .quotes{gap:0}
    .quotes > .reveal:last-child{display:contents}
    .quotes .eyebrow{order:1;justify-self:start}
    .quotes h2{order:2}
    .quote-photo{order:3;min-height:0;aspect-ratio:4/3;margin-top:24px}
    .quote-list{order:4;margin-top:24px}
    .hero-visual{max-width:420px}
    .services-card,.plans{grid-template-columns:1fr}
    .gallery .shot{width:calc((100% - 24px)/2)}
    .steps{grid-template-columns:1fr 1fr}
    /* Sobre mí: título → foto → texto */
    .about .split{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .about .split > .reveal:first-child{display:contents}
    .about .eyebrow{order:1;align-self:flex-start}
    .about h2{order:2}
    .about-visual{order:3;max-width:400px;align-self:center;margin:28px auto 32px}
    .about .lead{order:4;margin-top:0}
    .about .checklist{order:5}
    .about .hero-actions{order:6}
  }
  @media (max-width:640px){
    body{font-size:16px}
    :root{--section-space:72px}
    .wrap{padding:0 16px}
    /* Barra superior compacta */
    .nav{height:64px;gap:8px}
    .logo{font-size:1.2rem;gap:8px}
    .logo-mark{font-size:21px;padding:6px calc(8px + .14em) 8px 8px;border-radius:10px}
    .nav-cta .btn{min-height:40px;padding:0 16px;font-size:.85rem}
    .hide-sm{display:none}
    .menu-btn{margin-right:-8px}
    .steps,.row{grid-template-columns:1fr}
    .portfolio-stage::before{top:70px}
    /* Portafolio: carrusel deslizable */
    .gallery{flex-wrap:nowrap;justify-content:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:6px 16px 8px;margin:0 -16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .gallery::-webkit-scrollbar{display:none}
    .gallery .shot{width:auto;flex:0 0 84%;scroll-snap-align:start}
    .shot .frame{border-width:5px;border-radius:22px}
    .shot figcaption{margin-top:12px}
    .portfolio .carousel-dots{position:relative;margin-top:14px}
    .portfolio .carousel-dots button::before{background:rgba(255,255,255,.45)}
    .portfolio .carousel-dots button[aria-current="true"]::before{background:var(--white)}
    /* Hero móvil: foto compacta arriba, texto, botones en fila y datos en tarjeta */
    .hero{min-height:0;display:block;padding:20px 0 var(--section-space)}
    /* Orden: título centrado → foto → texto, botones y datos */
    .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .hero-grid > .reveal:first-child{display:contents}
    .hero .eyebrow{order:1;align-self:center;margin-bottom:10px;font-size:.68rem;letter-spacing:.06em;white-space:nowrap}
    .hero .hero-title{order:2;text-align:center;font-size:clamp(1.45rem,8.2vw,2.2rem)}
    .br-lg{display:none}
    .br-sm{display:inline}
    .hero-visual{order:3;max-width:280px;margin:24px auto 22px;align-self:center}
    .hero .lead{order:4}
    .hero .hero-actions{order:5}
    .hero-stats{order:6}
    .hero .lead{margin:0 auto 22px;font-size:1rem;text-align:center}
    .badge-1{left:-4%;top:2%}
    .badge-2{right:-4%;bottom:0}
    .badge-float{padding:6px 10px;font-size:.64rem;gap:6px;border-radius:12px;line-height:1.3}
    .badge-float b{font-size:.72rem}
    .badge-float .ico{width:24px;height:24px;border-radius:8px}
    .badge-float .ico svg{width:13px;height:13px}
    .sticker{right:0}
    .contact-info,form{padding:32px 22px}
    .contact-info::after{width:140px;height:140px;right:-60px;bottom:-60px}
    .foot-links{flex-wrap:nowrap;gap:14px;font-size:.86rem;width:100%;justify-content:space-between}
    /* Servicios: carrusel deslizable */
    .services-card{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;background:none;box-shadow:none;border-radius:0;padding:6px 16px 22px;margin:32px -16px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .services-card::-webkit-scrollbar{display:none}
    .services-card .service{flex:0 0 84%;scroll-snap-align:start;background:var(--white);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
    .carousel-dots{display:flex}
    /* Cómo funciona: carrusel deslizable */
    .steps{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:6px 16px 22px;margin:32px -16px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .steps::-webkit-scrollbar{display:none}
    .steps .step{flex:0 0 78%;scroll-snap-align:start}
    /* Paquetes: carrusel deslizable */
    .plans{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:22px 16px 22px;margin:20px -16px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch}
    .plans::-webkit-scrollbar{display:none}
    .plans .plan{flex:0 0 86%;scroll-snap-align:start;padding:28px 22px}
    .plan:hover{transform:none}
    .plans-foot{margin-top:20px}
    .family-chip{font-size:.92rem;white-space:nowrap}
    .family-chip .lg{display:none}
    .family-chip .sm{display:inline}
          .pills{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
    .pills::-webkit-scrollbar{display:none}
    .pills{gap:2px}
    .pills button{padding:0 10px;flex:1 0 auto;font-size:.84rem}
    .hero .hero-actions{flex-wrap:nowrap}
    .hero .hero-actions .btn-primary{flex:1}
    .btn-wa{width:52px;padding:0!important;flex:none}
    .btn-wa .btn-label{display:none}
    .btn-wa svg{width:22px;height:22px}
    .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:24px;background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:14px 4px;text-align:center}
    .hero-stats > div + div{border-left:1px solid var(--mint-200)}
    .hero-stats strong{font-size:1.35rem}
    .hero-stats span{font-size:.74rem;line-height:1.25;display:block;padding:0 4px}
    #sobre-mi .hero-actions{flex-wrap:wrap}
  }
  @media (max-width:360px){.foot-links{gap:8px;font-size:.76rem}}
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
  }
  /* ===== Página reservar ===== */
  .book-hero{padding:56px 0 24px;text-align:center;background:#fff}
  .book-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}
  .book-hero h1 span{color:var(--green-600);position:relative;white-space:nowrap}
  .book-hero h1 span::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.28em;background:var(--sun);opacity:.55;z-index:-1;border-radius:6px}
  .book-hero .lead{margin:16px auto 0;max-width:54ch}
  .options{background:#fff;padding:32px 0 var(--section-space)}
  .options-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:0 auto}
  .option{position:relative;border-radius:var(--radius-lg);padding:32px 30px;display:flex;flex-direction:column;border:2px solid #DCEBF8;background:#fff;box-shadow:var(--shadow)}
  .option.main{border-color:var(--green-700)}
  .option .ribbon{position:absolute;top:-14px;left:30px;background:var(--coral);color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
  .option .ico{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;margin-bottom:18px}
  .option .ico svg{width:26px;height:26px}
  .option h2{font-size:1.6rem}
  .option > p{color:var(--ink-soft);margin:10px 0 18px}
  .option ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:9px;font-size:.96rem}
  .option li{display:flex;gap:10px}
  .option li svg{flex:none;width:20px;height:20px;color:var(--green-600);margin-top:1px}
  .option .btn{margin-top:auto}
  .option .note{margin-top:12px;font-size:.84rem;color:var(--ink-soft);text-align:center}
  .confirm{background:#E6F1FC;padding:var(--section-space) 0}
  [data-theme="bosque-aire"] .option{border-color:#E4E1C8}
  [data-theme="bosque-aire"] .option.main{border-color:var(--green-700)}
  [data-theme="bosque-aire"] .confirm{background:#E8EFDC}
  .confirm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
  .confirm-step{background:#fff;border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
  .confirm-step::before{content:"";position:absolute;left:0;right:0;top:0;height:5px}
  .confirm-step:nth-child(1)::before{background:var(--coral)}
  .confirm-step:nth-child(2)::before{background:var(--sky)}
  .confirm-step:nth-child(3)::before{background:var(--sun)}
  .confirm-step .n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--green-700);color:#fff;font-weight:800;font-size:.9rem;margin-bottom:12px}
  .confirm-step b{display:block;font-family:var(--font-head);font-size:1.1rem;margin-bottom:6px}
  .confirm-step p{color:var(--ink-soft);font-size:.95rem}
  @media (max-width:860px){
    .options-grid,.confirm-steps{grid-template-columns:1fr}
  }
  @media (max-width:640px){
    .book-hero{padding:44px 0 20px}
    .book-hero .lead{margin-top:20px}
    .options{padding:24px 0 72px}
    .options-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:24px 16px 26px;margin:0;max-width:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .options-grid::-webkit-scrollbar{display:none}
    .option{flex:0 0 86%;scroll-snap-align:start;padding:30px 22px 26px}
    .option > p{margin:12px 0 20px}
    .option ul{gap:12px;margin-bottom:28px}
    .confirm-steps{gap:18px;margin-top:28px}
    .confirm-step{display:flex;gap:14px;align-items:flex-start;padding:22px 20px 20px}
    .confirm-step .n{flex:none;margin:0}
  }
  /* Sobre mí en celular: foto más chica para que respire a los lados */
  @media (max-width:640px){
    .about-visual{width:80%;max-width:300px;margin:28px auto 36px}
    /* Testimonios en celular: foto y cajitas más compactas */
    .quote-photo{width:92%;justify-self:center}
    .quote-list{width:92%;justify-self:center;gap:14px}
    .quote{padding:16px;gap:12px}
    .quote img{width:42px;height:42px}
    .quote p{font-size:.92rem}
    .quote cite{font-size:.82rem}
  }


  /* ===== POST DEL BLOG ===== */
  .post-hero{padding:28px 0 72px;background:#fff}
  .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.86rem;color:var(--ink-soft);margin-bottom:28px}
  .crumbs a{text-decoration:none;color:var(--ink-soft)}
  .crumbs a:hover{color:var(--green-700);text-decoration:underline}
  .crumbs [aria-current]{color:var(--ink);font-weight:500}
  .crumbs .sep{opacity:.5}
  .post-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
  .post-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:800}
  /* Resaltado amarillo que sigue al texto aunque se parta en dos líneas */
  .post-hero h1 span{color:var(--green-600);background:linear-gradient(transparent 64%,color-mix(in srgb,var(--sun) 55%,transparent) 64% 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em}
  .post-hero .lead{margin:22px 0 0;max-width:52ch}
  .post-hero .lead strong{color:var(--ink)}
  .post-meta{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px dashed var(--mint-200);font-size:.9rem;color:var(--ink-soft)}
  .post-meta .avatar-mark{flex:none;font-size:20px;padding:8px calc(8px + .14em) 9px 8px}
  .post-meta .avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fff;box-shadow:0 0 0 2px var(--mint-200)}
  .post-meta b{display:block;color:var(--ink);font-size:.96rem}
  .post-meta .dot-sep{margin:0 6px;opacity:.5}
  .post-cover{position:relative;margin:0;max-width:520px;width:100%;justify-self:center}
  .post-cover .blob{position:absolute;inset:-5% -6% 12% 12%;background:var(--pink-200);border-radius:42% 58% 36% 64% / 52% 38% 62% 48%;transform:rotate(-5deg)}
  .post-cover .frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3.4;box-shadow:var(--shadow-lg)}
  .post-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
  .price-badge{position:absolute;left:-5%;bottom:8%;background:#fff;border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;font-size:.84rem;color:var(--ink-soft);line-height:1.3}
  .price-badge.right{left:auto;right:-5%}
  .price-badge .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#FFF1CC;color:#A86F00;flex:none}
  .price-badge .ico svg{width:20px;height:20px}
  .price-badge b{display:block;font-family:var(--font-head);font-size:1.15rem;color:var(--green-700)}

  /* ===== CUERPO DEL ARTÍCULO ===== */
  .post-body{padding:8px 0 var(--section-space);background:#fff}
  .post-grid{display:grid;grid-template-columns:250px minmax(0,720px);gap:64px;justify-content:center;align-items:start}
  /* Índice */
  .toc{position:sticky;top:calc(var(--header-h) + 24px);background:#EEF6FD;border:1px solid var(--mint-200);border-radius:var(--radius);padding:20px 18px}
  .toc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--ink)}
  .toc summary::-webkit-details-marker{display:none}
  .toc summary svg{width:18px;height:18px;transition:transform .2s;color:var(--green-700)}
  .toc[open] summary svg{transform:rotate(45deg)}
  .toc ol{list-style:none;margin:14px 0 0;padding:0;counter-reset:toc}
  .toc li{counter-increment:toc}
  .toc a{display:flex;gap:10px;padding:8px 10px;margin:0 -10px;border-radius:10px;text-decoration:none;font-size:.9rem;line-height:1.35;color:var(--ink-soft);transition:background .2s,color .2s}
  .toc a::before{content:counter(toc);flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:#fff;color:var(--green-700)}
  .toc a:hover{color:var(--green-700);background:#fff}
  .toc a.active{color:var(--green-700);font-weight:700;background:#fff}
  .toc a.active::before{background:var(--green-700);color:#fff}
  /* Texto */
  .prose{font-size:1.08rem;line-height:1.75;color:var(--ink)}
  .prose > * + *{margin-top:1.1em}
  .prose h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:2.4em;scroll-margin-top:calc(var(--header-h) + 20px)}
  .prose h2:first-child{margin-top:0}
  .prose h3{font-size:1.25rem;margin-top:1.8em;display:flex;align-items:center;gap:10px}
  .prose h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--coral);flex:none}
  .prose h2 + p,.prose h3 + p{margin-top:.6em}
  .prose p{color:#2B4058}
  .prose strong{color:var(--ink)}
  .prose a:not(.btn){color:var(--green-700);font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--sun) 80%,transparent);text-decoration-thickness:3px;text-underline-offset:3px}
  .prose a:not(.btn):hover{text-decoration-color:var(--green-700)}
  .prose ul.checks{list-style:none;padding:0}
  .prose ul.checks li{position:relative;padding-left:34px;margin-top:.55em}
  .prose ul.checks li svg{position:absolute;left:0;top:.2em;width:22px;height:22px;color:var(--green-600)}
  .prose ol.steps-list{padding-left:0;list-style:none;counter-reset:q}
  .prose ol.steps-list li{counter-increment:q;position:relative;padding-left:44px;margin-top:.9em}
  .prose ol.steps-list li::before{content:counter(q);position:absolute;left:0;top:.1em;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:.95rem;background:#FFF1C9;color:#8A5A00}
  /* Foto dentro del artículo */
  .post-figure{margin:2em 0}
  .post-figure img{border-radius:var(--radius);width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
  .post-figure figcaption{font-size:.88rem;color:var(--ink-soft);margin-top:10px;text-align:center}
  /* Consejo */
  .tip{display:flex;gap:16px;background:#FFF1C9;border-radius:var(--radius);padding:20px 22px;margin:1.8em 0}
  .tip .ico{width:42px;height:42px;border-radius:12px;background:#fff;display:grid;place-items:center;color:#A86F00;flex:none}
  .tip .ico svg{width:22px;height:22px}
  .tip b{display:block;font-family:var(--font-head);font-size:1.02rem;margin-bottom:2px}
  .tip p{font-size:1rem;line-height:1.6;color:var(--ink)}
  /* Tabla de precios */
  .price-table{width:100%;border-collapse:separate;border-spacing:0;margin:1.6em 0 .6em;font-size:.98rem;border:1px solid var(--mint-200);border-radius:var(--radius);overflow:hidden}
  .price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--mint-200)}
  .price-table thead th{background:var(--green-700);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.92rem}
  .price-table tbody tr:last-child td,.price-table tbody tr:last-child th{border-bottom:0}
  .price-table tbody th{font-family:var(--font-head);font-size:1.05rem}
  .price-table tbody th small{display:block;font-family:var(--font-body);font-weight:500;font-size:.78rem;color:var(--coral);text-transform:uppercase;letter-spacing:.08em}
  .price-table tr.featured{background:#EEF6FD}
  .price-table .money{font-family:var(--font-head);font-weight:800;color:var(--green-700);white-space:nowrap}
  .table-note{font-size:.88rem;color:var(--ink-soft)}
  /* Tarjetas: qué paquete según el evento */
  .event-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:1.6em 0}
  .pick{border:1px solid var(--mint-200);border-radius:var(--radius);padding:20px 18px;background:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column}
  .pick::after{content:"";position:absolute;left:0;right:0;top:0;height:5px}
  .pick:nth-child(1)::after{background:var(--sky)}
  .pick:nth-child(2)::after{background:var(--coral)}
  .pick:nth-child(3)::after{background:var(--sun)}
  .pick .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#EEF6FD;color:var(--green-700);margin-bottom:12px}
  .pick .ico svg{width:22px;height:22px}
  .pick h4{font-family:var(--font-head);font-size:1.08rem;margin:0 0 6px}
  .pick p{font-size:.94rem;line-height:1.55;margin-bottom:14px}
  .pick .ico{flex:none}
  /* Etiqueta siempre abajo, alineada entre las tres tarjetas */
  .pick .rec{align-self:flex-start;margin-top:auto;font-size:.8rem;font-weight:700;color:var(--green-700);background:#EEF6FD;border-radius:999px;padding:5px 12px}
  /* Llamado a la acción dentro del texto */
  .inline-cta{position:relative;overflow:hidden;background:var(--green-700);color:#fff;border-radius:var(--radius-lg);padding:30px 30px 30px;margin:2.4em 0;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
  .inline-cta::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--sun);opacity:.22;right:-50px;top:-70px}
  .inline-cta h3{color:#fff;font-size:1.35rem;display:block}
  .inline-cta h3::before{display:none}
  .inline-cta p{color:rgba(255,255,255,.85);font-size:.98rem;margin-top:6px}
  .inline-cta .actions{display:flex;flex-direction:column;gap:10px;position:relative}
  .inline-cta .btn-primary{background:var(--sun);color:var(--ink)}
  .inline-cta .btn-primary:hover{background:#FFD36E}
  .inline-cta .btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
  .inline-cta .btn-ghost:hover{background:#fff;color:var(--green-700)}

  /* Autor */
  .author-box{display:flex;gap:20px;align-items:center;margin-top:3em;padding:22px;border-radius:var(--radius);border:1px dashed var(--mint-200);background:#fff}
  .author-box .author-mark{flex:none;font-size:44px;padding:16px calc(16px + .14em) 18px 16px;border-radius:24px}
  .author-box img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;border:4px solid #FFF1C9}
  .author-box .kicker{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
  .author-box b{display:block;font-family:var(--font-head);font-size:1.15rem;margin:2px 0 4px}
  .author-box p{font-size:.96rem;line-height:1.6}
  .author-box a{font-size:.94rem}
  /* Sigue leyendo: lista corta de texto */
  .read-next{margin-top:2.4em}
  .read-next .kicker{display:block;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}
  .read-next a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--mint-200);text-decoration:none;color:var(--ink);font-family:var(--font-head);font-weight:700;font-size:1.05rem;line-height:1.35}
  .read-next a:last-child{border-bottom:1px solid var(--mint-200)}
  .read-next a svg{width:18px;height:18px;flex:none;color:var(--green-700);transition:transform .2s}
  .prose .read-next a:not(.btn){text-decoration:none;color:var(--ink);font-weight:700}
  .prose .read-next a:not(.btn):hover{color:var(--green-700)}
  .read-next a:hover svg{transform:translateX(4px)}
  /* Cierre */
  .post-cta{background:#FFF1C9;text-align:center}
  .post-cta h2 span{color:var(--green-600)}
  .post-cta .lead{margin:16px auto 0}
  .post-cta .hero-actions{justify-content:center;margin-top:30px}
  @media (max-width:640px){
    .author-box{gap:14px;padding:18px 16px;align-items:flex-start}
    .author-box .author-mark{font-size:26px;padding:10px calc(10px + .14em) 11px 10px;border-radius:15px}
    .author-box p{font-size:.92rem}
    .post-cta .hero-actions{flex-direction:column;align-items:stretch}
  }

  @media (min-width:1001px){
    .toc summary{pointer-events:none}
    .toc summary svg{display:none}
  }
  @media (max-width:1000px){
    .post-grid{grid-template-columns:minmax(0,720px);gap:28px}
    .toc{position:static}
  }
  @media (max-width:640px){
    .post-body{padding-top:0}
    .prose{font-size:1.02rem;line-height:1.7}
    .tip{padding:16px;gap:12px}
    .tip .ico{width:36px;height:36px}
    .event-picks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;gap:12px;margin:1.4em -16px;padding:6px 16px 10px;scrollbar-width:none}
    .event-picks::-webkit-scrollbar{display:none}
    .pick{flex:0 0 78%;scroll-snap-align:start}
    .inline-cta{grid-template-columns:1fr;padding:26px 22px;text-align:left}
    .inline-cta .btn{width:100%}
    /* Tabla → tarjetas en celular */
    .price-table,.price-table tbody,.price-table tr,.price-table td,.price-table th{display:block;width:100%}
    .price-table{border:0;border-radius:0;overflow:visible}
    .price-table thead{display:none}
    .price-table tr{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:10px;border:1px solid var(--mint-200);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;background:#fff}
    .price-table tr.featured{background:#EEF6FD;border-color:var(--green-700)}
    .price-table tbody th{grid-column:1/-1;padding:0 0 8px;border-bottom:1px dashed var(--mint-200)}
    .price-table td{padding:0;border-bottom:0;font-size:.95rem;line-height:1.3}
    .price-table td::before{content:attr(data-label);display:block;color:var(--ink-soft);font-family:var(--font-body);font-weight:500;font-size:.76rem;margin-bottom:2px}
  }

  @media (max-width:900px){
    .post-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .post-hero-text{display:contents}
    .post-hero .eyebrow{order:1;align-self:flex-start}
    .post-hero h1{order:2}
    .post-cover{order:3;margin:30px auto 8px;max-width:440px}
    .post-hero .lead{order:4}
    .post-meta{order:5}
    .post-hero .hero-actions{order:6}
  }
  @media (max-width:640px){
    .post-hero{padding:18px 0 36px}
    .toc{padding:14px 16px}
    .crumbs{font-size:.8rem;margin-bottom:20px}
    .post-cover{width:88%;margin:26px auto 6px}
    .price-badge{left:-6%;bottom:6%;padding:8px 12px;font-size:.74rem;gap:8px}
    .price-badge.right{left:auto;right:-6%}
    .price-badge .ico{width:30px;height:30px;border-radius:9px}
    .price-badge .ico svg{width:16px;height:16px}
    .price-badge b{font-size:.98rem}
    .post-hero .lead{margin-top:24px;font-size:1.04rem}
  }

  /* ===== iPad ===== */
  .logo,.nav-cta .btn{white-space:nowrap}
  @media (min-width:641px) and (max-width:1180px){.nav-cta{margin-left:auto}}
  /* iPad horizontal / iPad Pro (981–1180 px): diseño de escritorio con menú ☰ y más margen */
  @media (min-width:981px) and (max-width:1180px){
    .wrap{padding:0 40px}
    .nav-links,.nav-cta .btn-ghost{display:none}
    .menu-btn{display:grid;place-items:center}
    .hero-grid{gap:40px}
    .hero-visual{max-width:440px}
    .badge-1{left:-2%}
    .badge-2{right:2%}
    .services-card{padding:24px;gap:22px}
    .plans{gap:18px}
    .plan{padding:30px 24px}
  }
  /* iPad vertical (641–980 px): portada centrada, carruseles de 2 tarjetas y anchos moderados */
  @media (min-width:641px) and (max-width:980px){
    :root{--section-space:96px}
    .wrap{padding:0 40px}
    .hero{min-height:0;display:block;padding:40px 0 var(--section-space)}
    .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .hero-grid > .reveal:first-child{display:contents}
    .hero .eyebrow{order:1;align-self:center}
    .hero .hero-title{order:2;text-align:center}
    .hero-visual{order:3;max-width:380px;margin:36px auto 32px;align-self:center}
    .hero .lead{order:4;text-align:center;margin:0 auto 28px;max-width:56ch}
    .hero .hero-actions{order:5;justify-content:center}
    .hero-stats{order:6;justify-content:center;gap:48px}
    .hero-stats > div{text-align:center}
    /* Servicios y paquetes: carrusel con 2 tarjetas a la vista */
    .services-card{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 40px;background:none;box-shadow:none;border-radius:0;padding:6px 40px 22px;margin:40px -40px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .services-card::-webkit-scrollbar{display:none}
    .services-card .service{flex:0 0 46%;scroll-snap-align:start;background:var(--white);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
    .plans{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 40px;padding:22px 40px 22px;margin:28px -40px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch}
    .plans::-webkit-scrollbar{display:none}
    .plans .plan{flex:0 0 46%;scroll-snap-align:start;padding:28px 24px}
    .plan:hover{transform:none}
    .carousel-dots{display:flex}
    /* Testimonios y Sobre mí: columnas centradas, sin ocupar todo el ancho */
    .quote-photo{width:100%;max-width:560px;justify-self:center}
    .quote-list{width:100%;max-width:560px;justify-self:center}
    .about-visual{max-width:360px}
    .about .lead,.about .checklist{max-width:620px}
  }
  /* Pantallas muy altas: la portada no pasa de 900 px para que no quede flotando en el vacío */
  @media (min-width:981px){.hero{min-height:min(calc(100svh - var(--header-h)),900px)}}
  /* Tablets grandes en vertical (iPad Pro 11" y 13"): portada centrada como en iPad vertical */
  @media (min-width:981px) and (max-width:1180px) and (orientation:portrait){
    .hero{min-height:0;display:block;padding:56px 0 var(--section-space)}
    .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .hero-grid > .reveal:first-child{display:contents}
    .hero .eyebrow{order:1;align-self:center}
    .hero .hero-title{order:2;text-align:center}
    .hero-visual{order:3;max-width:440px;margin:40px auto 36px;align-self:center}
    .hero .lead{order:4;text-align:center;margin:0 auto 28px;max-width:56ch}
    .hero .hero-actions{order:5;justify-content:center}
    .hero-stats{order:6;justify-content:center;gap:56px}
    .hero-stats > div{text-align:center}
  }

/* ===== PORTADA DEL BLOG ===== */
.blog-hero{padding:64px 0 40px;text-align:center;background:#fff}
.blog-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;max-width:21ch;margin:0 auto}
.blog-hero h1 span{color:var(--green-600);background:linear-gradient(transparent 64%,color-mix(in srgb,var(--sun) 55%,transparent) 64% 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em}
.blog-hero .lead{margin:18px auto 0;max-width:52ch}
.blog-list{padding:24px 0 var(--section-space);background:#fff}
.post-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
@media (max-width:1100px) and (min-width:901px){.post-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin:0 auto}}
.post-card{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--mint-200);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.post-card > div{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.post-card .cat{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
.post-card h2{font-size:1.12rem;line-height:1.28;margin:8px 0}
.post-card p{font-size:.95rem;color:var(--ink-soft);line-height:1.55}
.post-card .meta{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:.86rem;font-weight:700;color:var(--green-700)}
.post-card .meta svg{width:18px;height:18px;transition:transform .2s}
.post-card:hover .meta svg{transform:translateX(4px)}
@media (max-width:900px){
  .post-cards{grid-template-columns:1fr;max-width:620px;margin:0 auto;gap:16px}
  .post-card{flex-direction:row;align-items:stretch}
  .post-card img{width:38%;aspect-ratio:auto;flex:none}
}
@media (max-width:640px){
  .blog-hero{padding:40px 0 24px}
  .blog-hero .lead{font-size:1.02rem}
  .blog-list{padding-top:8px}
  .post-card img{width:34%}
  .post-card > div{padding:14px}
  .post-card h2{font-size:1.02rem;margin:4px 0 0}
  .post-card p{display:none}
  .post-card .meta{padding-top:10px;font-size:.8rem}
}

/* ===== CHECKLIST INTERACTIVO (post del blog) ===== */
.tool-card{background:#EEF6FD;border:1px solid var(--mint-200);border-radius:var(--radius-lg);padding:28px 28px 30px}
.tool-step{display:flex;gap:14px;align-items:flex-start;margin:34px 0 16px}
.tool-step:first-child{margin-top:0}
.tool-step .num{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;background:var(--green-700);color:#fff}
.tool-step .step-title{font-family:var(--font-head);font-weight:700;font-size:1.15rem;line-height:1.3;color:var(--ink)}
.tool-step p{font-size:.94rem;line-height:1.5;color:var(--ink-soft);margin-top:2px}
.tool-step .count{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:#FFF1C9;color:#8A5A00;font-size:.84rem}
.event-tabs{display:flex;flex-wrap:wrap;gap:8px}
.event-tabs button{border:1.5px solid var(--mint-200);background:#fff;color:var(--ink);border-radius:999px;padding:9px 16px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s}
.event-tabs button:hover{border-color:var(--green-700)}
.event-tabs button[aria-selected="true"]{background:var(--green-700);border-color:var(--green-700);color:#fff}
.check-list{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.check-list[hidden]{display:none}
.check-list legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.check-list label{font-weight:500;display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--mint-200);border-radius:14px;padding:12px 14px;cursor:pointer;font-size:.95rem;line-height:1.4;transition:border-color .2s,background .2s}
.check-list label:hover{border-color:var(--green-600)}
.check-list input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;min-height:0;padding:0;margin:0;box-shadow:none;border:2px solid var(--mint-200);border-radius:7px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}
.check-list input::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.check-list input:checked{background:var(--green-700);border-color:var(--green-700)}
.check-list input:checked::after{opacity:1}
.check-list label:has(input:checked){border-color:var(--green-700);background:#F6FAFE}
.check-list input:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.personal{display:grid;gap:12px}
.personal label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
.personal textarea{min-height:0;height:auto;font:inherit;font-weight:400;font-size:.95rem;border:1px solid var(--mint-200);border-radius:14px;padding:12px 14px;resize:vertical;background:#fff;color:var(--ink)}
.personal textarea:focus{outline:none;border-color:var(--green-600)}
.tool-actions{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:640px){
  .tool-card{padding:22px 14px 24px;border-radius:var(--radius);margin-left:-4px;margin-right:-4px}
  .tool-step{margin:28px 0 12px}
  .tool-step .step-title{font-size:1.05rem}
  .event-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none}
  .event-tabs::-webkit-scrollbar{display:none}
  .event-tabs button{flex:none;font-size:.86rem;padding:8px 14px}
  .check-list{grid-template-columns:1fr}
  .check-list label{font-size:.92rem;padding:11px 12px}
  .tool-actions .btn{width:100%}
}
/* Guardar en PDF: solo la tarjeta del checklist con lo marcado y lo escrito */
@media print{
  body *{visibility:hidden}
  .tool-card,.tool-card *{visibility:visible}
  .tool-card{position:absolute;left:0;top:0;width:100%;background:#fff!important;border:0;padding:0}
  .event-tabs,.tool-actions,.share-step{display:none!important}
  .check-list label{break-inside:avoid}
  .personal textarea{border:1px solid #ccc}
}

/* ===== Post Halloween: carrusel de disfraces (mismo lenguaje que .pick, .shot y el FAQ) ===== */
.costumes{margin:1.6em 0 2em}
.costume-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;padding:4px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.costume-track::-webkit-scrollbar{display:none}
.costume-card{flex:0 0 calc((100% - 16px)/2.25);scroll-snap-align:start;background:var(--white);border:1px solid var(--mint-200);border-radius:var(--radius);overflow:hidden;position:relative;display:flex;flex-direction:column}
.costume-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--coral);z-index:1}
.costume-card:nth-child(3n+2)::before{background:var(--sky)}
.costume-card:nth-child(3n)::before{background:var(--sun)}
.costume-card .frame{margin:0;aspect-ratio:4/5;overflow:hidden;background:#EEF6FD}
.costume-card .frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.costume-card:hover .frame img{transform:scale(1.04)}
.costume-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.costume-num{align-self:flex-start;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--green-700);background:#EEF6FD;border-radius:999px;padding:4px 10px;margin-bottom:10px}
.costume-body h3{margin:0 0 6px;font-size:1.1rem}
.costume-body p{font-size:.95rem;line-height:1.55;color:var(--ink-soft);margin:0}
.costumes{position:relative}
.costume-nav{display:flex;align-items:center;justify-content:center;margin-top:10px}
/* Flechas a los lados, a media altura de la tarjeta (--arrow-y lo calcula el script) */
.costume-nav .arrow{position:absolute;top:var(--arrow-y,40%);transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:var(--white);color:var(--green-700);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,opacity .25s}
.costume-nav .arrow.prev{left:8px}
.costume-nav .arrow.next{right:8px}
.costume-nav .arrow:hover{background:var(--green-700);color:var(--white)}
.costume-nav .arrow:focus-visible{outline:2px solid var(--green-700);outline-offset:3px}
.costume-nav .arrow:disabled{opacity:0;pointer-events:none}
.costume-nav .arrow svg{width:18px;height:18px}
.costume-nav .arrow.prev svg{transform:rotate(180deg)}
.costume-nav .carousel-dots{display:flex;margin:0}
.costume-nav .carousel-dots button{width:18px}
.photo-credit{font-size:.82rem;color:var(--ink-soft);text-align:center;margin-top:6px}
@media (max-width:640px){.costume-card{flex-basis:80%}}
@media (min-width:1000px){.costume-card{flex-basis:calc((100% - 32px)/3.25)}.costume-body{padding:16px 16px 18px}.costume-body h3{font-size:1.04rem}.costume-body p{font-size:.9rem}}
/* Bordes del carrusel difuminados: el ancho lo calcula el script según lo que se asoma */
.costume-track{--fade-l:0px;--fade-r:0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%)}
/* La tarjeta que se asoma por el borde queda translúcida y se ilumina al entrar */
.costumes.is-fading .costume-card{opacity:.35;transition:opacity .35s ease}
.costumes.is-fading .costume-card.is-in{opacity:1}
@media (prefers-reduced-motion:reduce){.costumes.is-fading .costume-card{transition:none}}
/* FAQ dentro de un post: mismo bloque que el #faq de la landing (fondo celeste, tarjetas blancas con +) */
.post-faq{background:#E6F1FC;border-radius:var(--radius-lg);padding:clamp(28px,4vw,44px) clamp(16px,3vw,32px);margin:2.6em 0}
.post-faq .center h2{margin-top:0}
.post-faq .faq-list{margin:24px auto 0}
.post-faq details{background:#FFFFFF}
.post-faq summary{font-family:var(--font-body);color:var(--ink)}


  /* ===== LETRA (oct 2026): Lexend Deca en títulos + Poppins en textos, como referencia wedly.cl =====
     El logo "aa Arian Alpiste" se queda en Bricolage. Los grosores bajan de 800/700 a 600. */
  body{font-size:16px}
  h1,h2,h3,.post-title{font-weight:600;letter-spacing:-.01em}
  .plan .price,.sticker,.hero-stats strong,.badge-float b,.step::before{font-weight:600}
  .btn,summary,.pills button,label{font-weight:500}
  .logo,.logo-mark{font-family:"Bricolage Grotesque",system-ui,sans-serif}
  .post-hero h1,.blog-hero h1,.book-hero h1,.legal-hero h1,.simple h1,.price-table .money,.tool-step .num,.confirm-step .n,.next-step .n,.num404{font-weight:600}
