/* GENERADO por tools/port-concept-css.py desde concept/assets/style.css — no editar a mano. */
.topbar{display:flex; align-items:stretch; color:#E9EEFC; font-size:.82rem;
  background:linear-gradient(90deg, var(--blue-deep) 0%, var(--blue) 45%, var(--green) 78%, var(--green-deep) 100%);}
.topbar-follow{flex:none; display:flex; align-items:center; gap:12px; background:var(--gold); color:var(--gold-ink);
  padding-block:9px; padding-right:clamp(20px,3vw,40px);
  padding-left:calc(clamp(20px,4vw,64px) + max(0px, (100% - var(--maxw))/2));
  clip-path:polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);}
.topbar-follow span{font-weight:700; font-size:.78rem; white-space:nowrap;}
.topbar-social{display:flex; gap:8px;}
.topbar-social a{width:25px; height:25px; border-radius:50%; background:var(--blue-deep); color:var(--gold);
  display:flex; align-items:center; justify-content:center; flex:none; transition:transform .15s ease, background .15s ease;}
.topbar-social a:hover{transform:translateY(-1px); background:var(--blue);}
.topbar-social a[aria-disabled="true"]{opacity:.55; cursor:default;}
.topbar-social svg{width:12px; height:12px;}
.topbar-main{flex:1; min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:16px;
  padding-block:9px; padding-left:clamp(20px,4vw,64px); flex-wrap:wrap;
  padding-right:calc(clamp(20px,4vw,64px) + max(0px, (100% - var(--maxw))/2));}
.topbar-left{display:flex; gap:22px; flex-wrap:wrap; min-width:0;}
.topbar-item{display:flex; align-items:center; gap:7px; opacity:.92; white-space:nowrap; text-decoration:none; color:inherit;}
.topbar-item-label{white-space:nowrap;}
@media (max-width:980px){
.topbar{font-size:.72rem;}
.topbar-left{gap:16px;}
.topbar-item.tb-email{display:none;}
}
@media (max-width:640px){
.topbar-item-label{display:none;}
.topbar-item.tb-email{display:flex;}
.topbar-left{flex:1; justify-content:center; gap:28px;}
.topbar-item{padding:6px; margin:-6px; border-radius:10px;}
.topbar-item svg{width:20px; height:20px;}
}
.topbar-item svg{width:14px; height:14px; flex:none;}
@media (max-width:640px){
.topbar-follow span{display:none;}
}
@media (max-width:640px){
.topbar-social{gap:6px;}
.topbar-social a{width:32px; height:32px;}
.topbar-social svg{width:14px; height:14px;}
}
header.nav{position:sticky; top:0; z-index:40; background:var(--bg-panel); border-bottom:1px solid var(--border); transition:box-shadow .15s ease;}
header.nav.is-scrolled{box-shadow:var(--shadow-lg);}
.nav-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:10px;}
.brand{display:flex; align-items:center; gap:clamp(8px,2vw,12px); text-decoration:none; min-width:0;}
.brand img{width:clamp(44px,9.5vw,68px); height:clamp(44px,9.5vw,68px); object-fit:contain; flex:none;}
.brand-name{font-family:'Poppins',sans-serif; font-weight:700; line-height:1.2; color:var(--ink);
  font-size:clamp(.74rem, .55rem + 1.1vw, .98rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;}
.brand-name small{display:block; font-family:'Poppins',sans-serif; font-weight:500; letter-spacing:.08em; color:var(--ink-faint); text-transform:uppercase; margin-top:3px;
  font-size:clamp(.52rem, .46rem + .4vw, .62rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.brand-name small.brand-pre{margin-top:0; margin-bottom:2px; color:var(--blue); font-weight:700;}
nav.links{display:flex; align-items:center; gap:30px;}
nav.links a{display:flex; align-items:center; gap:5px; text-decoration:none; font-size:.92rem; font-weight:500; color:var(--ink-soft);}
nav.links a:hover, nav.links a.is-current{color:var(--blue);}
nav.links svg{width:11px; height:11px; opacity:.7;}
.nav-item{position:relative;}
.nav-item::after{content:""; position:absolute; left:0; right:0; top:100%; height:14px;}
.nav-dropdown{position:absolute; top:calc(100% + 14px); left:50%; translate:-50% 0; z-index:60;
  display:none; flex-direction:column; gap:2px; min-width:240px;
  background:var(--bg-panel); border:1px solid var(--border); border-radius:14px;
  box-shadow:var(--shadow-lg); padding:8px;}
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown{display:flex;}
.nav-dropdown a{padding:9px 12px; border-radius:8px; font-size:.86rem; font-weight:500; color:var(--ink-soft); text-decoration:none;}
.nav-dropdown a:hover{background:var(--bg-panel-alt); color:var(--blue);}
.nav-dropdown-tag{display:block; margin:2px 10px 6px; font-family:'Poppins',sans-serif; font-weight:700; font-size:.62rem;
  text-transform:uppercase; letter-spacing:.06em; color:var(--gold-deep);}
.nav-dropdown-page{font-family:'Poppins',sans-serif; font-weight:700; font-size:.94rem; color:var(--ink) !important;}
.nav-dropdown-sections{margin:2px 12px 6px; font-size:.76rem; line-height:1.5; color:var(--ink-faint); font-style:italic;}
.nav-dropdown.nav-dropdown--wide{min-width:320px; max-width:360px;}
.nav-cta{display:flex; align-items:center; gap:18px;}
.nav-search{width:20px; height:20px; color:var(--ink-faint); flex:none;}
.navToggle{display:none; width:42px; height:42px; align-items:center; justify-content:center;
  background:transparent; border:1.5px solid var(--border); border-radius:10px; color:var(--ink);
  cursor:pointer; flex:none;}
.navToggle svg{width:20px; height:20px;}
.navToggle:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.mobileNav{display:none; flex-direction:column; gap:2px; padding:10px 24px 18px; border-top:1px solid var(--border); background:var(--bg-panel);}
.mobileNav a{padding:12px 4px; text-decoration:none; font-weight:500; color:var(--ink-soft); border-bottom:1px solid var(--border);}
.mobileNav a:last-child{border-bottom:none;}
.mobileNav a.mobileNav-sub{padding:9px 4px 9px 18px; font-size:.86rem; font-weight:400; color:var(--ink-faint); border-bottom:none; position:relative;}
.mobileNav a.mobileNav-sub::before{content:"—"; position:absolute; left:0; color:var(--border);}
.mobileNav a.mobileNav-sub--page{color:var(--ink); font-weight:700;}
.mobileNav-note{margin:0 4px 8px 18px; font-size:.8rem; line-height:1.5; color:var(--ink-faint); font-style:italic;}
.mobileNav-cta{margin-top:10px; text-align:center; background:var(--gold); color:var(--gold-ink); border-radius:var(--radius-chip); font-weight:700;}
.mobileNav.is-open{display:flex;}
@media (max-width:1150px){
nav.links, .nav-search{display:none;}
.navToggle{display:inline-flex;}
.nav-cta .btn{display:none;}
.brand-name{font-size:clamp(.64rem, .34rem + 1.8vw, .86rem);}
}
@media (min-width:1151px) and (max-width:1400px){
.nav-row{gap:14px;}
nav.links{gap:16px;}
.nav-cta{gap:10px;}
.nav-search{display:none;}
.nav-cta .btn{white-space:nowrap; padding:10px 16px !important; font-size:.76rem !important;}
}
@media (min-width:1151px){
.mobileNav{display:none !important;}
}
.quicklinks{position:fixed; top:50%; right:0; translate:0 -50%; z-index:70; display:flex; align-items:stretch;
  border-radius:12px 0 0 12px; overflow:hidden; box-shadow:0 10px 26px -8px rgba(7,26,61,.5), var(--shadow-lg);}
.quicklinks-tab{writing-mode:vertical-rl; text-orientation:mixed; transform:rotate(180deg);
  background:var(--blue); color:#fff;
  border-style:solid; border-color:rgba(255,255,255,.9); border-width:1.5px 1.5px 1.5px 0; border-radius:0 12px 12px 0;
  padding:18px 10px; display:flex; align-items:center; gap:8px; cursor:pointer;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:.76rem; letter-spacing:.06em;}
.quicklinks-tab:hover{background:var(--blue-mid);}
.quicklinks-tab svg{width:16px; height:16px; flex:none;}
.quicklinks-panel{display:none; flex-direction:column; justify-content:center; gap:4px;
  background:var(--bg-panel); border-block:1px solid var(--border);
  padding:12px; width:210px;}
.quicklinks-panel.is-open{display:flex;}
.quicklinks-item{display:flex; flex-direction:row; align-items:center; gap:12px; text-decoration:none; color:var(--ink);
  padding:9px 8px; border-radius:12px; text-align:left; transition:background .15s ease;}
.quicklinks-item:hover{background:var(--bg-panel-alt);}
.quicklinks-ic{width:34px; height:34px; border-radius:50%; background:var(--bg-panel-alt); color:var(--blue);
  display:flex; align-items:center; justify-content:center; flex:none;}
.quicklinks-ic svg{width:17px; height:17px;}
.quicklinks-item span{font-family:'Poppins',sans-serif; font-weight:700; font-size:.82rem;}
.quicklinks-item small{display:block; font-size:.72rem; color:var(--ink-faint); font-weight:500; margin-top:1px;}
@media (max-width:640px){
.quicklinks-panel{width:190px;}
}
.whatsapp-float{position:fixed; right:22px; bottom:24px; z-index:75; width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px -6px rgba(37,211,102,.55), var(--shadow-lg); transition:transform .15s ease;}
.whatsapp-float:hover{transform:scale(1.06);}
.whatsapp-float svg{width:28px; height:28px;}
@media (max-width:640px){
.whatsapp-float{right:16px; bottom:calc(76px + env(safe-area-inset-bottom)); width:50px; height:50px;}
.whatsapp-float svg{width:25px; height:25px;}
}
.tabbar{display:none;}
.tab{display:flex; flex-direction:column; align-items:center; gap:3px; flex:1; min-width:0; text-decoration:none; color:var(--ink-faint); padding:6px 2px; border-radius:14px;}
.tab svg{width:21px; height:21px;}
.tab span{font-family:'Poppins',sans-serif; font-size:.66rem; font-weight:600; white-space:nowrap;}
.tab.is-active{color:var(--blue);}
.tab-fab{flex:none; width:52px; height:52px; margin-top:-30px; border-radius:50%;
  background:var(--gold); color:var(--gold-ink); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px -6px rgba(252,228,0,.6), var(--shadow-lg); border:4px solid var(--bg-panel);}
.tab-fab svg{width:23px; height:23px;}
@media (max-width:640px){
.tabbar{display:flex; align-items:center; justify-content:space-between;
    position:fixed; left:0; right:0; bottom:0; z-index:80;
    background:var(--bg-panel); border-top:1px solid var(--border); box-shadow:var(--shadow-lg);
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));}
header.nav .nav-row{padding-block:9px;}
}
.page-head{background:linear-gradient(160deg, var(--blue-deep), var(--blue-mid)); color:#fff;}
.page-head .wrap{padding-block:56px 68px;}
.breadcrumb{display:flex; align-items:center; gap:8px; font-size:.86rem; color:#AEBBE0; flex-wrap:wrap;}
.breadcrumb a{text-decoration:none; color:#AEBBE0;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb svg{width:12px; height:12px; opacity:.7;}
.breadcrumb .is-current{color:#fff; font-weight:600;}
.page-head h1{color:#fff; margin-top:16px; font-size:clamp(1.9rem, 1.3rem + 2.4vw, 3rem);}
.page-head h1.h1-split{text-wrap:balance; font-size:clamp(1.75rem, 1.1rem + 2.4vw, 3rem);}
@media (max-width:760px){
.page-head h1.h1-split .br-wide{display:none;}
}
.page-head .lede{margin-top:16px; color:#D7DFF6; max-width:62ch; font-size:1.04rem;}
@media (max-width:900px){
.page-head .wrap{padding-block:40px 48px;}
.page-head .lede{font-size:.94rem;}
}
.page-head--art{position:relative; overflow:hidden; background:linear-gradient(170deg, #173C9C 0%, var(--blue-mid) 55%, #08236A 100%);}
.page-head--art .wrap{position:relative; z-index:1; padding-block:76px 88px;}
.page-head--art .lede{max-width:44ch;}
.page-head-art{position:absolute; top:0; right:0; bottom:0; width:56%; z-index:0;}
.page-head-art svg{display:block; width:100%; height:100%;}
.page-head-art .pha-c{display:none;}
@media (min-width:641px) and (max-width:900px){
.page-head-art .pha-d{display:none;}
.page-head-art .pha-c{display:block;}
}
@media (max-width:1150px){
.page-head-art{width:50%;}
.page-head--art .lede{max-width:36ch;}
}
@media (max-width:900px){
.page-head-art{width:44%;}
.page-head--art .wrap{padding-block:48px 56px;}
.page-head--art .lede{max-width:30ch;}
}
@media (max-width:640px){
.page-head--art{display:flex; flex-direction:column;}
.page-head--art .wrap{width:100%; padding-block:32px 28px;}
.page-head--art .lede{max-width:none;}
.page-head-art{position:relative; top:auto; right:auto; bottom:auto; width:auto; height:clamp(180px, 52vw, 260px);}
}
.gallery-grid{margin-top:36px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){
.gallery-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
.gallery-grid{gap:10px;}
}
.gallery-grid figure{margin:0; position:relative; border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow);}
.gallery-grid img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .2s ease;}
.gallery-grid figure:hover img{transform:scale(1.04);}
.gallery-grid figcaption{position:absolute; left:0; right:0; bottom:0; padding:22px 12px 9px;
  background:linear-gradient(0deg, rgba(7,26,61,.88), transparent);
  color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.02em;}
@media (max-width:560px){
.gallery-grid figcaption{font-size:.72rem; padding:18px 10px 7px;}
}
.page-subnav{position:sticky; top:var(--nav-h, 64px); z-index:30; background:var(--bg-panel); border-bottom:1px solid var(--border); overflow-x:auto; scrollbar-width:none;}
.page-subnav::-webkit-scrollbar{display:none;}
.page-subnav .wrap{display:flex; gap:6px; padding-block:10px;}
.page-subnav a{flex:none; text-decoration:none; font-family:'Poppins',sans-serif; font-weight:600; font-size:.86rem;
  color:var(--ink-soft); padding:8px 16px; border-radius:var(--radius-chip); white-space:nowrap; transition:background .15s ease, color .15s ease;}
.page-subnav a:hover{background:var(--bg-panel-alt); color:var(--blue);}
.page-subnav a.is-active{background:var(--blue); color:#fff;}
.split{display:grid; grid-template-columns:.92fr 1.08fr; gap:72px; align-items:center;}
@media (max-width:960px){
.split{gap:40px;}
}
@media (max-width:640px){
.split{grid-template-columns:1fr; gap:40px;}
}
.split.split--reverse{grid-template-columns:1.08fr .92fr;}
@media (max-width:640px){
.split.split--reverse{grid-template-columns:1fr;}
}
.split.split--reverse > :first-child{order:2;}
.split.split--reverse > :last-child{order:1;}
@media (max-width:640px){
.split.split--reverse > *{order:initial !important;}
}
.split.split--photo-left{grid-template-columns:1.08fr .92fr;}
@media (max-width:640px){
.split.split--photo-left{grid-template-columns:1fr;}
}
.content-photo{border-radius:var(--radius-panel); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/5; background:var(--bg-panel-alt);}
.content-photo img{width:100%; height:100%; object-fit:cover;}
.feat-list{margin-top:30px; display:flex; flex-direction:column; gap:20px;}
.feat-item{display:flex; gap:16px; align-items:flex-start;}
.feat-item .ic{width:44px; height:44px; border-radius:12px; background:var(--bg-panel-alt); color:var(--blue); display:flex; align-items:center; justify-content:center; flex:none;}
.feat-item .ic svg{width:22px; height:22px;}
.feat-item h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:.98rem;}
.feat-item p{font-size:.92rem; color:var(--ink-soft); margin-top:4px;}
.mr-embudo{font-family:'Poppins',sans-serif; color:var(--ink); margin-top:40px;}
.mr-card{display:flex; flex-direction:column; gap:clamp(3px,.5vw,5px);}
.mr-body{display:grid; grid-template-columns:minmax(220px,42%) minmax(0,1fr); gap:clamp(14px,3vw,36px); align-items:stretch;}
.mr-media{margin:0; border-radius:20px; overflow:hidden; position:relative; align-self:stretch;
  min-height:280px; background:var(--bg-panel-alt); box-shadow:0 10px 30px rgba(11,42,111,.12);}
.mr-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:opacity .3s ease;}
.mr-media.is-swapping img{opacity:0;}
.mr-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(3px,.5vw,5px);}
.mr-item{display:block;}
.mr-btn{border:none; cursor:pointer; font:inherit; text-align:left; border-radius:22px; width:100%;
  padding:clamp(7px,1vw,10px) clamp(16px,2vw,24px); display:flex; flex-direction:column; gap:6px;
  background:var(--bg-panel); color:var(--ink); transition:background .25s ease, color .25s ease, transform .25s ease;}
.mr-btn:hover{transform:translateX(4px);}
.mr-btn:focus-visible{outline:3px solid var(--blue); outline-offset:3px;}
.mr-head{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.mr-title{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(12px,1.2vw,15px); line-height:1.3;}
.mr-icon{flex:none; width:28px; height:28px; border-radius:999px; display:grid; place-items:center; font-weight:700; font-size:18px; background:#fff; color:var(--blue-mid);}
.mr-desc{font-size:clamp(14px,1.3vw,16px); line-height:1.55; font-weight:500; color:inherit; max-width:560px; display:none;}
.mr-thumb{display:none;}
.mr-item.is-open .mr-btn{background:var(--c); transform:translateX(4px);}
.mr-item.is-open.is-dark .mr-btn{color:#fff;}
.mr-item.is-open .mr-desc{display:block;}
.mr-item.is-open .mr-icon{background:var(--ink); color:var(--gold);}
.mr-item.is-open.is-dark .mr-icon{background:#fff; color:var(--c);}
.mr-foot{display:grid; grid-template-columns:minmax(110px,40%) minmax(0,1fr); gap:clamp(12px,3vw,40px); padding-top:8px;}
.mr-foot-inner{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;}
.mr-more{font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(20px,2.4vw,28px); color:var(--blue-mid);}
.mr-cta{display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--ink); text-decoration:none; font-weight:700; border-radius:999px; padding:12px 22px; box-shadow:0 6px 18px rgba(255,200,0,.35);}
.mr-cta:hover{background:var(--gold-deep); color:#fff;}
@media (prefers-reduced-motion:reduce){
.mr-media img, .mr-btn{transition:none;}
}
@media (max-width:1024px){
.mr-body, .mr-foot{grid-template-columns:minmax(180px,38%) minmax(0,1fr); gap:clamp(12px,2vw,24px);}
}
@media (max-width:640px){
.mr-body, .mr-foot{grid-template-columns:1fr;}
.mr-media{display:none;}
.mr-foot > span{display:none;}
.mr-item.is-open .mr-thumb{display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
    border-radius:12px; margin-top:10px;}
}
.quote-box{margin-top:26px; background:var(--blue-deep); color:#E9EEFC; border-radius:14px; padding:20px 22px;
  font-family:'Poppins',sans-serif; font-size:.72rem; letter-spacing:.08em; font-weight:600; text-align:center;}
.quote-box b{color:var(--gold);}
.motto{margin-top:24px; padding-block:14px; border-block:1px solid var(--border);
  font-family:'Poppins',sans-serif; font-size:.85rem; font-weight:700; letter-spacing:.03em; color:var(--ink-soft);}
.motto b{color:var(--gold-deep);}
.prose{margin-top:18px; color:var(--ink-soft); font-size:1rem; max-width:72ch; display:flex; flex-direction:column; gap:14px;}
.prose strong{color:var(--ink);}
.lyrics{position:relative; height:114px; overflow:hidden; -webkit-mask-image:linear-gradient(180deg, transparent, #000 15%, #000 85%, transparent); mask-image:linear-gradient(180deg, transparent, #000 15%, #000 85%, transparent);}
.lyrics-track{transition:transform .4s ease;}
.lyric-line{margin:0; height:38px; display:flex; align-items:center; justify-content:center; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  font-size:1.08rem; color:var(--ink-faint);
  transition:color .25s ease, font-weight .25s ease;}
.lyric-line.is-sung{color:var(--ink-soft);}
.lyric-line.is-active{color:var(--blue); font-weight:700;}
@media (prefers-reduced-motion: reduce){
.lyrics-track{transition:none;}
.lyric-line{transition:none;}
}
.card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:44px;}
@media (max-width:960px){
.card-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
.card-grid{grid-template-columns:1fr; gap:12px;}
}
.card-grid.card-grid--3{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){
.card-grid.card-grid--3{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
.card-grid.card-grid--3{grid-template-columns:1fr;}
}
.card-grid.card-grid--2{grid-template-columns:1fr 1fr;}
@media (max-width:560px){
.card-grid.card-grid--2{grid-template-columns:1fr;}
}
.proj-card{background:var(--bg-panel); border:1px solid var(--border); border-radius:var(--radius-card); padding:22px 20px; display:flex; flex-direction:column; gap:10px; transition:border-color .15s ease, transform .15s ease;}
.proj-card:hover{border-color:var(--blue); transform:translateY(-2px);}
.proj-card .ic{width:30px; height:30px; color:var(--accent-ink);}
.proj-card .ic svg{width:100%; height:100%;}
.proj-card h4{font-size:1rem; font-family:'Poppins',sans-serif; font-weight:700;}
.proj-card p{font-size:.92rem; color:var(--ink-soft);}
@media (max-width:560px){
.proj-card{padding:14px 12px; gap:6px;}
.proj-card .ic{width:22px; height:22px;}
.proj-card h4{font-size:.88rem; line-height:1.25;}
.proj-card p{font-size:.82rem; line-height:1.35;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.proj-card--full p{display:block; -webkit-line-clamp:unset; overflow:visible;}
}
.proj-card.proj-card--team{position:relative; overflow:hidden; gap:12px; padding:32px 28px 34px;
  border-radius:48px 48px 48px 0; border-color:transparent; box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;}
.proj-card.proj-card--team::before{content:""; position:absolute; top:-6px; right:-6px; width:58px; height:58px; border-radius:50%;
  border:8px solid rgba(252,228,0,.26); transition:transform .35s ease, border-color .35s ease;}
.proj-card.proj-card--team:hover{border-color:transparent; transform:translateY(-6px); box-shadow:0 26px 56px -22px rgba(7,26,61,.4);}
.proj-card.proj-card--team:hover::before{transform:scale(1.14); border-color:var(--gold);}
.proj-card--team .ic{position:relative; width:36px; height:36px; margin-bottom:8px; color:var(--blue);}
.proj-card--team .ic svg{width:100%; height:100%; stroke-width:1.5;}
.proj-card.proj-card--team h4{font-size:1.22rem; line-height:1.25; color:var(--ink);}
.proj-card.proj-card--team p{font-size:.96rem; line-height:1.65;}
@media (max-width:560px){
.proj-card.proj-card--team{padding:28px 24px 30px; border-radius:36px 36px 36px 0;}
.proj-card.proj-card--team::before{width:46px; height:46px; border-width:6px; top:-5px; right:-5px;}
.proj-card--team .ic{width:30px; height:30px;}
.proj-card.proj-card--team h4{font-size:1.12rem;}
.proj-card.proj-card--team p{font-size:.9375rem; display:block; -webkit-line-clamp:unset; overflow:visible;}
}
@media (prefers-reduced-motion:reduce){
.proj-card.proj-card--team, .proj-card.proj-card--team::before{transition:none;}
.proj-card.proj-card--team:hover, .proj-card.proj-card--team:hover::before{transform:none;}
}
.proj-card--team .ph{position:relative; margin:-32px -28px 10px; aspect-ratio:4/3; overflow:hidden; background:var(--bg-panel-alt);}
.proj-card--team .ph img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.proj-card.proj-card--team:hover .ph img{transform:scale(1.05);}
.proj-card.proj-card--team:has(.ph)::before{z-index:1; border-color:rgba(252,228,0,.55);}
@media (max-width:560px){
.proj-card--team .ph{margin:-28px -24px 8px;}
}
@media (prefers-reduced-motion:reduce){
.proj-card--team .ph img{transition:none;}
.proj-card.proj-card--team:hover .ph img{transform:none;}
}
.team-slider{position:relative; aspect-ratio:4/3;}
.ts-track{display:flex; height:100%; transition:transform .6s cubic-bezier(.22,.7,.2,1);}
.ts-slide{position:relative; flex:0 0 100%; height:100%; margin:0;}
.ts-slide img{width:100%; height:100%; object-fit:cover;}
.ts-band{position:absolute; left:0; bottom:28px; max-width:calc(100% - 150px); padding:12px 24px 12px 18px;
  background:var(--blue); color:#fff; border-left:6px solid var(--gold); border-radius:0 999px 999px 0;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:1.05rem; line-height:1.25; box-shadow:0 12px 26px -12px rgba(7,26,61,.6);}
.team-slider:not(.is-multi) .ts-band{max-width:calc(100% - 28px);}
.ts-arrow{position:absolute; bottom:24px; z-index:2; width:46px; height:46px; border-radius:50%; border:0; padding:0; cursor:pointer;
  background:#fff; color:var(--blue); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px -10px rgba(7,26,61,.55); transition:background .2s ease, color .2s ease, transform .2s ease;}
.ts-arrow svg{width:20px; height:20px;}
.ts-arrow:hover{background:var(--gold); color:var(--gold-ink); transform:scale(1.06);}
.ts-arrow:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.ts-prev{right:78px;}
.ts-next{right:22px;}
.ts-dots{position:absolute; top:14px; right:14px; z-index:2; display:flex; padding:2px 6px; border-radius:999px; background:rgba(7,26,61,.35);}
.ts-dots button{width:22px; height:22px; border:0; padding:0; background:none; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.ts-dots button::before{content:""; width:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.7); transition:width .3s ease, background .3s ease;}
.ts-dots button[aria-current="true"]{width:30px;}
.ts-dots button[aria-current="true"]::before{width:20px; background:var(--gold);}
.team-slider:not(.is-multi) :is(.ts-arrow, .ts-dots){display:none;}
@media (max-width:560px){
.ts-band{bottom:16px; padding:9px 16px 9px 13px; border-left-width:5px; font-size:.9rem; max-width:calc(100% - 116px);}
.ts-arrow{width:40px; height:40px; bottom:14px;}
.ts-arrow svg{width:17px; height:17px;}
.ts-prev{right:60px;}
.ts-next{right:14px;}
}
@media (prefers-reduced-motion:reduce){
.ts-track, .ts-arrow, .ts-dots button::before{transition:none;}
}
.contact-cards{margin-top:36px; display:grid; grid-template-columns:repeat(3,1fr); gap:32px 24px;}
.contact-card{position:relative; background:var(--bg-panel); text-align:center;
  border-radius:30px 48px 48px 0; padding:24px 20px 26px; box-shadow:0 18px 48px -20px rgba(7,26,61,.22);
  display:flex; flex-direction:column; align-items:center; gap:4px; transition:transform .25s ease, box-shadow .25s ease;}
.contact-card::after{content:""; position:absolute; left:8%; right:8%; bottom:-8px; height:8px; background:var(--blue);
  clip-path:polygon(0 0, 100% 0, 95% 100%, 5% 100%);}
.contact-card:hover{transform:translateY(-6px); box-shadow:0 26px 56px -22px rgba(7,26,61,.3);}
.cc-ring{width:66px; height:66px; border-radius:23px; border:2px solid var(--blue); margin-bottom:6px;
  display:flex; align-items:center; justify-content:center;}
.cc-tile{width:48px; height:48px; border-radius:17px; background:var(--blue); color:#fff;
  display:flex; align-items:center; justify-content:center;}
.cc-tile svg{width:23px; height:23px; stroke-width:1.6;}
.contact-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:1rem; line-height:1.25; color:var(--ink);}
.contact-card p{font-size:.88rem; line-height:1.55; font-weight:500; color:var(--ink-soft);}
a.contact-card{color:inherit; text-decoration:none;}
a.contact-card:focus-visible{outline:3px solid var(--blue); outline-offset:6px;}
.cc-go{margin-top:6px; display:inline-flex; align-items:center; gap:7px; font-family:'Poppins',sans-serif; font-weight:700; font-size:.84rem; color:var(--blue);}
.cc-go svg{width:14px; height:14px; transition:transform .25s ease;}
.contact-card:hover .cc-go svg{transform:translateX(4px);}
@media (max-width:900px){
.contact-cards{gap:28px 14px;}
.contact-card{border-radius:26px 40px 40px 0; padding:20px 14px 22px;}
.cc-ring{width:58px; height:58px; border-radius:20px;}
.cc-tile{width:42px; height:42px; border-radius:15px;}
.cc-tile svg{width:20px; height:20px;}
.contact-card h4{font-size:.94rem;}
.contact-card p{font-size:.82rem;}
.cc-go{font-size:.8rem;}
}
@media (max-width:640px){
.contact-cards{grid-template-columns:1fr; gap:30px; margin-top:30px;}
.contact-card{border-radius:28px 46px 46px 0; padding:22px 20px 24px;}
.cc-ring{width:66px; height:66px; border-radius:23px;}
.cc-tile{width:48px; height:48px; border-radius:17px;}
.cc-tile svg{width:23px; height:23px;}
.contact-card h4{font-size:1.08rem;}
.contact-card p{font-size:.9375rem;}
.cc-go{font-size:.84rem;}
}
@media (prefers-reduced-motion:reduce){
.contact-card, .cc-go svg{transition:none;}
.contact-card:hover, .contact-card:hover .cc-go svg{transform:none;}
}
.mv-grid{margin-top:36px; display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch;}
.mv-card{position:relative; overflow:hidden; isolation:isolate; border-radius:26px; padding:30px 30px 34px;
  display:flex; flex-direction:column; align-items:flex-start; gap:12px; box-shadow:var(--shadow-lg);}
.mv-card--mision{background:linear-gradient(160deg, var(--blue-deep), var(--blue-mid)); color:#fff;}
.mv-card--vision{background:var(--bg-panel); color:var(--ink);}
.mv-ic{width:46px; height:46px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center;}
.mv-ic svg{width:22px; height:22px;}
.mv-card--mision .mv-ic{background:var(--gold); color:var(--gold-ink);}
.mv-card--vision .mv-ic{background:var(--blue); color:#fff;}
.mv-card h3{font-family:'Poppins',sans-serif; font-weight:700; font-size:1.45rem; line-height:1.15;}
.mv-card--mision h3{color:#fff;}
.mv-card--vision h3{color:var(--ink);}
.mv-rule{width:44px; height:3px; border-radius:4px; background:var(--gold);}
.mv-card p{font-size:.94rem; line-height:1.7;}
.mv-card--mision p{color:#D7DFF6;}
.mv-card--vision p{color:var(--ink-soft);}
.mv-watermark{position:absolute; right:-26px; bottom:-34px; width:170px; height:170px; z-index:-1; pointer-events:none;
  fill:none; stroke:currentColor; stroke-width:.9; stroke-linecap:round; stroke-linejoin:round; opacity:.09;}
.mv-card--vision .mv-watermark{color:var(--blue); opacity:.08;}
@media (max-width:900px){
.mv-grid{gap:16px;}
.mv-card{padding:26px 24px 30px; border-radius:22px;}
.mv-card h3{font-size:1.3rem;}
.mv-card p{font-size:.92rem;}
.mv-watermark{width:140px; height:140px;}
}
@media (max-width:760px){
.mv-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
.mv-card{padding:22px 20px 26px; border-radius:20px;}
.mv-ic{width:42px; height:42px;}
.mv-ic svg{width:20px; height:20px;}
.mv-card h3{font-size:1.2rem;}
.mv-card p{font-size:.9375rem; line-height:1.65;}
.mv-watermark{width:120px; height:120px;}
}
.reasons{margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:44px 24px;}
.reason{position:relative; overflow:visible; background:var(--bg-panel); border-radius:22px; padding:44px 26px 28px;
  box-shadow:var(--shadow); isolation:isolate; transition:transform .25s ease, box-shadow .25s ease;}
.reason::before{content:""; position:absolute; left:0; right:0; top:0; height:5px; border-radius:22px 22px 0 0;
  background:linear-gradient(90deg, var(--blue) 0 72%, var(--gold) 72% 100%);}
.reason:hover{transform:translateY(-5px); box-shadow:0 24px 52px -22px rgba(7,26,61,.35);}
.reason-ic{position:absolute; top:-26px; left:24px; width:52px; height:52px; border-radius:50%;
  background:var(--blue); color:#fff; border:4px solid var(--bg); box-shadow:0 10px 20px -8px rgba(18,77,176,.55);
  display:flex; align-items:center; justify-content:center;}
.reason-ic svg{width:23px; height:23px;}
.reason-n{position:absolute; right:20px; top:14px; z-index:-1; pointer-events:none; user-select:none;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:3.4rem; line-height:1; color:var(--blue); opacity:.08;}
.reason h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:1.1rem; line-height:1.25; color:var(--ink);}
.reason p{margin-top:8px; font-size:.94rem; line-height:1.65; color:var(--ink-soft);}
@media (max-width:900px){
.reasons{gap:40px 14px;}
.reason{padding:40px 18px 22px; border-radius:18px;}
.reason::before{border-radius:18px 18px 0 0;}
.reason-ic{left:18px; width:46px; height:46px; top:-23px;}
.reason-ic svg{width:21px; height:21px;}
.reason-n{font-size:2.8rem; right:14px; top:12px;}
.reason h4{font-size:1rem;}
.reason p{font-size:.86rem;}
}
@media (max-width:640px){
.reasons{grid-template-columns:1fr; gap:42px; margin-top:44px;}
.reason{padding:40px 22px 24px;}
.reason p{font-size:.9375rem;}
}
@media (prefers-reduced-motion:reduce){
.reason{transition:none;}
.reason:hover{transform:none;}
}
.proj-card.flag-card{--fc:var(--blue); position:relative; border-radius:26px 26px 26px 0; border-color:transparent; border-top:5px solid var(--fc);
  box-shadow:var(--shadow); padding:26px 24px 26px; gap:8px; transition:transform .25s ease, box-shadow .25s ease;}
.proj-card.flag-card:hover{border-color:transparent; border-top-color:var(--fc); transform:translateY(-5px); box-shadow:0 22px 48px -22px rgba(7,26,61,.35);}
.proj-card.flag-card--azul{--fc:var(--blue);}
.proj-card.flag-card--blanco{--fc:#C9D2EA;}
.proj-card.flag-card--verde{--fc:#2E9E5B;}
.flag-swatch{display:block; width:34px; height:34px; border-radius:50%; background:var(--fc); margin-bottom:6px;
  box-shadow:0 0 0 4px var(--bg-panel), 0 0 0 6px var(--fc); transition:transform .25s ease;}
.proj-card.flag-card--blanco .flag-swatch{background:#fff; box-shadow:0 0 0 4px var(--bg-panel), 0 0 0 6px var(--fc), inset 0 0 0 1px #C9D2EA;}
.proj-card.flag-card:hover .flag-swatch{transform:scale(1.1);}
.proj-card.flag-card h4{font-size:1.12rem;}
@media (max-width:560px){
.proj-card.flag-card{border-radius:22px 22px 22px 0; padding:20px 20px 22px;}
.proj-card.flag-card p{display:block; -webkit-line-clamp:unset; overflow:visible;}
}
@media (prefers-reduced-motion:reduce){
.proj-card.flag-card, .flag-swatch{transition:none;}
.proj-card.flag-card:hover, .proj-card.flag-card:hover .flag-swatch{transform:none;}
}
#promesa .doc-card{position:relative; overflow:hidden; border-radius:30px 30px 30px 0; border-color:transparent; box-shadow:var(--shadow);
  padding:30px 28px 38px; transition:transform .25s ease, box-shadow .25s ease;}
#promesa .doc-card::after{content:""; position:absolute; left:0; right:0; bottom:0; height:5px;
  background:linear-gradient(90deg, var(--blue) 0 72%, var(--gold) 72% 100%); transform:scaleX(.3); transform-origin:left; transition:transform .35s ease;}
#promesa .doc-card:hover{transform:translateY(-5px); box-shadow:0 24px 52px -22px rgba(7,26,61,.35);}
#promesa .doc-card:hover::after{transform:scaleX(1);}
#promesa .doc-card h4{gap:14px; font-size:1.1rem; line-height:1.25;}
#promesa .doc-card h4 svg{width:42px; height:42px; padding:10px; border-radius:50%; background:var(--blue); color:#fff; stroke-width:1.7; flex:none;
  box-shadow:0 8px 16px -8px rgba(18,77,176,.55);}
#promesa .doc-card li svg{color:var(--blue);}
@media (max-width:560px){
#promesa .doc-card{border-radius:24px 24px 24px 0; padding:24px 22px 32px;}
}
@media (prefers-reduced-motion:reduce){
#promesa .doc-card, #promesa .doc-card::after{transition:none;}
#promesa .doc-card:hover{transform:none;}
}
#documentos .doc-card{padding:0; overflow:hidden; border-radius:28px 28px 28px 0; border-color:transparent; box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;}
#documentos .doc-card:hover{transform:translateY(-5px); box-shadow:0 24px 52px -22px rgba(7,26,61,.35);}
#documentos .doc-card h4{gap:14px; padding:20px 24px; background:#EAF0FC; font-size:1.05rem; line-height:1.25; border-bottom:3px solid var(--gold);}
#documentos .doc-card h4 svg{width:40px; height:40px; padding:9px; border-radius:13px; background:var(--blue); color:#fff; stroke-width:1.7; flex:none;}
#documentos .doc-card ul{margin:0; padding:22px 24px 28px; gap:12px;}
#documentos .doc-card li svg{width:20px; height:20px; padding:4px; border-radius:50%; background:#E4ECFB; color:var(--blue); stroke-width:3; margin-top:1px;}
@media (max-width:560px){
#documentos .doc-card{border-radius:22px 22px 22px 0;}
#documentos .doc-card h4{padding:16px 18px;}
#documentos .doc-card ul{padding:18px 18px 22px;}
}
@media (prefers-reduced-motion:reduce){
#documentos .doc-card{transition:none;}
#documentos .doc-card:hover{transform:none;}
}
.faq-list{margin-top:40px; max-width:78ch; margin-inline:auto;}
details.faq{border-bottom:1px solid var(--border); padding-block:18px;}
details.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; font-weight:700; font-size:1rem; font-family:'Poppins',sans-serif; line-height:1.4;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary .plus{flex:none; width:22px; height:22px; margin-top:1px; color:var(--accent-ink); transition:transform .2s ease;}
details.faq[open] summary .plus{transform:rotate(45deg);}
details.faq .a{margin-top:12px; color:var(--ink-soft); font-size:.94rem; max-width:70ch;}
details.faq .a ul{margin:8px 0 0; padding-left:20px;}
details.faq .a li{margin-top:4px;}
@media (max-width:560px){
.faq-list{margin-top:26px;}
details.faq{padding-block:14px;}
details.faq summary{font-size:.9rem; gap:10px;}
details.faq summary .plus{width:17px; height:17px;}
details.faq .a{font-size:.88rem; margin-top:8px; line-height:1.45;}
}
.process{background:linear-gradient(160deg, var(--blue-deep), var(--blue-mid)); color:#fff; border-radius:28px;}
.process .wrap{padding-block:56px; max-width:calc(var(--maxw) - 48px);}
@media (max-width:640px){
.process .wrap{padding-block:40px;}
}
.process h2{color:#fff; font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem);}
@media (max-width:640px){
.process h2{font-size:1.4rem;}
}
.process .body-copy{color:#C7D2F2;}
.step-cta{margin-top:34px; display:flex; justify-content:center;}
.route{--track:180px; position:relative; margin-top:44px;}
.route-wave{position:absolute; top:0; left:0; width:100%; height:var(--track); overflow:visible;}
.route-steps{position:relative; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:18px;}
.route-step{--y:56px; position:relative; padding-top:var(--track); text-align:center;}
.route-step.is-low{--y:118px;}
.route-ic{position:absolute; left:50%; top:calc(var(--y) - 34px); translate:-50% 0; width:68px; height:68px; border-radius:50%;
  display:grid; place-items:center; background:#fff; color:var(--ic); box-shadow:0 14px 28px -10px rgba(0,0,0,.55);}
.route-ic svg{width:30px; height:30px;}
.route-step::before{content:""; position:absolute; left:50%; width:2px; translate:-1px 0; background:rgba(108,194,74,.55);
  top:calc(var(--y) + 44px); bottom:calc(100% - var(--track) + 10px);}
.route-ic{transition:transform .4s cubic-bezier(.3,1.4,.5,1), box-shadow .4s ease;}
.route-step.is-active .route-ic{transform:scale(1.22); box-shadow:0 0 0 4px var(--gold), 0 14px 26px -10px rgba(0,0,0,.6);}
.route-step p{transition:color .3s ease;}
.route-step.is-active p{color:#fff;}
.route-step{outline:none; cursor:default;}
.route-step:focus-visible .route-ic{box-shadow:0 0 0 5px var(--gold);}
@media (prefers-reduced-motion: reduce){
.route-ic{transition:none;}
}
.route-step p{margin-top:14px; font-size:.9rem; line-height:1.45; color:#E4E9FA;}
.route-n{display:block; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--gold); margin-bottom:4px;}
.route-chip{display:table; margin:10px auto 0; padding:3px 10px; border-radius:999px; border:1px solid rgba(252,228,0,.55);
  font-family:'Poppins',sans-serif; font-size:.72rem; font-weight:600; color:var(--gold);}
@media (max-width:1100px){
.route-step p{font-size:.84rem;}
.route-ic{width:60px; height:60px; top:calc(var(--y) - 30px);}
.route-ic svg{width:26px; height:26px;}
}
@media (max-width:900px){
.route{margin-top:32px;}
.route-wave{display:none;}
.route-steps{grid-template-columns:1fr; gap:34px;}
.route-steps::before{content:""; position:absolute; left:23px; top:24px; bottom:24px; width:5px; border-radius:3px; translate:-3px 0;
    background:linear-gradient(#3D6FE0, #6CC24A 22%, #6CC24A 78%, #3D6FE0);}
.route-step{padding:0 0 0 70px; min-height:48px; text-align:left; display:flex; align-items:center;}
.route-step::before{display:none;}
.route-ic, .route-step.is-low .route-ic{left:0; top:0; translate:none; width:48px; height:48px;}
.route-ic svg{width:22px; height:22px;}
.route-step p{margin-top:0; font-size:.92rem; line-height:1.65;}
.route-n{display:block; margin:0 0 4px; font-size:.95rem;}
.route-chip{display:table; margin:10px 0 0;}
}
.project-tabs{display:flex; gap:8px; overflow-x:auto; margin-top:36px; padding-bottom:6px; scrollbar-width:none;}
.project-tabs::-webkit-scrollbar{display:none;}
.project-tab{flex:none; font-family:'Poppins',sans-serif; font-weight:700; font-size:.82rem;
  padding:12px 20px; border-radius:var(--radius-chip); border:1.5px solid var(--border);
  background:var(--bg-panel); color:var(--ink-soft); cursor:pointer; white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease;}
.project-tab:hover{border-color:var(--blue); color:var(--blue);}
.project-tab.is-active{background:var(--blue); border-color:var(--blue); color:#fff;}
@media (max-width:560px){
.project-tab{padding:9px 15px; font-size:.8rem;}
}
.project-panels{margin-top:40px;}
.project-panel{display:none;}
.project-panel.is-active{display:block;}
.project-panel .split{align-items:center;}
.project-panel h3{margin-top:10px; font-size:1.3rem;}
.project-panel .eyebrow{font-size:.72rem;}
@media (max-width:560px){
.project-panel h3{font-size:1.05rem;}
}
.check-list{margin:18px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
.check-list li{position:relative; padding-left:28px; font-size:.9rem; color:var(--ink-soft);}
.check-list li::before{content:"✓"; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%;
  background:var(--bg-panel-alt); color:var(--blue); font-size:.62rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;}
@media (max-width:560px){
.check-list li{font-size:.86rem; padding-left:24px;}
}
.doc-grid{margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){
.doc-grid{grid-template-columns:1fr;}
}
.doc-card{background:var(--bg-panel); border:1px solid var(--border); border-radius:var(--radius-card); padding:24px 22px;}
.doc-card h4{font-family:'Poppins',sans-serif; font-size:1rem; font-weight:700; display:flex; align-items:center; gap:10px;}
.doc-card h4 svg{width:20px; height:20px; color:var(--accent-ink); flex:none;}
.doc-card ul{margin:16px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
.doc-card li{display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--ink-soft);}
.doc-card li svg{width:16px; height:16px; color:var(--gold-deep); flex:none; margin-top:2px;}
.doc-card li span{flex:1; min-width:0;}
@media (max-width:560px){
.doc-card{padding:14px 12px;}
.doc-card h4{font-size:.86rem; line-height:1.25;}
.doc-card li{font-size:.82rem; line-height:1.35;}
}
.notice{display:flex; gap:14px; align-items:flex-start; background:#FFF8DE; border:1px solid #F0E4A8; border-radius:var(--radius-card); padding:18px 20px; margin-top:24px;}
.notice .ic{width:22px; height:22px; color:var(--gold-deep); flex:none; margin-top:1px;}
.notice p{font-size:.88rem; color:var(--gold-ink);}
.notice strong{display:block; font-family:'Poppins',sans-serif; margin-bottom:3px;}
.cta-panel{background:var(--bg-panel-alt); border-radius:28px; text-align:center;}
.cta-panel .wrap{padding-block:56px; max-width:70ch;}
.cta-panel h2{margin-top:14px; font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem);}
@media (max-width:640px){
.cta-panel h2{font-size:1.4rem;}
}
.cta-panel .body-copy{margin-inline:auto;}
.cta-panel .ctas{margin-top:30px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
footer{background:var(--blue-deep); color:#C7D2F2; padding-block:64px 28px; display:flow-root;}
@media (max-width:640px){
footer{padding-block:44px 22px;}
}
.newsletter{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:20px;
  padding:34px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  margin-top:-48px; margin-bottom:56px; position:relative; z-index:1;}
.newsletter h3{color:#fff; font-size:1.3rem;}
.newsletter p{color:#AEBBE0; font-size:.88rem; margin-top:6px; max-width:40ch;}
.newsletter form{display:flex; gap:10px; flex-wrap:wrap;}
.newsletter input{background:#fff; border:none; border-radius:var(--radius-chip); padding:13px 20px; font-family:'Poppins',sans-serif; font-size:.9rem; width:240px; max-width:100%;}
.footer-grid{display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; gap:32px;}
@media (max-width:900px){
.footer-grid{grid-template-columns:1fr 1fr; gap:28px;}
}
@media (max-width:520px){
.footer-grid{grid-template-columns:1fr; gap:26px;}
}
.footer-brand{display:flex; gap:12px; align-items:center;}
.footer-brand img{width:auto; height:200px; object-fit:contain;}
@media (max-width:900px){
.footer-brand img{height:220px;}
}
@media (max-width:520px){
.footer-brand img{height:150px;}
.footer-brand{justify-content:center;}
.footer-motto{text-align:center;}
}
.footer-brand strong{font-family:'Poppins',sans-serif; color:#fff; font-size:1rem; display:block;}
.footer-motto{margin-top:14px; font-family:'Poppins',sans-serif; font-size:.7rem; letter-spacing:.08em; color:var(--gold);}
footer h5{color:#fff; font-family:'Poppins',sans-serif; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;}
footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
footer a{text-decoration:none; color:#C7D2F2; font-size:.88rem;}
footer a:hover{color:#fff;}
.footer-note{margin-top:10px; font-size:.8rem; line-height:1.5; color:#7C88AE; font-style:italic;}
.footer-bottom{margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.82rem; color:#8EA0D4;}
.footer-cert{display:flex; align-items:center; gap:10px;}
.footer-cert img{height:44px; width:auto; border-radius:6px;}
.footer-cert span{font-family:'Poppins',sans-serif; font-weight:600; font-size:.7rem; letter-spacing:.03em; color:#8EA0D4;}
.agenda{display:flex; flex-direction:column;}
.agenda-item{display:flex; gap:18px; padding:16px 10px; margin-inline:-10px; border-bottom:1px solid var(--border);
  text-decoration:none; color:inherit; border-radius:12px; transition:background .15s ease;}
.agenda-item:hover{background:var(--bg-panel-alt);}
a.agenda-item{text-decoration:none; color:inherit;}
a.agenda-item:hover h4{color:var(--blue);}
.agenda-item:first-child{padding-top:0; margin-top:0;}
.agenda-item:last-child{border-bottom:0;}
.agenda-photo{flex:none; width:92px; height:92px; border-radius:14px; overflow:hidden; background:var(--bg-panel-alt);}
.agenda-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.agenda-date{display:flex; align-items:center; gap:6px; font-size:.8rem; color:var(--ink-faint); font-weight:600;}
.agenda-date svg{width:14px; height:14px; flex:none; color:var(--gold-deep);}
.agenda-date + h4{margin-top:5px;}
.agenda-item h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:.95rem; color:var(--ink);}
.agenda-item p{font-size:.9rem; color:var(--ink-soft); margin-top:4px;}
@media (max-width:560px){
.agenda-photo{width:66px; height:66px; border-radius:11px;}
.agenda-item{gap:12px;}
.agenda-item h4{font-size:.88rem;}
.agenda-item p{font-size:.84rem;}
}
.carousel-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.carousel-nav{display:flex; align-items:center; gap:10px; flex:none;}
.carousel-wrap{position:relative; margin-top:28px;}
.carousel-arrow{position:absolute; top:50%; translate:0 -50%; z-index:5;
  width:40px; height:40px; border-radius:50%; border:1.5px solid var(--border); background:var(--bg-panel);
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:var(--shadow); transition:border-color .15s ease, color .15s ease;}
.carousel-arrow:hover{border-color:var(--blue); color:var(--blue);}
.carousel-arrow svg{width:18px; height:18px;}
.carousel-arrow--prev{left:-20px;}
.carousel-arrow--next{right:-20px;}
.carousel-arrow.is-hidden{display:none;}
.carousel{display:flex; gap:20px; padding-bottom:6px; overflow-x:auto;
  scroll-snap-type:x proximity; scroll-behavior:smooth; scrollbar-width:none;}
.carousel::-webkit-scrollbar{display:none;}
.article-card{position:relative; display:flex; flex-direction:column; padding:12px;
  background:var(--bg-panel); border:1px solid var(--border); border-radius:26px; box-shadow:var(--shadow);
  text-decoration:none; color:inherit; transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;}
.article-card:hover{border-color:var(--blue); transform:translateY(-3px); box-shadow:var(--shadow-lg);}
.article-card .article-photo{aspect-ratio:16/10; background:var(--bg-panel-alt); border-radius:16px 16px 44px 16px; overflow:hidden;}
.article-card .article-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.article-card .article-date{position:absolute; top:24px; right:0; z-index:1; display:flex; align-items:center; gap:6px;
  padding:6px 14px 6px 12px; border-radius:999px 0 0 999px; background:var(--gold); color:var(--blue-deep);
  font-size:.78rem; font-weight:700; box-shadow:0 6px 14px -6px rgba(7,26,61,.4);}
.article-card .article-date svg{width:14px; height:14px; flex:none;}
.article-card .article-body{display:flex; flex-direction:column; flex:1; padding:16px 8px 6px;}
.article-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:1.02rem; line-height:1.3; color:var(--ink);}
.article-card p{font-size:.9rem; color:var(--ink-soft); margin-top:6px;}
.article-card .article-more{align-self:flex-start; margin-top:auto; display:inline-flex; align-items:center; gap:7px;
  padding:8px 16px; border-radius:999px; background:var(--blue-deep); color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.02em;
  transition:background .15s ease, color .15s ease;}
.article-card .article-body p + .article-more, .article-card h4 + .article-more{margin-top:16px;}
.article-card .article-more svg{width:13px; height:13px; transition:transform .15s ease;}
.article-card:hover .article-more{background:var(--gold); color:var(--blue-deep);}
.article-card:hover .article-more svg{transform:translateX(3px);}
.carousel .article-card{flex:0 0 auto; width:280px; scroll-snap-align:start;}
@media (max-width:900px){
.carousel .article-card{width:250px;}
.carousel-arrow--prev{left:-10px;}
.carousel-arrow--next{right:-10px;}
}
@media (max-width:640px){
.carousel-head{align-items:flex-start;}
.carousel-arrow{display:none;}
.carousel{gap:14px;}
.carousel .article-card{width:78%;}
}
.article-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:36px;}
@media (max-width:900px){
.article-grid{grid-template-columns:repeat(2,1fr); gap:18px;}
}
@media (max-width:560px){
.article-grid{grid-template-columns:1fr; gap:16px;}
}
.article-grid .article-card[hidden]{display:none;}
.pagination{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:40px;}
.pagination button{min-width:38px; height:38px; padding:0 8px; border-radius:50%; border:1.5px solid var(--border); background:var(--bg-panel);
  color:var(--ink-soft); font-family:'Poppins',sans-serif; font-weight:700; font-size:.82rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:border-color .15s ease, color .15s ease, background .15s ease;}
.pagination button:hover:not(:disabled){border-color:var(--blue); color:var(--blue);}
.pagination button[aria-current="true"]{background:var(--blue); border-color:var(--blue); color:#fff;}
.pagination button:disabled{opacity:.35; cursor:default;}
.pagination button.pagination-arrow svg{width:16px; height:16px;}
@media (max-width:560px){
.pagination button{min-width:34px; height:34px; font-size:.76rem;}
}
.proj-card--full p, #promesa .doc-card p{font-size:.92rem;}
@media (max-width:640px){
.hero-lede, .page-head .lede{font-size:1rem;}
.proj-card p, .doc-card p, .doc-card span, .doc-card strong, .feat-item p,
  .level-card p, .route-step p, .article-card p, .agenda-item p,
  details.faq .a, .mr-desc, .news-note, #contacto p, .proj-card--full p, #promesa .doc-card p{font-size:.9375rem; line-height:1.6;}
.proj-card p{display:block; -webkit-line-clamp:unset; overflow:visible;}
details.faq summary{font-size:1rem;}
.proj-card h4, .doc-card h4, .article-card h4, .agenda-item h4, .feat-item h4, .mr-title{font-size:1.0625rem;}
.level-card h3{font-size:1.125rem;}
figcaption, .gallery-grid figcaption, .footer-note, .agenda-date{font-size:.8125rem;}
#contacto h4{font-size:.8125rem;}
.eyebrow, .project-panel .eyebrow, .route-chip, .level-pill, .level-badge2, .footer-motto, .footer-cert span{font-size:.75rem;}
.tab span{font-size:.6875rem;}
.brand-name small, .vp-base-label small{font-size:.625rem;}
}
@media (max-width:640px){
.topbar-item{min-width:36px; min-height:36px; justify-content:center;}
.breadcrumb a, .breadcrumb .is-current{padding-block:8px; margin-block:-8px; display:inline-block;}
details.faq summary{padding-block:12px; margin-block:-12px;}
.inline-link{padding-block:8px; margin-block:-8px;}
}
.art-grid{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start;}
.art-cover{margin:0; border-radius:var(--radius-panel); overflow:hidden; aspect-ratio:16/9; background:var(--blue-mid); box-shadow:var(--shadow);}
.art-cover img{display:block; width:100%; height:100%; object-fit:cover;}
.art-meta{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
.art-chip{display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:var(--radius-chip); background:var(--bg-panel); border:1px solid var(--border); color:var(--ink); font-size:.84rem; font-weight:600;}
.art-chip svg{width:15px; height:15px; color:var(--blue); flex:none;}
.art-main .prose{margin-top:20px; font-size:1.04rem; max-width:none;}
.art-foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin-top:28px; padding-top:20px; border-top:1px solid var(--border);}
.art-share{display:flex; align-items:center; gap:8px;}
.art-share span{font-weight:700; font-size:.88rem; color:var(--ink); margin-right:2px;}
.art-share a, .art-share button{width:34px; height:34px; border-radius:50%; border:0; padding:0; cursor:pointer; background:var(--blue-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; transition:transform .15s ease, background .15s ease;}
.art-share a:hover, .art-share button:hover{transform:translateY(-1px); background:var(--blue);}
.art-share button.is-done{background:var(--green); color:#fff;}
.art-share svg{width:15px; height:15px;}
.art-side{display:flex; flex-direction:column; gap:18px;}
.art-box{background:var(--bg-panel); border:1px solid var(--border); border-radius:var(--radius-panel); padding:22px; box-shadow:var(--shadow);}
.art-box h2{font-size:1.05rem; margin:0 0 16px; padding-bottom:12px; position:relative;}
.art-box h2::after{content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; border-radius:3px; background:var(--gold);}
.art-recent{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); padding-block:8px;}
.art-recent img{width:64px; height:64px; border-radius:12px; object-fit:cover; flex:none;}
.art-recent b{display:block; font-size:.9rem; line-height:1.3;}
.art-recent small{display:block; margin-top:3px; color:var(--ink-faint); font-size:.78rem;}
.art-recent:hover b{color:var(--blue);}
.art-links{list-style:none; margin:0; padding:0;}
.art-links li + li{border-top:1px solid var(--border);}
.art-links a{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 0; text-decoration:none; color:var(--ink); font-weight:600; font-size:.92rem;}
.art-links svg{width:14px; height:14px; color:var(--blue); transition:transform .15s ease;}
.art-links a:hover{color:var(--blue);}
.art-links a:hover svg{transform:translateX(3px);}
.art-social{display:flex; gap:8px;}
.art-social a{width:36px; height:36px; border-radius:50%; background:var(--blue-deep); color:var(--gold); display:flex; align-items:center; justify-content:center; transition:transform .15s ease, background .15s ease;}
.art-social a:hover{transform:translateY(-1px); background:var(--blue);}
.art-social svg{width:16px; height:16px;}
@media (max-width:900px){
.art-grid{grid-template-columns:1fr; gap:28px;}
.art-cover{border-radius:18px;}
}
@media (max-width:640px){
.art-main{display:flex; flex-direction:column;}
.art-meta{order:-1; margin:0 0 14px; gap:6px;}
.art-chip{padding:5px 11px; font-size:.76rem; gap:6px;}
.art-chip svg{width:13px; height:13px;}
.art-cover{border-radius:16px;}
}
.split--form{align-items:start;}
.contact-form{background:var(--bg-panel); border-radius:30px 30px 30px 0; padding:32px 30px 34px; box-shadow:var(--shadow);}
.contact-form p{margin:0 0 16px;}
.contact-form label{display:block; font:600 .86rem 'Poppins',sans-serif; color:var(--ink); margin-bottom:6px;}
.contact-form label span{font-weight:500; color:var(--ink-faint);}
.contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=tel], .contact-form select, .contact-form textarea{width:100%; font:inherit; color:var(--ink); background:#fff; border:1.5px solid var(--border); border-radius:14px; padding:12px 14px; transition:border-color .15s ease, box-shadow .15s ease;}
.contact-form textarea{resize:vertical; min-height:120px;}
.contact-form input:focus-visible, .contact-form select:focus-visible, .contact-form textarea:focus-visible{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(18,77,176,.18);}
.cf-fila{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.cf-acepto label{display:flex; gap:10px; align-items:flex-start; font:500 .86rem 'Mulish',sans-serif; color:var(--ink-soft);}
.cf-acepto input{margin-top:3px; flex:none; width:18px; height:18px; accent-color:var(--blue);}
.cf-trampa{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.form-aviso{display:flex; gap:12px; align-items:flex-start; padding:18px 20px; border-radius:18px; font-weight:600;}
.form-aviso[hidden]{display:none;}
.form-aviso svg{width:22px; height:22px; flex:none; margin-top:1px;}
.form-aviso--ok{background:#E4F3EA; color:#134929;}
.form-aviso--err{background:#FDECEC; color:#7A1C1C; margin-bottom:16px;}
@media (max-width:900px){
.split--form{gap:28px;}
}
@media (max-width:640px){
.cf-fila{grid-template-columns:1fr;}
.contact-form{padding:24px 20px 26px; border-radius:24px 24px 24px 0;}
}
.politica{max-width:none; gap:12px;}
.politica h2{font-size:1.25rem; margin-top:22px; color:var(--ink);}
.politica h2:first-child{margin-top:0;}
.politica ul{margin:0; padding-left:1.2em; display:flex; flex-direction:column; gap:8px;}
.politica a{color:var(--blue); text-decoration:underline; text-underline-offset:3px;}
.footer-legal{color:#C7D2F2; font-size:.82rem; text-decoration:underline; text-underline-offset:3px;}
.footer-legal:hover{color:#fff;}
