@font-face{font-family:'Usuzi Condensed';src:url('../../FONT/usuzicond.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(0,96,151,.18) 0,transparent 34%),linear-gradient(135deg,#10181e 0,#173345 58%,#21485c 100%);height:clamp(620px,88svh,760px)}
.page-hero::before{content:'';position:absolute;inset:0;background:var(--hero-overlay)}
.hero-visual{position:absolute;inset:0;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,17,24,.1) 0,rgba(9,17,24,.76) 100%)}
.hero-content-shell{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding:132px 0 56px}
.hero-content-card{max-width:620px;background:rgba(16,24,30,.72);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:22px 24px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 18px 44px rgba(0,0,0,.18);width:min(100%,620px)}
.hero-lead{font-size:1rem;line-height:1.68}
.page-hero h1{font-size:clamp(31px,3.2vw,36px);line-height:1.12}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.section-padding{padding:96px 0}
.section-divider-top{position:relative}
.section-divider-top::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:1px;background:linear-gradient(90deg,transparent 0,var(--section-line) 18%,rgba(0,96,151,.18) 50%,var(--section-line) 82%,transparent 100%);pointer-events:none}
.section-kicker{display:inline-flex;align-items:center;gap:12px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
.section-kicker::before{content:'';width:0;height:1px;background:linear-gradient(90deg,rgba(118,183,42,.92),rgba(0,96,151,.08));transition:width .6s ease .18s}
.reveal.is-visible .section-kicker::before{width:42px}
.stagger-grid>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-visible .stagger-grid>*{opacity:1;transform:translateY(0)}
.reveal.is-visible .stagger-grid>:first-child{transition-delay:.04s}
.reveal.is-visible .stagger-grid>:nth-child(2){transition-delay:.12s}
.reveal.is-visible .stagger-grid>:nth-child(3){transition-delay:.2s}
.reveal.is-visible .stagger-grid>:nth-child(4){transition-delay:.28s}
.reveal.is-visible .stagger-grid>:nth-child(5){transition-delay:.36s}
.reveal.is-visible .stagger-grid>:nth-child(6){transition-delay:.44s}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:60}
.drawer-overlay.open{opacity:1;visibility:visible}
.drawer-panel{position:fixed;top:0;right:0;height:100vh;width:min(92vw,420px);background:#fff;transform:translateX(100%);transition:transform 240ms ease;z-index:70;box-shadow:-12px 0 30px rgba(0,0,0,.18);overflow-y:auto}
.drawer-panel.open{transform:translateX(0)}
.footer-shell{background:radial-gradient(circle at top center,rgba(0,96,151,.08) 0,transparent 30%),linear-gradient(180deg,#0b1117 0,#111a22 100%);color:#9aa7b2}
.footer-link-group h5{color:#fff;font-family:Montserrat,sans-serif;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.footer-link-group a{color:#b1bcc5;transition:color .2s ease}
.footer-link-group a:hover{color:#fff}
.footer-shell a[href^="tel:"]{color:#b1bcc5;transition:color .2s ease}
.footer-shell a[href^="tel:"]:hover{color:#fff}
.footer-link-group address,.footer-link-group p{color:#b1bcc5;font-size:13px;line-height:1.65;font-style:normal}
.footer-summary{max-width:520px}
.certification-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:12px;font-weight:600;color:#fff}
.footer-contact-block{display:grid;gap:8px;font-size:13px;color:#b1bcc5;margin-top:16px}
.footer-contact-block strong{color:#fff;font-family:Montserrat,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.14em;display:block;margin-bottom:4px}
.footer-social{display:flex;align-items:center;gap:10px;margin-top:18px}
.footer-social a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#b1bcc5;background:rgba(255,255,255,.04);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.footer-social a:hover{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);transform:translateY(-1px)}
.footer-social a.linkedin:hover{color:#0a66c2}
.footer-social a.youtube:hover{color:red}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center}
.footer-legal-links a{color:#8e9aa4;transition:color .2s ease}
.footer-legal-links a:hover{color:#fff}
.footer-meta{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;gap:16px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 650ms ease,transform 650ms ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:768px){h1{font-size:30px}
h2{font-size:26px}
.page-hero{height:auto;min-height:600px}
.hero-content-shell{position:absolute;inset:0;align-items:flex-end;padding:156px 16px 24px}
.hero-content-card{max-width:100%;width:100%;padding:18px 16px;border-radius:18px}
.hero-lead{font-size:.96rem;line-height:1.6}
.hero-actions{gap:12px;flex-direction:column;align-items:stretch}
.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%;text-align:center}
.section-padding{padding:72px 0}
}

/* Keep shared footer navigation clean and comfortably tappable on narrow screens. */
@media(max-width:1023px){
.footer-link-group ul{list-style:none;margin-left:0;padding-left:0}
.footer-link-group li{margin:0}
.footer-link-group li+li{margin-top:2px}
.footer-link-group li a,
.footer-link-group p a{display:flex;align-items:center;min-height:40px}
}

/* Keep repeated corporate links visually clean while preserving clear focus. */
.footer-shell a,
.footer-shell a:hover,
.footer-shell a:focus-visible,
.insight-page a,
.insight-page a:hover,
.insight-page a:focus-visible{
  text-decoration:none;
}

/* Inline references inside article prose retain a quiet, accessible cue. */
.insight-page .insight-article-copy p a,
.insight-page .insight-article-copy li a{
  color:var(--brand-blue);
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
@media(max-width:560px){.page-hero{min-height:560px}
.hero-content-shell{padding:148px 12px 20px}
.hero-content-card{padding:18px 16px}
}
@media(prefers-reduced-motion:reduce){.stagger-grid>*{opacity:1;transform:none;transition:none}
}

/* Mobile hero release fix: let long hero copy define the section height while
   keeping the photograph and colour overlay as full-bleed background layers. */
@media(max-width:640px){
  .page-hero{
    height:auto;
    min-height:0;
  }

  .page-hero>.hero-visual{
    position:relative;
    inset:auto;
    min-height:0;
    isolation:isolate;
  }

  .page-hero>.hero-visual>img,
  .page-hero>.hero-visual>picture,
  .page-hero>.hero-visual>picture>img,
  .page-hero>.hero-visual>video{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    object-fit:cover;
  }

  .page-hero>.hero-visual::before{
    z-index:1;
  }

  .page-hero .hero-content-shell{
    position:relative;
    inset:auto;
    z-index:2;
    min-height:560px;
    align-items:flex-end;
    padding:124px 12px 24px;
  }

  .page-hero>.hero-content-shell{
    min-height:360px;
  }
}
