@import url('assets/fonts/fuentes-locales.css');:root{--bg:#17191e;--surface:#262a31;--purple:#72547f;--light:#f7f6f3;--ink:#252830;--muted:#b8b7bb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--light)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff22}.nav{display:flex;align-items:center;justify-content:space-between;height:100px}.logo{width:190px;display:block}.menu{display:flex;align-items:center;gap:38px;color:#f0eeed;font-size:13px}.menu a:hover,.text-link:hover{color:#b6a0c0}.nav-cta{border:1px solid #6b6471;padding:14px 22px;border-radius:50px}.menu-toggle{display:none;background:transparent;color:white;border:0;font-size:28px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 42%,#32313c 0%,#24262d 37%,#17191e 75%);color:white;min-height:760px}.hero-inner{position:relative;z-index:2;padding-top:192px}.eyebrow,.section-label{font-size:11px;letter-spacing:2px;font-weight:700}.eyebrow{color:#c7c4cb;display:flex;align-items:center;gap:12px}.dot{width:7px;height:7px;border-radius:50%;background:#a48caf}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(66px,8.8vw,128px);letter-spacing:-5px;line-height:1.04;margin:34px 0}.hero h1 em,h2 em{font-weight:400;color:#b49abb}.period{color:#b49abb}.hero p{max-width:480px;color:#d0cdd2;font-size:17px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:30px;margin:38px 0 95px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:40px;padding:18px 24px;font-size:13px;font-weight:700;border:0}.primary{background:#a58bab;color:#1c1c22}.primary:hover{background:#bca6c5}.text-link{font-size:13px;color:#e5e1e7}.hero-footer{display:flex;justify-content:space-between;padding-bottom:30px;color:#b1abb6;font-size:10px;letter-spacing:2px}.orb{position:absolute;border-radius:50%;pointer-events:none}.orb-one{width:460px;height:460px;border:1px solid #ffffff18;right:-90px;top:175px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff04}.orb-two{width:160px;height:160px;background:#6b607518;filter:blur(50px);right:30%;top:10%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:120px 0}.section-label{color:#685573}.intro h2,.section-top h2,.method h2,.contact h2{font:400 clamp(42px,5vw,66px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:0 0 30px}.intro p{font-size:17px;line-height:1.8;max-width:670px;color:#64666a}.services-section{background:#e9e8e5;padding:110px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-top .section-label{margin-bottom:25px}.section-top p{max-width:250px;line-height:1.6;color:#65676b}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d2d0cd;border:1px solid #d2d0cd}.service{display:flex;flex-direction:column;min-height:290px;background:#faf9f7;padding:35px;transition:background .2s,transform .2s}.service:hover{background:#efebeF}.num,.more{font-size:12px;color:#765e80}.service h3{font:400 28px/1.25 'Playfair Display',Georgia,serif;margin:48px 0 12px}.service p{font-size:14px;color:#66676b;line-height:1.6;margin:0 0 20px}.more{margin-top:auto;font-weight:700}.details{padding:100px 0}.details>.section-label{margin-bottom:30px}.detail{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid #d9d8d5;padding:36px 0;scroll-margin-top:20px}.detail-index{font-size:11px;letter-spacing:1.5px;color:#75617e}.detail h3{font:400 32px 'Playfair Display',Georgia,serif;margin:0}.detail p{line-height:1.7;color:#62656a;max-width:620px}.detail a{font-size:13px;color:#694e78;font-weight:700}.method{background:#25272e;color:white;padding:110px 0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.method h2{margin-top:30px}.steps>div{border-bottom:1px solid #4c4a54;padding:0 0 25px;margin-bottom:25px}.steps b{font-size:12px;color:#b69dc0}.steps h3{font:400 27px 'Playfair Display',Georgia,serif;margin:10px 0}.steps p{color:#c8c4cb;line-height:1.6}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:120px 0}.contact h2{margin-top:30px}.contact p{color:#64666a;line-height:1.7}.email-link{color:#694e78;text-decoration:underline}.note{font-size:13px}.contact-form{background:#f0efec;padding:35px;display:flex;flex-direction:column;gap:12px}.contact-form label{font-size:12px;font-weight:700}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#fff;border:1px solid #d4d2d0;padding:14px;outline-color:#72547f;border-radius:2px;margin-bottom:10px;width:100%}.consent{display:flex;gap:10px;align-items:start;line-height:1.6;font-weight:400!important}.consent a{text-decoration:underline}.form-hint{font-size:11px;line-height:1.5!important}footer{background:#17191e;color:#e8e6e9;padding:50px 0}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;align-items:start}footer img{width:160px}footer p{margin-top:0}footer small{color:#b5b1ba}.footer-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}a:focus-visible,button:focus-visible{outline:3px solid #a58bab;outline-offset:3px}@media(max-width:850px){.menu-toggle{display:block}.menu{display:none;position:absolute;top:99px;left:0;right:0;background:#25272e;flex-direction:column;padding:25px;align-items:start}.menu.open{display:flex}.hero{min-height:730px}.hero h1{letter-spacing:-3px}.intro,.method-grid,.contact{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.section-top{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.shell{width:min(100% - 34px,1160px)}.nav{height:82px}.menu{top:81px}.logo{width:160px}.hero-inner{padding-top:150px}.hero{min-height:690px}.hero h1{font-size:clamp(57px,13vw,75px)}.hero-actions{align-items:start;flex-direction:column;gap:25px;margin-bottom:65px}.hero-footer{gap:20px;flex-direction:column}.intro,.services-section,.details,.method,.contact{padding-top:75px;padding-bottom:75px}.service-grid{grid-template-columns:1fr}.service{min-height:230px}.service h3{margin-top:25px}.detail{grid-template-columns:1fr;gap:12px}.contact-form{padding:22px}.footer-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* ÚNICA MODIFICACIÓN: identidad gráfica VIRES. Diseño neutro original intacto. */
.vires-brand{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;text-decoration:none;color:inherit}
.vires-symbol{width:47px;height:47px;object-fit:contain;display:block}
.vires-wordmark{display:flex;flex-direction:column;gap:2px;line-height:1;color:inherit}
.vires-wordmark strong{font-family:Georgia,serif;font-weight:500;letter-spacing:.23em;font-size:19px}
.vires-wordmark small{font-size:9px;letter-spacing:.32em;font-weight:600}
footer .vires-brand{color:inherit}
@media(max-width:520px){.vires-symbol{width:39px;height:39px}.vires-wordmark strong{font-size:16px}.vires-wordmark small{font-size:8px}}
/* Ajuste puntual de contraste en superficies oscuras: sin cambios de estructura */
.header .vires-wordmark strong, footer .vires-wordmark strong{color:#f7f6f3}
.header .vires-wordmark small, footer .vires-wordmark small{color:#d4c9d9}
.method .section-label{color:#d2b6df}

/* Identidad aprobada: símbolo morado más luminoso, reflejo discreto sobre grafito. */
.header .vires-symbol, footer .vires-symbol{filter:drop-shadow(0 0 4px rgba(195,113,191,.24)) drop-shadow(0 0 2px rgba(228,187,130,.14));}

/* Ajuste de tamaño de marca: mantiene intacto el resto del diseño. */
.header .vires-brand{gap:13px}
.header .vires-symbol{width:62px;height:62px}
.header .vires-wordmark strong{font-size:25px;letter-spacing:.20em}
.header .vires-wordmark small{font-size:11px;letter-spacing:.32em}
@media(max-width:560px){
 .header .vires-brand{gap:9px}
 .header .vires-symbol{width:49px;height:49px}
 .header .vires-wordmark strong{font-size:20px;letter-spacing:.18em}
 .header .vires-wordmark small{font-size:9px;letter-spacing:.27em}
}

/* UX: mejoras funcionales sin alterar la identidad visual aprobada */
html{scroll-padding-top:115px}
.header{transition:background .25s ease,box-shadow .25s ease;position:fixed}
.header.scrolled{background:rgba(23,25,30,.97);box-shadow:0 8px 30px rgba(0,0,0,.13);backdrop-filter:blur(12px)}
.service{position:relative;transition:background .22s ease,box-shadow .22s ease,transform .22s ease}
.service:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(24,25,29,.08);z-index:1}
.service:focus-visible{outline:3px solid #72547f;outline-offset:-4px}
.detail{transition:background-color .3s ease}
.detail-highlight{background:rgba(114,84,127,.09)}
.reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}}
.mobile-contact{display:none}
@media(max-width:850px){.menu{box-shadow:0 20px 25px rgba(0,0,0,.22)}.menu a{padding:10px 0;min-height:42px}}
@media(max-width:560px){.mobile-contact{display:block;position:fixed;bottom:15px;right:16px;z-index:9;background:#a58bab;color:#1c1c22;padding:12px 19px;border-radius:30px;font-size:12px;font-weight:700;box-shadow:0 6px 20px #0003}footer{padding-bottom:88px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.header,.service{transition:none!important}}

/* Captación: preguntas frecuentes y orientación contextual, respetando el diseño existente */
.faq-section{background:#f0efec;padding:84px 0}
.faq-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;margin-top:28px}
.faq-layout h2{font-family:Georgia,serif;font-size:clamp(30px,3.5vw,50px);font-weight:400;line-height:1.16;margin:0 0 20px}
.faq-layout h2 em{color:#72547f}
.faq-intro{color:#5c5d63;line-height:1.7;max-width:380px}
.faq-list details{border-bottom:1px solid #d5d2d0;padding:19px 0}
.faq-list details:first-child{border-top:1px solid #d5d2d0}
.faq-list summary{cursor:pointer;font-weight:650;line-height:1.5;padding-right:28px;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:2px;top:0;font-size:22px;color:#72547f}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{color:#595a60;line-height:1.75;font-size:14px;margin:13px 0 2px}
.faq-list summary:focus-visible{outline:2px solid #72547f;outline-offset:4px}
.contact-context{padding:12px 15px;background:#f0efec;border-left:3px solid #72547f;color:#35343b;font-size:13px;line-height:1.55;margin-bottom:17px}
@media(max-width:760px){.faq-section{padding:58px 0}.faq-layout{grid-template-columns:1fr;gap:22px}}

/* Presentación de la abogada titular */
.principal-section{background:#e9e8e5;padding:90px 0;border-top:1px solid #dedbdc}
.principal-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:start}
.principal-section h2{font:400 clamp(38px,4.5vw,60px)/1.17 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:24px 0 0}
.principal-section h2 em{color:#72547f}
.principal-kicker{font-size:11px!important;letter-spacing:2px;font-weight:700;color:#72547f!important}
.principal-info h3{font:400 clamp(32px,3.5vw,46px) 'Playfair Display',Georgia,serif;margin:10px 0 15px}
.principal-info p{line-height:1.8;color:#606168;max-width:600px}
.principal-info .principal-credential{font-size:14px;color:#383941;font-weight:600}
.principal-info a{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;color:#694e78}
@media(max-width:760px){.principal-section{padding:65px 0}.principal-grid{grid-template-columns:1fr;gap:25px}}
