:root {
      --bg:         hsl(0,0%,100%);
      --fg:         hsl(220,20%,10%);
      --card:       hsl(0,0%,100%);
      --primary:    hsl(197,78%,61%);
      --muted:      hsl(210,20%,96%);
      --muted-fg:   hsl(220,10%,45%);
      --accent:     hsl(197,78%,95%);
      --accent-fg:  hsl(197,78%,30%);
      --border:     hsl(220,13%,91%);
    }
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { font-family:"Lato",sans-serif; background:var(--bg); color:var(--fg); -webkit-font-smoothing:antialiased; }
    img { max-width:100%; display:block; }
    a { text-decoration:none; }
    button { cursor:pointer; font-family:inherit; }
    ::-webkit-scrollbar { width:6px; }
    ::-webkit-scrollbar-track { background:var(--muted); }
    ::-webkit-scrollbar-thumb { background:hsla(197,78%,61%,.4); border-radius:3px; }

    @keyframes fadeInUp  { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
    @keyframes pulseBg   { 0%,100%{opacity:1} 50%{opacity:.5} }
    @keyframes bounce    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }
    @keyframes spin      { to{transform:rotate(360deg)} }
    @keyframes scaleIn   { from{opacity:0;transform:scale(.8)} to{opacity:1;transform:scale(1)} }

    .reveal { opacity:1 !important; transform:none !important; }

    .icon-sm  { width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-md  { width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-lg  { width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-xl  { width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
    .icon-2xl { width:32px;height:32px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }

    .section-max  { max-width:1200px;margin:0 auto;padding:0 2rem; }
    .section-tag  { font-size:.75rem;font-weight:900;color:var(--primary);letter-spacing:.18em;text-transform:uppercase; }
    .section-h2   { font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin:.6rem 0 1.2rem; }
    .section-desc { color:var(--muted-fg);font-size:1.1rem;line-height:1.7;max-width:680px; }
    .text-center  { text-align:center; }
    .mx-auto      { margin-left:auto;margin-right:auto; }

    /* NAVBAR */
    #navbar { position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,box-shadow .4s,border-color .4s;border-bottom:1px solid transparent; }
    #navbar.scrolled { background:rgba(255,255,255,.96);backdrop-filter:blur(20px);box-shadow:0 4px 24px hsla(197,78%,61%,.06);border-bottom-color:var(--border); }
    .nav-inner { max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:80px; }
    .nav-logo img { height:40px;width:auto;transition:transform .3s; }
    .nav-logo:hover img { transform:scale(1.05); }
    .nav-links { display:flex;align-items:center;gap:.25rem; }
    .nav-links a { padding:.5rem 1rem;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:8px;transition:color .2s,background .2s; }
    #navbar:not(.scrolled) .nav-links a { color:rgba(255,255,255,.8); }
    #navbar:not(.scrolled) .nav-links a:hover { color:white;background:rgba(255,255,255,.1); }
    #navbar.scrolled .nav-links a { color:hsla(220,20%,10%,.7); }
    #navbar.scrolled .nav-links a:hover { color:var(--primary);background:var(--accent); }
    .btn-nav { display:inline-flex;align-items:center;gap:.5rem;margin-left:1rem;padding:.6rem 1.4rem;background:var(--primary);color:white;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:8px;transition:background .2s; }
    .btn-nav:hover { background:hsl(197,78%,50%); }
    .nav-toggle { display:none;background:none;border:none;padding:.5rem;border-radius:8px; }
    #navbar:not(.scrolled) .nav-toggle { color:white; }
    #navbar.scrolled .nav-toggle { color:var(--fg); }
    #mobile-menu { display:none;position:fixed;inset:0;z-index:90;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding-top:100px; }
    #mobile-menu.open { display:block;animation:fadeInUp .3s ease; }
    .mobile-links { display:flex;flex-direction:column;gap:.5rem;padding:0 2rem; }
    .mobile-links a { display:block;padding:1rem 0;font-size:1.75rem;font-weight:900;color:var(--fg);border-bottom:1px solid var(--border);transition:color .2s; }
    .mobile-links a:hover { color:var(--primary); }
    .btn-mobile { display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:1.2rem;background:var(--primary);color:white;font-size:1.1rem;font-weight:900;border:none;border-radius:12px; }

/* HERO */
#hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: hsl(220,25%,8%);
}

.hero-orb-1 {
  position: absolute;
  top: 25%;
  left: -8rem;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  background: hsla(197,78%,61%,.1);
  filter: blur(48px);
  animation: pulseBg 4s ease-in-out infinite;
}

.hero-orb-2 {
  position: absolute;
  bottom: 25%;
  right: -8rem;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  background: hsla(200,76%,74%,.1);
  filter: blur(48px);
  animation: pulseBg 4s ease-in-out infinite 2s;
}

.hero-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  border: 1px solid hsla(197,78%,61%,.06);
}

.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .03;
  background-image:
    linear-gradient(hsl(197,78%,61%) 1px, transparent 1px),
    linear-gradient(90deg, hsl(197,78%,61%) 1px, transparent 1px);
  background-size: 60px 60px;
}

.hero-content {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 7rem 2rem 4rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}


.hero-content > * {
  position: relative;
  z-index: 2;
}

.hero-logo {
  height: 5rem;
  width: auto;
  margin: 0 0 2rem;
  animation: scaleIn .6s ease .2s both;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem 1.25rem;
  border-radius: 999px;
  border: 1px solid hsla(197,78%,61%,.3);
  background: hsla(197,78%,61%,.05);
  margin-bottom: 2rem;
  animation: fadeInUp .6s ease .3s both;
}

.hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary);
  animation: pulseBg 2s infinite;
}

.hero-pill-text {
  font-size: .78rem;
  font-weight: 900;
  color: var(--primary);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hero-h1 {
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: .92;
  letter-spacing: -.05em;
  font-weight: 900;

  max-width: 900px;

  margin: 0 0 2.5rem;
  
  color: #ffffff;
  opacity: 1;
  position: relative;
  z-index: 3;
}

.hero-quote {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-style: italic;
  color: hsl(197,78%,61%);
  line-height: 1.7;
  border-left: 3px solid hsla(197,78%,61%,.7);
  padding-left: 1.25rem;
  margin: 0 0 2.25rem;
  margin-bottom: 3.5rem;
  max-width: 950px;
  text-align: left;
  opacity: .92;
}

.hero-subheadline {
  font-size: clamp(1.7rem, 2.5vw, 2.7rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: rgba(255,255,255,.98);
  max-width: 1100px;
  margin: 0 0 2rem;
}

.hero-p {
  font-size: clamp(1.05rem, 1.3vw, 1.3rem);
  line-height: 1.9;
  color: rgba(255,255,255,.62);
  max-width: 860px;
  margin: 0 0 3rem;
}

.hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  animation: fadeInUp .7s ease .3s both;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 2rem;
  background: var(--primary);
  color: white;
  font-size: 1rem;
  font-weight: 900;
  border: none;
  border-radius: 12px;
  transition: background .2s, transform .15s;
}

.btn-primary:hover {
  background: hsl(197,78%,50%);
  transform: translateY(-1px);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 2rem;
  border: 1px solid hsla(197,78%,61%,.3);
  color: var(--primary);
  font-size: 1rem;
  font-weight: 900;
  background: transparent;
  border-radius: 12px;
  transition: background .2s;
}

.btn-outline:hover {
  background: hsla(197,78%,61%,.1);
}

.hero-scroll {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: none;
  border: none;
  color: hsla(197,78%,61%,.5);
  cursor: pointer;
  animation: fadeInUp .5s ease 1.2s both;
  transition: color .2s;
}

.hero-scroll:hover {
  color: var(--primary);
}

.hero-ctas-wrap {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

  
  .hero-proof {
    margin-top: 1.5rem;
    font-size: .78rem;
    font-weight: 600;
    color: rgba(255,255,255,.32);
    letter-spacing: .03em;
    line-height: 1.6;
  }

/* MOBILE HERO */
@media(max-width: 900px) {

  .hero-content {
    align-items: center;
    text-align: center;
    padding-top: 6rem;
  }

  .hero-logo,
  .hero-h1,
  .hero-quote,
  .hero-subheadline,
  .hero-p {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .hero-quote {
    border-left: none;
    border-top: 3px solid hsla(197,78%,61%,.7);
    padding-left: 0;
    padding-top: 1rem;
  }

  .hero-ctas {
    justify-content: center;
  }

  .hero-h1 {
    line-height: 1.05;
  }

  .hero-subheadline {
    line-height: 1.22;
  }
  
  
}

    /* SERVICES */
    

#services{
  padding: 7rem 0;
  background: var(--bg);
}

/* GRID */

.services-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
  align-items: start;
  margin-top: 3rem;
}

/* CARD */

.service-card{
  position: relative;

  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;

  padding: 1.75rem;

  overflow: hidden;

  display: flex;
  flex-direction: column;

  height: auto;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.service-card:hover{
  border-color: hsla(197,78%,61%,.35);
  box-shadow: 0 16px 40px rgba(15,23,42,.06);
  transform: translateY(-3px);
}

.service-card::after{
  content: '';

  position: absolute;
  bottom: 0;
  left: 1.75rem;
  right: 1.75rem;

  height: 2px;

  background: var(--primary);
  border-radius: 999px;

  transform: scaleX(0);
  transition: transform .3s ease;
}

.service-card:hover::after{
  transform: scaleX(1);
}

/* CONTENT */

.service-card-content{
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.service-card-footer{
  margin-top: auto;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

/* ICON */

.card-icon{
  width: 56px;
  height: 56px;

  border-radius: 16px;

  background: hsla(197,78%,61%,.08);

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 1.5rem;

  color: var(--primary);

  transition:
    background .25s ease,
    transform .25s ease;
}

.service-card:hover .card-icon{
  background: hsla(197,78%,61%,.16);
  transform: scale(1.05);
}

/* TEXT */

.card-subtitle{
  font-size: .72rem;
  font-weight: 900;

  letter-spacing: .16em;
  text-transform: uppercase;

  margin-bottom: .75rem;

  color: var(--primary) !important;
}

.card-title{
  font-size: 1.15rem;
  font-weight: 900;

  line-height: 1.2;

  margin-bottom: .85rem;

  color: #0f172a !important;
}

.card-desc{
  font-size: .95rem;
  line-height: 1.7;

  color: #334155 !important;

  margin-bottom: 1.5rem;
}

/* TAGS */

.card-tags{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;

  margin-bottom: 1.5rem;
}

.tag{
  font-size: .72rem;
  font-weight: 800;

  padding: .45rem .8rem;

  border-radius: 999px;

  background: #edf7fc;
  color: #0b6897;
}

/* LEARN MORE */

.card-learn-more{
  display: inline-flex;
  align-items: center;
  gap: .4rem;

  font-size: .9rem;
  font-weight: 700;

  color: var(--primary);
  text-decoration: none;

  transition:
    gap .2s ease,
    transform .2s ease,
    opacity .2s ease;
}

.card-learn-more:hover{
  gap: .6rem;
  transform: translateX(2px);
  opacity: .85;
}

.card-learn-more .icon-sm{
  width: 16px;
  height: 16px;
}
    /* INDUSTRIES */
    #industries { padding:7rem 0;background:hsl(220,25%,8%);position:relative;overflow:hidden; }
    .ind-dots { position:absolute;inset:0;opacity:.03;background-image:radial-gradient(circle at 1px 1px,hsl(197,78%,61%) 1px,transparent 0);background-size:40px 40px; }
    #industries .section-h2 { color:white; }
    #industries .section-desc { color:rgba(255,255,255,.5); }
    .industries-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem; }
    @media(min-width:480px) { .industries-grid { grid-template-columns:repeat(3,1fr); } }
    @media(min-width:640px) { .industries-grid { grid-template-columns:repeat(4,1fr); } }
    @media(min-width:900px) { .industries-grid { grid-template-columns:repeat(6,1fr); } }
    .ind-card { display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);border-radius:16px;transition:background .3s,border-color .3s,transform .3s;cursor:default; }
    .ind-card:hover { background:hsla(197,78%,61%,.12);border-color:hsla(197,78%,61%,.25);transform:translateY(-2px); }
    .ind-icon-wrap { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.1);display:flex;align-items:center;justify-content:center;color:var(--primary);transition:background .3s,transform .3s; }
    .ind-card:hover .ind-icon-wrap { background:hsla(197,78%,61%,.2);transform:scale(1.1); }
    .ind-name { font-size:.8rem;font-weight:900;color:rgba(255,255,255,.8);text-align:center; }

    /* CLIENTS */
    #clients { padding:7rem 0;background:hsl(210,20%,97%); }
    .clients-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem;max-width:900px; }
    @media(min-width:480px) { .clients-grid { grid-template-columns:repeat(3,1fr); } }
    @media(min-width:700px) { .clients-grid { grid-template-columns:repeat(4,1fr); } }
    .client-card { display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:16px;transition:border-color .3s,box-shadow .3s; }
    .client-card:hover { border-color:hsla(197,78%,61%,.3);box-shadow:0 8px 28px hsla(197,78%,61%,.08); }
    .client-name { font-size:.85rem;font-weight:900;color:hsla(220,20%,10%,.55);text-align:center;transition:color .3s;line-height:1.3; }
    .client-card:hover .client-name { color:var(--primary); }

    /* ABOUT */
    #about { padding:7rem 0;background:var(--bg); }
    .about-grid { display:grid;grid-template-columns:1fr;gap:4rem;align-items:center; }
    @media(min-width:900px) { .about-grid { grid-template-columns:1fr 1fr;gap:6rem; } }
    .about-p { color:var(--muted-fg);font-size:1.05rem;line-height:1.75;margin-bottom:1.25rem; }
    .about-leader { display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border-radius:16px;background:var(--accent);border:1px solid var(--border);margin-top:2rem; }
    .leader-avatar { width:64px;height:64px;border-radius:50%;background:hsla(197,78%,61%,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
    .leader-initials { font-size:1.3rem;font-weight:900;color:var(--primary); }
    .leader-name { font-size:1.1rem;font-weight:900; }
    .leader-title { font-size:.85rem;font-weight:700;color:var(--primary);margin-bottom:.4rem; }
    .leader-bio { font-size:.85rem;color:var(--muted-fg);line-height:1.6; }
    .values-grid { display:grid;grid-template-columns:1fr;gap:1.25rem; }
    @media(min-width:480px) { .values-grid { grid-template-columns:repeat(2,1fr); } }
    .value-card { padding:1.5rem;border-radius:16px;border:1px solid var(--border);transition:border-color .3s,box-shadow .3s; }
    .value-card:hover { border-color:hsla(197,78%,61%,.2);box-shadow:0 6px 20px hsla(197,78%,61%,.06); }
    .val-icon { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--primary); }
    .val-title { font-size:1rem;font-weight:900;margin-bottom:.5rem; }
    .val-desc { font-size:.85rem;color:var(--muted-fg);line-height:1.65; }

    /* CONTACT */
    #contact { padding:7rem 0;background:hsl(220,25%,8%);position:relative;overflow:hidden; }
    .contact-orb-1 { position:absolute;top:0;right:0;width:24rem;height:24rem;background:hsla(197,78%,61%,.05);border-radius:50%;filter:blur(60px); }
    .contact-orb-2 { position:absolute;bottom:0;left:0;width:24rem;height:24rem;background:hsla(200,76%,74%,.05);border-radius:50%;filter:blur(60px); }
    #contact .section-h2 { color:white; }
    #contact .section-desc { color:rgba(255,255,255,.5); }
    .contact-grid { display:grid;grid-template-columns:1fr;gap:3rem;margin-top:3.5rem; }
    @media(min-width:900px) { .contact-grid { grid-template-columns:2fr 3fr;gap:4rem; } }
    .contact-info-list { display:flex;flex-direction:column;gap:1rem; }
    .contact-info-item { display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border-radius:16px;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);text-decoration:none;transition:background .3s,border-color .3s; }
    .contact-info-item:hover { background:hsla(197,78%,61%,.1);border-color:hsla(197,78%,61%,.25); }
    .ci-icon { width:48px;height:48px;border-radius:12px;background:hsla(197,78%,61%,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary);transition:background .3s; }
    .contact-info-item:hover .ci-icon { background:hsla(197,78%,61%,.25); }
    .ci-label { font-size:.65rem;font-weight:900;color:hsla(197,78%,61%,.7);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.3rem; }
    .ci-value { font-size:.9rem;font-weight:900;color:rgba(255,255,255,.85);white-space:pre-line; }
    .contact-cta-box { margin-top:1rem;padding:1.5rem;border-radius:16px;border:1px solid hsla(197,78%,61%,.2);background:hsla(197,78%,61%,.1); }
    .cta-box-title { font-size:.95rem;font-weight:900;color:rgba(255,255,255,.85);margin-bottom:.5rem; }
    .cta-box-text { font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:1rem; }
    .cta-box-link { display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:900;color:var(--primary); }
    .cta-box-link:hover { text-decoration:underline; }
    .contact-form-wrap { padding:2.5rem;border-radius:24px;border:1px solid hsla(197,78%,61%,.1);background:hsla(197,78%,61%,.05);backdrop-filter:blur(12px); }
    .form-row { display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.25rem; }
    @media(min-width:500px) { .form-row { grid-template-columns:1fr 1fr; } }
    .form-group { display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem; }
    .form-label { font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6); }
    .form-input,.form-textarea { width:100%;padding:.85rem 1rem;background:hsla(197,78%,61%,.05);border:1px solid hsla(197,78%,61%,.15);border-radius:8px;color:white;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s; }
    .form-input::placeholder { color:rgba(255,255,255,.3); }
    .form-input:focus { border-color:var(--primary); }
    .form-select { appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer; }
    .form-select option { background:hsl(220,25%,12%);color:white; }
    .btn-submit { width:100%;padding:1.1rem;display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--primary);color:white;border:none;border-radius:12px;font-size:1rem;font-weight:900;font-family:inherit;transition:background .2s;cursor:pointer; }
    .btn-submit:hover { background:hsl(197,78%,50%); }
    .spinner { width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0; }
    .g-recaptcha { transform-origin:left top; }
    @media(max-width:360px) { .g-recaptcha { transform:scale(0.85); } }

    /* FOOTER */
    footer { background:var(--bg);border-top:1px solid var(--border); }
    .footer-inner { max-width:1200px;margin:0 auto;padding:4rem 2rem 2rem; }
    .footer-grid { display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem; }
    @media(min-width:700px) { .footer-grid { grid-template-columns:repeat(3,1fr); } }
    .footer-logo { height:40px;width:auto;margin-bottom:1rem; }
    .footer-tagline { font-size:.875rem;font-weight:900;color:var(--primary);margin-top:1rem; }
    .footer-bio { font-size:.875rem;color:var(--muted-fg);line-height:1.65;max-width:260px; }
    .footer-col h4 { font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--fg);margin-bottom:1.25rem; }
    .footer-links { display:flex;flex-direction:column;gap:.75rem; }
    .footer-links button { font-size:.875rem;font-weight:700;color:var(--muted-fg);background:none;border:none;text-align:left;transition:color .2s;cursor:pointer; }
    .footer-links button:hover { color:var(--primary); }
    .footer-contact-list { display:flex;flex-direction:column;gap:1rem; }
    .footer-contact-item { display:flex;align-items:flex-start;gap:.75rem;text-decoration:none;color:var(--primary); }
    .footer-contact-item span { font-size:.875rem;font-weight:700;color:var(--muted-fg);transition:color .2s; }
    .footer-contact-item:hover span { color:var(--primary); }
    .footer-bottom { padding-top:2rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem; }
    .footer-bottom p { font-size:.75rem;color:var(--muted-fg); }
    .footer-bottom p:last-child { opacity:.5; }

    @media(max-width:900px) { .nav-links,.btn-nav { display:none; } .nav-toggle { display:block; } }
    @media(max-width:600px) { .hero-logo { height:3.5rem; } .section-max { padding:0 1.25rem; } .contact-form-wrap { padding:1.5rem; } }

/* ── Additions from inline styles ────────────────────────────── */
/* Services nav dropdown */
  .nav-dropdown { position:relative; display:inline-flex; align-items:center; }

  .nav-dd-toggle { display:inline-flex; align-items:center; gap:.3rem;
    padding:.5rem 1rem; font-size:.8rem; font-weight:900;
    letter-spacing:.08em; text-transform:uppercase;
    border-radius:8px; transition:color .2s,background .2s; cursor:pointer; white-space:nowrap; }
  #navbar:not(.scrolled) .nav-dd-toggle { color:rgba(255,255,255,.8); }
  #navbar:not(.scrolled) .nav-dd-toggle:hover { color:white; background:rgba(255,255,255,.1); }
  #navbar.scrolled .nav-dd-toggle { color:hsla(220,20%,10%,.7); }
  #navbar.scrolled .nav-dd-toggle:hover { color:hsl(197,78%,61%); background:hsl(197,78%,95%); }

  /* Dropdown panel — hidden until hover */
  .nav-dd-menu {
    list-style:none;
    visibility:hidden; opacity:0; pointer-events:none;
    position:absolute; top:calc(100% + .5rem); left:0; min-width:210px;
    background:white; border:1px solid hsl(220,13%,91%);
    border-radius:12px; box-shadow:0 16px 48px rgba(0,0,0,.16);
    padding:.4rem; z-index:9999;
    transition:opacity .18s ease, visibility .18s ease;
  }
  .nav-dropdown:hover .nav-dd-menu,
  .nav-dropdown:focus-within .nav-dd-menu {
    visibility:visible; opacity:1; pointer-events:auto;
  }

  /* CRITICAL: Override white nav-link color inside the dropdown panel */
  /* These selectors must beat #navbar:not(.scrolled) .nav-links a specificity */
  #navbar .nav-links .nav-dropdown .nav-dd-menu li,
  #navbar .nav-links .nav-dropdown .nav-dd-menu li a {
    color:hsl(220,20%,10%) !important;
    background:transparent;
    letter-spacing:normal;
  }
  .nav-dd-menu li { list-style:none; }
  .nav-dd-menu li a {
    display:block; padding:.6rem 1rem;
    font-size:.83rem; font-weight:700;
    border-radius:8px; white-space:nowrap;
    transition:background .15s, color .15s;
    text-decoration:none;
  }
  .nav-dd-menu li a:hover {
    background:hsl(197,78%,95%) !important;
    color:hsl(197,78%,35%) !important;
  }

  /* Card learn more link */
  .card-learn-more {
    display:inline-flex; align-items:center; gap:.4rem;
    margin-top:1rem; font-size:.82rem; font-weight:900;
    color:hsl(197,78%,61%); transition:gap .2s; text-decoration:none;
  }
  .card-learn-more:hover { gap:.7rem; }

.leader-photo { width:100%; height:100%; object-fit:cover; object-position:center top; border-radius:50%; display:block; }


.testimonial-carousel { position:relative; max-width:860px; margin:0 auto; }
  .testimonial-track { overflow:hidden; border-radius:20px; }
  .testimonial-slide { display:none; animation:fadeInUp .5s ease both; }
  .testimonial-slide.active { display:block; }
  .testimonial-card { background:hsla(197,78%,61%,.07); border:1px solid hsla(197,78%,61%,.15); border-radius:20px; padding:2.5rem; position:relative; }
  .testimonial-quote-mark { font-size:5rem; line-height:.8; color:hsl(197,78%,61%); font-family:Georgia,serif; font-weight:700; margin-bottom:.5rem; display:block; opacity:.5; }
  .testimonial-text { font-size:1rem; line-height:1.85; color:rgba(255,255,255,.85); margin-bottom:2rem; font-style:italic; }
  .testimonial-author { display:flex; align-items:center; gap:1.25rem; padding-top:1.5rem; border-top:1px solid hsla(197,78%,61%,.15); flex-wrap:wrap; }
  .testimonial-avatar { width:52px; height:52px; border-radius:50%; background:hsl(197,78%,61%); display:flex; align-items:center; justify-content:center; font-size:.95rem; font-weight:900; color:white; flex-shrink:0; }
  .testimonial-author-info { flex:1; min-width:160px; }
  .testimonial-name { font-size:1rem; font-weight:900; color:white; }
  .testimonial-role { font-size:.8rem; color:hsl(197,78%,61%); font-weight:700; margin-top:.15rem; }
  .testimonial-company { font-size:.78rem; color:rgba(255,255,255,.45); margin-top:.05rem; }
  .testimonial-learn-more { display:inline-flex; align-items:center; gap:.4rem; font-size:.8rem; font-weight:900; color:hsl(197,78%,61%); border:1px solid hsla(197,78%,61%,.35); padding:.5rem 1rem; border-radius:8px; white-space:nowrap; transition:background .2s,border-color .2s; text-decoration:none; margin-left:auto; }
  .testimonial-learn-more:hover { background:hsla(197,78%,61%,.12); border-color:hsl(197,78%,61%); }
  .testimonial-controls { display:flex; align-items:center; justify-content:center; gap:1.25rem; margin-top:2rem; }
  .testimonial-btn { width:44px; height:44px; border-radius:50%; background:hsla(197,78%,61%,.1); border:1px solid hsla(197,78%,61%,.25); color:hsl(197,78%,61%); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s,border-color .2s; }
  .testimonial-btn:hover { background:hsla(197,78%,61%,.2); border-color:hsl(197,78%,61%); }
  .testimonial-dots { display:flex; gap:.6rem; align-items:center; }
  .testimonial-dot { width:8px; height:8px; border-radius:50%; background:hsla(197,78%,61%,.3); cursor:pointer; transition:background .2s,transform .2s; border:none; }
  .testimonial-dot.active { background:hsl(197,78%,61%); transform:scale(1.3); }
  @media(max-width:600px) { .testimonial-card { padding:1.75rem; } .testimonial-text { font-size:.9rem; } .testimonial-learn-more { margin-left:0; width:100%; justify-content:center; } }
  
  
  /* FORCE SERVICE CARD TEXT COLORS */
.service-card .card-title {
  color: #0f172a !important;
}

.service-card .card-desc {
  color: #334155 !important;
}

.service-card .card-subtitle {
  color: #46b3e6 !important;
}