/* Makroseguros — estilos comunes de todas las páginas */
:root{--ink:#0E4C5A;--ink-2:#0A3843;--ground:#FFFFFF;--sand:#E6F1F2;--line:#D5E3E5;--field:#B9CDD0;--muted:#46595E;--accent:#F2C230;--accent-hover:#E0B020;--on-accent:#0E2A31;--accent-text:#8A6A00;--accent-soft:#F2C230;--on-dark:#C8DCDF;--serif:Fraunces,Georgia,serif;--sans:Manrope,"Segoe UI",system-ui,sans-serif;--pad:clamp(20px,6.5vw,96px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}
.dark :focus-visible,.foot :focus-visible{outline-color:var(--accent-soft)}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.1}
p{margin:0}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.kicker{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.lead{font-size:clamp(17px,1.4vw,19px);color:var(--muted);max-width:44ch}
.h2{font-size:clamp(34px,3.6vw,52px);letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;font-size:17px;font-weight:600;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.btn-accent:hover{background:var(--accent-hover)}
.btn-ink{background:var(--ink);color:var(--ground)}
.btn-ink:hover{background:#0A3843}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--ground)}
.ico{width:18px;height:18px;flex-shrink:0}

/* encabezado (igual en todas las páginas) */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:3px solid var(--accent)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand span{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:clamp(14px,1.3vw,28px);font-weight:500}
.nav a{white-space:nowrap}
.nav .btn{padding:0 22px}
.brand,.brand svg{flex-shrink:0}
.nav a{text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent-text)}
.menu-btn{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--field);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
@media (max-width:1300px){
 .menu-btn{display:flex}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ground);border-bottom:1px solid var(--line);padding:8px var(--pad) 20px}
 .nav.open{display:flex}
 .nav a{padding:14px 0;border-bottom:1px solid var(--line)}
 .nav .btn{margin-top:16px;border-bottom:0}
 .brand span{font-size:23px}
 .brand svg{width:40px;height:40px}
}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"txt car" "cam cam";gap:clamp(24px,3vw,44px) clamp(32px,4vw,72px);padding-top:clamp(36px,4.5vw,64px);padding-bottom:clamp(40px,6vw,88px)}
.hero-txt{grid-area:txt;align-self:center}
.hero h1{font-size:clamp(42px,4.6vw,66px);letter-spacing:-.025em;line-height:1.04;margin:20px 0}
.hero .lead{font-size:clamp(18px,1.6vw,21px)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.f input,.f select{min-height:50px;padding:0 14px;border:1px solid var(--field);border-radius:10px;font:inherit;font-size:16px;font-weight:400;background:#fff;color:var(--ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted)}
.check input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:var(--ink)}
.check a{color:var(--ink)}
.hp{position:absolute;left:-9999px}
@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"txt" "cam" "car"}.hero-ctas .btn{flex:1 1 100%}}

/* trust */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust div{padding:28px 24px}
.trust div+div{border-left:1px solid var(--line)}
.trust div:first-child{padding-left:0}
.trust strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,34px);line-height:1.2}
.trust span{font-size:15px;color:var(--muted)}
@media (max-width:900px){
 .trust{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:0}
 .trust div{padding:20px 14px;border-bottom:1px solid var(--line)}
 .trust div:nth-child(odd){padding-left:0;border-left:0}
}

/* franjas de color (fondo de lado a lado) */
.band{background:var(--sand);box-shadow:0 0 0 100vmax var(--sand);clip-path:inset(0 -100vmax)}
.sec.band{padding-bottom:clamp(64px,8vw,120px)}
.band .kicker{color:#7A5E00}
.trust-band{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax)}
.trust-band .trust{border-color:transparent}
.trust-band .trust div+div{border-left-color:#3B6B76}
.trust-band .trust strong{color:var(--accent-soft)}
.trust-band .trust span{color:var(--on-dark)}
@media (max-width:900px){
 .trust-band .trust div{border-bottom-color:#3B6B76}
 .trust-band .trust div:nth-last-child(-n+2){border-bottom-color:transparent}
}

/* carrusel */
.carousel{position:relative;overflow:hidden;border-radius:24px}
.car-track{display:flex;transition:transform .6s cubic-bezier(.22,.7,.2,1)}
.carousel .slide{flex:0 0 100%;min-width:0;margin:0}
.car-ctrl{display:flex;align-items:center;gap:4px}
.car-ctrl button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:inherit;cursor:pointer;border-radius:999px}
.car-ctrl .dot::before{content:"";width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.45;transition:width .3s,opacity .3s}
.car-ctrl .dot[aria-current="true"]::before{width:26px;opacity:1}
.car-ctrl .dot{width:auto;min-width:32px}
.car-ctrl .pause{margin-left:6px;border:1.5px solid currentColor;opacity:.85}
.car-ctrl .pause svg{width:14px;height:14px}
.hero-car{grid-area:car;display:flex;background:var(--ink-2)}
.hero-car .car-track{flex:1 1 100%;min-width:0}
.hero-car .slide{position:relative;min-height:clamp(400px,33vw,520px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;padding:clamp(24px,3vw,40px) clamp(24px,3vw,40px) 76px;color:#fff;background-image:linear-gradient(90deg,rgba(10,56,67,.82) 0%,rgba(10,56,67,.6) 50%,rgba(10,56,67,.05) 85%),linear-gradient(to top,rgba(10,56,67,.9) 0%,rgba(10,56,67,.45) 50%,rgba(10,56,67,0) 100%),var(--img),linear-gradient(135deg,#0E4C5A,#0A3843);background-size:cover;background-position:center}
.hero-car .slide-deco{position:absolute;right:clamp(20px,4vw,56px);top:clamp(20px,3vw,40px);width:clamp(96px,11vw,150px);height:auto;color:var(--accent);opacity:.9}
.hero-car .slide.has-img .slide-deco{display:none}
.hero-car .slide-name{font-weight:700;font-size:15px;color:#fff}
.hero-car .slide-name,.hero-car .slide-title,.hero-car .slide-text{text-shadow:0 1px 3px rgba(6,30,36,.55)}
.hero-car .slide-title{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.6vw,38px);line-height:1.1;letter-spacing:-.015em;max-width:18ch}
.hero-car .slide-text{color:var(--on-dark);max-width:40ch;margin-bottom:8px}
.hero-car .car-ctrl{position:absolute;left:clamp(16px,2.5vw,32px);bottom:18px;color:#fff}
.hero-car :focus-visible{outline-color:var(--accent)}
.quotes{background:#fff;border:1px solid var(--line)}
.quotes .slide{padding:clamp(28px,4vw,56px) clamp(24px,5vw,72px) 80px}
.quotes blockquote{margin:0}
.quotes blockquote p{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.3;max-width:34ch}
.quotes figcaption{margin-top:20px;display:flex;flex-direction:column}
.quotes figcaption span{color:var(--muted);font-size:15px}
.quotes .car-ctrl{position:absolute;left:clamp(16px,4.5vw,64px);bottom:20px;color:var(--ink)}

/* íconos */
.svc-ico{width:34px;height:34px;color:var(--ink);margin-bottom:6px}
.step-top{display:flex;justify-content:space-between;align-items:center}
.step-ico{width:32px;height:32px;color:var(--ink)}
.count{font-variant-numeric:tabular-nums}

/* aparición suave al hacer scroll */
.anim .reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease-out,transform .45s ease-out}
.anim .reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
 .car-track,.car-ctrl .dot::before{transition:none}
 .anim .reveal{opacity:1;transform:none;transition:none}
}
@media (max-width:900px){
 .hero-car .slide{min-height:430px}
 .hero-car .slide .btn{width:100%}
 .hero-car .slide-deco{width:80px}
}

/* ventanas emergentes con formularios */
.qmodal{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(10,56,67,.3);overflow:auto}
.qmodal::backdrop{background:rgba(10,56,67,.55)}
.qmodal form{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,4vw,34px) clamp(20px,4vw,34px) 8px}
.qmodal h2{font-size:clamp(24px,3vw,28px);padding-right:44px}
.qintro{font-size:15px;color:var(--muted)}
.qclose{position:sticky;top:12px;z-index:2;margin:12px 12px -56px auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--sand);color:var(--ink);cursor:pointer}
.qclose svg{width:20px;height:20px}
.qclose:hover{background:var(--line)}
.qwa{display:flex;align-items:center;gap:8px;margin:6px clamp(20px,4vw,34px) clamp(22px,4vw,30px);padding-top:14px;border-top:1px solid var(--line);font-weight:600;color:var(--ink)}
.qwa:hover{color:var(--accent-text)}
.opt{font-weight:400;color:var(--muted)}
fieldset.opts{display:flex;border:0;margin:0;padding:0;flex-direction:row;flex-wrap:wrap;gap:8px 12px}
fieldset.opts legend{padding:0;margin-bottom:6px;font-size:14px;font-weight:600}
fieldset.opts label{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid var(--field);border-radius:10px;font-weight:400;font-size:16px;cursor:pointer}
fieldset.opts label:has(input:checked){border-color:var(--ink);background:var(--sand)}
fieldset.opts input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
html.modal-abierto{overflow:hidden}

/* pague su póliza */
.pay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pay-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:128px;padding:20px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none;text-align:center}
.pay-btn:hover{border-color:var(--ink)}
.pay-logo{display:flex;align-items:center;justify-content:center;min-height:48px;font-family:var(--serif);font-size:19px;font-weight:500}
.pay-logo img{display:block;height:48px;width:auto;max-width:200px;object-fit:contain}
.pay-logo.has-logo>span{display:none}
.pay-go{font-size:15px;font-weight:600;color:var(--accent-text)}
@media (max-width:900px){.pay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pay-btn{min-height:108px;padding:16px 10px}.pay-logo img{height:36px;max-width:130px}.pay-logo{min-height:36px;font-size:17px}}

/* sections */
.sec{padding-top:clamp(64px,8vw,120px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:clamp(28px,4vw,48px)}
.sec-head>div{display:flex;flex-direction:column;gap:14px;max-width:720px}
@media (max-width:900px){.sec-head{flex-direction:column;align-items:flex-start;gap:14px}}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:980px){.grid3{grid-template-columns:1fr;gap:12px}}
.svc{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,32px);background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none}
.svc:hover{border-color:var(--ink)}
.svc h3{font-size:clamp(23px,2vw,28px)}
.svc p{font-size:17px;color:#2E4046;margin-bottom:8px}
.svc .go{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;margin-top:auto;padding:0 22px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font-size:16px;font-weight:600;color:var(--ink)}
.svc:hover .go,.svc:focus-visible .go{background:var(--ink);color:#fff}
.svc.alt{background:var(--sand)}
.soat .kicker{color:#7A5E00}
.sec-cta{margin-top:32px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.steps li{list-style:none;display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:2px solid var(--ink)}
.steps .n{font-family:var(--serif);font-size:20px;color:var(--accent-text)}
.steps h3{font-size:clamp(23px,2vw,28px)}
.steps p{font-size:17px;color:#2E4046}
.steps{margin:0;padding:0}
@media (max-width:900px){.steps{grid-template-columns:1fr;gap:28px}}

/* soat */
.soat{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:clamp(32px,4vw,56px) clamp(22px,4.5vw,64px);background:var(--sand);border-radius:28px}
.soat>div{display:flex;flex-direction:column;gap:14px}
.soat h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-.02em}
@media (max-width:900px){.soat{flex-direction:column;align-items:stretch}.soat .btn{width:100%}}

/* claims */
.dark{background:var(--ink);color:var(--ground)}
.claims{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,120px);padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px)}
.claims .intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.claims .kicker{color:var(--accent-soft)}
.claims .lead{color:var(--on-dark)}
.claims ol{margin:0;padding:0;list-style:none}
.claims li{display:flex;gap:22px;padding:22px 0;border-top:1px solid #3B6B76}
.claims li:last-child{border-bottom:1px solid #3B6B76}
.claims li .n{font-family:var(--serif);font-size:22px;color:var(--accent-soft)}
.claims li strong{display:block;font-size:19px;margin-bottom:4px}
.claims li span{color:var(--on-dark);font-size:16px}
.btn-light{background:var(--ground);color:var(--ink)}
.btn-light:hover{background:var(--sand)}
@media (max-width:900px){.claims{grid-template-columns:1fr}.claims .btn{width:100%}}

/* about */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,120px);align-items:center}
.about .mark{min-height:clamp(220px,34vw,520px);display:flex;align-items:center;justify-content:center;border-radius:24px;background:var(--ink)}
.about .mark svg{width:clamp(130px,16vw,240px);height:auto}
.about .txt{display:flex;flex-direction:column;gap:20px}
.about .txt p:not(.kicker){font-size:clamp(17px,1.4vw,19px);color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px}
.team div{padding-top:16px;border-top:2px solid var(--ink)}
.team strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.25}
.team span{font-size:15px;font-weight:600;color:var(--accent-text)}
@media (max-width:900px){.about{grid-template-columns:1fr}.team{grid-template-columns:1fr;gap:0}.team div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line)}.team div:first-child{border-top:2px solid var(--ink)}}

/* insurers */
.ins-marquee{margin-top:24px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ins-track{display:flex;width:max-content;animation:ins-mover 45s linear infinite}
.ins-marquee:hover .ins-track{animation-play-state:paused}
.ins-set{display:flex;gap:20px;padding:0 20px 0 0;margin:0;list-style:none}
.ins-item{flex:0 0 auto;min-width:184px;min-height:88px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 28px;background:#fff;border:1px solid var(--line);border-radius:14px;font-family:var(--serif);font-size:19px;font-weight:500}
.ins-item img{display:block;height:48px;width:auto;max-width:200px;object-fit:contain}
.ins-item.has-logo span{display:none}
@keyframes ins-mover{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--ins-paso,50%)))}}
@media (max-width:980px){.ins-set{gap:12px;padding-right:12px}.ins-item{min-width:150px;min-height:64px;padding:0 20px;font-size:17px}.ins-item img{height:36px;max-width:150px}}
@media (prefers-reduced-motion:reduce){
 .ins-marquee{-webkit-mask-image:none;mask-image:none}
 .ins-track{animation:none;width:auto;display:block}
 .ins-set{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:0}
 .ins-set[aria-hidden="true"]{display:none}
 .ins-item{min-width:0}
}
.ins-label{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,6vw,120px)}
.faq .intro{display:flex;flex-direction:column;gap:16px}
.faq details{border-top:1px solid var(--line);padding:24px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:clamp(19px,1.6vw,21px);font-weight:500;line-height:1.35;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:26px;line-height:1;color:var(--accent-text);flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--muted)}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--ink-2);color:var(--ground);margin-top:clamp(64px,8vw,120px)}
.foot .wrap{padding-top:clamp(56px,7vw,96px);padding-bottom:40px}
.foot-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:clamp(32px,4.5vw,80px)}
.foot h2{font-size:clamp(34px,3.6vw,52px);letter-spacing:-.02em;margin-bottom:28px}
.foot .ctas{display:flex;flex-wrap:wrap;gap:14px}
.btn-line-light{border-color:var(--ground);color:var(--ground)}
.btn-line-light:hover{background:var(--ground);color:var(--ink)}
.contact{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-content:start;margin:0}
.contact dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft)}
.contact dd{margin:4px 0 0;color:var(--on-dark);overflow-wrap:anywhere}
.contact a{text-decoration:none}
.contact a:hover{color:#fff}
.foot-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:10px}
.foot-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.foot-nav a{display:inline-block;padding:5px 0;color:var(--on-dark);text-decoration:none}
.foot-nav a:hover{color:var(--accent-soft)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;margin-top:56px;padding-top:24px;border-top:1px solid #1E5563;font-size:14px;color:#A9C6CB}
.legal a{color:var(--on-dark)}
@media (max-width:900px){.foot-top{grid-template-columns:minmax(0,1fr)}.foot .ctas .btn{flex:1 1 100%}.contact{gap:18px}.foot-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}}

/* floating whatsapp */
.fab{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:30;width:64px;height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#1F9D55;color:#fff;box-shadow:0 6px 18px rgba(10,56,67,.28)}
.fab:hover{background:#17833F}
.fab svg{width:30px;height:30px}

/* los tres caminos de la portada */
.caminos{grid-area:cam;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:980px){.caminos{grid-template-columns:1fr;gap:12px}}
.ruta{display:flex;align-items:center;gap:16px;min-height:88px;padding:clamp(16px,1.8vw,24px);background:#fff;border:1.5px solid var(--ink);border-radius:18px;text-decoration:none}
.ruta:hover,.ruta:focus-visible{background:var(--ink);color:#fff}
.ruta:hover .svc-ico,.ruta:focus-visible .svc-ico,.ruta:hover .ruta-txt span,.ruta:focus-visible .ruta-txt span{color:#fff}
.ruta .svc-ico{margin-bottom:0;flex-shrink:0}
.ruta-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ruta-txt strong{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.7vw,24px);line-height:1.2}
.ruta-txt span{font-size:16px;color:#2E4046}
.ruta .flecha{width:22px;height:22px;margin-left:auto;flex-shrink:0}

/* encabezado de las páginas internas (personas, empresas, clientes) */
.page-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:clamp(36px,4.5vw,64px);padding-bottom:clamp(36px,5vw,72px)}
.page-head h1{font-size:clamp(38px,4.2vw,60px);letter-spacing:-.025em;line-height:1.05}
.page-head .lead{max-width:56ch}
.page-head .btn{margin-top:8px}
.cli-contact{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.cli-datos{color:#2E4046;overflow-wrap:anywhere}
@media (max-width:900px){.page-head .btn{width:100%;padding:0 16px}.cli-contact .btn{flex:1 1 100%}}

/* política de datos (texto largo) */
.doc{max-width:800px;margin:0 auto;padding:56px 20px 40px;line-height:1.7}
.doc h1{font-size:clamp(34px,5vw,46px);letter-spacing:-.02em;margin:0 0 12px}
.doc h2{font-size:24px;line-height:1.25;margin:44px 0 12px}
.doc p{margin:1em 0}
.doc p,.doc li{color:#2F4247}
.doc ul{padding-left:22px}
.doc li{margin:6px 0}
.doc .meta{color:#46595E;font-size:15px}
.doc .box{background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin-top:20px}
.doc .box p{margin:4px 0}
