/* ============================================================
   ATLANTIS GLOBAL LABORATORIES - design tokens
   Type:   Space Grotesk (display) / Inter (body) / IBM Plex Mono (data)
   Palette: laboratory ink, teal culture-plate accent, alert red
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --ink:        #0B1E29;
  --ink-soft:   #163244;
  --paper:      #F2F4F1;
  --panel:      #FFFFFF;
  --line:       #D8DED9;
  --line-dark:  rgba(242,244,241,0.16);
  --teal:       #12766B;
  --teal-deep:  #0B4F49;
  --amber:      #C97A2B;
  --red:        #A73B2E;
  --text:       #1B2B32;
  --text-soft:  #55666C;
  --text-inv:   #DDE6E3;
  --text-inv-soft: #93A6A2;

  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --max: 1180px;
  --pad: clamp(20px, 5vw, 64px);

  --radius: 3px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0;
  color:var(--ink);
  letter-spacing:-0.01em;
  font-weight:600;
}
p{ margin:0; }
.mono{ font-family:var(--font-mono); }

::selection{ background:var(--teal); color:#fff; }

:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- section rhythm ---------- */
section{ padding:88px 0; }
.section-tight{ padding:56px 0; }
.rule{
  border:none;
  border-top:1px solid var(--line);
  margin:0;
}
.rule-dark{ border-top:1px solid var(--line-dark); }

/* ---------- tag / sample-id chips ---------- */
.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--teal-deep);
  background:rgba(18,118,107,0.08);
  border:1px solid rgba(18,118,107,0.25);
  padding:5px 10px;
  border-radius:2px;
  letter-spacing:0.01em;
}
.tag::before{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:var(--teal);
  flex-shrink:0;
}
.tag.on-dark{
  color:#BFEAE3;
  background:rgba(18,118,107,0.18);
  border-color:rgba(191,234,227,0.28);
}

/* ---------- top navigation ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--ink);
  border-bottom:1px solid var(--line-dark);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px var(--pad);
  max-width:var(--max);
  margin:0 auto;
}
.brand{
  display:flex;
  align-items:baseline;
  gap:10px;
  color:#fff;
  font-family:var(--font-display);
  font-weight:600;
  font-size:18px;
  line-height:1;
}
.brand .mark{
  width:11px; height:11px;
  background:var(--teal);
  border-radius:50%;
  display:inline-block;
  transform:translateY(1px);
}
.brand small{
  font-family:var(--font-mono);
  font-weight:400;
  font-size:11px;
  color:var(--text-inv-soft);
  letter-spacing:0.04em;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:2px;
}
.nav-links a{
  color:var(--text-inv-soft);
  font-size:14.5px;
  padding:10px 14px;
  border-radius:2px;
  transition:color .15s ease, background .15s ease;
  display:flex;
  align-items:baseline;
  gap:7px;
}
.nav-links a .idx{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--teal);
  opacity:.8;
}
.nav-links a:hover{ color:#fff; background:rgba(255,255,255,0.05); }
.nav-links a.active{ color:#fff; }
.nav-links a.active .idx{ opacity:1; }
.nav-cta{
  border:1px solid rgba(255,255,255,0.22) !important;
  color:#fff !important;
  margin-left:10px;
}
.nav-cta:hover{ background:var(--teal) !important; border-color:var(--teal) !important; }

.nav-toggle{
  display:none;
  background:none;
  border:1px solid var(--line-dark);
  color:#fff;
  width:38px; height:38px;
  border-radius:2px;
  align-items:center;
  justify-content:center;
}

@media (max-width: 860px){
  .nav-links{
    position:fixed;
    top:63px; left:0; right:0;
    background:var(--ink);
    flex-direction:column;
    align-items:stretch;
    padding:8px var(--pad) 20px;
    border-bottom:1px solid var(--line-dark);
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
  }
  .nav-links.open{
    opacity:1; transform:translateY(0); pointer-events:auto;
  }
  .nav-links a{ padding:13px 6px; border-top:1px solid var(--line-dark); }
  .nav-cta{ margin-left:6px; margin-top:8px; text-align:center; justify-content:center; }
  .nav-toggle{ display:flex; }
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:14.5px;
  padding:13px 22px;
  border-radius:2px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .12s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{
  background:var(--teal);
  color:#fff;
}
.btn-primary:hover{ background:var(--teal-deep); }
.btn-ghost{
  background:transparent;
  border-color:var(--ink);
  color:var(--ink);
}
.btn-ghost:hover{ background:var(--ink); color:#fff; }
.btn-ghost.on-dark{ border-color:rgba(255,255,255,0.35); color:#fff; }
.btn-ghost.on-dark:hover{ background:rgba(255,255,255,0.1); }
.btn-arrow{ font-family:var(--font-mono); font-size:13px; }

/* ---------- hero ---------- */
.hero{
  background:var(--ink);
  color:var(--text-inv);
  padding:72px 0 0;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:56px;
  align-items:center;
  padding-bottom:64px;
}
.hero-eyebrow{ margin-bottom:22px; }
.hero h1{
  color:#fff;
  font-size:clamp(2.3rem, 4.4vw, 3.6rem);
  line-height:1.06;
  margin-bottom:22px;
  max-width:14ch;
}
.hero p.lead{
  color:var(--text-inv-soft);
  font-size:17.5px;
  max-width:46ch;
  margin-bottom:32px;
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* live results panel */
.panel{
  background:var(--ink-soft);
  border:1px solid var(--line-dark);
  border-radius:4px;
  overflow:hidden;
}
.panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid var(--line-dark);
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-inv-soft);
}
.panel-head .dot-live{
  width:7px; height:7px; border-radius:50%;
  background:#4FD1B5;
  display:inline-block;
  margin-right:7px;
  animation:pulse 1.8s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(79,209,181,.5); }
  50%{ opacity:.55; box-shadow:0 0 0 5px rgba(79,209,181,0); }
}
.panel-rows{ padding:6px 0; }
.panel-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 18px;
  border-bottom:1px solid var(--line-dark);
  font-size:14px;
}
.panel-row:last-child{ border-bottom:none; }
.panel-row .analyte{ color:var(--text-inv); font-style:italic; }
.panel-row .analyte.plain{ font-style:normal; }
.status{
  font-family:var(--font-mono);
  font-size:11.5px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#4FD1B5;
}
.status::before{ content:"✓"; }
.status.within{ color:#8FD14F; }
.panel-foot{
  display:flex;
  justify-content:space-between;
  padding:13px 18px;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--text-inv-soft);
  border-top:1px solid var(--line-dark);
  background:rgba(0,0,0,0.12);
}

/* ---------- stat strip ---------- */
.stat-strip{
  background:var(--panel);
  border-bottom:1px solid var(--line);
  border-top:1px solid var(--line);
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.stat{
  padding:30px var(--pad);
  border-left:1px solid var(--line);
}
.stat:first-child{ border-left:none; padding-left:var(--pad); }
.stat .num{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,2.6vw,2.3rem);
  color:var(--ink);
  font-weight:600;
  line-height:1;
}
.stat .label{
  margin-top:8px;
  font-size:13px;
  color:var(--text-soft);
  max-width:22ch;
}

/* ---------- section headers ---------- */
.section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:48px;
}
.section-head h2{
  font-size:clamp(1.7rem,2.8vw,2.3rem);
  max-width:16ch;
}
.section-head .kicker{
  display:block;
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--teal-deep);
  margin-bottom:14px;
}
.section-head .desc{
  color:var(--text-soft);
  font-size:15.5px;
  max-width:42ch;
}

/* ---------- core business grid ---------- */
.business-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.business-card{
  padding:34px 28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--panel);
  transition:background .15s ease;
}
.business-card:hover{ background:#fff; box-shadow: inset 0 -2px 0 var(--teal); }
.business-card .no{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-soft);
  display:block;
  margin-bottom:20px;
}
.business-card h3{
  font-size:18px;
  margin-bottom:10px;
  line-height:1.25;
}
.business-card p{ color:var(--text-soft); font-size:14px; }

/* ---------- clients marquee ---------- */
.marquee-wrap{
  background:var(--ink);
  padding:26px 0;
  overflow:hidden;
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.marquee-label{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-inv-soft);
  padding:0 var(--pad);
  margin-bottom:16px;
  max-width:var(--max);
  margin-left:auto; margin-right:auto;
}
.marquee{
  display:flex;
  width:max-content;
  animation:scroll 26s linear infinite;
}
.marquee span{
  font-family:var(--font-display);
  font-size:20px;
  color:var(--text-inv-soft);
  padding:0 40px;
  white-space:nowrap;
  border-right:1px solid var(--line-dark);
}
@keyframes scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ---------- values list ---------- */
.values-list{
  border-top:1px solid var(--line);
}
.value-row{
  display:grid;
  grid-template-columns:70px 220px 1fr;
  gap:24px;
  padding:22px var(--pad);
  border-bottom:1px solid var(--line);
  align-items:baseline;
}
.value-row .rn{
  font-family:var(--font-mono);
  color:var(--teal-deep);
  font-size:14px;
}
.value-row h4{ font-size:16.5px; }
.value-row p{ color:var(--text-soft); font-size:14.5px; }

/* ---------- generic page hero (inner pages) ---------- */
.page-hero{
  background:var(--ink);
  color:#fff;
  padding:64px 0 56px;
}
.page-hero h1{
  color:#fff;
  font-size:clamp(2rem,4vw,2.9rem);
  max-width:20ch;
  margin-top:18px;
}
.page-hero .lead{
  color:var(--text-inv-soft);
  max-width:56ch;
  margin-top:16px;
  font-size:16px;
}
.crumb{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-inv-soft);
}
.crumb b{ color:#fff; font-weight:500; }

/* ---------- two column text ---------- */
.two-col{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:56px;
}
.two-col .side-label{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--teal-deep);
  position:sticky;
  top:100px;
}
.prose p{ color:var(--text-soft); margin-bottom:16px; font-size:15.5px; }
.prose p:last-child{ margin-bottom:0; }
.prose strong{ color:var(--ink); font-weight:600; }

/* ---------- image frame ---------- */
.frame{
  border:1px solid var(--line);
  padding:6px;
  background:#fff;
}
.frame img{ width:100%; height:100%; object-fit:cover; }

/* ---------- team / people grid ---------- */
.people-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.people-card{
  background:var(--panel);
  padding:28px;
}
.people-card .pillicon{
  width:38px; height:38px;
  border:1px solid var(--teal);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--teal-deep);
  font-family:var(--font-mono);
  font-size:12px;
  margin-bottom:18px;
}
.people-card h4{ font-size:16px; margin-bottom:6px; }
.people-card p{ color:var(--text-soft); font-size:14px; }

/* ---------- analyte spec table ---------- */
.spec-table{ width:100%; border-collapse:collapse; }
.spec-table th{
  text-align:left;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--text-soft);
  text-transform:none;
  padding:10px 14px;
  border-bottom:1px solid var(--ink);
}
.spec-table td{
  padding:14px;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.spec-table td.method{ font-family:var(--font-mono); font-size:12.5px; color:var(--text-soft); }
.spec-table tr:hover td{ background:rgba(18,118,107,0.04); }

/* ---------- service accordion-ish list ---------- */
.service-block{
  border-top:1px solid var(--line);
  padding:40px 0;
}
.service-block:last-child{ border-bottom:1px solid var(--line); }
.service-block-inner{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:40px;
}
.service-block .sv-idx{
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--teal-deep);
}
.service-block h3{ font-size:22px; margin-top:12px; }
.service-block p{ color:var(--text-soft); font-size:15px; margin-top:10px; max-width:34ch; }
.chip-list{
  display:flex; flex-wrap:wrap; gap:9px;
  margin-top:6px;
}
.chip{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--text);
  border:1px solid var(--line);
  padding:7px 11px;
  border-radius:2px;
  background:#fff;
}
.subhead-note{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-soft);
  margin-top:18px;
  margin-bottom:2px;
}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--teal-deep);
  color:#fff;
  padding:64px 0;
}
.cta-band-grid{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.cta-band h2{ color:#fff; font-size:clamp(1.5rem,2.6vw,2.1rem); max-width:16ch; }
.cta-band .kicker{ color:#BFEAE3; }

/* ---------- footer ---------- */
footer{
  background:var(--ink);
  color:var(--text-inv-soft);
  padding:56px 0 26px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:40px;
}
.footer-brand .brand{ margin-bottom:16px; }
.footer-brand p{ font-size:14px; max-width:34ch; color:var(--text-inv-soft); }
.footer-col h5{
  font-family:var(--font-mono);
  font-size:12px;
  color:#fff;
  margin-bottom:16px;
  font-weight:400;
}
.footer-col ul li{ margin-bottom:10px; }
.footer-col a{ font-size:14px; color:var(--text-inv-soft); transition:color .15s; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
  display:flex;
  justify-content:space-between;
  padding-top:22px;
  border-top:1px solid var(--line-dark);
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-inv-soft);
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- contact page ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:56px;
}
.contact-card{
  border:1px solid var(--line);
  background:#fff;
  padding:26px;
  margin-bottom:14px;
}
.contact-card .k{
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--text-soft);
  display:block;
  margin-bottom:8px;
}
.contact-card .v{ font-size:16px; color:var(--ink); font-weight:500; }

.form-field{ margin-bottom:20px; }
.form-field label{
  display:block;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-soft);
  margin-bottom:8px;
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  padding:13px 14px;
  font-family:var(--font-body);
  font-size:14.5px;
  color:var(--text);
  border-radius:2px;
  transition:border-color .15s;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--teal);
  outline:none;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-note{
  font-size:12.5px;
  color:var(--text-soft);
  margin-top:6px;
}
.form-success{
  display:none;
  border:1px solid var(--teal);
  background:rgba(18,118,107,0.06);
  padding:18px;
  font-size:14.5px;
  color:var(--teal-deep);
  margin-top:16px;
}
.form-success.show{ display:block; }

/* ---------- map placeholder ---------- */
.map-block{
  border:1px solid var(--line);
  background:
    repeating-linear-gradient(0deg, transparent, transparent 27px, rgba(11,30,41,0.05) 28px),
    repeating-linear-gradient(90deg, transparent, transparent 27px, rgba(11,30,41,0.05) 28px),
    #E9ECE8;
  min-height:280px;
  position:relative;
  display:flex;
  align-items:flex-end;
}
.map-pin{
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--line);
  margin:18px;
}
.map-pin .k{ font-family:var(--font-mono); font-size:11px; color:var(--teal-deep); }
.map-pin .v{ font-size:14.5px; margin-top:4px; }

/* ---------- projects / clients page ---------- */
.client-table{ width:100%; border-collapse:collapse; margin-top:8px; }
.client-table tr{ border-bottom:1px solid var(--line); }
.client-table td{ padding:18px 14px; font-size:15px; vertical-align:top; }
.client-table td.cn{ font-weight:600; color:var(--ink); width:32%; }
.client-table td.ci{ color:var(--text-soft); font-size:14px; }
.client-table td.cx{ font-family:var(--font-mono); font-size:11.5px; color:var(--teal-deep); width:12%; }

.sector-filter{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-bottom:28px;
}
.sector-filter button{
  font-family:var(--font-mono);
  font-size:12.5px;
  border:1px solid var(--line);
  background:#fff;
  padding:8px 13px;
  cursor:pointer;
  color:var(--text-soft);
  border-radius:2px;
  transition:all .15s;
}
.sector-filter button:hover{ border-color:var(--teal); color:var(--teal-deep); }
.sector-filter button.active{ background:var(--ink); border-color:var(--ink); color:#fff; }

/* ---------- accreditation strip on about ---------- */
.accred-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.accred-card{
  background:#fff;
  padding:30px;
}
.accred-card .mono{ font-size:11.5px; color:var(--teal-deep); display:block; margin-bottom:10px; }
.accred-card h4{ font-size:16px; margin-bottom:8px; }
.accred-card p{ font-size:13.5px; color:var(--text-soft); }

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .stat-grid{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(3){ border-left:none; }
  .business-grid{ grid-template-columns:repeat(2,1fr); }
  .section-head{ grid-template-columns:1fr; }
  .two-col{ grid-template-columns:1fr; }
  .two-col .side-label{ position:static; }
  .people-grid{ grid-template-columns:repeat(2,1fr); }
  .service-block-inner{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .accred-grid{ grid-template-columns:1fr; }
  .value-row{ grid-template-columns:40px 1fr; }
  .value-row .lb{ grid-column:2; }
}
@media (max-width: 620px){
  .stat-grid{ grid-template-columns:1fr; }
  .stat{ border-left:none !important; border-top:1px solid var(--line); padding-left:var(--pad) !important; }
  .stat:first-child{ border-top:none; }
  .business-grid{ grid-template-columns:1fr; }
  .people-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:28px; }
  .form-row{ grid-template-columns:1fr; }
  .cta-band-grid{ flex-direction:column; align-items:flex-start; }
}

/* ============================================================
   PHOTOGRAPHY MODULES - slider, banners, split image sections
   ============================================================ */

/* ---------- hero image slider ---------- */
.hero-slider{
  position:relative;
  height:min(78vh, 640px);
  min-height:420px;
  overflow:hidden;
  background:var(--ink);
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease;
  pointer-events:none;
}
.slide.active{ opacity:1; pointer-events:auto; }
.slide img{
  width:100%; height:100%;
  object-fit:cover;
  filter:saturate(0.92) brightness(0.62);
}
.slide::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,30,41,0.35) 0%, rgba(11,30,41,0.25) 40%, rgba(11,30,41,0.88) 100%);
}
.slider-content{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:5;
  padding:0 0 46px;
}
.slider-content .container{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:56px;
  align-items:end;
}
.slider-text h1{
  color:#fff;
  font-size:clamp(2.2rem, 4.2vw, 3.4rem);
  line-height:1.06;
  margin-bottom:20px;
  max-width:15ch;
}
.slider-text p.lead{
  color:var(--text-inv-soft);
  font-size:16.5px;
  max-width:44ch;
  margin-bottom:26px;
}
.slide-tag{
  display:block;
  font-family:var(--font-mono);
  font-size:12px;
  color:#BFEAE3;
  margin-bottom:14px;
  letter-spacing:0.01em;
}
.slider-controls{
  position:absolute;
  top:24px; right:var(--pad);
  z-index:6;
  display:flex;
  gap:10px;
  align-items:center;
}
.slider-arrow{
  width:38px; height:38px;
  border:1px solid rgba(255,255,255,0.35);
  background:rgba(11,30,41,0.4);
  color:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  font-size:16px;
  transition:background .15s, border-color .15s;
}
.slider-arrow:hover{ background:var(--teal); border-color:var(--teal); }
.slider-dots{
  position:absolute;
  bottom:24px; right:var(--pad);
  z-index:6;
  display:flex;
  gap:8px;
}
.slider-dot{
  width:26px; height:3px;
  background:rgba(255,255,255,0.32);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .2s;
}
.slider-dot.active{ background:var(--teal); }
.slider-count{
  position:absolute;
  top:24px; left:var(--pad);
  z-index:6;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-inv-soft);
}
.slider-count b{ color:#fff; font-weight:500; }

@media (max-width:860px){
  .slider-content .container{ grid-template-columns:1fr; }
  .hero-slider{ height:min(88vh, 560px); }
}

/* ---------- image credit micro-strip below slider ---------- */
.credit-strip{
  background:var(--ink);
  border-top:1px solid var(--line-dark);
  padding:8px 0;
}
.credit-strip .container{
  font-family:var(--font-mono);
  font-size:10.5px;
  color:var(--text-inv-soft);
  opacity:0.7;
}

/* ---------- split image + text section ---------- */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
}
.split.reverse{ direction:rtl; }
.split.reverse > *{ direction:ltr; }
.split-media{
  position:relative;
  min-height:420px;
  overflow:hidden;
}
.split-media img{
  width:100%; height:100%;
  object-fit:cover;
  position:absolute; inset:0;
}
.split-text{
  padding:64px var(--pad);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--panel);
}
.split-text .kicker{ display:block; font-family:var(--font-mono); font-size:12.5px; color:var(--teal-deep); margin-bottom:16px; }
.split-text h2{ font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:16px; max-width:18ch; }
.split-text p{ color:var(--text-soft); font-size:15px; margin-bottom:14px; max-width:42ch; }
.split-text p:last-of-type{ margin-bottom:0; }

@media (max-width:860px){
  .split, .split.reverse{ grid-template-columns:1fr; direction:ltr; }
  .split-media{ min-height:280px; }
  .split-text{ padding:44px var(--pad); }
}

/* ---------- full-bleed banner with overlay text ---------- */
.banner{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.banner img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  filter:saturate(0.85) brightness(0.5);
}
.banner::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,30,41,0.92) 0%, rgba(11,30,41,0.55) 55%, rgba(11,30,41,0.25) 100%);
}
.banner-content{ position:relative; z-index:2; padding:56px 0; }
.banner-content .kicker{ display:block; font-family:var(--font-mono); font-size:12px; color:#BFEAE3; margin-bottom:14px; }
.banner-content h2{ color:#fff; font-size:clamp(1.5rem,2.6vw,2.2rem); max-width:20ch; margin-bottom:14px; }
.banner-content p{ color:var(--text-inv-soft); max-width:46ch; font-size:15px; }

/* ---------- inline photo pair grid (clients page) ---------- */
.photo-pair{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:20px;
}
.photo-pair .pp-tall{ min-height:420px; }
.photo-pair .pp-short{ min-height:420px; }
.pp-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
}
.pp-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.pp-label{
  position:absolute;
  left:0; bottom:0; right:0;
  padding:16px 18px;
  background:linear-gradient(0deg, rgba(11,30,41,0.85), transparent);
  color:#fff;
  font-family:var(--font-mono);
  font-size:12px;
}
@media (max-width:760px){
  .photo-pair{ grid-template-columns:1fr; }
  .photo-pair .pp-tall, .photo-pair .pp-short{ min-height:280px; }
}

/* ---------- small inline image chip (services blocks) ---------- */
.sv-media{
  position:relative;
  min-height:220px;
  overflow:hidden;
  border:1px solid var(--line);
  margin-top:20px;
}
.sv-media img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }


/* ============================================================
   PREMIUM INNER-PAGE REFRESH
   ============================================================ */
.page-hero{
  position:relative;
  isolation:isolate;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  padding:120px 0 72px;
  color:#fff;
  overflow:hidden;
  background:#0b1e29 center/cover no-repeat;
}
.page-hero::before{
  content:"";
  position:absolute; inset:0; z-index:-2;
  background:var(--hero-image);
  background-position:center;
  background-size:cover;
  transform:scale(1.02);
}
.page-hero::after{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,rgba(5,22,30,.93) 0%,rgba(5,22,30,.72) 48%,rgba(5,22,30,.34) 100%),
             linear-gradient(0deg,rgba(5,22,30,.78),transparent 60%);
}
.page-hero .container{width:100%}
.page-hero .crumb{
  display:inline-flex; align-items:center; gap:10px;
  margin-bottom:22px; padding:8px 13px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.09);
  color:#dff4f0;
  border-radius:999px;
  font:500 11px/1 var(--font-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.page-hero .crumb b{color:#fff}
.page-hero h1{
  max-width:920px;
  color:#fff;
  font-size:clamp(2.5rem,5vw,4.7rem);
  line-height:1.03;
  letter-spacing:-.045em;
  text-wrap:balance;
  text-shadow:0 3px 24px rgba(0,0,0,.2);
}
.page-hero .lead{
  max-width:760px;
  margin-top:22px;
  color:#d8e5e2;
  font-size:18px;
  line-height:1.75;
}
.page-about{--hero-image:url("img/photo-1579154204601-01588f351e67.jpg?auto=format&fit=crop&w=2200&q=85")}
.page-services{--hero-image:url("https://images.unsplash.com/photo-1532094349884-543bc11b234d?auto=format&fit=crop&w=2200&q=85")}
.page-work{--hero-image:url("https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?auto=format&fit=crop&w=2200&q=85")}
.page-contact{--hero-image:url("https://images.unsplash.com/photo-1581093458791-9d42e3c7f2f0?auto=format&fit=crop&w=2200&q=85")}

.inner-intro{
  display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;
}
.inner-intro .image-card{
  position:relative;border-radius:18px;overflow:hidden;min-height:390px;
  box-shadow:0 22px 55px rgba(11,30,41,.14);
}
.inner-intro .image-card img{width:100%;height:100%;object-fit:cover}
.inner-intro .floating-stat{
  position:absolute;right:20px;bottom:20px;background:#fff;padding:18px 20px;
  border-radius:12px;box-shadow:0 12px 35px rgba(11,30,41,.18);
}
.floating-stat strong{display:block;font:700 25px var(--font-display);color:var(--teal-deep)}
.floating-stat span{font-size:12px;color:var(--text-soft)}
.eyebrow{
  display:inline-block;margin-bottom:13px;color:var(--teal);
  font:600 11px var(--font-mono);letter-spacing:.13em;text-transform:uppercase;
}
.display-title{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.08;margin-bottom:20px}
.lead-copy{font-size:17px;color:var(--text-soft);line-height:1.8}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{
  background:#fff;border:1px solid var(--line);padding:30px;border-radius:16px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.feature-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(11,30,41,.1)}
.feature-icon{
  width:48px;height:48px;border-radius:13px;background:rgba(18,118,107,.1);
  color:var(--teal);display:grid;place-items:center;font:700 13px var(--font-mono);margin-bottom:22px;
}
.feature-card h3{font-size:21px;margin-bottom:10px}.feature-card p{color:var(--text-soft);font-size:14px}
.soft-band{background:#e9efec}
.image-banner{
  position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;
}
.image-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,30,.9),rgba(5,22,30,.35))}
.image-banner .container{position:relative;z-index:1}
.image-banner h2{color:#fff;max-width:760px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}
.image-banner p{color:#d9e5e2;max-width:650px;margin-top:16px;font-size:17px}
.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:55px}
.service-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  overflow:hidden;box-shadow:0 10px 30px rgba(11,30,41,.05);
}
.service-card .service-card-image{height:190px;overflow:hidden}
.service-card .service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.service-card:hover .service-card-image img{transform:scale(1.05)}
.service-card-body{padding:28px}
.service-number{color:var(--teal);font:600 11px var(--font-mono);letter-spacing:.12em}
.service-card h3{font-size:25px;margin:10px 0 11px}
.service-card p{color:var(--text-soft);font-size:14.5px;line-height:1.75}
.service-card ul{margin-top:18px;display:grid;gap:9px}
.service-card li{font-size:13px;color:var(--text);padding-left:18px;position:relative}
.service-card li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
@media(max-width:850px){
 .page-hero{min-height:390px;padding:105px 0 58px}
 .inner-intro,.feature-grid,.service-cards{grid-template-columns:1fr}
 .inner-intro .image-card{min-height:300px}
}
@media(max-width:520px){
 .page-hero h1{font-size:2.35rem}
 .page-hero .lead{font-size:16px}
 .feature-grid{gap:14px}.service-cards{gap:16px}
}

/* ============================================================
   ATLANTIS 2026 VISUAL REFRESH
   Blue accent inspired by the supplied Atlantis reference.
   ============================================================ */
:root{
  --atl-blue:#4674B7;
  --atl-blue-dark:#315D9A;
  --atl-blue-pale:#EDF3FA;
  --atl-ink:#102033;
}
h1,h2,h3,h4{color:var(--atl-blue);}
.site-header{background:#102033;}
.nav-links a{color:#DCE7F4;}
.nav-links a:hover,.nav-links a.active{color:#fff;background:rgba(70,116,183,.22);}
.nav-links a .idx{color:#8EA9CA;}
.nav-cta{background:var(--atl-blue)!important;border-color:var(--atl-blue)!important;color:#fff!important;}

/* Hover services dropdown */
.nav-dropdown{position:relative;display:flex;align-items:stretch;}
.nav-dropdown>.dropdown-trigger{display:flex;align-items:center;gap:8px;}
.chev{font-size:16px;line-height:1;opacity:.75;transition:transform .2s ease;}
.nav-dropdown:hover .chev,.nav-dropdown:focus-within .chev{transform:rotate(180deg);}
.dropdown-menu{position:absolute;top:calc(100% + 12px);left:0;width:285px;padding:10px;background:#fff;border:1px solid #DCE4EE;box-shadow:0 18px 45px rgba(16,32,51,.18);opacity:0;visibility:hidden;transform:translateY(7px);transition:.2s ease;z-index:80;}
.dropdown-menu::before{content:"";position:absolute;top:-7px;left:28px;width:13px;height:13px;background:#fff;border-left:1px solid #DCE4EE;border-top:1px solid #DCE4EE;transform:rotate(45deg);}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:none;}
.dropdown-menu a{display:block!important;color:#24384E!important;background:transparent!important;border:0!important;padding:12px 14px!important;font-family:var(--font-body);font-size:13px!important;line-height:1.35;}
.dropdown-menu a:hover{color:var(--atl-blue)!important;background:var(--atl-blue-pale)!important;}

/* photographic inner-page banners */
.page-hero-photo{position:relative;min-height:470px;display:flex;align-items:flex-end;overflow:hidden;background:#122033;}
.page-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,37,.88) 0%,rgba(8,22,37,.68) 45%,rgba(8,22,37,.30) 100%);z-index:1;}
.page-hero-content{position:relative;z-index:2;width:100%;padding-bottom:70px;}
.page-hero-photo .crumb{display:flex;gap:12px;align-items:center;color:#DDE7F3;font-family:var(--font-mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:20px;}
.page-hero-photo .crumb b{color:#fff;}
.page-hero-photo h1{max-width:850px;color:#fff;font-size:clamp(2.7rem,5.3vw,5.2rem);line-height:1.03;letter-spacing:-.045em;}
.page-hero-photo .lead{max-width:760px;margin-top:20px;color:#E4ECF5;font-size:18px;line-height:1.7;}

/* home slider copy */
.slide-copy{display:none!important;}
.slide-copy.active{display:block!important;animation:copyIn .55s ease both;}
@keyframes copyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.slider-side-note{position:absolute;right:0;bottom:118px;display:flex;flex-direction:column;gap:5px;color:#D7E4F1;font:10px var(--font-mono);letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.72;}
.slider-side-note b{color:#fff;}
.hero-trust{background:#fff;border-bottom:1px solid #DCE3EA;}
.hero-trust .container{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:22px;overflow:auto;white-space:nowrap;}
.hero-trust span{font:11px var(--font-mono);color:#66788B;letter-spacing:.06em;}
.hero-trust strong{font:11px var(--font-mono);color:var(--atl-blue);}

.display-title{color:var(--atl-blue);}
.eyebrow{color:var(--atl-blue);}
.text-link{color:var(--atl-blue);}
.text-link:hover{color:var(--atl-blue-dark);}
.home-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
.intro-visual{position:relative;min-height:500px;overflow:hidden;box-shadow:0 24px 60px rgba(16,32,51,.14);}
.intro-visual img{width:100%;height:500px;object-fit:cover;}
.visual-caption{position:absolute;left:24px;right:24px;bottom:24px;padding:17px 19px;background:rgba(10,29,48,.90);color:#fff;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px;}
.visual-caption b{font:11px var(--font-mono);letter-spacing:.1em;color:#9FC0E7;}
.blue-band{padding:65px 0;background:var(--atl-blue);}
.blue-band-grid{display:flex;align-items:center;justify-content:space-between;gap:45px;}
.blue-band h2{color:#fff;max-width:760px;font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.05;}
.eyebrow.light,.blue-band .eyebrow{color:#C9DCF2;}
.btn-white{background:#fff;color:var(--atl-blue);border:1px solid #fff;white-space:nowrap;}
.home-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.home-service-card{background:#fff;border:1px solid #DFE6ED;padding-bottom:24px;display:block;transition:.3s ease;box-shadow:0 8px 25px rgba(16,32,51,.04);}
.home-service-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(16,32,51,.12);border-color:#B9CBE1;}
.card-image{height:190px;overflow:hidden;}
.card-image img{width:100%;height:100%;object-fit:cover;transition:.5s ease;}
.home-service-card:hover .card-image img{transform:scale(1.05);}
.home-service-card>span,.home-service-card h3,.home-service-card p,.home-service-card b{margin-left:22px;margin-right:22px;}
.home-service-card>span{display:block;margin-top:21px;color:#89A0BA;font:11px var(--font-mono);}
.home-service-card h3{font-size:22px;margin-top:7px;margin-bottom:9px;}
.home-service-card p{color:#617181;font-size:14px;line-height:1.7;min-height:72px;}
.home-service-card b{display:block;color:var(--atl-blue);font-size:13px;margin-top:17px;}
.lab-feature{background:#F5F7F9;}
.lab-feature-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center;}
.lab-image{height:530px;overflow:hidden;box-shadow:0 20px 50px rgba(16,32,51,.13);}
.lab-image img{width:100%;height:100%;object-fit:cover;}
.tat-row{display:flex;border-top:1px solid #D7E0E8;border-bottom:1px solid #D7E0E8;margin:28px 0;padding:20px 0;gap:45px;}
.tat-row div{display:flex;flex-direction:column;}
.tat-row strong{font:700 29px var(--font-display);color:var(--atl-blue);}
.tat-row span{font:11px var(--font-mono);color:#6C7C8B;}
.target-section{padding-bottom:80px;}
.target-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #DCE3EA;border-left:1px solid #DCE3EA;}
.target-grid span{padding:19px 16px;border-right:1px solid #DCE3EA;border-bottom:1px solid #DCE3EA;background:#fff;font-size:13px;color:#43566A;}
.quote-band{padding:88px 0;background:#102033;color:#fff;}
.quote-band p{max-width:900px;font:500 clamp(2rem,4vw,3.7rem)/1.12 var(--font-display);color:#fff;letter-spacing:-.03em;}
.quote-band span{display:block;margin-top:25px;color:#9FC0E7;font:11px var(--font-mono);letter-spacing:.12em;}

/* About */
.about-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center;}
.about-photo{position:relative;height:590px;}
.about-photo img{width:100%;height:100%;object-fit:cover;}
.about-photo-badge{position:absolute;bottom:22px;left:22px;background:#fff;padding:17px 20px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(16,32,51,.16);}
.about-photo-badge strong{color:var(--atl-blue);font:600 18px var(--font-display);}.about-photo-badge span{font:11px var(--font-mono);color:#6B7C8D;}
.blue-surface{background:#102033;color:#fff;}.blue-surface h2,.blue-surface h3{color:#fff;}.blue-surface .desc{color:#B9C8D8;}.light-head{margin-bottom:40px;}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);}
.approach-grid>div{padding:28px 24px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);}.approach-grid b{color:#8EB4DF;font:12px var(--font-mono);}.approach-grid h3{margin:14px 0 8px;font-size:22px;}.approach-grid p{color:#B9C8D8;font-size:14px;line-height:1.7;}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}.people-image{height:420px;overflow:hidden;}.people-image img{width:100%;height:100%;object-fit:cover;}
.commitment-section{background:#F5F7F9;}.commit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;}.commit-grid article{background:#fff;border:1px solid #DCE3EA;padding:32px;}.commit-grid article>span{font:11px var(--font-mono);color:var(--atl-blue);letter-spacing:.08em;}.commit-grid h3{margin:10px 0 12px;font-size:25px;}.commit-grid p,.commit-grid li{color:#5D6D7C;font-size:14px;line-height:1.75;}.commit-grid ul{list-style:disc;padding-left:20px;}.values-strip{display:flex;flex-wrap:wrap;margin-top:20px;background:#102033;}.values-strip span{padding:15px 20px;color:#D9E5F1;border-right:1px solid rgba(255,255,255,.12);font-size:12px;}.image-quote{position:relative;min-height:540px;display:flex;align-items:center;overflow:hidden;background:#102033;}.image-quote>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;}.image-quote::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,39,.9),rgba(7,23,39,.48));}.image-quote .container{position:relative;z-index:2;}.image-quote h2{max-width:850px;color:#fff;font-size:clamp(2.2rem,4.5vw,4.3rem);line-height:1.06;}.image-quote p{margin-top:20px;max-width:700px;color:#D4DFE9;font-size:17px;}

/* Services */
.service-intro{padding:65px 0;background:#fff;border-bottom:1px solid #E0E6EC;}.service-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;}.service-showcase{padding:30px 0 80px;background:#F5F7F9;}.service-row{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:#fff;margin:28px 0;box-shadow:0 12px 35px rgba(16,32,51,.06);}.service-row.reverse .service-row-image{order:2;}.service-row-image{min-height:600px;overflow:hidden;}.service-row-image img{width:100%;height:100%;object-fit:cover;transition:.5s ease;}.service-row:hover .service-row-image img{transform:scale(1.03);}.service-row-copy{padding:58px clamp(28px,5vw,70px);display:flex;flex-direction:column;justify-content:center;}.service-number{font:11px var(--font-mono);letter-spacing:.08em;color:#7991AA;}.service-row h2{font-size:clamp(2rem,3.4vw,3rem);margin:10px 0 17px;}.service-row p{color:#596B7C;line-height:1.8;font-size:15px;}.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0;}.pill-list span{background:#EDF3FA;color:#45698F;border:1px solid #D6E2EF;padding:7px 10px;font-size:11px;font-family:var(--font-mono);}.service-link{color:var(--atl-blue);font-weight:700;font-size:13px;margin-top:10px;}.check-list{display:grid;gap:8px;margin:20px 0;}.check-list li{position:relative;padding-left:22px;color:#536677;font-size:13.5px;}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--atl-blue);font-weight:700;}.step-list{margin-top:24px;border-top:1px solid #E0E6EC;}.step-list div{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #E0E6EC;font-size:13px;color:#566879;}.step-list b{font:11px var(--font-mono);color:var(--atl-blue);}.bi-callout{margin-top:24px;padding:18px;background:#EDF3FA;border-left:3px solid var(--atl-blue);display:flex;flex-direction:column;gap:6px;}.bi-callout b{color:var(--atl-blue);}.bi-callout span{color:#536677;font-size:13px;line-height:1.65;}.audience-band{padding:85px 0;background:#4674B7;}.audience-band h2{color:#fff;max-width:800px;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.08;margin:10px 0 30px;}.audience-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.24);border-left:1px solid rgba(255,255,255,.24);}.audience-grid span{padding:17px 15px;color:#fff;border-right:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);font-size:12px;}

/* service detail */
.detail-grid{display:grid;grid-template-columns:1fr 310px;gap:70px;align-items:start;}.detail-callout{background:#102033;color:#fff;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;box-shadow:0 18px 35px rgba(16,32,51,.12);}.detail-callout .kicker{grid-column:1/-1;color:#9FC0E7;font:11px var(--font-mono);margin-bottom:10px;}.detail-callout strong{font:600 25px var(--font-display);color:#fff;}.detail-callout span{align-self:center;color:#BFD0E1;font-size:13px;}.detail-callout small{grid-column:1/-1;color:#8FA3B6;font-size:11px;line-height:1.5;margin-top:14px;}.analyte-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}.analyte-card{background:#fff;border:1px solid #DCE3EA;padding:28px;}.analyte-card>span{font:11px var(--font-mono);color:#7D95AD;}.analyte-card h3{font-size:22px;margin:10px 0 15px;}.analyte-card ul{display:grid;gap:8px;}.analyte-card li{color:#596B7C;font-size:13px;padding-left:17px;position:relative;}.analyte-card li::before{content:'•';position:absolute;left:0;color:var(--atl-blue);}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}.process-image{height:480px;overflow:hidden;}.process-image img{width:100%;height:100%;object-fit:cover;}.mini-links{margin-top:24px;border-top:1px solid #DCE3EA;}.mini-links a{display:flex;flex-direction:column;gap:2px;padding:15px 0;border-bottom:1px solid #DCE3EA;}.mini-links b{color:var(--atl-blue);font-size:14px;}.mini-links span{color:#637484;font-size:12px;}

@media (max-width:1000px){
  .home-service-grid{grid-template-columns:repeat(2,1fr)}.target-grid,.audience-grid{grid-template-columns:repeat(3,1fr)}.approach-grid{grid-template-columns:repeat(2,1fr)}.about-intro-grid,.lab-feature-grid,.service-intro-grid,.detail-grid,.process-grid{grid-template-columns:1fr}.about-photo{height:470px}.intro-visual{min-height:400px}.intro-visual img{height:400px}.service-row{grid-template-columns:1fr}.service-row.reverse .service-row-image{order:0}.service-row-image{min-height:400px}.analyte-grid{grid-template-columns:1fr 1fr}.slider-side-note{display:none}
}
@media (max-width:760px){
  .nav-dropdown{display:block}.nav-dropdown>.dropdown-trigger{width:100%}.dropdown-menu{position:static;width:100%;display:none;box-shadow:none;border:0;padding:0;background:#0D1B2A;opacity:1;visibility:visible;transform:none}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown:focus-within .dropdown-menu{display:block}.dropdown-menu::before{display:none}.dropdown-menu a{color:#C7D4E2!important;padding:11px 18px 11px 30px!important}.hero-trust .container{justify-content:flex-start}.home-intro,.people-grid,.commit-grid{grid-template-columns:1fr}.home-service-grid{grid-template-columns:1fr}.target-grid,.audience-grid{grid-template-columns:1fr 1fr}.approach-grid{grid-template-columns:1fr}.blue-band-grid{align-items:flex-start;flex-direction:column}.page-hero-photo{min-height:520px}.page-hero-content{padding-bottom:55px}.page-hero-photo h1{font-size:2.8rem}.page-hero-photo .lead{font-size:16px}.service-row-copy{padding:42px 28px}.service-row-image{min-height:310px}.analyte-grid{grid-template-columns:1fr}.tat-row{gap:25px}.image-quote{min-height:500px}.nav{padding-top:12px;padding-bottom:12px}
}
