@font-face{font-family:"Outfit";src:url("/fonts/outfit-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --navy:#0F3558;--navy-2:#16446C;--navy-3:#245680;
  --ink:#0F3558;--muted:#4B5563;--line:#E3E6EB;--soft:#F5F6F8;--white:#FFFFFF;
  --accent:#5BC5DC;--accent-ink:#0F6B85;--light:#C9D3E1;
  --nav-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--soft)}
h1,h2,h3{font-family:Outfit,Inter,system-ui,sans-serif;font-weight:600;line-height:1.12;margin:0;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:var(--accent-ink)}
a:hover{color:#0A4E62}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.accent{color:var(--accent)}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);color:var(--ink);padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* progreso */
.progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:60;pointer-events:none}
.progress__bar{height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid var(--navy-3)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white)}
.brand:hover{color:var(--white)}
.brand__mark{width:36px;height:36px;border-radius:8px;background:var(--accent);color:var(--navy);display:grid;place-items:center;font-family:Outfit,sans-serif;font-weight:700}
.brand__name{font-family:Outfit,sans-serif;font-weight:600;font-size:19px}
.nav__menu{display:flex;align-items:center;gap:22px;font-size:15px}
.nav__menu a{color:var(--light);text-decoration:none;padding:10px 0}
.nav__menu a:hover,.nav__menu a[aria-current="true"]{color:var(--white)}
.nav__menu a[aria-current="true"]{box-shadow:inset 0 -2px 0 var(--accent)}
.nav__toggle{display:none;width:44px;height:44px;background:transparent;border:1px solid #3F6E96;border-radius:8px;color:var(--white);place-items:center;cursor:pointer}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:10px;font:600 16px/1.2 Inter,system-ui,sans-serif;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn--accent{background:var(--accent);color:var(--navy)}
.btn--accent:hover{background:#7AD3E6;color:var(--navy)}
.btn--ghost{border-color:#6C93B5;color:var(--white)}
.btn--ghost:hover{border-color:var(--white);color:var(--white)}
.btn--full{width:100%}
.nav__menu a.nav__cta{color:var(--navy);padding:12px 18px;min-height:44px;font-size:14px}

/* hero */
.hero{position:relative;background:var(--navy);color:var(--white);overflow:hidden}
.hero__art{position:absolute;top:0;right:0;bottom:0;width:58%;height:100%;opacity:.6;-webkit-mask-image:linear-gradient(to right,transparent,#000 35%);mask-image:linear-gradient(to right,transparent,#000 35%)}
.hero__in{position:relative;padding-top:clamp(72px,12vw,150px);padding-bottom:clamp(72px,11vw,130px);display:flex;flex-direction:column;gap:26px}
.hero h1{font-size:clamp(36px,6vw,68px);line-height:1.05;max-width:17ch}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--light);max-width:58ch}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.hero__tags li{font-size:14px;color:var(--light);border:1px solid #3F6E96;border-radius:999px;padding:6px 14px;background:rgba(15,53,88,.6)}
.hero__pulse{transform-origin:360px 150px;animation:pulse 2.4s ease-out infinite}
.hero__route{animation:dash 30s linear infinite}
@keyframes pulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}
@keyframes dash{to{stroke-dashoffset:-400}}

/* secciones */
.sec{padding:clamp(72px,10vw,128px) 0}
.sec--white{background:var(--white)}
.sec--soft{background:var(--soft)}
.sec--navy{background:var(--navy);color:var(--white)}
.head{display:flex;flex-direction:column;gap:16px;max-width:780px;margin-bottom:clamp(36px,5vw,56px)}
.head h2,.contact h2{font-size:clamp(30px,4.2vw,48px)}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent-ink)}
.eyebrow--light{color:var(--accent)}
.sub{font-size:18px;color:var(--muted)}
.sub--light{color:var(--light)}

.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px}
.qcard{background:var(--soft);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:12px}
.qcard__n{font:600 40px/1 Outfit,sans-serif;color:var(--accent-ink)}
.qcard h3{font-size:24px}
.qcard p{color:var(--muted);font-size:16px}

/* mapa con scroll */
.scrolly{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}
.scrolly__map{position:sticky;top:calc(var(--nav-h) + 24px);margin:0;background:var(--navy-2);border-radius:20px;padding:20px}
.scrolly__map svg{display:block;width:100%;height:auto}
.scrolly__map figcaption{font-size:12px;color:#A9C3D9;margin-top:8px}
.st{fill:#154066;stroke:#3F6E96;stroke-width:2;transition:fill .5s,stroke .5s}
.st.is-on{fill:#1F5C8C;stroke:var(--accent)}
.route{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.js .route{stroke-dashoffset:1;transition:stroke-dashoffset 1.6s ease}
.js .route.is-drawn{stroke-dashoffset:0}
.lbl text{fill:#A9C3D9;font:500 13px Inter,sans-serif;letter-spacing:.06em}
.lbl .lbl--sm{font-size:11px}
.city circle{fill:var(--white)}
.city text{fill:var(--white);font:500 13px Inter,sans-serif}
.scrolly__steps{display:flex;flex-direction:column}
.step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:10px;opacity:.35;transition:opacity .4s}
.step.is-active,html:not(.js) .step{opacity:1}
.step__k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent)}
.step h3{font-size:clamp(24px,2.6vw,32px)}
.step p:last-child{color:var(--light)}

/* método */
.timeline{position:relative}
.timeline__track{position:absolute;left:0;right:0;top:23px;height:3px;background:var(--line)}
.timeline__fill{height:100%;background:var(--accent);transform:scaleX(1);transform-origin:left}
.js .timeline__fill{transform:scaleX(0)}
.timeline__list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tstep{display:flex;flex-direction:column;gap:12px}
.tstep__n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--accent);color:var(--navy);border:3px solid var(--accent);transition:background .4s,border-color .4s,color .4s}
.js .tstep:not(.is-on) .tstep__n{background:var(--white);border-color:#C5CBD4;color:var(--muted)}
.tstep h3{font-size:22px}
.tstep p{font-size:15px;color:var(--muted)}

/* diferencia */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:32px}
.stats li{background:var(--navy);color:var(--white);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:4px}
.stats strong{font:600 clamp(36px,5vw,56px)/1 Outfit,sans-serif;color:var(--accent)}
.stats span{color:var(--light);font-size:15px}
.reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.reason{background:var(--white);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px}
.reason h3{font-size:20px}
.reason p{font-size:15px;color:var(--muted)}

/* oportunidades */
.prop{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;background:var(--white)}
.prop__art{display:block;width:100%;height:auto}
.prop__body{padding:24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:1}
.prop h3{font-size:21px}
.prop p{font-size:15px;color:var(--muted)}
.prop .prop__size{font:600 28px/1.1 Outfit,sans-serif;color:var(--ink)}
.badge{background:#E7F4EC;color:#1F6B3A;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.link{font-weight:600;margin-top:auto;padding-top:10px;min-height:44px;display:inline-flex;align-items:center;gap:6px}

/* equipo */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.person{background:var(--white);border-radius:20px;padding:28px;display:flex;gap:22px;align-items:flex-start}
.person__mono{flex:none;width:76px;height:76px;border-radius:50%;background:var(--navy);color:var(--accent);display:grid;place-items:center;font:600 26px Outfit,sans-serif}
.person h3{font-size:23px}
.person__role{color:var(--accent-ink);font-weight:600;font-size:14px;margin:4px 0 8px}
.person p:last-child{color:var(--muted);font-size:16px}

/* contacto */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:start}
.contact__info{display:flex;flex-direction:column;gap:20px}
.contact__list{display:flex;flex-direction:column;gap:14px;margin-top:8px;color:var(--light);font-size:16px}
.contact__list li{display:grid;grid-template-columns:96px 1fr;gap:12px}
.contact__list span{color:#A9C3D9;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding-top:3px}
.contact__list a{color:var(--white);font-weight:600}
.form{background:var(--white);color:var(--ink);border-radius:20px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:16px}
.form__note{font-size:13px;color:var(--muted);background:var(--soft);border-radius:8px;padding:12px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}
.form input[type=text],.form input[type=number],.form select,.form textarea{font:400 16px/1.4 Inter,system-ui,sans-serif;color:var(--ink);background:var(--white);border:1px solid #9AA3B0;border-radius:8px;padding:12px;min-height:48px;width:100%}
.form textarea{resize:vertical}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.4}
.form .check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--accent-ink)}
.form__error{color:#B42318;font-size:14px;font-weight:500}
.form [aria-invalid="true"]{border-color:#B42318}

/* pie */
.foot{background:#0A2740;color:#B6C2D4;font-size:14px}
.foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;padding-bottom:28px}
.foot a{color:#B6C2D4}
.foot a:hover{color:var(--white)}

.wa{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;background:#1F7A4D;color:var(--white);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wa:hover{background:#18633E;color:var(--white)}

/* aparición */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-in{opacity:1;transform:none}

/* páginas legales */
.legal{background:var(--white)}
.legal .wrap{max-width:780px;padding-top:64px;padding-bottom:96px}
.legal h1{font-size:clamp(30px,4vw,44px);margin-bottom:8px}
.legal h2{font-size:22px;margin:36px 0 10px}
.legal p,.legal li{color:#374151;margin-bottom:12px}
.legal ul{list-style:disc;padding-left:22px}
.legal .meta{color:var(--muted);font-size:14px}

/* responsive */
@media (max-width:1000px){
  .nav__toggle{display:grid}
  .nav__menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:1px solid var(--navy-3);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px}
  .nav__menu.is-open{display:flex}
  .nav__menu a{padding:14px 0;border-bottom:1px solid var(--navy-3)}
  .nav__menu a[aria-current="true"]{box-shadow:none;color:var(--accent)}
  .nav__menu a.nav__cta{margin-top:14px;border-bottom:0;justify-content:center}
}
@media (max-width:860px){
  .scrolly{grid-template-columns:1fr;gap:0}
  .scrolly__map{top:calc(var(--nav-h) + 8px);z-index:2;padding:12px;box-shadow:0 12px 24px rgba(0,0,0,.35)}
  .step{min-height:56vh;justify-content:flex-end;padding-bottom:10vh}
  .timeline__track{left:23px;right:auto;top:0;bottom:0;width:3px;height:auto}
  .timeline__fill{width:100%;height:100%;transform-origin:top;transform:scaleY(1)}
  .js .timeline__fill{transform:scaleY(0)}
  .timeline__list{grid-template-columns:1fr;gap:32px}
  .tstep{display:grid;grid-template-columns:48px 1fr;column-gap:18px;row-gap:4px}
  .tstep__n{grid-row:span 2}
  .tstep h3{align-self:center}
  .tstep p{grid-column:2}
  .contact{grid-template-columns:1fr;gap:36px}
  .stats{grid-template-columns:1fr}
}
@media (max-width:860px){.hero__art{width:100%;opacity:.22;-webkit-mask-image:none;mask-image:none}}
@media (max-width:520px){
  body{font-size:16px}
  .wa{width:50px;height:50px;right:12px;bottom:12px}
  .wrap{padding-left:16px;padding-right:16px}
  .brand__name{font-size:17px}
  .person{flex-direction:column}
  .contact__list li{grid-template-columns:1fr;gap:2px}
  .actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}
.prop__loc{display:block;font:500 15px/1.4 Inter,system-ui,sans-serif;color:var(--accent-ink);margin-top:4px}

/* marca: barra clara con logotipo */
.nav{background:var(--white);border-bottom:1px solid var(--line)}
.brand__logo{display:block;height:44px;width:auto}
.nav__menu a{color:#33475B}
.nav__menu a:hover,.nav__menu a[aria-current="true"]{color:var(--navy)}
.nav__toggle{color:var(--navy);border-color:#9AA3B0}
.progress__bar{background:var(--accent-ink)}
@media (max-width:1000px){
  .nav__menu{background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(15,53,88,.12)}
  .nav__menu a{border-bottom:1px solid var(--line)}
  .nav__menu a[aria-current="true"]{color:var(--accent-ink)}
}

/* mapa con trazo real */
#map{--u:1}
#map path{vector-effect:non-scaling-stroke}
.ctx path{fill:#123C61;stroke:#245680;stroke-width:1}
.st{stroke-width:1.5}
.pin{transform:scale(var(--u))}
text.lbl{fill:#A9C3D9;font:600 3.4px Inter,sans-serif;letter-spacing:.3px}
.city circle{fill:var(--white);stroke:var(--navy);stroke-width:.5}
.city text{fill:var(--white);font:600 3.6px Inter,sans-serif;paint-order:stroke;stroke:#0F3558;stroke-width:.8px;stroke-linejoin:round}

/* retratos */
.person__photo{flex:none;width:150px;height:188px;object-fit:cover;border-radius:14px;background:var(--line)}
@media (max-width:520px){.person__photo{width:100%;height:auto;aspect-ratio:4/5;max-width:260px}}
#map path.route{vector-effect:none;stroke-width:calc(.9px*var(--u))}
@media (max-width:860px){.city text{font-size:5.2px}text.lbl{font-size:4.6px}.city circle{r:2px}}

/* portada: datos de confianza y entrada */
.hero__facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:10px;padding-top:22px;border-top:1px solid #3F6E96;color:var(--light);font-size:15px;max-width:760px}
.hero__facts strong{display:block;font:600 22px/1.2 Outfit,sans-serif;color:var(--white)}
.hero__in>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero__in>*:nth-child(2){animation-delay:.08s}
.hero__in>*:nth-child(3){animation-delay:.18s}
.hero__in>*:nth-child(4){animation-delay:.28s}
.hero__in>*:nth-child(5){animation-delay:.4s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* sectores */
.sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.sector{background:var(--white);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.sector:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,53,88,.12)}
.sector__ic{width:44px;height:44px;padding:9px;border-radius:12px;background:#E3F5F9;fill:none;stroke:var(--accent-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.sector__k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent-ink)}
.sector h3{font-size:21px}
.sector ul{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-size:15px;color:var(--muted)}
.sector li{padding-left:18px;position:relative}
.sector li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--accent)}
.sectors__more{margin-top:28px;font-size:17px;color:var(--muted);max-width:780px}
.sectors__more strong{color:var(--ink);font-weight:600}

/* mapa: zonas y disponibilidad */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chips li{font-size:13px;color:var(--light);border:1px solid #3F6E96;border-radius:999px;padding:4px 12px}
.city--on circle{fill:var(--accent)}
.city--on .halo{fill:none;stroke:var(--accent);stroke-width:.5;opacity:.7;transform-origin:center;transform-box:fill-box;animation:pulse 2.4s ease-out infinite}
.legend{display:flex;align-items:center;gap:8px;color:var(--white);font-size:13px;margin-bottom:4px}
.legend__dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}

/* cita */
.quote{margin:40px 0 0;padding:32px clamp(20px,4vw,48px);background:var(--navy);color:var(--white);border-radius:20px}
.quote blockquote{margin:0;font:500 clamp(20px,2.4vw,28px)/1.35 Outfit,sans-serif;max-width:32ch;text-wrap:balance}
.quote figcaption{margin-top:14px;color:var(--accent);font-size:14px;font-weight:600}

/* preguntas */
.faq__list{max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;font:600 19px/1.3 Outfit,sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;margin-top:-9px;border-right:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-3px}
.faq details p{padding:0 44px 22px 0;color:var(--muted)}

/* índice lateral de capítulos */
.dots{position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:30;display:none;flex-direction:column;gap:6px}
.dots a{display:flex;align-items:center;gap:10px;height:22px;text-decoration:none;font-size:12px;font-weight:600;color:transparent;transition:color .2s}
.dots a::before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid #7C8FA3;background:transparent;transition:background .2s,border-color .2s,transform .2s}
.dots a:hover,.dots a:focus-visible{color:var(--accent-ink)}
.dots a[aria-current="true"]::before{background:var(--accent);border-color:var(--accent);transform:scale(1.35)}
@media (min-width:1500px){.dots{display:flex}}

/* barra de contacto en celular */
.mbar{display:none}
@media (max-width:860px){
  .wa{display:none}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(15,53,88,.12)}
  .mbar a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:600;text-decoration:none}
  .mbar__call{border:1px solid #9AA3B0;color:var(--navy)}
  .mbar__wa{flex:2;background:#1F7A4D;color:var(--white)}
  .mbar__wa:hover{color:var(--white)}
  body{padding-bottom:72px}
}
.nav__menu{gap:18px}

/* idioma, fichas de inmueble */
.map{--u:1}
.map path{vector-effect:non-scaling-stroke}
.map--gto{--u:.5667}
.map--mich{--u:.7}
.nav__menu a.lang{font-weight:600;font-size:13px;border:1px solid #9AA3B0;border-radius:8px;padding:6px 10px;color:var(--navy)}
.prop h3 a{color:inherit;text-decoration:none}
.prop__links{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:4px 20px}
.prop__links .link{margin-top:0;padding-top:0}
.link--soft{font-weight:500}
.phead{background:var(--navy);color:var(--white);padding:clamp(40px,6vw,72px) 0 clamp(48px,7vw,84px)}
.phead .wrap{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.phead h1{font-size:clamp(30px,4.6vw,54px);max-width:20ch}
.phead__size{font:600 clamp(26px,3vw,36px)/1 Outfit,sans-serif;color:var(--accent)}
.crumbs{font-size:14px;color:var(--light);display:flex;flex-wrap:wrap;gap:8px}
.crumbs a{color:var(--light)}
.crumbs a:hover{color:var(--white)}
.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.detail h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:20px}
.detail__art{display:block;width:100%;height:auto;border-radius:16px;margin-bottom:20px}
.ficha{margin:0;border-top:1px solid var(--line)}
.ficha div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ficha dt{color:var(--muted);font-size:15px}
.ficha dd{margin:0;font-weight:600}
.pmap{margin:0;background:var(--navy-2);border-radius:20px;padding:16px}
.pmap svg{display:block;width:100%;height:auto}
.pmap figcaption{font-size:12px;color:#A9C3D9;margin-top:8px}
.qcard--white{background:var(--white)}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.mini{display:flex;flex-direction:column;gap:4px;padding:24px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.mini:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,53,88,.12);color:var(--ink)}
.mini__k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent-ink)}
.mini strong{font:600 22px/1.2 Outfit,sans-serif}
.mini span:last-child{color:var(--muted)}
.minis__all{margin-top:24px;font-weight:600}
@media (max-width:860px){.detail{grid-template-columns:1fr;gap:36px}}
@media (max-width:1000px){.nav__menu a.lang{align-self:flex-start;margin-top:12px;padding:10px 14px}}
