:root{--navy:#061a36;--blue:#183e72;--soft-blue:#9ab9e3;--ink:#101c2d;--cream:#f6f3ee;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.6}.container{width:min(1160px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:20;background:#fff;padding:8px}.site-header{position:absolute;z-index:5;width:100%;padding:20px 0}.nav-wrap{display:flex;justify-content:space-between;align-items:center}.brand img{display:block;width:146px;height:72px;object-fit:cover;object-position:center;border-radius:4px}.main-nav{display:flex;align-items:center;gap:29px}.main-nav a{color:#dbe8fa;font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.02em}.main-nav a:not(.nav-cta):hover{color:#fff}.nav-cta{border:1px solid #9bb9df;border-radius:24px;padding:10px 16px}.nav-cta span{font-size:17px;margin-left:5px}.menu-toggle{display:none}.hero{position:relative;min-height:760px;padding:160px 0 96px;overflow:hidden;background:radial-gradient(circle at 72% 55%,#153b70 0,#0a2245 27%,#06152c 62%,#041025 100%);color:#fff}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(0,0,0,.26),transparent 55%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:480px}.hero-copy{max-width:680px}.eyebrow{margin:0 0 19px;font-size:11px;font-weight:800;letter-spacing:.22em;color:#afcaef}.eyebrow.blue{color:#3265a2}.hero h1,h2{margin:0;font-family:"Playfair Display",Georgia,serif;line-height:1.08;letter-spacing:-.03em}.hero h1{font-size:clamp(47px,5.5vw,75px);max-width:730px}.hero h1 em,h2 em{font-weight:600;color:#a9c6ed}.hero-text{max-width:500px;margin:25px 0 33px;color:#d1dded;font-size:17px}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;gap:18px;text-decoration:none;padding:15px 19px;border-radius:3px;font-size:13px;font-weight:800;transition:.2s}.button span{font-size:20px}.button-primary{background:#fff;color:#0a2348}.button-primary:hover{transform:translateY(-2px);background:#c3d7f1}.text-link{display:inline-flex;align-items:center;gap:10px;color:#dce9fa;text-decoration:none;font-size:13px;font-weight:800}.text-link span{font-size:17px}.text-link.dark{color:var(--blue);margin-top:12px}.hero-art{height:440px;position:relative}.arc{position:absolute;border-radius:50%;border:1px solid rgba(176,207,244,.42);left:45%;top:50%;transform:translate(-50%,-50%) rotate(-28deg)}.arc-one{height:380px;width:380px}.arc-two{height:286px;width:286px}.arc-three{height:190px;width:190px;border-color:#c9dcf6}.art-card{position:absolute;right:6%;top:25%;padding:25px 28px;background:rgba(213,231,255,.94);color:#10284e;box-shadow:0 20px 40px #0003;backdrop-filter:blur(6px)}.art-card span{display:block;font-size:9px;font-weight:800;letter-spacing:.2em}.art-card strong{display:block;margin-top:8px;font-family:"Playfair Display",serif;font-size:26px;line-height:1.13}.art-note{position:absolute;bottom:13%;left:13%;font-size:12px;line-height:1.3;color:#d9e8ff;letter-spacing:.12em;text-transform:uppercase}.art-note i{font-style:normal;color:#8fb5e8;font-size:20px}.orb-one,.orb-two{position:absolute;border-radius:50%;filter:blur(3px)}.orb-one{width:620px;height:620px;right:-340px;top:-220px;background:#1b4d8c55}.orb-two{width:300px;height:300px;left:-180px;bottom:-170px;background:#3569a255}.scroll-cue{position:absolute;z-index:2;bottom:30px;left:calc(50% - 70px);color:#b7ceea;font-size:10px;font-weight:800;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.scroll-cue span{font-size:17px;margin-left:6px}.section{padding:126px 0}.intro-grid{display:grid;grid-template-columns:.65fr 1.5fr .85fr;gap:48px}.intro h2{font-size:clamp(34px,4vw,54px)}.intro-copy{font-size:15px;color:#54606e;padding-top:7px}.services{background:var(--navy);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}.section-heading h2,.method h2,.contact h2{font-size:clamp(38px,4.4vw,59px)}.section-heading>p{width:300px;margin:0;color:#b8c9de;font-size:14px}.service-list{border-top:1px solid #42618a}.service-card{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:24px;padding:29px 4px;border-bottom:1px solid #42618a;transition:.2s}.service-card:hover{padding-left:14px;background:#0b254a}.service-number{color:#99b8e1;font-size:12px;font-weight:800}.service-card h3{margin:0 0 4px;font-family:"Playfair Display",serif;font-size:27px;font-weight:600}.service-card p{margin:0;color:#bbcae0;font-size:14px}.arrow{font-size:24px;color:#a8c5ed}.method{background:#e5edf6}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.method-visual{position:relative;height:420px;display:grid;place-content:center;text-align:center;color:var(--blue)}.ring{position:absolute;left:50%;top:50%;border:1px solid #6086b8;border-radius:50%;transform:translate(-50%,-50%)}.r1{width:390px;height:390px}.r2{width:285px;height:285px}.r3{width:180px;height:180px;border-color:#1a4f8d}.method-visual strong,.method-visual i{position:relative}.method-visual strong{font-size:25px;letter-spacing:.18em}.method-visual i{font-family:"Playfair Display",serif;color:#3f6eaa}.method-copy>p:not(.eyebrow){color:#556476;font-size:16px}.method-copy ol{padding:8px 0 0;margin:0;list-style:none}.method-copy li{padding:14px 0;border-bottom:1px solid #b9cbdf;font-size:14px}.method-copy b{display:inline-block;width:43px;color:#30639d;font-size:12px}.quote{padding:100px 0;background:#153b70;color:#fff}.quote p{max-width:850px;margin:auto;text-align:center;font-family:"Playfair Display",serif;font-size:clamp(30px,4vw,50px);line-height:1.2}.contact{padding:88px 0;background:var(--cream)}.contact-box{display:flex;justify-content:space-between;gap:42px;align-items:center;padding:64px;background:#0a213f;color:#fff}.contact-box h2{max-width:640px;font-size:clamp(36px,4vw,54px)}.contact-box p:not(.eyebrow){max-width:590px;color:#bfcee1;font-size:15px}.contact-actions{display:flex;flex-direction:column;gap:15px;align-items:flex-start;white-space:nowrap}.button-light{background:#fff;color:#0a2348}.contact-phone{color:#c8d9ef;font-size:14px;text-decoration:none}footer{padding:26px 0;background:#06172f;color:#96aac4;font-size:11px}.footer-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.footer-wrap p{margin:0}.footer-wrap>a:last-child{color:#fff;text-decoration:none;font-size:20px}.footer-brand{font-size:14px;font-weight:800;letter-spacing:.14em;color:#fff;text-decoration:none;justify-self:start}.footer-center{text-align:center;justify-self:center}.footer-center p{margin:0}.footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px}.footer-top{color:#fff;text-decoration:none;font-size:24px;line-height:1;padding:4px 2px}.footer-brand span{display:block;color:#89a5ca;font-size:7px;letter-spacing:.24em}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:780px){.site-header{padding:12px 0}.brand img{width:116px;height:58px}.menu-toggle{display:flex;flex-direction:column;gap:4px;padding:11px;border:0;background:transparent}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:#fff}.main-nav{position:absolute;top:73px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:20px 24px;background:#081e3d;gap:18px}.main-nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:700px;padding-top:135px}.hero-grid{display:block}.hero h1{font-size:46px}.hero-art{height:278px;margin-top:20px;transform:scale(.8);transform-origin:center top}.scroll-cue{display:none}.section{padding:80px 0}.intro-grid,.method-grid{grid-template-columns:1fr;gap:24px}.section-heading,.contact-box{display:block}.section-heading>p{width:auto;margin-top:20px}.method-grid{gap:35px}.method-visual{height:320px}.r1{width:300px;height:300px}.r2{width:220px;height:220px}.r3{width:140px;height:140px}.service-card{grid-template-columns:48px 1fr 24px;gap:13px}.service-card h3{font-size:23px}.contact-box{padding:40px 28px}.contact-actions{margin-top:28px}.footer-wrap{gap:15px}.footer-wrap p{display:none}}@media(max-width:420px){.container{width:min(100% - 36px,1160px)}.hero h1{font-size:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-art{margin-left:-25px}.service-card p{font-size:13px}}


/* V19 — interacción premium del gráfico "Nuestro método" */
.method-visual {
  --mx: 0px;
  --my: 0px;
  cursor: default;
  perspective: 700px;
}

.method-visual .ring {
  transition:
    transform .55s cubic-bezier(.2,.75,.25,1),
    border-color .45s ease,
    box-shadow .45s ease;
  will-change: transform;
}

.method-visual .r1 {
  box-shadow: 0 0 0 rgba(50,101,162,0);
}

.method-visual .r2 {
  box-shadow: 0 0 0 rgba(50,101,162,0);
}

.method-visual .r3 {
  box-shadow: 0 0 0 rgba(50,101,162,0);
}

.method-visual strong,
.method-visual i {
  transition:
    transform .55s cubic-bezier(.2,.75,.25,1),
    text-shadow .45s ease;
  will-change: transform;
}

.method-visual.is-hovered .r1 {
  border-color: #6f99ce;
  box-shadow: 0 0 28px rgba(50,101,162,.10);
}

.method-visual.is-hovered .r2 {
  border-color: #4f7fb8;
  box-shadow: 0 0 22px rgba(50,101,162,.08);
}

.method-visual.is-hovered .r3 {
  border-color: #1a4f8d;
  box-shadow: 0 0 18px rgba(50,101,162,.10);
}

.method-visual.is-hovered strong {
  text-shadow: 0 5px 18px rgba(24,62,114,.12);
}

/* Pulso breve al hacer clic: elegante, pero perceptible. */
.method-visual.is-pulsing .r1 {
  animation: methodPulseOuter .75s cubic-bezier(.2,.7,.2,1);
}
.method-visual.is-pulsing .r2 {
  animation: methodPulseMiddle .68s cubic-bezier(.2,.7,.2,1) .04s;
}
.method-visual.is-pulsing .r3 {
  animation: methodPulseInner .58s cubic-bezier(.2,.7,.2,1) .08s;
}

@keyframes methodPulseOuter {
  0% { transform: translate(-50%,-50%) scale(1); }
  45% { transform: translate(-50%,-50%) scale(1.045); }
  100% { transform: translate(-50%,-50%) scale(1); }
}
@keyframes methodPulseMiddle {
  0% { transform: translate(-50%,-50%) scale(1); }
  45% { transform: translate(-50%,-50%) scale(1.055); }
  100% { transform: translate(-50%,-50%) scale(1); }
}
@keyframes methodPulseInner {
  0% { transform: translate(-50%,-50%) scale(1); }
  45% { transform: translate(-50%,-50%) scale(1.07); }
  100% { transform: translate(-50%,-50%) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .method-visual .ring,
  .method-visual strong,
  .method-visual i {
    transition: none;
  }
  .method-visual.is-pulsing .r1,
  .method-visual.is-pulsing .r2,
  .method-visual.is-pulsing .r3 {
    animation: none;
  }
}
