/* Shared blue and white identity */
/* Keep content readable independently of animation and intrinsic grid widths. */
.container, .hero-content, .hero-text { min-width: 0; }
.hero-content { overflow: visible; padding-inline: 18px; }
.svc-grid > *, .about-grid > *, .ct-grid > *, .foot-grid > *, .form-row > *, .cct > div { min-width: 0; }
.svc-card, .vision-box, .cct-val, .foot-contact-col a { overflow-wrap: anywhere; }
.fi, .fs, .ft { min-width: 0; max-width: 100%; font-size: 16px; }
.btn-primary, .btn-ghost, .btn-send { white-space: normal; text-align: center; max-width: 100%; }
.mob-menu { max-height: calc(100vh - 68px); max-height: calc(100dvh - 68px); overflow-y: auto; }
section[id] { scroll-margin-top: 108px; }
.sec-label { letter-spacing: 0; }
@media (max-width: 599px) {
 .nav-logo { flex-shrink: 1; min-width: 0; }
 .nav-logo img { max-width: 100%; object-fit: contain; }
 .hero h1 { font-size: 34px !important; }
 .hero-sub { font-size: 25px; }
 .sec-title, .about-title { font-size: 26px; line-height: 1.5; }
 .vision-title { font-size: 36px; line-height: 1.4; }
 .cct { padding: 14px 12px; gap: 10px; }
 .form-card { padding: 22px 16px; }
 .site-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
 .wa-float { left: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); width: 48px; height: 48px; }
}
@media (min-width: 600px) { .hero-content { padding-inline: 28px; } }
@media (min-width: 1024px) { .hero-content { padding-inline: 40px; } .mob-menu.open { display: none; } }
:root {
 --navy:#1c2041;--navy-d:#151931;--gold:#293bd5;--gold-l:#b9c8ff;--gold-d:#2434ba;
 --gold-grad:linear-gradient(135deg,#4160ed,#293bd5);
 --navy-grad:linear-gradient(160deg,#1c2041,#252d59);
 --bg:#f5f7fc;--fg:#1c2041;--muted:#596078;--gold-pale:rgba(41,59,213,.07);
}
.btn-primary,.nav-cta,.mob-cta-btn,.btn-send,.svc-icon,.cct-ico{color:#fff!important;box-shadow:0 4px 16px #293bd522}
.nav-logo img{filter:brightness(0)}
.hero{background:#f5f7fc;min-height: min(820px,95vh)}
.hero-bg{display:none}
.hero-text{max-width:920px;margin-inline:auto;text-align:center}
.hero h1{color:#1c2041;line-height:1.45}
.hero-sub{background:none;-webkit-text-fill-color:initial;color:#293bd5}
.hero-desc{color:#596078;max-width:780px;margin-inline:auto;font-size:18px}
.hero-badge{background:#e9edff;color:#293bd5}
.hero-btns{align-items:center;justify-content:center}
.hero .btn-ghost{color:#293bd5;border-color:#d1d8f3;background:#fff}
.hero .btn-ghost:hover{background:#e9edff}
.svc-card:hover{border-color:#b4c0f4;box-shadow:0 8px 28px #293bd510}
.vision-box{background:#ffffff08;border-color:#ffffff26}
.vision-title{background:none;-webkit-text-fill-color:initial;color:#b9c8ff}
.foot-brand img{filter:brightness(0) invert(1)}
.foot-contact-col svg{color:#b9c8ff}
.bg-navy .sec-label,.site-footer a:hover{color:#b9c8ff}
.fi:focus,.fs:focus,.ft:focus{box-shadow:0 0 0 3px #293bd518}
@media(max-width:599px){.hero{min-height:0}.hero-content{padding-block:48px}.hero h1{font-size:clamp(30px,8vw,46px)}.hero-desc{font-size:16px}.hero-btns .btn-primary,.hero-btns .btn-ghost{width:100%;min-width:0}}
