:root{--ink:#101c32;--navy:#081628;--blue:#174da2;--ice:#9cceff;--muted:#465873;--pale:#edf4ff;--line:#cddbf1}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font:17px/1.65 system-ui,sans-serif}a{color:#154b9a}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3888ed;outline-offset:4px}img,video{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.bar{background:#fff;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;gap:25px;padding:17px 0;justify-content:space-between}.nav img{width:185px}.nav nav{display:flex;gap:22px;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--ink);font-size:.87rem;font-weight:650}.nav button{background:var(--pale);border:1px solid var(--line);border-radius:20px;padding:8px 15px;color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}.hero,footer{background:var(--navy);color:white}.hero{background:radial-gradient(ellipse at 85% 40%,#173f6e,var(--navy) 65%)}.hero-grid{min-height:625px;display:grid;grid-template-columns:1.55fr 1fr;gap:55px;align-items:center;padding:55px 0}.hero-copy{padding:18px 0}.eyebrow{font-size:.77rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 14px}.hero .eyebrow,footer .eyebrow{color:var(--ice)}h1,h2,h3{line-height:1.12;margin:0;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5rem);max-width:720px}h2{font-size:clamp(2rem,4vw,3.3rem)}h3{font-size:1.35rem}.intro{font-size:1.12rem;color:#d6e4f8;max-width:550px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 14px}.btn{border:1px solid transparent;border-radius:9px;padding:10px 16px;text-decoration:none;font-weight:750;font-size:.94rem}.primary{background:var(--ice);color:var(--navy)}.outline{border-color:#7195bb;color:white}.btn:hover{filter:brightness(1.15)}.email{color:#c0dcff;overflow-wrap:anywhere}.languages,.small{color:#c2d3e8;font-size:.86rem}.hero-media{position:relative;background:#060e19;border:1px solid #416589;border-radius:20px;overflow:hidden;max-width:440px;width:100%;justify-self:end}.hero-media video{height:470px;width:100%;object-fit:contain;background:#060e19}.media-label{padding:10px 15px;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.18em;color:#c5e4ff}.section{padding:70px 0}.cards,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.cards article,.steps li{padding:23px;border:1px solid var(--line);border-radius:15px}.cards span{color:var(--blue);font-weight:800;display:block;margin-bottom:12px}.cards p,.steps p{margin-bottom:0;color:var(--muted)}.band{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:start}.split p:first-child{margin-top:0}.notice{border-left:3px solid var(--blue);padding-left:14px;font-weight:650}.steps{list-style:none;padding:0;counter-reset:step}.steps li:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--blue);font-weight:800;margin-bottom:12px}.check{padding-left:22px}.check li{margin-bottom:6px}details{border-bottom:1px solid var(--line);padding:12px 0}summary{font-weight:700;cursor:pointer}.gallery>div{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:18px}.gallery video{width:100%;height:320px;object-fit:contain;background:var(--navy);border-radius:12px}hr{margin:32px 0 16px;border:0;border-top:1px solid #3b5471}
@media(max-width:800px){.wrap{width:min(100% - 32px,650px)}.nav{flex-wrap:wrap;gap:10px}.nav nav{order:3;width:100%;gap:14px}.hero-grid,.split{grid-template-columns:1fr;gap:20px}.hero-grid{padding:35px 0}.hero-media{justify-self:start}.hero-media video{height:345px}.cards,.steps{grid-template-columns:1fr}.section{padding:48px 0}.gallery video{height:250px}}

/* Light trails carry the same motion through the whole page. */
:root{--ink:#edf7ff;--navy:#040b17;--blue:#8ddcff;--ice:#99ecff;--muted:#bfd3e9;--pale:#10243d;--line:#315272}
body{background:var(--navy);isolation:isolate}
a{color:var(--ice)}
.kinetic{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 85% 35%,#143b68 0,transparent 50%),radial-gradient(ellipse at 10% 86%,#10264f 0,transparent 56%),#040b17}
.kinetic:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 49px,#72b6ff14 50px 51px),repeating-linear-gradient(90deg,transparent 0 49px,#72b6ff14 50px 51px);mask-image:linear-gradient(110deg,#0002,#000)}
.kinetic i{position:absolute;inset:-16vh -24vw auto auto;width:106vw;height:76vh;border:1px solid #599efe72;border-radius:48%;box-shadow:0 0 28px #237eff44,inset 0 0 22px #14beff29;animation:drift 16s ease-in-out infinite alternate}
.kinetic i:nth-child(2){animation-delay:-7s;top:20vh;right:-35vw;border-color:#78e1ff49}
.kinetic i:nth-child(3){animation-delay:-12s;top:44vh;right:14vw;border-color:#78e1ff36}
@keyframes drift{from{transform:rotate(-33deg) translate(-3vw,4vh)}to{transform:rotate(-52deg) translate(8vw,-4vh)}}
.bar{background:#060e1edc;border-bottom:1px solid #315272}
.nav img{filter:grayscale(1) invert(1) contrast(1.3);mix-blend-mode:screen}
.nav button{background:#11263e;color:#eefaff}
.nav nav{margin-left:auto}
.hero,footer,.band{background:transparent}
.band{border-block:1px solid #315272;background:#0a192c9c}
.hero-grid{grid-template-columns:1.25fr 1fr;min-height:650px;gap:26px}
h1{font-size:clamp(3rem,6.6vw,6rem);max-width:12ch;line-height:.99;letter-spacing:-.065em}
h2{letter-spacing:-.05em}
.hero .intro{color:#e0efff}
.role{max-width:550px;border-left:3px solid #8deaff;background:#0e2a48ad;padding:12px 15px;font-weight:700;color:#f1fbff}
.primary{color:#041427;background:#a2f0ff;box-shadow:0 0 23px #62d9ff32}
.signal{position:relative;width:100%;max-width:510px;margin:auto}
.signal svg{width:100%;display:block;overflow:visible;filter:drop-shadow(0 0 13px #47aaff65)}
.orbit{transform-origin:260px 260px;animation:sweep 12s linear infinite}
.reverse{animation-direction:reverse;animation-duration:19s}
@keyframes sweep{to{transform:rotate(360deg)}}
.signal-caption{display:flex;justify-content:space-between;border-top:1px solid #456c93;margin:0 20px;padding:12px 0;color:#a6dbff;font:700 .74rem/1.2 system-ui;letter-spacing:.18em}
.cards article,.steps li{background:linear-gradient(145deg,#122d48e8,#071426ee);box-shadow:inset 0 1px #9ddeff24}
.cards article:hover{border-color:#76d9ff}
#contact{border-top:1px solid #315272;background:#061120bb}
.motion-paused .orbit,.motion-paused .kinetic i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.orbit,.kinetic i{animation:none}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;min-height:0}.nav nav{margin-left:0}.signal{max-width:400px}h1{max-width:14ch}}

.signal-logo{position:absolute;top:calc((100% - 35px)/2);left:50%;width:61%;padding:13px 15px;background:#f7fbff;border:1px solid #b9ebff;border-radius:12px;transform:translate(-50%,-50%);animation:logo-pulse 4s ease-in-out infinite;box-shadow:0 0 24px #54caff76}
.signal-logo img{width:100%;mix-blend-mode:multiply}
.signal-caption{height:35px}
.incident-symbol{position:absolute;display:grid;place-items:center;width:clamp(42px,11%,62px);aspect-ratio:1;border-radius:50%;border:1px solid #75dcff;background:#081a31;box-shadow:0 0 15px #51baff65;animation:symbol-float 4s ease-in-out infinite}
.incident-symbol svg{width:70%;fill:none;stroke:#b7efff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.crash{top:12%;left:16%}
.fall{top:21%;right:9%;animation-delay:-1.3s}
.bite{bottom:16%;right:19%;animation-delay:-2.6s}
@keyframes logo-pulse{50%{transform:translate(-50%,-50%) scale(1.045);box-shadow:0 0 40px #54caffad}}
@keyframes symbol-float{50%{transform:translateY(-8px)}}
.motion-paused .signal-logo,.motion-paused .incident-symbol{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.signal-logo,.incident-symbol{animation:none}}

.incident-console{min-width:0}
.signal-logo{background:linear-gradient(154deg,#fff 6%,#b5c5d3 27%,#f9fcff 48%,#8f9fac 87%,#dae5ec);box-shadow:inset 0 2px 2px #fff,0 5px 0 #52687b,0 10px 24px #06101c,0 0 28px #84caff70}
@keyframes logo-pulse{50%{transform:translate(-50%,-50%) scale(1.045);filter:brightness(1.12)}}
.incident-symbol{cursor:pointer;padding:0;color:#0b213b;border:1px solid #eafaff;background:linear-gradient(155deg,#f5fbff,#a5b5c7 45%,#dce9f3 53%,#71879e);box-shadow:inset 0 1px 2px white,0 4px 0 #415a71,0 6px 15px #020813}
.incident-symbol svg{stroke:#102c49;filter:none}
.incident-symbol span{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;color:#f1f8ff;background:#071629;border:1px solid #55718d;border-radius:5px;padding:3px 6px;font:650 clamp(.65rem,1.6vw,.82rem)/1.2 system-ui}
.incident-symbol:hover,.incident-symbol[aria-pressed=true]{animation:none;box-shadow:inset 0 1px 2px white,0 0 0 3px #69dfff,0 0 28px #58d8ff}
.incident-panel{margin:8px auto 0;padding:15px 18px;max-width:510px;border:1px solid #647b93;border-radius:10px;background:linear-gradient(140deg,#162c42eb,#071727ef);box-shadow:inset 0 1px #dce9f65c,0 6px 16px #0206115e}
.incident-panel .eyebrow{margin:0}
#incident-selection{margin:9px 0 0;font-size:1.2rem;font-weight:800;color:#fff}
#incident-result p+p{margin:4px 0 12px}
#incident-result .btn{display:inline-block}
.cards article{position:relative;overflow:hidden;border-color:#8196ab;box-shadow:inset 0 1px #dce9f688,0 4px 0 #3e5168,0 8px 15px #03091488}
.cards article:before{content:"";display:block;height:5px;margin:-23px -23px 19px;background:repeating-linear-gradient(125deg,#cedce8 0 11px,#435870 11px 21px)}
@media(max-width:1050px){.nav{flex-wrap:wrap}}

.coverage{display:inline-flex;align-items:center;gap:11px;max-width:100%;margin:0 0 17px;padding:8px 13px;border:1px solid #9fb5c9;border-radius:9px;background:linear-gradient(145deg,#2f465d,#14283f 65%);box-shadow:inset 0 1px #e5efff77,0 3px 0 #071424;color:#fff;font-size:.88rem;font-weight:750}
.coverage img{flex:none;border:1px solid #e9f4ff;border-radius:3px;box-shadow:0 2px 5px #051020}

.accident-art{display:block;width:100%;height:auto;margin:0 0 15px;border:1px solid #7d9cb8;border-radius:9px;background:radial-gradient(ellipse at 52% 42%,#2c577b,#091829 75%)}
.emergency-call{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:20px;border:1px solid #ef9299;border-left:5px solid #ef9299;border-radius:12px;background:#371b29}
.emergency-call p{margin:7px 0 0}
.emergency-call .btn{flex:none;color:#260810;background:#ffc0c5}
.guide-sources{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:23px;font-size:.86rem}
@media(max-width:600px){.emergency-call{align-items:flex-start;flex-direction:column}}

.connection-field{position:absolute;inset:-10%;width:120%;height:120%;opacity:.62;animation:network-flow 13s ease-in-out infinite alternate}
@keyframes network-flow{from{transform:translate(-2%,2%) scale(1.02);opacity:.48}to{transform:translate(3%,-3%) scale(1.12);opacity:.84}}
.motion-paused .connection-field,.motion-paused .connection-pulses use{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.connection-field,.connection-pulses use{animation:none}}
.accident-art{aspect-ratio:16/10;object-fit:cover;object-position:center 51%}

.connection-pulses use{stroke-dasharray:22 700;animation:connection-pulse 7s linear infinite}
.connection-pulses use:nth-child(2){animation-delay:-2s}
.connection-pulses use:nth-child(3){animation-delay:-4s}
@keyframes connection-pulse{to{stroke-dashoffset:-722}}
@media(prefers-reduced-motion:reduce){.connection-pulses use{animation:none}}

.accident-art[src="dog-bite.webp"]{object-position:center 18%}

.hero h1{color:#f2f6fa;text-shadow:0 1px #a7b7c7,0 2px #778c9f,0 4px #384b62,0 7px 12px #000a}
@supports (background-clip:text) or (-webkit-background-clip:text){
  .hero h1{
    background:linear-gradient(180deg,#fbfdff 3%,#d6e1eb 25%,#a7b8c8 45%,#f8fcff 53%,#d9e5ef 70%,#a9bccf 100%) 0 0 / 100% .99em repeat-y;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-stroke:.45px #edf7ff;
    text-shadow:none;
    filter:drop-shadow(0 1px 0 #8ca3ba) drop-shadow(0 2px 0 #4e6480) drop-shadow(0 5px 6px #020812);
  }
}
@media(forced-colors:active){.hero h1{background:none;color:CanvasText;-webkit-text-stroke:0;filter:none;text-shadow:none}}


#solicitud{width:min(92vw,580px);max-height:88dvh;padding:24px;border:1px solid #8196ab;border-radius:14px;background:#10243d;color:#fff}
#solicitud::backdrop{background:#040b17d9}
.lead-close{display:block;margin:0 0 12px auto;padding:6px 12px;border:1px solid #8196ab;border-radius:6px;color:#fff;background:#10243d;cursor:pointer}
#lead-form:not([hidden]){display:grid;gap:12px}
#lead-form label{display:grid;gap:5px}
#lead-form input:not([type=checkbox]),#lead-form select,#lead-form textarea{width:100%;padding:9px;border:1px solid #8196ab;border-radius:6px;background:#f7fbff;color:#10243d;font:inherit}
#lead-form .lead-consent{display:flex;align-items:flex-start}
#lead-form .btn{justify-self:start;cursor:pointer}

.family-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.family-scenes figure{margin:0;overflow:hidden;border:1px solid #647b93;border-radius:14px;background:#10243d}
.family-scenes img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.family-scenes figcaption{padding:12px 16px;color:#f1f8ff;font-weight:650}
@media(max-width:640px){.family-scenes{grid-template-columns:1fr}}

.review-examples{grid-column:1/-1}
.review-examples .cards span{display:inline;margin:0}
.review-examples .review-rating span:first-child{color:#ffcf82;margin-right:8px}

#menu-toggle{display:none}
#main-menu{align-items:center}
@media(max-width:1050px){
  .nav{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:9px 0}
  .nav img{width:min(100%,145px)}
  #menu-toggle{display:block;grid-column:3;grid-row:1;white-space:nowrap}
  #language{grid-column:2;grid-row:1}
  #main-menu{display:none;position:absolute;top:100%;right:0;z-index:5;width:min(300px,100%);margin:0;padding:12px;border:1px solid #647b93;border-radius:12px;background:#10243d}
  #menu-toggle[aria-expanded=true]+#main-menu{display:grid;gap:3px}
  #main-menu a{padding:8px}
  #motion:not([hidden]){justify-self:start;margin:5px 0}
}
@media(max-width:800px){
  .hero .hero-grid{padding-top:20px}
  .hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding-top:0}
  .hero-copy h1{font-size:clamp(2.2rem,9vw,4rem)}
  .hero-copy .actions{margin:15px 0 4px}
  .hero-copy .intro,.hero-copy .role,.hero-copy .email,.hero-copy .languages{order:1}
}

.family-video{max-width:960px;margin:24px 0 20px}
.family-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid #647b93;border-radius:14px;background:#040b17}
.family-video figcaption{margin-top:8px;font-size:.875rem;color:#bfd3e9}
