  :root{
    --pink:#ff3c96;
    --pink-deep:#d81a72;
    --ink:#191c19;
    --ink-soft:#2a2e2a;
    --mint:#67e687;
    --mint-deep:#3fbf62;
    --cream:#f2f2f2;
    --sand:#ddd6d0;
    --white:#ffffff;
    --display: 'Roboto Condensed', system-ui, sans-serif;
    --accent-font: 'Baskervville', Georgia, serif;
    --body-font: 'Inter', system-ui, sans-serif;
  }
  *{box-sizing:border-box;}
  body{margin:0;background:var(--ink);font-family:var(--body-font);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  h1,h2,h3{margin:0;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-family:var(--accent-font);font-style:italic;color:var(--pink);
    font-size:22px;letter-spacing:0.02em;margin:0 0 8px 0;
  }
  .title-xl{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    line-height:0.94;letter-spacing:-0.01em;
  }
  .title-accent{
    font-family:var(--accent-font);font-style:italic;font-weight:400;
    text-transform:none;letter-spacing:0;line-height:1.02;
  }
  .kicker{
    font-family:var(--body-font);font-weight:600;font-size:13px;
    letter-spacing:0.16em;text-transform:uppercase;color:var(--pink);
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--pink);color:var(--ink);
    font-family:var(--body-font);font-weight:700;font-size:16px;
    padding:17px 30px;
    clip-path:polygon(1% 12%,5% 2%,18% 6%,30% 1%,42% 7%,55% 2%,68% 8%,80% 1%,92% 7%,99% 15%,97% 35%,100% 55%,96% 75%,99% 92%,88% 99%,75% 93%,62% 99%,48% 92%,35% 99%,22% 92%,10% 98%,2% 88%,4% 65%,0% 45%,3% 28%);
    transition:transform .15s ease, background .15s ease;
    min-height:44px;
  }
  .btn:hover{background:var(--white);transform:translateY(-2px);}
  .btn.on-light{background:var(--ink);color:var(--pink);}
  .btn.on-light:hover{background:var(--pink-deep);color:var(--white);}
  .tag{
    display:inline-block;background:var(--pink);color:var(--white);
    font-family:var(--body-font);font-weight:700;font-size:15px;
    padding:13px 22px;
    clip-path:polygon(1% 15%,7% 3%,20% 9%,33% 2%,46% 8%,60% 1%,73% 9%,86% 2%,99% 12%,96% 32%,100% 52%,97% 74%,99% 90%,86% 98%,72% 91%,58% 98%,44% 91%,30% 98%,16% 90%,3% 97%,0% 78%,4% 58%,0% 38%,3% 22%);
  }
  .icon-deco{position:absolute;opacity:0.9;pointer-events:none;}

  /* starfield — small hand-drawn-style sparkles + dots, as on the manual's black backgrounds */
  .starfield{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;}
  .spark{
    position:absolute;width:13px;height:13px;background:var(--white);
    clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
    opacity:0.95;
  }
  .spark.lg{width:20px;height:20px;}
  .spark.sm{width:8px;height:8px;}
  .spark.pink{background:var(--pink);}
  .dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--white);opacity:0.8;}
  .dot.lg{width:6px;height:6px;}

  /* ---------- top bar ---------- */
  .topbar{background:var(--ink);padding:30px 0 26px;}
  .topbar .wrap{display:flex;align-items:center;justify-content:center;gap:20px;}
  .topbar img{width:220px;}

  /* ---------- hero ---------- */
  .hero{background:var(--ink);position:relative;overflow:hidden;padding:56px 0 88px;}
  .hero-inner{position:relative;z-index:2;text-align:center;max-width:640px;margin:0 auto;padding:0 32px;}
  .hero-moon-icon{width:58px;height:58px;object-fit:contain;margin:0 auto 34px;display:block;}
  .hero .title-xl{color:var(--white);font-size:clamp(32px,6vw,60px);}
  .hero .title-accent{color:var(--pink);font-size:clamp(23px,4.5vw,42px);display:block;margin-top:8px;}
  .hero p.lede{
    font-family:var(--body-font);font-weight:300;color:var(--sand);
    font-size:16px;line-height:1.65;max-width:400px;margin:26px auto 0;
  }
  .hero .cta-row{margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:14px;}
  .hero-sun{width:70px;bottom:10%;left:4%;}

  /* ---------- zodiac strip ---------- */
  .zodiac{background:var(--mint);padding:26px 0;overflow:hidden;}
  .zodiac-row{display:flex;flex-wrap:wrap;gap:14px 12px;justify-content:center;}
  .ztag{
    font-family:var(--display);font-weight:900;font-size:14px;letter-spacing:0.02em;
    padding:8px 16px;text-transform:uppercase;
  }
  .ztag.a{background:var(--ink);color:var(--pink);}
  .ztag.b{background:var(--pink);color:var(--ink);}
  .ztag:nth-child(odd){transform:rotate(-3deg);}
  .ztag:nth-child(even){transform:rotate(2.5deg);}

  /* ---------- about ---------- */
  .about{background:var(--cream);padding:96px 0;}
  .about .inner{max-width:640px;}
  .about .kicker{margin-bottom:18px;}
  .about h2{color:var(--ink);font-size:clamp(38px,6vw,58px);}
  .about h2 .title-accent{color:var(--pink);font-size:clamp(32px,5.4vw,52px);display:block;}
  .about .caption{
    font-family:var(--body-font);font-weight:600;font-size:13px;letter-spacing:0.14em;
    text-transform:uppercase;color:#8a857e;margin:26px 0 22px;
  }
  .about p{font-size:18px;line-height:1.7;color:#3a3a38;font-weight:300;}

  /* ---------- elegí tu lectura ---------- */
  .choose{background:var(--ink);padding:96px 0;position:relative;overflow:hidden;}
  .choose > .wrap{position:relative;z-index:2;}
  .choose h2{color:var(--white);font-size:clamp(38px,6vw,58px);}
  .choose .sub{
    font-family:var(--body-font);font-weight:300;color:var(--pink);
    font-size:19px;margin-top:20px;max-width:520px;
  }
  .choose-list{margin-top:56px;border-top:1px solid #3a3e3a;}
  .choose-row{
    display:grid;grid-template-columns:70px 220px 1fr;gap:28px;
    padding:32px 0;border-bottom:1px solid #3a3e3a;align-items:start;
  }
  .choose-row .num{font-family:var(--accent-font);font-style:italic;color:var(--pink);font-size:22px;}
  .choose-row h3{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    color:var(--white);font-size:22px;letter-spacing:0.01em;
  }
  .choose-row p{font-family:var(--body-font);font-weight:300;color:var(--sand);font-size:16px;line-height:1.6;margin:0;}

  /* ---------- service cards ---------- */
  .services{background:var(--cream);padding:96px 0;}
  .services > .wrap > .kicker{display:block;text-align:center;margin-bottom:14px;}
  .services h2{color:var(--ink);text-align:center;font-size:clamp(34px,5.4vw,50px);}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px;}
  .card{
    background:var(--white);border:1px solid var(--sand);padding:36px 30px 32px;
    display:flex;flex-direction:column;gap:18px;
  }
  .card img.icon{width:64px;height:64px;object-fit:contain;}
  .card h3{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    font-size:24px;color:var(--ink);letter-spacing:0.01em;
  }
  .card .sub{font-family:var(--accent-font);font-style:italic;color:var(--pink-deep);font-size:18px;}
  .card p.desc{font-family:var(--body-font);font-weight:300;color:#4a4a48;font-size:15px;line-height:1.65;margin:0;}
  .card .rows{border-top:1px solid var(--sand);padding-top:16px;display:flex;flex-direction:column;gap:14px;}
  .card .row-label{
    font-family:var(--body-font);font-weight:700;font-size:11px;letter-spacing:0.1em;
    text-transform:uppercase;color:var(--pink-deep);margin-bottom:4px;
  }
  .card .row-val{font-family:var(--body-font);font-weight:400;font-size:14.5px;color:#2c2c2a;line-height:1.55;}
  .card .price-cta{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
  .card .tag{font-size:14px;}
  .card .btn{width:100%;justify-content:center;font-size:14px;padding:14px 18px;}

  /* ---------- pricing / format ---------- */
  .pricing{background:var(--mint);padding:96px 0;}
  .pricing h2{color:var(--ink);font-size:clamp(34px,5.4vw,50px);}
  .pricing .sub{font-family:var(--body-font);font-weight:400;color:var(--ink-soft);font-size:18px;margin-top:16px;max-width:460px;}
  .price-list{margin-top:48px;border-top:2px solid var(--ink);}
  .price-row{
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    padding:24px 0;border-bottom:2px solid rgba(25,28,25,0.22);
  }
  .price-row .name{
    font-family:var(--display);font-weight:900;text-transform:uppercase;
    font-size:20px;color:var(--ink);letter-spacing:0.01em;
  }
  .price-row .name small{
    display:block;font-family:var(--body-font);font-weight:400;text-transform:none;
    color:var(--ink-soft);font-size:13px;letter-spacing:0;margin-top:4px;
  }
  .price-row .amount{
    font-family:var(--display);font-weight:900;font-size:22px;color:var(--pink-deep);
    white-space:nowrap;
  }
  .price-row.combo{background:var(--ink);margin:8px -20px 0;padding:24px 20px;border-bottom:none;}
  .price-row.combo .name, .price-row.combo .name small{color:var(--white);}
  .price-row.combo .amount{color:var(--pink);}
  .pricing .cta-wrap{margin-top:44px;}

  /* ---------- reservas ---------- */
  .contact{background:var(--ink);padding:100px 0;position:relative;overflow:hidden;}
  .contact .inner{position:relative;z-index:2;text-align:center;max-width:560px;margin:0 auto;}
  .contact h2{color:var(--white);font-size:clamp(36px,6vw,56px);}
  .contact h2 .title-accent{display:block;color:var(--pink);font-size:clamp(30px,5vw,50px);margin-top:6px;}
  .contact p{font-family:var(--body-font);font-weight:300;color:var(--sand);font-size:17px;line-height:1.7;margin-top:20px;}
  .contact .channels{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:22px;}
  .contact .ig{font-family:var(--body-font);font-weight:600;font-size:16px;color:var(--white);}
  .contact .ig span{color:var(--pink);}
  .contact .phone{font-family:var(--body-font);font-weight:300;color:var(--sand);font-size:14px;}
  .contact-moon{width:150px;left:-40px;bottom:-30px;opacity:0.5;}
  .contact-a{width:80px;right:2%;bottom:8%;opacity:0.75;}

  /* ---------- footer ---------- */
  footer{background:var(--ink);border-top:1px solid #3a3e3a;padding:36px 0;position:relative;overflow:hidden;}
  footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:2;}
  footer img{width:120px;}
  footer .fine{font-family:var(--body-font);font-weight:300;color:#8a8d8a;font-size:13px;}
  footer .fine em{font-family:var(--accent-font);font-style:italic;color:var(--pink);}

  @media (max-width:820px){
    .starfield{display:none;}
    .hero-sun,.contact-moon,.contact-a{display:none;}
  }
  @media (max-width:880px){
    .cards{grid-template-columns:1fr;}
    .choose-row{grid-template-columns:44px 1fr;}
    .choose-row h3{grid-column:2;}
    .choose-row p{grid-column:1 / -1;}
    .price-row.combo{margin:8px 0 0;}
  }
  @media (max-width:600px){
    .about,.choose,.services,.pricing,.contact{padding:64px 0;}
    .hero{padding:20px 0 64px;}
    .topbar img{width:170px;}
    .hero-moon-icon{width:46px;height:46px;margin-bottom:16px;}
    .price-row{flex-direction:column;align-items:flex-start;gap:6px;}
  }
