:root{
  --mesh-e:radial-gradient(circle at 50% 50%,rgba(255,255,255,.07),transparent 32%);
  --phase2-border:rgba(255,255,255,.22);
  --phase2-shadow:0 24px 60px rgba(2,29,29,.14),0 12px 24px rgba(15,23,42,.10);
}

body{
  background:
    var(--surface-mesh),
    var(--mesh-e),
    linear-gradient(180deg,#f8fffc 0%,#f4fbff 40%,#eef6f1 100%);
}

.hero,
.page-hero{
  isolation:isolate;
}

.hero::before,
.page-hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:0;
  background:
    radial-gradient(circle at 15% 25%,rgba(71,228,187,.18),transparent 26%),
    radial-gradient(circle at 80% 18%,rgba(34,211,238,.16),transparent 25%),
    radial-gradient(circle at 65% 70%,rgba(190,242,100,.12),transparent 26%);
  animation:hero-mesh-shift 18s ease-in-out infinite alternate;
  pointer-events:none;
}

.hero__inner,
.page-hero__inner{
  position:relative;
  z-index:1;
}

.hero__copy,
.hero__card,
.page-hero__inner{
  animation:slide-in-up .8s var(--ease) both;
}

.hero__strip{
  display:flex;
  align-items:stretch;
  gap:12px;
  padding:18px 0;
  height:auto;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(2,29,29,.16),rgba(2,29,29,.05));
}

.hero__strip::before,
.hero__strip::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}

.hero__strip::before{
  right:0;
  background:linear-gradient(to left,rgba(4,47,46,.88),transparent);
}

.hero__strip::after{
  left:0;
  background:linear-gradient(to right,rgba(4,47,46,.88),transparent);
}

.hero__strip-track{
  display:flex;
  gap:12px;
  width:max-content;
  animation:marquee-x 28s linear infinite;
}

.hero__strip:hover .hero__strip-track{
  animation-play-state:paused;
}

.hero__strip-img{
  min-width:220px;
  height:132px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:var(--phase2-shadow);
}

.hero__strip-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.tank-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(240px,1fr);
  gap:16px;
  overflow-x:auto;
  padding:4px 2px 14px;
  margin-top:18px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}

.tank-slider::-webkit-scrollbar{
  height:8px;
}

.tank-slide{
  scroll-snap-align:start;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(6,78,59,.1);
  box-shadow:0 12px 34px rgba(15,23,42,.08);
  min-height:220px;
}

.tank-slide img{
  display:block;
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
}

.trust-strip{
  position:relative;
  margin-top:-24px;
  z-index:4;
}

.trust-strip__panel{
  display:grid;
  grid-template-columns:1.1fr 2fr;
  gap:24px;
  align-items:center;
  padding:18px 24px;
  border-radius:28px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--phase2-border);
  backdrop-filter:blur(18px);
  box-shadow:var(--phase2-shadow);
}

.trust-strip__copy{
  display:grid;
  gap:8px;
}

.trust-strip__copy h3{
  color:var(--teal-900);
}

.trust-strip__copy p{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.85;
}

.trust-strip__logos{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.trust-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:10px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.72));
  border:1px solid rgba(6,95,70,.10);
  color:var(--teal-900);
  font-weight:800;
  font-family:var(--font-display);
  box-shadow:0 8px 24px rgba(2,29,29,.08);
}

.services-grid.phase2-services{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.service-card__icon{
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(6,78,59,.92),rgba(16,185,129,.76));
  color:#fff;
  box-shadow:0 14px 26px rgba(6,95,70,.22);
}

.service-card__icon svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

.service-card__link::after{
  content:"↗";
  font-size:.9rem;
}

.bento-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:18px;
}

.bento-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:var(--phase2-shadow);
  backdrop-filter:blur(16px);
  display:grid;
  gap:14px;
}

.bento-card--tall{
  grid-row:span 2;
}

.bento-card--wide{
  grid-column:span 2;
}

.bento-card__icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:rgba(16,185,129,.15);
  color:var(--teal-800);
  font-size:1.35rem;
}

.bento-card p{
  color:var(--muted);
  line-height:1.9;
}

.section-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.kpi-card{
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--phase2-shadow);
  display:grid;
  gap:10px;
}

.kpi-card strong{
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,3rem);
  color:var(--teal-800);
  line-height:1;
}

.kpi-card span{
  color:var(--muted);
  font-size:.9rem;
}

.section-shell{
  position:relative;
  padding:clamp(4.2rem,8vw,5.4rem) 0;
}

.section-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 15%,rgba(71,228,187,.10),transparent 20%),
    radial-gradient(circle at 84% 12%,rgba(34,211,238,.09),transparent 20%);
  pointer-events:none;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:4000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(2,6,23,.82);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:opacity .26s ease,visibility .26s ease;
}

.lightbox.is-open{
  opacity:1;
  visibility:visible;
}

.lightbox__dialog{
  position:relative;
  width:min(1100px,100%);
  max-height:min(88vh,920px);
  border-radius:28px;
  overflow:hidden;
  background:rgba(8,17,32,.92);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 90px rgba(2,6,23,.55);
}

.lightbox__img{
  width:100%;
  max-height:min(74vh,820px);
  object-fit:contain;
  background:#04161d;
}

.lightbox__caption{
  padding:16px 88px 18px 24px;
  color:#e2f5ef;
  font-size:.92rem;
}

.lightbox__btn{
  position:absolute;
  top:18px;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:1.25rem;
  transition:transform .22s ease,background .22s ease;
}

.lightbox__btn:hover{
  transform:scale(1.06);
  background:rgba(255,255,255,.22);
}

.lightbox__btn--close{left:18px}
.lightbox__btn--prev{right:18px;top:calc(50% - 23px)}
.lightbox__btn--next{left:18px;top:calc(50% - 23px)}

.scroll-progress{
  position:fixed;
  top:0;
  right:0;
  left:0;
  height:3px;
  z-index:1400;
  transform-origin:right center;
  transform:scaleX(0);
  background:linear-gradient(90deg,var(--teal-400),var(--cyan-400));
  box-shadow:0 0 14px rgba(34,211,238,.22);
  pointer-events:none;
}

.reveal{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .68s ease,transform .68s cubic-bezier(.22,1,.36,1);
}

.reveal-visible{
  opacity:1;
  transform:none;
}

.stagger-item{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity .56s ease,transform .56s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--stagger-delay,0ms);
}

.stagger-item.reveal-visible{
  opacity:1;
  transform:none;
}

.site-header.header-scrolled{
  background:rgba(248,250,252,.94);
  border-bottom-color:rgba(148,163,184,.24);
  box-shadow:0 18px 40px rgba(4,47,46,.10);
}

.mobile-menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.42);
  backdrop-filter:blur(4px);
  border:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:890;
  transition:opacity .24s ease,visibility .24s ease;
}

.mobile-menu-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.mobile-menu-open{
  overflow:hidden;
}

.lightbox-overlay{
  position:fixed;
  inset:0;
  z-index:4000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(2,6,23,.82);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:opacity .26s ease,visibility .26s ease;
}

.lightbox-overlay.lightbox-active{
  opacity:1;
  visibility:visible;
}

.lightbox-content{
  position:relative;
  width:min(1100px,100%);
  max-height:min(88vh,920px);
  border-radius:28px;
  overflow:hidden;
  background:rgba(8,17,32,.94);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 90px rgba(2,6,23,.55);
  transform:scale(.96);
  transition:transform .26s ease;
}

.lightbox-active .lightbox-content{
  transform:scale(1);
}

.lightbox-image{
  width:100%;
  max-height:min(74vh,820px);
  object-fit:contain;
  display:block;
  background:#04161d;
}

.lightbox-caption{
  padding:16px 88px 18px 24px;
  color:#e2f5ef;
  font-size:.92rem;
}

.lightbox-close,
.lightbox-prev,
.lightbox-next{
  position:absolute;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:1.25rem;
  transition:transform .22s ease,background .22s ease;
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover{
  transform:scale(1.06);
  background:rgba(255,255,255,.22);
}

.lightbox-close{top:18px;left:18px}
.lightbox-prev{top:calc(50% - 23px);right:18px}
.lightbox-next{top:calc(50% - 23px);left:18px}

.lightbox-open{
  overflow:hidden;
}

.video-fallback{
  margin-top:10px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(254,242,242,.94);
  color:#991b1b;
  font-size:.82rem;
  line-height:1.7;
}

.project-card,
.cert-card,
.article-card{
  overflow:hidden;
}

.project-card img,
.cert-card__img img,
.article-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.projects-grid.phase2-masonry{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.projects-grid.phase2-masonry .project-card{
  break-inside:auto;
  margin-bottom:0;
  animation:slide-in-up .55s var(--ease) both;
}

.project-card.is-hidden{
  opacity:0;
  transform:scale(.96);
  pointer-events:none;
}

.testimonials-section .container{
  display:grid;
  gap:24px;
}

.testimonials-viewport{
  overflow:hidden;
  border-radius:28px;
}

.testimonials-track{
  display:flex;
  transition:transform .45s var(--ease);
}

.testimonials-track .trust-card{
  min-width:100%;
  min-height:100%;
}

.testimonials-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}

.testimonial-btn,
.testimonial-dot{
  border:none;
  cursor:pointer;
}

.testimonial-btn{
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:1.4rem;
}

.testimonial-dots{
  display:flex;
  gap:8px;
}

.testimonial-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
}

.testimonial-dot.active{
  background:var(--teal-400);
}

.filter-btn{
  position:relative;
  overflow:hidden;
}

.filter-btn::after{
  content:"";
  position:absolute;
  inset:auto 14px 8px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.filter-btn.active::after,
.filter-btn:hover::after{
  transform:scaleX(1);
}

.timeline{
  position:relative;
  display:grid;
  gap:24px;
}

.timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:25px;
  width:2px;
  background:linear-gradient(180deg,var(--teal-500),rgba(16,185,129,.12));
}

.timeline-item{
  position:relative;
  padding:0 72px 0 0;
}

.timeline-item::before{
  content:"";
  position:absolute;
  right:14px;
  top:8px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--teal-700),var(--teal-400));
  box-shadow:0 0 0 8px rgba(16,185,129,.12);
}

.timeline-card{
  padding:22px 24px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.8));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--phase2-shadow);
}

.timeline-card span{
  display:inline-block;
  margin-bottom:8px;
  color:var(--teal-600);
  font-size:.82rem;
  font-weight:800;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.team-card{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.78));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:var(--phase2-shadow);
  text-align:center;
  display:grid;
  gap:14px;
}

.team-avatar{
  width:84px;
  height:84px;
  margin-inline:auto;
  border-radius:50%;
  background:
    linear-gradient(135deg,rgba(6,78,59,.9),rgba(16,185,129,.65)),
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),transparent 42%);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.5rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(6,95,70,.22);
}

.team-card p{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.8;
}

.contact-layout--phase2{
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
}

.contact-panel{
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.8));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--phase2-shadow);
}

.contact-map,
.footer-map{
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--phase2-shadow);
  background:#dbeafe;
}

.contact-map iframe,
.footer-map iframe{
  width:100%;
  min-height:100%;
  border:0;
}

.field-error{
  color:#b91c1c;
  font-size:.78rem;
  margin-top:6px;
}

.form-field.is-invalid input,
.form-field.is-invalid textarea,
.form-field.is-invalid select{
  border-color:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.10);
}

.form-notice{
  padding:14px 16px;
  border-radius:18px;
  font-size:.86rem;
  font-weight:700;
}

.form-notice--error{
  background:rgba(254,226,226,.86);
  color:#991b1b;
  border:1px solid rgba(239,68,68,.18);
}

.form-notice--success{
  background:rgba(220,252,231,.88);
  color:#166534;
  border:1px solid rgba(34,197,94,.18);
}

.cert-grid.phase2-cert-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.cert-card__zoom{
  position:absolute;
  top:16px;
  left:16px;
  width:40px;
  height:40px;
  border:none;
  border-radius:50%;
  background:rgba(4,47,46,.7);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter:blur(6px);
}

.blog-shell .articles-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.blog-shell .article-card{
  min-height:100%;
}

.article-card__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted-soft);
  font-size:.78rem;
  font-weight:700;
}

.article-layout.phase2-article{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
}

.article-share{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0;
}

.article-share a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(6,95,70,.08);
  color:var(--teal-800);
  font-weight:800;
  font-size:.84rem;
}

.article-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:26px;
}

.article-nav a{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8));
  border:1px solid rgba(255,255,255,.26);
  box-shadow:var(--phase2-shadow);
  display:grid;
  gap:6px;
}

.article-nav a span{
  color:var(--muted-soft);
  font-size:.76rem;
  font-weight:700;
}

.related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.related-card{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8));
  border:1px solid rgba(255,255,255,.26);
  box-shadow:var(--phase2-shadow);
  display:grid;
  gap:8px;
}

.related-card p{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.75;
}

.cta-band-final{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:34px;
  background:linear-gradient(135deg,var(--teal-950),var(--teal-800) 55%,var(--teal-600));
  box-shadow:0 24px 60px rgba(4,47,46,.28);
}

.cta-band-final::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 25%,rgba(255,255,255,.16),transparent 20%),
    radial-gradient(circle at 88% 20%,rgba(34,211,238,.16),transparent 22%);
  pointer-events:none;
}

.cta-band-final__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
}

.cta-band-final h2,
.cta-band-final p{
  color:#fff;
}

.footer-wave{
  position:relative;
  height:72px;
  margin-bottom:-1px;
  overflow:hidden;
}

.footer-wave svg{
  display:block;
  width:100%;
  height:100%;
}

.site-footer .footer-top{
  align-items:start;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.footer-extra{
  display:grid;
  gap:14px;
}

.service-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.service-overview-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--phase2-shadow);
  display:grid;
}

.service-overview-card img{
  width:100%;
  aspect-ratio:1.15/1;
  object-fit:cover;
}

.service-overview-card__body{
  padding:18px;
  display:grid;
  gap:10px;
}

.service-overview-card__body p{
  color:var(--muted);
  font-size:.88rem;
  line-height:1.8;
}

.subservices-accordion{
  display:grid;
  gap:12px;
}

.subservice-item{
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.82));
  border:1px solid rgba(255,255,255,.26);
  box-shadow:var(--sh-sm);
}

.subservice-item summary{
  cursor:pointer;
  list-style:none;
  padding:16px 20px;
  font-weight:800;
  color:var(--teal-900);
  position:relative;
}

.subservice-item summary::after{
  content:"+";
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.2rem;
  color:var(--teal-600);
}

.subservice-item[open] summary::after{
  content:"−";
}

.subservice-item__content{
  padding:0 20px 18px;
  color:var(--muted);
  line-height:1.9;
}

.lazy-shell{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(241,245,249,.9) 20%,rgba(226,232,240,.95) 50%,rgba(241,245,249,.9) 80%);
  background-size:200% 100%;
  animation:shimmer 1.8s linear infinite;
}

@keyframes marquee-x{
  from{transform:translateX(0)}
  to{transform:translateX(50%)}
}

@keyframes hero-mesh-shift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(2%,3%,0) scale(1.06)}
}

@media (max-width: 1100px){
  .trust-strip__panel,
  .cta-band-final__inner,
  .contact-layout--phase2{
    grid-template-columns:1fr;
  }

  .service-overview-grid,
  .section-kpis,
  .team-grid,
  .cert-grid.phase2-cert-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .projects-grid.phase2-masonry{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .nav-links{
    display:flex !important;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
    pointer-events:none;
    z-index:950;
  }

  .nav-links.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }

  .bento-grid,
  .blog-shell .articles-grid,
  .article-nav,
  .related-grid{
    grid-template-columns:1fr;
  }

  .bento-card--wide,
  .bento-card--tall{
    grid-column:auto;
    grid-row:auto;
  }

  .service-overview-grid,
  .services-grid.phase2-services,
  .section-kpis,
  .team-grid,
  .cert-grid.phase2-cert-grid{
    grid-template-columns:1fr;
  }

  .projects-grid.phase2-masonry{
    grid-template-columns:1fr;
  }

  .article-layout.phase2-article{
    grid-template-columns:1fr;
  }

  .hero__strip-img{
    min-width:180px;
    height:118px;
  }

  .hero__strip{
    display:flex;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }

  .hero__strip::-webkit-scrollbar{
    display:none;
  }

  .hero__strip-img{
    flex:0 0 auto;
    scroll-snap-align:start;
  }
}

@media (max-width: 640px){
  .trust-strip{
    margin-top:-12px;
  }

  .trust-strip__panel,
  .bento-card,
  .kpi-card,
  .contact-panel,
  .team-card,
  .service-overview-card__body,
  .cta-band-final{
    padding:20px;
  }

  .lightbox{
    padding:12px;
  }

  .lightbox__caption{
    padding:14px 18px 16px;
  }

  .lightbox__btn--prev,
  .lightbox__btn--next{
    top:auto;
    bottom:14px;
  }

  .hero__strip{
    gap:10px;
  }

  .hero__strip-track{
    gap:10px;
  }

  .hero__strip-img{
    min-width:156px;
    height:104px;
  }

  .timeline-item{
    padding-right:58px;
  }

  .timeline::before{
    right:20px;
  }

  .timeline-item::before{
    right:9px;
  }
}

.social-links {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.social-link {
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(11,123,102,.18);
  background:rgba(255,255,255,.9);
  color:var(--teal-800);
  box-shadow:0 8px 20px rgba(4,47,46,.08);
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.social-link svg {
  width:18px;
  height:18px;
  fill:currentColor;
}

.social-link:hover,
.social-link:focus-visible {
  transform:translateY(-2px);
  color:var(--white);
  background:var(--teal-700);
  border-color:transparent;
  box-shadow:0 12px 24px rgba(6,102,82,.16);
}

.social-links--header {
  gap:8px;
}

.social-links--header .social-link {
  width:34px;
  height:34px;
  background:rgba(255,255,255,.72);
  box-shadow:none;
}

.social-links--header .social-link svg {
  width:16px;
  height:16px;
}

.social-links--menu {
  display:none;
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid rgba(11,123,102,.12);
}

.social-links--footer {
  margin-top:12px;
}

.social-links--contact {
  margin-top:14px;
}

.social-links--cta {
  margin-top:16px;
  justify-content:center;
}

.social-panel {
  margin-top:22px;
  padding:20px;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.92);
  border:1px solid var(--border-2);
  box-shadow:var(--sh-sm);
}

.social-panel h3 {
  color:var(--teal-900);
  margin-bottom:8px;
}

.social-panel p {
  color:var(--muted);
  font-size:.9rem;
  line-height:1.85;
  margin-bottom:14px;
}

/* Contrast pass */
.hero h1,
.hero__card-title,
.page-hero h1,
.page-hero .lead,
.page-hero .breadcrumb,
.page-hero .breadcrumb a{
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}

.hero .lead,
.hero__checklist li,
.hero__stat span,
.videos-bg .section-head .desc,
.quality-bg .section-head .desc,
.articles-bg .section-head .desc,
.sidebar-cta p,
.cblock--dark p,
.cblock--dark li,
.cblock--teal p,
.cblock--teal li,
.cblock--cyan p,
.cblock--cyan li,
.cblock--slate p,
.cblock--slate li{
  color:rgba(255,255,255,.94)!important;
}

.hero__promo,
.hero__chips .badge,
.hero__card .badge,
.sidebar-cta h3,
.page-hero .eyebrow,
.articles-bg .eyebrow,
.quality-bg .eyebrow,
.videos-bg .eyebrow{
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}

.articles-bg .section-head h2,
.videos-bg .section-head h2,
.quality-bg .section-head h2,
.bg-text-section .section-head h2,
.trust-bg .section-head h2,
.dark-section .section-head h2{
  color:#f7fffc !important;
  text-shadow:0 3px 18px rgba(0,0,0,.34);
}

.articles-bg .section-head .desc,
.videos-bg .section-head .desc,
.quality-bg .section-head .desc,
.bg-text-section .section-head .desc,
.trust-bg .section-head .desc,
.dark-section .section-head .desc{
  color:rgba(255,255,255,.96) !important;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}

.articles-bg .section-head .eyebrow,
.videos-bg .section-head .eyebrow,
.quality-bg .section-head .eyebrow,
.bg-text-section .section-head .eyebrow,
.trust-bg .section-head .eyebrow,
.dark-section .section-head .eyebrow{
  color:#7ff8da !important;
}

.hero__card{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(243,250,247,.78)) !important;
  border:1px solid rgba(255,255,255,.42);
}

.hero__card .badge{
  background:rgba(181,245,229,.72) !important;
  color:#0f4b40 !important;
  border-color:rgba(74,222,197,.48) !important;
  text-shadow:none !important;
}

.hero__card-title{
  color:#ffffff !important;
  text-shadow:0 4px 18px rgba(0,0,0,.42),0 1px 6px rgba(0,0,0,.25) !important;
}

.hero__checklist li{
  color:#f7fffc !important;
  text-shadow:0 2px 10px rgba(0,0,0,.24);
}

.hero__checklist li::marker{
  color:#6ef0c8;
}

.hero__stat strong{
  color:#5ff1c6 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.26);
}

.stats-band__grid{gap:0}
.stat-item{background:transparent}
.stat-item strong{color:#7af3ca!important;text-shadow:0 2px 12px rgba(0,0,0,.22)}
.stat-item span{color:rgba(255,255,255,.96)!important;font-weight:700;line-height:1.7;text-shadow:0 1px 10px rgba(0,0,0,.18)}

.section-head .desc,
.lead,
.trust-card__text,
.trust-card__loc,
.article-card p,
.contact-copy p,
.contact-channel__label,
.cert-card p,
.info-box p,
.info-box ul,
.info-box li,
.cblock--white p,
.cblock--white li,
.cblock--warm p,
.cblock--warm li,
.service-card p,
.step-item__content p,
.step-item__content ul,
.step-item__content li,
.material-card p,
.social-panel p,
.faq-item details p,
.about-copy p,
.about-point p{
  color:#36534d!important;
}

.article-card h3,
.service-card h3,
.info-box h3,
.contact-copy h2,
.contact-form__title,
.cert-card h3,
.cblock--white h3,
.cblock--warm h3,
.about-point h4,
.sidebar-links h4{
  color:#0f3d35!important;
}

.article-card,
.service-card,
.contact-form,
.sidebar-links,
.info-box,
.cert-card,
.material-card,
.social-panel,
.timeline-card,
.kpi-card,
.bento-card,
.contact-channel,
.faq-item{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(249,252,251,.93))!important;
}

.article-card__link,
.service-card__link,
.contact-channel__val,
.sidebar-links a,
.contact-form .form-field label{
  color:#0f5b4f!important;
}

.badge{color:#fff}
.badge--teal{color:#d8fff3}
.badge--cyan{color:#d9f9ff}

.quality-item,
.process-step,
.cta-banner p,
.footer-brand p,
.footer-bottom p,
.footer-col a{
  color:rgba(255,255,255,.9);
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  color:#143f38;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:#6b7f79;
}

@media (max-width: 991px) {
  .social-links--header {
    display:none;
  }

  .nav-links.open .social-links--menu,
  .nav-links .social-links--menu {
    display:flex;
  }

  .social-links--menu {
    justify-content:center;
  }

  .social-links--menu .social-link {
    width:38px;
    height:38px;
  }
}
