/* Graphic Era V4.1 — visual refinement. Loaded after V3/V4 styles. */
:root{--ge-blue:#263aa5;--ge-navy:#142a6b;--ge-ink:#243453;--ge-muted:#65738d;--ge-yellow:#ffcd38}
.ge-v4-app{font-family:'Inter','Segoe UI',Arial,sans-serif;font-weight:400;color:var(--ge-ink);font-size:15px;line-height:1.65;text-rendering:optimizeLegibility}
.ge-v4-app h1,.ge-v4-app h2,.ge-v4-app h3,.ge-v4-app h4,.ge-v4-app .section-title,.ge-v4-app .ge-subhero h1,.ge-v4-app .hero-left h1{font-family:'Poppins','Segoe UI',Arial,sans-serif;font-weight:650;letter-spacing:-.035em;line-height:1.23;text-wrap:balance}
.ge-v4-app .hero-left h1{font-size:clamp(39px,4.7vw,65px);font-weight:650;line-height:1.18;letter-spacing:-.045em}
.ge-v4-app .ge-subhero h1{font-size:clamp(32px,3.8vw,54px);font-weight:650;letter-spacing:-.04em;line-height:1.22}
.ge-v4-app .section-title{font-size:clamp(27px,2.7vw,38px);font-weight:650;line-height:1.26;letter-spacing:-.035em}
.ge-v4-app .page-hero h1{font-size:clamp(32px,3.9vw,52px);font-weight:650;letter-spacing:-.04em;line-height:1.24}
.ge-v4-app .page-hero h1 em,.ge-v4-app .ge-subhero h1 em,.ge-v4-app .section-title em{font-weight:400}
.ge-v4-app .section-eyebrow,.ge-v4-app .ge-gallery-tag,.ge-v4-app .ge-gallery-filters button,.ge-v4-app .ge-update-meta{font-weight:600;letter-spacing:.075em}
.ge-v4-app .section-sub,.ge-v4-app .page-hero p,.ge-v4-app .ge-subhero p{font-weight:400;line-height:1.75;font-size:clamp(14px,1.2vw,16px)}
/* Professional balanced header: medium-weight labels, ample hit targets. */
.ge-v4-app .mainnav{box-shadow:0 4px 18px #1229630c}
.ge-v4-app .mainnav .nav-inner{height:86px;gap:18px}
.ge-v4-app .mainnav .logo-wrap{width:235px;min-width:225px;height:65px;box-shadow:none;background:#20389b;border-radius:6px}
.ge-v4-app .mainnav .logo-wrap img{width:226px;height:auto;object-fit:contain}
.ge-v4-app .mainnav .nav-links{gap:clamp(10px,1vw,19px);justify-content:center}
.ge-v4-app .mainnav .nav-links a{font-size:13px;font-weight:600;letter-spacing:-.015em;padding:31px 0;line-height:1.35}
.ge-v4-app .mainnav .nav-links a.active:after{bottom:16px;height:2px;background:#f9c531}
.ge-v4-app .header-cta{border-radius:8px;font-weight:650;font-size:13px;letter-spacing:-.015em;padding:14px 16px;box-shadow:none}
.ge-v4-app .header-cta:hover{background:#ffe07b}
.ge-v4-app .hamburger{font-size:21px}
/* Looping two identical groups avoids the previous abrupt marquee reset. */
.ge-v4-app .ge-ticker{height:39px;font-size:12px;line-height:1.35;letter-spacing:0;background:#13246e}
.ge-v4-app .ge-ticker .tag{height:39px;padding:0 21px;font-weight:650;font-size:11px;letter-spacing:.025em;background:var(--ge-yellow)}
.ge-v4-app .ge-ticker .marquee{height:100%;display:flex;align-items:center;min-width:0}
.ge-v4-app .ge-ticker .marquee-track{display:flex;width:max-content;align-items:center;white-space:nowrap;padding-left:0;animation:ge-ticker-scroll 34s linear infinite;font-size:12px;font-weight:500}
.ge-v4-app .ge-ticker .marquee-track .marquee-group{display:flex;align-items:center;gap:52px;flex:none;padding-right:52px}
.ge-v4-app .ge-ticker .marquee-group a{font-size:12px;letter-spacing:.01em;font-weight:500;color:#fff;white-space:nowrap}
.ge-v4-app .ge-ticker .marquee-group a::before{content:'✦';font-size:9px;color:#ffcf46;margin-right:11px}
.ge-v4-app .ge-ticker .marquee-track:hover,.ge-v4-app .ge-ticker .marquee-track:focus-within{animation-play-state:paused}
.ge-v4-app .ge-ticker .ticker-phone{padding:0 18px;background:#0c1d5a;color:#fff;white-space:nowrap;font-weight:600;font-size:12px;height:39px;display:flex;align-items:center}
@keyframes ge-ticker-scroll{to{transform:translateX(-50%)}}
/* Compact, consistent actions with correctly sized icons. */
.ge-v4-app .float-actions{position:fixed;right:19px;bottom:22px;z-index:44;display:flex;align-items:flex-end;gap:9px}
.ge-v4-app .float-actions a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:0 15px;border:0;border-radius:999px;color:#fff;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:0;box-shadow:0 6px 18px #10225122;transition:transform .2s,box-shadow .2s}
.ge-v4-app .float-actions .ge-contact-whatsapp{background:#168b63}
.ge-v4-app .float-actions .ge-contact-call{background:#263ca1}
.ge-v4-app .float-actions a:hover{transform:translateY(-3px);box-shadow:0 11px 23px #10225133}
.ge-v4-app .float-actions a svg{flex:none;display:block;width:18px;height:18px;max-width:18px;max-height:18px}
/* Buttons, cards and labels no longer use extra-black weights. */
.ge-v4-app .btn,.ge-v4-app .btn-yellow,.ge-v4-app .btn-outline,.ge-v4-app button.form-submit,.ge-v4-app .ge-preview-gallery-card span,.ge-v4-app .ge-update-link,.ge-v4-app .text-link,.ge-v4-app .ge-read-link{font-family:'Inter',Arial,sans-serif;font-weight:600;letter-spacing:0}
.ge-v4-app .ge-placement-overlay b,.ge-v4-app .ge-gallery-card-details h3,.ge-v4-app .ge-placement-details h2,.ge-v4-app .ge-update-card h3{font-weight:650;line-height:1.4}
.ge-v4-app .ge-gallery-filters button{font-size:12px}
/* No dependency on Tailwind's uncompiled pagination SVG styles. */
.ge-v4-app .ge-blog-content{padding-top:68px;padding-bottom:86px}
.ge-v4-app .ge-blog-content .story-content h2{font-size:clamp(17px,1.6vw,20px);line-height:1.42;font-weight:650}
.ge-v4-app .ge-blog-content .story-content p{font-size:13.5px;font-weight:400}
.ge-v4-app .ge-blog-content .story-meta,.ge-v4-app .ge-blog-content .story-category{font-weight:550}
.ge-v4-app .ge-blog-hero{padding-top:66px;padding-bottom:70px}
.ge-v4-app .ge-read-link{font-size:13px;display:inline-flex;align-items:center;gap:6px}
.ge-v4-app .ge-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:40px auto 0;padding:4px}
.ge-v4-app .ge-pagination>a,.ge-v4-app .ge-pagination>span{font-family:'Inter',Arial,sans-serif;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;border:1px solid #d5def2;border-radius:9px;background:#fff;font-size:13px;font-weight:550;color:#233866;text-decoration:none;line-height:1}
.ge-v4-app .ge-pagination>a:hover{background:#e9eefb;border-color:#9bafe2}
.ge-v4-app .ge-pagination .ge-page-current{background:#263db0;color:#fff;border-color:#263db0;font-weight:650}
.ge-v4-app .ge-pagination .ge-page-disabled{opacity:.42;cursor:not-allowed}
.ge-v4-app .pagination-area svg,.ge-v4-app nav[role=navigation] svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;vertical-align:middle}
.ge-v4-app .story-grid{align-items:stretch}
.ge-v4-app .story-card{min-width:0}
.ge-v4-app .story-card .story-visual{min-height:155px}
.ge-v4-app .story-card .story-content{padding:22px}
/* Contact buttons never obscure input fields on small screens. */
@media(max-width:1380px){
 .ge-v4-app .mainnav .nav-links{gap:11px}
 .ge-v4-app .mainnav .nav-links a{font-size:12.5px}
 .ge-v4-app .mainnav .logo-wrap{width:216px;min-width:205px}
 .ge-v4-app .mainnav .logo-wrap img{width:208px}
}
@media(max-width:1140px){
 .ge-v4-app .mainnav .nav-inner{height:76px}
 .ge-v4-app .mainnav .nav-links{display:none;top:76px;position:absolute;left:0;right:0;padding:12px 30px 25px;flex-direction:column;align-items:stretch;gap:0;max-height:76vh;overflow-y:auto;background:white;box-shadow:0 10px 24px #142b612a}
 .ge-v4-app .mainnav .nav-links.open{display:flex}
 .ge-v4-app .mainnav .nav-links a{font-size:14px;padding:12px 4px;font-weight:550}
 .ge-v4-app .hamburger{display:block;margin-left:auto}
}
@media(max-width:760px){
 .ge-v4-app .ge-ticker{height:36px}
 .ge-v4-app .ge-ticker .tag{height:36px;font-size:10px;padding:0 12px}
 .ge-v4-app .ge-ticker .ticker-phone{display:none}
 .ge-v4-app .mainnav .logo-wrap{min-width:175px;width:180px;height:54px}
 .ge-v4-app .mainnav .logo-wrap img{width:175px}
 .ge-v4-app .mainnav .header-cta{font-size:11px;padding:11px 13px}
 .ge-v4-app .ge-blog-hero{padding:49px 0 52px}
 .ge-v4-app .ge-blog-content{padding:42px 0 62px}
 .ge-v4-app .ge-blog-content .story-card .story-visual{min-height:140px}
 .ge-v4-app .float-actions{right:12px;bottom:14px;gap:7px}
 .ge-v4-app .float-actions a{min-height:40px;padding:0 11px;font-size:11px}
 .ge-v4-app .float-actions a svg{width:16px;height:16px}
}
@media(max-width:420px){
 .ge-v4-app .mainnav .logo-wrap{min-width:152px;width:155px;height:47px}
 .ge-v4-app .mainnav .logo-wrap img{width:154px}
 .ge-v4-app .mainnav .header-cta{font-size:10px;padding:10px}
 .ge-v4-app .ge-pagination>a,.ge-v4-app .ge-pagination>span{min-width:34px;height:36px;padding:0 9px;font-size:12px}
 .ge-v4-app .float-actions a{font-size:0;width:42px;padding:0;border-radius:50%;height:42px}
 .ge-v4-app .float-actions a svg{height:20px;width:20px}
}
@media(prefers-reduced-motion:reduce){.ge-v4-app .ge-ticker .marquee-track{animation:none;transform:none}}
