:root{--ink:#16131a;--purple:#5b1d73;--purple-dark:#351044;--lavender:#eee4f2;--cream:#f6f1eb;--brown:#806652;--white:#fff;--line:rgba(29,18,34,.14);--shadow:0 20px 60px rgba(40,20,48,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{margin:0 0 12px;color:var(--purple);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border:1px solid var(--purple);border-radius:999px;background:var(--purple);color:#fff;font-size:.92rem;font-weight:800;transition:.2s}.btn:hover{background:var(--purple-dark);transform:translateY(-2px)}.btn.light{background:#fff;color:var(--purple)}.btn.outline{background:transparent;color:var(--purple)}.site-header{position:sticky;z-index:30;top:0;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Georgia,serif;font-size:1.62rem;font-weight:700;letter-spacing:-.04em}.brand span{color:var(--purple)}.nav-links{display:flex;gap:30px;align-items:center;font-size:.92rem;font-weight:700}.nav-links a:not(.btn):hover,.nav-links a.active{color:var(--purple)}.menu-toggle{display:none;border:0;background:none;font-size:1.8rem}.hero{min-height:710px;display:grid;place-items:center;position:relative;background:url('../assets/yuli-ciudad.jpg') center/cover no-repeat;color:#fff}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,12,21,.82),rgba(18,12,21,.48) 56%,rgba(18,12,21,.1))}.hero-content{position:relative;width:min(760px,100%);margin-right:auto;padding:90px 0}.hero h1,.page-hero h1{margin:8px 0 24px;font-family:Georgia,serif;font-size:clamp(3rem,6.4vw,6rem);line-height:.98;letter-spacing:-.055em}.hero p{max-width:670px;font-size:clamp(1.12rem,2vw,1.45rem)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.section{padding:105px 0}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}.section h2{margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(2.35rem,4vw,4.2rem);line-height:1.05;letter-spacing:-.045em}.lead{font-size:1.15rem;color:#514954}.portrait{height:590px;width:100%;object-fit:cover;border-radius:4px 100px 4px 100px;box-shadow:var(--shadow)}.method{background:var(--cream)}.method-intro{text-align:center;max-width:760px;margin:0 auto 54px}.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.method-card{min-height:250px;padding:28px 20px;background:#fff;border:1px solid var(--line);border-radius:22px}.method-card span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lavender);color:var(--purple);font-weight:900}.method-card h3{font-size:1.03rem;margin:24px 0 9px}.method-card p{font-size:.9rem;color:#655d67}.cta{background:var(--purple);color:#fff;text-align:center}.cta h2{max-width:850px;margin:0 auto 30px}.page-hero{min-height:520px;display:flex;align-items:end;padding:100px 0 70px;background:var(--purple-dark);color:#fff}.page-hero.image{position:relative;background:url('../assets/yuli-ciudad.jpg') center/cover}.page-hero.image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,11,30,.84),rgba(25,11,30,.3))}.page-hero .container{position:relative}.page-hero p{max-width:730px;font-size:1.15rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.service-card{padding:36px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 8px 30px rgba(35,20,40,.06)}.service-card small{color:var(--purple);font-weight:800;text-transform:uppercase}.service-card h3{font-family:Georgia,serif;font-size:2rem;margin:12px 0}.service-card p{color:#5e5660}.companies img,.reviews img{width:100%;height:auto;border-radius:20px}.companies{background:#fafafa}.story{font-size:1.08rem}.story p:first-of-type::first-letter{float:left;font-family:Georgia,serif;font-size:4.7rem;line-height:.78;padding:12px 12px 0 0;color:var(--purple)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:35px}.stat{padding:25px;background:var(--cream);border-radius:18px}.stat strong{display:block;color:var(--purple);font-family:Georgia,serif;font-size:2.5rem}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;list-style:none;padding:0}.benefits li{padding:18px;background:var(--cream);border-radius:14px}.gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.gallery img{width:100%;height:520px;object-fit:cover;border-radius:22px}.gallery img+img{height:520px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-form{display:grid;gap:18px}.contact-form label{font-weight:800}.contact-form input,.contact-form textarea{width:100%;padding:15px 0;border:0;border-bottom:1px solid #8d858e;font:inherit;outline:none}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--purple)}.notice{display:none;padding:14px 18px;background:#e8f6ed;color:#28623d;border-radius:12px}.contact-details{padding:42px;background:var(--cream);border-radius:30px}.contact-details h2{font-size:3rem}.socials{display:flex;gap:12px;margin-top:25px}.socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--purple);border-radius:50%;color:var(--purple);font-weight:900}.footer{padding:54px 0;background:#18131a;color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer nav{display:grid;gap:9px}.footer small{display:block;margin-top:28px;color:#bdb4bf}.floating-wa{position:fixed;z-index:25;right:22px;bottom:22px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;font-size:1.4rem;font-weight:900;box-shadow:0 8px 26px rgba(0,0,0,.2)}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;padding:26px 20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero{min-height:650px;background-position:65% center}.hero:before{background:rgba(18,12,21,.62)}.split,.contact-grid{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img+img{height:430px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.section{padding:74px 0}.hero{min-height:630px}.hero-content{padding:70px 0}.hero h1,.page-hero h1{font-size:3.2rem}.method-grid,.stats,.benefits,.gallery,.footer-grid{grid-template-columns:1fr}.portrait{height:470px}.gallery img,.gallery img+img{height:430px}.footer-grid>div:first-child{grid-column:auto}.page-hero{min-height:450px}.service-card{padding:28px}}
.brand-logo{display:block;width:190px;height:58px;object-fit:contain}.footer .brand-logo{filter:invert(1);opacity:.96}.video-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:4px 50px 4px 50px;box-shadow:var(--shadow);background:#130d16}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-solo{max-width:760px;margin:auto;text-align:center}.contact-solo .contact-details{padding:clamp(34px,6vw,70px)}.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0}.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}.contact-link{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.contact-link strong{display:block;color:var(--purple)}
@media(max-width:560px){.brand-logo{width:150px;height:48px}.contact-links{grid-template-columns:1fr}.video-wrap{border-radius:4px 28px 4px 28px}}
.sobre-hero{position:relative;background:url('../assets/yuli-traje-blanco.jpg') 70% 38%/cover no-repeat;min-height:680px;align-items:center}.sobre-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,13,26,.82) 0%,rgba(22,13,26,.52) 48%,rgba(22,13,26,.08) 76%)}.sobre-hero .container{position:relative}.sobre-hero h1,.sobre-hero p{max-width:680px}.video-external{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:8px 14px;border-radius:999px;background:rgba(20,13,23,.82);color:#fff;font-size:.82rem;font-weight:800}.video-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#160f19}.video-placeholder img{width:100%;height:100%;object-fit:cover;opacity:.68}.video-placeholder span{position:absolute;padding:13px 20px;border-radius:999px;background:var(--purple);font-weight:800}.video-file-mode{background:#160f19}
@media(max-width:700px){.sobre-hero{min-height:610px;background-position:62% 35%}.sobre-hero:before{background:linear-gradient(180deg,rgba(22,13,26,.22),rgba(22,13,26,.8))}.sobre-hero{align-items:end}}
.header-socials{display:flex;align-items:center;gap:8px;margin-left:2px}.header-socials a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);transition:.2s}.header-socials a:hover{color:var(--purple);background:var(--lavender);transform:translateY(-2px)}.header-socials span{display:grid;place-items:center;font-weight:900;line-height:1}.icon-instagram{width:21px;height:21px;border:2px solid currentColor;border-radius:7px;font-family:Arial,sans-serif;font-size:17px}.icon-linkedin{font-family:Arial,sans-serif;font-size:20px;letter-spacing:-1px}.icon-youtube{width:25px;height:18px;border-radius:6px;background:#111;color:#fff;font-size:9px;padding-left:2px}.header-socials a:hover .icon-youtube{color:#fff;background:var(--purple)}.icon-whatsapp{width:22px;height:22px;border:2px solid currentColor;border-radius:50%;font-family:Arial,sans-serif;font-size:12px}
@media(max-width:1080px){.nav-links{gap:16px}.header-socials{gap:3px}.header-socials a{width:30px;height:30px}}
@media(max-width:900px){.header-socials{justify-content:center;margin:8px 0 2px;gap:12px}.header-socials a{width:38px;height:38px;background:var(--cream)}}
