:root {
  --primary:#2A9D8F;
  --secondary:#1B3A5C;
  --background:#F7FAFC;
  --text:#1B3A5C;
  --muted:#766f70;
  --line:#e5d9d2;
  --white:#fff;
  --pale:#ecf8f6;
  --header-height:76px;
  --radius:6px;
  --hero-image:none
}

*,*::before,*::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:var(--header-height)
}

body {
  margin:0;
  background:var(--background);
  color:var(--text);
  font:400 16px/1.65 'Outfit',sans-serif
}

button,input,textarea,select {
  font:inherit
}

a {
  text-decoration:none;
  color:inherit
}

button {
  cursor:pointer
}

h1,h2,h3,h4,p {
  margin:0
}

h1,h2,h3 {
  line-height:1.13;
  letter-spacing:-.042em;
  font-weight:500
}

h1 {
  font-size: 65px;
}

h2 {
  font-size:40px;
}

h3 {
  font-size:1.64rem
}

p {
  line-height:1.75
}

.page-wrap {
  width:min(100% - 72px,1360px);
  margin-inline:auto;
}

.section {
  padding:105px 0
}

.eyebrow {
  font-size:11px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--primary);
  font-weight:700;
  line-height:1.4
}

.with-rule {
  display:flex;
  align-items:center;
  gap:12px
}

.with-rule:before {
  content:'';
  height:1px;
  width:32px;
  background:var(--primary);
  flex:none
}

.eyebrow span {
  color:#d8c2b8;
  margin:0 7px
}

.section-description {
  max-width:690px;
  margin-top:26px;
  color:#88665e;
  font-size:17px
}

.btn {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  padding:12px 22px;
  border-radius:5px;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  transition:transform .2s,background .2s,box-shadow .2s
}

.btn:hover {
  transform:translateY(-2px);
  box-shadow:0 5px 14px #1b3a5c20
}

.btn-primary,.tab.is-active {
  background:var(--secondary);
  color:white;
  border:1px solid var(--secondary)
}

.btn-primary:hover {
  background:#102c4a
}

.btn-outline {
  background:transparent;
  color:var(--secondary);
  border:1px solid var(--line)
}

.btn-outline:hover {
  border-color:var(--secondary);
  background:#fff
}

.button-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}

.site-header {
  position:sticky;
  top:0;
  height:var(--header-height);
  z-index:100;
  /* background:rgba(247,250,252,.96); */
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)
}

.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--secondary);
  font-weight:600;
  font-size:23px;
  letter-spacing:-.06em;
  white-space:nowrap
}

.brand sup {
  font-size:7px;
  color:var(--primary);
  vertical-align:top;
  margin-left:2px;
  letter-spacing:0
}

.brand-emblem {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1.5px solid var(--primary);
  border-radius:50%;
  font-size:19px;
  font-weight:300;
  color:var(--primary);
  font-style:italic;
  letter-spacing:0
}

.site-nav {
  display:flex;
  align-items:center;
  gap:26px;
  margin:auto
}

.nav-link {
  border:0;
  background:none;
  color:#516a83;
  font-size:16px;
  font-weight:400;
  padding:10px 0
}

.nav-link:hover {
  color:var(--primary)
}

.nav-dropdown {
  position:relative
}

.nav-dropdown-toggle {
  display:flex;
  align-items:center;
  gap:9px
}

.dropdown-menu {
  position:absolute;
  top:calc(100% + 12px);
  left:-80px;
  width:255px;
  padding:10px 0;
  background:var(--background);
  border:1px solid var(--line);
  border-radius:7px;
  box-shadow:0 12px 30px #1b3a5c1a;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:.2s
}

/* .nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.is-open .dropdown-menu {
  opacity:1;
  visibility:visible;
  transform:translateY(0)
} */


.nav-dropdown .dropdown-menu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.25s ease,
                transform 0.25s ease,
                visibility 0.25s ease;
}

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

/* Default chevron */
.nav-dropdown-toggle .fa-chevron-down {
    display: inline-block;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

/* Rotate when dropdown opens */
.nav-dropdown.is-open .nav-dropdown-toggle .fa-chevron-down {
    transform: rotate(180deg);
}


.dropdown-menu a {
  padding:12px 20px;
  display:block;
  line-height:1.3
}

.dropdown-menu a:hover {
  background:var(--pale)
}

.dropdown-menu b {
  display:block;
  font-size:14px;
  font-weight:500
}

.dropdown-menu small {
  font-size:12px;
  color:#886a64
}

.header-cta {
  padding:10px 18px;
  min-height:40px;
  font-size:12px
}

.menu-toggle {
  display:none;
  background:none;
  border:0;
  padding:8px
}

.menu-toggle span {
  display:block;
  width:24px;
  height:2px;
  background:var(--secondary);
  margin:5px 0
}

.hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 78% 40%,#fff 0%,transparent 45%),var(--background)
}

.hero-grid {
  display:grid;
  grid-template-columns:48% 52%;
  min-height:540px;
  align-items:center
}

.hero-copy {
  /* padding:56px 20px 42px 0; */
  position:relative;
  z-index:3
}

.hero-copy .eyebrow {
  margin-bottom:13px
}

.hero h1 {
  max-width:650px;
  color: var(--primary);
}

.hero h1 em {
  color:var(--primary);
  font-style:normal
}

.hero-lead {
  max-width:480px;
  font-size:17px;
  color:#88655c;
  margin:29px 0 32px
}

.hero-visual {
  height:490px;
  position:relative;
  isolation:isolate;
  background-image:var(--hero-image);
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat
}

.hero-orbit {
  position:absolute;
  border:1px solid #2a9d8f19;
  border-radius:50%;
  left:12%;
  top:16%
}

.orbit-outer {
  width:70%;
  aspect-ratio:1
}

.orbit-inner {
  width:53%;
  aspect-ratio:1;
  left:20%;
  top:25%
}

.hero-visual-cards {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  transform:perspective(1000px) rotate(-8deg) translateY(20px)
}

.float-card {
  background:#fffffff2;
  border:1px solid #a1d1d1;
  box-shadow:0 15px 24px #1b3a5c20;
  border-radius:5px;
  width:30%;
  height:225px;
  padding:16px 13px;
  display:flex;
  flex-direction:column;
  gap:14px;
  color:var(--secondary);
  transform:rotate(-2deg)
}

.float-card.two {
  transform:translateY(-36px) rotate(1deg)
}

.float-card.three {
  transform:translateY(-65px) rotate(4deg)
}

.float-card>span:nth-child(2) {
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em
}

.float-icon {
  color:var(--primary);
  font-size:29px
}

.dash-lines {
  display:flex;
  flex-direction:column;
  gap:7px
}

.dash-lines i {
  height:7px;
  border-radius:8px;
  background:var(--primary);
  width:100%
}

.dash-lines i:nth-child(2) {
  width:80%
}

.dash-lines i:nth-child(3) {
  width:60%
}

.mini-bars {
  display:flex;
  align-items:flex-end;
  gap:9px;
  height:60px
}

.mini-bars i {
  flex:1;
  background:var(--primary);
  border-radius:2px 2px 0 0;
  height:45%
}

.mini-bars i:nth-child(2) {
  height:75%
}

.mini-bars i:nth-child(3) {
  height:57%
}

.mini-bars i:nth-child(4) {
  height:94%
}

.mini-bars i:nth-child(5) {
  height:68%
}

.avatar-circle {
  border-radius:50%;
  background:var(--primary);
  color:var(--white);
  height:78px;
  width:78px;
  display:grid;
  place-items:center;
  font-size:35px;
  margin:auto
}

.skyline {
  height:90px;
  display:flex;
  align-items:end;
  gap:4px;
  border-bottom:2px solid var(--primary)
}

.skyline i {
  display:block;
  background:var(--primary);
  width:20%;
  height:70%
}

.skyline i:nth-child(2) {
  height:95%;
  background:var(--secondary);
}

.skyline i:nth-child(3) {
  height:55%
}

.skyline i:nth-child(4) {
  height:80%
}

.skyline i:nth-child(5) {
  height:45%
}

.hero-overline {
  position:absolute;
  top:40px;
  right:7%;
  z-index:4;
  font-size:11px;
  background:white;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:5px;
  box-shadow:0 3px 8px #1b3a5c15
}

.hero-caption {
  position:absolute;
  bottom:8px;
  left:19%;
  background:white;
  padding:14px 18px;
  border:1px solid var(--line);
  font-size:11px;
  letter-spacing:.1em;
  color:#88665e
}

.hero-caption strong {
  display:block;
  color:var(--secondary)
}

.hero-bottom {
  min-height:85px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line)
}

.hero-pillars {
  display:flex;
  gap:28px;
  font-size:13px
}

.hero-pillars span:first-letter {
  color:var(--primary)
}

.hero-down {
  font-size:10px;
  letter-spacing:.15em;
  color:#88665e
}

.intro {
  padding:125px 0
}

.intro-grid {
  display:grid;
  grid-template-columns:40% 1fr;
  gap:65px;
  align-items:center
}

.intro h2 {
  max-width:550px;
  margin-top:24px;
  color: var(--primary);
}

.intro-body p {
  font-size:19px;
  color:var(--text);
  line-height:1.7
}

.text-link {
  display:inline-flex;
  gap:13px;
  align-items:center;
  margin-top:28px;
  font-size:14px;
  font-weight:600;
  color:var(--secondary)
}

.text-link span {
  color:var(--primary)
}

.section-title-block h2,.action-section h2,.insights h2,.approach h2 {
  margin:24px 0
}

.approach h2, .insights h2, .cta-panel h2 {
  color: var(--primary);
}

.action-section h2{
  color: var(--primary);
}

.section-title-block h2{
  color: var(--primary);
}

.section-sub-row {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin:20px 0 49px
}

.section-sub-row p {
  max-width:690px;
  color:#88665e;
  font-size:17px
}

.section-sub-row>span {
  font-size:12px;
  color:#88665e
}

.solution-cards,.insights-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}

.solution-card {
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  background:white;
  display:flex;
  flex-direction:column
}

.solution-image,.insight-image {
  position:relative;
  background-size:cover;
  background-position:center;
  overflow:hidden
}

.solution-image {
  height:220px
}

.insurance-image {
  background-image:linear-gradient(0deg,#1b3a5c32,#1b3a5c08),url('zeerogap-img-1.png');
  background-color:#b7d5dd
}

.care-image {
  background-image:linear-gradient(0deg,#1b3a5c32,#1b3a5c08),url('zeerogap-img-2.png');
  background-color:#bcd7d8
}

.valuation-image {
  background-image:linear-gradient(0deg,#1b3a5c32,#1b3a5c08),url('zeerogap-img-3.png');
  background-color:#a6bec7
}

.photo-caption,.photo-label,.insight-image span {
  position:absolute;
  background:rgba(255,255,255,.96);
  border-radius:4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--secondary);
  padding:7px 12px
}

.photo-caption {
  top:17px;
  left:17px
}

.photo-label {
  right:12px;
  bottom:12px;
  font-size:12px;
  letter-spacing:0;
  font-weight:400
}

.solution-content {
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1
}

.solution-content .eyebrow span {
  color:var(--line);
  margin:0 4px
}

.solution-content h3 {
  margin:15px 0 13px;
  min-height:60px;
  color: var(--primary);
}

.solution-content>p:not(.eyebrow):not(.card-audience) {
  font-size:15px;
  color:#88665e;
  line-height:1.65;
  min-height:148px
}

.check-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 14px;
  padding:21px 0;
  margin:20px 0 0;
  border-top:1px solid var(--line);
  list-style:none
}

.check-list li {
  position:relative;
  padding-left:19px;
  font-size:12px;
  line-height:1.5
}

.check-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--primary)
}

.card-audience {
  font-size:11px;
  color:#88665e;
  border-top:1px solid var(--line);
  padding:18px 0;
  flex:1
}

.card-cta {
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:19px;
  font-size:13px;
  font-weight:500
}

.card-cta span {
  color:var(--primary)
}

a.card-cta{
  padding: 10px;
  border-radius: 5px;
}

.audiences-grid {
  display:grid;
  grid-template-columns:36% 1fr;
  gap:60px
}

.audiences h2 {
  margin:25px 0 18px;
  color: var(--primary);
}

.audience-items {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 32px
}

.audience-item {
  display:flex;
  gap:16px;
  border-bottom:1px solid var(--line);
  min-height:155px;
  padding:8px 0 26px;
  margin-bottom:25px
}

.audience-icon {
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  flex:none;
  color:var(--primary);
  font-size:21px
}

.audience-item>div {
  flex:1
}

.audience-item h4 {
  font-size:15px;
  font-weight:500;
  line-height:1.5
}

.audience-item h4 span {
  float:right;
  color:var(--primary)
}

.audience-item p {
  font-size:13px;
  color:#88665e;
  margin:7px 0
}

.audience-item small {
  font-size:11px;
  letter-spacing:.12em;
  font-weight:600;
  color:var(--primary)
}

.differentiators,.testimonials {
  background:var(--primary);
  color:white
}

.differentiators {
  position:relative;
  overflow:hidden
}

.differentiators:after {
  content:'';
  position:absolute;
  right:-8%;
  top:-45%;
  width:430px;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid #ffffff12;
  box-shadow:0 0 0 50px #ffffff05;
  pointer-events:none
}

.differentiators h2 {
  margin:20px 0
}

.diff-intro {
  max-width:720px;
  color:#fff;
  font-size:17px
}

.value-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:38px;
  margin-top:48px
}

.value-grid article {
  border-top:1px solid #ffffff35;
  padding-top:30px
}

.value-top {
  display:flex;
  justify-content:space-between;
  color:var(--primary);
  font-size:14px;
  margin-bottom:26px
}

.value-top span:last-child {
  font-size:25px
}

.value-grid h3 {
  font-size:24px;
  letter-spacing:-.025em;
  margin-bottom:12px
}

.value-grid p {
  color:#fff;
  font-size:15px
}

/* .action-section {
  background:#eef8f8
} */

.journey-panel {
  border:1px solid var(--line);
  border-radius:6px;
  background:white;
  margin-top:48px
}

.journey-panel-top {
  padding:32px 36px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-bottom:1px solid var(--line)
}

.journey-panel-top .eyebrow {
  color:#88665e
}

.journey-panel-top h3 {
  margin-top:10px;
  font-size:27px
}

.tab-controls {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.tab {
  border:1px solid var(--line);
  background:white;
  padding:8px 14px;
  color:var(--secondary);
  font-size:12px;
  border-radius:5px
}

.journey-panel-body {
  display:grid;
  grid-template-columns:38% 1fr;
  gap:40px;
  padding:38px 36px
}

.journey-panel-body h3 {
  font-size:30px;
  margin:14px 0
}

.journey-panel-body p:not(.eyebrow) {
  color:#88665e;
  font-size:14px
}

.journey-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  align-items:start
}

.journey-steps div {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:12px;
  position:relative
}

.journey-steps div:not(:last-child):after {
  content:'';
  position:absolute;
  top:18px;
  left:48px;
  right:-14px;
  border-top:1px solid var(--line)
}

.journey-steps span {
  display:grid;
  place-items:center;
  height:36px;
  width:36px;
  border-radius:50%;
  border:1px solid #98d5cc;
  color:var(--primary);
  font-size:14px
}

.journey-steps strong {
  font-size:13px;
  line-height:1.4;
  font-weight:500
}

.journey-steps small {
  color:#88665e;
  font-size:10px
}

.journey-note {
  border-top:1px solid var(--line);
  padding:15px 36px;
  font-size:12px;
  color:#88665e
}

.testimonial-grid {
  display:grid;
  grid-template-columns:35% 1fr;
  gap:50px;
  align-items:center
}

.testimonials h2 {
  margin:22px 0
}

.testimonials .testimonial-grid>div:first-child>p:not(.eyebrow) {
  color:#fff;
  font-size:16px
}

.testimonials .disclaimer {
  margin-top:43px;
  font-size:12px!important
}

.testimonial-card {
  background:white;
  color:var(--secondary);
  border-radius:5px;
  padding:36px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.testimonial-label,.testimonial-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px
}

.testimonial-label span {
  color:var(--primary);
  font-weight:700;
  font-size:11px;
  letter-spacing:.12em
}

.testimonial-label small {
  border:1px solid var(--line);
  border-radius:20px;
  padding:3px 11px;
  color:#88665e;
  font-size:11px
}

.testimonial-card blockquote {
  margin:30px 0 35px;
  font-size:clamp(1.4rem,2.3vw,2rem);
  line-height:1.25;
  font-weight:500;
  letter-spacing:-.025em
}

.testimonial-footer {
  border-top:1px solid var(--line);
  padding-top:22px
}

.testimonial-footer strong,.testimonial-footer small {
  display:block
}

.testimonial-footer strong {
  font-size:14px;
  font-weight:500
}

.testimonial-footer small {
  font-size:12px;
  color:#88665e
}

.testimonial-controls {
  display:flex;
  align-items:center;
  gap:7px
}

.testimonial-controls button {
  background:white;
  border:1px solid var(--line);
  border-radius:5px;
  width:36px;
  height:36px;
  color:var(--secondary)
}

.testimonial-controls button:hover {
  background:var(--pale)
}

.testimonial-controls span {
  color:#88665e;
  font-size:11px;
  margin-left:12px
}

.approach-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:50px
}

.approach-grid article {
  border-top:1px solid var(--line);
  padding:20px 0
}

.approach-grid article>span {
  display:grid;
  place-items:center;
  border:1px solid var(--primary);
  border-radius:50%;
  width:37px;
  height:37px;
  color:var(--primary);
  font-size:14px;
  margin-bottom:24px
}

.approach-grid h3 {
  font-size:24px;
  margin-bottom:9px;
  color: var(--primary);
}

.approach-grid p {
  font-size:13px;
  color:#88665e
}

.upcoming-badge {
  white-space:nowrap;
  border:1px solid var(--line);
  border-radius:30px;
  padding:6px 13px;
  font-size:10px!important;
  letter-spacing:.1em
}

.insight-card {
  background:white;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden
}

.insight-image {
  height:265px
}

.insight-image span {
  top:13px;
  left:13px
}

.insight-copy {
  padding:22px
}

.insight-copy h3 {
  font-size:23px;
  margin:12px 0
}

.insight-copy small {
  color:#88665e
}

.cta-section {
  padding:45px 0 105px
}

.cta-panel {
  /* background:#ecf7f7; */
  border:1px solid var(--line);
  border-radius:5px;
  min-height:480px;
  padding:70px 65px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px
}

.cta-panel>div:first-child {
  max-width:650px
}

.cta-panel h2 {
  margin:24px 0
}

.cta-panel p:not(.eyebrow) {
  color:#88665e;
  font-size:17px;
  margin:0 0 30px
}

.target-graphic {
  width:255px;
  height:255px;
  position:relative;
  flex:none
}

.target-graphic i {
  position:absolute;
  border-radius:50%;
  border:1px solid var(--primary);
  inset:0
}

.target-graphic i:nth-child(2) {
  inset:35px
}

.target-graphic i:nth-child(3) {
  inset:85px;
  background:var(--primary);
  border:0
}

.target-graphic b {
  position:absolute;
  top:24%;
  right:23%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--primary)
}

.target-graphic b:last-child {
  top:71%;
  right:21%;
  background:var(--secondary)
}

.footer {
  border-top:1px solid var(--line)
}

.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:60px;
  padding:64px 0
}

.footer-grid>div:first-child p {
  max-width:280px;
  font-size:14px;
  color:#88665e;
  margin-top:20px
}

.footer h4 {
  font-size:12px;
  letter-spacing:.1em;
  margin-bottom:17px
}

.footer-grid>div:not(:first-child) a {
  display:block;
  font-size:14px;
  color:#88665e;
  margin-bottom:10px
}

.footer-grid>div:not(:first-child) a:hover {
  color:var(--primary)
}

.footer-grid>div>p {
  font-size:13px;
  color:#88665e
}

.footer-grid .footer-contact {
  color:var(--secondary)!important;
  font-weight:600;
  margin-top:16px
}

.footer-bottom {
  border-top:1px solid var(--line);
  padding:25px 0;
  display:flex;
  justify-content:space-between;
  color:#88665e;
  font-size:12px
}

.back-to-top {
  position:fixed;
  right:34px;
  bottom:34px;
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:white;
  color:var(--secondary);
  border:1px solid var(--line);
  box-shadow:0 3px 12px #1b3a5c25;
  z-index:70;
  font-size:22px
}

@media(max-width:1100px) {
  .site-nav {
    gap:14px
  }
  .header-cta {
    display:none
  }
  .hero h1 {
    font-size:clamp(3rem,5.4vw,4.5rem)
  }
  .solution-content {
    padding:18px
  }
  .check-list {
    grid-template-columns:1fr
  }
  .solution-content>p:not(.eyebrow):not(.card-audience) {
    min-height:0
  }
  .audiences-grid {
    grid-template-columns:33% 1fr;
    gap:35px
  }
  .journey-panel-body {
    grid-template-columns:1fr
  }
  .testimonial-grid {
    grid-template-columns:1fr 1.4fr
  }
  .float-card {
    height:200px
  }
  .value-grid {
    gap:18px
  }
}

@media(max-width:800px) {
  :root {
    --header-height:70px
  }
  .page-wrap {
    width:min(100% - 36px,1360px)
  }
  .menu-toggle {
    display:block
  }
  .site-nav {
    display:none;
    position:absolute;
    top:var(--header-height);
    left:0;
    right:0;
    background:var(--background);
    padding:14px 25px 26px;
    box-shadow:0 18px 28px #1b3a5c1c;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .site-nav.is-open {
    display:flex
  }
  .nav-link {
    font-size:15px;
    padding:10px 0;
    display:block;
    text-align:left
  }
  .nav-dropdown-toggle {
    width:100%;
    justify-content:space-between
  }
  .dropdown-menu {
    position:static;
    width:100%;
    box-shadow:none;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    margin:2px 0 10px
  }
  .nav-dropdown.is-open .dropdown-menu {
    display:block
  }
  .hero-grid,.intro-grid,.audiences-grid,.testimonial-grid {
    grid-template-columns:1fr
  }
  .hero-grid {
    min-height:auto
  }
  .hero-copy {
    padding:65px 0 5px
  }
  .hero-visual {
    height:390px
  }
  .hero-pillars {
    flex-wrap:wrap;
    gap:14px
  }
  .hero-down {
    display:none
  }
  .section {
    padding:75px 0
  }
  .intro {
    padding:80px 0
  }
  .intro-grid,.audiences-grid,.testimonial-grid {
    gap:25px
  }
  .solution-cards,.insights-grid {
    grid-template-columns:1fr 1fr
  }
  .solution-content h3 {
    min-height:0
  }
  .audience-items {
    gap:0 18px
  }
  .value-grid,.approach-grid {
    grid-template-columns:1fr 1fr
  }
  .cta-panel {
    padding:45px 35px
  }
  .target-graphic {
    width:160px;
    height:160px
  }
  .target-graphic i:nth-child(3) {
    inset:55px
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:40px
  }
  .desktop-only {
    display:none
  }
}

@media(max-width:560px) {
  h1 {
    font-size:3.1rem!important
  }
  h2 {
    font-size:2.6rem
  }
  .hero-lead {
    font-size:15px
  }
  .hero-visual {
    height:320px
  }
  .float-card {
    height:156px;
    gap:6px;
    padding:9px 7px
  }
  .float-card>span:nth-child(2) {
    font-size:7px
  }
  .float-icon {
    font-size:21px
  }
  .hero-overline {
    top:16px;
    right:0;
    font-size:9px
  }
  .hero-caption {
    bottom:8px;
    font-size:9px
  }
  .hero-bottom {
    padding:20px 0
  }
  .hero-pillars {
    font-size:11px
  }
  .solution-cards,.insights-grid,.audience-items,.value-grid,.approach-grid {
    grid-template-columns:1fr
  }
  .section-sub-row {
    display:block
  }
  .section-sub-row>span {
    display:inline-block;
    margin-top:16px
  }
  .solution-image {
    height:230px
  }
  .check-list {
    grid-template-columns:1fr 1fr
  }
  .audience-item {
    min-height:auto
  }
  .value-grid {
    gap:15px
  }
  .journey-panel-top {
    align-items:flex-start;
    flex-direction:column;
    padding:22px
  }
  .journey-panel-body {
    padding:22px
  }
  .journey-steps {
    grid-template-columns:1fr 1fr;
    gap:25px
  }
  .journey-steps div:after {
    display:none
  }
  .journey-note {
    padding:14px 22px
  }
  .testimonial-card {
    padding:25px
  }
  .testimonial-footer {
    align-items:flex-start;
    flex-direction:column
  }
  .cta-panel {
    padding:35px 22px
  }
  .target-graphic {
    display:none
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:26px
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }
  .footer-bottom {
    gap:14px;
    flex-direction:column
  }
  .back-to-top {
    right:14px;
    bottom:14px
  }
  .brand {
    font-size:20px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}

/* Inline SVG is self-contained, including in the shared shadow-root header. */
.nav-dropdown-toggle .services-chevron{display:block;flex-shrink:0;transition:transform .25s ease;transform:rotate(0)}
.nav-dropdown.is-open .nav-dropdown-toggle .services-chevron{transform:rotate(180deg)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:170ms ease-in both zg-exit}
::view-transition-new(root){animation:230ms ease-out both zg-enter}
@keyframes zg-exit{to{opacity:.35;transform:translateY(-4px)}}
@keyframes zg-enter{from{opacity:.35;transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* ==========================================
   TERRA THEME — CORAL ENHANCEMENTS
   Homepage only
   ========================================== */

html[data-brand="terra"] body[data-zg-page="home"] {
  --coral: #FF8A65;
  --coral-dark: #C34F32;
  --coral-light: #FFE0D5;
  --coral-soft: #FFF1EB;
}

/* 1. HERO — CORAL ACCENTS */

html[data-brand="terra"] body[data-zg-page="home"] .hero {
  background:
    radial-gradient(
      ellipse at 80% 45%,
      rgba(255, 138, 101, 0.13),
      transparent 48%
    ),
    var(--background);
}

html[data-brand="terra"] body[data-zg-page="home"] .hero h1 em {
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .hero .eyebrow {
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .hero-lead {
  color: #88655c;
}

/* 2. FLOATING SERVICE CARDS */

html[data-brand="terra"] body[data-zg-page="home"] .float-card {
  border-color: rgba(255, 138, 101, 0.45);
  box-shadow: 0 15px 30px rgba(195, 79, 50, 0.12);
}

html[data-brand="terra"] body[data-zg-page="home"] .float-card:nth-child(2) {
  border-color: var(--coral);
}

html[data-brand="terra"] body[data-zg-page="home"] .float-icon {
  color: var(--coral-dark);
}

/* 3. MINI CHARTS AND DECORATIONS */

html[data-brand="terra"] body[data-zg-page="home"] .mini-bars i:nth-child(even) {
  background: var(--coral);
}

html[data-brand="terra"] body[data-zg-page="home"] .tab.is-active{
  background: var(--primary);
  border-color: var(--primary);
}

html[data-brand="terra"] body[data-zg-page="home"] .skyline i:nth-child(even) {
  background: var(--coral);
}

html[data-brand="terra"] body[data-zg-page="home"] .avatar-circle {
  background: var(--coral-light);
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .hero-caption {
  border-left: 3px solid var(--coral);
}

html[data-brand="terra"] body[data-zg-page="home"] .hero-caption strong {
  color: var(--coral-dark);
}

/* 4. SECTION LABELS AND HEADINGS */

html[data-brand="terra"] body[data-zg-page="home"] .section .eyebrow {
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .section .white-brow{
  color: var(--white)!important;
}

html[data-brand="terra"] body[data-zg-page="home"] .with-rule::before {
  background: var(--coral);
}

html[data-brand="terra"] body[data-zg-page="home"] .white-brow::before {
  background: var(--white) !important;
}


html[data-brand="terra"] body[data-zg-page="home"] .text-link span {
  color: var(--coral-dark);
}

/* 5. SERVICE CARDS */

html[data-brand="terra"] body[data-zg-page="home"] .solution-card {
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

html[data-brand="terra"] body[data-zg-page="home"] .solution-card:hover {
  border-color: var(--coral);
  box-shadow: 0 12px 28px rgba(195, 79, 50, 0.1);
  transform: translateY(-4px);
}

html[data-brand="terra"] body[data-zg-page="home"] .check-list li::before {
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .card-cta span {
  color: var(--coral-dark);
}

/* 6. AUDIENCE SECTION */

html[data-brand="terra"] body[data-zg-page="home"] .audience-icon {
  color: var(--coral-dark);
  background: var(--coral-soft);
  border-color: var(--coral-light);
}

html[data-brand="terra"] body[data-zg-page="home"] .audience-item h4 span,
html[data-brand="terra"] body[data-zg-page="home"] .audience-item small {
  color: var(--coral-dark);
}

/* 7. DIFFERENTIATORS AND TESTIMONIALS */

html[data-brand="terra"] body[data-zg-page="home"] .value-top {
  color: var(--white);
}

html[data-brand="terra"] body[data-zg-page="home"] .testimonial-label span {
  color: var(--coral-dark);
}

html[data-brand="terra"] body[data-zg-page="home"] .testimonial-card {
  border-top: 4px solid var(--coral);
}

/* 8. PROCESS AND JOURNEY */

html[data-brand="terra"] body[data-zg-page="home"] .journey-steps span {
  border-color: var(--coral);
  color: var(--coral-dark);
  background: var(--coral-soft);
}

html[data-brand="terra"] body[data-zg-page="home"] .approach-grid article > span {
  border-color: var(--coral);
  color: var(--coral-dark);
}

/* 9. SECONDARY BUTTONS ONLY */

html[data-brand="terra"] body[data-zg-page="home"] .btn-outline {
  color: var(--coral-dark);
  border-color: var(--coral-light);
}

html[data-brand="terra"] body[data-zg-page="home"] .btn-outline:hover {
  color: var(--coral-dark);
  border-color: var(--coral);
  background: var(--coral-soft);
}

/* 10. FINAL CTA SECTION */

html[data-brand="terra"] body[data-zg-page="home"] .cta-panel {
  background: linear-gradient(
    120deg,
    #FFF4EF 0%,
    #ECF8F6 100%
  );
}

html[data-brand="terra"] body[data-zg-page="home"] .target-graphic b:last-child {
  background: var(--coral);
}
/* Vision & Mission — replaces the previously commented Insights section */
.vision-mission-section {
  scroll-margin-top: 95px;
  background: var(--background);
}
.vision-mission-section h2 {
  max-width: 750px;
  margin: 0 0 18px;
}
.vision-mission-intro {
  max-width: 720px;
  margin: 0 0 36px;
  line-height: 1.75;
}
.vision-mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.vision-mission-card {
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--pale);
}
.vision-mission-number {
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .11em;
}
.vision-mission-card h3 {
  margin: 20px 0 14px;
  font-size: clamp(23px, 2.5vw, 32px);
  color: var(--secondary);
}
.vision-mission-card p {
  margin: 0;
  line-height: 1.8;
}
@media (max-width: 700px) {
  .vision-mission-grid { grid-template-columns: 1fr; }
}
