:root{
  --navy:#062c5f;
  --navy-2:#041f43;
  --navy-3:#0b3a77;
  --gold:#d49a14;
  --gold-2:#f2c95e;
  --gold-3:#b87706;
  --white:#fff;
  --cream:#faf7ef;
  --ink:#0a2547;
  --muted:#627083;
  --line:rgba(212,154,20,.28);
  --shadow:0 24px 70px rgba(3,27,58,.15);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:16px;z-index:5000;background:var(--gold-2);color:var(--navy-2);padding:11px 15px;border-radius:0 0 10px 10px;font-weight:900}
.skip-link:focus{top:0}

.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(6,44,95,.08);backdrop-filter:blur(14px);transition:box-shadow .25s ease}
.header.scrolled{box-shadow:0 10px 35px rgba(3,27,58,.09)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{width:168px;display:block;padding:5px 8px;background:#fff;border-radius:13px}
.brand img{width:100%;height:64px;object-fit:contain}
.nav{display:flex;align-items:center;gap:27px;font-weight:800;color:var(--navy)}
.nav a{position:relative;padding:29px 0 25px;font-size:.92rem}
.nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:18px;height:2px;background:var(--gold);transition:left .2s ease,right .2s ease}
.nav a:hover:after,.nav a:focus-visible:after{left:0;right:0}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:8px}
.menu-button span{display:block;height:3px;margin:5px 0;background:var(--navy);border-radius:4px;transition:transform .25s ease,opacity .25s ease}
.menu-button.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-button.open span:nth-child(2){opacity:0}
.menu-button.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,var(--navy-2),var(--navy) 58%,#0a3c7a);color:#fff}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 12% 10%,rgba(242,201,94,.14),transparent 28%),radial-gradient(circle at 88% 55%,rgba(242,201,94,.08),transparent 31%)}
.hero-pattern{position:absolute;right:-120px;top:-160px;width:620px;height:620px;border:1px solid rgba(242,201,94,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(242,201,94,.025),0 0 0 110px rgba(242,201,94,.02);z-index:-1}
.hero-grid{min-height:710px;padding:78px 0 98px;display:grid;grid-template-columns:1.05fr .95fr;gap:78px;align-items:center}
.overline{margin:0 0 18px;color:var(--gold-2);font-size:.78rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.overline-dark{color:var(--gold-3)}
.hero h1,.section h2{margin:0;font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.hero h1{max-width:720px;font-size:clamp(4.4rem,8.5vw,8rem);line-height:.82}
.hero h1 span{display:block;color:var(--gold-2);text-shadow:0 2px 0 rgba(0,0,0,.08)}
.lead-line{display:flex;align-items:center;gap:13px;margin:28px 0 6px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(1.4rem,2.5vw,2rem);text-transform:uppercase;letter-spacing:.05em}
.lead-line:before,.lead-line:after{content:"";height:3px;width:58px;background:var(--gold)}
.hero-message{display:inline-block;margin:10px 0 0;padding:10px 14px;background:rgba(255,255,255,.96);color:var(--navy);font-weight:950;text-transform:uppercase;letter-spacing:.04em;transform:skew(-3deg)}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--navy-2);box-shadow:0 13px 30px rgba(212,154,20,.22)}
.button-ghost{border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.06)}
.button-navy{background:var(--navy);color:#fff;box-shadow:0 12px 27px rgba(4,31,67,.18)}
.quick-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.quick-contact a{display:flex;align-items:center;gap:11px;padding:10px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07)}
.quick-contact small,.contact-links small{display:block;margin-bottom:2px;color:var(--gold-2);font-size:.64rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.quick-contact strong{font-size:1rem;white-space:nowrap}
.wa-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--navy-2);font-size:1.1rem;font-weight:900}

.hero-art{position:relative;min-height:490px;display:grid;place-items:center}
.logo-stage{position:relative;width:min(100%,480px);aspect-ratio:1;border-radius:38px;background:#fff;display:grid;place-items:center;padding:30px;box-shadow:0 40px 85px rgba(0,0,0,.24);overflow:hidden}
.logo-stage:before,.logo-stage:after{content:"";position:absolute;width:105px;height:105px;border-color:var(--gold);border-style:solid;opacity:.8}
.logo-stage:before{left:18px;top:18px;border-width:2px 0 0 2px;border-radius:22px 0 0 0}
.logo-stage:after{right:18px;bottom:18px;border-width:0 2px 2px 0;border-radius:0 0 22px 0}
.logo-stage img{width:100%;height:100%;object-fit:contain;position:relative;z-index:2}
.logo-halo{position:absolute;width:68%;height:68%;border-radius:50%;background:radial-gradient(circle,rgba(212,154,20,.15),transparent 68%)}
.price-badge{position:absolute;right:-24px;bottom:-33px;width:215px;min-height:205px;padding:25px 20px 18px;border-radius:30px;background:linear-gradient(145deg,var(--gold-2),var(--gold) 65%,var(--gold-3));color:var(--navy-2);border:5px solid #fff;box-shadow:0 22px 45px rgba(0,0,0,.26);text-align:center;transform:rotate(-2deg)}
.price-badge span{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:1.3rem;text-transform:uppercase}
.price-badge strong{display:block;margin-top:6px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:4.8rem;line-height:.82}
.price-badge sup{font-size:.48em;vertical-align:top}.price-badge small{font-size:.42em}.price-badge em{display:block;margin-top:10px;font-style:normal;font-weight:950;text-transform:uppercase}
.ribbon{position:absolute;left:0;right:0;bottom:0;display:grid;place-items:center;min-height:72px;background:linear-gradient(90deg,#c8860a,var(--gold-2),#c8860a);color:var(--navy-2);border-top:1px solid rgba(255,255,255,.35)}
.ribbon span{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(2rem,5vw,4.1rem);letter-spacing:.025em;text-transform:uppercase}

.section{padding:100px 0}
.section-white{background:#fff}
.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.section h2{font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:.96;color:var(--navy)}
.gold-rule{display:block;width:120px;height:4px;margin-top:28px;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:4px}
.price-panel{justify-self:end;width:min(100%,440px);padding:38px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(145deg,#fff,#faf7ee);box-shadow:var(--shadow);text-align:center}
.price-panel-top{font-family:Impact,"Arial Narrow",Arial,sans-serif;color:var(--navy);font-size:1.65rem;text-transform:uppercase}
.price-panel-number{margin:10px 0;color:var(--gold-3);font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(5rem,10vw,7.4rem);line-height:.85}
.price-panel-number sup{font-size:.48em;vertical-align:top}.price-panel-number small{font-size:.4em}
.price-panel-currency{font-size:1.25rem;font-weight:950;text-transform:uppercase;color:var(--navy)}
.price-panel-note{margin:22px 0;padding:12px;background:var(--gold);color:var(--navy-2);border-radius:12px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:1.75rem;text-transform:uppercase}
.price-panel .button{width:100%}

.services{position:relative;background:linear-gradient(180deg,var(--navy-2),#062d61);color:#fff;overflow:hidden}
.services:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 49.5%,rgba(255,255,255,.018) 50% 50.5%,transparent 51%);background-size:36px 36px}
.section-title{position:relative;text-align:center;margin-bottom:54px}
.section-title h2{color:#fff;font-size:clamp(3.3rem,7vw,6.7rem)}
.title-rule{display:block;width:170px;height:3px;margin:18px auto 0;background:var(--gold)}
.services-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(242,201,94,.3);border-left:1px solid rgba(242,201,94,.3)}
.service-card{min-height:260px;padding:32px 17px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid rgba(242,201,94,.3);border-bottom:1px solid rgba(242,201,94,.3);transition:background .22s ease,transform .22s ease}
.service-card:hover{background:rgba(255,255,255,.045);transform:translateY(-3px)}
.service-icon{width:92px;height:92px;margin-bottom:22px;display:grid;place-items:center;border-radius:50%;border:3px solid var(--gold);background:linear-gradient(145deg,#0b4388,var(--navy-2));box-shadow:inset 0 0 0 4px rgba(255,255,255,.07),0 15px 30px rgba(0,0,0,.15);color:#fff;font-family:Georgia,serif;font-size:2.6rem;font-weight:900}
.service-icon-flags{display:flex;align-items:center;justify-content:center;gap:4px;font-family:Arial,Helvetica,sans-serif;font-size:.68rem}
.service-icon-flags span{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%}
.service-card h3{margin:0;max-width:195px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:1.2rem;font-weight:400;line-height:1.05;letter-spacing:.025em;text-transform:uppercase}

.payments{background:linear-gradient(100deg,#c98809,var(--gold-2) 48%,#d89c17);color:var(--navy-2)}
.payments-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.payments-price{border-right:2px solid rgba(6,44,95,.25)}
.payments-price p,.payments-copy p{margin:0;font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase}
.payments-price p{font-size:2rem}
.payments-price h2{margin:5px 0 0;color:var(--navy-2);font-size:clamp(5.5rem,11vw,9rem);line-height:.8}
.payments-price h2 sup{font-size:.48em;vertical-align:top}.payments-price h2 small{font-size:.42em}
.payments-price span{display:block;margin-top:14px;font-size:1.3rem;font-weight:950;text-transform:uppercase}
.payments-copy p{margin-bottom:25px;font-size:clamp(3rem,7vw,6.2rem);line-height:.88}

.identity-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.identity-logo{min-height:420px;padding:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,#fff,#faf8f1);box-shadow:var(--shadow)}
.identity-logo img{max-height:380px;object-fit:contain}
.legal-team{display:grid;gap:16px}
.legal-team h2{margin:0}
.team-divider{display:block;width:72px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:999px}
.second-lawyer{font-size:clamp(2rem,4.6vw,4rem);color:var(--navy)}
.identity-text p:last-child{margin-top:23px;color:var(--muted);font-size:1.2rem;font-weight:800}

.contact{background:linear-gradient(180deg,#f7f2e7,#fff)}
.contact-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;padding:55px;border-radius:36px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;box-shadow:0 30px 70px rgba(3,27,58,.2)}
.contact-panel:after{content:"";position:absolute;right:-130px;top:-175px;width:360px;height:360px;border:1px solid rgba(242,201,94,.3);border-radius:50%;box-shadow:0 0 0 45px rgba(242,201,94,.04),0 0 0 90px rgba(242,201,94,.025)}
.contact-panel h2{position:relative;z-index:2;color:#fff}
.contact-links{position:relative;z-index:2;display:grid;gap:14px}
.contact-links a{display:flex;align-items:center;gap:16px;padding:17px 18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.08);transition:transform .2s ease,background .2s ease}
.contact-links a:hover{transform:translateX(4px);background:rgba(255,255,255,.13)}
.contact-bubble{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--navy-2);font-size:1.3rem;font-weight:900}
.contact-links strong{display:block;font-size:clamp(1.4rem,3vw,2rem)}

.footer{padding:48px 0;background:#02152d;border-top:4px solid var(--gold);color:#fff}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}
.footer-logo{width:185px;padding:10px;border-radius:16px;background:#fff}
.footer-logo img{height:95px;width:100%;object-fit:contain}
.footer-copy{display:grid;gap:6px;text-align:right;color:rgba(255,255,255,.76)}
.footer-copy strong{color:var(--gold-2);font-size:1.2rem}
.footer-copy .footer-lawyer{color:#fff;font-size:1rem}

.wa-widget{position:fixed;right:22px;bottom:22px;z-index:1500}
.wa-button{width:62px;height:62px;border:0;border-radius:50%;background:linear-gradient(145deg,var(--gold-2),var(--gold));color:var(--navy-2);box-shadow:0 15px 35px rgba(0,0,0,.25);font-size:1.8rem;font-weight:900;cursor:pointer;transition:transform .2s ease}
.wa-button:hover{transform:translateY(-3px)}
.wa-popup{position:absolute;right:0;bottom:76px;width:225px;padding:14px;border:1px solid rgba(6,44,95,.09);border-radius:18px;background:#fff;color:var(--navy);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.wa-popup.open{opacity:1;visibility:visible;transform:translateY(0)}
.wa-popup strong{display:block;padding:4px 7px 8px;color:var(--gold-3)}
.wa-popup a{display:block;padding:11px 9px;border-radius:10px;font-weight:900}
.wa-popup a:hover{background:#f8f2e4}

/* El contenido permanece visible incluso si JavaScript no carga. */
.reveal{opacity:1;transform:none}
.reveal.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.reveal-ready.revealed{opacity:1;transform:translateY(0)}

@media (max-width:1080px){
  .hero-grid{gap:45px}.services-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .header-inner{min-height:72px}.brand{width:145px}.brand img{height:54px}
  .menu-button{display:block;position:relative;z-index:1002}
  .nav{position:fixed;left:0;right:0;top:72px;display:grid;gap:0;padding:12px 24px 22px;background:rgba(255,255,255,.99);box-shadow:0 18px 35px rgba(3,27,58,.12);transform:translateY(-130%);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility .25s ease}
  .nav.open{transform:translateY(0);opacity:1;visibility:visible}.nav a{padding:14px 5px;border-bottom:1px solid rgba(6,44,95,.08)}.nav a:after{display:none}
  .hero-grid,.feature-grid,.payments-grid,.identity-grid,.contact-panel{grid-template-columns:1fr}
  .hero-grid{min-height:auto;padding:60px 0 120px;gap:34px}.hero-copy{text-align:center}.lead-line{justify-content:center}.hero-buttons,.quick-contact{justify-content:center}
  .hero-art{min-height:470px}.logo-stage{width:min(88vw,450px)}.price-badge{right:2%}
  .feature-grid,.identity-grid{gap:42px}.feature-copy,.identity-text{text-align:center}.gold-rule{margin-inline:auto}.price-panel{justify-self:center}
  .payments-grid{gap:38px}.payments-price{border-right:0;border-bottom:2px solid rgba(6,44,95,.22);padding-bottom:30px;text-align:center}.payments-copy{text-align:center}
  .contact-panel{padding:42px}.contact-panel>div:first-child{text-align:center}
}
@media (max-width:660px){
  .container{width:min(100% - 28px,1180px)}.section{padding:76px 0}
  .hero-grid{padding-top:44px}.hero h1{font-size:clamp(4rem,20vw,6.1rem)}.lead-line:before,.lead-line:after{width:25px}.hero-message{font-size:.82rem}
  .hero-buttons{display:grid}.button{width:100%}.quick-contact{display:grid}.quick-contact a{justify-content:flex-start}
  .hero-art{min-height:385px}.logo-stage{width:min(86vw,360px);padding:22px;border-radius:27px}.price-badge{width:168px;min-height:160px;right:-2px;bottom:-18px;padding:18px 12px;border-width:4px;border-radius:23px}.price-badge span{font-size:1.05rem}.price-badge strong{font-size:3.7rem}
  .ribbon{min-height:62px}.ribbon span{font-size:clamp(2rem,10vw,3rem)}
  .services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:225px;padding:25px 12px}.service-icon{width:78px;height:78px;font-size:2.1rem}.service-card h3{font-size:1.05rem}
  .price-panel{padding:28px 20px}.identity-logo{min-height:320px}.identity-logo img{max-height:290px}
  .contact-panel{padding:30px 20px;border-radius:28px}.contact-links strong{font-size:1.25rem}
  .footer-grid{flex-direction:column}.footer-copy{text-align:center}.footer-logo{width:170px}
  .wa-widget{right:14px;bottom:14px}.wa-button{width:58px;height:58px}
}
@media (max-width:410px){
  .services-grid{grid-template-columns:1fr 1fr}.service-card{min-height:205px}.service-icon{width:70px;height:70px;margin-bottom:16px}.service-card h3{font-size:.95rem}
  .contact-links a{padding:14px 12px;gap:10px}.contact-bubble{width:43px;height:43px;flex-basis:43px}.contact-links strong{font-size:1.08rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}.button,.service-card,.contact-links a,.wa-button{transition:none!important}}
