@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/playfairdisplay-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/playfairdisplay-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/playfairdisplay-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/playfairdisplay-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --noche:#11045F; --abismo:#08023A; --azul-profundo:#010153;
  --fucsia:#C81E91; --coral:#FB4C4B; --electrico:#0047EC;
  --violeta:#521B9F; --lila:#8354BB; --crema:#FDEFF0;
  --tinta:#1A0D4D; --tinta-suave:#4A3E75;
  --claro:#fff; --claro-suave:rgba(255,255,255,.80);
  --display:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --r-s:10px; --r-m:18px; --r-l:28px;
  --ancho:1200px;
  --sombra:0 1px 2px rgba(8,2,58,.18),0 12px 32px -8px rgba(8,2,58,.45),0 40px 80px -30px rgba(200,30,145,.35);
  --cab:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cab) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--display);font-weight:400;font-size:17px;line-height:1.65;color:var(--claro);background:var(--abismo);overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em}
p{margin:0}
.wrap{width:min(var(--ancho),100% - 40px);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salto{position:absolute;left:12px;top:-60px;background:var(--fucsia);color:#fff;padding:10px 16px;border-radius:8px;z-index:100;font-weight:700}
.salto:focus{top:12px}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease;will-change:transform}
.btn svg{width:22px;height:22px;flex:none}
.btn--wa{background:var(--fucsia);color:#fff;box-shadow:0 10px 30px -10px rgba(200,30,145,.9)}
.btn--wa:hover{background:#d92a9f;transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(200,30,145,1)}
.btn--linea{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn--linea:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--oscuro{background:var(--tinta);color:#fff}
.btn--oscuro:hover{background:var(--noche);transform:translateY(-2px)}

/* ---------- Gancho (firma de la marca) ---------- */
.gancho{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.gancho .linea{color:#fff}
.gancho .caja{display:inline-block;background:var(--fucsia);color:#fff;padding:.12em .32em .16em;transform:rotate(-2deg);box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.gancho .caja--coral{background:var(--coral);color:var(--noche)}

/* ---------- Cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;height:var(--cab);background:rgba(8,2,58,.78);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.cab__in{height:100%;display:flex;align-items:center;gap:28px}
.cab__marca{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.cab__marca img{width:58px;height:auto}
.cab__nav{display:flex;gap:26px;margin-left:auto}
.cab__nav a{font-size:14.5px;font-weight:600;text-decoration:none;color:var(--claro-suave);padding:8px 0;position:relative}
.cab__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--coral);transition:right .25s ease}
.cab__nav a:hover{color:#fff}.cab__nav a:hover::after{right:0}
.cab__cta{min-height:44px;padding:0 18px;font-size:14.5px}
.cab__burger{display:none;margin-left:auto;width:46px;height:46px;border:0;background:transparent;color:#fff;border-radius:12px;cursor:pointer;padding:12px}
.cab__burger span{display:block;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:transform .25s ease,opacity .2s}
.cab.is-open .cab__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cab.is-open .cab__burger span:nth-child(2){opacity:0}
.cab.is-open .cab__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(40px,6vw,88px) 0 clamp(64px,8vw,120px);background:var(--noche)}
.hero__fondo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.95}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 15% 40%,rgba(8,2,58,.86) 30%,rgba(8,2,58,.25) 75%),linear-gradient(180deg,transparent 70%,var(--abismo))}
.hero__in{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero__eti{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:22px}
.hero__eti::before{content:"";width:34px;height:2px;background:var(--coral)}
.hero h1{font-weight:900;font-size:clamp(2.3rem,1.35rem + 3.1vw,4.1rem);letter-spacing:-.035em;line-height:1.02}
.hero h1 .h1-zona{display:block;margin-top:.35em;font-family:var(--serif);font-style:italic;font-weight:600;font-size:.5em;letter-spacing:0;line-height:1.2;color:#ffd1e9}
.hero__sub{margin-top:24px;max-width:56ch;font-size:clamp(16.5px,.95rem + .25vw,19px);color:var(--claro-suave)}
.hero__sub strong{color:#fff;font-weight:700}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__mini{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:rgba(255,255,255,.7)}
.hero__mini span{display:inline-flex;align-items:center;gap:8px}
.hero__mini span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--coral)}
.hero__visual{position:relative;justify-self:center;width:min(286px,100%)}
.hero__visual .gancho{position:absolute;left:-44%;bottom:9%;z-index:3;font-size:clamp(20px,1.1rem + .9vw,30px)}

/* Marco de móvil */
.movil{position:relative;border-radius:42px;padding:10px;background:linear-gradient(160deg,#2a1e7a,#0b0446 60%);box-shadow:var(--sombra),inset 0 0 0 1.5px rgba(255,255,255,.18)}
.movil::before{content:"";position:absolute;top:18px;left:50%;translate:-50% 0;width:34%;height:22px;border-radius:20px;background:#05012a;z-index:2}
.movil video,.movil img{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:33px;background:#120a4f}
.hero .movil{transform:rotate(3deg)}

/* ---------- Secciones genéricas ---------- */
.sec{padding:clamp(72px,9vw,128px) 0;position:relative}
.sec--crema{background:var(--crema);color:var(--tinta)}
.sec--noche{background:var(--noche)}
.sec--abismo{background:var(--abismo)}
.eti{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin-bottom:18px}
.sec--crema .eti{color:var(--fucsia)}
.eti::before{content:"";width:26px;height:2px;background:currentColor}
.h2{font-weight:900;font-size:clamp(2rem,1.2rem + 2.6vw,3.5rem);letter-spacing:-.03em}
.h2 em{font-family:var(--serif);font-weight:700;letter-spacing:-.01em;color:var(--coral)}
.sec--crema .h2 em{color:var(--fucsia)}
.intro{margin-top:18px;max-width:60ch;font-size:18px;color:var(--claro-suave)}
.sec--crema .intro{color:var(--tinta-suave)}

/* ---------- Propuesta ---------- */
.prop{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,6vw,96px);align-items:end}
.prop__lista{list-style:none;margin:0;padding:0;display:grid;gap:0}
.prop__lista li{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:24px 0;border-top:1px solid rgba(26,13,77,.14)}
.prop__lista li:last-child{border-bottom:1px solid rgba(26,13,77,.14)}
.prop__num{font-family:var(--serif);font-style:italic;font-weight:700;font-size:38px;line-height:1;color:var(--fucsia)}
.prop__lista h3{font-size:19px;font-weight:800;letter-spacing:-.01em;margin-bottom:6px}
.prop__lista p{color:var(--tinta-suave);font-size:16px}

/* ---------- Servicios ---------- */
.serv__cab{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.serv{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.serv__item{position:relative;border-radius:var(--r-l);padding:34px 32px 32px;background:linear-gradient(165deg,rgba(255,255,255,.075),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:transform .3s ease,border-color .3s ease,background-color .3s}
.serv__item:hover{transform:translateY(-4px);border-color:rgba(251,76,75,.55)}
.serv__item:nth-child(1){grid-column:span 7;background:linear-gradient(150deg,var(--fucsia),#7d1170 70%);border-color:transparent}
.serv__item:nth-child(2){grid-column:span 5}
.serv__item:nth-child(3){grid-column:span 5}
.serv__item:nth-child(4){grid-column:span 7}
.serv__item:nth-child(5){grid-column:span 6}
.serv__item:nth-child(6){grid-column:span 6;background:linear-gradient(150deg,#1c3fd6,#0b1a7a);border-color:transparent}
.serv__n{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--coral)}
.serv__item:nth-child(1) .serv__n,.serv__item:nth-child(6) .serv__n{color:#ffd1e9}
.serv__item h3{margin:14px 0 12px;font-size:clamp(22px,1.1rem + .6vw,28px);font-weight:800;letter-spacing:-.02em}
.serv__item p{color:var(--claro-suave);font-size:16px;max-width:52ch}
.serv__item:nth-child(1) p,.serv__item:nth-child(6) p{color:rgba(255,255,255,.9)}
.serv__ico{position:absolute;right:26px;top:26px;width:46px;height:46px;opacity:.9}
.serv__wa{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:700;font-size:14.5px;text-decoration:none;color:#fff;border-bottom:1.5px solid rgba(255,255,255,.4);padding-bottom:3px;transition:border-color .2s,gap .2s}
.serv__wa:hover{border-color:#fff;gap:12px}

/* ---------- Trabajos ---------- */
.trab__videos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px);margin-top:56px;align-items:start}
.trab__video{margin:0}
.trab__video:nth-child(2){margin-top:56px}
.trab__video figcaption{margin-top:18px;font-size:15px;color:var(--tinta-suave)}
.trab__video figcaption strong{display:block;color:var(--tinta);font-size:17px;font-weight:800}
.trab__posts{margin-top:clamp(64px,8vw,104px)}
.trab__posts h3{font-size:clamp(22px,1rem + 1vw,30px);font-weight:900;letter-spacing:-.02em}
.trab__posts h3 em{font-family:var(--serif);color:var(--fucsia)}
.carrusel{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,24vw,300px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px 2px 18px;scrollbar-width:thin;scrollbar-color:var(--fucsia) transparent}
.carrusel figure{margin:0;scroll-snap-align:start}
.carrusel img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-m);box-shadow:0 18px 40px -22px rgba(26,13,77,.55);transition:transform .35s ease}
.carrusel figure:hover img{transform:translateY(-6px) rotate(-.6deg)}
.carrusel figcaption{margin-top:12px;font-size:14px;font-weight:600;color:var(--tinta-suave)}
.carrusel__nota{font-size:14px;color:var(--tinta-suave)}

/* ---------- Redes ---------- */
.redes{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,90px);align-items:center}
.redes__lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.redes__lista li{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);font-weight:700;font-size:16px;transition:background-color .2s,border-color .2s,transform .2s}
.redes__lista li:hover{background:rgba(200,30,145,.22);border-color:var(--fucsia);transform:translateY(-2px)}
.redes__lista li svg{width:20px;height:20px;flex:none}
.redes__lista li:nth-child(3n+1){transform:rotate(-1.2deg)}
.redes__lista li:nth-child(3n+1):hover{transform:rotate(-1.2deg) translateY(-2px)}

/* ---------- Proceso ---------- */
.proc{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:p}
.proc li{position:relative;padding:28px 26px 8px 0;border-top:2px solid rgba(26,13,77,.16)}
.proc li::before{counter-increment:p;content:"0" counter(p);display:block;font-family:var(--serif);font-style:italic;font-weight:700;font-size:54px;line-height:1;color:var(--fucsia);margin-bottom:18px}
.proc li::after{content:"";position:absolute;top:-2px;left:0;width:48px;height:2px;background:var(--fucsia)}
.proc h3{font-size:20px;font-weight:800;margin-bottom:8px}
.proc p{color:var(--tinta-suave);font-size:16px}

/* ---------- Sobre mí ---------- */
.yo{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:center}
.yo__fotos{position:relative;padding-bottom:70px}
.yo__f1{width:82%;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%;border-radius:var(--r-l);box-shadow:var(--sombra)}
.yo__f2{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:50%;border:6px solid var(--noche);box-shadow:var(--sombra)}
.yo__fotos .gancho{position:absolute;left:-14px;top:22px;font-size:clamp(16px,.8rem + .6vw,22px)}
.yo__txt p{margin-top:18px;color:var(--claro-suave);font-size:17.5px}
.yo__txt p strong{color:#fff}
.yo__cita{margin:30px 0 0;padding:4px 0 4px 24px;border-left:3px solid var(--coral);font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(20px,1rem + .8vw,26px);line-height:1.35;color:#fff}

/* ---------- DANIA ---------- */
.dania{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);align-items:start}
.dania__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dania__lista li{padding:20px 20px 18px;border-radius:var(--r-m);background:#fff;box-shadow:0 1px 0 rgba(26,13,77,.06),0 14px 30px -20px rgba(26,13,77,.45)}
.dania__lista strong{display:block;font-size:16.5px;font-weight:800;color:var(--tinta);margin-bottom:4px}
.dania__lista span{font-size:15px;color:var(--tinta-suave);line-height:1.5;display:block}

/* ---------- FAQ ---------- */
.faq__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,90px);align-items:start}
.faq details{border-bottom:1px solid rgba(255,255,255,.14)}
.faq details:first-child{border-top:1px solid rgba(255,255,255,.14)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:clamp(17px,1rem + .3vw,20px);font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FB4C4B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .3s ease,background-color .2s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:rgba(200,30,145,.35)}
.faq details p{padding:0 0 26px;max-width:62ch;color:var(--claro-suave)}

/* ---------- Contacto ---------- */
.contacto{position:relative;isolation:isolate;overflow:hidden;padding:clamp(80px,10vw,140px) 0;background:var(--noche)}
.contacto__fondo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scaleY(-1)}
.contacto::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(8,2,58,.55)}
.contacto__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,90px);align-items:center}
.contacto .gancho{font-size:clamp(30px,1.2rem + 3vw,60px)}
.contacto__txt{margin-top:28px;font-size:18px;color:var(--claro-suave);max-width:46ch}
.contacto__datos{list-style:none;margin:0;padding:30px;border-radius:var(--r-l);background:rgba(8,2,58,.6);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);display:grid;gap:18px}
.contacto__datos li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center}
.contacto__datos .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(200,30,145,.22)}
.contacto__datos .ico svg{width:22px;height:22px}
.contacto__datos small{display:block;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700}
.contacto__datos a,.contacto__datos span.v{font-weight:700;font-size:17px;text-decoration:none;word-break:break-word}
.contacto__datos a:hover{color:#ffd1e9}

/* ---------- Pie ---------- */
.pie{background:#05012a;padding:72px 0 28px;font-size:15px;color:rgba(255,255,255,.72)}
.pie__in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.pie__marca img{width:120px;height:auto}
.pie__marca p{margin-top:16px;max-width:30ch}
.pie__t{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pie a{text-decoration:none}.pie a:hover{color:#fff;text-decoration:underline}
.pie__legal{margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:13.5px}
.pie__legal nav{display:flex;flex-wrap:wrap;gap:6px 18px}

/* ---------- Legales ---------- */
.migas{background:var(--abismo);border-bottom:1px solid rgba(255,255,255,.08)}
.migas ol{list-style:none;margin:0 auto;padding:12px 0;display:flex;gap:8px;font-size:14px;color:rgba(255,255,255,.7);flex-wrap:wrap}
.migas li+li::before{content:"›";margin-right:8px;opacity:.6}
.migas a{text-decoration:none}.migas a:hover{text-decoration:underline}
.legal{background:var(--crema);color:var(--tinta);padding:clamp(48px,7vw,96px) 0}
.legal__in{width:min(720px,100% - 40px);margin-inline:auto}
.legal h1{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:900;letter-spacing:-.03em}
.legal .fecha{margin-top:10px;font-size:14px;color:var(--tinta-suave)}
.legal h2{margin:40px 0 12px;font-size:21px;font-weight:800}
.legal p,.legal li{color:#2e2360;font-size:16.5px}
.legal p+p{margin-top:12px}
.legal ul{padding-left:20px;margin:12px 0}
.legal a{color:var(--fucsia);font-weight:600}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px;table-layout:fixed}
.legal th,.legal td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(26,13,77,.15);vertical-align:top;overflow-wrap:anywhere}
.legal th{font-weight:800;background:rgba(200,30,145,.08)}

/* ---------- Barra móvil ---------- */
.mbar{display:none}

/* ---------- Animaciones ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.is-in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero__visual .gancho{left:-40%}
  .serv__item:nth-child(n){grid-column:span 6}
  .pie__in{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--cab:64px}
  .cab__nav{position:absolute;top:var(--cab);left:0;right:0;flex-direction:column;gap:0;padding:8px 20px 20px;background:rgba(8,2,58,.97);border-bottom:1px solid rgba(255,255,255,.1);max-height:calc(100dvh - var(--cab));overflow:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  .cab.is-open .cab__nav{visibility:visible;opacity:1;transform:none}
  .cab__nav a{padding:14px 0;font-size:17px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
  .cab__nav a::after{display:none}
  .cab__cta{display:none}
  .cab__burger{display:block}
  .cab__marca img{width:46px}
  .hero{padding-top:28px}
  .hero__in{grid-template-columns:1fr}
  .hero__visual{display:none}
  .prop,.serv__cab,.redes,.yo,.dania,.faq__in,.contacto__in{grid-template-columns:1fr}
  .serv__cab{margin-bottom:36px}
  .proc{grid-template-columns:1fr 1fr;gap:10px 22px}
  .trab__videos{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-inline:-20px;padding-inline:20px}
  .trab__video{scroll-snap-align:center}
  .trab__video:nth-child(2){margin-top:0}
  .yo__fotos{max-width:480px}
  .yo__fotos .gancho{left:10px;top:14px}
}
@media (max-width:760px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(8,2,58,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.12);transition:translate .25s ease}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;font-weight:700;text-decoration:none;font-size:15.5px}
  .mbar a svg{width:20px;height:20px}
  .mbar .m-wa{background:var(--fucsia)}
  .mbar .m-tel{border:1.5px solid rgba(255,255,255,.5)}
  .mbar.is-off{translate:0 calc(100% + 24px);visibility:hidden}
  .serv{grid-template-columns:1fr}
  .serv__item:nth-child(n){grid-column:auto;padding:28px 24px}
  .dania__lista{grid-template-columns:1fr}
  .hero__ctas .btn{flex:1 1 100%;justify-content:center}
  .pie__in{grid-template-columns:1fr}
}
@media (max-width:420px){
  .wrap{width:calc(100% - 32px)}
  .proc{grid-template-columns:1fr}
  .hero h1{font-size:2.05rem}
  .hero__mini{display:none}
  .contacto__datos{padding:22px}
}
