/* ====== TOKENS ====== */
#np-site{
  --cream:#F7F2ED;
  --shell:#EFE5DD;
  --ink:#26202A;
  --ink-soft:#6E6169;
  --gold:#B99361;
  --blush:#E6CFC6;
  --line:rgba(38,32,42,.12);
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"Jost","Helvetica Neue",Arial,sans-serif;
  --r:2px;

  font-family:var(--body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
#np-site *,#np-site *::before,#np-site *::after{box-sizing:border-box;}
#np-site p,#np-site h1,#np-site h2,#np-site h3,#np-site h4,#np-site ul,#np-site li{margin:0;padding:0;}
#np-site img{max-width:100%;display:block;}
#np-site a{color:inherit;text-decoration:none;}
#np-site button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
#np-site :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

#np-site .np-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
#np-site .np-sec{padding:110px 0;}
#np-site .np-eyebrow{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:18px;display:block;
}
#np-site h2.np-h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.12;letter-spacing:-.01em;
  max-width:15ch;
}
#np-site .np-lead{color:var(--ink-soft);font-weight:300;max-width:52ch;margin-top:22px;}

/* ====== BOTONES ====== */
#np-site .np-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:var(--r);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  transition:.35s ease;
}
#np-site .np-btn-solid{background:var(--ink);color:var(--cream);}
#np-site .np-btn-solid:hover{background:var(--gold);color:#fff;}
#np-site .np-btn-ghost{border:1px solid var(--line);color:var(--ink);}
#np-site .np-btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--cream);}

/* ====== NAV ====== */
#np-site .np-nav{
  position:sticky;top:0;z-index:60;
  background:rgba(247,242,237,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
#np-site .np-nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;}
#np-site .np-brand{display:flex;align-items:center;gap:12px;}
#np-site .np-mark{
  width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;font-family:var(--display);font-size:19px;color:var(--gold);
}
#np-site .np-brand b{font-family:var(--display);font-size:19px;font-weight:500;letter-spacing:.04em;display:block;line-height:1.1;}
#np-site .np-brand span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);}
#np-site .np-links{display:flex;align-items:center;gap:30px;list-style:none;}
#np-site .np-links a{font-size:13px;letter-spacing:.08em;color:var(--ink-soft);transition:.3s;}
#np-site .np-links a:hover{color:var(--ink);}
#np-site .np-nav .np-btn{padding:12px 22px;}
#np-site .np-burger{display:none;font-size:22px;padding:8px;}

/* ====== HERO ====== */
#np-site .np-hero{background:var(--cream);padding:70px 0 0;}
#np-site .np-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
#np-site .np-hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:1.05;letter-spacing:-.015em;
}
#np-site .np-hero h1 em{font-style:italic;color:var(--gold);}
#np-site .np-hero p{color:var(--ink-soft);font-weight:300;max-width:46ch;margin-top:26px;}
#np-site .np-hero p strong{color:var(--ink);font-weight:500;}
#np-site .np-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
#np-site .np-hero-meta{
  display:flex;flex-wrap:wrap;gap:22px;margin-top:38px;padding-top:24px;
  border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft);letter-spacing:.04em;
}
#np-site .np-hero-meta a:hover{color:var(--gold);}
#np-site .np-hero-img{position:relative;}
#np-site .np-hero-img img{
  width:100%;height:640px;object-fit:cover;border-radius:200px 200px var(--r) var(--r);
}
#np-site .np-badge{
  position:absolute;left:-24px;bottom:44px;background:var(--cream);
  border:1px solid var(--line);padding:18px 24px;max-width:230px;
}
#np-site .np-badge b{font-family:var(--display);font-size:20px;font-weight:500;display:block;}
#np-site .np-badge span{font-size:12px;color:var(--ink-soft);letter-spacing:.04em;}

/* ====== MARQUEE ====== */
#np-site .np-marquee{
  margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--shell);overflow:hidden;padding:18px 0;
}
#np-site .np-track{display:flex;gap:0;width:max-content;animation:np-scroll 32s linear infinite;}
#np-site .np-track span{
  font-family:var(--display);font-size:26px;font-style:italic;color:var(--ink);
  padding:0 34px;white-space:nowrap;opacity:.75;
}
#np-site .np-track span::after{content:"·";margin-left:34px;color:var(--gold);font-style:normal;}
@keyframes np-scroll{to{transform:translateX(-50%);}}

/* ====== SOBRE MÍ ====== */
#np-site .np-about{background:var(--cream);}
#np-site .np-about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
#np-site .np-about-img{position:relative;}
#np-site .np-about-img img{width:100%;height:600px;object-fit:cover;}
#np-site .np-about-img::after{
  content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid var(--gold);z-index:-1;
}
#np-site .np-about p{color:var(--ink-soft);font-weight:300;margin-top:22px;}
#np-site .np-about p strong{color:var(--ink);font-weight:500;}
#np-site .np-pillars{margin-top:44px;display:grid;gap:0;}
#np-site .np-pillar{padding:22px 0;border-top:1px solid var(--line);}
#np-site .np-pillar:last-child{border-bottom:1px solid var(--line);}
#np-site .np-pillar b{font-size:14px;letter-spacing:.06em;font-weight:500;display:block;margin-bottom:6px;}
#np-site .np-pillar span{font-size:15px;color:var(--ink-soft);font-weight:300;}
#np-site .np-sign{
  margin-top:34px;font-family:var(--display);font-style:italic;font-size:24px;color:var(--gold);
}
#np-site .np-sign small{display:block;font-family:var(--body);font-style:normal;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;}

/* ====== TRATAMIENTOS ====== */
#np-site .np-serv{background:var(--shell);}
#np-site .np-serv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:56px;}
#np-site .np-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
#np-site .np-card{background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;transition:.4s;}
#np-site .np-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -30px rgba(38,32,42,.35);}
#np-site .np-card-img{position:relative;overflow:hidden;}
#np-site .np-card-img img{width:100%;height:240px;object-fit:cover;transition:transform .8s ease;}
#np-site .np-card:hover .np-card-img img{transform:scale(1.06);}
#np-site .np-tag{
  position:absolute;left:14px;top:14px;background:rgba(247,242,237,.94);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;color:var(--ink);
}
#np-site .np-card-body{padding:26px;display:flex;flex-direction:column;flex:1;}
#np-site .np-card h3{font-family:var(--display);font-size:26px;font-weight:500;}
#np-site .np-card p{font-size:15px;color:var(--ink-soft);font-weight:300;margin-top:10px;flex:1;}
#np-site .np-card a{
  margin-top:20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;gap:8px;align-items:center;transition:gap .3s;
}
#np-site .np-card a:hover{gap:14px;}
#np-site .np-note{
  margin-top:40px;padding:28px 32px;border:1px solid var(--line);background:var(--cream);
  font-weight:300;color:var(--ink-soft);text-align:center;
}
#np-site .np-note strong{color:var(--ink);font-weight:500;}

/* ====== RESULTADOS ====== */
#np-site .np-res{background:var(--cream);}
#np-site .np-filters{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 40px;}
#np-site .np-filter{
  padding:10px 20px;border:1px solid var(--line);font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);transition:.3s;
}
#np-site .np-filter:hover{border-color:var(--ink);color:var(--ink);}
#np-site .np-filter.is-on{background:var(--ink);border-color:var(--ink);color:var(--cream);}
#np-site .np-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
#np-site .np-shot{position:relative;overflow:hidden;cursor:zoom-in;background:var(--shell);}
#np-site .np-shot img{width:100%;height:330px;object-fit:cover;transition:transform .7s;}
#np-site .np-shot:hover img{transform:scale(1.05);}
#np-site .np-shot figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff;
  background:linear-gradient(to top,rgba(30,24,28,.78),transparent);
  font-size:13px;letter-spacing:.06em;
}
#np-site .np-shot figcaption b{font-weight:500;display:block;font-size:15px;}
#np-site .np-shot figcaption span{opacity:.8;font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
#np-site .np-disc{margin-top:28px;font-size:13px;color:var(--ink-soft);font-weight:300;text-align:center;}

/* ====== INSTAGRAM ====== */
#np-site .np-ig{background:var(--shell);text-align:center;}
#np-site .np-ig h2{margin:0 auto;}
#np-site .np-ig .np-lead{margin:22px auto 46px;text-align:center;}
#np-site .np-ig-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
#np-site .np-ig-row iframe{width:100%;height:480px;border:1px solid var(--line);background:#fff;}
#np-site .np-ig .np-btn{margin-top:40px;}

/* ====== AGENDA ====== */
#np-site .np-book{background:var(--ink);color:var(--cream);text-align:center;}
#np-site .np-book h2{color:var(--cream);margin:0 auto;}
#np-site .np-book .np-eyebrow{color:var(--blush);}
#np-site .np-book p{color:rgba(247,242,237,.72);font-weight:300;max-width:54ch;margin:22px auto 0;}
#np-site .np-book .np-cta-row{justify-content:center;}
#np-site .np-book .np-btn-solid{background:var(--gold);color:#fff;}
#np-site .np-book .np-btn-solid:hover{background:var(--cream);color:var(--ink);}
#np-site .np-book .np-btn-ghost{border-color:rgba(247,242,237,.35);color:var(--cream);}
#np-site .np-book .np-btn-ghost:hover{background:var(--cream);color:var(--ink);border-color:var(--cream);}
#np-site .np-book-meta{margin-top:34px;font-size:14px;color:rgba(247,242,237,.6);letter-spacing:.06em;}
#np-site .np-book-meta a:hover{color:var(--blush);}

/* ====== CONTACTO ====== */
#np-site .np-contact{background:var(--cream);}
#np-site .np-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
#np-site .np-info{margin-top:36px;display:grid;gap:0;}
#np-site .np-info-row{display:block;padding:20px 0;border-top:1px solid var(--line);transition:.3s;}
#np-site .np-info-row:last-child{border-bottom:1px solid var(--line);}
#np-site .np-info-row:hover{padding-left:8px;}
#np-site .np-info-row b{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;}
#np-site .np-info-row strong{display:block;font-family:var(--display);font-size:21px;font-weight:500;margin-top:4px;}
#np-site .np-info-row span{font-size:14px;color:var(--ink-soft);font-weight:300;}
#np-site .np-map iframe{width:100%;height:520px;border:1px solid var(--line);filter:grayscale(1) contrast(.95);}
#np-site .np-map p{margin-top:14px;font-size:13px;color:var(--ink-soft);}

/* ====== FOOTER ====== */
#np-site .np-foot{background:var(--shell);border-top:1px solid var(--line);padding:64px 0 28px;}
#np-site .np-foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;}
#np-site .np-foot h3{font-family:var(--display);font-size:24px;font-weight:500;}
#np-site .np-foot p{font-size:14px;color:var(--ink-soft);font-weight:300;margin-top:8px;}
#np-site .np-foot ul{list-style:none;display:grid;gap:10px;font-size:14px;color:var(--ink-soft);}
#np-site .np-foot a:hover{color:var(--gold);}
#np-site .np-copy{
  margin-top:48px;padding-top:22px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink-soft);letter-spacing:.06em;text-align:center;
}

/* ====== WHATSAPP FLOTANTE ====== */
#np-site .np-wa{
  position:fixed;right:22px;bottom:22px;z-index:80;
  width:56px;height:56px;border-radius:50%;background:#25D366;
  display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);transition:.3s;
}
#np-site .np-wa:hover{transform:scale(1.08);}
#np-site .np-wa svg{width:28px;height:28px;fill:#fff;}

/* ====== LIGHTBOX ====== */
#np-lightbox{
  position:fixed;inset:0;z-index:99999;background:rgba(26,20,24,.94);
  display:none;align-items:center;justify-content:center;padding:30px;
}
#np-lightbox.is-open{display:flex;}
#np-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}
#np-lightbox .np-close{
  position:absolute;top:20px;right:26px;color:#fff;font-size:30px;line-height:1;
}

/* ====== REVEAL ====== */
#np-site .np-rev{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease;}
#np-site .np-rev.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  #np-site .np-rev{opacity:1;transform:none;transition:none;}
  #np-site .np-track{animation:none;}
}

/* ====== RESPONSIVE ====== */
@media(max-width:980px){
  #np-site .np-hero-grid,#np-site .np-about-grid,#np-site .np-contact-grid{grid-template-columns:1fr;gap:44px;}
  #np-site .np-cards,#np-site .np-grid{grid-template-columns:repeat(2,1fr);}
  #np-site .np-foot-grid{grid-template-columns:1fr 1fr;}
  #np-site .np-hero-img img{height:520px;}
  #np-site .np-about-img img{height:460px;}
  #np-site .np-links{
    display:none;position:absolute;top:76px;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--cream);border-bottom:1px solid var(--line);padding:8px 24px;
  }
  #np-site .np-links.is-open{display:flex;}
  #np-site .np-links li{width:100%;}
  #np-site .np-links a{display:block;padding:15px 0;border-bottom:1px solid var(--line);}
  #np-site .np-burger{display:block;}
  #np-site .np-nav .np-btn{display:none;}
}
@media(max-width:620px){
  #np-site{font-size:16px;}
  #np-site .np-sec{padding:76px 0;}
  #np-site .np-cards,#np-site .np-grid,#np-site .np-foot-grid{grid-template-columns:1fr;}
  #np-site .np-badge{left:12px;bottom:12px;}
  #np-site .np-hero-img img{height:420px;border-radius:140px 140px var(--r) var(--r);}
  #np-site .np-btn{width:100%;justify-content:center;}
}