/* Sistema responsive final: una sola geometría para todos los dispositivos. */
html,body{width:100%;max-width:100%;overflow-x:clip}
body>main,main>section,body>footer{width:100%;max-width:100%}
main,section,header,nav,footer,div,figure,article{min-width:0}
img,video,canvas,iframe,svg{max-width:100%}
.hero,.particle-sanctuary,.manifesto,.about-laura,.services,.method,.cortex-band,.faq,.contact,footer{overflow-x:clip}

/* Portada orgánica: fotografía, fluido y velos forman una sola escena. */
.hero{background:#f8f0e3;isolation:isolate}
.hero-media{left:42%;z-index:0!important}
.hero-media img{object-position:center 58%;filter:saturate(.92) contrast(1.02) brightness(1.02)!important}
.hero-media:after{background:linear-gradient(90deg,#f8f0e3 0%,rgba(248,240,227,.98) 9%,rgba(248,240,227,.72) 34%,rgba(248,240,227,.08) 69%),linear-gradient(0deg,#f8f0e3 0%,transparent 24%)}
.hero-fluid{display:block;z-index:1!important;opacity:.62;mix-blend-mode:screen;filter:saturate(1.25) contrast(1.08)}
.hero-vignette{z-index:2!important;pointer-events:none;background:linear-gradient(0deg,rgba(248,240,227,.48),transparent 35%)}
.hero-vignette:before,.hero-vignette:after{content:"";position:absolute;right:-10%;top:31%;width:66%;height:26%;border-radius:50%;border-top:2px solid rgba(232,73,170,.28);background:radial-gradient(ellipse at 50% 0,rgba(220,67,170,.12),transparent 68%);box-shadow:0 -18px 45px rgba(132,70,211,.13);transform:rotate(-9deg) skewX(-18deg);animation:heroVeil 9s ease-in-out infinite alternate}
.hero-vignette:after{right:-4%;top:48%;width:56%;height:20%;border-color:rgba(132,75,214,.23);background:radial-gradient(ellipse at 50% 0,rgba(123,70,211,.11),transparent 70%);animation-delay:-4s;animation-direction:alternate-reverse}
@keyframes heroVeil{to{transform:translate3d(-5%,18px,0) rotate(-3deg) skewX(12deg) scaleX(1.08);opacity:.58}}
.hero-copy{z-index:4}
.hero-copy .overline{color:#745d77}
.hero h1{max-width:760px;text-wrap:balance}

/* La fotografía de Laura conserva rostro y mirada en todos los recortes. */
.about-laura-image img{object-position:center 30%!important}
.about-laura-copy h2{max-width:680px;text-wrap:balance}

/* Menú: estados legibles sobre marfil y selección con texto degradado. */
@media(max-width:720px){
  .menu-open .nav-links a:not(.mobile-menu-cta):hover,
  .menu-open .nav-links a:not(.mobile-menu-cta):active,
  .menu-open .nav-links a:not(.mobile-menu-cta):focus-visible{
    color:transparent!important;-webkit-text-fill-color:transparent;
    background-image:linear-gradient(100deg,#6f2bd1,#be279e 58%,#e63b96)!important;
    background-color:transparent!important;background-clip:text!important;-webkit-background-clip:text!important;
    box-shadow:inset 0 0 0 1px rgba(142,48,164,.13),0 8px 22px rgba(89,36,111,.08)!important;
  }
  .menu-open .nav-links .mobile-menu-cta,.menu-open .nav-links .mobile-menu-cta:hover,.menu-open .nav-links .mobile-menu-cta:active{color:#fffaf0!important;-webkit-text-fill-color:#fffaf0;background:linear-gradient(101deg,#3a154f,#7c247f 55%,#c92c91)!important}
}

@media(max-width:1000px){
  .hero-media{left:28%}
  .hero-fluid{width:min(68vw,590px);height:min(68vw,590px);right:-7vw}
  .about-laura-grid{grid-template-columns:minmax(260px,.82fr) 1fr;gap:clamp(36px,6vw,70px)}
}

@media(max-width:720px){
  html,body{min-width:0;width:100%;max-width:100%;overscroll-behavior-x:none}
  body>main,main>section,body>footer{inline-size:100%;max-inline-size:100%}

  .nav-wrap{width:100%;padding:8px 10px}
  .nav,.scrolled .nav{width:100%;max-width:none}

  .hero{display:block;min-height:0;padding:0 0 clamp(64px,14vw,88px);overflow:hidden}
  .hero-media{position:relative!important;inset:auto!important;left:auto!important;width:100%!important;height:clamp(440px,64svh,620px)!important;border-radius:0 0 34px 34px;overflow:hidden}
  .hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 63%!important}
  .hero-media:after{background:linear-gradient(0deg,#f8f0e3 0%,rgba(248,240,227,.22) 30%,transparent 57%),linear-gradient(90deg,rgba(248,240,227,.1),transparent 32%)}
  .hero-fluid{display:block!important;position:absolute!important;inset:54px 0 auto!important;width:100%!important;height:clamp(386px,58svh,560px)!important;max-width:none!important;border-radius:0!important;opacity:.8!important;mix-blend-mode:normal;filter:saturate(1.45) contrast(1.12);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 82%,transparent 100%)}
  .hero-vignette{inset:0 0 auto!important;height:clamp(440px,64svh,620px)!important;background:linear-gradient(0deg,#f8f0e3 0%,transparent 38%)}
  .hero-vignette:before{right:-32%;top:32%;width:112%;height:28%;opacity:.92;border-top-width:3px;box-shadow:0 -22px 52px rgba(200,54,166,.2)}.hero-vignette:after{right:-24%;top:49%;width:92%;height:22%;opacity:.82;border-top-width:3px;box-shadow:0 -18px 46px rgba(113,61,205,.18)}
  .hero-copy{width:100%;max-width:none;margin:0;padding:clamp(42px,10vw,62px) 20px 0}
  .hero-copy .overline{font-size:8px;line-height:1.5;letter-spacing:.19em;margin-bottom:18px}
  .hero h1{width:100%;max-width:100%;font-size:clamp(36px,9.8vw,46px)!important;line-height:1!important;letter-spacing:-.025em!important;overflow-wrap:normal;word-break:normal}
  .hero h1 em{display:block;margin-top:5px}
  .hero-lead{width:100%;max-width:34em;margin:24px 0;font-size:15px;line-height:1.72}
  .hero-actions{width:auto}.hero-actions .button{width:auto;min-width:190px;padding-inline:24px}

  .particle-sanctuary{width:100%!important;max-width:100%!important;min-height:72svh!important;padding:0!important;background:#100a13}
  .sanctuary-particles,.sanctuary-shade{inset:0!important;width:100%!important;max-width:none!important;height:100%!important}

  .section-pad{width:100%;padding:clamp(78px,18vw,110px) 20px}
  .section-number,.section-number.light{margin-bottom:48px;font-size:9px;letter-spacing:.22em}
  .manifesto-grid{gap:32px}.manifesto-kicker{font-size:clamp(27px,8vw,38px)}
  .manifesto-copy h2,.method h2,.faq h2{font-size:clamp(38px,11vw,50px);line-height:1.02}
  .manifesto-copy>p{margin:28px 0;font-size:15px}
  .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats strong{font-size:25px}.stats span{font-size:7px;letter-spacing:.12em}
  .image-composition{width:100%;margin-top:60px}.image-main,.image-secondary,.image-floating{max-width:100%}

  .about-laura-grid{display:grid;grid-template-columns:1fr;gap:64px;width:100%}
  .about-identity{width:100%;padding:0 0 82px}
  .about-laura-image{width:100%;height:min(128vw,610px);border-radius:180px 180px 30px 30px}
  .about-laura-image img{object-position:center 26%!important}
  .about-logo-stage.identity-orbits{right:50%;bottom:12px;transform:translateX(50%);width:min(46vw,190px)}
  .about-logo-hint{left:50%;right:auto;bottom:-42px;transform:translateX(-50%);width:min(250px,78vw);justify-content:center;white-space:normal;text-align:center;line-height:1.4}
  .about-laura-copy{width:100%}.about-laura-copy h2{font-size:clamp(40px,12vw,52px);overflow-wrap:normal}.about-laura-copy>p:not(.overline){font-size:15px;line-height:1.8}

  .services-heading{margin-bottom:46px}.services h2{font-size:clamp(39px,11vw,52px)}.services-heading>p:last-child{font-size:14px;line-height:1.7}
  .service-list{width:100%;margin:0}.service-card{width:100%;min-height:94px;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:12px 8px}.service-card .num{width:38px;height:38px}.service-card h3{min-width:0;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.service-card .price{font-size:19px;white-space:nowrap}.service-card .arrow{display:none}

  .method-flow{width:100%;grid-template-columns:1fr;gap:14px;margin-top:52px}.step,.step+.step{width:100%;grid-template-columns:58px minmax(0,1fr);gap:8px 14px;padding:18px;min-height:0}.step b{display:none}.step-icon{grid-column:1;grid-row:1/3;width:58px;height:58px}.step-icon svg{width:40px;height:40px}.step h3{grid-column:2;font-size:23px}.step p{grid-column:2;margin:0;font-size:13px}

  .cortex-band{width:100%;height:780px;min-height:780px}.cortex-intro{left:20px;width:calc(100% - 40px)}.cortex-intro h2{font-size:clamp(39px,11vw,48px)}.cortex-reflection{left:20px;right:20px;width:auto}.cortex-reflection>p{max-width:100%}.cortex-word{max-width:calc(100% - 76px)}
  .faq-grid{width:100%;gap:42px}.accordions,.accordions details{width:100%}.accordions summary{font-size:18px;line-height:1.35}.accordions details p{margin-right:0}
  .contact{width:100%;min-height:700px;padding:90px 20px}.contact h2{max-width:100%;font-size:clamp(54px,15vw,74px);overflow-wrap:normal}.contact-copy{font-size:14px}.contact-actions{width:100%}.contact-actions .button{width:min(100%,300px)}.contact-actions .text-link{max-width:100%;overflow-wrap:anywhere}
  footer{width:100%;padding:48px 20px 24px}.footer-bottom{width:100%}

  .reveal-from-left,.reveal-from-right{transform:translate3d(0,26px,0)!important}
  .scroll-dock{display:none!important}.whatsapp-float{right:12px!important}
}

@media(max-width:380px){
  .hero-copy{padding-inline:17px}.hero h1{font-size:clamp(34px,9.5vw,39px)!important}
  .section-pad{padding-inline:17px}.service-card{grid-template-columns:38px minmax(0,1fr) auto}.service-card h3{font-size:16px}.service-card .price{font-size:17px}
  .contact{padding-inline:17px}.brand{letter-spacing:.15em}.brand img{width:46px;height:46px}
}

@media(prefers-reduced-motion:reduce){.hero-fluid{display:none!important}.hero-vignette:before,.hero-vignette:after{animation:none}.reveal{transform:none!important}}

/* Acabado visual final: recupera el degradado de marca y adapta la nueva portada. */
.nav,.scrolled .nav,.menu-open .nav,.menu-open.scrolled .nav{
  background:linear-gradient(102deg,#fff8eb 0%,#fff8eb 29%,#4b1b60 48%,#86277f 72%,#c72c91 100%)!important;
  box-shadow:0 14px 38px rgba(48,20,57,.13)!important;
}
.hero-media{left:0!important;width:100%!important}
.hero-media img{object-position:center center!important}
.hero-media:after{background:linear-gradient(90deg,#f8f0e3 0%,rgba(248,240,227,.92) 14%,rgba(248,240,227,.55) 35%,rgba(248,240,227,.04) 61%),linear-gradient(0deg,#f8f0e3 0%,transparent 22%)}

/* Ondas acuosas suaves, sin destellos blancos que oculten el contenido. */
.contact{isolation:isolate;background:linear-gradient(145deg,#eadce0 0%,#f8ece8 48%,#f3dfe7 100%)!important}
.contact-orb{width:min(86vw,900px)!important;opacity:.62!important;background:radial-gradient(circle,rgba(201,53,152,.08) 0%,rgba(122,61,181,.045) 34%,transparent 69%)!important;box-shadow:none!important;filter:none!important}
.contact-orb i{border:1px solid rgba(130,52,151,.2)!important;box-shadow:inset 0 0 20px rgba(220,86,169,.035)!important;animation:contactWaterSoft 10s cubic-bezier(.2,.62,.35,1) infinite!important}
.contact-orb i:nth-child(2){animation-delay:-1.65s!important}.contact-orb i:nth-child(3){animation-delay:-3.3s!important}.contact-orb i:nth-child(4){animation-delay:-4.95s!important}.contact-orb i:nth-child(5){animation-delay:-6.6s!important}.contact-orb i:nth-child(6){animation-delay:-8.25s!important}
.contact>*:not(.contact-orb){position:relative;z-index:2}
@keyframes contactWaterSoft{0%{transform:scale(.96);opacity:0}24%{opacity:.5}100%{transform:scale(1.16);opacity:0}}

@media(max-width:720px){
  .nav,.scrolled .nav,.menu-open .nav,.menu-open.scrolled .nav{background:linear-gradient(101deg,#fff8eb 0%,#fff8eb 42%,#5c1d69 65%,#b62a8e 100%)!important}
  .hero-media img,.hero-media video{object-position:76% center!important}
  .hero-fluid{opacity:.72!important;mix-blend-mode:screen!important}
  .hero-vignette:before,.hero-vignette:after{display:block!important;filter:saturate(1.25)}
  .contact{min-height:650px!important;padding-block:88px!important}
  .contact-orb{width:122vw!important;opacity:.48!important}
}

@media(prefers-reduced-motion:reduce){
  .hero-fluid{display:block!important;opacity:.38!important}
  .hero-vignette:before,.hero-vignette:after,.contact-orb i{animation:none!important}
  .contact-orb i{opacity:.18!important}
}
