:root{
  --azul:#A7D1EA; --azul-osc:#102B4E; --azul-deep:#09192E;
  --champagne:#8E7A60; --champ-lt:#B09A7A; --marfil:#F6F2EC;
  --gris:#D8D1C7; --gris-osc:#6B6458; --blanco:#FFFFFF; --texto:#1E1E1E;
  --f-display:'Cormorant Garamond',Georgia,serif;
  --f-body:'DM Sans',system-ui,sans-serif;
  --r:3px; --tr:.32s cubic-bezier(.4,0,.2,1); --sh:0 4px 40px rgba(8,14,24,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);background:var(--marfil);color:var(--texto);line-height:1.65}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;background:none;border:none}
.container{max-width:1160px;margin:0 auto;padding:0 2rem}
.tag-line{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);display:block;margin-bottom:.9rem}
.tag-line-lt{color:var(--azul)}
.divider{width:40px;height:1.5px;background:var(--champagne);margin-bottom:1.6rem}
.divider-lt{background:var(--azul)}
h1,h2,h3{font-family:var(--f-display);font-weight:400;color:var(--azul-osc)}
h2.sec-title{font-size:clamp(1.9rem,3.5vw,2.9rem);line-height:1.12;margin-bottom:1.1rem}
h2.sec-title-lt{color:var(--marfil)}
.sec-desc{font-size:.97rem;color:var(--gris-osc);line-height:1.78;max-width:540px}
.sec-desc-lt{color:var(--gris)}
em{font-style:italic;color:var(--azul)}

nav{position:sticky;top:0;left:0;right:0;z-index:200;height:76px;display:flex;align-items:center;padding:0 2.5rem;background:rgba(9,25,46,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(167,209,234,.1)}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.nav-logo img{height:44px;width:auto}
.nav-links{display:flex;gap:1.8rem;margin-left:auto;align-items:center}
.nav-links a,.nav-links button{font-size:13px;font-weight:400;letter-spacing:.05em;color:rgba(246,242,236,.68);transition:color var(--tr)}
.nav-links a:hover,.nav-links button:hover,.nav-links a.active,.nav-links button.active{color:var(--azul)}
.nav-cta{background:var(--azul);color:var(--azul-osc);padding:9px 22px;border-radius:999px;font-weight:500;letter-spacing:.05em;font-size:12.5px;transition:var(--tr);white-space:nowrap}
.nav-cta:hover{background:var(--marfil);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;margin-left:1rem;position:relative;z-index:10}
.hamburger span{width:100%;height:1.5px;background:var(--azul);display:block;transition:transform .2s ease,opacity .2s ease}
nav.open .hamburger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
nav.open .hamburger span:nth-child(2){opacity:0}
nav.open .hamburger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:0;margin-top:8px;background:var(--azul-deep);border:1px solid rgba(167,209,234,.15);border-radius:var(--r);min-width:220px;padding:.4rem;box-shadow:var(--sh);display:none;flex-direction:column}
.dropdown.open .dropdown-menu{display:flex}
.dropdown-menu li button{display:block;width:100%;text-align:left;padding:.6rem .8rem;border-radius:var(--r);font-size:12.5px}
.dropdown-menu li button:hover{background:rgba(167,209,234,.08)}
@media(max-width:960px){
  .hamburger{display:flex}
  .nav-links{display:none;position:fixed;left:0;right:0;top:76px;background:var(--azul-deep);flex-direction:column;align-items:stretch;padding:1rem 1.5rem 1.5rem;gap:.2rem;max-height:calc(100vh - 76px);overflow-y:auto;z-index:150;box-shadow:var(--sh)}
  nav.open .nav-links{display:flex}
  .nav-links a,.nav-links button{padding:.8rem 0;font-size:15px}
  .dropdown-menu{position:static;display:none;box-shadow:none;border:none;padding-left:1rem;margin-top:0;background:transparent}
  .dropdown.open .dropdown-menu{display:flex}
  .nav-cta{margin-top:1rem;text-align:center;align-self:center}
}

section{padding:100px 0}
section.dark{background:var(--azul-deep);color:var(--marfil)}
section.dark2{background:var(--azul-osc);color:var(--marfil)}
section.light{background:var(--marfil)}
section.white{background:var(--blanco)}
section.tight{padding:70px 0}

#hero{min-height:88vh;background:linear-gradient(160deg,#060E1D 0%,#0D2240 45%,#091729 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 2rem 80px;position:relative;overflow:hidden}
#hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(167,209,234,.07) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(142,122,96,.06) 0%,transparent 50%);pointer-events:none}
.hero-logo-wrap{position:relative;z-index:1;margin-bottom:2rem}
.hero-logo-wrap img{height:170px;width:auto;margin:0 auto;filter:drop-shadow(0 8px 40px rgba(167,209,234,.3))}
.hero-founded{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:2rem;position:relative;z-index:1}
.hero-line{width:36px;height:1px;background:var(--champagne)}
.hero-founded-text{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne)}
.hero-title{font-family:var(--f-display);font-size:clamp(2.4rem,5.2vw,4.6rem);font-weight:300;line-height:1.1;color:var(--marfil);margin-bottom:1.4rem;max-width:820px;position:relative;z-index:1}
.hero-subtitle{font-size:1.02rem;color:rgba(216,209,199,.8);line-height:1.75;max-width:560px;margin:0 auto 2.6rem;position:relative;z-index:1}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:999px;font-size:12.5px;font-weight:500;letter-spacing:.06em;transition:var(--tr);cursor:pointer;text-transform:uppercase}
.btn-primary{background:var(--azul);color:var(--azul-osc)}
.btn-primary:hover{background:var(--marfil);transform:translateY(-2px)}
.btn-outline{border:1px solid rgba(167,209,234,.4);color:var(--azul)}
.btn-outline:hover{border-color:var(--azul);color:var(--marfil);background:rgba(167,209,234,.08)}
.btn-light-primary{background:var(--azul-osc);color:var(--azul)}
.btn-light-primary:hover{background:var(--azul);color:var(--azul-osc)}
.btn-light-outline{border:1px solid var(--azul-osc);color:var(--azul-osc)}
.btn-light-outline:hover{background:var(--azul-osc);color:var(--marfil)}

.franja{background:var(--champagne);padding:16px 0;overflow:hidden}
.franja-track{display:flex;gap:40px;white-space:nowrap;animation:slide 26s linear infinite;width:max-content}
.franja-item{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--marfil)}
.franja-dot{width:4px;height:4px;border-radius:50%;background:rgba(246,242,236,.5)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.grid-hairline{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;background:var(--gris);border:1px solid var(--gris);border-radius:var(--r);overflow:hidden}
.grid-hairline.dark-h{background:rgba(167,209,234,.08);border-color:rgba(167,209,234,.1)}
.grid-hairline>*{flex:0 1 calc(33.333% - 1px)}
@media(max-width:900px){.grid-hairline>*{flex-basis:calc(50% - 1px)}.grid-2{grid-template-columns:1fr;gap:2.5rem}}
@media(max-width:620px){.grid-hairline>*{flex-basis:100%}}

.cell{background:var(--blanco);padding:34px 26px}
.cell.on-dark{background:rgba(9,23,41,.92)}
.cell-num{font-family:var(--f-display);font-size:2.6rem;font-weight:300;line-height:1;margin-bottom:6px;color:var(--azul-osc)}
.cell-num.on-dark{color:var(--azul)}
.cell-lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris-osc)}
.cell-lbl.on-dark{color:rgba(167,209,234,.55)}
.cell h3{font-size:1.25rem;margin-bottom:8px}
.cell h3.on-dark{color:var(--marfil)}
.cell p{font-size:13px;color:var(--gris-osc);line-height:1.6}
.cell p.on-dark{color:rgba(216,209,199,.65)}
.cell:hover{background:var(--marfil)}
.cell.on-dark:hover{background:rgba(167,209,234,.06)}
.cell.clickable{cursor:pointer}

.photo-ph{width:100%;aspect-ratio:4/3;border-radius:calc(var(--r) - 1px);border:1px dashed rgba(167,209,234,.35);background:rgba(167,209,234,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;text-align:center;padding:1rem}
.photo-ph.on-light{border-color:var(--gris-osc);background:linear-gradient(145deg,rgba(16,43,78,.05),rgba(142,122,96,.08))}
.photo-ph-txt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-osc);line-height:1.5}
.photo-ph.on-dark .photo-ph-txt{color:rgba(167,209,234,.5)}
.photo-ph-ico{font-size:1.6rem;opacity:.3}
.real-img-wrap{width:100%;aspect-ratio:4/3;border-radius:calc(var(--r) - 1px);overflow:hidden;background:var(--gris)}
.real-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}

.punto{display:flex;gap:16px;align-items:flex-start;padding:20px;background:var(--blanco);border:1px solid var(--gris);border-radius:var(--r);transition:var(--tr)}
.punto:hover{border-color:var(--azul);transform:translateX(4px)}
.punto-ico{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--azul-osc),var(--champagne));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-family:var(--f-display);font-size:1.1rem}
.punto-titulo{font-size:14px;font-weight:500;color:var(--azul-osc);margin-bottom:3px}
.punto-desc{font-size:12.5px;color:var(--gris-osc);line-height:1.6}

.pill-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:999px;background:var(--azul-osc);color:var(--azul);font-size:11.5px;font-weight:500;transition:var(--tr)}
.pill-cta:hover{background:var(--azul);color:var(--azul-osc)}

.timeline-h{display:flex;flex-direction:column;gap:0}
.t-row{display:flex;align-items:baseline;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid rgba(167,209,234,.12)}
.t-row:last-child{border-bottom:none}
.t-year{font-family:var(--f-display);font-size:1.8rem;font-weight:300;color:var(--azul);min-width:90px}
.t-label{font-size:13.5px;color:rgba(216,209,199,.78)}

.process-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--gris);border:1px solid var(--gris);border-radius:var(--r);overflow:hidden}
.process-cell{background:var(--blanco);padding:24px 20px;border-top:3px solid var(--champagne)}
.process-num{font-family:var(--f-display);color:var(--champ-lt);font-size:1.1rem;display:block;margin-bottom:4px}
.process-cell h3{font-size:.98rem;margin-bottom:5px}
.process-cell p{font-size:12px;color:var(--gris-osc);line-height:1.5}

.quote-block{font-family:var(--f-display);font-style:italic;font-size:1.4rem;font-weight:300;color:var(--marfil);border-left:2px solid var(--champagne);padding-left:1.2rem;margin-bottom:1.4rem;line-height:1.4}
.quote-block footer{font-family:var(--f-body);font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne);margin-top:.7rem}

.article-cell{background:var(--blanco);cursor:pointer}
.article-cell .cell-body{padding:26px 22px}
.article-cat{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);margin-bottom:8px}
.article-meta{font-size:11px;color:var(--gris-osc);margin-top:8px}

footer.site-footer{background:var(--azul-deep);color:rgba(216,209,199,.75);padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem}
.footer-logo{display:flex;align-items:center;gap:10px}
.footer-logo img{height:38px;width:auto}
.footer-desc{font-size:13px;line-height:1.7;margin:1rem 0}
.footer-founded{color:var(--azul);font-size:12px;letter-spacing:.06em}
.footer-heading{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--azul);margin-bottom:1rem}
.footer-col ul{display:flex;flex-direction:column;gap:.6rem}
.footer-col a,.footer-col button{font-size:13px;color:rgba(216,209,199,.75)}
.footer-col a:hover,.footer-col button:hover{color:var(--azul)}
address{font-style:normal;font-size:13px}
.social-ico{width:32px;height:32px;border-radius:50%;border:1px solid rgba(167,209,234,.3);display:flex;align-items:center;justify-content:center;color:var(--azul);transition:var(--tr)}
.social-ico:hover{background:var(--azul);color:var(--azul-osc);border-color:var(--azul)}
.footer-bottom{border-top:1px solid rgba(167,209,234,.1);padding:1.4rem 2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:12px;max-width:1160px;margin:0 auto}
.footer-legal{display:flex;flex-wrap:wrap;gap:1.5rem}
.footer-legal a,.footer-legal button{color:rgba(216,209,199,.6)}

.wa-fab{position:fixed;right:1.6rem;bottom:1.6rem;width:56px;height:56px;border-radius:50%;background:var(--azul);color:var(--azul-osc);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh);z-index:60}
@media(max-width:560px){.wa-fab{right:1rem;bottom:1rem;width:50px;height:50px}}

.cookie-banner{position:fixed;left:1.2rem;right:1.2rem;bottom:1.2rem;max-width:640px;margin:0 auto;background:var(--azul-deep);color:var(--marfil);border:1px solid rgba(167,209,234,.2);border-radius:var(--r);padding:1.2rem 1.4rem;box-shadow:var(--sh);z-index:100;display:none;flex-direction:column;gap:1rem}
.cookie-banner.show{display:flex}
.cookie-banner__text{font-size:12.5px;line-height:1.6;color:rgba(216,209,199,.85)}
.cookie-banner__text button{text-decoration:underline;color:var(--azul);display:inline}
.cookie-banner__actions{display:flex;gap:.7rem;flex-wrap:wrap}
.cookie-banner__actions .btn{padding:10px 20px;font-size:11.5px}
@media(max-width:560px){.cookie-banner{left:.7rem;right:.7rem;bottom:.7rem}}

.breadcrumbs{padding:1rem 2rem;font-size:12px;color:var(--gris-osc);max-width:1160px;margin:0 auto}
.breadcrumbs a{text-decoration:underline;cursor:pointer}

.dev-note{border:1px dashed var(--champagne);background:rgba(142,122,96,.08);color:var(--gris-osc);padding:.6rem 1rem;border-radius:var(--r);font-size:11.5px;margin-bottom:1.2rem;letter-spacing:.02em}
.dev-note strong{display:block;margin-bottom:.15rem;color:var(--champagne);text-transform:uppercase;letter-spacing:.08em;font-size:10px}
.legal-body{font-size:14px;line-height:1.8;color:var(--texto)}
.legal-h2{font-family:var(--f-display);font-weight:500;font-size:1.25rem;color:var(--azul-osc);margin:1.8rem 0 .6rem}
.legal-list{padding-left:1.2rem;list-style:disc}
.legal-list li{margin-bottom:.3rem}
.case-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:13.5px}
.case-table tr{border-bottom:1px solid var(--gris)}
.case-table th{text-align:left;padding:.7rem .8rem .7rem 0;width:220px;color:var(--champagne);font-weight:600;vertical-align:top}
.case-table td{padding:.7rem 0;color:var(--texto)}
@media(max-width:620px){.case-table,.case-table tbody,.case-table tr,.case-table th,.case-table td{display:block;width:auto}.case-table th{padding-bottom:.1rem}.case-table td{padding-top:0;padding-bottom:.7rem}}

.form-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.form-field label{font-size:12px;font-weight:500;color:var(--azul-osc)}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:13.5px;padding:.7rem .85rem;border:1px solid var(--gris);border-radius:var(--r);background:var(--blanco);color:var(--texto)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}}
.form-checkbox{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.2rem}
.form-checkbox input{margin-top:.3rem}
.form-checkbox label{font-size:12px;color:var(--gris-osc)}
.form-status{font-size:12.5px;padding:.8rem 1rem;border-radius:var(--r);margin-top:1rem;display:none}
.form-status.show{display:block;background:#fdecec;color:#8a2c2c;border:1px solid #f0c4c4}

.page{display:none}
.page.active{display:block}
