/* Home polish following the approved Cargo Flash desktop and mobile compositions. */
:root{--cf-navy:#071d3c;--cf-blue:#0876d4;--cf-sky:#36a9f4;--cf-yellow:#ffcb05}
/* The approved banner artwork includes its own typography and action button. */
.hero{height:auto;aspect-ratio:1600/430;max-height:390px;min-height:0;background:#071d3c}
.hero-track,.hero-slide{height:100%;width:100%}
.hero-slide{display:block;padding:0!important;background-image:none!important}
.hero-slide:before{display:none!important}
.hero-slide picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.hero-slide picture img{display:block;width:100%;height:100%;object-fit:cover}
.hero-controls{left:22px;right:22px;bottom:12px}
/* Quick service icons use the two corporate colors. */
.service-rail a{transition:transform .22s ease,box-shadow .22s ease}
.service-rail a:hover{transform:translateY(-3px)}
.service-rail .rail-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#0876d4,#0754a6);color:#ffcf16;box-shadow:0 8px 18px #086ac526;font-size:20px}
.service-rail a:nth-child(even) .rail-icon{background:#ffcb05;color:#073a75}
/* Service cards have a clear, generous action instead of a tiny arrow. */
.service-cards{gap:16px}
.service-card{border:0;border-radius:14px;box-shadow:0 12px 30px rgba(6,31,67,.13)}
.service-card>img{height:clamp(130px,14vw,190px);}
.service-card-body{min-height:144px;padding:18px 18px 62px 20px}
.service-card h3{font-size:16px;line-height:1.25;margin:0 0 8px}
.service-card p{font-size:12px;line-height:1.45}
.service-card-body>a.service-card-cta{position:absolute;left:18px;right:18px;bottom:16px;width:auto;height:38px;border:0;border-radius:22px;display:flex;align-items:center;justify-content:center;background:#0872ca;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:0 7px 15px rgba(8,96,177,.22)}
.service-card-body>a.service-card-cta:hover{background:#ffcb05;color:#071d3c}
.card-icon{color:#0876d4;background:#eaf5ff;border-radius:10px}
/* Restrained, horizontal news carousel once the content exceeds three cards. */
.news-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.news-head-actions{display:flex;align-items:center;gap:18px}
.news-controls{display:flex;gap:8px}
.news-controls[hidden]{display:none}
.news-controls button{width:38px;height:38px;border:1px solid #d5e1ef;border-radius:50%;background:#fff;color:#0b396c;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 5px 14px #0a315113}
.news-controls button:hover{background:#ffcb05;border-color:#ffcb05}
.news-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.news-grid.has-carousel{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:8px}
.news-grid.has-carousel::-webkit-scrollbar{display:none}
.news-grid.has-carousel .news-card{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.news-card{min-height:230px;border-radius:14px}
/* National coverage: keep the map in its portrait projection and place pins on the map. */
.map-stage{height:auto;aspect-ratio:360/520;display:flex;align-items:center;justify-content:center;max-height:390px}
.map-canvas{position:relative;width:100%;height:100%;aspect-ratio:360/520}
.colombia-map{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.map-marker{z-index:2;padding:6px 8px 6px 21px;max-width:44%;border-radius:8px;background:rgba(4,25,55,.94);backdrop-filter:blur(6px)}
.map-marker>span{top:9px;left:7px;width:9px;height:9px}
.map-marker b{font-size:9px}.map-marker small{font-size:7px}
.marker-cartagena{left:5%;top:17%}.marker-barranquilla{left:20%;top:11%}.marker-bogota{left:42%;top:48%}.marker-buenaventura{left:1%;top:53%}.marker-cali{left:11%;top:58%}
/* Advisory photograph is a transparent foreground layer that overlaps the banner. */
.advisory{min-height:230px;padding:30px 42px;overflow:visible;border-radius:16px;isolation:isolate}
.advisory-bg{z-index:-1;border-radius:inherit;background:linear-gradient(100deg,rgba(3,20,44,.98),rgba(4,34,70,.90) 55%,rgba(4,33,68,.54)),url("advisory.webp") center 42%/cover}
.advisory-copy{max-width:40%;z-index:2}
.advisory h2{font-size:clamp(28px,3vw,38px)}
.advisory-points{margin-right:23%;z-index:2}
.advisor-photo{position:absolute;z-index:3;right:3%;bottom:-1px;width:auto;height:114%;max-width:34%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 22px rgba(0,0,0,.28))}
/* Dark corporate footer with the original logo rendered white through a display filter. */
.site-footer{margin-top:58px;padding:44px 0 0;border:0;background:#061a35;color:#e8f0fa}
.footer-grid{grid-template-columns:1.15fr .8fr 1.15fr 1.1fr 1fr;gap:28px;align-items:start}
.site-footer h3{color:#fff;font-size:14px;margin:0 0 15px}
.footer-brand img.footer-logo-white{width:190px;height:auto;filter:url(#logo-white);mix-blend-mode:screen}
.footer-brand p,.footer-contact p{color:#bfcede}
.footer-links>a,.footer-contact>a{color:#dbe5f1}
.footer-links>a:hover,.footer-contact>a:hover{color:#ffcb05}
.footer-yellow{display:flex!important;justify-content:center;align-items:center;min-height:44px;margin-top:16px;padding:0 14px;border-radius:8px;background:#ffcb05;color:#071d3c!important;font-weight:850;text-align:center}
.footer-yellow:hover{background:#ffe16b}
.footer-docs .doc-chip{margin:0 0 8px;padding:9px 10px;border:1px solid #294466;border-radius:7px;color:#dce8f5;background:#0b2547;font-size:10px}
.footer-docs .doc-chip:hover{border-color:#ffcb05;color:#ffdc4d}
.footer-brochure{padding:17px;border:1px solid #294466;border-radius:12px;background:linear-gradient(145deg,#102f56,#0a2243);box-shadow:0 12px 28px #020f233d}
.footer-brochure .footer-kicker{display:block;color:#ffcb05;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}
.footer-brochure h3{font-size:17px;line-height:1.2;margin-bottom:8px}
.footer-brochure p{color:#c1d0e0;font-size:10px;line-height:1.5;margin:0 0 14px}
.brochure-download{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:42px;padding:0 13px;border-radius:7px;background:#0876d4;color:#fff;font-size:10px;font-weight:850}
.brochure-download span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ffcb05;color:#071d3c;font-size:16px}
.footer-bottom{border-top:1px solid #263d59;color:#9fb1c7}
.footer-bottom a{color:#b6c5d7}
.footer-bottom a:hover{color:#ffcb05}
.social-links a{background:#0d315a;color:#ffcb05}
@media(max-width:1050px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:span 1}.advisory-points{margin-right:25%}.map-stage{max-height:330px}}
@media(max-width:760px){
 .hero{width:100%;max-height:none;min-height:0;height:auto;aspect-ratio:800/1140;border-radius:0 0 14px 14px;margin:0;background:#071d3c}
 .hero-track,.hero-slide,.hero-slide picture{height:100%}
 .hero-slide picture img{object-fit:cover}
 .hero-controls{left:18px;right:18px;bottom:11px}
 .service-rail .rail-icon{width:39px;height:39px;border-radius:12px}
 .service-card{border-radius:13px}
 .service-card-body{min-height:145px;padding:16px 14px 60px}
 .service-card h3{font-size:15px}.service-card p{font-size:11px}
 .service-card-body>a.service-card-cta{left:14px;right:14px;bottom:13px;height:36px;font-size:10px}
 .news-head{display:block}.news-head-actions{justify-content:space-between}.news-controls{margin-top:8px}
 .news-grid{display:flex;overflow-x:auto;gap:12px;margin-inline:-12px;padding:0 12px 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
 .news-grid.has-carousel .news-card,.news-grid .news-card{flex:0 0 82%;min-height:230px;scroll-snap-align:start}
 .map-stage{width:100%;height:auto;aspect-ratio:360/520;max-height:none;min-height:320px}
 .map-canvas{width:min(100%,360px);margin:auto}
 .map-marker{padding:6px 7px 6px 19px;max-width:48%}.map-marker b{font-size:8px}.map-marker small{font-size:6px}.map-marker>span{top:8px;left:6px;width:8px;height:8px}
 .marker-cartagena{left:0;top:17%}.marker-barranquilla{left:18%;top:11%}.marker-bogota{left:43%;top:48%}.marker-buenaventura{left:0;top:53%}.marker-cali{left:10%;top:59%}
 .advisory{width:calc(100% - 24px);min-height:230px;margin-top:26px;padding:23px 20px;overflow:hidden}
 .advisory-bg{background-position:62% center}.advisory-copy{max-width:72%;position:relative;z-index:4}.advisory h2{font-size:25px}.advisory-points{display:none}
 .advisor-photo{right:-2px;bottom:0;height:91%;max-width:45%;opacity:1}
 .site-footer{margin-top:34px;padding:30px 0 0}
 .footer-grid{grid-template-columns:1fr 1fr;gap:22px 14px}
 .footer-brand{grid-column:1/-1;border-color:#263d59}.footer-brand img.footer-logo-white{width:165px}
 .footer-links>a{font-size:10px}.footer-docs .doc-chip{font-size:9px}
 .footer-brochure{padding:13px}.footer-brochure h3{font-size:15px}.footer-brochure p{font-size:9px}
 .footer-yellow{min-height:40px;padding:0 8px;font-size:9px}
 .footer-contact p{font-size:9px;word-break:break-word}
 .footer-bottom{margin-top:22px;padding:13px 0 18px}.footer-bottom div a:last-child{color:#b6c5d7}
}
@media(max-width:390px){.map-marker b{font-size:7px}.map-marker small{display:none}.footer-grid{gap:18px 10px}.advisory-copy{max-width:74%}}

/* Compatibility with existing base styles: keep official logo and clear icon spacing. */
.footer-brand img.footer-logo-white{filter:none!important;background:#fff;border-radius:4px;padding:6px;box-sizing:border-box}
.service-card-body h3{padding-left:32px;min-height:26px}
