/* Diana · Vibra y Expande — tokens from Guía de Marca v1.0 (Nov 2026) */
:root{
  --nacar:#F6ECE8;      /* fondo principal */
  --nacar-2:#FBF5F2;    /* superficies elevadas */
  --rosa:#E3B7A8;       /* rosa arcilla: superficies, botones, acento sobre noche */
  --rosa-suave:#EBD9D3; /* texto secundario sobre noche, bloques suaves */
  --malva:#B76E79;      /* acento — SOLO titulares grandes (≥24px) sobre claro */
  --ciruela:#5A2E3A;    /* bloques, CTA, texto de apoyo */
  --tinta:#3A1F27;      /* texto principal sobre claro */
  --noche:#2A161D;      /* fondos nocturnos */
  --linea:rgba(90,46,58,.18);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',-apple-system,'Segoe UI',sans-serif;
  --firma:'Ms Madi',cursive;
  --mono:'DM Mono',ui-monospace,Menlo,monospace;
  --pad:clamp(20px,4vw,48px);
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--nacar);color:var(--tinta);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--ciruela)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rosa);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ciruela);margin:0 0 18px}
.on-night .eyebrow{color:var(--rosa)}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(38px,5vw,60px);line-height:1.05;color:var(--noche)}
h2 em,h1 em{font-style:italic;color:var(--malva)}
.on-night h2{color:var(--nacar)}
.on-night h2 em,.on-night h1 em{color:var(--rosa)}
section{padding:clamp(72px,10vw,128px) 0}
.on-night{background:var(--noche);color:var(--nacar)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--nacar);padding:8px 12px}

/* Buttons */
.btn{display:inline-block;padding:15px 28px;border-radius:999px;font-family:var(--sans);font-weight:400;font-size:14px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,border-color .2s;border:1px solid transparent;cursor:pointer}
.btn-rosa{background:var(--rosa);color:var(--noche)}.btn-rosa:hover{background:var(--nacar)}
.btn-linea{border-color:rgba(227,183,168,.55);color:var(--nacar)}.btn-linea:hover{border-color:var(--rosa);color:var(--rosa)}
.btn-ciruela{background:var(--ciruela);color:var(--nacar)}.btn-ciruela:hover{background:var(--noche)}

/* Symbol: three concentric circles */
.simbolo{position:relative;width:30px;height:30px;border:1px solid var(--rosa);border-radius:50%;display:grid;place-items:center;flex:none}
.simbolo::before{content:"";width:18px;height:18px;border:1px solid var(--rosa);border-radius:50%;position:absolute}
.simbolo::after{content:"";width:6px;height:6px;background:var(--rosa);border-radius:50%}

/* Nav */
header.nav{position:sticky;top:0;z-index:20;background:rgba(42,22,29,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(227,183,168,.15)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--nacar)}
.marca span.txt{display:flex;flex-direction:column;line-height:1}
.marca .nombre{font-family:var(--firma);font-size:32px}
.marca .lema{font-size:9px;letter-spacing:.38em;color:var(--rosa);margin-top:-2px}
nav.links{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
nav.links a{color:var(--nacar);text-decoration:none}nav.links a:hover{color:var(--rosa)}
nav.links a.btn{padding:10px 20px;font-size:13px;color:var(--noche)}
@media (max-width:760px){nav.links a:not(.btn){display:none}}

/* Hero */
.hero{background:var(--noche);background-image:radial-gradient(ellipse 60% 70% at 72% 40%,rgba(183,110,121,.28),transparent 70%);color:var(--nacar);padding:clamp(56px,9vw,112px) 0}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(40px,6vw,96px);align-items:center}
.hero h1{font-size:clamp(56px,7.6vw,104px);line-height:.95;color:var(--nacar)}
.hero p.intro{max-width:30em;font-size:18px;color:var(--rosa-suave);margin:28px 0 36px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.arco-marco{position:relative;justify-self:center;width:min(100%,440px);aspect-ratio:4/5;border:1px solid rgba(227,183,168,.35);border-radius:999px 999px 0 0;padding:18px}
.arco{width:100%;height:100%;border-radius:999px 999px 0 0;overflow:hidden;background:linear-gradient(170deg,#5A2E3A 0%,#7d4250 45%,#B76E79 100%);display:grid;place-items:center}
.arco img{width:100%;height:100%;object-fit:cover}
.arco .ondas{width:46%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(246,236,232,.35);display:grid;place-items:center}
.arco .ondas::before{content:"";width:60%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(246,236,232,.5)}
.firma-flotante{position:absolute;left:-28px;bottom:56px;font-family:var(--firma);font-size:clamp(44px,5vw,60px);color:var(--rosa);line-height:1;transform:rotate(-6deg)}

/* Manifiesto */
.manifiesto{background:var(--ciruela);color:var(--nacar);text-align:center}
.manifiesto blockquote{margin:0 auto;max-width:28em;font-family:var(--serif);font-size:clamp(28px,3.4vw,42px);line-height:1.3}
.manifiesto em{color:var(--rosa)}
.manifiesto .eyebrow{color:var(--rosa)}

/* Método */
.metodo .cabeza{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:32px 64px;align-items:end}
.metodo .cabeza p{margin:0;max-width:34em;color:var(--tinta)}
.camino{display:flex;align-items:center;gap:14px;margin:56px 0;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ciruela)}
.camino .punto{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:18px;flex:none}
.camino .a{border:1px solid var(--ciruela)}
.camino .b{background:var(--ciruela);color:var(--nacar)}
.camino .linea{flex:1;border-top:1px dashed rgba(90,46,58,.4)}
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:40px}
.pilar{border-top:1px solid var(--linea);padding-top:28px}
.pilar .icono{width:46px;height:46px;margin-bottom:14px}
.pilar .num{font-family:var(--mono);font-size:12px;color:var(--ciruela);display:block;margin-bottom:6px}
.pilar h3{font-size:28px;color:var(--noche);margin-bottom:8px}
.pilar p{margin:0;color:var(--tinta)}

/* Sobre mí */
.sobre{background:#EFDCD6}
.sobre .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(40px,6vw,96px);align-items:center}
.sobre .foto{position:relative;width:min(100%,380px);justify-self:center;aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:hidden;background:linear-gradient(180deg,#E3B7A8,#cf9a8c)}
.sobre .foto img{width:100%;height:100%;object-fit:cover}
.sello{position:absolute;right:-8px;top:36px;width:96px;height:96px;border-radius:50%;background:var(--ciruela);color:var(--nacar);display:grid;place-items:center;text-align:center;font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.1}
.sobre-wrap{position:relative;justify-self:center}
.sobre p{max-width:34em}
.sobre .firma{font-family:var(--firma);font-size:52px;color:var(--ciruela);line-height:1;margin-top:8px}

/* Experiencias */
.experiencias .cabeza{text-align:center;margin-bottom:56px}
.ruta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.oferta{background:var(--nacar-2);border:1px solid var(--linea);border-radius:6px;padding:32px 28px;display:flex;flex-direction:column;gap:12px}
.oferta .meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ciruela)}
.oferta h3{font-size:30px;color:var(--noche)}
.oferta p{margin:0}
.oferta ul{margin:4px 0 0;padding-left:18px;color:var(--tinta)}
.oferta a{margin-top:auto;padding-top:12px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ciruela);font-weight:400}
.oferta a:hover{text-decoration:underline;text-underline-offset:4px}
.mas-adelante{text-align:center;margin:40px auto 0;max-width:40em;color:var(--tinta)}

/* Instagram */
.ig .cabeza{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.ig .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ig .grid a{aspect-ratio:1;overflow:hidden;border-radius:4px;background:var(--rosa)}
.ig .grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ig .grid a:hover img{transform:scale(1.04)}
.btn-ig{border:1px solid var(--ciruela);color:var(--ciruela);padding:12px 22px;font-size:13px}
.btn-ig:hover{background:var(--ciruela);color:var(--nacar)}

/* Contacto */
.contacto{background:var(--ciruela);color:var(--nacar)}
.contacto .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(40px,6vw,96px);align-items:start}
.contacto h2{color:var(--nacar)}
.contacto h2 em{color:var(--rosa)}
.contacto .eyebrow{color:var(--rosa)}
.contacto p{color:var(--rosa-suave);max-width:28em}
.contacto .datos a{color:var(--nacar)}
form.ficha{background:var(--nacar);color:var(--tinta);border-radius:6px;padding:clamp(24px,4vw,40px);display:grid;gap:22px}
.campo label{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--ciruela);margin-bottom:6px}
.campo input,.campo select,.campo textarea{width:100%;border:0;border-bottom:1px solid rgba(90,46,58,.35);background:transparent;padding:8px 0;font:inherit;font-size:17px;color:var(--tinta);border-radius:0}
.campo textarea{min-height:96px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:#7a5a62}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--tinta)}
.consent input{margin-top:4px;accent-color:var(--ciruela)}
.hp{position:absolute;left:-5000px}
form.ficha button{width:100%}
.estado{font-size:15px;margin:0;min-height:1.5em}
.estado.ok{color:#1B5E3A}.estado.error{color:#8E2433}

/* Footer */
footer{background:var(--noche);color:var(--rosa-suave);padding:56px 0 40px;font-size:14px}
footer .fila{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
footer .redes{display:flex;gap:24px;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
footer a{color:var(--nacar);text-decoration:none}footer a:hover{color:var(--rosa)}
footer .legal{border-top:1px solid rgba(227,183,168,.15);margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--rosa-suave)}
footer .aviso{max-width:52em;margin-top:16px;color:var(--rosa-suave);font-size:13px;line-height:1.6}

/* Plain pages (privacidad, gracias) */
.pagina{max-width:46em;margin:0 auto;padding:clamp(56px,8vw,96px) var(--pad)}
.pagina h1{font-size:clamp(40px,5vw,56px);color:var(--noche);margin-bottom:24px}
.pagina h2{font-size:28px;margin:36px 0 8px}

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

/* fixes after first render */
.hero .eyebrow{color:var(--rosa)}
.hero h1 em{color:var(--rosa)}
.sobre-wrap{width:min(100%,380px)}
.sobre .foto{width:100%}
.hero{overflow:hidden}
@media (max-width:600px){.firma-flotante{left:4px}}
.sobre h2 em{color:var(--ciruela)}
.etapas{list-style:none;margin:72px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0;border-top:1px solid var(--linea)}
.etapas li{padding:28px 24px 0 0}
.etapas .num{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ciruela)}
.etapas h3{font-size:26px;color:var(--noche);margin:4px 0 6px}
.etapas p{margin:0;font-size:16px;line-height:1.6}

/* WhatsApp */
.btn-wa{display:inline-flex;align-items:center;gap:10px;background:var(--rosa);color:var(--noche)}
.btn-wa:hover{background:var(--nacar)}
.wa-flotante{position:fixed;right:20px;bottom:20px;z-index:30;width:56px;height:56px;border-radius:50%;background:var(--ciruela);color:var(--nacar);display:grid;place-items:center;box-shadow:0 6px 20px rgba(42,22,29,.25);border:1px solid rgba(227,183,168,.4)}
.wa-flotante svg{width:26px;height:26px}
.wa-flotante:hover{background:var(--noche)}
