/* Site-wide light theme (SA Digital Labs palette). Loaded after style.css on every page. */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&display=swap');

:root{
  --bg-darkest:#E8EFF7; --bg-dark:#F4F7FC; --bg-card:#FFFFFF; --bg-card-2:#F4F7FC; --bg-light:#FFFFFF;
  --text-primary:#0A0F1E; --text-secondary:#3E5670; --text-muted:#4B6785;
  --border:#D6E0EB; --border-glow:rgba(0,151,167,.45); --border-card:#D6E0EB;
  --shadow-sm:0 2px 8px rgba(27,58,92,.08); --shadow-md:0 10px 30px rgba(27,58,92,.10);
  --shadow-lg:0 22px 50px rgba(27,58,92,.14); --shadow-glow:none;
  --grad-hero:#F4F7FC; --font-heading:'Newsreader',Georgia,serif;
}
body{background:var(--bg-dark);color:var(--text-primary)}
h1,h2,h3,h4,h5,h6{font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.015em;color:#0A0F1E}
h4,h5,h6{font-family:'Inter',sans-serif;font-weight:600;letter-spacing:0}
.text-gradient{background:none!important;-webkit-text-fill-color:#2C5F8C!important;color:#2C5F8C!important;font-style:italic}

/* header */
.navbar,.navbar.scrolled{background:rgba(244,247,252,.92)!important;border-bottom:1px solid #DCE5EF;box-shadow:none!important;backdrop-filter:blur(8px)}
.navbar *,.navbar__link{color:#1B3A5C}
.navbar .site-logo span{background:linear-gradient(135deg,#0097A7,#00BCD4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.navbar__cta{background:#1B3A5C!important;color:#fff!important;box-shadow:none!important;border-radius:999px!important}
.navbar__link.active,.navbar__link:hover{color:#007686!important}
.navbar__dropdown-menu-inner{background:#fff!important;border:1px solid #DCE5EF!important;box-shadow:0 12px 30px rgba(27,58,92,.12)!important}
.navbar__hamburger span{background:#1B3A5C!important}
.navbar__mobile{background:#F4F7FC!important}
#scroll-progress{background:#0097A7!important;box-shadow:none!important}
.floating-cta__btn,.back-to-top{background:#1B3A5C!important;color:#fff!important;box-shadow:0 6px 18px rgba(27,58,92,.25)!important;border:0!important}

/* buttons */
.btn{border-radius:12px;font-weight:500}
.btn--primary{background:#1B3A5C;color:#fff;box-shadow:none}
.btn--primary:hover{background:#0A0F1E;transform:none;box-shadow:none}
.btn--outline{background:#fff;color:#1B3A5C;border:1px solid #D6E0EB}
.btn--outline:hover{background:#fff;border-color:#1B3A5C;color:#1B3A5C;transform:none}

/* page hero */
.page-hero{background:#F4F7FC;padding:calc(var(--nav-h) + 5rem) 0 3.5rem;border-bottom:1px solid #E1E9F2}
.page-hero::before{display:none}
.page-hero__title{font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:1.04;letter-spacing:-.03em}
.page-hero__subtitle{font-size:1.2rem;color:#3E5670;max-width:640px;margin-left:auto;margin-right:auto}
.breadcrumbs,.breadcrumbs a{color:#4B6785}
.badge{background:#fff!important;border:1px solid #D6E0EB!important;color:#4B6785!important;border-radius:999px;font-weight:500;letter-spacing:.02em;text-transform:none!important;font-size:.8rem!important}

/* sections, cards */
.section--dark{background:#E8EFF7}
.section-header h2{font-size:clamp(2.1rem,3.8vw,3.1rem);line-height:1.1}
.section-header p{color:#3E5670}
.card{background:#fff;border:1px solid #D6E0EB;box-shadow:none;border-radius:18px}
.card::before{display:none}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(27,58,92,.10);border-color:#B9CBDD}
.card--glass{background:#fff;backdrop-filter:none}
.service-card__icon{background:#E3EEF9;border:0;color:#1B3A5C}
.card:hover .service-card__icon{background:#D7F2F6;box-shadow:none}
.portfolio-card,.blog-card{background:#fff;border:1px solid #D6E0EB;border-radius:18px}
.blog-card__image{background:#E3EEF9}
.team-card__photo{background:#E3EEF9;color:#1B3A5C}

/* forms */
.form-control{background:#fff;border:1px solid #D6E0EB;color:#0A0F1E;border-radius:10px}
.form-control:focus{border-color:#007686;box-shadow:0 0 0 3px rgba(0,188,212,.15);outline:none}
.form-control::placeholder{color:#8AA0B8}
.form-label{color:#1B3A5C;font-weight:500}
.contact-info-item__icon{background:#E3EEF9;color:#1B3A5C}
.alert--success{background:#E7F7EE;color:#14663D;border:1px solid #BFE6CF}
.alert--error{background:#FDECEC;color:#9B1C1C;border:1px solid #F3C4C4}

/* faq, cta */
.faq-item{background:#fff;border:1px solid #D6E0EB}
.faq-question{color:#0A0F1E}
.faq-answer p,.faq-answer{color:#3E5670}
.cta-banner{background:#0A0F1E;border:0;border-radius:28px}
.cta-banner h2,.cta-banner h3{color:#fff}
.cta-banner p{color:#9AAFC8}
.cta-banner .btn--primary{background:#fff;color:#0A0F1E}
.cta-banner .btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cta-banner .badge{background:transparent!important;color:#9AAFC8!important;border-color:rgba(154,175,200,.35)!important}
.cta-banner .text-gradient{-webkit-text-fill-color:#7FD6E2!important;color:#7FD6E2!important}

/* footer stays dark navy */
.footer{background:#0A0F1E;color:#9AAFC8;border-top:0}
.footer,.footer p,.footer a,.footer li{color:#9AAFC8}
.footer h1,.footer h2,.footer h3,.footer h4,.footer__heading{color:#fff!important;font-family:'Inter',sans-serif}
.footer__link:hover,.footer a:hover{color:#fff}
.footer .form-control{background:#111A2E;border-color:#22304A;color:#fff}
.footer .btn--primary{background:#fff;color:#0A0F1E}

.footer__social{background:#111A2E;color:#fff;border-color:#22304A}

/* tables, content pages */
.content{color:#1F2D3D}
.content h2{margin-top:2rem}
.content a{color:#007686}

/* contact panel */
.contact-card{border-radius:24px;box-shadow:0 20px 50px rgba(27,58,92,.08)}
.contact-card__info{background:#0A0F1E;border-right:0}
.contact-card__info h2,.contact-card__info h3{color:#fff}
.contact-card__info p{color:#9AAFC8}
.contact-card__info .contact-info-item__label{color:#7E96B4}
.contact-card__info .contact-info-item__value,.contact-card__info a{color:#fff}
.contact-card__info .contact-info-item__icon{background:rgba(255,255,255,.08);color:#fff}
.contact-card__info .contact-info-item__icon svg{stroke:#fff}
.contact-card__info .text-gradient{-webkit-text-fill-color:#7FD6E2!important;color:#7FD6E2!important}

/* repeated small label in page headers */
.page-hero .badge{display:none}
.page-hero__content{max-width:900px}

/* long text pages */
.content.policy h2{font-size:1.5rem;margin:2.25rem 0 .75rem;letter-spacing:-.01em}
.content.policy p,.content.policy li{font-size:1rem;line-height:1.75;color:#2B3A4D}
.content.policy ul{margin:.75rem 0 1.25rem 1.25rem;list-style:disc}

/* footer logo */
.footer .site-logo,.footer .footer__logo a{color:#fff}
.content.policy p{margin:0 0 1rem}

/* LOGO: keep the original Syne wordmark everywhere (only the colors adapt to light/dark backgrounds) */
.site-logo{font-family:'Syne',sans-serif!important;font-weight:800!important;font-size:1.65rem;letter-spacing:-.04em!important}
.navbar .site-logo{color:#1B3A5C}
.navbar .site-logo span{background:linear-gradient(135deg,#0097A7 0%,#00BCD4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:'Syne',sans-serif!important;font-style:normal}
.footer .site-logo{color:#E8EDF4}
.footer .site-logo span{background:linear-gradient(135deg,#00BCD4 0%,#4DD0E1 50%,#B2EBF2 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:'Syne',sans-serif!important}

/* grouped services menu */
.navbar__dropdown-menu-inner.nav-mega{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:.25rem 1.5rem;min-width:540px;padding:1.25rem 1.25rem .75rem!important;border-radius:20px!important}
.nav-mega__head{margin:0 0 .35rem .875rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#4B6785!important;font-weight:600}
.navbar__dropdown-menu .nav-mega a{display:block;padding:.55rem .875rem}
.nav-mega a b{display:block;font-weight:600;font-size:.92rem;color:#1B3A5C}
.nav-mega a span{display:block;font-size:.8rem;color:#4B6785;margin-top:.1rem;font-weight:400}
.navbar__dropdown-menu .nav-mega a:hover{background:#EEF4FA}
.navbar__dropdown-menu .nav-mega a:hover b{color:#007686}
.navbar__dropdown-menu .nav-mega a.nav-mega__all{grid-column:1/-1;margin-top:.5rem;padding:.75rem .875rem;border-top:1px solid #E3EAF3;border-radius:0;font-weight:600;font-size:.88rem;color:#007686}
.nav-mobile__head{margin:.75rem 1rem .1rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#4B6785}
.navbar__mobile a.nav-mobile__sub{padding:.45rem 1rem .45rem 2rem;font-size:.95rem}
.navbar__mobile a.nav-mobile__cta{margin:1rem 1rem .5rem;background:#1B3A5C;color:#fff!important;text-align:center;border-radius:999px;padding:.85rem 1rem;font-weight:600}
/* footer layout (logo + three columns) */
.footer__grid{grid-template-columns:1.1fr 1.5fr 1fr 1.4fr;gap:2.5rem 3rem;align-items:start}
.footer__brand{max-width:none}
.footer__links{gap:.7rem}
.footer__link{font-size:.92rem}
.footer__heading{margin-bottom:1.1rem}
@media(max-width:980px){
  .footer__grid{grid-template-columns:repeat(3,1fr)}
  .footer__brand{grid-column:1/-1}
}
@media(max-width:640px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}
  .footer__grid>div:nth-child(2){grid-column:1/-1}
  .footer__grid>div:last-child{grid-column:1/-1}
}
@media(max-width:600px){
  .navbar .site-logo,.navbar .site-logo span{font-size:1.2rem}
  .footer .site-logo{font-size:1.35rem}
}
/* services menu: fade in, stays open on keyboard focus and tap, short delay on close */
.navbar__dropdown-menu{display:block!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(6px);transition:opacity .15s ease .12s,transform .15s ease .12s,visibility 0s linear .27s}
.navbar__dropdown:hover .navbar__dropdown-menu,.navbar__dropdown:focus-within .navbar__dropdown-menu,.navbar__dropdown.open .navbar__dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition-delay:0s}
.nav-chev{display:inline-block;width:.4em;height:.4em;margin-left:.5em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.15em) rotate(45deg);opacity:.7;transition:transform .15s}
.navbar__dropdown:hover .nav-chev,.navbar__dropdown.open .nav-chev{transform:translateY(.05em) rotate(225deg)}
.navbar a:focus-visible{outline:2px solid #00BCD4;outline-offset:3px;border-radius:8px}
/* logo size + footer spacing */
.site-logo{font-size:1.3rem}
.footer .site-logo{font-size:1.45rem}
.footer{padding:4.5rem 0 2rem}
main:has(> .pg-dark:last-child) + .footer{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:600px){.navbar .site-logo,.navbar .site-logo span{font-size:1.1rem}.footer .site-logo{font-size:1.3rem}}
.footer__social-row{margin:1.25rem 0 0}
.footer__social-row a{display:inline-block;padding:.45rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.88rem;color:#E8EDF4;transition:border-color .2s,color .2s}
.footer__social-row a:hover{border-color:#00BCD4;color:#fff}
