/* ─────────────────────────────────────────────
   AESA Seguros — Redesign · Styles
   ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:clip}
body{
  font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;
  background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:background .3s ease,color .3s ease;
  overflow-x:clip;
}

:root{
  /* AESA — navy + cyan/turquesa (rosa de los vientos brand) */
  --brand-red:#0081AA;          /* AESA official cyan — Pantone 314C / Hex per manual */
  --brand-red-2:#005E7D;
  --brand-red-soft:#E1F1F6;
  --brand-navy:#00257A;         /* AESA official navy — Pantone 2747C / Hex per manual */
  --brand-navy-2:#0B3A9C;
  --brand-navy-3:#001845;
  --bg:#F4F6FA;
  --ink:#00257A;
  --ink-2:#3D4D6A;
  --ink-3:#7B8699;
  --line:rgba(14,47,90,.12);
  --line-2:rgba(14,47,90,.06);
  --card:#FFFFFF;
  --accent:var(--brand-red);
  --accent-ink:#FFFFFF;
  --good:#1F8A5B;
}
body.theme-light{
  --bg:#FFFFFF;--card:#F4F6FA;
}
:root.theme-dark, body.theme-dark, body.theme-midnight{
  --brand-navy:#1F3457;--brand-navy-2:#2C4878;--brand-navy-3:#142847;
  --brand-red:#0081AA;--brand-red-2:#3FA8C7;--brand-red-soft:rgba(0,129,170,.18);
  --bg:#0A1220;--ink:#E8EEF8;--ink-2:#B5C2D6;--ink-3:#7E8FA8;
  --line:rgba(232,238,248,.12);--line-2:rgba(232,238,248,.06);
  --card:#131D2F;
}
body.theme-cream{
  --bg:#F1ECE2;--card:#FBF7EF;
  --line:rgba(14,47,90,.14);--line-2:rgba(14,47,90,.07);
}

.display{font-family:'Lora',Georgia,serif;font-weight:700;letter-spacing:-.02em;line-height:.95}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-feature-settings:"ss01","ss02"}
.container{max-width:1320px;margin:0 auto;padding:0 32px}
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px;border-radius:4px}
:root.theme-dark a:focus-visible,body.theme-dark a:focus-visible,:root.theme-dark button:focus-visible,body.theme-dark button:focus-visible{outline-color:#7FB8E0}
@media (max-width:720px){ .container{padding:0 20px} }

/* ───── AESA compass-rose motif (rosa de los vientos) ───── */
.star-mark, .star-tiny, .star-deco {
  display:inline-block;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1 L13.5 8.5 L20.5 4.5 L16.5 11.5 L23 12 L16.5 12.5 L20.5 19.5 L13.5 15.5 L12 23 L10.5 15.5 L3.5 19.5 L7.5 12.5 L1 12 L7.5 11.5 L3.5 4.5 L10.5 8.5 Z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1 L13.5 8.5 L20.5 4.5 L16.5 11.5 L23 12 L16.5 12.5 L20.5 19.5 L13.5 15.5 L12 23 L10.5 15.5 L3.5 19.5 L7.5 12.5 L1 12 L7.5 11.5 L3.5 4.5 L10.5 8.5 Z'/></svg>") center/contain no-repeat;
}
.star-tiny{width:11px;height:11px;color:var(--brand-red);vertical-align:-1px}
.star-mark{width:.62em;height:.62em;color:var(--brand-red);margin-left:.18em;vertical-align:.16em}
.star-deco{width:64px;height:64px;color:var(--brand-red)}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes starSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes starPulse{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(-12deg)}}

/* ───────── Utility bar ───────── */
.util{border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2);position:sticky;top:0;z-index:51;background:var(--bg)}
.util-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;gap:24px;flex-wrap:wrap}
@media (max-width:720px){ .util-inner{padding:10px 20px} }
.util-left{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.util-left span{display:inline-flex;align-items:center;gap:8px}
.util-dot{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 22%,transparent);animation:dotPulse 2.4s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 22%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--good) 0%,transparent)}}
.util-right{display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em}
.lang button{appearance:none;border:0;background:transparent;cursor:pointer;padding:4px 8px;border-radius:6px;color:var(--ink-3);font:inherit}
.lang button.on{background:var(--ink);color:var(--bg)}
.lang button:hover:not(.on){color:var(--ink)}
.util a{color:inherit;text-decoration:none}
.util a:hover{color:var(--ink)}
@media (max-width:760px){ .util-addr{display:none} }

/* ───────── Main nav ───────── */
.nav{position:sticky;top:37px;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:24px}
@media (max-width:720px){ .nav-inner{padding:16px 20px} }
.nav-cta .btn-ghost{display:none}
@media (max-width:1320px){ .nav-links{display:none} }
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:transparent;border:0;cursor:pointer}
.nav-burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
.nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.is-open span:nth-child(2){opacity:0}
.nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1320px){ .nav-burger{display:flex} }
@media (max-width:880px){ .nav-cta .btn-primary{display:none} }
.mobile-menu-overlay{position:fixed;inset:0;z-index:9500;background:rgba(6,18,36,.55);backdrop-filter:blur(4px);display:none;justify-content:flex-end}
.mobile-menu-overlay.is-open{display:flex;animation:cmFadeIn .2s ease}
.mobile-menu{width:min(320px,84vw);height:100%;background:var(--bg);padding:88px 24px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;box-shadow:-20px 0 50px -20px rgba(0,0,0,.3);animation:mmSlideIn .3s cubic-bezier(.22,.95,.36,1)}
@keyframes mmSlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.mobile-menu>a{padding:12px 4px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-menu .mm-group{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding:10px 0 6px}
.mobile-menu .mm-group>span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:6px;padding:0 4px}
.mobile-menu .mm-group>a{padding:8px 4px;font-size:14.5px;color:var(--ink-2);text-decoration:none}
.mobile-menu .mm-group>a:hover{color:var(--brand-navy)}
.mobile-menu .btn{justify-content:center;margin-top:6px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo image-slot{flex-shrink:0}
.logo-img{height:64px;width:auto;display:block;object-fit:contain}
.logo-img--foot{height:64px;background:#fff;padding:10px 14px;border-radius:10px}
@media (max-width:560px){ .logo-img{height:50px} }
.logo-txt{display:flex;flex-direction:column;line-height:1.1}
.logo-txt b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:17px;letter-spacing:-.01em}
.logo-txt small{font-size:10.5px;color:var(--ink-3);font-family:'JetBrains Mono',monospace;letter-spacing:.05em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:14.5px;padding:8px 12px;border-radius:8px;position:relative;display:inline-flex;align-items:center;gap:6px;transition:color .15s,background .15s}
.nav-links a:hover{color:var(--ink);background:var(--line-2)}
.nav-links .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);opacity:.5}
.nav-cta{display:flex;align-items:center;gap:10px}

.btn{appearance:none;border:0;cursor:pointer;font-family:'Archivo',sans-serif;font-weight:600;font-size:14px;letter-spacing:-.005em;padding:11px 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .2s ease,color .2s ease;position:relative;overflow:hidden}
.btn-primary{background:var(--brand-red);color:white;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--brand-red) 60%,transparent)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px color-mix(in srgb,var(--brand-red) 70%,transparent)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn-lg{padding:15px 24px;font-size:15px}
.btn .arr{width:14px;height:14px;display:inline-block;position:relative;transition:transform .25s}
.btn .arr::before,.btn .arr::after{content:"";position:absolute;background:currentColor}
.btn .arr::before{left:0;top:50%;width:100%;height:1.6px;transform:translateY(-50%)}
.btn .arr::after{right:0;top:50%;width:7px;height:7px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;background:none;transform:translateY(-50%) rotate(45deg)}
.btn:hover .arr{transform:translateX(3px)}

/* ───────── Hero ───────── */
.hero{padding:64px 0 40px;position:relative;overflow:hidden}
.hero--photo{padding:0}
.hero--photo .container.hero-grid{position:relative;z-index:2;padding-top:64px;padding-bottom:48px}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:0}
.hero--photo{min-height:0;overflow:hidden}
.hero-photo-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,color-mix(in srgb,var(--brand-navy) 92%,black) 0%,color-mix(in srgb,var(--brand-navy) 78%,black) 30%,color-mix(in srgb,var(--brand-navy) 30%,transparent) 55%,transparent 72%)}
.hero--photo .hero-copy{color:#fff}
.hero--photo .hero h1,.hero--photo .hero-copy h1{color:#fff}
.hero--photo .hero-sub{color:rgba(255,255,255,.82)}
.hero--photo .eyebrow{color:rgba(255,255,255,.75)}
.hero--photo .trust-lbl{color:rgba(255,255,255,.65)}
.hero--photo .trust-num{color:#fff}
.hero--photo .trust-item{border-color:rgba(255,255,255,.18)}
.hero::before{content:"";position:absolute;left:-20%;top:-15%;width:60%;height:60%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-navy) 10%,transparent),transparent 65%);pointer-events:none;z-index:-1}
.hero::after{content:"";position:absolute;right:-15%;bottom:-30%;width:55%;height:80%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 8%,transparent),transparent 65%);pointer-events:none;z-index:-1}

.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
@media (max-width:980px){ .hero-grid{grid-template-columns:1fr;gap:32px} }

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:24px;flex-wrap:wrap}
.eyebrow .pill{padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--brand-navy)}
.hero h1{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(44px,6.4vw,92px);letter-spacing:-.02em;line-height:1.12;margin:0 0 28px;color:var(--ink)}
.hero h1 .line{display:block}
.hero h1 em{font-style:normal;color:var(--brand-red);font-family:inherit}
.hero h1 .ul{position:relative;display:inline-block;font-style:italic}
.hero h1 .ul::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.12em;background:var(--brand-red);transform:scaleX(.96) skewX(-8deg);transform-origin:left center;opacity:.55}
.hero h1 .line>*{display:inline-block}

.hero-sub{font-size:18px;color:var(--ink-2);max-width:560px;line-height:1.5;margin:0 0 32px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}

.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:32px;padding-bottom:32px;border-top:1px solid var(--line)}
@media (max-width:600px){ .trust{grid-template-columns:repeat(2,1fr);gap:18px} }
.trust-item{display:flex;flex-direction:column;gap:4px}
.trust-num{font-family:'Lora',Georgia,serif;font-size:44px;letter-spacing:-.03em;color:var(--brand-navy);line-height:1;font-variant-numeric:tabular-nums}
.trust-num small{font-size:18px;color:var(--ink-3);margin-left:4px;font-family:inherit;font-weight:500}
.trust-lbl{font-size:12px;color:var(--ink-3);line-height:1.3;letter-spacing:.01em}

/* Hero animated art */
.hero-art{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center}
@media (max-width:980px){ .hero-art{min-height:360px} }
.orbit-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}

.shield{width:280px;height:auto;filter:drop-shadow(0 30px 60px color-mix(in srgb,var(--brand-navy) 35%,transparent));position:relative;z-index:5}
.shield--gif{animation:shieldFloatSubtle 6s ease-in-out infinite;display:flex;align-items:center;justify-content:center}
.shield--gif img{animation:shieldColorCycle 3s ease-in-out forwards}
.shield-gif-static{opacity:0;animation:staticFadeIn .8s ease-in 2.6s forwards}
@keyframes staticFadeIn{to{opacity:1}}
@keyframes shieldColorCycle{
  0%{filter:sepia(1) saturate(3) hue-rotate(175deg) brightness(.75) drop-shadow(0 0 18px rgba(14,47,90,.6))}
  60%{filter:sepia(1) saturate(4) hue-rotate(185deg) brightness(.85) drop-shadow(0 0 26px rgba(14,47,90,.8))}
  100%{filter:sepia(1) saturate(7) hue-rotate(182deg) brightness(.62) drop-shadow(0 0 20px rgba(14,47,90,.7))}
}
.shield-glow-bg{
  position:absolute;inset:-20%;border-radius:50%;z-index:1;
  background:conic-gradient(from 0deg,var(--brand-navy),var(--brand-navy-2),#34B5C7,var(--brand-navy));
  filter:blur(38px);opacity:.4;
  animation:shieldGlowSpin 10s linear infinite;
}
@keyframes shieldGlowSpin{to{transform:rotate(360deg)}}
@keyframes shieldFloatSubtle{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shieldFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
.shield-check{stroke-dasharray:160;stroke-dashoffset:160;animation:checkDraw 1.4s ease-out .6s forwards;display:none}
.shield-star{transform-origin:center;transform-box:fill-box;opacity:0;animation:starIn 1.2s cubic-bezier(.22,1.5,.36,1) .4s forwards}
@keyframes starIn{0%{opacity:0;transform:scale(.2) rotate(-90deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes checkDraw{to{stroke-dashoffset:0}}

.orbit{position:absolute;left:50%;top:50%;border:1.5px dashed color-mix(in srgb,var(--brand-navy) 22%,transparent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.orbit-1{width:340px;height:340px;animation:orbitSpin 60s linear infinite}
.orbit-2{width:460px;height:460px;animation:orbitSpin 90s linear infinite reverse;opacity:.5}
@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

.float-card{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;gap:10px;align-items:center;box-shadow:0 16px 40px -12px rgba(10,37,64,.18);z-index:6;animation:floatY 5s ease-in-out infinite}
.float-card .fc-ico{width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--brand-navy) 8%,transparent);color:var(--brand-navy);display:grid;place-items:center}
.float-card .fc-ico svg{width:18px;height:18px}
.float-card .fc-t{font-family:'Lora',Georgia,serif;font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--brand-navy);line-height:1}
.float-card .fc-s{font-size:10px;color:var(--ink-3);margin-top:2px;letter-spacing:.04em}
.fc-1{top:10%;left:2%;animation-delay:-.5s}
.fc-2{top:8%;right:0%;animation-delay:-2.2s}
.fc-3{bottom:16%;left:2%;animation-delay:-1.1s}
.fc-4{bottom:2%;right:4%;animation-delay:-3s}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--brand-red);animation:dotFloat 4s ease-in-out infinite}
.dot.d1{top:18%;right:18%;animation-delay:0s}
.dot.d2{bottom:28%;right:14%;width:5px;height:5px;background:var(--brand-navy);animation-delay:-.8s}
.dot.d3{top:30%;left:14%;width:4px;height:4px;background:var(--brand-navy);opacity:.5;animation-delay:-1.6s}
.dot.d4{bottom:14%;right:32%;width:6px;height:6px;background:var(--brand-red);opacity:.6;animation-delay:-2.4s}
@keyframes dotFloat{0%,100%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-14px) scale(1.2);opacity:.6}}

.hero-stats-band{padding:40px 0 0;background:var(--bg)}
.hero-stats-band .trust{border-top:0;padding-top:0}
.hero-btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.hero-btn-ghost:hover{background:#fff;color:var(--brand-navy);border-color:#fff}
/* Marquee */
.marquee-wrap{margin-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee{display:flex;gap:48px;animation:scroll 40s linear infinite;width:max-content}
.marquee span{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;display:inline-flex;align-items:center;gap:48px}
.marquee span::after{content:"●";color:var(--brand-red);font-size:6px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ───────── Blocks ───────── */
section.block{padding:80px 0}
.block-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px;gap:24px;flex-wrap:wrap}
.block-title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(32px,4.2vw,52px);letter-spacing:-.025em;line-height:1.25;margin:0;max-width:720px;color:var(--brand-navy)}
.block-kicker{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red);margin-bottom:14px;display:flex;gap:10px;align-items:center;font-weight:500}
.block-kicker::before{content:"";width:24px;height:1px;background:var(--brand-red)}
.block-desc{max-width:340px;color:var(--ink-2);font-size:14.5px;line-height:1.5;margin:0}
.block--tight{padding-top:40px}
.block--flush{padding-top:0}

/* ───────── Quick actions (animated) ───────── */
.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){ .actions{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .actions{grid-template-columns:1fr} }
.action{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);cursor:pointer;position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.22,.95,.36,1),border-color .25s,box-shadow .28s;min-height:240px}
.action:hover{transform:translateY(-6px);border-color:var(--brand-navy);box-shadow:0 20px 50px -20px rgba(10,37,64,.25)}
.action-num{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.08em}
.action h4{font-family:'Lora',Georgia,serif;font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.05;margin:0 0 6px}
.action p{font-size:13px;color:var(--ink-3);margin:0;line-height:1.4}
.action>div:last-of-type{margin-top:auto}
.arrow-go{position:absolute;right:18px;bottom:18px;width:36px;height:36px;border-radius:50%;background:var(--brand-navy);color:white;display:grid;place-items:center;opacity:0;transform:translate(8px,8px);transition:all .3s cubic-bezier(.22,.95,.36,1)}
.action:hover .arrow-go{opacity:1;transform:translate(0,0)}
.arrow-go .arr{width:12px;height:12px;color:white}

/* Action illustrations */
.ani-illustration{height:80px;display:flex;align-items:center;justify-content:center;margin:8px 0 20px;position:relative;overflow:hidden}

/* 01 Policy doc with stamp */
.ani-policy .doc{width:60px;height:74px;background:white;border:1.5px solid var(--brand-navy);border-radius:5px;padding:10px 8px;display:flex;flex-direction:column;gap:5px;position:relative;animation:docTilt 4s ease-in-out infinite}
.ani-policy .doc::before{content:"";position:absolute;top:0;right:0;width:14px;height:14px;background:var(--bg);border-left:1.5px solid var(--brand-navy);border-bottom:1.5px solid var(--brand-navy)}
.ani-policy .doc .line{height:2px;background:color-mix(in srgb,var(--brand-navy) 30%,transparent);border-radius:1px}
.ani-policy .doc .l1{width:60%}.ani-policy .doc .l2{width:90%}.ani-policy .doc .l3{width:70%}
.ani-policy .stamp{position:absolute;right:24%;bottom:12%;width:32px;height:32px;border-radius:50%;background:var(--brand-red);color:white;display:grid;place-items:center;font-size:18px;font-weight:700;animation:stampDrop 3s ease-in-out infinite}
@keyframes stampDrop{0%,40%{transform:scale(0) rotate(-30deg);opacity:0}50%{transform:scale(1.2) rotate(-12deg);opacity:1}60%,100%{transform:scale(1) rotate(-12deg);opacity:1}}
@keyframes docTilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}

/* 02 Car driving */
.ani-quote{padding:0 14px}
.ani-quote .road{position:absolute;left:0;right:0;bottom:14px;height:2px;background:repeating-linear-gradient(90deg,var(--brand-navy) 0 12px,transparent 12px 22px);opacity:.35;animation:roadMove 1.2s linear infinite}
@keyframes roadMove{to{background-position:-22px 0}}
.ani-quote .car{width:80px;height:auto;animation:carHop 1.4s ease-in-out infinite}
@keyframes carHop{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* 03 Alert pulse */
.ani-alert .pulse-wrap{position:relative;width:60px;height:60px;display:grid;place-items:center}
.ani-alert .alert-tri{width:36px;height:36px;border-radius:10px;background:var(--brand-red);display:grid;place-items:center;z-index:2;position:relative}
.ani-alert .alert-tri svg{width:20px;height:20px}
.ani-alert .pulse{position:absolute;inset:0;border-radius:50%;background:var(--brand-red);opacity:.35;animation:pulseOut 2s ease-out infinite}
.ani-alert .pulse.p1{animation-delay:0s}
.ani-alert .pulse.p2{animation-delay:.66s}
.ani-alert .pulse.p3{animation-delay:1.33s}
@keyframes pulseOut{0%{transform:scale(.6);opacity:.4}100%{transform:scale(2.2);opacity:0}}

/* 04 Map with pins */
.ani-map{position:relative}
.ani-map .grid-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,var(--line-2) 1px,transparent 1px),linear-gradient(0deg,var(--line-2) 1px,transparent 1px);background-size:14px 14px;opacity:.8;mask:radial-gradient(circle at 60% 50%,#000,transparent 80%)}
.ani-map .pin{position:absolute;width:10px;height:10px;border-radius:50% 50% 50% 0;background:var(--brand-navy);transform:rotate(-45deg);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-navy) 18%,transparent)}
.ani-map .pin.pin-1{top:30%;left:20%}
.ani-map .pin.pin-2{top:55%;left:40%}
.ani-map .pin.pin-3{top:35%;left:55%;background:var(--brand-red);transform:rotate(-45deg) scale(1.4);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-red) 22%,transparent);animation:pinBob 1.8s ease-in-out infinite}
.ani-map .pin.pin-4{top:60%;left:75%}
.ani-dashboard{display:flex;align-items:center;justify-content:center}
.ani-dashboard svg{width:100%;height:100%;max-width:80px;max-height:72px}
.ani-dashboard svg rect{animation:panelPulse 3s ease-in-out infinite}
.ani-dashboard svg rect:nth-child(1){animation-delay:0s}
.ani-dashboard svg rect:nth-child(2){animation-delay:.4s}
.ani-dashboard svg rect:nth-child(3){animation-delay:.8s}
.ani-dashboard svg rect:nth-child(4){animation-delay:1.2s}
.ani-dashboard svg path[d*="11 11"],.ani-dashboard svg path[d*="11 33"]{stroke-dasharray:20;stroke-dashoffset:20;animation:checkDraw 1.2s ease-out forwards}
.ani-dashboard svg path[d*="11 11"]{animation-delay:.3s}
.ani-dashboard svg path[d*="11 33"]{animation-delay:1s}
.ani-dashboard svg rect[width="12"]{animation:lineGrow .6s ease-out forwards;transform-origin:left}
.ani-dashboard svg rect[width="12"]:nth-of-type(5){animation-delay:.6s}
.ani-dashboard svg rect[width="12"]:nth-of-type(7){animation-delay:1.3s}
.ani-dashboard svg rect[width="8"]{animation:lineGrow .5s ease-out forwards;transform-origin:left;opacity:0}
.ani-dashboard svg rect[width="8"]:nth-of-type(6){animation-delay:.8s}
.ani-dashboard svg rect[width="8"]:nth-of-type(8){animation-delay:1.5s}
@keyframes panelPulse{0%,100%{opacity:.18;transform:scale(1)}50%{opacity:.35;transform:scale(1.03)}}
@keyframes checkDraw{to{stroke-dashoffset:0}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pinBob{0%,100%{transform:rotate(-45deg) scale(1.4) translateY(0)}50%{transform:rotate(-45deg) scale(1.4) translateY(-6px)}}

/* ───────── Products ───────── */
.products{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
@media (max-width:900px){ .products{grid-template-columns:1fr} }

/* ── Product grid (card-based listing) ── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.prod-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:28px 20px 24px;text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,37,122,.10);border-color:var(--brand-navy)}
.prod-card-img{width:80px;height:80px;display:grid;place-items:center;margin-bottom:16px}
.prod-card-img svg{width:100%;height:100%}
.prod-card h3{font-size:1.1rem;margin:0 0 8px;color:var(--ink)}
.prod-card p{font-size:.85rem;color:var(--ink-2);margin:0;line-height:1.45}
@media (max-width:600px){ .prod-grid{grid-template-columns:repeat(2,1fr);gap:14px} .prod-card{padding:20px 14px 18px} }
.product{grid-column:span 3;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:380px;transition:transform .3s ease,border-color .3s}
@media (max-width:900px){ .product{grid-column:span 1} }
.product:hover{transform:translateY(-4px);border-color:var(--brand-navy)}
.product.feature{grid-column:span 6;min-height:420px;background:var(--brand-navy);color:white;border-color:var(--brand-navy)}
@media (max-width:900px){ .product.feature{grid-column:span 1} }
.product.feature h3,.product.feature p{color:white}
.product.feature .product-cov span{color:rgba(255,255,255,.92)}
.product.feature .product-cov span::before{background-color:var(--brand-red)}
.product.feature .product-tag{color:rgba(255,255,255,.7)}
.product.feature .product-tag b{color:var(--brand-red)}
.product.feature .link{color:white}
.product.feature .product-foot .mono{color:rgba(255,255,255,.55)!important}
.product-tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.product-tag b{font-weight:500;color:var(--brand-red)}
.product h3{font-family:'Lora',Georgia,serif;font-weight:700;font-size:38px;letter-spacing:-.025em;line-height:.95;margin:24px 0 14px}
.product.feature h3{font-size:48px}
.product p{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0 0 24px;max-width:340px}
.product-cov{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.product-cov span{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:8px}
.product-cov span::before{content:"";width:10px;height:10px;background-color:var(--brand-red);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1.6 L14.95 8.65 L22.6 9.32 L16.78 14.4 L18.55 21.9 L12 17.85 L5.45 21.9 L7.22 14.4 L1.4 9.32 L9.05 8.65 Z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1.6 L14.95 8.65 L22.6 9.32 L16.78 14.4 L18.55 21.9 L12 17.85 L5.45 21.9 L7.22 14.4 L1.4 9.32 L9.05 8.65 Z'/></svg>") center/contain no-repeat;flex-shrink:0}
.product-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.product-price{font-size:11px;color:rgba(255,255,255,.55)}
.product .link{font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.product .link .arr{width:13px;height:13px;transition:transform .2s}
.product .link:hover .arr{transform:translateX(3px)}

/* Product illustrations */
.prod-illu{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none}
.prod-illu-car{right:-40px;top:30%;width:280px;height:120px;opacity:.95}
.product.feature .prod-road{position:absolute;left:-20px;right:-40px;bottom:8px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.6) 0 16px,transparent 16px 30px);animation:roadMove 1.4s linear infinite}
.product.feature .prod-lane{position:absolute;left:-20px;right:-40px;bottom:-10px;height:20px;background:rgba(255,255,255,.04)}
.product.feature .prod-car{width:200px;height:auto;position:relative;z-index:2;animation:carDrive 5s ease-in-out infinite}
@keyframes carDrive{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.prod-illu-home,.prod-illu-life{right:14px;top:44px;width:80px;height:64px;opacity:.7}
.prod-illu-home svg{width:100%;height:100%}
.prod-home-roof,.prod-home-body{stroke-dasharray:200;stroke-dashoffset:0}
.product:hover .prod-home-roof{animation:dashRedraw 1.2s ease-out}
.product:hover .prod-home-body{animation:dashRedraw 1.2s ease-out .2s both}
@keyframes dashRedraw{0%{stroke-dashoffset:200}100%{stroke-dashoffset:0}}
.prod-spark{animation:spark 2.4s ease-in-out infinite;transform-origin:60px 20px}
@keyframes spark{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}

.life-c{stroke-dasharray:80;stroke-dashoffset:0}
.product:hover .life-c{animation:lifeDraw 1s ease-out}
.product:hover .life-c.c2{animation-delay:.15s}
.product:hover .life-c.c3{animation-delay:.3s}
@keyframes lifeDraw{0%{stroke-dashoffset:80}100%{stroke-dashoffset:0}}

/* ───────── QR Pay ───────── */
.qr-kicker{color:rgba(255,255,255,.55)}
.pay-block{background:var(--brand-navy);color:white;border-radius:24px;padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
@media (max-width:900px){ .pay-block{grid-template-columns:1fr;padding:36px} }
.pay-glow{position:absolute;right:-30%;top:-30%;width:80%;height:140%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 30%,transparent),transparent 60%);pointer-events:none;animation:glowPulse 8s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
.pay-block h2{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(34px,4.6vw,60px);letter-spacing:-.025em;line-height:1;margin:0 0 20px;position:relative}
.pay-block p{font-size:16px;color:rgba(255,255,255,.78);max-width:480px;margin:0 0 28px;line-height:1.5;position:relative}
.pay-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;position:relative}
.pay-step{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.85)}
.pay-step b{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--brand-red);letter-spacing:.08em;border:1px solid rgba(255,255,255,.25);padding:4px 8px;border-radius:6px;flex-shrink:0}

.qr-stack{position:relative;display:flex;align-items:center;justify-content:center}
.qr-scan-line{position:absolute;left:8%;right:8%;top:18%;height:2px;background:linear-gradient(90deg,transparent,var(--brand-red),transparent);box-shadow:0 0 12px var(--brand-red);animation:scanLine 2.4s ease-in-out infinite;z-index:3;border-radius:1px}
@keyframes scanLine{0%,100%{transform:translateY(0);opacity:0}10%,90%{opacity:1}50%{transform:translateY(170px);opacity:1}}
.qr-card{background:white;color:var(--ink);border-radius:20px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transform:rotate(-3deg);transition:transform .4s ease;position:relative;z-index:2}
.qr-card:hover{transform:rotate(0) scale(1.03)}
.qr-svg{width:200px;height:260px;background:white;border-radius:8px;display:grid;place-items:center;overflow:hidden;padding:8px}
.qr-cap{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;text-align:center}
.qr-amt{font-family:'Lora',Georgia,serif;font-size:24px;letter-spacing:-.02em;color:var(--brand-navy)}
.qr-cap--border{border-top:1px solid var(--line);padding-top:10px;width:100%}

/* ───────── News — mini grid (home) ───────── */
.news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:900px){ .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:560px){ .news-grid{grid-template-columns:1fr} }

.news-mini{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px rgba(10,37,64,.04);transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
.news-mini:hover{transform:translateY(-5px);box-shadow:0 20px 40px -18px rgba(10,37,64,.22);border-color:var(--brand-navy)}
.news-mini-img{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--bg)}
.news-mini-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.news-mini:hover .news-mini-img img{transform:scale(1.08)}
.news-mini-img::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(to top,rgba(0,20,50,.35),transparent);pointer-events:none}
.news-mini-badge{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.95);color:var(--brand-navy);font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;box-shadow:0 3px 8px rgba(10,37,64,.15)}
.news-mini-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:6px}
.news-mini-date{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}
.news-mini-body h4{font-family:'Lora',Georgia,serif;font-weight:700;font-size:14.5px;line-height:1.3;letter-spacing:-.01em;margin:0;color:var(--brand-navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-mini-link{font-size:11.5px;font-weight:600;display:inline-flex;gap:5px;align-items:center;color:var(--brand-red);text-decoration:none;margin-top:2px;transition:gap .2s}
.news-mini:hover .news-mini-link{gap:8px}
.news-mini-link svg{transition:transform .25s}
.news-mini:hover .news-mini-link svg{transform:translateX(2px)}

/* ───────── News — grid (blog listing) ───────── */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.blog-grid .news-card{flex-direction:row}
.blog-grid .news-img{width:220px;flex-shrink:0;aspect-ratio:auto;border-right:1px solid var(--line)}
.blog-grid .news-card h4{font-size:18px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}.blog-grid .news-card{flex-direction:column}.blog-grid .news-img{width:100%;aspect-ratio:16/10;border-right:none;border-bottom:1px solid var(--line)}}
@media (max-width:900px){ .news{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .news{grid-template-columns:1fr} }
.news-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(10,37,64,.04);transition:border-color .3s,transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.news-card:hover{border-color:var(--brand-navy);transform:translateY(-5px);box-shadow:0 20px 40px -20px rgba(10,37,64,.2)}
.news-img{aspect-ratio:16/10;background:var(--bg);position:relative;overflow:hidden}
.news-img img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.news-card:hover .news-img img{transform:scale(1.07)}
.news-img::after{content:"";position:absolute;inset:auto 0 0 0;height:50%;background:linear-gradient(to top,rgba(0,20,50,.36),transparent);z-index:1;pointer-events:none}
.news-badge{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.95);color:var(--brand-navy);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;box-shadow:0 4px 10px rgba(10,37,64,.15)}
.news-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.news-card h4{font-family:'Lora',Georgia,serif;font-weight:700;font-size:18px;letter-spacing:-.015em;line-height:1.22;margin:0;color:var(--brand-navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card .link{font-size:12.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center;color:var(--brand-red);text-decoration:none;margin-top:2px;transition:gap .2s}
.news-card:hover .link{gap:10px}
.news-card .link .arr{transition:transform .25s}
.news-card:hover .link .arr{transform:translateX(2px)}

/* ───────── Area CTA ───────── */
.area-cta{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:48px;background:var(--card);position:relative;overflow:hidden}
@media (max-width:900px){ .area-cta{grid-template-columns:1fr;padding:32px} }
@media (max-width:560px){ .area-cta{padding:24px 20px;border-radius:16px} .area-cta h2{font-size:26px !important} }
.area-cta h2{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(30px,3.8vw,46px);letter-spacing:-.022em;line-height:1;margin:0 0 18px;color:var(--brand-navy)}
.area-cta p{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 24px;max-width:480px}
.area-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.area-list a{padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--brand-navy);display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Lora',Georgia,serif;font-weight:700;font-size:22px;letter-spacing:-.015em;transition:padding .25s ease,color .2s ease}
.area-list a small{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-weight:400}
.area-list a:hover{padding-left:14px;color:var(--brand-red)}
.area-list a .arr{width:14px;height:14px;color:var(--ink-3);transition:color .2s,transform .25s}
.area-list a:hover .arr{color:var(--brand-red);transform:translateX(4px)}

/* ───────── Reinsurers ───────── */
.rein{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:60px 0;background:var(--card)}
.rein-grid{display:grid;grid-template-columns:1fr 2.5fr;gap:48px;align-items:start}
@media (max-width:900px){ .rein-grid{grid-template-columns:1fr} }
.rein-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}
@media (max-width:600px){ .rein-logos{grid-template-columns:repeat(2,1fr)} }
.rein-cell{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:110px;transition:background .2s,filter .3s;filter:grayscale(1) opacity(.7)}
.rein-cell img{max-width:130px !important;max-height:52px !important;width:auto !important;height:auto !important;object-fit:contain}
.rein-cell:hover{filter:grayscale(0) opacity(1);background:var(--bg)}

/* ───────── Footer ───────── */
footer{padding:80px 0 32px;border-top:1px solid var(--line);background:var(--brand-navy);color:rgba(255,255,255,.7)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
@media (max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr;gap:32px} }
@media (max-width:560px){ .foot-grid{grid-template-columns:1fr;gap:24px} }
.foot-brand .logo{color:white}
.foot-brand .logo-txt b{color:white}
.foot-brand .logo-txt small{color:rgba(255,255,255,.5)}
.foot-brand h3{font-family:'Lora',Georgia,serif;font-weight:700;font-size:36px;letter-spacing:-.025em;line-height:1;margin:24px 0 14px;color:white}
.foot-brand p{font-size:14px;color:rgba(255,255,255,.65);line-height:1.55;max-width:340px;margin:0 0 20px}
.foot-contact{display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.foot-contact a{color:rgba(255,255,255,.75);text-decoration:none}
.foot-contact a:hover{color:white}
.foot-col h5{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red);font-weight:500;margin:0 0 16px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.foot-col a{color:rgba(255,255,255,.7);text-decoration:none;font-size:14px;transition:color .15s,padding .15s}
.foot-col a:hover{color:white;padding-left:4px}
.foot-bot{display:flex;justify-content:space-between;align-items:center;margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.4);font-family:'JetBrains Mono',monospace;letter-spacing:.04em;flex-wrap:wrap;gap:12px}

/* ───────── Scroll reveal ───────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.95,.36,1);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:translateY(0)}
.no-motion .reveal{opacity:1!important;transform:none!important}
.no-motion *{animation:none!important;transition:none!important}

::selection{background:var(--brand-red);color:white}



/* ───────── Chatbot (floating widget) ───────── */
.cb-fab {
  position: fixed; bottom: 24px; right: 24px; z-index: 9000;
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--brand-navy); color: white; border: 0;
  cursor: pointer; display: grid; place-items: center;
  box-shadow: 0 16px 40px -8px rgba(14,47,90,.45);
  transition: transform .25s, background .25s;
}
.cb-fab svg { width: 26px; height: 26px; }
.cb-fab .cb-mark{width:44px;height:44px}
.cb-fab-tag{position:fixed;bottom:38px;right:96px;z-index:8999;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 14px;display:flex;flex-direction:column;line-height:1.25;box-shadow:0 12px 30px -12px rgba(14,47,90,.25);animation:cbTagIn .4s ease .6s both, cbTagOut .4s ease 5s forwards}
.cb-fab-tag b{font-family:'Space Grotesk',sans-serif;font-size:13.5px;color:var(--brand-navy)}
.cb-fab-tag span{font-size:11.5px;color:var(--ink-3)}
@keyframes cbTagIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@keyframes cbTagOut{to{opacity:0;transform:translateX(8px);pointer-events:none}}
@media (max-width:480px){.cb-fab-tag{display:none}}
.cb-fab:hover { transform: scale(1.08) rotate(-6deg); }
.cb-fab--open { background: var(--brand-red); transform: rotate(0); }
.cb-fab--open:hover { transform: scale(1.08); }
.cb-fab__badge {
  position: absolute; top: -2px; right: -2px;
  background: var(--brand-red); color: white;
  width: 22px; height: 22px; border-radius: 50%;
  font-size: 12px; font-weight: 700; display: grid; place-items: center;
  border: 2px solid var(--bg);
  animation: cbBadgePulse 2s ease infinite;
}
@keyframes cbBadgePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); }
}

.cb-panel {
  position: fixed; bottom: 96px; right: 24px; z-index: 9001;
  width: 380px; max-width: calc(100vw - 32px);
  height: 600px; max-height: calc(100vh - 120px);
  background: white; border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 30px 80px -20px rgba(14,47,90,.4), 0 8px 24px -8px rgba(14,47,90,.2);
  transform: translateY(20px) scale(.96); opacity: 0; pointer-events: none;
  transition: transform .28s cubic-bezier(.22,.95,.36,1), opacity .22s;
  transform-origin: bottom right;
}
.cb-panel--open { transform: translateY(0) scale(1); opacity: 1; pointer-events: auto; }
@media (max-width: 480px) {
  .cb-panel { right: 8px; left: 8px; bottom: 84px; width: auto; max-width: none; height: calc(100vh - 100px); }
  .cb-fab { right: 16px; bottom: 16px; width: 56px; height: 56px; }
}

.cb-head {
  background: var(--brand-navy); color: white;
  padding: 12px 14px; display: flex; align-items: center; gap: 12px;
  position: relative;
}
.cb-head::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--brand-red), transparent);
}
.cb-avatar {
  width: 38px; height: 38px; border-radius: 9px; background: white;
  display: grid; place-items: center; flex-shrink: 0; overflow: hidden;
  padding: 4px;
}
.cb-avatar img { width: 100%; height: 100%; object-fit: contain; }
.cb-avatar--mark{background:transparent;padding:0}
.cb-avatar--mark svg{width:100%;height:100%}
.cb-head-txt { display: flex; flex-direction: column; line-height: 1.25; flex: 1; min-width: 0; }
.cb-head-txt b { font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .01em; }
.cb-head-txt span { font-size: 11px; opacity: .8; display: flex; align-items: center; gap: 6px; font-family: 'JetBrains Mono', monospace; letter-spacing: .03em; }
.cb-dot { width: 7px; height: 7px; border-radius: 50%; background: #2EE889; box-shadow: 0 0 0 2px rgba(46,232,137,.25); animation: cbDotPulse 2s ease infinite; }
@keyframes cbDotPulse { 0%,100%{box-shadow:0 0 0 2px rgba(46,232,137,.25)} 50%{box-shadow:0 0 0 5px rgba(46,232,137,0)} }
.cb-icon-btn {
  appearance: none; background: rgba(255,255,255,.12); color: white; border: 0;
  width: 30px; height: 30px; border-radius: 8px; cursor: pointer;
  display: grid; place-items: center; transition: background .15s;
}
.cb-icon-btn svg { width: 16px; height: 16px; }
.cb-icon-btn:hover { background: rgba(255,255,255,.22); }

.cb-body {
  flex: 1; overflow-y: auto; padding: 18px 14px 14px;
  background: linear-gradient(180deg, #F4F6FA, #EEF1F7);
  display: flex; flex-direction: column; gap: 8px;
  scrollbar-width: thin; scrollbar-color: rgba(14,47,90,.2) transparent;
}
.cb-body::-webkit-scrollbar { width: 6px; }
.cb-body::-webkit-scrollbar-thumb { background: rgba(14,47,90,.18); border-radius: 3px; }

.cb-msg { display: flex; max-width: 88%; animation: cbMsgIn .3s ease both; }
@keyframes cbMsgIn { from { opacity:0; transform: translateY(6px); } to { opacity:1; transform: none; } }
.cb-msg--bot { align-self: flex-start; }
.cb-msg--user { align-self: flex-end; }

.cb-bubble {
  background: white; border-radius: 14px; padding: 10px 14px;
  font-size: 13.5px; line-height: 1.5; color: var(--ink);
  border: 1px solid var(--line-2);
  position: relative;
  box-shadow: 0 2px 6px -2px rgba(14,47,90,.06);
}
.cb-bubble time {
  display: block; font-size: 10px; color: var(--ink-3); margin-top: 4px; text-align: right;
  font-family: 'JetBrains Mono', monospace; letter-spacing: .03em;
}
.cb-msg--user .cb-bubble {
  background: var(--brand-navy); color: white; border-color: var(--brand-navy);
}
.cb-msg--user .cb-bubble time { color: rgba(255,255,255,.6); }

.cb-bubble--card {
  display: flex; flex-direction: column; gap: 8px; padding: 14px; align-items: stretch;
}
.cb-card-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 14.5px; letter-spacing: -.01em; color: var(--brand-navy); }
.cb-bubble--card small { font-size: 12px; color: var(--ink-3); line-height: 1.45; }
.cb-cta {
  appearance: none; border: 0; background: var(--brand-navy); color: white;
  font-weight: 600; font-size: 13.5px;
  padding: 11px 14px; border-radius: 10px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 4px;
  transition: background .15s, transform .15s;
  font-family: inherit;
}
.cb-cta svg { width: 14px; height: 14px; }
.cb-cta:hover { background: var(--brand-red); transform: translateY(-1px); }

.cb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cb-chip {
  appearance: none; border: 1px solid var(--brand-red); background: white;
  color: var(--brand-red-2); font-weight: 600; font-size: 12.5px;
  padding: 8px 12px; border-radius: 999px; cursor: pointer;
  transition: background .15s, color .15s, transform .15s;
  font-family: inherit;
}
.cb-chip:hover { background: var(--brand-red); color: white; transform: translateY(-1px); }

.cb-typing {
  background: white; border-radius: 14px; padding: 12px 14px;
  display: flex; gap: 4px; border: 1px solid var(--line-2);
  align-items: center;
}
.cb-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--ink-3);
  animation: cbTyping 1.2s infinite ease-in-out;
}
.cb-typing span:nth-child(2) { animation-delay: .15s; }
.cb-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes cbTyping {
  0%, 60%, 100% { transform: translateY(0); opacity: .4; }
  30% { transform: translateY(-4px); opacity: 1; }
}

.cb-input {
  border-top: 1px solid var(--line); padding: 10px 12px;
  display: flex; gap: 4px; align-items: center; background: white;
}
.cb-input input {
  flex: 1; border: 0; outline: 0; font: inherit;
  padding: 8px 10px; font-size: 13.5px; color: var(--ink);
  font-family: 'Manrope', sans-serif;
}
.cb-input input::placeholder { color: var(--ink-3); }
.cb-icobtn, .cb-send {
  appearance: none; border: 0; cursor: pointer;
  width: 36px; height: 36px; border-radius: 8px;
  display: grid; place-items: center; transition: background .15s, color .15s;
}
.cb-icobtn { background: transparent; color: var(--ink-3); }
.cb-icobtn svg { width: 18px; height: 18px; }
.cb-icobtn:hover { background: var(--line-2); color: var(--ink); }
.cb-send { background: var(--brand-navy); color: white; }
.cb-send svg { width: 16px; height: 16px; }
.cb-send:hover { background: var(--brand-red); }

/* Shift Tweaks panel up when chatbot fab takes its spot */
.twk-panel { bottom: 96px !important; }
@media (max-width:480px) { .twk-panel { bottom: 84px !important; right: 80px !important; } }



/* ───────── Branch finder (sucursales) ───────── */
.branches-grid{
  display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start;
}
@media (max-width:980px){ .branches-grid{grid-template-columns:1fr} }

.bf-list-col{
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:20px;display:flex;flex-direction:column;gap:14px;
  max-height:720px;
}
.bf-filters{display:flex;flex-direction:column;gap:10px}
.bf-search{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:12px;padding:10px 12px;
  background:var(--bg);transition:border-color .2s,background .2s;
}
.bf-search:focus-within{border-color:var(--brand-navy);background:white}
.bf-search svg{width:16px;height:16px;color:var(--ink-3);flex-shrink:0}
.bf-search input{
  flex:1;border:0;outline:0;background:transparent;font:inherit;
  font-family:'Archivo',sans-serif;font-size:14px;color:var(--ink);
}
.bf-search input::placeholder{color:var(--ink-3)}
.bf-clear{
  appearance:none;border:0;background:var(--line);color:var(--ink-2);
  width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:14px;
  display:grid;place-items:center;line-height:1;
}
.bf-chips{display:flex;flex-wrap:wrap;gap:6px}
.bf-chip{
  appearance:none;border:1px solid var(--line);background:transparent;
  color:var(--ink-2);font-weight:500;font-size:12px;cursor:pointer;
  padding:6px 10px;border-radius:999px;font-family:inherit;
  display:inline-flex;align-items:center;gap:6px;transition:all .15s;
}
.bf-chip:hover{border-color:var(--brand-navy);color:var(--brand-navy)}
.bf-chip--on{background:var(--brand-navy);border-color:var(--brand-navy);color:white}
.bf-chip-n{
  font-family:'JetBrains Mono',monospace;font-size:10px;
  background:rgba(255,255,255,.18);padding:1px 5px;border-radius:8px;
}
.bf-chip:not(.bf-chip--on) .bf-chip-n{background:var(--line);color:var(--ink-3)}

.bf-count{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 4px;font-size:11.5px;color:var(--ink-3);
  letter-spacing:.04em;text-transform:uppercase;
}

.bf-list{
  flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;
  scrollbar-width:thin;scrollbar-color:rgba(14,47,90,.2) transparent;
  padding-right:4px;
}
.bf-list::-webkit-scrollbar{width:6px}
.bf-list::-webkit-scrollbar-thumb{background:rgba(14,47,90,.18);border-radius:3px}

.bf-empty{
  text-align:center;padding:32px 12px;font-size:13px;color:var(--ink-3);
}

.bf-item{
  appearance:none;border:1px solid var(--line);background:white;
  text-align:left;cursor:pointer;font-family:inherit;
  padding:14px;border-radius:12px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .18s,background .18s,transform .18s;
}
.bf-item:hover{border-color:var(--brand-navy);transform:translateX(2px)}
.bf-item--on{
  border-color:var(--brand-red);background:var(--brand-red-soft);
}
.bf-item-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.bf-item-name{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:15.5px;color:var(--brand-navy);letter-spacing:-.01em;line-height:1.2;
}
.bf-item-addr{font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-top:2px}
.bf-item-dept{
  font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 7px;border:1px solid var(--line);border-radius:6px;
  color:var(--ink-3);flex-shrink:0;white-space:nowrap;
}
.bf-item--on .bf-item-dept{border-color:var(--brand-red);color:var(--brand-red-2);background:white}
.bf-item-meta{
  display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-3);
  font-family:'JetBrains Mono',monospace;letter-spacing:.02em;
}

.bf-map-col{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.bf-map-wrap{
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:20px;aspect-ratio:1/1;display:grid;place-items:center;
  position:relative;overflow:hidden;
}
.bf-map-wrap::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,transparent 40%,color-mix(in srgb,var(--brand-navy) 4%,transparent));
  pointer-events:none;
}
.bf-map-img{
  position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);
  object-fit:contain;pointer-events:none;
}
.bf-map-img--dark{display:none}
:root.theme-dark .bf-map-img--light, body.theme-dark .bf-map-img--light{display:none}
:root.theme-dark .bf-map-img--dark, body.theme-dark .bf-map-img--dark{display:block}

.bf-map-pins{position:absolute;inset:20px}
.bf-map-compass{
  position:absolute;top:2%;right:2%;width:22px;height:22px;color:var(--brand-navy);opacity:.55;
}
.bf-map-compass svg{width:100%;height:100%}

.bf-pin2{
  appearance:none;border:0;background:transparent;cursor:pointer;padding:0;
  position:absolute;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;gap:4px;
  z-index:2;
}
.bf-pin2-dot{
  width:11px;height:11px;border-radius:50%;
  background:var(--brand-navy);border:1.5px solid white;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 20%,transparent), 0 2px 6px rgba(0,0,0,.25);
  display:block;transition:all .2s ease;
}
.bf-pin2:hover .bf-pin2-dot{transform:scale(1.25)}
.bf-pin2--on .bf-pin2-dot{
  width:15px;height:15px;background:var(--brand-red);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--brand-red) 26%,transparent), 0 2px 8px rgba(0,0,0,.3);
  animation:bfPin2Bob 2s ease-in-out infinite;
}
@keyframes bfPin2Bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.bf-pin2-label{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:11.5px;color:var(--brand-navy);
  background:var(--card);padding:3px 8px;border-radius:6px;white-space:nowrap;
  box-shadow:0 4px 12px -4px rgba(14,47,90,.3);border:1px solid var(--line);
}
.bf-pin2--on .bf-pin2-label{color:var(--brand-red-2)}

.bf-detail{
  background:var(--brand-navy);color:white;border-radius:20px;
  padding:24px;display:flex;flex-direction:column;gap:16px;
}
.bf-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bf-detail-name{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:22px;letter-spacing:-.018em;line-height:1.1;
}
.bf-detail-city{font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.bf-detail-tag{
  background:#1F8A5B;color:white;font-size:10.5px;font-weight:600;
  padding:4px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;
}
.bf-detail-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#2EE889}
.bf-detail-grid{display:flex;flex-direction:column;gap:8px}
.bf-detail-row{
  display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;
  padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13.5px;
}
.bf-detail-row:last-child{border-bottom:0}
.bf-detail-label{
  font-size:10px;color:rgba(255,255,255,.55);letter-spacing:.06em;text-transform:uppercase;
  padding-top:2px;
}
.bf-detail-row a{color:var(--brand-red);text-decoration:none}
.bf-detail-row a:hover{text-decoration:underline}
.bf-detail-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.bf-detail-cta .btn-ghost{border-color:rgba(255,255,255,.25);color:white}
.bf-detail-cta .btn-ghost:hover{background:white;color:var(--brand-navy);border-color:white}

/* ───────── Claim Status Tracker ───────── */
.claim-card{
  max-width:920px;margin:0 auto;
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:36px;
}
@media (max-width:720px){ .claim-card{padding:24px} }

.claim-form{
  display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;
}
@media (max-width:680px){ .claim-form{grid-template-columns:1fr} }
.claim-field{display:flex;flex-direction:column;gap:6px}
.claim-field label{
  font-size:10.5px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;
}
.claim-field input{
  appearance:none;border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;font:inherit;font-family:'Archivo',sans-serif;font-size:15px;
  color:var(--ink);background:white;transition:border-color .15s,box-shadow .15s;
  font-variant-numeric:tabular-nums;letter-spacing:.04em;
}
.claim-field input:focus{outline:0;border-color:var(--brand-navy);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 12%,transparent)}
.claim-submit{justify-self:start}
@media (max-width:680px){ .claim-submit{justify-self:stretch;text-align:center;justify-content:center} }
.claim-submit:disabled{opacity:.7;cursor:wait}

.claim-msg{
  margin-top:18px;padding:14px 18px;border-radius:12px;font-size:13.5px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.claim-msg--err{background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5}
.claim-msg--warn{background:#FEF3C7;color:#854D0E;border:1px solid #FCD34D}
.claim-msg strong{font-weight:700}
.claim-reset{
  appearance:none;border:1px solid currentColor;background:transparent;
  color:inherit;font:inherit;font-weight:600;font-size:12px;
  padding:6px 12px;border-radius:8px;cursor:pointer;
}
.claim-reset:hover{background:currentColor;color:white}

.claim-result{margin-top:28px;display:flex;flex-direction:column;gap:24px;animation:claimIn .5s ease}
@keyframes claimIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.claim-result-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.claim-id{font-size:11px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.claim-type{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:24px;color:var(--brand-navy);margin-top:4px;letter-spacing:-.015em;
}
.claim-result-head .claim-reset{border-color:var(--line);color:var(--ink-2)}

.claim-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
@media (max-width:780px){ .claim-timeline{grid-template-columns:1fr;gap:14px} }
.claim-step{
  display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;text-align:center;
  padding:0 8px;
}
@media (max-width:780px){
  .claim-step{flex-direction:row;text-align:left;align-items:flex-start;gap:14px;padding:0}
}
.claim-step-dot{
  width:36px;height:36px;border-radius:50%;background:var(--bg);
  border:2px solid var(--line);color:var(--ink-3);font-weight:700;
  display:grid;place-items:center;font-size:13px;z-index:2;
  transition:all .3s ease;flex-shrink:0;
}
.claim-step-dot svg{width:18px;height:18px}
.claim-step.is-done .claim-step-dot{background:var(--brand-navy);border-color:var(--brand-navy);color:white}
.claim-step.is-active .claim-step-dot{
  background:var(--brand-red);border-color:var(--brand-red);color:white;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--brand-red) 22%,transparent);
  animation:claimActive 2s ease-in-out infinite;
}
@keyframes claimActive{0%,100%{box-shadow:0 0 0 6px color-mix(in srgb,var(--brand-red) 22%,transparent)}50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--brand-red) 0%,transparent)}}

.claim-step-line{
  position:absolute;left:calc(50% + 22px);top:17px;right:calc(-50% + 22px);height:2px;
  background:var(--line);z-index:1;
}
.claim-step.is-done .claim-step-line{background:var(--brand-navy)}
@media (max-width:780px){
  .claim-step-line{left:17px;top:36px;right:auto;width:2px;height:14px}
}

.claim-step-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.claim-step-label{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:13.5px;color:var(--ink);letter-spacing:-.005em;
}
.claim-step.is-active .claim-step-label{color:var(--brand-red)}
.claim-step.is-done .claim-step-label{color:var(--brand-navy)}
.claim-step-desc{font-size:11.5px;color:var(--ink-3);line-height:1.4}

.claim-details{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;
  border-top:1px solid var(--line);border-left:1px solid var(--line);
  border-radius:12px;overflow:hidden;
}
.claim-detail{
  padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:4px;background:var(--bg);
}
.claim-detail.is-highlight{background:var(--brand-red-soft)}
.claim-detail-lbl{font-size:10px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.claim-detail-val{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:15px;color:var(--brand-navy);letter-spacing:-.005em;
  font-variant-numeric:tabular-nums;
}
.claim-detail.is-highlight .claim-detail-val{color:var(--brand-red-2);font-size:17px}

.claim-next{
  background:var(--brand-navy);color:white;border-radius:14px;padding:18px 20px;
  display:flex;flex-direction:column;gap:6px;
}
.claim-next-lbl{font-size:10px;color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase}
.claim-next p{font-size:14.5px;line-height:1.5;margin:0;max-width:640px}

.claim-actions{display:flex;gap:10px;flex-wrap:wrap}



/* ───────── Servicios row (priority access cards) ───────── */
.servicios-panel{
  background:linear-gradient(160deg,color-mix(in srgb,var(--brand-navy) 6%,var(--bg)),color-mix(in srgb,var(--brand-navy) 11%,var(--bg)));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin:0;padding-top:56px !important;padding-bottom:64px !important;
}
.servicios-panel .block-kicker{color:var(--brand-navy)}
:root.theme-dark .servicios-panel,
body.theme-dark .servicios-panel{background:linear-gradient(160deg,color-mix(in srgb,var(--brand-navy) 30%,var(--bg)),color-mix(in srgb,var(--brand-navy) 45%,var(--bg)))}
.services-row{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;
}
@media (max-width:980px){ .services-row{grid-template-columns:1fr 1fr} .services-row > :first-child{grid-column:span 2} }
@media (max-width:640px){ .services-row, .services-row > :first-child{grid-template-columns:1fr;grid-column:auto} }

.srv-card{
  appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);
  text-align:left;cursor:pointer;text-decoration:none;font-family:inherit;
  padding:32px;border-radius:22px;display:flex;flex-direction:column;gap:20px;
  position:relative;overflow:hidden;min-height:340px;
  transition:transform .3s cubic-bezier(.22,.95,.36,1),border-color .25s,box-shadow .3s;
}
.srv-card:hover{transform:translateY(-6px);border-color:var(--brand-navy);box-shadow:0 25px 60px -20px rgba(14,47,90,.22)}
.srv-card--primary{
  background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-2));
  border-color:var(--brand-navy);color:white;
}
.srv-card--primary::before{
  content:"";position:absolute;right:-100px;top:-100px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 35%,transparent),transparent 60%);
  pointer-events:none;
}
.srv-card--primary:hover{border-color:var(--brand-red);transform:translateY(-6px)}

.srv-tag{
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
  display:inline-flex;align-items:center;gap:8px;
  position:relative;z-index:2;
}
.srv-card--primary .srv-tag{color:rgba(255,255,255,.65)}
.srv-pulse{
  width:8px;height:8px;border-radius:50%;background:var(--brand-red);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-red) 28%,transparent);
  animation:srvPulse 2s ease-in-out infinite;flex-shrink:0;
}
.srv-pulse--alt{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 28%,transparent)}
@keyframes srvPulse{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-red) 28%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--brand-red) 0%,transparent)}}

.srv-icowrap{
  width:56px;height:56px;border-radius:14px;
  background:white;color:var(--brand-navy);
  display:grid;place-items:center;position:relative;z-index:2;
  transition:transform .3s;
}
.srv-icowrap svg{width:26px;height:26px}
.srv-card:hover .srv-icowrap{transform:rotate(-6deg) scale(1.05)}
.srv-card--primary .srv-icowrap{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.18)}
.srv-card--primary:hover .srv-icowrap{background:var(--brand-red);color:white;border-color:var(--brand-red)}

.srv-body{position:relative;z-index:2;margin-top:auto}
.srv-card h3{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:30px;letter-spacing:-.022em;line-height:1;margin:0 0 12px;
}
.srv-card--primary h3{color:white}
.srv-card p{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0;max-width:380px}
.srv-card--primary p{color:rgba(255,255,255,.75)}

.srv-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:14px;color:var(--brand-navy);
  padding-top:6px;border-top:1px solid var(--line);margin-top:4px;
  width:fit-content;position:relative;z-index:2;
  transition:gap .2s;
}
.srv-card--primary .srv-cta{color:var(--brand-red);border-color:rgba(255,255,255,.15)}
.srv-cta svg{width:14px;height:14px;transition:transform .2s}
.srv-card:hover .srv-cta{gap:12px}
.srv-card:hover .srv-cta svg{transform:translateX(3px)}

/* ───────── QR Pay modal ───────── */
.qrp-modal{max-width:420px;padding:44px 32px 36px;overflow:hidden;position:relative}
.qrp-modal::before{content:"";position:absolute;left:-30%;top:-40%;width:160%;height:100%;background:radial-gradient(circle,rgba(52,181,199,.25),transparent 60%);pointer-events:none}
.qrp-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.qrp-badge{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8FD9E4;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:100px}
.qrp-title{color:#fff;font-family:'Lora',Georgia,serif;font-weight:700;font-size:26px;line-height:1.25;margin:0}
.qrp-sub{color:rgba(255,255,255,.75);font-size:14.5px;line-height:1.5;margin:0;max-width:320px}
.qrp-card{background:#fff;border-radius:20px;padding:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);margin:6px 0}
.qrp-card img{width:220px;height:auto;display:block;border-radius:10px}
.qrp-note{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);font-size:13.5px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:12px 16px;border-radius:14px}
.qrp-note svg{width:20px;height:20px;flex:none;color:#8FD9E4}
.qrp-note b{color:#fff}
.qrp-trigger{background:linear-gradient(135deg,#1F8FA1,#34B5C7);color:#fff;border:0}
.qrp-trigger:hover{filter:brightness(1.08)}
.qrp-trigger svg{width:18px;height:18px}
.cm-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(6,18,36,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:grid;place-items:center;
  padding:40px 16px;overflow-y:auto;
  animation:cmFadeIn .25s ease;
}
@keyframes cmFadeIn{from{opacity:0}to{opacity:1}}

.cm-modal{
  width:100%;max-width:520px;
  background:linear-gradient(180deg,var(--brand-navy) 0%,var(--brand-navy) 35%,var(--brand-navy-2) 100%);
  color:white;border-radius:22px;
  padding:32px 28px 28px;position:relative;
  box-shadow:0 40px 100px -20px rgba(0,0,0,.6);
  animation:cmModalIn .35s cubic-bezier(.22,.95,.36,1);
  overflow:hidden;
}
.cm-modal::before{
  content:"";position:absolute;right:-30%;top:-20%;width:80%;height:60%;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 22%,transparent),transparent 65%);
  pointer-events:none;
}
@keyframes cmModalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:600px){
  .cm-overlay{padding:0;align-items:stretch}
  .cm-modal{max-width:100%;border-radius:0;min-height:100vh;padding-top:60px}
}

.cm-close{
  appearance:none;background:rgba(255,255,255,.1);border:0;color:white;cursor:pointer;
  position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;transition:background .15s;z-index:5;
}
.cm-close svg{width:18px;height:18px}
.cm-close:hover{background:rgba(255,255,255,.2)}
.onb-modal{max-width:680px;padding:44px 40px 36px;background:linear-gradient(180deg,var(--brand-navy) 0%,var(--brand-navy) 30%,var(--brand-navy-2) 100%)}
.onb-body{position:relative;z-index:1;color:white}
.onb-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:10px}
.onb-title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(24px,3vw,32px);letter-spacing:-.01em;margin:0 0 8px;color:white}
.onb-sub{margin:0 0 26px;color:rgba(255,255,255,.75);font-size:14.5px}
.onb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){ .onb-grid{grid-template-columns:1fr} }
.onb-card{display:flex;flex-direction:column;gap:8px;text-align:left;text-decoration:none;color:white;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px 18px 20px;position:relative;transition:background .2s,transform .2s,border-color .2s}
.onb-card:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.onb-num{position:absolute;top:14px;right:16px;font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,.4)}
.onb-ico{width:38px;height:38px;border-radius:10px;background:rgba(0,129,170,.28);display:grid;place-items:center;color:#7FD4E8;flex-shrink:0}
.onb-ico svg{width:20px;height:20px;display:block}
.onb-card b{font-family:'Lora',Georgia,serif;font-size:16px;font-weight:600}
.onb-card span{font-size:13px;color:rgba(255,255,255,.65);line-height:1.4}
.onb-skip{appearance:none;background:transparent;border:0;color:rgba(255,255,255,.55);font-size:13px;cursor:pointer;margin:22px auto 0;display:block;text-decoration:underline;text-underline-offset:3px}
.onb-skip:hover{color:white}

.cm-head{text-align:center;margin-bottom:24px;position:relative;z-index:2}
.cm-logo{height:44px;width:auto;margin:0 auto 18px;display:block;filter:brightness(0) invert(1) opacity(.95)}
.cm-title{
  font-family:'Lora',Georgia,serif;font-weight:800;
  font-size:34px;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;color:white;
}
.cm-sub{font-size:14px;color:rgba(255,255,255,.7);line-height:1.5;margin:0;padding:0 8px}

.cm-card{
  background:white;color:var(--ink);border-radius:18px;padding:28px 24px 22px;
  position:relative;z-index:2;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.35);
}

.cm-steps{display:flex;align-items:center;gap:14px;margin-bottom:22px;justify-content:center}
.cm-step{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:90px}
.cm-step-dot{
  width:40px;height:40px;border-radius:50%;background:var(--bg);
  border:2px solid var(--line);color:var(--ink-3);font-weight:700;font-size:15px;
  display:grid;place-items:center;transition:all .3s ease;
  font-family:'Space Grotesk',sans-serif;
}
.cm-step-dot svg{width:18px;height:18px}
.cm-step.is-on .cm-step-dot{background:var(--brand-navy);border-color:var(--brand-navy);color:white;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 16%,transparent)}
.cm-step.is-done .cm-step-dot{background:var(--brand-red);border-color:var(--brand-red);color:white}
.cm-step-label{
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  font-family:'JetBrains Mono',monospace;color:var(--ink-3);font-weight:500;
}
.cm-step.is-on .cm-step-label{color:var(--brand-navy)}
.cm-step.is-done .cm-step-label{color:var(--brand-red)}
.cm-step-line{flex:0 0 60px;height:2px;background:var(--line);transition:background .3s;border-radius:1px;margin-top:-16px}
.cm-step-line.is-done{background:var(--brand-red)}

.cm-form{display:flex;flex-direction:column;gap:0}
.cm-form-title{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:22px;letter-spacing:-.018em;color:var(--brand-navy);margin:0 0 6px;
}
.cm-form-desc{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0 0 18px}
.cm-form-desc b{color:var(--brand-navy);font-weight:700}
.cm-form-desc .mono{font-family:'JetBrains Mono',monospace;font-size:12px;background:var(--bg);padding:1px 6px;border-radius:4px}

.cm-label{
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);font-weight:600;margin-bottom:6px;margin-top:6px;
  display:block;
}

.cm-input-wrap{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  background:white;transition:border-color .15s,box-shadow .15s;
  margin-bottom:14px;
}
.cm-input-wrap:focus-within{border-color:var(--brand-navy);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 12%,transparent)}
.cm-input-wrap svg{width:18px;height:18px;color:var(--ink-3);flex-shrink:0}
.cm-input-wrap input{
  flex:1;border:0;outline:0;font:inherit;font-family:'Archivo',sans-serif;
  font-size:15px;color:var(--ink);background:transparent;
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
}
.cm-input-wrap input::placeholder{color:var(--ink-3)}

.cm-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.cm-method{
  appearance:none;border:1.5px solid var(--line);background:white;
  padding:12px 8px;border-radius:12px;cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--ink-2);
  transition:all .15s;
}
.cm-method svg{width:18px;height:18px}
.cm-method:hover{border-color:var(--brand-navy);color:var(--brand-navy)}
.cm-method.is-on{
  border-color:var(--brand-navy);background:var(--brand-navy);color:white;
  box-shadow:0 4px 12px -4px color-mix(in srgb,var(--brand-navy) 50%,transparent);
}

.cm-cta{
  appearance:none;border:0;cursor:pointer;font-family:'Manrope','Manrope',sans-serif;
  font-weight:700;font-size:15px;letter-spacing:-.005em;
  padding:15px 22px;border-radius:12px;
  background:var(--brand-navy);color:white;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:background .15s,transform .15s;
  width:100%;margin-top:6px;
}
.cm-cta:hover:not(:disabled){background:var(--brand-red);transform:translateY(-1px)}
.cm-cta:disabled{opacity:.7;cursor:wait}
.cm-cta--ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line);flex:0 0 auto;width:auto;padding:15px 20px}
.cm-cta--ghost:hover:not(:disabled){background:var(--bg);color:var(--ink);transform:none}

.cm-row{display:flex;gap:8px;margin-top:6px}
.cm-row .cm-cta{margin-top:0}

.cm-help{
  font-size:12.5px;color:var(--ink-3);text-align:center;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
.cm-help a{color:var(--brand-navy);font-weight:700;text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:13px}
.cm-help a:hover{color:var(--brand-red)}

.cm-err{
  background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5;
  padding:10px 12px;border-radius:8px;font-size:13px;
  margin-bottom:10px;
}

.cm-pin{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}
.cm-pin input{
  border:1.5px solid var(--line);border-radius:10px;padding:14px 0;
  text-align:center;font-family:'Space Grotesk','JetBrains Mono',monospace;
  font-size:22px;font-weight:700;color:var(--brand-navy);
  background:white;outline:0;transition:all .15s;
  width:100%;
}
.cm-pin input:focus{border-color:var(--brand-navy);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 14%,transparent)}

.cm-resend{font-size:12.5px;color:var(--ink-3);text-align:center;margin-bottom:10px}
.cm-link{appearance:none;background:transparent;border:0;color:var(--brand-navy);font-weight:700;cursor:pointer;font:inherit;text-decoration:underline}
.cm-link:hover{color:var(--brand-red)}

.cm-result{margin-top:-8px}
.cm-result .claim-result-head{padding-bottom:14px;margin-bottom:8px}
.cm-result .claim-actions{flex-direction:column}
.cm-result .claim-actions .btn{width:100%;justify-content:center}



/* ───────── Portals & Systems ───────── */
.portals-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
@media (max-width:1080px){ .portals-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .portals-grid{grid-template-columns:1fr} }

.portal-card{
  display:flex;align-items:center;gap:16px;
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:20px;text-decoration:none;color:var(--ink);
  transition:transform .25s cubic-bezier(.22,.95,.36,1),border-color .25s,box-shadow .25s;
  position:relative;overflow:hidden;
}
.portal-card:hover{transform:translateY(-4px);border-color:var(--brand-navy);box-shadow:0 18px 40px -18px rgba(14,47,90,.22)}

.portal-card--feature{
  grid-column:span 1;
  background:var(--brand-navy);color:white;border-color:var(--brand-navy);
}
.portal-card--feature::before{
  content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 40%,transparent),transparent 65%);
  pointer-events:none;
}
.portal-card--feature:hover{border-color:var(--brand-red);transform:translateY(-4px)}

.portal-ico{
  width:48px;height:48px;border-radius:12px;
  background:color-mix(in srgb,var(--brand-navy) 8%,transparent);color:var(--brand-navy);
  display:grid;place-items:center;flex-shrink:0;
  transition:transform .3s,background .25s;
  position:relative;z-index:2;
}
.portal-ico svg{width:22px;height:22px}
.portal-card:hover .portal-ico{transform:rotate(-8deg) scale(1.08)}
.portal-card--feature .portal-ico{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.2)}
.portal-card--feature:hover .portal-ico{background:var(--brand-red);color:white;border-color:var(--brand-red)}

.portal-body{flex:1;min-width:0;position:relative;z-index:2}
.portal-tag{
  font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  color:var(--ink-3);margin-bottom:4px;
}
.portal-card--feature .portal-tag{color:rgba(255,255,255,.6)}
.portal-card h3{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:18px;letter-spacing:-.015em;line-height:1.05;margin:0 0 4px;
}
.portal-card--feature h3{color:white}
.portal-card p{font-size:12.5px;color:var(--ink-3);line-height:1.4;margin:0;display:none}
.portal-card--feature p{color:rgba(255,255,255,.7);display:block}
@media (min-width:1200px){ .portal-card p{display:block} }

.portal-go{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink-2);flex-shrink:0;
  transition:all .25s;position:relative;z-index:2;
}
.portal-go .arr{width:12px;height:12px;color:currentColor}
.portal-card:hover .portal-go{background:var(--brand-navy);border-color:var(--brand-navy);color:white;transform:rotate(-45deg)}
.portal-card--feature .portal-go{border-color:rgba(255,255,255,.25);color:white}
.portal-card--feature:hover .portal-go{background:var(--brand-red);border-color:var(--brand-red);transform:rotate(-45deg)}



/* ───────── Theme toggle button ───────── */
.theme-toggle{
  appearance:none;background:transparent;border:1px solid var(--line);
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  color:var(--ink);transition:background .2s,border-color .2s,transform .25s;
  position:relative;flex-shrink:0;
}
.theme-toggle:hover{background:var(--line-2);border-color:var(--ink-3);transform:scale(1.06)}
.theme-toggle svg{width:18px;height:18px;position:absolute;transition:opacity .3s ease,transform .3s ease}
.theme-toggle-sun{opacity:0;transform:rotate(90deg) scale(.5)}
.theme-toggle-moon{opacity:1;transform:rotate(0) scale(1)}
:root.theme-dark .theme-toggle-sun,
body.theme-dark .theme-toggle-sun{opacity:1;transform:rotate(0) scale(1)}
:root.theme-dark .theme-toggle-moon,
body.theme-dark .theme-toggle-moon{opacity:0;transform:rotate(-90deg) scale(.5)}
@media (max-width:560px){
  .theme-toggle{width:36px;height:36px}
}

/* Dark-mode specific adjustments */
:root.theme-dark body, body.theme-dark{background:var(--bg)}
:root.theme-dark .logo-img,
body.theme-dark .logo-img{filter:brightness(1.05)}
:root.theme-dark .product.feature,
body.theme-dark .product.feature{background:var(--brand-navy);border-color:var(--brand-navy)}
:root.theme-dark .pay-block,
body.theme-dark .pay-block{background:var(--brand-navy)}
:root.theme-dark footer,
body.theme-dark footer{background:var(--brand-navy);border-top-color:var(--line)}
:root.theme-dark .srv-card,
body.theme-dark .srv-card{background:var(--card)}
:root.theme-dark .srv-icowrap,
body.theme-dark .srv-icowrap{background:rgba(255,255,255,.06);color:var(--ink)}
:root.theme-dark .srv-card--primary,
body.theme-dark .srv-card--primary{background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-2))}
:root.theme-dark .news-img,
body.theme-dark .news-img{background:var(--card)}
:root.theme-dark .qr-card,
body.theme-dark .qr-card{background:var(--card);color:var(--ink)}
:root.theme-dark .qr-svg,
body.theme-dark .qr-svg{background:white}
:root.theme-dark .qr-amt,
body.theme-dark .qr-amt{color:var(--ink)}
:root.theme-dark .rein,
body.theme-dark .rein{background:var(--card)}
:root.theme-dark .rein-cell,
body.theme-dark .rein-cell{background:transparent}
:root.theme-dark .rein-cell:hover,
body.theme-dark .rein-cell:hover{background:var(--bg)}
:root.theme-dark .bf-search,
body.theme-dark .bf-search{background:var(--card);border-color:var(--line)}
:root.theme-dark .bf-item,
body.theme-dark .bf-item{background:var(--card)}
:root.theme-dark .bf-item--on,
body.theme-dark .bf-item--on{background:rgba(52,181,199,.08);border-color:var(--brand-red)}
:root.theme-dark .bf-map path[fill*="rgba(14,47,90"],
body.theme-dark .bf-map path[fill*="rgba(14,47,90"]{fill:rgba(232,238,248,.04);stroke:rgba(232,238,248,.18)}
:root.theme-dark .cm-modal,
body.theme-dark .cm-modal{background:linear-gradient(180deg,#0F1B30 0%,#142847 100%)}:root.theme-dark .cm-card,
body.theme-dark .cm-card{background:var(--card);color:var(--ink)}
:root.theme-dark .cm-form-title,
body.theme-dark .cm-form-title{color:var(--ink)}
:root.theme-dark .cm-input-wrap,
body.theme-dark .cm-input-wrap{background:var(--bg);border-color:var(--line)}
:root.theme-dark .cm-input-wrap input,
body.theme-dark .cm-input-wrap input{color:var(--ink)}
:root.theme-dark .cm-method,
body.theme-dark .cm-method{background:var(--bg);border-color:var(--line);color:var(--ink-2)}
:root.theme-dark .cm-method.is-on,
body.theme-dark .cm-method.is-on{background:var(--brand-red);border-color:var(--brand-red);color:white}
:root.theme-dark .cm-pin input,
body.theme-dark .cm-pin input{background:var(--bg);color:var(--ink);border-color:var(--line)}
:root.theme-dark .claim-detail,
body.theme-dark .claim-detail{background:var(--card)}
:root.theme-dark .claim-detail.is-highlight,
body.theme-dark .claim-detail.is-highlight{background:rgba(52,181,199,.1)}
:root.theme-dark .claim-step-dot,
body.theme-dark .claim-step-dot{background:var(--bg);border-color:var(--line)}
:root.theme-dark .cb-panel,
body.theme-dark .cb-panel{background:var(--card)}
:root.theme-dark .cb-body,
body.theme-dark .cb-body{background:linear-gradient(180deg,var(--bg),#08101A)}
:root.theme-dark .cb-bubble,
body.theme-dark .cb-bubble{background:var(--card);color:var(--ink);border-color:var(--line)}
:root.theme-dark .cb-input,
body.theme-dark .cb-input{background:var(--card);border-top-color:var(--line)}
:root.theme-dark .cb-input input,
body.theme-dark .cb-input input{color:var(--ink)}
:root.theme-dark .cb-typing,
body.theme-dark .cb-typing{background:var(--card);border-color:var(--line)}
:root.theme-dark .portal-card,
body.theme-dark .portal-card{background:var(--card)}
:root.theme-dark .portal-card--feature,
body.theme-dark .portal-card--feature{background:var(--brand-navy)}



/* ───────── Nav dropdowns ───────── */
.nav-links{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
@media (max-width:1320px){ .nav-links{display:none} }
.nav-item{position:relative}
.nav-item > a{white-space:nowrap;color:var(--ink-2);text-decoration:none;font-weight:500;font-size:14.5px;padding:8px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;transition:color .15s,background .15s}
.nav-item > a:hover{color:var(--ink);background:var(--line-2)}
.nav-item > a.is-active{color:var(--brand-red);font-weight:700}
.nav-sub{
  position:absolute;top:100%;left:0;min-width:240px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:8px;box-shadow:0 18px 50px -20px rgba(14,47,90,.3);
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .18s,transform .18s;z-index:30;
  display:flex;flex-direction:column;gap:2px;
  padding-top:12px;
}
.nav-item.has-sub{position:relative}
.nav-item.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:10px;z-index:29}
.nav-item.has-sub:hover .nav-sub, .nav-item.has-sub:focus-within .nav-sub{opacity:1;transform:translateY(0);pointer-events:auto}
.nav-sub a{
  padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink-2);
  font-size:13.5px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:8px;
  transition:background .15s,color .15s;
}
.nav-sub a:hover{background:var(--line-2);color:var(--ink)}

/* ───────── Sub-page hero (slim, for inner pages) ───────── */
.subpage-hero{
  padding:60px 0 40px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;
}
.subpage-hero::before{
  content:"";position:absolute;right:-15%;top:-30%;width:50%;height:140%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand-red) 8%,transparent),transparent 60%);
  pointer-events:none;z-index:-1;
}
.subpage-crumb{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:24px;display:flex;gap:10px;align-items:center;
}
.subpage-crumb a{color:inherit;text-decoration:none}
.subpage-crumb a:hover{color:var(--ink)}
.subpage-crumb::before{content:"";width:22px;height:1px;background:var(--ink-3);display:inline-block}
.subpage-crumb b{color:var(--brand-red);font-weight:500}
.subpage-title{
  font-family:'Lora',Georgia,serif;font-weight:700;
  font-size:clamp(40px,6vw,80px);letter-spacing:-.03em;line-height:.95;margin:0 0 20px;color:var(--ink);
}
.subpage-title em{font-style:italic;color:var(--brand-red);font-family:inherit}
.subpage-lead{font-size:18px;color:var(--ink-2);line-height:1.5;max-width:680px;margin:0}
.subpage-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:end}
@media (max-width:900px){ .subpage-hero-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .subpage-title{font-size:28px !important;line-height:1.1 !important} .subpage-lead{font-size:14px !important} }

/* ───────── Generic content sections ───────── */
.prose{font-size:15px;line-height:1.7;color:var(--ink-2);max-width:720px}
.prose h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:32px;letter-spacing:-.018em;color:var(--ink);margin:48px 0 16px;line-height:1.1}
.prose h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.012em;color:var(--ink);margin:32px 0 10px}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px;padding-left:0;list-style:none}
.prose ul li{padding-left:24px;position:relative;margin-bottom:8px}
.prose ul li::before{content:"";position:absolute;left:0;top:.65em;width:10px;height:10px;background-color:var(--brand-red);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1 L13.5 8.5 L20.5 4.5 L16.5 11.5 L23 12 L16.5 12.5 L20.5 19.5 L13.5 15.5 L12 23 L10.5 15.5 L3.5 19.5 L7.5 12.5 L1 12 L7.5 11.5 L3.5 4.5 L10.5 8.5 Z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1 L13.5 8.5 L20.5 4.5 L16.5 11.5 L23 12 L16.5 12.5 L20.5 19.5 L13.5 15.5 L12 23 L10.5 15.5 L3.5 19.5 L7.5 12.5 L1 12 L7.5 11.5 L3.5 4.5 L10.5 8.5 Z'/></svg>") center/contain no-repeat}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--brand-red);text-decoration:underline;text-underline-offset:3px}

/* ───────── Timeline ───────── */
.timeline{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--line);padding-left:0;margin-left:14px}
.tl-item{position:relative;padding:16px 0 28px 36px}
.tl-item::before{content:"";position:absolute;left:-9px;top:22px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--brand-red);box-shadow:0 0 0 4px var(--bg)}
.tl-year{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:28px;color:var(--brand-red);letter-spacing:-.015em;line-height:1;margin-bottom:6px}
.tl-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}
.tl-desc{font-size:14px;color:var(--ink-2);line-height:1.5;max-width:560px}

/* ───────── Value cards ───────── */
.value-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px;transition:transform .25s,border-color .25s}
.value-card:hover{transform:translateY(-4px);border-color:var(--brand-navy)}
.value-ico{width:48px;height:48px;border-radius:12px;background:color-mix(in srgb,var(--brand-red) 10%,transparent);color:var(--brand-red);display:grid;place-items:center}
.value-ico svg{width:24px;height:24px}
.value-card h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.015em;margin:0;color:var(--ink)}
.value-card p{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0}

/* ───────── Re-asegurador detailed card ───────── */
.reasegs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:780px){ .reasegs{grid-template-columns:1fr} }
.reaseg{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px;transition:border-color .25s,transform .25s}
.reaseg:hover{border-color:var(--brand-navy);transform:translateY(-3px)}
.reaseg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.reaseg-logo{width:120px;height:48px;background:var(--bg);border-radius:8px;display:grid;place-items:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;color:var(--ink-2);letter-spacing:.02em;flex-shrink:0}
.reaseg-rating{font-family:'JetBrains Mono',monospace;font-size:11px;background:var(--brand-red-soft);color:var(--brand-red-2);padding:5px 9px;border-radius:6px;letter-spacing:.04em;font-weight:600}
.reaseg h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;margin:0;color:var(--ink);letter-spacing:-.018em;line-height:1.1}
.reaseg-meta{display:flex;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.reaseg-meta b{color:var(--ink);font-weight:600}
.reaseg-desc{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0;flex:1}


/* ───────── Contact form ───────── */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr} }
.contact-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:14px}
.contact-form-title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:26px;letter-spacing:-.018em;margin:0 0 4px;color:var(--brand-navy)}
.contact-form-sub{font-size:13.5px;color:var(--ink-2);margin:0 0 8px}
.contact-form-submit{align-self:flex-start}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){ .cf-row{grid-template-columns:1fr} }
.cf-field{display:flex;flex-direction:column;gap:6px}
.cf-field label{font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.cf-field input, .cf-field select, .cf-field textarea{
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:14px;
  background:var(--bg);color:var(--ink);transition:border-color .15s,box-shadow .15s;font-family:'Archivo',sans-serif;
}
.cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus{outline:0;border-color:var(--brand-navy);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-navy) 12%,transparent)}
.cf-field textarea{resize:vertical;min-height:100px}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px}
.contact-card h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;margin:0;color:var(--ink)}
.contact-card p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0}
.contact-card a{color:var(--brand-red);text-decoration:none;font-weight:600}
.contact-map-wrap{border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10}
.contact-map-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.office-phone{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--ink-2);text-decoration:none}
.office-phone:hover{color:var(--brand-red)}


/* Documentos oficiales */
.doclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.docgroup{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 28px;display:flex;flex-direction:column;gap:12px}
.docgroup h3{font-family:'Lora',Georgia,serif;font-weight:700;font-size:21px;letter-spacing:-.012em;margin:0;color:var(--brand-navy)}
.docgroup ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.doc-a{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-2);line-height:1.45;transition:color .2s}
.docgroup li:last-child .doc-a{border-bottom:0;padding-bottom:0}
.doc-a:hover{color:var(--brand-red)}
.doc-a::before{content:"\2193";font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--brand-red);flex-shrink:0;margin-top:1px}
.doc-a[data-ext]::before{content:"\2197"}
.doc-a[data-soon]{color:var(--ink-3);pointer-events:none}
.doc-a[data-soon]::before{content:"\00B7";color:var(--ink-3)}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .25s,border-color .25s}
.cat:hover{transform:translateY(-4px);border-color:var(--brand-navy)}
.cat-n{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red)}
.cat h3{font-family:'Lora',Georgia,serif;font-weight:700;font-size:23px;margin:0;color:var(--brand-navy);letter-spacing:-.015em}
.cat p{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0;flex:1}
.cat-go{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.person{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px}
.person-ph{aspect-ratio:1;border-radius:14px;background:var(--bg);border:1px dashed var(--line);display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-3);text-align:center;padding:14px;letter-spacing:.06em;line-height:1.5}
.person-role{font-family:'Lora',Georgia,serif;font-weight:700;font-size:19px;color:var(--brand-navy);margin:0;letter-spacing:-.012em;line-height:1.2}
.person-cv{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}
.person-cv b{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px;font-weight:500}
.offices{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.office{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.office h4{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red);margin:0}
.office-addr{font-size:14px;color:var(--ink);line-height:1.5;margin:0;font-weight:500}
.office-meta{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--ink-2);margin-top:2px}
.office-meta a{color:var(--ink-2);text-decoration:none}
.office-meta a:hover{color:var(--brand-red)}
.office-mgr{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.ratecard{display:grid;grid-template-columns:auto 1fr;gap:0 24px;font-size:14px;max-width:560px}
.ratecard dt{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:12px 0;border-bottom:1px solid var(--line-2)}
.ratecard dd{margin:0;padding:12px 0;color:var(--ink);border-bottom:1px solid var(--line-2)}
.ratecard dd a{color:var(--ink)}
@media(max-width:560px){.ratecard{font-size:13px;gap:0 16px}.ratecard dt{font-size:9.5px;padding:10px 0}.ratecard dd{padding:10px 0}}

/* ── Nosotros: hero side / hitos ── */
.hero-side{border-left:1px solid var(--line);padding-left:28px}
.hero-side h3{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-red);margin:0 0 16px}
.stat{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.stat:last-child{border-bottom:0}
.num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;color:var(--brand-navy);letter-spacing:-.01em;line-height:1}
.lbl{font-size:13px;color:var(--ink-2);line-height:1.3}

/* ── Nosotros: foto wrapper ── */
.nosotros-foto-wrap{border-radius:22px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/6;position:relative;box-shadow:0 8px 32px rgba(0,37,122,.15),0 2px 8px rgba(0,0,0,.08);animation:fadeUp .8s ease both;background:#00257a}
.nosotros-foto-wrap img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.nosotros-foto-wrap:hover img{transform:scale(1.04)}
.nosotros-foto-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,37,122,.6),transparent 55%);display:flex;align-items:flex-end;padding:32px;transition:background .4s ease}
.nosotros-foto-wrap:hover .nosotros-foto-overlay{background:linear-gradient(90deg,rgba(0,37,122,.7),transparent 60%)}
.nosotros-foto-label{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.nosotros-foto-addr{font-family:'Lora',Georgia,serif;font-weight:700;font-size:26px;letter-spacing:-.015em}

/* ── Nosotros: calificacion rating ── */
.cal-rating{font-family:'Lora',Georgia,serif;font-size:34px;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em;margin:0 0 18px}

/* ── Nosotros: grid ── */
.nosotros-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

/* ── Timeline current ── */
.tl-item:last-child::before{background:var(--brand-red);border-color:var(--brand-red)}
.tl-item:last-child .tl-year{color:var(--brand-red)}

/* ── Value cards: 4 cols ── */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){ .value-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .value-grid{grid-template-columns:1fr} }

/* ── Product content & download cards ── */
.prod-content{max-width:820px;margin:0 auto}
.prod-content h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.015em;color:var(--brand-navy);margin:32px 0 12px;line-height:1.2}
.prod-content h3:first-child{margin-top:0}
.prod-content h4{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--brand-navy);margin:24px 0 8px}
.prod-content p{font-size:15px;color:var(--ink-2);line-height:1.6;margin:0 0 12px}
.prod-content ul{padding-left:20px;margin:0 0 12px}
.prod-content li{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin-bottom:6px}
.prod-content li ul{margin-top:6px;margin-bottom:0}
.prod-content em{color:var(--ink-3);font-style:italic}
.prod-content strong{color:var(--ink)}

.auto-downloads{margin-top:40px}
.auto-downloads h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.015em;color:var(--brand-navy);margin:0 0 16px}
.auto-downloads-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:680px){.auto-downloads-grid{grid-template-columns:1fr}}
.auto-dl-card{display:flex;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;transition:transform .25s,border-color .25s}
.auto-dl-card:hover{transform:translateY(-3px);border-color:var(--brand-navy)}
.auto-dl-icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--brand-navy) 8%,transparent);color:var(--brand-navy);display:grid;place-items:center;flex-shrink:0}
.auto-dl-icon svg{width:24px;height:24px}
.auto-dl-icon--alert{background:color-mix(in srgb,var(--brand-red) 10%,transparent);color:var(--brand-red)}
.auto-dl-body{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.auto-dl-body h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.012em;margin:0;color:var(--brand-navy)}
.auto-dl-body p{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0}
.auto-dl-body .btn{align-self:flex-start;margin-top:4px}

/* ── Automóvil cotizar CTA ── */
.auto-cotizar-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px}
.auto-cotizar-btn{padding:18px 32px;font-size:17px;border-radius:14px;gap:12px;box-shadow:0 8px 24px -6px color-mix(in srgb,var(--brand-red) 55%,transparent)}
.auto-cotizar-btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px -8px color-mix(in srgb,var(--brand-red) 70%,transparent)}
.auto-cotizar-note{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--ink-3)}

/* ── Coverage comparison table ── */
.coverage-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.coverage-table{width:100%;border-collapse:collapse;font-size:14px;min-width:700px}
.coverage-table th{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-red);padding:16px 20px;text-align:center;border-bottom:2px solid var(--line);background:var(--bg);position:sticky;top:0}
.coverage-table th:first-child{text-align:left;min-width:280px}
.coverage-table td{padding:14px 20px;border-bottom:1px solid var(--line-2);vertical-align:top;text-align:center}
.coverage-table td:first-child{text-align:left}
.coverage-table tbody tr:last-child td{border-bottom:0}
.coverage-table tbody tr:hover{background:color-mix(in srgb,var(--brand-navy) 4%,transparent)}
@media(max-width:680px){.prod-content h3{font-size:19px}.prod-content h4{font-size:15px}.prod-content p,.prod-content li{font-size:14px}.auto-downloads h3{font-size:19px}.auto-dl-card{flex-direction:column;gap:14px;padding:22px}.auto-dl-icon{width:44px;height:44px;border-radius:12px}.auto-dl-body h4{font-size:15px}.auto-cotizar-btn{padding:14px 24px;font-size:15px}}
.cov-desc{display:block;font-size:12px;color:var(--ink-3);line-height:1.4;margin-top:2px}
.cov-check{color:#166534;font-weight:700;font-size:16px}
.cov-cross{color:var(--ink-3);font-size:14px;opacity:.4}
.cov-val{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--brand-navy);font-weight:600}
.cov-note{display:block;font-size:11px;color:var(--ink-3);margin-top:2px}

/* ── Skip navigation link ── */
.skip-link{
  position:absolute;top:-100px;left:16px;z-index:99999;
  background:var(--brand-navy);color:#fff;padding:10px 18px;border-radius:8px;
  font-size:14px;font-weight:600;text-decoration:none;transition:top .2s;
}
.skip-link:focus{top:16px}

/* ── Próximamente placeholder ── */
.proximamente{
  font-size:14px;color:var(--ink-3);line-height:1.6;
  padding:16px 20px;background:var(--bg);border:1px dashed var(--line);border-radius:12px;
}

/* ── Disabled doc link ── */
.doc-a--soon{opacity:.45;pointer-events:none;cursor:default}

/* ── Nosotros responsive ── */
@media(max-width:780px){
  .nosotros-grid{grid-template-columns:1fr}
  .nosotros-foto-addr{font-size:19px}
}
@media(max-width:560px){
  .nosotros-foto-wrap{aspect-ratio:16/9;border-radius:16px}
  .nosotros-foto-overlay{padding:20px}
  .nosotros-foto-label{font-size:10px}
  .nosotros-foto-addr{font-size:16px}
  .timeline{margin-left:8px;padding-left:0}
  .tl-item{padding:12px 0 20px 28px}
  .tl-item::before{width:12px;height:12px;left:-7px;top:18px}
}

/* ── Page CTA block (shared across sub-pages) ── */
.page-cta{text-align:center;padding:40px 32px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.page-cta h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:28px;letter-spacing:-.018em;margin:0 0 8px;color:var(--brand-navy)}
.page-cta p{font-size:14.5px;color:var(--ink-2);margin:0 auto 22px;max-width:560px;line-height:1.55}

/* ── Reinsurers backing text ── */
.rein-title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:36px;letter-spacing:-.02em;color:var(--brand-navy);margin:0 0 16px;line-height:1.1}
.rein-desc{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0}

/* ══════════════════════════════════════════
   NÓMINAS — Complete page styles
   ══════════════════════════════════════════ */

/* ── Section container ── */
.nom-section{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px;position:relative;overflow:hidden}
.nom-section::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-navy),var(--brand-teal))}

/* ── Section header: icon + title + line ── */
.nom-section-head{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.nom-section-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--brand-navy),#1a3a8a);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,27,113,.2)}
.nom-section-icon svg{width:22px;height:22px;color:#fff}
.nom-section-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0 0 0;color:var(--brand-navy);line-height:1.15}
.nom-section-line{height:3px;width:40px;border-radius:2px;background:linear-gradient(90deg,var(--brand-navy),var(--brand-teal));margin-top:6px}

/* ── Grid rows ── */
.nom-row{display:grid;gap:20px}
.nom-row--3{grid-template-columns:repeat(3,1fr)}
.nom-row--4{grid-template-columns:repeat(4,1fr)}
.nom-row--5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1024px){.nom-row--4,.nom-row--5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.nom-row--3,.nom-row--4,.nom-row--5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.nom-row--3,.nom-row--4,.nom-row--5{grid-template-columns:1fr}}

/* ── Person card ── */
.nom-person{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 16px 24px;border-radius:16px;background:var(--bg);border:1px solid var(--line);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}
.nom-person:hover{border-color:var(--brand-teal);box-shadow:0 8px 32px rgba(0,183,159,.1);transform:translateY(-4px)}

/* ── Avatar ── */
.nom-avatar{width:76px;height:76px;border-radius:50%;background:var(--av-bg,#001b71);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:#fff;letter-spacing:.03em;margin-bottom:16px;box-shadow:0 6px 20px rgba(0,27,113,.18);transition:transform .3s,box-shadow .3s}
.nom-person:hover .nom-avatar{transform:scale(1.08);box-shadow:0 8px 28px rgba(0,27,113,.25)}
.nom-avatar--lg{width:88px;height:88px;font-size:26px}

/* ── Name + role ── */
.nom-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;color:var(--brand-navy);letter-spacing:-.01em;margin:0 0 4px;line-height:1.25}
.nom-role{font-size:13px;color:var(--teal);font-weight:600;margin:0;letter-spacing:.01em}

/* ── Bio (hover reveal) ── */
.nom-bio{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);text-align:left;max-height:0;overflow:hidden;opacity:0;transition:all .35s cubic-bezier(.4,0,.2,1)}
.nom-person--cv:hover .nom-bio{max-height:120px;opacity:1}

/* ── "Personas con poder" authority list ── */
.nom-authority{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:640px){.nom-authority{grid-template-columns:1fr}}
.nom-auth-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;background:var(--bg);border:1px solid var(--line);transition:all .25s}
.nom-auth-item:hover{border-color:var(--brand-teal);box-shadow:0 4px 16px rgba(0,183,159,.08);transform:translateY(-1px)}
.nom-auth-av{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--av-bg,#001b71);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;color:#fff;letter-spacing:.02em}
.nom-auth-info{display:flex;flex-direction:column;min-width:0}
.nom-auth-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;color:var(--brand-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nom-auth-role{font-size:12px;color:var(--teal);font-weight:500}

/* ── Download buttons ── */
.nom-downloads{display:flex;gap:16px;justify-content:center;padding:48px 32px;background:linear-gradient(135deg,#eef4ff,#f0f9f7);border-radius:20px;border:1px solid var(--line)}
.nom-dl-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:40px;background:linear-gradient(135deg,var(--brand-navy),#1a3a8a);color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;letter-spacing:-.01em;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(0,27,113,.2)}
.nom-dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,27,113,.3);background:linear-gradient(135deg,#001260,var(--brand-navy))}
.nom-dl-btn svg{flex-shrink:0;opacity:.85}
@media(max-width:520px){.nom-downloads{flex-direction:column;align-items:center}}
@media(max-width:640px){.nom-section{padding:24px 18px}}
@media(max-width:560px){.nom-section-head{flex-direction:column;align-items:flex-start;gap:10px}.nom-section-title{font-size:20px}.nom-person{padding:22px 14px 20px}.nom-avatar{width:64px;height:64px;font-size:18px}.nom-avatar--lg{width:72px;height:72px;font-size:22px}.nom-name{font-size:14px}.nom-auth-item{padding:12px 14px;gap:10px}.nom-auth-av{width:38px;height:38px;font-size:12px}.nom-auth-name{font-size:13px}}

/* ── Job form ── */
.job-form-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.018em;margin:0 0 4px;color:var(--ink)}
.job-form-sub{font-size:13.5px;color:var(--ink-2);margin:0 0 8px}

/* ══════════════════════════════════════════
   BLOG POST — Individual article page
   ══════════════════════════════════════════ */

.blog-post{max-width:860px;margin:0 auto;padding:0 24px 60px}
.blog-post-header{margin-bottom:28px}
.blog-post-title{font-family:'Lora',Georgia,serif;font-weight:700;font-size:clamp(28px,4vw,42px);letter-spacing:-.022em;line-height:1.1;margin:12px 0 0;color:var(--brand-navy)}
.blog-post-hero{border-radius:20px;overflow:hidden;border:1px solid var(--line);margin-bottom:36px;box-shadow:0 6px 24px rgba(0,37,122,.1)}
.blog-post-hero img{width:100%;height:auto;display:block;object-fit:cover}
.blog-post-body{font-size:16px;color:var(--ink-2);line-height:1.7}
.blog-post-body p{margin:0 0 18px}
.blog-post-body ul{padding-left:24px;margin:0 0 18px}
.blog-post-body li{margin-bottom:8px;line-height:1.6}
.blog-post-body strong{color:var(--ink)}
.blog-post-cta{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:680px){.blog-post{padding:0 16px 40px}.blog-post-title{font-size:26px}.blog-post-body{font-size:15px}}


/* ══════════════════════════════════════════
   MOBILE RESPONSIVENESS OVERHAUL
   ══════════════════════════════════════════ */

/* ── 720px: Tablet — tighter spacing ── */
@media(max-width:720px){
  .hero{padding:40px 0 24px}
  .hero h1{font-size:clamp(32px,8vw,52px);margin-bottom:20px}
  .hero-sub{font-size:16px;margin-bottom:24px}
  .hero-cta{margin-bottom:32px;gap:10px}
  .hero-cta .btn{padding:13px 18px;font-size:13.5px}
  .hero-art{min-height:280px}
  .shield{width:200px}
  .orbit-1{width:260px;height:260px}
  .orbit-2{width:340px;height:340px}
  .float-card{padding:8px 12px;border-radius:12px}
  .float-card .fc-ico{width:28px;height:28px;border-radius:7px}
  .float-card .fc-ico svg{width:14px;height:14px}
  .float-card .fc-t{font-size:13px}
  .float-card .fc-s{font-size:9px}

  section.block{padding:56px 0}
  .block-head{margin-bottom:28px}
  .block-title{font-size:clamp(26px,5.5vw,38px)}
  .block-desc{max-width:100%}

  .srv-card{padding:24px;min-height:280px;border-radius:18px}
  .srv-card h3{font-size:24px}
  .srv-card p{font-size:13px}

  .pay-block{padding:32px;gap:32px;border-radius:20px}
  .pay-block h2{font-size:clamp(26px,5.5vw,40px)}
  .pay-block p{font-size:14px}
  .pay-steps{gap:10px}
  .pay-step{font-size:13px}
  .qr-svg{width:160px;height:210px}

  .portals-grid{gap:12px}
  .portal-card{padding:20px;border-radius:16px}
  .portal-card h3{font-size:17px}
  .portal-card p{font-size:12.5px}

  .rein{padding:40px 0}
  .rein-cell{padding:20px;min-height:90px}

  footer{padding:56px 0 24px}
  .foot-brand h3{font-size:28px}
  .foot-col a{font-size:13px}
  .foot-bot{margin-top:40px}

  .contact-grid{gap:24px}
  .contact-form{padding:24px;border-radius:16px}
  .contact-card{padding:20px;border-radius:14px}

  .subpage-title{font-size:clamp(24px,7vw,38px)}
  .subpage-lead{font-size:15px}

  .news-mini-body{padding:12px 13px 14px}
  .news-mini-body h4{font-size:13.5px}
  .news-mini-date{font-size:9px}

  .blog-grid{gap:16px}
  .blog-grid .news-img{width:100%;aspect-ratio:16/10}

  .nom-section{padding:24px 18px}
  .nom-row--3,.nom-row--4,.nom-row--5{gap:14px}

  .prod-content{padding:0 4px}
  .prod-content h3{font-size:20px;margin:24px 0 10px}
  .prod-content h4{font-size:16px}
  .prod-content p{font-size:14px}
  .prod-content li{font-size:13.5px}

  .auto-downloads{margin-top:28px}
  .auto-dl-card{padding:20px;border-radius:14px}

  .coverage-table{font-size:13px}
  .coverage-table th{padding:12px 14px;font-size:10px}
  .coverage-table td{padding:10px 14px}

  .doclist{gap:12px}
  .docgroup{padding:20px 22px;border-radius:14px}

  .offices{gap:12px}
  .office{padding:18px 20px;border-radius:14px}
}

/* ── 560px: Small tablet / large phone ── */
@media(max-width:560px){
  .hero{padding:28px 0 20px}
  .hero h1{font-size:clamp(28px,8.5vw,42px);margin-bottom:16px;line-height:1.08}
  .hero-sub{font-size:14.5px;margin-bottom:20px}
  .hero-cta{flex-direction:column;gap:10px;margin-bottom:24px}
  .hero-cta .btn{width:100%;justify-content:center;padding:14px 18px}
  .hero-art{min-height:220px}
  .shield{width:160px}
  .orbit-1{width:200px;height:200px}
  .orbit-2{width:260px;height:260px}
  .float-card{display:none}

  .trust{gap:14px}
  .trust-num{font-size:32px}
  .trust-lbl{font-size:11px}

  .marquee span{font-size:11px;gap:36px}

  section.block{padding:44px 0}
  .block-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}
  .block-title{font-size:clamp(22px,6vw,32px)}
  .block--tight{padding-top:28px}

  .actions{gap:12px}
  .action{padding:20px;min-height:200px;border-radius:14px}
  .action h4{font-size:18px}
  .action p{font-size:12px}
  .ani-illustration{height:60px;margin:4px 0 14px}

  .products{gap:12px}
  .product{padding:22px;border-radius:18px;min-height:auto}
  .product.feature{min-height:auto}
  .product h3{font-size:clamp(24px,6vw,34px);margin:18px 0 10px}
  .product.feature h3{font-size:clamp(28px,7vw,42px)}
  .product p{font-size:13px;margin-bottom:18px}
  .product-cov{gap:4px;margin-bottom:18px}
  .product-cov span{font-size:12px}

  .pay-block{padding:24px 20px;gap:28px}
  .pay-block h2{font-size:clamp(22px,6.5vw,34px);margin-bottom:14px}
  .pay-block p{font-size:13px;margin-bottom:20px}
  .pay-step{font-size:12.5px;gap:10px}
  .pay-step b{font-size:10px;padding:3px 6px}
  .qr-card{padding:18px;border-radius:16px}
  .qr-svg{width:140px;height:180px}
  .qr-amt{font-size:20px}
  .qr-cap{font-size:9px}

  .news-grid{gap:14px}
  .news-mini{border-radius:14px}
  .news-mini-img{aspect-ratio:16/9}

  .blog-grid{gap:14px}
  .blog-grid .news-card{border-radius:14px}
  .blog-grid .news-img{aspect-ratio:16/9}

  .area-cta{padding:24px 20px;border-radius:16px}
  .area-cta h2{font-size:22px !important}
  .area-list a{font-size:18px;padding:14px 0}

  .rein-grid{gap:32px}
  .rein-logos{grid-template-columns:repeat(2,1fr)}
  .rein-cell{padding:16px;min-height:80px}
  .rein-cell img{max-width:100px !important;max-height:40px !important}

  .portals-grid{grid-template-columns:1fr;gap:10px}
  .portal-card{padding:16px;border-radius:14px}

  .value-grid{gap:12px}
  .catgrid{gap:12px}
  .cat{padding:20px;border-radius:14px}
  .people{gap:12px}
  .person{padding:18px;border-radius:14px}

  .nom-downloads{padding:32px 20px;border-radius:16px}
  .nom-dl-btn{padding:14px 28px;font-size:14px;border-radius:32px}

  .srv-card{padding:20px;min-height:240px;border-radius:16px}
  .srv-card h3{font-size:22px}
  .srv-card p{font-size:12.5px}
  .srv-icowrap{width:44px;height:44px;border-radius:12px}
  .srv-icowrap svg{width:22px;height:22px}

  .claim-card{padding:20px;border-radius:16px}
  .claim-details{border-radius:10px}
  .claim-detail{padding:12px 14px}
  .claim-detail-val{font-size:14px}
  .claim-detail.is-highlight .claim-detail-val{font-size:15px}

  .branches-grid{gap:16px}
  .bf-list-col{padding:16px;border-radius:16px;max-height:500px}
  .bf-detail{padding:20px;border-radius:16px}

  .blog-post{padding:0 14px 32px}
  .blog-post-title{font-size:clamp(22px,6vw,32px)}
  .blog-post-hero{border-radius:14px;margin-bottom:24px}
  .blog-post-body{font-size:14.5px;line-height:1.65}
  .blog-post-body p{margin-bottom:14px}

  .contact-form{padding:20px}
  .contact-form-title{font-size:22px}
  .cf-field label{font-size:10px}
  .cf-field input,.cf-field select,.cf-field textarea{padding:14px 14px;font-size:16px}
  .contact-map-wrap{border-radius:14px}

  .doclist{grid-template-columns:1fr}
  .offices{grid-template-columns:1fr}
  .office{padding:16px 18px}

  .auto-downloads-grid{gap:12px}
  .auto-dl-card{padding:18px;border-radius:14px}
  .auto-dl-icon{width:40px;height:40px;border-radius:10px}
  .auto-dl-icon svg{width:20px;height:20px}
  .auto-dl-body h4{font-size:14px}
  .auto-dl-body p{font-size:12.5px}
  .auto-cotizar-btn{padding:12px 20px;font-size:14px}

  .coverage-table-wrap{border-radius:14px}
  .coverage-table{min-width:560px;font-size:12px}
  .coverage-table th{padding:10px 12px;font-size:9px}
  .coverage-table td{padding:8px 12px;font-size:12px}

  .page-cta{padding:28px 20px;border-radius:16px}
  .page-cta h3{font-size:22px}

  .cm-modal{padding:24px 20px 24px}
  .cm-title{font-size:26px}
  .cm-steps{gap:8px}
  .cm-step{min-width:70px}
  .cm-step-dot{width:34px;height:34px;font-size:13px}
  .cm-step-line{flex:0 0 30px}
  .cm-methods{grid-template-columns:1fr;gap:6px}
}

/* ── 480px: Phone — maximum density ── */
@media(max-width:480px){
  .hero{padding:20px 0 16px}
  .hero h1{font-size:clamp(24px,9vw,36px);margin-bottom:14px}
  .hero-sub{font-size:13.5px;margin-bottom:16px;line-height:1.45}
  .hero-cta .btn{padding:13px 16px;font-size:13px}
  .hero-art{min-height:180px}
  .shield{width:130px}
  .orbit-1{width:170px;height:170px}
  .orbit-2{width:220px;height:220px}

  .trust-num{font-size:28px}
  .trust-num small{font-size:14px}

  section.block{padding:36px 0}
  .block-title{font-size:clamp(20px,6.5vw,28px)}
  .block-kicker{font-size:10.5px;margin-bottom:10px}
  .block--tight{padding-top:24px}

  .actions{gap:10px}
  .action{padding:18px;min-height:180px;border-radius:12px}
  .action-num{font-size:9.5px}
  .action h4{font-size:16px;margin-bottom:4px}
  .action p{font-size:11.5px}
  .arrow-go{width:30px;height:30px;right:14px;bottom:14px}
  .arrow-go .arr{width:10px;height:10px}

  .product h3{font-size:clamp(22px,7vw,30px)}
  .product.feature h3{font-size:clamp(24px,8vw,36px)}
  .product p{font-size:12.5px}
  .product-cov span{font-size:11.5px;gap:6px}
  .product .link{font-size:12.5px}

  .pay-block{padding:20px 16px;border-radius:16px;gap:24px}
  .pay-block h2{font-size:clamp(20px,7vw,28px);margin-bottom:12px}
  .pay-step{font-size:12px;gap:8px}
  .pay-step b{font-size:9px;padding:3px 5px}
  .qr-card{padding:14px}
  .qr-svg{width:120px;height:160px}
  .qr-amt{font-size:18px}

  .area-cta{padding:20px 16px}
  .area-cta h2{font-size:20px !important}
  .area-list a{font-size:16px;padding:12px 0}

  .rein-cell{padding:14px;min-height:70px}
  .rein-cell img{max-width:80px !important;max-height:34px !important}

  .contact-form{padding:18px 16px}
  .contact-form-title{font-size:20px}
  .cf-row{gap:10px}
  .cf-field input,.cf-field select,.cf-field textarea{padding:16px 14px;font-size:16px;border-radius:12px}
  .contact-card{padding:16px}
  .contact-card h4{font-size:15px}

  .offices{gap:10px}
  .office{padding:14px 16px;border-radius:12px}
  .office h4{font-size:10.5px}
  .office-addr{font-size:13px}

  .srv-card{padding:18px;min-height:220px;border-radius:14px}
  .srv-card h3{font-size:20px}
  .srv-tag{font-size:10px}
  .srv-body{gap:8px}

  .nom-person{padding:18px 12px 16px}
  .nom-avatar{width:56px;height:56px;font-size:16px}
  .nom-avatar--lg{width:64px;height:64px;font-size:18px}
  .nom-name{font-size:13px}
  .nom-role{font-size:11.5px}
  .nom-section-title{font-size:18px}
  .nom-section-head{gap:10px;margin-bottom:20px}

  .bf-list-col{padding:14px;max-height:400px}
  .bf-search{padding:8px 10px}
  .bf-chip{font-size:11px;padding:5px 8px}
  .bf-item{padding:12px}
  .bf-item-name{font-size:14px}
  .bf-detail{padding:16px}
  .bf-detail-name{font-size:18px}

  .blog-post{padding:0 12px 28px}
  .blog-post-title{font-size:clamp(20px,6.5vw,28px)}
  .blog-post-body{font-size:14px}

  .claim-form{gap:10px}
  .claim-field input{padding:12px 14px;font-size:14px}
  .claim-step-label{font-size:12.5px}
  .claim-step-desc{font-size:10.5px}

  .news-mini-body h4{font-size:13px}
  .news-mini-link{font-size:11px}

  .qrp-modal{padding:28px 20px 24px}
  .qrp-title{font-size:22px}
  .qrp-sub{font-size:13px}
  .qrp-card img{width:180px}

  .onb-modal{padding:32px 20px 28px}
  .onb-title{font-size:22px}
  .onb-card{padding:14px;border-radius:12px}
  .onb-card b{font-size:14px}
  .onb-card span{font-size:12px}
  .onb-ico{width:32px;height:32px;border-radius:8px}
  .onb-ico svg{width:16px;height:16px}

  .auto-dl-card{flex-direction:column;gap:12px;padding:16px}
  .auto-dl-icon{width:36px;height:36px;border-radius:10px}
  .auto-cotizar-btn{padding:12px 18px;font-size:13px;border-radius:12px}

  .coverage-table{min-width:480px}
  .coverage-table th,.coverage-table td{padding:8px 10px}

  .mobile-menu{width:min(280px,85vw);padding:72px 20px 24px}
  .mobile-menu>a{padding:14px 4px;font-size:16px}
  .mobile-menu .mm-group>a{padding:10px 4px;font-size:15px}
  .mobile-menu .mm-group>span{font-size:10px}

  .cb-panel{right:6px;left:6px;bottom:76px;height:calc(100vh - 88px)}
  .cb-fab{right:14px;bottom:14px;width:52px;height:52px}

  .util-inner{padding:8px 16px}
  .util-left{gap:12px}
  .util-right{gap:10px}
  .util-right a{font-size:11px}
  .lang{gap:1px}
  .lang button{padding:3px 6px;font-size:10px}

  .nav-inner{padding:12px 16px}
  .logo-img{height:42px}

  .foot-brand h3{font-size:24px;margin:16px 0 12px}
  .foot-brand p{font-size:13px}
  .foot-col h5{font-size:10px;margin-bottom:12px}
  .foot-col ul{gap:8px}
  .foot-col a{font-size:12.5px}
  .foot-bot{font-size:11px;flex-direction:column;text-align:center}

  .nosotros-foto-wrap{aspect-ratio:16/9;border-radius:12px}
  .nosotros-foto-addr{font-size:15px}
  .nosotros-foto-label{font-size:9px}
  .nosotros-foto-overlay{padding:14px}
  .tl-item{padding:10px 0 16px 24px}
  .tl-item::before{width:10px;height:10px;left:-6px;top:16px}

  .hero-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
  .num{font-size:20px}

  .cal-rating{font-size:28px}

  .nom-downloads{flex-direction:column;padding:24px 16px}
  .nom-dl-btn{width:100%;justify-content:center}

  .doc-a{font-size:13px;padding:8px 0}

  .ratecard{font-size:12px;gap:0 12px}
  .ratecard dt{font-size:9px;padding:8px 0}
  .ratecard dd{font-size:12px;padding:8px 0}
}

/* ── Welcome modal ── */
.welcome-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(10,26,38,.65);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;
  padding:20px;
}
.welcome-overlay.is-open{opacity:1;visibility:visible}
.welcome-modal{
  background:var(--card);border-radius:22px;
  max-width:680px;width:100%;padding:40px 36px 32px;
  position:relative;text-align:center;
  box-shadow:0 32px 80px -20px rgba(10,26,38,.45);
  transform:translateY(24px) scale(.97);transition:transform .4s cubic-bezier(.22,.95,.36,1);
}
.welcome-overlay.is-open .welcome-modal{transform:translateY(0) scale(1)}
.welcome-close{
  position:absolute;top:14px;right:18px;
  background:none;border:none;font-size:28px;color:var(--ink-3);cursor:pointer;
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s;
}
.welcome-close:hover{background:var(--line);color:var(--ink)}
.welcome-logo{height:72px;width:auto;margin-bottom:16px}
.welcome-head h2{font-family:'Lora',Georgia,serif;font-size:28px;font-weight:700;margin:0 0 6px;letter-spacing:-.02em;line-height:1.15}
.welcome-head h2 em{font-style:normal;color:var(--brand-red)}
.welcome-sub{font-size:17px;font-weight:600;color:var(--ink);margin:0 0 4px}
.welcome-desc{font-size:14px;color:var(--ink-3);margin:0 0 28px}
.welcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px}
.welcome-card{
  background:var(--bg);border:1px solid var(--line);border-radius:14px;
  padding:20px 18px;text-align:left;text-decoration:none;color:var(--ink);
  position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.welcome-card:hover{border-color:var(--brand-navy);box-shadow:0 8px 24px -8px rgba(10,26,38,.18);transform:translateY(-3px)}
.welcome-num{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  color:var(--brand-red);letter-spacing:.06em;display:block;margin-bottom:8px;
}
.welcome-card h3{font-family:'Lora',Georgia,serif;font-size:16px;font-weight:700;margin:0 0 4px;line-height:1.2}
.welcome-card p{font-size:12.5px;color:var(--ink-3);margin:0;line-height:1.35}
.welcome-ico{
  position:absolute;right:14px;bottom:14px;width:36px;height:36px;opacity:.2;
  transition:opacity .25s,transform .25s;
}
.welcome-card:hover .welcome-ico{opacity:.45;transform:scale(1.1)}
.welcome-dismiss{
  display:inline-flex;align-items:center;gap:8px;
  background:none;border:1px solid var(--line);border-radius:40px;
  padding:12px 28px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.welcome-dismiss:hover{border-color:var(--brand-navy);background:var(--bg);box-shadow:0 4px 16px -4px rgba(10,26,38,.12)}
.welcome-dismiss .arr{display:inline-block;width:14px;height:14px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-left:2px}
@media(max-width:560px){
  .welcome-modal{padding:28px 20px 24px;border-radius:18px}
  .welcome-grid{grid-template-columns:1fr}
  .welcome-head h2{font-size:22px}
  .welcome-card{padding:16px 14px}
  .welcome-logo{height:56px}
}

/* ── QR modal ── */
.qr-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(10,26,38,.7);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:20px;
}
.qr-overlay.is-open{opacity:1;visibility:visible}
.qr-modal{
  background:#fff;border-radius:18px;padding:32px 28px 28px;text-align:center;
  max-width:320px;width:100%;position:relative;
  box-shadow:0 24px 60px -12px rgba(10,26,38,.4);
  transform:translateY(16px) scale(.96);transition:transform .35s cubic-bezier(.22,.95,.36,1);
}
.qr-overlay.is-open .qr-modal{transform:translateY(0) scale(1)}
.qr-close{
  position:absolute;top:10px;right:14px;background:none;border:none;
  font-size:26px;color:var(--ink-3);cursor:pointer;width:32px;height:32px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.qr-close:hover{background:var(--line)}
.qr-img{
  width:180px;height:180px;object-fit:contain;margin:0 auto 16px;
  border:2px solid var(--line);border-radius:12px;padding:8px;display:block;
  box-shadow:0 2px 10px rgba(10,26,38,.08);
}
.qr-modal h3{font-family:'Lora',Georgia,serif;font-size:18px;font-weight:700;margin:0 0 4px}
.qr-modal p{font-size:13px;color:var(--ink-3);margin:0}

/* ── Talleres ── */
.tl-wrap{display:grid;grid-template-columns:380px 1fr;gap:24px;height:600px}
.tl-sidebar{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;overflow:hidden}
.tl-label{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}
.tl-select{width:100%;padding:12px 16px;border:1.5px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;background:var(--bg);color:var(--ink);cursor:pointer;transition:border-color .2s}
.tl-select:focus{outline:none;border-color:var(--brand-navy)}
.tl-count{font-size:13px;color:var(--ink-3);font-weight:500}
.tl-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}
.tl-list::-webkit-scrollbar{width:5px}
.tl-list::-webkit-scrollbar-thumb{background:var(--brand-navy);border-radius:10px}
.tl-card{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:all .25s}
.tl-card:hover,.tl-card.is-active{border-color:var(--brand-navy);box-shadow:0 4px 16px -4px rgba(10,26,38,.12)}
.tl-card.is-active{border-left:3px solid var(--brand-red)}
.tl-card h4{font-size:15px;font-weight:700;margin:0 0 8px;color:var(--ink);line-height:1.2}
.tl-card p{font-size:13px;color:var(--ink-3);margin:0 0 5px;display:flex;align-items:flex-start;gap:8px;line-height:1.35;word-break:break-word}
.tl-card p svg{flex-shrink:0;color:var(--brand-navy);margin-top:2px}
.tl-map-wrap{border-radius:16px;overflow:hidden;border:1.5px solid var(--line);min-height:520px}
.tl-map{width:100%;height:520px}
.tl-marker{background:none;border:none}
.tl-select-wrap{display:flex;flex-direction:column;gap:6px}

/* ── Talleres: responsivo ── */
@media(max-width:1180px){
  .tl-wrap{grid-template-columns:minmax(280px,330px) 1fr;height:560px}
  .tl-sidebar{padding:18px}
}
@media(max-width:920px){
  .tl-wrap{grid-template-columns:1fr;height:auto;gap:14px}
  .tl-sidebar{display:contents;padding:0;border:0;background:none;border-radius:0;overflow:visible}
  .tl-select-wrap{order:1}
  .tl-count{order:2;margin-left:2px}
  .tl-map-wrap{order:3;min-height:0}
  .tl-map{height:clamp(300px,58vw,420px)}
  .tl-list{order:4;max-height:min(520px,65vh);padding-right:2px;overscroll-behavior:contain}
  .tl-card{padding:14px 15px;background:var(--card)}
}
@media(max-width:480px){
  .tl-map{height:min(78vw,340px)}
  .tl-label{font-size:11.5px}
  .tl-select{padding:11px 13px;font-size:13.5px}
  .tl-count{font-size:12px}
  .tl-list{gap:8px;max-height:min(480px,62vh)}
  .tl-card{padding:13px 14px;border-radius:10px}
  .tl-card h4{font-size:14px}
  .tl-card p{font-size:12.5px}
}

/* ── Política de Privacidad ── */
.priv-content{max-width:820px;margin:0 auto}
.priv-intro{margin-bottom:32px}
.priv-intro p{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 14px}
.priv-section{margin-bottom:28px}
.priv-section h3{font-family:'Lora',Georgia,serif;font-size:20px;font-weight:700;color:var(--ink);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.priv-section p{font-size:14.5px;line-height:1.7;color:var(--ink);margin:0 0 10px}
.priv-section ul{margin:8px 0 14px 20px;padding:0}
.priv-section li{font-size:14px;line-height:1.6;color:var(--ink);margin-bottom:6px}
.priv-section li strong{color:var(--ink)}
.priv-section a{color:var(--brand-navy);text-decoration:underline;text-underline-offset:2px}

/* ═══════════════════════════════════════════════════════════════
   BOTMARKER WIDGET — AESA Brand Overrides
   ═══════════════════════════════════════════════════════════════ */

/* ── Floating button (opener) ── */
#bm-widget .bm-opener,
#bm-widget button[aria-label*="chat"],
#bm-widget button[aria-label*="Chat"],
#bm-widget .bm-opener-btn{
  background:var(--brand-navy) !important;
  border-radius:50% !important;
  width:60px !important;
  height:60px !important;
  box-shadow:0 8px 24px -4px rgba(0,37,122,.35) !important;
  transition:transform .25s cubic-bezier(.22,.95,.36,1),box-shadow .25s !important;
}
#bm-widget .bm-opener:hover,
#bm-widget button[aria-label*="chat"]:hover,
#bm-widget button[aria-label*="Chat"]:hover,
#bm-widget .bm-opener-btn:hover{
  transform:scale(1.08) !important;
  box-shadow:0 12px 32px -4px rgba(0,37,122,.45) !important;
}
#bm-widget .bm-opener svg,
#bm-widget .bm-opener-btn svg{
  fill:white !important;
  color:white !important;
}

/* ── Chat panel ── */
#bm-widget .bm-panel,
#bm-widget .bm-chat{
  border-radius:16px !important;
  overflow:hidden !important;
  border:none !important;
  box-shadow:0 20px 60px -12px rgba(0,37,122,.25),0 0 0 1px rgba(0,37,122,.08) !important;
  font-family:'Manrope',sans-serif !important;
  width:380px !important;
  max-width:calc(100vw - 32px) !important;
}
@media(max-width:480px){
  #bm-widget .bm-panel,
  #bm-widget .bm-chat{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    border-radius:0 !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
  }
}

/* ── Header ── */
#bm-widget .bm-header,
#bm-widget .bm-chat-header{
  background:var(--brand-navy) !important;
  color:white !important;
  padding:16px 20px !important;
  font-family:'Space Grotesk',sans-serif !important;
}
#bm-widget .bm-header h3,
#bm-widget .bm-header span,
#bm-widget .bm-chat-header h3,
#bm-widget .bm-chat-header span{
  color:white !important;
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}
#bm-widget .bm-header .bm-close,
#bm-widget .bm-chat-header .bm-close{
  color:rgba(255,255,255,.7) !important;
}
#bm-widget .bm-header .bm-close:hover,
#bm-widget .bm-chat-header .bm-close:hover{
  color:white !important;
}

/* ── Body / Messages area ── */
#bm-widget .bm-body,
#bm-widget .bm-chat-body,
#bm-widget .bm-messages{
  background:var(--bg) !important;
  font-family:'Manrope',sans-serif !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:var(--ink) !important;
  padding:16px !important;
}

/* ── Bot messages ── */
#bm-widget .bm-message,
#bm-widget .bm-bot-message,
#bm-widget .bm-msg--bot{
  background:var(--card) !important;
  color:var(--ink) !important;
  border:1px solid var(--line) !important;
  border-radius:14px 14px 14px 4px !important;
  padding:12px 16px !important;
  margin-bottom:10px !important;
  max-width:85% !important;
  font-family:'Manrope',sans-serif !important;
  box-shadow:0 2px 8px -2px rgba(0,37,122,.06) !important;
}

/* ── User messages ── */
#bm-widget .bm-user-message,
#bm-widget .bm-msg--user{
  background:var(--brand-navy) !important;
  color:white !important;
  border:none !important;
  border-radius:14px 14px 4px 14px !important;
  padding:12px 16px !important;
  margin-bottom:10px !important;
  max-width:85% !important;
  margin-left:auto !important;
  font-family:'Manrope',sans-serif !important;
}

/* ── Quick replies / chips ── */
#bm-widget .bm-quickreply,
#bm-widget .bm-chip,
#bm-widget button.bm-quickreply{
  background:var(--card) !important;
  color:var(--brand-navy) !important;
  border:1px solid var(--brand-navy) !important;
  border-radius:999px !important;
  padding:8px 18px !important;
  font-family:'Manrope',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .2s ease !important;
}
#bm-widget .bm-quickreply:hover,
#bm-widget .bm-chip:hover,
#bm-widget button.bm-quickreply:hover{
  background:var(--brand-navy) !important;
  color:white !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 12px -2px rgba(0,37,122,.25) !important;
}

/* ── Input area ── */
#bm-widget .bm-footer,
#bm-widget .bm-chat-footer,
#bm-widget .bm-input-area{
  background:var(--card) !important;
  border-top:1px solid var(--line) !important;
  padding:12px 16px !important;
}
#bm-widget .bm-footer input,
#bm-widget .bm-footer textarea,
#bm-widget .bm-chat-footer input,
#bm-widget .bm-input-area input,
#bm-widget .bm-input-area textarea{
  font-family:'Manrope',sans-serif !important;
  font-size:14px !important;
  color:var(--ink) !important;
  background:var(--bg) !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  padding:10px 16px !important;
  outline:none !important;
  transition:border-color .2s !important;
}
#bm-widget .bm-footer input:focus,
#bm-widget .bm-footer textarea:focus,
#bm-widget .bm-chat-footer input:focus,
#bm-widget .bm-input-area input:focus,
#bm-widget .bm-input-area textarea:focus{
  border-color:var(--brand-navy) !important;
}
#bm-widget .bm-footer input::placeholder,
#bm-widget .bm-chat-footer input::placeholder,
#bm-widget .bm-input-area input::placeholder{
  color:var(--ink-3) !important;
}

/* ── Send button ── */
#bm-widget .bm-send,
#bm-widget .bm-footer button[type="submit"],
#bm-widget .bm-chat-footer button[type="submit"]{
  background:var(--brand-navy) !important;
  color:white !important;
  border:none !important;
  border-radius:10px !important;
  width:40px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:background .2s !important;
}
#bm-widget .bm-send:hover,
#bm-widget .bm-footer button[type="submit"]:hover,
#bm-widget .bm-chat-footer button[type="submit"]:hover{
  background:var(--brand-red) !important;
}
#bm-widget .bm-send svg,
#bm-widget .bm-footer button[type="submit"] svg,
#bm-widget .bm-chat-footer button[type="submit"] svg{
  fill:white !important;
  color:white !important;
}

/* ── Typing indicator ── */
#bm-widget .bm-typing,
#bm-widget .bm-typing-indicator{
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  padding:12px 16px !important;
}

/* ── Links inside chat ── */
#bm-widget .bm-body a,
#bm-widget .bm-chat-body a,
#bm-widget .bm-message a{
  color:var(--brand-navy) !important;
  font-weight:600 !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
#bm-widget .bm-body a:hover,
#bm-widget .bm-chat-body a:hover,
#bm-widget .bm-message a:hover{
  color:var(--brand-red) !important;
}

/* ── Scrollbar ── */
#bm-widget .bm-body::-webkit-scrollbar,
#bm-widget .bm-chat-body::-webkit-scrollbar,
#bm-widget .bm-messages::-webkit-scrollbar{
  width:5px !important;
}
#bm-widget .bm-body::-webkit-scrollbar-thumb,
#bm-widget .bm-chat-body::-webkit-scrollbar-thumb,
#bm-widget .bm-messages::-webkit-scrollbar-thumb{
  background:rgba(0,37,122,.15) !important;
  border-radius:3px !important;
}

/* ═══════════════════════════════════════════════════════════════
   BOTMARKER — Dark Mode Overrides
   ═══════════════════════════════════════════════════════════════ */
:root.theme-dark #bm-widget .bm-panel,
body.theme-dark #bm-widget .bm-panel,
:root.theme-dark #bm-widget .bm-chat,
body.theme-dark #bm-widget .bm-chat{
  box-shadow:0 20px 60px -12px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06) !important;
}
:root.theme-dark #bm-widget .bm-body,
body.theme-dark #bm-widget .bm-body,
:root.theme-dark #bm-widget .bm-chat-body,
body.theme-dark #bm-widget .bm-chat-body,
:root.theme-dark #bm-widget .bm-messages,
body.theme-dark #bm-widget .bm-messages{
  background:var(--bg) !important;
  color:var(--ink) !important;
}
:root.theme-dark #bm-widget .bm-message,
body.theme-dark #bm-widget .bm-message,
:root.theme-dark #bm-widget .bm-bot-message,
body.theme-dark #bm-widget .bm-bot-message{
  background:var(--card) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
:root.theme-dark #bm-widget .bm-footer,
body.theme-dark #bm-widget .bm-footer,
:root.theme-dark #bm-widget .bm-chat-footer,
body.theme-dark #bm-widget .bm-chat-footer,
:root.theme-dark #bm-widget .bm-input-area,
body.theme-dark #bm-widget .bm-input-area{
  background:var(--card) !important;
  border-top-color:var(--line) !important;
}
:root.theme-dark #bm-widget .bm-footer input,
body.theme-dark #bm-widget .bm-footer input,
:root.theme-dark #bm-widget .bm-input-area input,
body.theme-dark #bm-widget .bm-input-area input{
  background:var(--bg) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
:root.theme-dark #bm-widget .bm-quickreply,
body.theme-dark #bm-widget .bm-quickreply,
:root.theme-dark #bm-widget .bm-chip,
body.theme-dark #bm-widget .bm-chip{
  background:var(--card) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
:root.theme-dark #bm-widget .bm-quickreply:hover,
body.theme-dark #bm-widget .bm-quickreply:hover,
:root.theme-dark #bm-widget .bm-chip:hover,
body.theme-dark #bm-widget .bm-chip:hover{
  background:var(--brand-navy) !important;
  color:white !important;
  border-color:var(--brand-navy) !important;
}
