:root {
  --ink:#112522;
  --deep:#183a35;
  --green:#235f55;
  --mint:#dcebe5;
  --cream:#f7f4ec;
  --paper:#fffdfa;
  --gold:#c49a4b;
  --line:#dfe5e1;
  --muted:#66726f;
  --shadow:0 24px 70px rgba(24,58,53,.12)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:#fff;
  margin:0;
  overflow-x:clip
}
a {
  text-decoration:none
}
.topbar {
  background:var(--deep);
  color:#dfe9e5
}
.topbar a {
  color:#fff
}
.navbar {
  transition:.3s
}
.navbar.scrolled {
  box-shadow:0 10px 40px rgba(17,37,34,.08)
}
.brand-mark {
  width:42px;
  height:42px;
  border-radius:12px;
  background:var(--deep);
  color:#fff;
  display:grid;
  place-items:center;
  font-family:'Playfair Display',serif;
  font-size:25px
}
.brand-mark.inverse {
  background:#fff;
  color:var(--deep)
}
.brand-copy {
  display:flex;
  flex-direction:column;
  line-height:.85;
  letter-spacing:.08em
}
.brand-copy strong {
  font-family:'Playfair Display',serif;
  font-size:20px
}
.brand-copy small {
  font-size:8px;
  letter-spacing:.22em;
  margin-top:7px
}
.nav-link {
  font-weight:600;
  color:#29423e!important;
  padding:.75rem .9rem!important
}
.btn-brand {
  background:var(--deep);
  border:1px solid var(--deep);
  color:#fff;
  border-radius:12px;
  padding:.78rem 1.2rem;
  font-weight:700;
  box-shadow:0 8px 24px rgba(24,58,53,.16)
}
.btn-brand:hover {
  background:#224e47;
  border-color:#224e47;
  color:#fff;
  transform:translateY(-2px)
}
.btn-outline-premium {
  border:1px solid #bdc8c4;
  color:var(--ink);
  border-radius:12px;
  font-weight:700;
  background:rgba(255,255,255,.8)
}
.btn-outline-premium:hover {
  background:var(--cream);
  border-color:var(--deep);
  color:var(--deep)
}
.btn-lg {
  padding:1rem 1.35rem
}
.hero-section {
  background:linear-gradient(135deg,#fff 0%,#fbfaf5 46%,#eef6f2 100%)
}
.min-vh-80 {
  min-height:78vh
}
.hero-copy {
  position:relative;
  z-index:2
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:.6rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  font-size:.76rem;
  color:var(--green);
  margin-bottom:1rem
}
.eyebrow.light {
  color:#cbe1da
}
.pulse-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 7px rgba(196,154,75,.13)
}
.display-title,h1,h2,h3 {
  font-family:'Playfair Display',serif
}
.display-title {
  font-size:clamp(3.4rem,6vw,6.6rem);
  line-height:.94;
  letter-spacing:-.045em;
  max-width:800px
}
.display-title span {
  color:var(--green);
  font-style:italic
}
.hero-copy .lead {
  font-size:1.15rem;
  line-height:1.75
}
.hero-trust>div {
  display:flex;
  flex-direction:column
}
.hero-trust strong {
  font-size:.96rem
}
.hero-trust span {
  font-size:.79rem;
  color:var(--muted)
}
.hero-visual {
  padding:18px
}
.hero-image-wrap {
  position:relative;
  border-radius:34px;
  overflow:hidden;
  min-height:620px;
  box-shadow:var(--shadow);
  border:8px solid rgba(255,255,255,.8)
}
.hero-image {
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  position:absolute;
  inset:0
}
.image-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(12,32,29,.42))
}
.hero-floating-card {
  position:absolute;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 18px 45px rgba(15,35,32,.18);
  border-radius:18px
}
.stat-card {
  left:24px;
  bottom:24px;
  padding:15px 18px;
  display:flex;
  gap:12px;
  align-items:center
}
.stat-card small,.proof-card small {
  display:block;
  color:var(--muted);
  font-size:.72rem
}
.stat-card strong {
  display:block;
  font-size:.9rem
}
.icon-circle {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--mint);
  color:var(--deep);
  font-size:1.1rem
}
.proof-card {
  right:22px;
  top:22px;
  padding:16px
}
.mini-kicker {
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}
.proof-card span:not(.mini-kicker) {
  font-size:.72rem;
  padding:6px 9px;
  background:#f1f5f2;
  border-radius:999px;
  font-weight:700
}
.hero-orb {
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  opacity:.45
}
.orb-one {
  width:430px;
  height:430px;
  background:#dcebe5;
  right:-150px;
  top:-120px
}
.orb-two {
  width:250px;
  height:250px;
  background:#f4e8c9;
  left:-120px;
  bottom:-120px
}
.logo-strip {
  background:#fff
}
.tracking {
  letter-spacing:.13em
}
.marquee-wrap {
  overflow:hidden;
  white-space:nowrap
}
.marquee-track {
  display:inline-flex;
  align-items:center;
  gap:25px;
  animation:marquee 28s linear infinite;
  color:#5b6a67;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.12em
}
.marquee-track i {
  width:5px;
  height:5px;
  background:var(--gold);
  border-radius:50%
}
@keyframes marquee {
  to {
    transform:translateX(-50%)
  }
}
.section-pad {
  padding:110px 0
}
.section-heading {
  max-width:760px
}
.section-heading h2,.section-pad h2 {
  font-size:clamp(2.4rem,4vw,4.3rem);
  line-height:1.03;
  letter-spacing:-.03em
}
.service-card {
  position:relative;
  padding:34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  transition:.35s;
  overflow:hidden
}
.service-card:hover {
  transform:translateY(-8px);
  box-shadow:var(--shadow);
  border-color:#c8d9d3
}
.service-card:after {
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  background:var(--mint);
  right:-80px;
  bottom:-80px;
  transition:.4s
}
.service-card:hover:after {
  transform:scale(1.5)
}
.featured-service {
  background:var(--deep);
  color:#fff;
  border-color:var(--deep)
}
.featured-service p {
  color:#d8e4e0!important
}
.featured-service a {
  color:#fff!important
}
.service-no {
  position:absolute;
  right:25px;
  top:24px;
  color:#98a6a2;
  font-size:.75rem;
  font-weight:800
}
.service-icon {
  width:54px;
  height:54px;
  border-radius:16px;
  background:var(--cream);
  display:grid;
  place-items:center;
  color:var(--green);
  font-size:1.35rem;
  margin-bottom:30px
}
.featured-service .service-icon {
  background:rgba(255,255,255,.12);
  color:#fff
}
.service-card h3 {
  font-size:1.55rem
}
.service-card p {
  color:var(--muted);
  line-height:1.7;
  min-height:84px
}
.service-card a {
  font-weight:800;
  color:var(--green);
  font-size:.9rem
}
.soft-bg {
  background:var(--cream)
}
.media-stack {
  position:relative;
  padding:0 40px 40px 0
}
.media-stack img {
  width:100%;
  height:620px;
  object-fit:cover;
  border-radius:30px;
  box-shadow:var(--shadow)
}
.media-badge {
  position:absolute;
  right:0;
  bottom:0;
  background:var(--deep);
  color:#fff;
  border-radius:20px;
  padding:24px 28px;
  box-shadow:var(--shadow)
}
.media-badge span,.media-badge strong {
  display:block
}
.media-badge span {
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#bdd4cd
}
.feature-list {
  display:grid;
  gap:20px
}
.feature-item {
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding-bottom:18px;
  border-bottom:1px solid #dedfd9
}
.feature-item i {
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--mint);
  color:var(--green);
  font-weight:900
}
.feature-item strong,.feature-item span {
  display:block
}
.feature-item span {
  font-size:.9rem;
  color:var(--muted);
  margin-top:4px
}
.process-row {
  position:relative
}
.process-card {
  padding:32px 26px;
  border-top:2px solid var(--line)
}
.process-card>span {
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--deep);
  color:#fff;
  font-weight:800;
  margin-top:-55px;
  margin-bottom:25px;
  border:5px solid #fff
}
.process-card h3 {
  font-size:1.6rem
}
.process-card p {
  color:var(--muted);
  line-height:1.7
}
.process-line {
  height:1px;
  background:var(--line);
  margin-top:38px
}
.results-section {
  background:var(--deep);
  color:#fff
}
.results-intro {
  padding:54px;
  background:linear-gradient(145deg,#22544b,#17352f);
  border-radius:28px
}
.results-intro p {
  color:#cee0da;
  font-size:1.05rem;
  line-height:1.8
}
.dashboard-card {
  background:#f8fbf9;
  color:var(--ink);
  padding:34px;
  border-radius:28px
}
.dash-head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding-bottom:20px;
  border-bottom:1px solid #dfe7e3
}
.dash-head small,.dash-head strong {
  display:block
}
.dash-head span {
  font-size:.7rem;
  padding:7px 10px;
  border-radius:999px;
  background:#e4f2ed;
  color:var(--green);
  font-weight:800
}
.metric {
  background:#fff;
  padding:22px;
  border:1px solid #e3ebe7;
  border-radius:18px
}
.metric small,.metric strong,.metric span {
  display:block
}
.metric strong {
  font-size:1.35rem;
  margin:.3rem 0
}
.metric span {
  font-size:.75rem;
  color:var(--muted)
}
.chart-box {
  background:#fff;
  border:1px solid #e3ebe7;
  border-radius:18px;
  padding:22px
}
.chart-head {
  display:flex;
  justify-content:space-between
}
.chart-head small {
  color:var(--muted)
}
.bars {
  height:190px;
  display:flex;
  gap:12px;
  align-items:flex-end;
  margin-top:25px;
  padding-top:10px;
  border-bottom:1px solid #d9e2de
}
.bars i {
  flex:1;
  border-radius:6px 6px 0 0;
  background:linear-gradient(#77a99b,#1e5b50);
  min-height:20px
}
.insight-card {
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  transition:.35s
}
.insight-card:hover {
  transform:translateY(-7px);
  box-shadow:var(--shadow)
}
.insight-thumb {
  height:260px;
  background-size:cover;
  background-position:center;
  position:relative
}
.insight-thumb:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(12,34,30,.42))
}
.insight-thumb span {
  position:absolute;
  left:20px;
  bottom:18px;
  z-index:2;
  background:#fff;
  padding:7px 10px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em
}
.img-one {
  background-image:url('https://cdn.sanity.io/images/e3126bqo/production/ba9644fd720260d31f430b9e4825724e33a68bfd-1424x752.png?h=500&rect=35%2C0%2C1354%2C752&w=900')
}
.img-two {
  background-image:url('https://images.unsplash.com/photo-1521791055366-0d553872125f?auto=format&fit=crop&w=1200&q=88');
  background-position:center 42%
}
.img-three {
  background-image:url('https://coohom-biz-sg-s3.coohom.com/ins/static/case/law-office-interior-design-1774522992120960900.jpg?processFlag=true&x-oss-process=image%2Fformat%2Cwebp')
}
.insight-card small {
  color:var(--green);
  font-weight:800;
  letter-spacing:.09em
}
.insight-card h3 {
  font-size:1.35rem;
  line-height:1.35;
  margin:10px 0 18px
}
.insight-card a {
  color:var(--ink);
  font-weight:800
}
.cta-panel {
  background:linear-gradient(120deg,#1a453e,#0f2d28);
  color:#fff;
  border-radius:32px;
  padding:70px
}
.cta-panel h2 {
  font-size:clamp(2.5rem,4vw,4.2rem);
  max-width:850px
}
.cta-panel p {
  color:#c6dcd5;
  max-width:750px
}
.cta-ring {
  position:absolute;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%
}
.ring-a {
  width:380px;
  height:380px;
  right:-120px;
  top:-220px
}
.ring-b {
  width:250px;
  height:250px;
  right:80px;
  bottom:-190px
}
.footer {
  background:#0f2421;
  color:#fff
}
.footer a {
  display:block;
  color:#bccdca;
  margin:.65rem 0
}
.footer h6 {
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  color:#fff
}
.footer-copy {
  color:#afc0bc;
  max-width:360px
}
.socials {
  display:flex;
  gap:10px
}
.socials a {
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #35504b;
  display:grid;
  place-items:center;
  margin:0
}
.footer-bottom {
  border-color:#2c4540!important;
  color:#91a7a2
}
.footer-bottom div {
  display:flex;
  gap:20px
}
.footer-bottom a {
  display:inline;
  margin:0
}
.reveal-up,.reveal-left,.reveal-right,.reveal-card,.reveal-scale {
  will-change:transform,opacity
}
@media(max-width:991.98px) {
  .navbar-collapse {
    padding:18px 0
  }
  .display-title {
    font-size:3.6rem
  }
  .hero-image-wrap,.hero-image {
    min-height:520px
  }
  .section-pad {
    padding:80px 0
  }
  .media-stack img {
    height:520px
  }
  .cta-panel {
    padding:48px 32px
  }
  .process-line {
    display:none
  }
  .process-card {
    border:1px solid var(--line);
    border-radius:20px
  }
  .process-card>span {
    margin-top:0;
    border:none
  }
}
@media(max-width:575.98px) {
  .display-title {
    font-size:2.85rem
  }
  .hero-copy .lead {
    font-size:1rem
  }
  .hero-image-wrap,.hero-image {
    min-height:430px
  }
  .proof-card {
    right:12px;
    top:12px
  }
  .stat-card {
    left:12px;
    right:12px;
    bottom:12px
  }
  .section-pad {
    padding:68px 0
  }
  .section-heading h2,.section-pad h2 {
    font-size:2.55rem
  }
  .service-card {
    padding:26px
  }
  .media-stack {
    padding:0
  }
  .media-stack img {
    height:420px
  }
  .media-badge {
    left:18px;
    right:18px;
    bottom:18px
  }
  .results-intro,.dashboard-card {
    padding:28px
  }
  .chart-head {
    display:block
  }
  .chart-head small {
    display:block;
    margin-top:4px
  }
  .bars {
    gap:7px
  }
  .cta-panel {
    padding:38px 24px;
    border-radius:24px
  }
}
/* Premium visual expansion */
.hero-side-photo {
  position:absolute;
  right:-14px;
  bottom:105px;
  width:210px;
  background:#fff;
  padding:8px;
  border-radius:18px;
  box-shadow:0 22px 55px rgba(17,37,34,.22);
  transform:rotate(2.5deg);
  z-index:3
}
.hero-side-photo img {
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:12px
}
.hero-side-photo span {
  display:block;
  padding:10px 8px 6px;
  font-size:.73rem;
  font-weight:800;
  line-height:1.35;
  color:var(--deep)
}
.section-pad-sm {
  padding:80px 0
}
.visual-showcase {
  background:#fff
}
.showcase-title {
  font-size:clamp(2.3rem,4vw,4.2rem);
  line-height:1.04;
  letter-spacing:-.03em;
  max-width:820px
}
.visual-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  grid-template-rows:280px 260px;
  gap:18px
}
.visual-tile {
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 14px 45px rgba(17,37,34,.08)
}
.visual-tile.tile-tall {
  grid-row:span 2
}
.visual-tile.tile-wide {
  grid-column:span 2
}
.visual-tile img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)
}
.visual-tile:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(11,31,27,.72))
}
.visual-tile:hover img {
  transform:scale(1.055)
}
.visual-tile figcaption {
  position:absolute;
  left:24px;
  right:24px;
  bottom:22px;
  z-index:2;
  color:#fff
}
.visual-tile figcaption span,.visual-tile figcaption strong {
  display:block
}
.visual-tile figcaption span {
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.78;
  margin-bottom:5px
}
.visual-tile figcaption strong {
  font-family:'Playfair Display',serif;
  font-size:1.25rem
}
.case-study {
  overflow:hidden
}
.case-collage {
  position:relative;
  min-height:620px;
  padding:20px 70px 60px 0
}
.case-main {
  height:540px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow)
}
.case-main img,.case-small img {
  width:100%;
  height:100%;
  object-fit:cover
}
.case-small {
  position:absolute;
  width:210px;
  height:170px;
  border:7px solid var(--cream);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(17,37,34,.16)
}
.case-small-one {
  right:0;
  top:55px
}
.case-small-two {
  right:18px;
  bottom:6px
}
.case-label {
  position:absolute;
  left:28px;
  bottom:20px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  padding:18px 22px;
  border-radius:16px;
  box-shadow:0 14px 35px rgba(17,37,34,.12)
}
.case-label small,.case-label strong {
  display:block
}
.case-label small {
  font-size:.65rem;
  letter-spacing:.12em;
  color:var(--green);
  font-weight:800
}
.case-label strong {
  margin-top:4px
}
.case-points {
  display:grid;
  gap:14px
}
.case-points>div {
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:15px 0;
  border-bottom:1px solid #dddcd5
}
.case-points span {
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:var(--deep);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.7rem;
  font-weight:800
}
.case-points p {
  margin:3px 0 0;
  color:var(--muted)
}
@media(max-width:991.98px) {
  .hero-side-photo {
    right:12px;
    bottom:105px;
    width:190px
  }
  .visual-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:360px 250px 250px
  }
  .visual-tile.tile-tall {
    grid-row:span 1
  }
  .visual-tile.tile-wide {
    grid-column:span 2
  }
  .case-collage {
    min-height:560px;
    padding-right:50px
  }
  .case-main {
    height:500px
  }
  .case-small {
    width:180px;
    height:145px
  }
}
@media(max-width:575.98px) {
  .hero-side-photo {
    display:none
  }
  .section-pad-sm {
    padding:58px 0
  }
  .visual-grid {
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none
  }
  .visual-tile,.visual-tile.tile-tall,.visual-tile.tile-wide {
    grid-column:auto;
    grid-row:auto;
    height:260px
  }
  .visual-tile.tile-tall {
    height:360px
  }
  .case-collage {
    min-height:475px;
    padding:0 0 40px
  }
  .case-main {
    height:410px
  }
  .case-small {
    width:145px;
    height:118px;
    border-width:5px
  }
  .case-small-one {
    right:8px;
    top:24px
  }
  .case-small-two {
    right:16px;
    bottom:2px
  }
  .case-label {
    left:14px;
    right:70px;
    bottom:20px;
    padding:14px 16px
  }
}
/* ===== Law Digital Agency Brand Refresh ===== */
:root {
  --ink:#1d3344;
  --deep:#1f3546;
  --green:#20b2c5;
  --mint:#e8f8fb;
  --cream:#f6fafb;
  --paper:#ffffff;
  --gold:#20b2c5;
  --line:#dbe6eb;
  --muted:#688091;
  --cyan:#20b2c5;
  --cyan-dark:#1495aa;
  --slate:#6d8797;
  --shadow:0 26px 80px rgba(23,50,68,.13);
}
body {
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:#fff
}
.display-title,h1,h2,h3 {
  font-family:'Manrope',sans-serif;
  font-weight:750
}
.topbar {
  background:#172b39;
  color:#cfe0e8;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.topbar a {
  color:#eaf6f9
}
.navbar {
  background:rgba(255,255,255,.91)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:rgba(29,51,68,.08)!important
}
.navbar.scrolled {
  box-shadow:0 12px 42px rgba(22,49,67,.09)
}
.logo-link {
  padding:0;
  margin-right:2rem;
  display:flex;
  align-items:center
}
.site-logo {
  width:225px;
  height:auto;
  display:block
}
.nav-link {
  color:#314b5c!important;
  font-weight:700;
  position:relative
}
.nav-link:after {
  content:"";
  position:absolute;
  left:.9rem;
  right:.9rem;
  bottom:.45rem;
  height:2px;
  background:var(--cyan);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease
}
.nav-link:hover:after {
  transform:scaleX(1)
}
.btn {
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease
}
.btn-brand {
  background:linear-gradient(135deg,var(--deep),#294c61);
  border-color:transparent;
  color:#fff;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(31,53,70,.20)
}
.btn-brand:hover {
  background:linear-gradient(135deg,#182d3c,#21465b);
  border-color:transparent;
  box-shadow:0 16px 36px rgba(31,53,70,.24)
}
.btn-outline-premium {
  border:1px solid #cbd8df;
  color:var(--deep);
  border-radius:14px;
  background:rgba(255,255,255,.75)
}
.btn-outline-premium:hover {
  background:#eef8fa;
  border-color:#9bcfd8;
  color:var(--deep)
}
.hero-section {
  background:   radial-gradient(circle at 72% 16%,rgba(32,178,197,.18),transparent 25%),   radial-gradient(circle at 6% 90%,rgba(109,135,151,.10),transparent 24%),   linear-gradient(135deg,#ffffff 0%,#f8fbfc 45%,#eef8fa 100%)
}
.hero-section:before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(31,53,70,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(31,53,70,.025) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 85%);
  pointer-events:none
}
.eyebrow {
  color:var(--cyan-dark);
  letter-spacing:.15em
}
.pulse-dot {
  background:var(--cyan);
  box-shadow:0 0 0 7px rgba(32,178,197,.12)
}
.display-title {
  color:#1c3344;
  font-size:clamp(3.35rem,5.9vw,6.35rem);
  line-height:.94;
  letter-spacing:-.055em
}
.display-title span {
  color:var(--cyan-dark);
  font-style:normal;
  position:relative
}
.display-title span:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.03em;
  height:.10em;
  background:rgba(32,178,197,.19);
  border-radius:999px;
  z-index:-1
}
.hero-copy .lead {
  color:#607989!important;
  max-width:670px
}
.hero-trust>div {
  min-width:145px;
  padding:14px 16px;
  border:1px solid rgba(31,53,70,.09);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 9px 28px rgba(29,51,68,.06)
}
.hero-trust strong {
  color:#1f3546
}
.hero-trust span {
  color:#718899
}
.hero-image-wrap {
  border-radius:38px;
  border:7px solid rgba(255,255,255,.96);
  box-shadow:0 34px 90px rgba(25,53,71,.18);
  overflow:hidden
}
.hero-image-wrap:before {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:31px;
  z-index:2;
  pointer-events:none
}
.image-shade {
  background:linear-gradient(180deg,rgba(17,40,54,.02) 34%,rgba(16,42,57,.54))
}
.hero-floating-card {
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 20px 52px rgba(20,49,65,.20)
}
.icon-circle {
  background:#e7f8fb;
  color:var(--cyan-dark)
}
.proof-card span:not(.mini-kicker) {
  background:#edf7f9;
  color:#2e5265
}
.hero-side-photo {
  border:1px solid rgba(31,53,70,.08);
  box-shadow:0 24px 62px rgba(26,53,70,.22)
}
.hero-side-photo span {
  color:#20384a
}
.orb-one {
  background:#cfeff4
}
.orb-two {
  background:#dce8ee
}
.logo-strip {
  background:#fafdfe;
  border-color:#e6eef2!important
}
.marquee-track {
  color:#536d7e
}
.marquee-track i {
  background:var(--cyan)
}
.section-pad {
  padding:116px 0
}
.section-pad-sm {
  padding:90px 0
}
.section-heading h2,.section-pad h2,.showcase-title {
  color:#1c3344;
  letter-spacing:-.045em
}
.visual-showcase {
  background:linear-gradient(180deg,#fff,#fbfdfe)
}
.visual-tile {
  border-radius:28px;
  box-shadow:0 18px 48px rgba(28,58,75,.09)
}
.visual-tile:after {
  background:linear-gradient(180deg,transparent 34%,rgba(13,38,53,.78))
}
.visual-tile figcaption span {
  color:#bfeef4;
  opacity:1
}
.service-card {
  padding:36px;
  border-color:#dce7ec;
  border-radius:26px;
  box-shadow:0 8px 28px rgba(27,56,73,.035)
}
.service-card:hover {
  border-color:#b8dbe2;
  box-shadow:0 28px 74px rgba(27,56,73,.12)
}
.service-card:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--cyan),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:.4s
}
.service-card:hover:before {
  transform:scaleX(1)
}
.service-card:after {
  background:#e8f8fb
}
.featured-service {
  background:linear-gradient(145deg,#1b3343,#254f63);
  border-color:#254f63;
  box-shadow:0 22px 60px rgba(24,53,70,.18)
}
.featured-service:after {
  background:rgba(32,178,197,.14)
}
.service-icon {
  background:#edf8fa;
  color:var(--cyan-dark);
  border:1px solid #d6edf1
}
.featured-service .service-icon {
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.08);
  color:#66d5e3
}
.service-card a {
  color:var(--cyan-dark)
}
.soft-bg {
  background:linear-gradient(180deg,#f7fbfc,#f2f7f9)
}
.media-stack img {
  border-radius:32px;
  box-shadow:0 28px 75px rgba(25,52,69,.15)
}
.media-badge {
  background:linear-gradient(145deg,#1b3444,#244d60);
  border:1px solid rgba(255,255,255,.10)
}
.media-badge span {
  color:#8cdce6
}
.feature-item {
  border-color:#dbe5ea
}
.feature-item i {
  background:#e5f7fa;
  color:var(--cyan-dark)
}
.process-line {
  background:linear-gradient(90deg,transparent,#c7d7de 10%,#c7d7de 90%,transparent)
}
.process-card {
  border-top-color:#dbe6eb
}
.process-card>span {
  background:linear-gradient(135deg,#1f3546,#2a596d)
}
.case-study {
  background:linear-gradient(180deg,#f6fafb,#eef5f7)
}
.case-small {
  border-color:#f5f9fa
}
.case-label small {
  color:var(--cyan-dark)
}
.case-points span {
  background:#1f3546
}
.results-section {
  background:   radial-gradient(circle at 88% 12%,rgba(32,178,197,.18),transparent 25%),   linear-gradient(135deg,#162d3c,#1f3f52 60%,#153446);
}
.results-intro {
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)
}
.results-intro p {
  color:#c8dce5
}
.dashboard-card {
  background:#f7fbfc;
  box-shadow:0 28px 80px rgba(5,24,36,.23)
}
.dash-head span {
  background:#def5f8;
  color:#147f92
}
.metric,.chart-box {
  border-color:#deeaee;
  box-shadow:0 8px 22px rgba(26,56,73,.04)
}
.bars i {
  background:linear-gradient(#6bd8e5,#1aa6ba)
}
.insight-card {
  border-color:#dce7ec;
  border-radius:26px
}
.insight-card:hover {
  box-shadow:0 26px 70px rgba(28,58,75,.12)
}
.insight-card small {
  color:var(--cyan-dark)
}
.cta-panel {
  background:   radial-gradient(circle at 85% 20%,rgba(59,203,220,.22),transparent 25%),   linear-gradient(120deg,#1a3444,#17394a);
  box-shadow:0 30px 85px rgba(19,46,62,.22)
}
.cta-panel p {
  color:#c5dae3
}
.eyebrow.light {
  color:#8adce6
}
.footer {
  background:#102634
}
.footer-logo-plate {
  background:#fff;
  border-radius:16px;
  padding:10px 14px;
  box-shadow:0 12px 34px rgba(0,0,0,.18)
}
.footer-logo {
  width:255px;
  height:auto
}
.footer a {
  color:#bcd0da
}
.footer-copy {
  color:#a9bec8
}
.footer-bottom {
  border-color:#2a4452!important;
  color:#8da8b5
}
.socials a {
  border-color:#355365
}
@media(max-width:1199.98px) {
  .site-logo {
    width:205px
  }
  .nav-link {
    padding:.75rem .65rem!important
  }
  .display-title {
    font-size:4.75rem
  }
}
@media(max-width:991.98px) {
  .site-logo {
    width:190px
  }
  .navbar-collapse {
    padding-top:18px
  }
  .nav-link:after {
    display:none
  }
  .display-title {
    font-size:3.8rem
  }
  .hero-trust>div {
    min-width:130px
  }
  .section-pad {
    padding:86px 0
  }
  .section-pad-sm {
    padding:72px 0
  }
}
@media(max-width:575.98px) {
  .site-logo {
    width:166px
  }
  .display-title {
    font-size:2.85rem
  }
  .hero-trust {
    gap:10px!important
  }
  .hero-trust>div {
    flex:1 1 calc(50% - 10px);
    min-width:0;
    padding:12px
  }
  .section-pad {
    padding:68px 0
  }
  .section-pad-sm {
    padding:60px 0
  }
  .footer-logo {
    width:220px
  }
}
/* Results + insight fixes */
.results-intro h2 {
  color:#ffffff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.08)
}
.results-intro .eyebrow.light {
  color:#7ee5ef!important
}
.results-intro p {
  color:#d8e8ef!important
}
.results-intro .btn-light {
  background:#fff;
  color:#152d3c;
  border-color:#fff;
  font-weight:700;
  box-shadow:0 12px 30px rgba(3,20,30,.18)
}
.results-intro .btn-light:hover {
  background:#eaf9fb;
  color:#102b3a;
  border-color:#eaf9fb;
  transform:translateY(-2px)
}
.insight-thumb {
  background-color:#dfe9ec;
  background-repeat:no-repeat
}
.img-two {
  background-image:linear-gradient(180deg,rgba(12,34,48,.02),rgba(12,34,48,.08)),url('https://images.unsplash.com/photo-1521791055366-0d553872125f?auto=format&fit=crop&w=1200&q=88')!important;
  background-position:center 42%
}
@media(max-width:575.98px) {
  .results-intro h2 {
    font-size:2.65rem;
    line-height:1.04
  }
  .results-intro p {
    font-size:1rem
  }
  .insight-thumb {
    height:235px
  }
}
/* ===== Premium UI V3 ===== */
:root {
  --ink:#0d2233;
  --deep:#102b3d;
  --deep-2:#173d53;
  --cyan:#16b8cf;
  --cyan-2:#49d4e5;
  --sky:#e9f8fb;
  --paper:#ffffff;
  --soft:#f4f8fa;
  --line:#d8e4ea;
  --muted:#657b8b;
  --shadow-sm:0 10px 30px rgba(13,34,51,.08);
  --shadow-lg:0 28px 80px rgba(11,32,48,.15)
}
html {
  font-size:16px
}
body {
  font-family:'Inter',sans-serif;
  color:var(--ink);
  font-weight:400;
  letter-spacing:-.01em
}
h1,h2,h3,h4,h5,h6,.display-title,.showcase-title {
  font-family:'Plus Jakarta Sans',sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.05em
}
p {
  line-height:1.72
}
.text-secondary {
  color:#6d8190!important
}
.container {
  max-width:1240px
}
/* Header */
.topbar {
  background:#0a2232;
  padding:.55rem 0!important;
  font-size:.76rem;
  letter-spacing:.01em
}
.topbar span {
  opacity:.86
}
.topbar a {
  font-weight:600;
  opacity:.92
}
.topbar a:hover {
  color:var(--cyan-2)
}
.navbar {
  min-height:86px;
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(13,34,51,.07)!important
}
.navbar>.container {
  padding-top:.65rem!important;
  padding-bottom:.65rem!important
}
.site-logo {
  width:212px
}
.nav-link {
  font-size:.9rem;
  font-weight:700;
  color:#263f51!important;
  padding:.8rem .82rem!important
}
.nav-link:after {
  bottom:.35rem;
  height:2px;
  border-radius:3px
}
.navbar .btn-brand {
  margin-left:.35rem
}
/* Premium buttons */
.btn {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  letter-spacing:-.02em;
  border-radius:16px;
  min-height:52px;
  padding:.78rem 1.15rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  position:relative;
  overflow:hidden;
  isolation:isolate
}
.btn-lg {
  min-height:58px;
  padding:.95rem 1.35rem;
  font-size:.96rem
}
.btn:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.24) 50%,transparent 75%);
  transform:translateX(-130%);
  transition:transform .6s ease;
  z-index:-1
}
.btn:hover:before {
  transform:translateX(130%)
}
.btn-brand {
  background:linear-gradient(135deg,#11afc7,#179fb6 45%,#0d738b);
  border:1px solid rgba(13,115,139,.15);
  box-shadow:0 12px 28px rgba(20,176,200,.24),inset 0 1px 0 rgba(255,255,255,.3)
}
.btn-brand:hover {
  background:linear-gradient(135deg,#19c2d9,#14a8bf 45%,#0d7891);
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(20,176,200,.30)
}
.btn-brand i,.btn-light i {
  width:28px;
  height:28px;
  border-radius:10px;
  display:inline-grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  font-size:.9rem;
  margin-left:.25rem!important;
  transition:.25s
}
.btn-brand:hover i,.btn-light:hover i {
  transform:translate(2px,-2px)
}
.btn-outline-premium {
  background:rgba(255,255,255,.68);
  border:1px solid #bfd0d9;
  color:#173247;
  box-shadow:0 8px 22px rgba(17,48,67,.05);
  backdrop-filter:blur(12px)
}
.btn-outline-premium:hover {
  background:#fff;
  border-color:#9cced8;
  color:#0f2e42;
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(14,47,66,.11)
}
.btn-light {
  background:#fff!important;
  color:#102b3d!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 30px rgba(4,21,32,.2)!important
}
.btn-light:hover {
  background:#ebfbfd!important;
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(4,21,32,.24)!important
}
/* Hero */
.hero-section {
  background:linear-gradient(180deg,#f9fcfd 0%,#fff 100%);
  border-bottom:1px solid #eaf0f3
}
.hero-section:before {
  background-image:linear-gradient(rgba(14,65,88,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,65,88,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 80%)
}
.hero-section:after {
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  border-radius:50%;
  right:-240px;
  top:-240px;
  background:radial-gradient(circle,rgba(22,184,207,.15),transparent 68%);
  filter:blur(4px)
}
.min-vh-80 {
  min-height:720px
}
.hero-copy {
  padding-right:2rem
}
.eyebrow {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.69rem;
  letter-spacing:.18em;
  color:#118ba0;
  margin-bottom:1.25rem
}
.pulse-dot {
  width:7px;
  height:7px;
  background:#20bfd5;
  box-shadow:0 0 0 6px rgba(32,191,213,.11)
}
.display-title {
  font-size:clamp(3.65rem,5.6vw,6.1rem);
  line-height:.96;
  color:#0d2233;
  max-width:760px
}
.display-title span {
  color:#139fb5;
  background:linear-gradient(90deg,#0f9db3,#22c1d5);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent
}
.display-title span:after {
  display:none
}
.hero-copy .lead {
  font-size:1.11rem;
  line-height:1.8;
  color:#607888!important;
  max-width:620px
}
.hero-trust {
  border-top:1px solid #dce7ec;
  padding-top:1.2rem;
  max-width:620px
}
.hero-trust>div {
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0 1.35rem 0 0;
  min-width:0;
  flex:1
}
.hero-trust>div+div {
  border-left:1px solid #dce7ec;
  padding-left:1.35rem
}
.hero-trust strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#0f2b3e;
  font-size:.88rem
}
.hero-trust span {
  font-size:.75rem;
  margin-top:.18rem
}
.hero-visual {
  padding:14px 4px 14px 24px
}
.hero-image-wrap {
  min-height:590px;
  border:1px solid rgba(16,43,61,.08);
  border-radius:34px;
  box-shadow:0 38px 90px rgba(12,38,55,.18);
  overflow:visible;
  background:#fff
}
.hero-image-wrap:before {
  inset:12px;
  border-radius:25px;
  border:1px solid rgba(255,255,255,.36)
}
.hero-image {
  min-height:590px;
  border-radius:33px
}
.image-shade {
  border-radius:33px;
  background:linear-gradient(180deg,rgba(5,24,36,.01) 32%,rgba(8,31,45,.54))
}
.hero-floating-card {
  border-radius:18px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 55px rgba(9,31,45,.18)
}
.stat-card {
  left:-25px;
  bottom:30px
}
.proof-card {
  right:-22px;
  top:24px
}
.hero-side-photo {
  right:-34px;
  bottom:128px;
  border-radius:20px;
  box-shadow:0 24px 64px rgba(9,31,45,.24)
}
/* Sections and cards */
.logo-strip {
  background:#fff
}
.tracking {
  font-size:.69rem;
  color:#78909e;
  letter-spacing:.18em
}
.section-pad {
  padding:126px 0
}
.section-pad-sm {
  padding:100px 0
}
.section-heading h2,.section-pad h2,.showcase-title {
  font-weight:800!important;
  line-height:1.04;
  color:#0d2233
}
.section-heading h2,.section-pad h2 {
  font-size:clamp(2.55rem,4vw,4.35rem)
}
.visual-showcase {
  background:#f8fbfc
}
.visual-grid {
  gap:22px
}
.visual-tile {
  border-radius:24px;
  border:1px solid rgba(16,43,61,.08);
  box-shadow:0 18px 50px rgba(12,40,58,.09)
}
.visual-tile figcaption strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.18rem;
  letter-spacing:-.03em
}
.visual-tile figcaption span {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  letter-spacing:.14em
}
.service-grid {
  --bs-gutter-x:1.5rem;
  --bs-gutter-y:1.5rem
}
.service-card {
  padding:38px 36px;
  border:1px solid #dce7ed;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfdfe);
  box-shadow:0 10px 34px rgba(13,45,64,.045)
}
.service-card:hover {
  transform:translateY(-7px);
  border-color:#acdce4;
  box-shadow:0 28px 70px rgba(12,43,61,.12)
}
.service-card:after {
  width:180px;
  height:180px;
  background:radial-gradient(circle,rgba(27,189,211,.11),transparent 70%);
  right:-70px;
  bottom:-85px
}
.service-icon {
  width:58px;
  height:58px;
  border-radius:18px;
  background:#eafbfd;
  border:1px solid #d4eff3;
  color:#0e9bb1;
  font-size:1.3rem;
  box-shadow:inset 0 1px 0 #fff
}
.service-card h3 {
  font-size:1.4rem;
  margin-bottom:.8rem
}
.service-card p {
  font-size:.94rem;
  line-height:1.75
}
.featured-service {
  background:linear-gradient(145deg,#102a3d,#173f55);
  border-color:#1c4a61
}
.featured-service .service-icon {
  background:rgba(68,206,225,.11);
  border-color:rgba(87,216,233,.17);
  color:#6cdeed
}
.service-card a {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.82rem;
  letter-spacing:-.01em
}
.service-card a i {
  margin-left:.3rem;
  transition:.25s
}
.service-card:hover a i {
  transform:translateX(4px)
}
/* Content blocks */
.media-stack img {
  border-radius:28px;
  box-shadow:var(--shadow-lg)
}
.media-badge {
  border-radius:18px;
  background:linear-gradient(145deg,#0f2b3e,#15445b);
  padding:22px 26px
}
.feature-item {
  padding:18px 0;
  border-bottom:1px solid #dde7ec
}
.feature-item i {
  width:32px;
  height:32px;
  background:#e7f8fb;
  color:#0f9fb5
}
.feature-item strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#153247
}
.process-card {
  padding:34px 28px
}
.process-card h3 {
  font-size:1.42rem
}
.process-card>span {
  background:linear-gradient(135deg,#13a9c0,#0c7088);
  box-shadow:0 9px 24px rgba(16,169,192,.22)
}
.case-main {
  border-radius:28px
}
.case-small {
  border-radius:20px
}
.case-label {
  border-radius:16px
}
.case-points span {
  background:linear-gradient(135deg,#12a8bf,#0e6f86)
}
/* Results redesigned */
.results-section {
  position:relative;
  background:linear-gradient(135deg,#0a2232 0%,#102f42 54%,#153e52 100%)
}
.results-section:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 85% 15%,rgba(30,197,219,.18),transparent 26%);
  pointer-events:none
}
.results-intro {
  padding:58px;
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 55px rgba(0,0,0,.12)
}
.results-intro h2 {
  font-size:clamp(2.9rem,4.4vw,4.5rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important
}
.results-intro p {
  font-size:1.04rem!important;
  line-height:1.8
}
.dashboard-card {
  padding:36px;
  border-radius:26px;
  background:linear-gradient(180deg,#fbfdfe,#eef7f9);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 32px 90px rgba(0,12,20,.28)
}
.dash-head strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.25rem
}
.dash-head span {
  letter-spacing:.08em
}
.metric,.chart-box {
  border-radius:16px
}
.metric strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#0e8fa5
}
.bars i {
  border-radius:7px 7px 2px 2px;
  background:linear-gradient(180deg,#58d9e9,#109eb5);
  box-shadow:0 7px 18px rgba(22,184,207,.15)
}
/* Insights + CTA */
.insight-card {
  border-radius:24px;
  box-shadow:0 10px 34px rgba(13,44,62,.04)
}
.insight-card:hover {
  transform:translateY(-8px);
  box-shadow:0 28px 72px rgba(13,44,62,.13)
}
.insight-thumb {
  height:280px
}
.insight-card h3 {
  font-size:1.28rem;
  letter-spacing:-.035em
}
.insight-card a {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.84rem
}
.cta-panel {
  border-radius:28px;
  padding:76px;
  background:radial-gradient(circle at 85% 15%,rgba(42,200,221,.26),transparent 26%),linear-gradient(135deg,#0c2638,#11394e);
  box-shadow:0 34px 90px rgba(8,31,46,.22)
}
.cta-panel h2 {
  font-size:clamp(2.65rem,4vw,4.2rem);
  line-height:1.02
}
.footer {
  background:#081e2b
}
.footer-logo-plate {
  border-radius:14px
}
.socials a {
  transition:.25s
}
.socials a:hover {
  background:#13a9c0;
  border-color:#13a9c0;
  color:#fff;
  transform:translateY(-2px)
}
@media(max-width:1199.98px) {
  .site-logo {
    width:198px
  }
  .display-title {
    font-size:4.65rem
  }
  .hero-side-photo {
    right:-8px
  }
  .proof-card {
    right:-5px
  }
}
@media(max-width:991.98px) {
  .navbar {
    min-height:76px
  }
  .navbar-collapse {
    background:#fff;
    border:1px solid #e1ebef;
    border-radius:18px;
    margin-top:12px;
    padding:14px 16px;
    box-shadow:var(--shadow-sm)
  }
  .display-title {
    font-size:3.75rem
  }
  .hero-copy {
    padding-right:0
  }
  .hero-visual {
    padding:20px 0
  }
  .hero-image-wrap,.hero-image {
    min-height:520px
  }
  .stat-card {
    left:18px
  }
  .proof-card {
    right:18px
  }
  .hero-side-photo {
    right:12px
  }
  .section-pad {
    padding:92px 0
  }
  .cta-panel {
    padding:52px 34px
  }
}
@media(max-width:575.98px) {
  .topbar {
    display:none!important
  }
  .navbar {
    min-height:72px
  }
  .site-logo {
    width:158px
  }
  .hero-section .row {
    padding-top:2.3rem!important
  }
  .display-title {
    font-size:2.72rem;
    line-height:1
  }
  .hero-copy .lead {
    font-size:1rem;
    line-height:1.7
  }
  .hero-copy .btn {
    width:100%
  }
  .hero-trust {
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:14px!important
  }
  .hero-trust>div {
    padding:0!important;
    border-left:0!important
  }
  .hero-image-wrap,.hero-image {
    min-height:420px
  }
  .stat-card {
    left:12px;
    right:12px
  }
  .proof-card {
    right:12px
  }
  .section-pad {
    padding:72px 0
  }
  .section-pad-sm {
    padding:64px 0
  }
  .section-heading h2,.section-pad h2 {
    font-size:2.35rem
  }
  .results-intro {
    padding:32px
  }
  .results-intro h2 {
    font-size:2.55rem!important
  }
  .dashboard-card {
    padding:24px
  }
  .cta-panel {
    padding:40px 24px
  }
  .btn-lg {
    min-height:56px
  }
}
/* 2026-09 heading scale refinement */
.display-title {
  font-size:clamp(3.15rem,5vw,5.45rem) !important;
}
.section-heading h2, .section-pad h2, .showcase-title {
  font-size:clamp(2.2rem,3.35vw,3.65rem) !important;
}
.results-intro h2 {
  font-size:clamp(2.45rem,3.7vw,3.8rem) !important;
}
.cta-panel h2 {
  font-size:clamp(2.3rem,3.45vw,3.65rem) !important;
}
.service-card h3, .process-card h3 {
  font-size:1.3rem !important;
}
.insight-card h3 {
  font-size:1.18rem !important;
}
@media(max-width:1199.98px) {
  .display-title {
    font-size:4.1rem !important
  }
}
@media(max-width:991.98px) {
  .display-title {
    font-size:3.35rem !important
  }
  .section-heading h2,.section-pad h2,.showcase-title {
    font-size:2.7rem !important
  }
}
@media(max-width:575.98px) {
  .display-title {
    font-size:2.42rem !important
  }
  .section-heading h2,.section-pad h2,.showcase-title {
    font-size:2.05rem !important
  }
  .results-intro h2 {
    font-size:2.2rem !important
  }
  .cta-panel h2 {
    font-size:2.15rem !important
  }
}
/* image crop fixes */
.visual-tile img {
  object-position:center center;
}
.visual-tile img.img-focus-top {
  object-position:center top;
}
.visual-tile img.img-focus-upper {
  object-position:center 22%;
}
@media(max-width:575.98px) {
  .visual-tile img.img-focus-top {
    object-position:center 18%;
  }
  .visual-tile img.img-focus-upper {
    object-position:center 24%;
  }
}
/* replacement section for former insight library */
.engagement-section {
  background:linear-gradient(180deg,#fbfdfe 0%,#f5f9fb 100%)
}
.engagement-panel {
  padding:34px;
  border:1px solid #dde7ee;
  border-radius:28px;
  background:#fff;
  box-shadow:0 16px 50px rgba(12,40,58,.06)
}
.engagement-card {
  padding:26px 24px;
  border:1px solid #e1ebf1;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#f9fcfd);
  box-shadow:0 10px 30px rgba(14,43,61,.04);
  transition:.28s
}
.engagement-card:hover {
  transform:translateY(-6px);
  box-shadow:0 22px 54px rgba(12,43,61,.12);
  border-color:#bfe4eb
}
.engagement-icon {
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#eafbfd;
  border:1px solid #d6eef4;
  color:#0f9bb1;
  font-size:1.35rem;
  margin-bottom:18px
}
.engagement-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.28rem;
  letter-spacing:-.03em;
  margin-bottom:.7rem;
  color:#11293c
}
.engagement-card p {
  margin:0;
  color:#637b88;
  line-height:1.75;
  font-size:.95rem
}
.engagement-sidebar {
  padding:38px 34px;
  border-radius:28px;
  background:linear-gradient(135deg,#0d2536,#12384d);
  color:#fff;
  box-shadow:0 24px 70px rgba(10,31,46,.18)
}
.sidebar-kicker {
  display:inline-block;
  margin-bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#bfeef4;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.engagement-sidebar h3 {
  font-size:2rem;
  line-height:1.12;
  letter-spacing:-.04em;
  margin-bottom:1rem;
  color:#fff
}
.engagement-sidebar p {
  color:#c3d6e0;
  line-height:1.82;
  margin-bottom:1.2rem
}
.engagement-list {
  display:grid;
  gap:13px
}
.engagement-list li {
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.1)
}
.engagement-list li:last-child {
  border-bottom:0;
  padding-bottom:0
}
.engagement-list i {
  color:#4fd0e2;
  font-size:1.05rem;
  line-height:1.2;
  margin-top:.15rem
}
.engagement-list span {
  color:#e4eef3;
  line-height:1.55
}
@media(max-width:991.98px) {
  .engagement-sidebar {
    padding:32px 26px
  }
  .engagement-sidebar h3 {
    font-size:1.8rem
  }
}
@media(max-width:575.98px) {
  .engagement-panel {
    padding:20px
  }
  .engagement-card {
    padding:22px 18px
  }
  .engagement-sidebar {
    padding:28px 20px
  }
  .engagement-sidebar h3 {
    font-size:1.55rem
  }
  .engagement-card h3 {
    font-size:1.18rem
  }
}
/* image-led client journey section */
.image-story-section {
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)
}
.journey-gallery {
  display:grid;
  grid-template-columns:1.35fr .8fr;
  grid-template-rows:310px 310px;
  gap:22px
}
.journey-card {
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:310px;
  background:#102b3d;
  box-shadow:0 18px 55px rgba(12,40,58,.11);
  border:1px solid rgba(16,43,61,.08)
}
.journey-card-large {
  grid-row:1 / span 2;
  min-height:642px
}
.journey-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)
}
.journey-card-large img {
  object-position:center 42%
}
.journey-card:hover img {
  transform:scale(1.045)
}
.journey-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,20,31,.04) 22%,rgba(5,24,36,.82) 100%)
}
.journey-card-large .journey-overlay {
  background:linear-gradient(180deg,rgba(4,18,28,.03) 24%,rgba(5,25,38,.9) 100%)
}
.journey-content {
  position:absolute;
  left:34px;
  right:34px;
  bottom:32px;
  z-index:2;
  color:#fff;
  max-width:610px
}
.journey-content.compact {
  left:26px;
  right:26px;
  bottom:24px
}
.journey-content span {
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  color:#78e0ee;
  margin-bottom:10px
}
.journey-content h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:2.35rem;
  line-height:1.08;
  letter-spacing:-.045em;
  margin:0 0 12px;
  color:#fff
}
.journey-content.compact h3 {
  font-size:1.42rem;
  margin-bottom:8px
}
.journey-content p {
  margin:0;
  color:#d7e5eb;
  line-height:1.68;
  font-size:1rem;
  max-width:560px
}
.journey-content.compact p {
  font-size:.92rem;
  line-height:1.55
}
.journey-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  color:#fff;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.9rem;
  padding:12px 16px;
  border-radius:12px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(10px);
  transition:.25s
}
.journey-link:hover {
  color:#0b2637;
  background:#fff;
  transform:translateY(-2px)
}
@media(max-width:991.98px) {
  .journey-gallery {
    grid-template-columns:1fr 1fr;
    grid-template-rows:500px 300px
  }
  .journey-card-large {
    grid-column:1 / span 2;
    grid-row:auto;
    min-height:500px
  }
  .journey-content h3 {
    font-size:2.05rem
  }
}
@media(max-width:575.98px) {
  .journey-gallery {
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none
  }
  .journey-card,.journey-card-large {
    grid-column:auto;
    grid-row:auto;
    min-height:390px
  }
  .journey-card-large {
    min-height:470px
  }
  .journey-content,.journey-content.compact {
    left:22px;
    right:22px;
    bottom:22px
  }
  .journey-content h3,.journey-content.compact h3 {
    font-size:1.6rem
  }
  .journey-content p,.journey-content.compact p {
    font-size:.9rem
  }
}
/* ===== Inner Pages ===== */
.nav-link.active {
  color:#0f9fb5!important
}
.nav-link.active:after {
  transform:scaleX(1)!important
}
.inner-hero {
  padding:96px 0;
  background:linear-gradient(135deg,#fff 0%,#f7fbfc 55%,#eaf7f9 100%);
  position:relative;
  overflow:hidden
}
.inner-hero:before {
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  border-radius:50%;
  right:-160px;
  top:-180px;
  background:radial-gradient(circle,rgba(23,184,205,.15),transparent 68%)
}
.inner-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(3rem,5.4vw,5.6rem);
  line-height:.98;
  letter-spacing:-.06em;
  color:#0c2334;
  font-weight:800;
  max-width:820px
}
.inner-hero .lead {
  font-size:1.15rem;
  line-height:1.8;
  color:#627987;
  max-width:650px
}
.inner-hero-dark {
  background:radial-gradient(circle at 85% 15%,rgba(37,195,216,.18),transparent 28%),linear-gradient(135deg,#081f2e,#12394e);
  color:#fff
}
.inner-hero-dark h1 {
  color:#fff
}
.inner-hero-dark .lead {
  color:#c9dbe4
}
.inner-hero-dark:before {
  display:none
}
.inner-hero-image {
  position:relative;
  border-radius:30px;
  overflow:hidden;
  min-height:500px;
  box-shadow:0 32px 85px rgba(10,38,55,.16);
  border:1px solid rgba(15,55,75,.08)
}
.inner-hero-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%
}
.dark-frame {
  border:7px solid rgba(255,255,255,.08)
}
.image-frame {
  position:relative;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(12,40,58,.12);
  min-height:440px
}
.image-frame.tall {
  min-height:570px
}
.image-frame.landscape {
  min-height:460px
}
.image-frame img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.soft-blue {
  background:#f5f9fb
}
.value-tile {
  height:100%;
  padding:24px;
  border:1px solid #dce8ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(12,40,58,.04)
}
.value-tile i {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#e8f8fb;
  color:#0f9fb5;
  font-size:1.15rem;
  margin-bottom:16px
}
.value-tile strong,.value-tile span {
  display:block
}
.value-tile strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#122d40;
  margin-bottom:6px
}
.value-tile span {
  font-size:.9rem;
  line-height:1.55;
  color:#6b808c
}
.premium-info-card {
  height:100%;
  padding:30px 26px;
  border-radius:22px;
  background:#fff;
  border:1px solid #dce7ed;
  box-shadow:0 12px 35px rgba(13,45,64,.05)
}
.premium-info-card span {
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#102f42;
  color:#fff;
  font-weight:800;
  font-size:.78rem;
  margin-bottom:28px
}
.premium-info-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.3rem;
  color:#112d40
}
.premium-info-card p {
  color:#667e8b;
  line-height:1.7;
  margin:0
}
.service-detail-card {
  height:100%;
  padding:34px 30px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dce7ed;
  box-shadow:0 12px 36px rgba(13,45,64,.05);
  transition:.3s
}
.service-detail-card:hover {
  transform:translateY(-6px);
  box-shadow:0 25px 65px rgba(13,45,64,.12)
}
.service-detail-card.featured {
  background:linear-gradient(145deg,#0f2a3d,#164459);
  color:#fff;
  border-color:#194a60
}
.service-detail-card.featured p,.service-detail-card.featured li {
  color:#cfe0e8
}
.service-detail-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.35rem;
  letter-spacing:-.03em
}
.service-detail-card p {
  color:#667e8b;
  line-height:1.75
}
.service-detail-card ul {
  padding-left:1.1rem;
  margin:1.2rem 0 0
}
.service-detail-card li {
  color:#607783;
  margin:.55rem 0
}
.process-timeline {
  display:grid;
  gap:30px
}
.timeline-item {
  display:grid;
  grid-template-columns:78px 1fr 360px;
  gap:34px;
  align-items:center;
  padding:34px;
  border:1px solid #dce7ed;
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 45px rgba(12,40,58,.05)
}
.timeline-no {
  width:62px;
  height:62px;
  border-radius:20px;
  background:linear-gradient(135deg,#11a7bd,#0e6f86);
  color:#fff;
  display:grid;
  place-items:center;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800
}
.timeline-copy>span {
  font-size:.76rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0f9fb5;
  font-weight:800
}
.timeline-copy h2 {
  font-size:2rem!important;
  margin:.55rem 0 1rem
}
.timeline-copy p {
  color:#667e8b;
  line-height:1.75;
  margin:0
}
.timeline-image {
  height:230px;
  border-radius:20px;
  overflow:hidden
}
.timeline-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.results-page-dashboard {
  box-shadow:0 30px 80px rgba(0,0,0,.25)
}
.metric-feature {
  height:100%;
  padding:28px;
  border-radius:22px;
  border:1px solid #dce7ed;
  background:#fff
}
.metric-feature i {
  font-size:1.35rem;
  color:#0f9fb5
}
.metric-feature h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.25rem;
  margin:18px 0 10px
}
.metric-feature p {
  margin:0;
  color:#687f8c;
  line-height:1.65
}
.notice-card {
  display:flex;
  gap:16px;
  padding:20px 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dbe7ed
}
.notice-card i {
  color:#0f9fb5;
  font-size:1.35rem
}
.notice-card strong,.notice-card span {
  display:block
}
.notice-card span {
  color:#6d8290;
  font-size:.92rem;
  margin-top:5px;
  line-height:1.6
}
.contact-hero {
  padding-bottom:115px
}
.contact-proof {
  display:grid;
  gap:12px
}
.contact-proof div {
  display:flex;
  align-items:center;
  gap:10px;
  color:#4d6775
}
.contact-proof i {
  color:#0fa3b9
}
.contact-image-card {
  position:relative;
  min-height:520px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(12,40,58,.16)
}
.contact-image-card>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 36%
}
.contact-image-note {
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  padding:18px 20px;
  border-radius:16px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(10px)
}
.contact-image-note small,.contact-image-note strong {
  display:block
}
.contact-image-note small {
  color:#6f8795
}
.contact-image-note strong {
  color:#112c3f;
  margin-top:4px
}
.contact-form-card {
  padding:40px;
  border-radius:28px;
  background:#fff;
  border:1px solid #dce7ed;
  box-shadow:0 18px 55px rgba(12,40,58,.07)
}
.contact-form-card h2 {
  font-size:2.4rem!important
}
.form-label {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.82rem;
  font-weight:700;
  color:#29495a
}
.form-control,.form-select {
  min-height:54px;
  border-radius:14px;
  border:1px solid #d7e3e9;
  padding:.85rem 1rem;
  box-shadow:none!important
}
.form-control:focus,.form-select:focus {
  border-color:#63cbd9
}
.form-note {
  display:block;
  margin-top:12px;
  color:#8195a1
}
.contact-aside {
  position:sticky;
  top:130px;
  padding:32px 28px;
  border-radius:26px;
  background:linear-gradient(145deg,#0f2a3d,#15384d);
  color:#fff
}
.contact-aside-icon {
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.1);
  color:#7ee5ef;
  font-size:1.3rem;
  margin-bottom:22px
}
.contact-aside h3 {
  font-family:'Plus Jakarta Sans',sans-serif
}
.contact-aside p {
  color:#c7d9e2;
  line-height:1.75
}
.contact-aside hr {
  border-color:rgba(255,255,255,.15)
}
.contact-aside a {
  display:block;
  color:#8ae6f1;
  margin-top:8px
}
.legal-hero {
  padding:88px 0 64px;
  background:linear-gradient(135deg,#f8fbfc,#edf7f9)
}
.legal-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2.8rem,5vw,4.8rem);
  letter-spacing:-.055em;
  color:#0f2b3d;
  font-weight:800
}
.legal-hero p {
  font-size:1.1rem;
  color:#69808c
}
.legal-content {
  padding:72px 0 110px
}
.legal-nav {
  position:sticky;
  top:125px;
  display:grid;
  gap:8px;
  padding:22px;
  border:1px solid #dce7ed;
  border-radius:18px;
  background:#fff
}
.legal-nav strong {
  font-family:'Plus Jakarta Sans',sans-serif;
  margin-bottom:8px
}
.legal-nav a {
  color:#617987;
  padding:7px 0
}
.legal-card {
  max-width:850px
}
.legal-card h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.55rem!important;
  margin:2.3rem 0 .8rem;
  color:#153247
}
.legal-card p {
  color:#5f7683;
  line-height:1.85
}
.legal-updated {
  font-size:.88rem!important;
  color:#8aa0ab!important
}
.legal-note {
  display:flex;
  gap:14px;
  margin-top:34px;
  padding:20px 22px;
  border-radius:16px;
  background:#eef8fa;
  border:1px solid #d2eaef
}
.legal-note i {
  color:#0f9fb5;
  font-size:1.2rem
}
.legal-note p {
  margin:0!important;
  font-size:.92rem
}
@media(max-width:991.98px) {
  .inner-hero {
    padding:72px 0
  }
  .inner-hero-image {
    min-height:430px
  }
  .timeline-item {
    grid-template-columns:60px 1fr
  }
  .timeline-image {
    grid-column:2;
    height:280px
  }
  .contact-aside {
    position:static
  }
  .legal-nav {
    position:static
  }
  .image-frame.tall {
    min-height:500px
  }
}
@media(max-width:575.98px) {
  .inner-hero {
    padding:56px 0
  }
  .inner-hero h1 {
    font-size:2.65rem
  }
  .inner-hero-image {
    min-height:340px;
    border-radius:22px
  }
  .image-frame,.image-frame.tall,.image-frame.landscape {
    min-height:360px
  }
  .timeline-item {
    grid-template-columns:1fr;
    padding:24px
  }
  .timeline-no {
    width:52px;
    height:52px
  }
  .timeline-image {
    grid-column:1;
    height:220px
  }
  .timeline-copy h2 {
    font-size:1.55rem!important
  }
  .contact-image-card {
    min-height:390px
  }
  .contact-form-card {
    padding:28px 20px
  }
  .contact-form-card h2 {
    font-size:2rem!important
  }
  .legal-content {
    padding:50px 0 80px
  }
}
/* Unified dark inner-page hero treatment */
.inner-hero-dark, .legal-hero-dark {
  background:radial-gradient(circle at 85% 15%,rgba(37,195,216,.18),transparent 28%),linear-gradient(135deg,#081f2e 0%,#0c2b3d 52%,#154b60 100%)!important;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.inner-hero-dark:after, .legal-hero-dark:after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.018),transparent 42%,rgba(47,201,222,.04));
}
.inner-hero-dark .container, .legal-hero-dark .container {
  position:relative;
  z-index:1
}
.inner-hero-dark h1, .legal-hero-dark h1 {
  color:#fff!important
}
.inner-hero-dark .lead, .legal-hero-dark p {
  color:#c9dbe4
}
.inner-hero-dark .eyebrow.light, .legal-hero-dark .eyebrow.light {
  color:#76dce9
}
.inner-hero-dark .dark-frame, .inner-hero-dark .inner-hero-image, .contact-hero .contact-image-card {
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.24)!important;
}
.btn-outline-light-premium {
  min-height:58px;
  padding:.95rem 1.35rem;
  border:1px solid rgba(255,255,255,.34);
  border-radius:16px;
  color:#fff;
  background:rgba(255,255,255,.06);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn-outline-light-premium:hover {
  background:#fff;
  color:#0f2b3e;
  border-color:#fff;
  transform:translateY(-2px)
}
.legal-hero {
  padding:86px 0
}
.legal-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:800;
  margin-bottom:1rem
}
.legal-hero p {
  font-size:1.08rem;
  line-height:1.75;
  max-width:700px;
  margin:0
}
@media(max-width:575.98px) {
  .legal-hero {
    padding:58px 0
  }
  .legal-hero h1 {
    font-size:2.65rem
  }
}
/* Premium layered inner-page hero background v2 */
.inner-hero-dark, .legal-hero-dark {
  background:     radial-gradient(circle at 78% 18%,rgba(45,210,230,.20) 0,rgba(45,210,230,.08) 18%,transparent 38%),     radial-gradient(circle at 12% 88%,rgba(11,111,142,.24) 0,transparent 35%),     linear-gradient(122deg,#071b29 0%,#0a2738 42%,#0e3447 72%,#123f53 100%)!important;
  isolation:isolate;
  border-bottom:1px solid rgba(92,220,236,.10);
}
.inner-hero-dark:before, .legal-hero-dark:before {
  content:""!important;
  display:block!important;
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.58;
  background-image:     linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),     linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 42%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 42%,#000 100%);
}
.inner-hero-dark:after, .legal-hero-dark:after {
  content:"";
  position:absolute;
  inset:-25% -8%;
  pointer-events:none;
  z-index:0;
  background:     radial-gradient(ellipse at 82% 18%,rgba(90,226,241,.11),transparent 28%),     linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.035) 49%,transparent 50% 100%);
  transform:rotate(-2deg);
}
.inner-hero-dark .container, .legal-hero-dark .container {
  position:relative;
  z-index:2
}
.inner-hero-dark .container:after, .legal-hero-dark .container:after {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  bottom:-170px;
  border:1px solid rgba(94,220,235,.16);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(64,200,219,.025),0 0 0 116px rgba(64,200,219,.018);
  pointer-events:none;
  z-index:-1;
}
.inner-hero-dark .eyebrow.light, .legal-hero-dark .eyebrow.light {
  color:#71e2ef;
  text-shadow:0 0 24px rgba(75,211,228,.14);
}
.inner-hero-dark h1, .legal-hero-dark h1 {
  text-shadow:0 8px 32px rgba(0,0,0,.16);
}
.inner-hero-dark .inner-hero-image, .inner-hero-dark .dark-frame, .contact-hero .contact-image-card {
  border:1px solid rgba(119,225,238,.18)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.30),0 0 0 8px rgba(255,255,255,.025)!important;
}
.inner-hero-dark .inner-hero-image:after, .contact-hero .contact-image-card:after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(91,220,235,.08),transparent 36%,rgba(2,17,27,.12));
}
.inner-hero-dark .btn-light, .legal-hero-dark .btn-light {
  box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.65) inset;
}
.inner-hero-dark .btn-light:hover, .legal-hero-dark .btn-light:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.24)
}
@media(max-width:991.98px) {
  .inner-hero-dark:before,.legal-hero-dark:before {
    background-size:44px 44px;
    opacity:.42
  }
  .inner-hero-dark .container:after,.legal-hero-dark .container:after {
    right:-150px;
    bottom:-190px
  }
}
@media(max-width:575.98px) {
  .inner-hero-dark,.legal-hero-dark {
    background:radial-gradient(circle at 88% 10%,rgba(45,210,230,.18),transparent 34%),linear-gradient(145deg,#071b29,#0c3143 70%,#123e51 100%)!important
  }
  .inner-hero-dark:before,.legal-hero-dark:before {
    opacity:.3;
    background-size:36px 36px
  }
}
/* Premium inner-page hero background v3 */
.inner-hero-dark, .legal-hero-dark {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:     radial-gradient(circle at 12% 18%,rgba(42,202,224,.12),transparent 22%),     radial-gradient(circle at 82% 20%,rgba(48,190,218,.22),transparent 26%),     radial-gradient(circle at 72% 88%,rgba(24,124,164,.18),transparent 30%),     linear-gradient(118deg,#061826 0%,#0a2536 38%,#0e3448 68%,#123e52 100%)!important;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.inner-hero-dark:before, .legal-hero-dark:before {
  content:"";
  display:block!important;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.72;
  background-image:     linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),     linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),     linear-gradient(125deg,transparent 0 62%,rgba(93,220,236,.055) 62% 62.15%,transparent 62.15% 100%);
  background-size:72px 72px,72px 72px,100% 100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 88%,transparent 100%);
}
.inner-hero-dark:after, .legal-hero-dark:after {
  content:"";
  position:absolute;
  width:760px;
  height:760px;
  right:-300px;
  top:-360px;
  border-radius:50%;
  z-index:0;
  pointer-events:none;
  background:     radial-gradient(circle at center,rgba(87,221,237,.12) 0 24%,transparent 24.5%),     radial-gradient(circle at center,transparent 0 40%,rgba(108,221,235,.08) 40.5% 40.8%,transparent 41.2%),     radial-gradient(circle at center,transparent 0 58%,rgba(108,221,235,.055) 58.3% 58.6%,transparent 59%);
  filter:drop-shadow(0 0 60px rgba(28,177,199,.08));
}
.inner-hero-dark .container, .legal-hero-dark .container {
  position:relative;
  z-index:2;
}
.inner-hero-dark .container:before, .legal-hero-dark .container:before {
  content:"";
  position:absolute;
  left:-180px;
  bottom:-220px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(26,193,216,.11),transparent 66%);
  filter:blur(4px);
  pointer-events:none;
  z-index:-1;
}
.inner-hero-dark .container:after, .legal-hero-dark .container:after {
  content:"";
  position:absolute;
  right:2%;
  bottom:-46px;
  width:44%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(92,221,236,.65),transparent);
  box-shadow:0 -36px 100px rgba(47,193,212,.1);
  pointer-events:none;
}
.inner-hero-dark .eyebrow.light, .legal-hero-dark .eyebrow.light {
  color:#7fe2ee!important;
  text-shadow:0 0 22px rgba(71,211,229,.12);
}
.inner-hero-dark h1, .legal-hero-dark h1 {
  color:#fff!important;
  text-shadow:0 8px 34px rgba(0,0,0,.18);
}
.inner-hero-dark .lead, .legal-hero-dark p {
  color:#c8dbe5!important;
}
.inner-hero-dark .inner-hero-image, .inner-hero-dark .dark-frame, .contact-hero .contact-image-card {
  border:1px solid rgba(141,226,238,.16)!important;
  box-shadow:     0 34px 95px rgba(0,10,18,.34),     0 0 0 1px rgba(255,255,255,.035) inset,     0 0 60px rgba(45,181,204,.08)!important;
}
.inner-hero-dark .inner-hero-image:before, .contact-hero .contact-image-card:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 24%,transparent 72%,rgba(51,198,219,.05));
}
.inner-hero-dark .inner-hero-image:after, .contact-hero .contact-image-card:after {
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  pointer-events:none;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
}
.inner-hero-dark .btn-light, .legal-hero-dark .btn-light {
  background:linear-gradient(180deg,#fff,#eef8fa)!important;
  color:#0d2a3c!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 0 1px rgba(90,219,235,.12) inset!important;
}
.inner-hero-dark .btn-light:hover, .legal-hero-dark .btn-light:hover {
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(0,0,0,.26),0 0 28px rgba(57,203,222,.12)!important;
}
@media(max-width:991.98px) {
  .inner-hero-dark:before,.legal-hero-dark:before {
    background-size:58px 58px,58px 58px,100% 100%;
    opacity:.5
  }
  .inner-hero-dark:after,.legal-hero-dark:after {
    width:560px;
    height:560px;
    right:-250px;
    top:-280px
  }
  .inner-hero-dark .container:after,.legal-hero-dark .container:after {
    right:5%;
    width:55%
  }
}
@media(max-width:575.98px) {
  .inner-hero-dark,.legal-hero-dark {
    background:       radial-gradient(circle at 88% 8%,rgba(42,201,223,.16),transparent 30%),       linear-gradient(145deg,#071a28 0%,#0a2939 70%,#10394c 100%)!important;
  }
  .inner-hero-dark:before,.legal-hero-dark:before {
    opacity:.28;
    background-size:42px 42px,42px 42px,100% 100%
  }
  .inner-hero-dark:after,.legal-hero-dark:after {
    width:430px;
    height:430px;
    right:-255px;
    top:-210px
  }
  .inner-hero-dark .container:before,.legal-hero-dark .container:before {
    width:360px;
    height:360px;
    left:-190px;
    bottom:-160px
  }
  .inner-hero-dark .container:after,.legal-hero-dark .container:after {
    display:none
  }
}
/* premium dark home hero */
.hero-home-premium {
  position:relative;
  background:     radial-gradient(circle at 82% 16%, rgba(41, 215, 235, .18) 0%, rgba(41,215,235,0) 28%),     radial-gradient(circle at 18% 88%, rgba(24, 138, 173, .20) 0%, rgba(24,138,173,0) 30%),     linear-gradient(135deg, #061826 0%, #0a2637 40%, #0e3346 72%, #14455a 100%) !important;
}
.hero-home-premium:before {
  content:"";
  position:absolute;
  inset:0;
  background:     linear-gradient(rgba(118,220,233,.08) 1px, transparent 1px),     linear-gradient(90deg, rgba(118,220,233,.08) 1px, transparent 1px),     linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  background-size: 48px 48px, 48px 48px, 100% 100%;
  opacity:.34;
  pointer-events:none;
}
.hero-home-premium:after {
  content:"";
  position:absolute;
  width:720px;
  height:720px;
  right:-290px;
  top:-260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(53,221,239,.18), rgba(53,221,239,0) 64%);
  filter:blur(8px);
  pointer-events:none;
}
.hero-home-premium .container {
  position:relative;
  z-index:2
}
.hero-home-premium .container:before {
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  left:-220px;
  bottom:-170px;
  border-radius:50%;
  border:1px solid rgba(117,219,232,.14);
  box-shadow:0 0 0 26px rgba(117,219,232,.04), 0 0 0 56px rgba(117,219,232,.025);
  pointer-events:none;
}
.hero-home-premium .container:after {
  content:"";
  position:absolute;
  right:0;
  bottom:7%;
  width:56%;
  height:2px;
  background:linear-gradient(90deg, rgba(95,221,238,0), rgba(95,221,238,.48), rgba(95,221,238,0));
  box-shadow:0 0 26px rgba(41,215,235,.22);
  pointer-events:none;
}
.hero-home-premium .eyebrow {
  color:#87e7f2
}
.hero-home-premium .pulse-dot {
  background:#23cde2;
  box-shadow:0 0 0 7px rgba(35,205,226,.14)
}
.hero-home-premium .display-title {
  color:#fff;
  text-shadow:0 10px 34px rgba(0,0,0,.15)
}
.hero-home-premium .display-title span {
  background:linear-gradient(90deg,#6debf6,#1fc9e0);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent
}
.hero-home-premium .hero-copy .lead {
  color:#c8dae4 !important
}
.hero-home-premium .hero-trust strong {
  color:#fff
}
.hero-home-premium .hero-trust span {
  color:#9eb8c5
}
.hero-home-premium .hero-trust>div {
  padding-right:1rem
}
.hero-home-premium .btn-brand {
  background:linear-gradient(135deg,#1cc6db,#11a8be);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(23,178,199,.28);
}
.hero-home-premium .btn-brand:hover {
  background:linear-gradient(135deg,#2bd5e9,#12afc5);
  border-color:transparent;
  box-shadow:0 18px 40px rgba(23,178,199,.34)
}
.hero-home-premium .btn-outline-premium {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(190,234,241,.28);
  color:#fff;
  backdrop-filter:blur(10px);
}
.hero-home-premium .btn-outline-premium:hover {
  background:#fff;
  color:#0d2a3b;
  border-color:#fff
}
.hero-home-premium .hero-image-wrap {
  background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(149,220,232,.16);
  box-shadow:0 34px 90px rgba(2,14,24,.38), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:visible;
}
.hero-home-premium .hero-image-wrap:before {
  content:"";
  position:absolute;
  inset:14px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
  z-index:1;
}
.hero-home-premium .hero-image {
  border-radius:34px
}
.hero-home-premium .image-shade {
  border-radius:34px;
  background:linear-gradient(180deg, rgba(6,24,38,.04) 20%, rgba(7,28,42,.68) 100%)
}
.hero-home-premium .hero-side-photo {
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 24px 64px rgba(5,18,29,.35);
}
.hero-home-premium .hero-floating-card {
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.80);
  box-shadow:0 22px 56px rgba(5,18,29,.30);
}
.hero-home-premium .icon-circle {
  background:#e9fbfd;
  color:#0c8ea5
}
.hero-home-premium .orb-one {
  width:520px;
  height:520px;
  right:-180px;
  top:-150px;
  background:radial-gradient(circle, rgba(57,229,247,.18), rgba(57,229,247,0) 68%);
  filter:blur(4px);
  opacity:1;
}
.hero-home-premium .orb-two {
  width:300px;
  height:300px;
  left:-120px;
  bottom:-120px;
  background:radial-gradient(circle, rgba(33,154,185,.16), rgba(33,154,185,0) 68%);
  filter:blur(4px);
  opacity:1;
}
@media(max-width:991.98px) {
  .hero-home-premium:before {
    background-size:40px 40px,40px 40px,100% 100%;
    opacity:.28
  }
  .hero-home-premium:after {
    width:500px;
    height:500px;
    right:-220px;
    top:-170px
  }
  .hero-home-premium .container:before {
    width:320px;
    height:320px;
    left:-160px;
    bottom:-120px
  }
  .hero-home-premium .container:after {
    display:none
  }
}
@media(max-width:575.98px) {
  .hero-home-premium {
    background:radial-gradient(circle at 88% 8%, rgba(41,215,235,.14), transparent 30%), linear-gradient(145deg,#071a28,#0b2b3c 68%,#133d50 100%) !important
  }
  .hero-home-premium:before {
    background-size:34px 34px,34px 34px,100% 100%;
    opacity:.18
  }
  .hero-home-premium:after {
    width:360px;
    height:360px;
    right:-200px;
    top:-120px
  }
  .hero-home-premium .display-title {
    font-size:2.68rem
  }
  .hero-home-premium .hero-image-wrap {
    box-shadow:0 26px 70px rgba(2,14,24,.34)
  }
}
/* Contact hero refinement */
.contact-hero {
  padding:92px 0 104px;
}
.contact-hero .row {
  --bs-gutter-x:4.5rem;
}
.contact-hero h1 {
  font-size:clamp(3rem,4.25vw,4.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:650px;
  margin-bottom:1.25rem;
}
.contact-hero .lead {
  max-width:610px;
  font-size:1.08rem!important;
  line-height:1.75!important;
  color:#c6d9e3!important;
}
.contact-hero .contact-proof {
  gap:10px;
  margin-top:1.65rem!important;
  max-width:560px;
}
.contact-hero .contact-proof div {
  width:max-content;
  max-width:100%;
  padding:10px 14px;
  border:1px solid rgba(129,220,233,.12);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:#b8ced9;
  backdrop-filter:blur(8px);
}
.contact-hero .contact-proof i {
  color:#42d0e2;
  font-size:1rem;
}
.contact-hero .contact-proof span {
  color:#c0d4de;
  font-size:.96rem;
}
.contact-hero .contact-image-card {
  min-height:500px;
  border-radius:30px;
}
.contact-hero .contact-image-card>img {
  object-position:center 42%;
}
.contact-hero .contact-image-note {
  left:22px;
  right:22px;
  bottom:22px;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 16px 38px rgba(5,21,32,.18);
}
@media(max-width:1199.98px) {
  .contact-hero h1 {
    font-size:3.9rem!important;
    max-width:600px
  }
  .contact-hero .row {
    --bs-gutter-x:3rem
  }
}
@media(max-width:991.98px) {
  .contact-hero {
    padding:76px 0 82px
  }
  .contact-hero h1 {
    font-size:3.35rem!important;
    max-width:680px
  }
  .contact-hero .lead {
    max-width:680px
  }
  .contact-hero .contact-image-card {
    min-height:430px;
    margin-top:6px
  }
}
@media(max-width:767.98px) {
  .contact-hero h1 {
    font-size:2.85rem!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important
  }
  .contact-hero .lead {
    font-size:1rem!important
  }
  .contact-hero .contact-proof div {
    width:100%
  }
}
@media(max-width:575.98px) {
  .contact-hero {
    padding:56px 0 64px
  }
  .contact-hero h1 {
    font-size:2.42rem!important;
    line-height:1.04!important;
    margin-bottom:1rem
  }
  .contact-hero .contact-proof {
    margin-top:1.25rem!important
  }
  .contact-hero .contact-proof div {
    padding:9px 11px
  }
  .contact-hero .contact-proof span {
    font-size:.9rem
  }
  .contact-hero .contact-image-card {
    min-height:340px;
    border-radius:22px
  }
}
/* inner hero refinements for about/services/process/results */
.about-hero, .services-hero, .process-hero, .results-hero {
  padding:82px 0 88px
}
.about-hero .row, .services-hero .row, .process-hero .row, .results-hero .row {
  --bs-gutter-x:3.2rem;
  align-items:center!important
}
.about-hero h1, .services-hero h1, .process-hero h1, .results-hero h1 {
  font-size:clamp(3.2rem,4.35vw,4.75rem)!important;
  line-height:1.01!important;
  letter-spacing:-.055em!important;
  max-width:640px;
  margin-bottom:1rem;
}
.about-hero .lead, .services-hero .lead, .process-hero .lead, .results-hero .lead {
  max-width:640px;
  font-size:1.08rem!important;
  line-height:1.72!important
}
.about-hero .btn, .services-hero .btn, .process-hero .btn, .results-hero .btn {
  margin-top:.45rem
}
.about-hero .inner-hero-image, .services-hero .inner-hero-image, .process-hero .inner-hero-image {
  min-height:450px;
  max-width:560px;
  margin-left:auto
}
.about-hero .inner-hero-image img {
  object-position:center 28%
}
.services-hero .inner-hero-image img {
  object-position:center 34%
}
.process-hero .inner-hero-image img {
  object-position:center 30%
}
.results-hero .results-page-dashboard {
  max-width:560px;
  margin-left:auto;
  padding:30px;
  border-radius:24px
}
.results-hero .dash-head strong {
  font-size:1.15rem
}
.results-hero .metric {
  padding:18px
}
.results-hero .chart-box {
  padding:18px
}
.results-hero .bars {
  height:160px
}
@media(max-width:1199.98px) {
  .about-hero h1,.services-hero h1,.process-hero h1,.results-hero h1 {
    font-size:4rem!important;
    max-width:600px
  }
  .about-hero .inner-hero-image,.services-hero .inner-hero-image,.process-hero .inner-hero-image {
    min-height:420px
  }
}
@media(max-width:991.98px) {
  .about-hero,.services-hero,.process-hero,.results-hero {
    padding:74px 0 80px
  }
  .about-hero .row,.services-hero .row,.process-hero .row,.results-hero .row {
    --bs-gutter-x:2.5rem
  }
  .about-hero h1,.services-hero h1,.process-hero h1,.results-hero h1 {
    font-size:3.35rem!important;
    max-width:680px
  }
  .about-hero .lead,.services-hero .lead,.process-hero .lead,.results-hero .lead {
    max-width:690px
  }
  .about-hero .inner-hero-image,.services-hero .inner-hero-image,.process-hero .inner-hero-image,   .results-hero .results-page-dashboard {
    max-width:none;
    margin-left:0
  }
}
@media(max-width:767.98px) {
  .about-hero h1,.services-hero h1,.process-hero h1,.results-hero h1 {
    font-size:2.95rem!important;
    line-height:1.03!important;
    max-width:100%
  }
  .about-hero .lead,.services-hero .lead,.process-hero .lead,.results-hero .lead {
    font-size:1rem!important
  }
}
@media(max-width:575.98px) {
  .about-hero,.services-hero,.process-hero,.results-hero {
    padding:56px 0 64px
  }
  .about-hero h1,.services-hero h1,.process-hero h1,.results-hero h1 {
    font-size:2.42rem!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    margin-bottom:1rem
  }
  .about-hero .inner-hero-image,.services-hero .inner-hero-image,.process-hero .inner-hero-image {
    min-height:340px;
    border-radius:22px
  }
  .results-hero .results-page-dashboard {
    padding:22px;
    border-radius:22px
  }
  .results-hero .bars {
    height:138px
  }
}
/* Keep showcase photos fully framed while scrolling.
   A scale transform on the same element as overflow:hidden was clipping the image bottoms. */
.visual-tile {
  overflow:hidden;
  transform:none !important;
  will-change:auto !important;
}
.visual-tile img {
  height:100%;
  object-fit:cover;
}
/* Responsive layout across phone, tablet, and desktop */
img,svg,video {
  max-width:100%
}
.site-logo,.footer-logo {
  max-width:100%;
  height:auto
}
h1,h2,h3,.display-title,.showcase-title,.lead {
  overflow-wrap:break-word
}
.hero-visual,.hero-image-wrap,.media-stack,.case-collage,.visual-grid,.journey-gallery {
  max-width:100%
}
@media(max-width:1399.98px) {
  .hero-home-premium .stat-card {
    left:16px
  }
  .hero-home-premium .proof-card {
    right:16px
  }
  .hero-home-premium .hero-side-photo {
    right:16px;
    width:180px
  }
}
@media(max-width:1199.98px) {
  .navbar-collapse {
    background:#fff;
    border:1px solid #e1ebef;
    border-radius:18px;
    margin-top:12px;
    padding:14px 16px 16px;
    box-shadow:0 16px 40px rgba(12,40,58,.08)
  }
  .navbar-collapse .nav-link {
    padding:.7rem .4rem!important
  }
  .navbar-collapse .nav-link:after {
    display:none
  }
  .navbar-collapse .btn-brand {
    width:100%;
    margin-top:.35rem
  }
  .hero-home-premium .hero-side-photo {
    display:none
  }
  .display-title {
    font-size:clamp(2.7rem,4.4vw,4.1rem)!important
  }
  .min-vh-80 {
    min-height:0
  }
}
@media(max-width:991.98px) {
  .visual-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:none
  }
  .visual-tile,.visual-tile.tile-tall,.visual-tile.tile-wide {
    grid-column:auto;
    grid-row:auto;
    height:280px;
    min-height:0
  }
  .visual-tile.tile-tall,.visual-tile.tile-wide {
    grid-column:1 / -1;
    height:360px
  }
  .media-stack {
    padding:0 0 20px
  }
  .media-stack img {
    height:460px
  }
  .media-badge {
    left:16px;
    right:16px;
    bottom:8px
  }
  .case-collage {
    min-height:0;
    padding:0 8px 28px 0
  }
  .case-main {
    height:460px
  }
  .case-label {
    left:16px;
    right:150px;
    bottom:12px
  }
  .service-card {
    padding:28px 24px
  }
  .results-intro,.dashboard-card {
    padding:28px
  }
  .cta-panel {
    padding:42px 28px
  }
  .cta-panel .btn,.results-intro .btn {
    width:100%
  }
  .journey-content,.journey-content.compact {
    left:22px;
    right:22px
  }
  .timeline-item {
    grid-template-columns:64px 1fr;
    gap:20px;
    padding:24px
  }
  .timeline-image {
    grid-column:1 / -1;
    height:240px
  }
}
@media(max-width:767.98px) {
  .hero-copy .btn {
    width:100%
  }
  .hero-trust {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important
  }
  .hero-trust>div,.hero-trust>div+div {
    border-left:0!important;
    padding:0!important
  }
  .hero-image-wrap,.hero-image {
    min-height:380px
  }
  .visual-grid {
    grid-template-columns:1fr
  }
  .visual-tile,.visual-tile.tile-tall,.visual-tile.tile-wide {
    grid-column:auto;
    height:280px
  }
  .visual-tile.tile-tall {
    height:380px
  }
  .journey-gallery {
    grid-template-columns:1fr;
    grid-template-rows:none
  }
  .journey-card,.journey-card-large {
    grid-column:auto;
    grid-row:auto;
    min-height:380px
  }
  .journey-card-large {
    min-height:440px
  }
  .section-pad {
    padding:76px 0
  }
  .section-pad-sm {
    padding:60px 0
  }
  .process-card {
    padding:26px 22px
  }
  .case-main {
    height:380px
  }
  .case-small {
    width:128px;
    height:104px
  }
  .case-label {
    left:14px;
    right:146px
  }
  .media-stack img {
    height:380px
  }
  .footer .row {
    --bs-gutter-y:2rem
  }
}
@media(max-width:575.98px) {
  .container {
    padding-left:16px;
    padding-right:16px
  }
  .display-title {
    font-size:clamp(1.95rem,8.6vw,2.4rem)!important;
    line-height:1.02!important
  }
  .section-heading h2,.section-pad h2,.showcase-title {
    font-size:clamp(1.7rem,7vw,2.1rem)!important
  }
  .results-intro h2,.cta-panel h2 {
    font-size:clamp(1.7rem,7vw,2.15rem)!important
  }
  .hero-image-wrap,.hero-image {
    min-height:320px;
    border-radius:24px
  }
  .hero-home-premium .stat-card,.hero-home-premium .proof-card {
    left:12px;
    right:12px;
    width:auto
  }
  .hero-home-premium .proof-card {
    top:12px
  }
  .hero-home-premium .stat-card {
    bottom:12px
  }
  .visual-tile figcaption {
    left:16px;
    right:16px;
    bottom:16px
  }
  .visual-tile figcaption strong {
    font-size:1.02rem
  }
  .service-card {
    padding:24px 20px
  }
  .cta-panel {
    padding:32px 18px;
    border-radius:22px
  }
  .results-intro,.dashboard-card {
    padding:22px 18px
  }
  .dashboard-card .metric {
    padding:14px
  }
  .bars {
    height:140px;
    gap:6px
  }
  .footer-logo-plate {
    display:inline-flex;
    max-width:100%
  }
  .footer-logo {
    width:min(210px,100%)
  }
  .case-label {
    left:12px;
    right:124px;
    padding:12px 14px
  }
  .contact-form-card,.contact-image-card {
    border-radius:22px
  }
  .inner-hero h1,.about-hero h1,.services-hero h1,.process-hero h1,.results-hero h1,.contact-hero h1 {
    font-size:clamp(1.95rem,8.4vw,2.4rem)!important
  }
}
@media(max-width:389.98px) {
  .site-logo {
    width:136px
  }
  .eyebrow {
    letter-spacing:.1em;
    font-size:.62rem
  }
  .hero-trust strong {
    font-size:.8rem
  }
  .hero-trust span {
    font-size:.7rem
  }
  .case-small {
    width:108px;
    height:88px
  }
  .case-label {
    padding:12px 14px
  }
  .case-label strong {
    font-size:.92rem
  }
}
