.header {
  top: 0;
  padding-top: 18px;
  background: transparent;
  box-shadow: none;
}
.header .nav {
  height: 82px;
  padding: 0 14px 0 18px;
  border: 1px solid rgba(7,54,94,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 55px rgba(7,37,62,.10);
  backdrop-filter: blur(18px);
}
.header .logo { position: relative; padding-right: 26px; }
.header .logo::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  bottom: 20%;
  width: 1px;
  background: linear-gradient(transparent,rgba(127,42,144,.35),transparent);
}
.header .nav nav > a,
.header .nav-trigger { color: var(--navy); letter-spacing: -.01em; }
.header .nav nav > a:hover,
.header .nav-trigger:hover,
.header .nav nav > a.active { color: var(--purple); }
.header .nav nav > a.active { position: relative; }
.header .nav nav > a.active::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 18px;
  height: 2px;
  border-radius: 3px;
  background: var(--yellow);
}
.header .search-toggle {
  border: 1px solid #dce5eb;
  border-radius: 50%;
  background: #f7f9fa;
}
.header .search-toggle span { border-color: var(--navy); }
.header .search-toggle span::after { background: var(--navy); }
.header .contact-nav {
  min-width: 124px;
  border-radius: 999px;
  background: var(--navy);
  color: white;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.header .contact-nav::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--yellow);
}
.header .menu-btn { color: var(--navy); }

/* Luxury first-screen treatment: deep lacquered navy, warm gold and editorial type. */
.hero.hero-v2 {
  color: #f7f2e8;
  background:
    radial-gradient(circle at 76% 32%, rgba(127,42,144,.30), transparent 30%),
    radial-gradient(circle at 20% 78%, rgba(255,204,5,.09), transparent 26%),
    linear-gradient(128deg,#031b2d 0%,#07365e 58%,#151b42 100%);
}
.hero-v2-noise {
  opacity: .24;
  background-image: radial-gradient(rgba(255,255,255,.22) .65px,transparent .65px);
  mask-image: linear-gradient(90deg,#000,transparent 72%);
}
.hero-v2-copy { padding-top: 52px; }
.hero-v2-label > span {
  border: 1px solid rgba(255,204,5,.55);
  background: rgba(255,204,5,.08);
  color: var(--yellow);
  box-shadow: inset 0 0 25px rgba(255,204,5,.05);
}
.hero-v2-label p { color: #d7bfcf; }
.hero-v2 h1 {
  color: #fffdf8;
  font-family: "Playfair Display",Georgia,serif;
  font-weight: 500;
  letter-spacing: -.048em;
  line-height: .94;
}
.hero-v2 h1 em {
  margin-top: 18px;
  color: var(--yellow);
  font-family: Sora,sans-serif;
  font-size: .48em;
  font-weight: 500;
  letter-spacing: -.045em;
}
.hero-v2-summary { border-left: 1px solid rgba(255,204,5,.34); }
.hero-v2-summary > p { color: #bdcbd5; }
.hero-v2-link { color: #f8f4ed; }
.hero-v2 .btn-primary {
  border-radius: 999px;
  box-shadow: 0 15px 34px rgba(0,0,0,.22);
}
.hero-v2-system {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 160px 28px 0 0;
  background:
    linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),
    linear-gradient(145deg,#0b426b,#351b54 82%);
  box-shadow: 0 45px 100px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.12);
}
.hero-v2-system::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,204,5,.18);
  border-radius: 140px 18px 0 0;
  pointer-events: none;
}
.system-head { padding-left: 44px; }
.system-flow { margin-left: 40px; }
.system-orb {
  color: #071f38;
  background: linear-gradient(145deg,#ffe47c,#ffcc05 55%,#d9a700);
  box-shadow: 0 22px 65px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.7);
}
.hero-v2 .hero-stats {
  color: #f8f4ed;
  background: rgba(3,24,41,.72);
  box-shadow: inset 0 1px rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
}
.hero-v2 .hero-stats>div { border-color: rgba(255,255,255,.12); }
.hero-v2 .hero-stats p { color: #9fb1bf; }

.hero.hero-v2 {
  min-height: 0;
  padding: 155px 0 0;
  overflow: hidden;
  color: var(--navy);
  background:
    radial-gradient(circle at 8% 35%, rgba(255,204,5,.16), transparent 23%),
    linear-gradient(135deg,#fbfaf6 0%,#f5f1e9 58%,#eee8f2 100%);
}

.hero-v2-noise {
  position: absolute;
  inset: 0;
  opacity: .35;
  pointer-events: none;
  background-image: radial-gradient(rgba(7,54,94,.12) .7px,transparent .7px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg,#000,transparent 60%);
}

.hero-v2-layout {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 70px;
  align-items: center;
}

.hero-v2-copy { padding: 30px 0 70px; }
.hero-v2-label { display: flex; align-items: center; gap: 15px; }
.hero-v2-label > span { display: grid; place-items: center; width: 55px; height: 55px; border-radius: 50%; background: var(--yellow); color: var(--navy); font: 700 18px Sora; }
.hero-v2-label p { margin: 0; font: 600 9px/1.5 Inter; letter-spacing: .14em; color: var(--purple); }
.hero-v2 h1 { margin: 34px 0 40px; color: var(--navy); font: 600 clamp(58px,6.5vw,96px)/.95 Sora; letter-spacing: -.065em; }
.hero-v2 h1 em { display: inline-block; margin-top: 10px; color: var(--purple); font-style: normal; font-size: .55em; letter-spacing: -.04em; }
.hero-v2-summary { display: grid; grid-template-columns: 1fr; gap: 25px; max-width: 610px; padding-left: 22%; }
.hero-v2-summary > p { margin: 0; color: #576b7b; font-size: 16px; line-height: 1.7; }
.hero-v2-actions { display: flex; align-items: center; gap: 28px; }
.hero-v2-link { color: var(--navy); text-decoration: none; font-size: 12px; font-weight: 600; }
.hero-v2-link span { margin-left: 14px; }

.hero-v2-system {
  min-height: 570px;
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-radius: 28px 28px 0 0;
  color: white;
  background: linear-gradient(150deg,#062d4f 0%,#0a466f 55%,#622573 100%);
  box-shadow: 0 35px 90px rgba(7,54,94,.22);
}
.hero-v2-system::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size: 38px 38px; }
.system-head,.system-foot { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; color:#9eb4c3; font-size:8px; letter-spacing:.16em; }
.system-head b { color:var(--yellow); font-weight:600; }
.system-flow { position:relative; z-index:2; margin-top:45px; }
.system-flow article { display:grid; grid-template-columns:34px 1fr 54px; gap:15px; align-items:center; padding:21px 0; border-top:1px solid rgba(255,255,255,.16); }
.system-flow article>span { color:var(--yellow); font-size:9px; }
.system-flow small { color:#a9bdca; font-size:8px; letter-spacing:.15em; }
.system-flow h3 { margin:5px 0 4px; color:white; font:500 21px Sora; }
.system-flow p { margin:0; color:#a9bdca; font-size:10px; }
.system-flow article>b { color:white; font:600 9px Sora; letter-spacing:.12em; text-align:right; }
.system-orb { position:absolute; z-index:3; right:-35px; bottom:44px; width:145px; height:145px; border-radius:50%; display:grid; place-items:center; background:var(--yellow); color:var(--navy); box-shadow:0 18px 55px rgba(0,0,0,.22); }
.system-orb::before { content:""; position:absolute; inset:-22px; border:1px solid rgba(255,204,5,.35); border-radius:50%; }
.system-orb span { font:700 14px/1.2 Sora; text-align:center; }
.system-foot { position:absolute; left:30px; right:125px; bottom:28px; justify-content:flex-start; gap:10px; }
.system-foot i { width:3px; height:3px; border-radius:50%; background:var(--yellow); }

.hero-v2 .hero-stats { color:var(--navy); margin-top:0; border:0; background:white; box-shadow:0 -1px 0 var(--line); }
.hero-v2 .hero-stats>div { padding:26px 22px; border-color:var(--line); }
.hero-v2 .hero-stats p { color:#6f7d89; }

@media (max-width: 950px) {
  .header { padding-top: 10px; }
  .header .nav { height: 78px; padding: 0 14px; border-radius: 16px; }
  .header .logo { padding-right: 0; }
  .header .logo::after { display: none; }
  .header .nav.open nav { top: 86px; border-radius: 16px; box-shadow: 0 20px 45px rgba(4,23,38,.24); }
  .hero.hero-v2 { padding-top: 125px; }
  .hero-v2-layout { grid-template-columns:1fr; gap:15px; }
  .hero-v2-copy { padding-bottom:35px; }
  .hero-v2-summary { padding-left:0; }
  .hero-v2-system { min-height:530px; border-radius:24px 24px 0 0; }
}

@media (max-width: 620px) {
  .hero-v2 h1 { font-size:56px; }
  .hero-v2 h1 em { font-size:.53em; }
  .hero-v2-actions { align-items:flex-start; flex-direction:column; }
  .hero-v2-system { min-height:515px; padding:24px; }
  .system-flow h3 { font-size:17px; }
  .system-orb { width:115px; height:115px; right:-25px; }
  .system-foot { left:24px; right:80px; gap:7px; font-size:7px; }
}

/* Final luxury hero layer (kept last so the theme remains authoritative). */
body .hero.hero-v2 {
  color:#f7f2e8;
  background:radial-gradient(circle at 76% 32%,rgba(127,42,144,.30),transparent 30%),radial-gradient(circle at 20% 78%,rgba(255,204,5,.09),transparent 26%),linear-gradient(128deg,#031b2d 0%,#07365e 58%,#151b42 100%);
}
body .hero-v2-noise { opacity:.24; background-image:radial-gradient(rgba(255,255,255,.22) .65px,transparent .65px); mask-image:linear-gradient(90deg,#000,transparent 72%); }
body .hero-v2-label>span { border:1px solid rgba(255,204,5,.55); background:rgba(255,204,5,.08); color:var(--yellow); }
body .hero-v2-label p { color:#d7bfcf; }
body .hero-v2 h1 { color:#fffdf8; font-family:"Playfair Display",Georgia,serif; font-weight:500; letter-spacing:-.048em; }
body .hero-v2 h1 em { color:var(--yellow); font-family:Sora,sans-serif; font-weight:500; }
body .hero-v2-summary { border-left:1px solid rgba(255,204,5,.34); }
body .hero-v2-summary>p { color:#bdcbd5; }
body .hero-v2-link { color:#f8f4ed; }
body .hero-v2-system { border:1px solid rgba(255,255,255,.18); border-radius:160px 28px 0 0; background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),linear-gradient(145deg,#0b426b,#351b54 82%); box-shadow:0 45px 100px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.12); }
body .hero-v2-system::after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,204,5,.18); border-radius:140px 18px 0 0; pointer-events:none; }
body .system-head { padding-left:44px; }
body .system-flow { margin-left:40px; }
body .system-orb { color:#071f38; background:linear-gradient(145deg,#ffe47c,#ffcc05 55%,#d9a700); box-shadow:0 22px 65px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.7); }
body .hero-v2 .hero-stats { color:#f8f4ed; background:rgba(3,24,41,.78); box-shadow:inset 0 1px rgba(255,255,255,.10); backdrop-filter:blur(16px); }
body .hero-v2 .hero-stats>div { border-color:rgba(255,255,255,.12); }
body .hero-v2 .hero-stats p { color:#9fb1bf; }

@media (max-width:950px) {
  body .hero-v2-system { border-radius:90px 24px 0 0; }
  body .hero-v2-system::after { border-radius:72px 16px 0 0; }
  body .hero-v2-summary { border-left:0; }
}

/* Editorial industry showcase inspired by the supplied reference. */
.industries { padding:110px 0 0; background:#f2f5f6; overflow:hidden; }
.industries-intro { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:start; margin-bottom:72px; }
.industries-intro h2 { margin:18px 0 0; color:#17252d; font:600 clamp(42px,4.4vw,68px)/.98 Sora,sans-serif; letter-spacing:-.055em; }
.industries-intro>div:last-child { justify-self:end; max-width:390px; padding-top:20px; }
.industries-intro p { color:#6f7d86; font-size:15px; line-height:1.65; }
.industries-intro a { display:inline-flex; gap:42px; margin-top:16px; padding-bottom:7px; border-bottom:1px solid #17252d; color:#17252d; font-size:13px; text-decoration:none; }
.industries-intro a b { color:var(--purple); }
.industry-showcase { display:grid; grid-template-columns:repeat(5,minmax(260px,1fr)); gap:1px; min-width:1300px; }
.industry-tile { position:relative; min-height:610px; overflow:hidden; color:#fff; text-decoration:none; isolation:isolate; }
.industry-tile:nth-child(odd) { clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,0 100%); }
.industry-tile img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.industry-tile::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(3,21,35,.92) 0%,rgba(3,21,35,.28) 58%,rgba(3,21,35,.08) 100%); }
.industry-tile h3 { position:absolute; left:34px; right:28px; bottom:34px; margin:0; color:#fff; font:600 21px/1.15 Sora,sans-serif; letter-spacing:-.025em; transition:bottom .4s ease; }
.industry-tile p { position:absolute; left:34px; right:30px; bottom:30px; margin:0; color:#e1e8ed; font-size:13px; line-height:1.55; opacity:0; transform:translateY(14px); transition:opacity .35s ease,transform .4s ease; }
.industry-tile:hover img { transform:scale(1.055); }
.industry-tile:hover::after { background:linear-gradient(0deg,rgba(75,24,85,.94),rgba(3,21,35,.18) 70%); }
.industry-tile:hover h3,.industry-tile:focus-visible h3 { bottom:150px; }
.industry-tile:hover p,.industry-tile:focus-visible p { opacity:1; transform:none; }

@media (hover:none) {
  .industry-tile h3 { bottom:135px; }
  .industry-tile p { opacity:1; transform:none; }
}

@media (max-width:950px) {
  .industries { padding-top:80px; }
  .industries-intro { grid-template-columns:1fr; gap:24px; margin-bottom:48px; }
  .industries-intro>div:last-child { justify-self:start; padding-top:0; }
  .industry-showcase { display:flex; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .industry-showcase::-webkit-scrollbar { display:none; }
  .industry-tile { flex:0 0 min(82vw,390px); min-height:540px; scroll-snap-align:start; }
}

@media (min-width:951px) and (max-width:1120px) {
  .header .nav { gap:10px; padding-left:14px; padding-right:10px; }
  .header .nav .logo img { width:190px; }
  .header .logo { padding-right:12px; }
  .header .nav nav>a,
  .header .nav-trigger { padding-left:7px; padding-right:7px; font-size:10.5px; }
  .header .contact-nav { min-width:105px; padding-left:12px; padding-right:12px; }
  .header .search-toggle { width:34px; height:34px; flex-basis:34px; }
}

/* Cinematic video hero */
body .hero.hero-v2 {
  min-height: 840px;
  padding-top: 125px;
  background: linear-gradient(128deg,#031b2d,#07365e 58%,#151b42);
}
.hero-video {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-video-overlay {
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(2,20,34,.96) 0%,rgba(3,29,49,.86) 40%,rgba(7,31,52,.40) 68%,rgba(32,17,48,.36) 100%),linear-gradient(0deg,rgba(2,20,34,.70),transparent 48%);
}
body .hero-v2-noise { z-index:2; }
body .hero-v2-layout {
  z-index:3;
  grid-template-columns:minmax(0,720px) 1fr;
  min-height:590px;
  align-items:center;
}
body .hero-v2-copy { padding:38px 0 50px; }
body .hero-v2 h1 { text-shadow:0 10px 45px rgba(0,0,0,.24); }
.hero-video-note {
  align-self:end;
  justify-self:end;
  width:240px;
  margin-bottom:70px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  color:white;
  background:rgba(3,26,44,.48);
  box-shadow:0 20px 55px rgba(0,0,0,.2);
  backdrop-filter:blur(14px);
}
.hero-video-note span { display:block; color:var(--yellow); font-size:8px; letter-spacing:.18em; }
.hero-video-note b { display:block; margin-top:14px; font:500 20px/1.35 "Playfair Display",Georgia,serif; }
.hero-video-note i { display:block; margin-top:18px; color:var(--yellow); font-style:normal; }
body .hero-v2 .hero-stats { position:relative; z-index:3; }

@media (max-width:950px) {
  body .hero.hero-v2 { min-height:0; padding-top:105px; }
  body .hero-v2-layout { min-height:650px; grid-template-columns:1fr; }
  .hero-video-note { display:none; }
  .hero-video-overlay { background:linear-gradient(90deg,rgba(2,20,34,.94),rgba(3,29,49,.72)),linear-gradient(0deg,rgba(2,20,34,.72),transparent 50%); }
}

@media (prefers-reduced-motion:reduce) {
  .hero-video { display:none; }
}

.container { width:min(1400px,calc(100% - 48px)); }
.header .nav { background:transparent; }
.header .nav .logo img { content:url("assets/circlebase-original-logo-hd.png"); }
.header .nav nav>a,
.header .nav-trigger { color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.header .nav nav>a:hover,
.header .nav-trigger:hover,
.header .nav nav>a.active { color:var(--yellow); }
.header .logo::after { background:linear-gradient(transparent,rgba(255,255,255,.36),transparent); }
.header .menu-btn { color:#fff; }

/* Minimal message-only video hero */
body .hero.hero-v2 { min-height:620px; padding:120px 0 0; display:flex; align-items:center; }
body .hero-video-overlay { background:linear-gradient(90deg,rgba(2,20,34,.72),rgba(12,18,52,.66)),linear-gradient(0deg,rgba(2,20,34,.48),rgba(2,20,34,.12)); }
.hero-message {
  position:relative;
  z-index:3;
  margin:auto;
  padding:70px 0 110px;
  color:#fff;
  text-align:center;
}
body .hero-message h1 {
  max-width:1340px;
  margin:0 auto 22px;
  color:#fff;
  font:600 clamp(34px,3.5vw,56px)/1.14 Sora,sans-serif;
  letter-spacing:-.045em;
  text-shadow:0 8px 35px rgba(0,0,0,.35);
}
.hero-message p {
  margin:0;
  color:#fff;
  font:600 clamp(20px,2vw,30px)/1.35 Sora,sans-serif;
  text-shadow:0 5px 24px rgba(0,0,0,.32);
}
.hero-message strong {
  display:inline-block;
  margin-left:8px;
  padding:3px 10px 5px;
  background:var(--purple);
  color:#fff;
  font-weight:600;
}

@media (max-width:700px) {
  body .hero.hero-v2 { min-height:600px; padding-top:100px; }
  .hero-message { padding:55px 0 90px; }
  .hero-message strong { margin:8px 0 0; }
}

/* Header sits above the video, with a clean divider. */
.header {
  position:relative;
  padding-top:0;
  background:transparent;
  border-bottom:1px solid rgba(7,54,94,.18);
}
.header .nav {
  height:100px;
  padding-top:0;
  padding-bottom:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.header .nav .logo img { content:url("assets/circlebase-original-logo-hd-navy.png"); }
.header .nav nav>a,
.header .nav-trigger { color:var(--navy); text-shadow:none; }
.header .nav nav>a:hover,
.header .nav-trigger:hover,
.header .nav nav>a.active { color:var(--purple); }
.header .logo::after { background:linear-gradient(transparent,rgba(127,42,144,.3),transparent); }
.header .menu-btn { color:var(--navy); }
body .hero.hero-v2 { min-height:760px; padding:0; }
.hero-message { padding:90px 0; }

@media (max-width:950px) {
  .header { padding-top:0; }
  .header .nav { height:88px; }
  .header .nav.open nav { top:88px; }
  body .hero.hero-v2 { min-height:680px; padding:0; }
}

/* Header and hero refinement: navigation floats directly over the clear video. */
body .header {
  position:absolute;
  inset:0 0 auto;
  z-index:20;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.34);
}
body .header .nav {
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
body .header .nav .logo img { content:url("assets/circlebase-original-logo-hd.png"); }
body .header .nav nav>a,
body .header .nav-trigger,
body .header .contact-nav {
  color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.42);
}
body .header .contact-nav {
  border:1px solid rgba(255,255,255,.64);
  background:transparent;
}
body .header .nav nav>a:hover,
body .header .nav-trigger:hover,
body .header .nav nav>a.active,
body .header .contact-nav:hover { color:#fff; }
body .header .nav nav>a.active::after { background:#fff; }
body .header .logo::after { background:linear-gradient(transparent,rgba(255,255,255,.4),transparent); }
body .header .search-toggle span { border-color:#fff; }
body .header .search-toggle span::after { background:#fff; }
body .header .menu-btn { color:#fff; }

body .hero-video-overlay,
body .hero-v2-noise { display:none; }
body .hero-message {
  width:min(1400px,calc(100% - 48px));
  margin:0 auto;
  padding:150px 0 80px;
  text-align:left;
}
body .hero-message h1 {
  max-width:1050px;
  margin:0 0 24px;
}
body .hero-message p { max-width:900px; }

@media (max-width:950px) {
  body .header .nav.open nav {
    background:rgba(3,27,46,.96);
    border:1px solid rgba(255,255,255,.14);
  }
  body .hero-message { padding:130px 0 70px; }
}

/* Core competencies — editorial tabbed showcase */
.services { background:#fff; color:var(--navy); }
.services .section-heading>p { color:#657686; }
.services .kicker.light { color:var(--purple); }
.competency-tabs {
  display:grid;
  grid-template-columns:1.05fr 1fr .7fr 1.6fr 1.45fr;
  border-bottom:1px solid #cad2d8;
  overflow-x:auto;
}
.competency-tabs button {
  min-width:175px;
  padding:18px 14px 19px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#617383;
  font:500 clamp(14px,1vw,16px)/1.4 Inter,sans-serif;
  white-space:nowrap;
  cursor:pointer;
  transition:color .25s,border-color .25s;
}
.competency-tabs button:hover { color:var(--navy); }
.competency-tabs button.active { color:var(--navy); border-color:var(--yellow); font-weight:700; }
.competency-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:500px;
  margin-top:34px;
  overflow:hidden;
  border:1px solid #e3e4e1;
  border-radius:22px;
  background:#fff;
}
.competency-copy { padding:68px 64px; }
.competency-copy>span { color:var(--purple); font-size:10px; font-weight:700; letter-spacing:.08em; }
.competency-copy h3 { margin:38px 0 22px; color:var(--navy); font:600 clamp(30px,3vw,44px)/1.12 Sora,sans-serif; letter-spacing:-.045em; }
.competency-copy p { max-width:610px; color:#667988; font-size:16px; line-height:1.75; }
.competency-copy>a { display:inline-flex; align-items:center; gap:28px; margin-top:24px; color:var(--navy); font-size:13px; font-weight:700; text-decoration:none; }
.competency-copy>a b { color:var(--purple); }
.competency-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.competency-tags span { padding:8px 12px; border:1px solid #d8dde0; border-radius:40px; color:#637583; font-size:9px; letter-spacing:.04em; }
.competency-art {
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  min-height:500px;
  background:linear-gradient(135deg,#0b4774 0%,#293d79 53%,#582674 100%);
}
.competency-gridlines { position:absolute; inset:22% -18% -35%; background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px); background-size:68px 68px; transform:perspective(420px) rotateX(62deg) scale(1.35); transform-origin:center bottom; }
.competency-bars { position:relative; z-index:2; display:flex; align-items:end; gap:15px; height:230px; }
.competency-bars i { width:34px; height:48%; border:1px solid rgba(255,255,255,.34); border-radius:6px 6px 0 0; background:rgba(255,255,255,.10); box-shadow:inset 0 0 0 7px rgba(255,255,255,.035); transition:height .45s ease; }
.competency-bars i:nth-child(2){height:73%}.competency-bars i:nth-child(3){height:100%;background:var(--yellow);border-color:var(--yellow);box-shadow:0 0 32px rgba(255,204,5,.24)}.competency-bars i:nth-child(4){height:64%}.competency-bars i:nth-child(5){height:40%}
.competency-art strong { position:absolute; z-index:3; top:38px; right:44px; color:rgba(255,255,255,.15); font:700 82px/1 Sora,sans-serif; letter-spacing:-.08em; }
.competency-art>span { position:absolute; z-index:3; left:30px; bottom:25px; color:#fff; font-size:9px; font-weight:700; letter-spacing:.17em; }
.competency-panel.is-changing .competency-copy,.competency-panel.is-changing .competency-art { animation:competencySwap .36s ease; }
@keyframes competencySwap { from { opacity:.45; transform:translateY(8px) } to { opacity:1; transform:none } }

@media(max-width:950px){
  .competency-tabs{grid-template-columns:220px 210px 140px 360px 310px}
  .competency-panel{grid-template-columns:1fr}
  .competency-art{min-height:390px}
}
@media(max-width:620px){
  .competency-copy{padding:42px 28px}
  .competency-panel{margin-top:24px}
  .competency-art{min-height:330px}
  .competency-bars{height:175px;gap:10px}.competency-bars i{width:26px}
}

/* Editorial video hero */
body .hero.hero-v2 { min-height:780px; padding:0; display:flex; flex-direction:column; justify-content:flex-end; }
body .hero-video-overlay {
  display:block;
  background:linear-gradient(90deg,rgba(2,23,38,.94) 0%,rgba(3,29,49,.78) 42%,rgba(5,28,47,.38) 72%,rgba(3,19,32,.20) 100%),linear-gradient(0deg,rgba(2,20,34,.66),transparent 52%);
}
.hero-editorial { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,820px) 1fr; align-items:end; gap:50px; padding:150px 0 45px; color:#fff; }
.hero-editorial-main { max-width:820px; }
.hero-trust-badge { display:flex; align-items:center; gap:15px; margin-bottom:32px; }
.hero-trust-badge b { display:grid; place-items:center; width:56px; height:56px; border:1px solid rgba(255,204,5,.75); border-radius:50%; color:var(--yellow); font:700 18px Sora,sans-serif; }
.hero-trust-badge span { color:#d4dce3; font-size:9px; font-weight:700; line-height:1.45; letter-spacing:.13em; }
body .hero-editorial h1 { margin:0; color:#fffdf8; font:500 clamp(68px,7vw,108px)/.87 "Playfair Display",Georgia,serif; letter-spacing:-.055em; text-shadow:0 8px 36px rgba(0,0,0,.24); }
.hero-editorial h2 { margin:34px 0 34px; color:var(--yellow); font:600 clamp(36px,4vw,58px)/1 Sora,sans-serif; letter-spacing:-.05em; }
.hero-editorial-detail { max-width:570px; margin-top:18px; }
.hero-editorial-detail p { margin:0; color:#d2dce4; font-size:16px; line-height:1.65; }
.hero-insight { justify-self:end; width:240px; margin-bottom:25px; padding:24px; border:1px solid rgba(255,255,255,.27); border-radius:18px; background:rgba(6,31,50,.72); color:#fff; box-shadow:0 22px 60px rgba(0,0,0,.24); backdrop-filter:blur(13px); }
.hero-insight span { color:var(--yellow); font-size:8px; font-weight:700; letter-spacing:.16em; }
.hero-insight b { display:block; margin-top:16px; font:500 22px/1.25 "Playfair Display",Georgia,serif; }
.hero-insight i { display:block; margin-top:22px; color:var(--yellow); font-style:normal; }
.hero-proof { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); color:#fff; background:rgba(2,27,45,.88); backdrop-filter:blur(12px); }
.hero-proof>div { min-height:104px; padding:25px 28px; border-right:1px solid rgba(255,255,255,.16); }
.hero-proof>div:last-child { border-right:0; }
.hero-proof b { font:600 28px Sora,sans-serif; }.hero-proof b span{color:var(--yellow)}
.hero-proof p { margin:7px 0 0; color:#aebdca; font-size:11px; }

@media(max-width:950px){
  body .hero.hero-v2{min-height:760px}
  .hero-editorial{grid-template-columns:1fr;padding-top:135px}
  .hero-insight{display:none}
  .hero-proof{grid-template-columns:1fr 1fr}
  .hero-proof>div:nth-child(2){border-right:0}.hero-proof>div{border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:620px){
  body .hero-editorial h1{font-size:62px}
  .hero-editorial h2{font-size:34px}
  .hero-proof>div{padding:20px 15px;min-height:92px}.hero-proof b{font-size:23px}
}

/* Minimal header actions */
body .header .search-toggle {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
body .header .contact-nav::before { display:none; }

.about { background:#fefaff; }

/* Industries: clean rectangular cards with descriptions revealed on interaction. */
.industry-tile:nth-child(odd) { clip-path:none; }
.industry-tile p {
  opacity:0;
  transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease;
}
.industry-tile:hover p,
.industry-tile:focus-visible p { opacity:1; transform:none; }
.industry-tile:hover h3,
.industry-tile:focus-visible h3 { transform:translateY(-8px); }
.industry-tile h3 { transition:transform .3s ease; }
@media(hover:none){.industry-tile p{opacity:1;transform:none}}

/* Simplified hero after removing auxiliary badge, insight card, and proof bar. */
.hero-editorial { grid-template-columns:1fr; align-items:center; padding-bottom:85px; }
.hero-editorial-main { max-width:1120px; }
body .hero-editorial h1 {
  max-width:920px;
  font-family:Sora,sans-serif;
  font-size:clamp(38px,4.2vw,60px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.05em;
}
.hero-editorial h2 {
  max-width:980px;
  margin-top:22px;
  font-size:clamp(38px,4.2vw,60px);
  line-height:1.12;
}

.logo-strip .container {
  height:auto;
  display:block;
}
.logo-strip-row {
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  width:100%;
}
.logo-strip .logo-strip-brands {
  display:flex;
  align-items:center;
  gap:45px;
}
.logo-strip-brands .partner-logo {
  display:block;
  width:auto;
  max-width:130px;
  max-height:36px;
  object-fit:contain;
}
.logo-strip-brands .logo-aws { width:72px; }
.logo-strip-brands .logo-microsoft { width:118px; }
.logo-strip-brands .logo-snowflake { width:120px; }
.logo-strip-brands .logo-google-cloud { width:126px; }
.logo-strip-brands .logo-salesforce { width:88px; }
.logo-strip .logo-strip-intro {
  display:block;
  width:100%;
  padding:70px 0 76px;
  border-top:1px solid var(--line);
}
.logo-strip-intro h2 {
  margin:0 0 24px;
  max-width:940px;
  color:var(--navy);
  font:700 clamp(34px,4vw,54px)/1.08 Sora,sans-serif;
  letter-spacing:-.035em;
}
.logo-strip-intro h2 em {
  display:block;
  color:var(--purple);
  font-style:normal;
}
.logo-strip-intro p {
  max-width:1320px;
  margin:0;
  color:#2a2a2a;
  font-size:17px;
  line-height:1.7;
}
@media(max-width:620px) {
  .logo-strip-row {
    min-height:0;
    padding:27px 0;
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
  }
  .logo-strip .logo-strip-brands {
    gap:17px;
    flex-wrap:wrap;
  }
  .logo-strip-intro {
    padding:52px 0 58px;
  }
  .logo-strip-intro h2 {
    font-size:clamp(30px,9vw,40px);
  }
  .logo-strip-intro p {
    font-size:15px;
  }
}

.value-grid.value-grid-equal {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.about-grid {
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(48px,6vw,90px);
}
.about-copy {
  max-width:none;
}
.value-grid-equal .value-card {
  min-height:370px;
  display:flex;
  flex-direction:column;
}
.value-grid-equal .value-card h3 {
  margin:0 0 20px;
}
.value-grid-equal .icon {
  width:64px;
  height:64px;
  margin-bottom:18px;
  border-radius:0;
  background:transparent;
  place-items:center start;
}
.value-grid-equal .icon img {
  width:54px;
  height:54px;
  object-fit:contain;
  filter:invert(22%) sepia(49%) saturate(2533%) hue-rotate(267deg) brightness(85%) contrast(91%);
}
.value-grid-equal .value-card p {
  margin-bottom:0;
}
@media(max-width:950px) {
  .about-grid {
    grid-template-columns:1fr;
    gap:45px;
  }
  .value-grid.value-grid-equal {
    grid-template-columns:1fr;
  }
  .value-grid-equal .value-card {
    min-height:300px;
  }
}

.advantages article {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
}
.advantage-icon {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #d5c5da;
  border-radius:50%;
  color:var(--purple);
  background:#fff;
  font-style:normal;
  font-size:18px;
  transition:background .25s,color .25s,transform .25s;
}
.advantages article:hover .advantage-icon {
  background:var(--purple);
  color:#fff;
  transform:translate(2px,-2px);
}
.quote-box blockquote {
  font-size:clamp(14px,1.5vw,21px);
  line-height:1.55;
}
@media(max-width:620px) {
  .advantages article {
    grid-template-columns:minmax(0,1fr) auto;
  }
}

@media(min-width:1121px){
  body .header .nav nav>a,
  body .header .nav-trigger { font-size:16px; }
}
@media(min-width:951px) and (max-width:1120px){
  body .header .nav nav>a,
  body .header .nav-trigger { font-size:12px; }
}

.competency-art { background:#0a3152; }
.competency-art::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,24,41,.58),transparent 56%); pointer-events:none; }
.competency-art>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.competency-art>span { z-index:2; }

/* Compact CTA headline and rectangular contact action. */
.cta h2 {
  font-size:clamp(34px,3.7vw,52px);
}
.cta-button {
  width:auto;
  min-width:220px;
  height:60px;
  padding:0 24px;
  border-radius:8px;
  flex-direction:row;
  justify-content:space-between;
  gap:28px;
}
.cta-button:hover {
  transform:translateY(-3px);
}
.cta-button b {
  font-size:18px;
}
@media(max-width:620px) {
  .cta-button {
    width:auto;
    min-width:200px;
    height:56px;
  }
}

.section-intro h2,
.section-heading h2,
.why h2 {
  font:600 clamp(43px,4.5vw,63px)/1.1 Sora;
  letter-spacing:-.045em;
  margin:20px 0;
}

.hero-editorial h2 {
  max-width:1105px;
  margin:15px 0;
}
.hero-editorial-detail {
  max-width:100%;
  margin-top:0;
}
.hero-editorial-detail p {
  font-size:22px;
}

/* Keep the revealed industry description close to its title. */
.industry-tile:hover h3,
.industry-tile:focus-visible h3 {
  bottom:105px;
  transform:none;
}
@media(hover:none) {
  .industry-tile h3 {
    bottom:105px;
  }
}

/* Accordion treatment for the Why Circlebase principles. */
.why {
  background:#f2f6f7;
}
.advantages {
  border-top:1px solid #d9e1e4;
}
.advantages article {
  min-height:73px;
  padding:24px 12px 24px 0;
  cursor:pointer;
  outline:none;
}
.advantages article:focus-visible {
  box-shadow:0 0 0 2px var(--yellow);
}
.advantages article h3 {
  margin:0;
  font-size:17px;
}
.advantages article p {
  max-height:0;
  margin:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-4px);
  transition:max-height .35s ease,margin .35s ease,opacity .25s ease,transform .35s ease;
}
.advantages article.is-open {
  padding-top:28px;
  padding-bottom:30px;
}
.advantages article.is-open p {
  max-height:140px;
  margin-top:28px;
  opacity:1;
  transform:none;
}
.advantages article .advantage-icon {
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  color:var(--navy);
  font-size:18px;
}
.advantages article.is-open .advantage-icon {
  width:38px;
  height:38px;
  border-radius:50%;
  background:#f4a62a;
  color:var(--navy);
}
.advantages article:hover .advantage-icon {
  background:transparent;
  color:var(--navy);
  transform:none;
}
.advantages article.is-open:hover .advantage-icon {
  background:#f4a62a;
}

.cta {
  padding:68px 0;
}
@media(max-width:620px) {
  .cta {
    padding:58px 0;
  }
}

/* Complete multi-column footer. */
.site-footer {
  padding:54px 0 26px;
  background:#111;
}
.footer-shell {
  color:#fff;
}
.footer-top {
  display:grid;
  grid-template-columns:1.6fr .75fr .9fr;
  gap:56px;
  align-items:start;
  padding:30px;
  border:1px solid rgba(255,255,255,.25);
}
.footer-brand {
  display:block;
}
.footer-brand .footer-logo img {
  width:225px;
}
.footer-brand p {
  max-width:390px;
  margin:20px 0 0;
  color:#aeb7bf;
  font-size:14px;
  line-height:1.7;
}
.footer-top address {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
  font-style:normal;
}
.footer-top address b {
  color:var(--yellow);
  font:600 15px Sora;
}
.footer-top address span {
  color:#fff;
  font-size:13px;
  line-height:1.7;
}
.footer-links {
  display:grid;
  gap:38px;
}
.footer-capabilities {
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:36px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-navigation {
  grid-template-columns:1.15fr 1.15fr .9fr .9fr;
  padding:30px 0 34px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-links>div {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.footer-links b {
  min-height:27px;
  margin-bottom:3px;
  color:#fff;
  font:600 14px Sora;
  border-bottom:1px solid rgba(255,255,255,.6);
}
.footer-links a {
  color:#b4bec6;
  text-decoration:none;
  font-size:12px;
  line-height:1.45;
}
.footer-links a:hover {
  color:var(--yellow);
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-top:26px;
  color:#8e9aa3;
  font-size:11px;
}
@media(max-width:950px) {
  .footer-top { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .site-footer { padding-top:32px; }
  .footer-top { grid-template-columns:1fr; gap:30px; padding:24px; }
  .footer-brand { grid-column:auto; }
  .footer-capabilities,.footer-navigation { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
}

/* More expressive Vision / Mission / Value Proposition cards. */
.value-grid-equal .value-card {
  position:relative;
  overflow:hidden;
  padding:38px 34px 36px;
  border:1px solid #d9e1e5;
  border-top:4px solid var(--card-accent,#7f2a90);
  background:linear-gradient(145deg,#fff 58%,var(--card-wash,#f7eff9));
  box-shadow:0 16px 40px rgba(7,54,94,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.value-grid-equal .value-card:nth-child(1) {
  --card-accent:#7f2a90;
  --card-wash:#f8eefb;
}
.value-grid-equal .value-card:nth-child(2) {
  --card-accent:#e3a600;
  --card-wash:#fff8df;
}
.value-grid-equal .value-card:nth-child(3) {
  --card-accent:#147d77;
  --card-wash:#e9f7f4;
}
.value-grid-equal .value-card::before {
  content:"01";
  position:absolute;
  top:26px;
  right:28px;
  color:var(--card-accent);
  font:600 11px Sora;
  letter-spacing:.14em;
}
.value-grid-equal .value-card:nth-child(2)::before { content:"02"; }
.value-grid-equal .value-card:nth-child(3)::before { content:"03"; }
.value-grid-equal .value-card::after {
  content:"";
  position:absolute;
  right:-54px;
  bottom:-64px;
  width:170px;
  height:170px;
  border:1px solid color-mix(in srgb,var(--card-accent) 22%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 28px color-mix(in srgb,var(--card-accent) 5%,transparent);
  pointer-events:none;
}
.value-grid-equal .value-card:hover {
  transform:translateY(-8px);
  border-color:color-mix(in srgb,var(--card-accent) 40%,#d9e1e5);
  box-shadow:0 24px 50px rgba(7,54,94,.12);
}
.value-grid-equal .icon img {
  filter:none;
}
.value-grid-equal .value-card h3 {
  position:relative;
  margin-bottom:16px;
  font-size:27px;
}
.value-grid-equal .value-card h3::after {
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin-top:14px;
  background:var(--card-accent);
}
.value-grid-equal .value-card p {
  position:relative;
  z-index:1;
  font-size:16px;
  line-height:1.65;
}

/* Refined footer identity and office panel. */
.footer-top {
  position:relative;
  grid-template-columns:1.35fr .8fr .9fr;
  gap:48px;
  padding:34px 38px;
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:linear-gradient(120deg,#fff 0%,#f7f4f9 58%,#f2f5f6 100%);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.footer-top::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(var(--yellow),var(--purple));
}
.footer-brand {
  padding-right:34px;
  border-right:1px solid #d9dfe3;
}
.footer-brand .footer-logo {
  display:inline-block;
  line-height:0;
}
.footer-brand .footer-logo img {
  width:250px;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.footer-brand p {
  max-width:430px;
  margin-top:16px;
  color:#516473;
  line-height:1.6;
}
.footer-top address {
  position:relative;
  padding-left:22px;
}
.footer-top address::before {
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 0 5px rgba(255,204,5,.14);
}
.footer-top address b {
  color:var(--navy);
  font-size:16px;
}
.footer-top address span {
  color:#465968;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:950px) {
  .footer-top { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; padding-right:0; padding-bottom:26px; border-right:0; border-bottom:1px solid #d9dfe3; }
}
@media(max-width:620px) {
  .footer-top { grid-template-columns:1fr; padding:28px 24px; }
  .footer-brand { grid-column:auto; }
  .footer-brand .footer-logo img { width:220px; }
}

/* Prevent accordion interaction from changing the page's total height. */
.advantages {
  height:460px;
  overflow:hidden;
}
.advantages article {
  height:73px;
  min-height:0;
  transition:height .35s ease,padding .35s ease;
}
.advantages article.is-open {
  height:168px;
}
@media(max-width:620px) {
  .advantages {
    height:497px;
  }
  .advantages article.is-open {
    height:205px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .advantages article,
  .advantages article p {
    transition:none;
  }
}

/* Consistent brand-yellow circular accordion controls. */
.advantages article .advantage-icon {
  width:38px;
  height:38px;
  border:1px solid var(--yellow);
  border-radius:50%;
  background:rgba(255,204,5,.08);
  color:var(--navy);
  font-size:18px;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.advantages article.is-open .advantage-icon,
.advantages article.is-open:hover .advantage-icon {
  border-color:var(--yellow);
  background:var(--yellow);
  box-shadow:0 8px 20px rgba(227,166,0,.22);
  transform:rotate(180deg);
}
.advantages article:hover .advantage-icon {
  border-color:var(--yellow);
  background:rgba(255,204,5,.22);
  color:var(--navy);
  transform:translateY(2px);
}

/* Header: solid white bar with content constrained to the page container. */
body .header {
  width:100%;
  background:#fff;
  border-bottom:1px solid var(--line);
}
body .header .nav {
  width:min(1400px,calc(100% - 48px));
  margin-inline:auto;
  background:#fff;
}
body .header .nav .logo img {
  content:url("assets/circlebase-original-logo-hd-navy.png");
}
body .header .nav nav>a,
body .header .nav-trigger {
  color:var(--navy);
  text-shadow:none;
}
body .header .nav nav>a:hover,
body .header .nav-trigger:hover,
body .header .nav nav>a.active {
  color:var(--purple);
}
body .header .nav nav>a.active::after { background:var(--yellow); }
body .header .logo::after { background:linear-gradient(transparent,rgba(127,42,144,.3),transparent); }
body .header .search-toggle span { border-color:var(--navy); }
body .header .search-toggle span::after { background:var(--navy); }
body .header .contact-nav {
  border-color:var(--navy);
  background:var(--navy);
  color:#fff;
  text-shadow:none;
}
body .header .contact-nav:hover { color:#fff; }
body .header .menu-btn { color:var(--navy); }
@media(max-width:950px){
  body .header .nav{width:min(100% - 34px,1400px)}
  body .header .nav.open nav{
    background:#fff;
    border:1px solid var(--line);
  }
}

/* Industries — asymmetric editorial card gallery. */
.industries{
  padding:110px 0;
  background:#f4f0f7;
  overflow:visible;
}
.industries-intro{margin-bottom:54px}
.industry-showcase{
  width:min(1400px,calc(100% - 48px));
  min-width:0;
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:255px 255px 330px;
  grid-auto-rows:330px;
  gap:18px;
}
.industry-tile,
.industry-tile:nth-child(odd){
  min-height:0;
  border-radius:24px;
  clip-path:none;
  box-shadow:0 15px 38px rgba(7,54,94,.12);
}
.industry-tile:nth-child(1){grid-column:span 7;grid-row:span 2}
.industry-tile:nth-child(2),
.industry-tile:nth-child(3){grid-column:span 5}
.industry-tile:nth-child(4),
.industry-tile:nth-child(5){grid-column:span 6;height:330px}
.industry-tile::before{
  content:'↗';
  position:absolute;
  z-index:2;
  top:22px;
  right:22px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:50%;
  background:rgba(7,54,94,.28);
  color:#fff;
  font-size:18px;
  backdrop-filter:blur(8px);
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.industry-tile::after{
  background:linear-gradient(0deg,rgba(3,21,35,.92),rgba(3,21,35,.34) 52%,rgba(3,21,35,.04));
  transition:background .35s ease;
}
.industry-tile h3{
  left:30px;
  right:78px;
  bottom:30px;
  font-size:22px;
  line-height:1.18;
  transition:bottom .35s ease,transform .35s ease;
}
.industry-tile p{
  left:30px;
  right:38px;
  bottom:27px;
  max-width:600px;
  font-size:13px;
  line-height:1.55;
}
.industry-tile:nth-child(1) h3{font-size:34px;bottom:42px}
.industry-tile:nth-child(1) p{left:34px;bottom:34px;max-width:570px}
.industry-tile:hover::before,.industry-tile:focus-visible::before{
  background:var(--yellow);
  color:var(--navy);
  border-color:var(--yellow);
  transform:rotate(45deg);
}
.industry-tile:hover::after,.industry-tile:focus-visible::after{
  background:linear-gradient(0deg,rgba(63,22,77,.96),rgba(7,54,94,.18) 72%);
}
.industry-tile:hover h3,.industry-tile:focus-visible h3{bottom:112px;transform:none}
.industry-tile:nth-child(1):hover h3,.industry-tile:nth-child(1):focus-visible h3{bottom:118px}
.industry-tile:hover p,.industry-tile:focus-visible p{opacity:1;transform:none}

@media(max-width:950px){
  .industries{padding:80px 0}
  .industry-showcase{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    grid-auto-rows:380px;
    overflow:visible;
    scroll-snap-type:none;
  }
  .industry-tile,.industry-tile:nth-child(1),.industry-tile:nth-child(2),
  .industry-tile:nth-child(3),.industry-tile:nth-child(4),.industry-tile:nth-child(5){
    grid-column:auto;
    grid-row:auto;
    width:auto;
    height:auto;
    min-height:380px;
  }
  .industry-tile:nth-child(1){grid-column:1/-1;min-height:480px}
}
@media(max-width:620px){
  .industry-showcase{width:min(100% - 34px,1400px);grid-template-columns:1fr;grid-auto-rows:410px}
  .industry-tile:nth-child(1){grid-column:auto;min-height:450px}
  .industry-tile,.industry-tile:nth-child(2),.industry-tile:nth-child(3),
  .industry-tile:nth-child(4),.industry-tile:nth-child(5){min-height:410px}
  .industry-tile h3,.industry-tile:nth-child(1) h3{font-size:25px}
}
@media(hover:none){
  .industry-tile h3,.industry-tile:nth-child(1) h3{bottom:118px}
  .industry-tile p{opacity:1;transform:none}
}

/* Preserve the important focal area of each industry photograph. */
.industry-tile:nth-child(1) img{object-position:center 42%}
.industry-tile:nth-child(2) img{object-position:center 18%}
.industry-tile:nth-child(3) img{object-position:center 22%}
.industry-tile:nth-child(4) img{object-position:center 48%}
.industry-tile:nth-child(5) img{object-position:center 30%}
@media(max-width:620px){
  .industry-tile:nth-child(2) img{object-position:center 28%}
  .industry-tile:nth-child(3) img{object-position:center 30%}
}

/* New landscape-native artwork no longer needs portrait crop offsets. */
.industry-tile:nth-child(2) img,
.industry-tile:nth-child(3) img,
.industry-tile:nth-child(4) img{object-position:center}

/* Engagement & Delivery — split editorial service index. */
.engagement{
  position:relative;
  overflow:hidden;
  background:#072d4d;
  color:#fff;
}
.engagement::before{
  content:'';
  position:absolute;
  width:600px;
  height:600px;
  left:-320px;
  bottom:-360px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 75px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018);
}
.engagement-layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:9vw;
  align-items:start;
}
.engagement-intro{position:sticky;top:140px}
.engagement-intro h2{
  margin:22px 0 26px;
  max-width:560px;
  font:500 clamp(42px,4.4vw,68px)/1.06 Sora,sans-serif;
  letter-spacing:-.055em;
}
.engagement-intro h2 em{color:var(--yellow);font-style:normal}
.engagement-intro>p{max-width:500px;color:#b9cad7;font-size:15px;line-height:1.75}
.engagement-all{
  display:inline-flex;
  align-items:center;
  gap:32px;
  margin-top:22px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(255,255,255,.55);
  color:#fff;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}
.engagement-all span{color:var(--yellow)}
.engagement-list{border-top:1px solid rgba(255,255,255,.2)}
.engagement-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 54px;
  gap:24px;
  align-items:center;
  min-height:205px;
  padding:30px 4px;
  border-bottom:1px solid rgba(255,255,255,.2);
  color:#fff;
  text-decoration:none;
  transition:padding .3s ease,background .3s ease;
}
.engagement-number{align-self:start;padding-top:5px;color:#8fa9bb;font-size:12px;letter-spacing:.12em}
.engagement-item small{color:var(--yellow);font-size:10px;font-weight:700;letter-spacing:.16em}
.engagement-item h3{
  margin:14px 0 10px;
  color:#fff;
  font:500 clamp(23px,2.1vw,32px)/1.2 Sora,sans-serif;
  letter-spacing:-.035em;
}
.engagement-item p{max-width:540px;margin:0;color:#aebfcb;font-size:13px;line-height:1.65}
.engagement-arrow{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:var(--yellow);
  font-size:20px;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.engagement-item:hover,.engagement-item:focus-visible{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.055)}
.engagement-item:hover .engagement-arrow,.engagement-item:focus-visible .engagement-arrow{
  background:var(--yellow);
  border-color:var(--yellow);
  color:var(--navy);
  transform:rotate(45deg);
}
@media(max-width:950px){
  .engagement-layout{grid-template-columns:1fr;gap:55px}
  .engagement-intro{position:relative;top:auto}
  .engagement-intro>p{max-width:650px}
}
@media(max-width:620px){
  .engagement-item{grid-template-columns:34px minmax(0,1fr) 42px;gap:14px;min-height:190px}
  .engagement-arrow{width:40px;height:40px}
  .engagement-item p{font-size:12px}
  .engagement-item:hover,.engagement-item:focus-visible{padding-left:8px;padding-right:8px}
}

/* Simplify service rows and vertically center the section introduction. */
.engagement-layout{align-items:center}
.engagement-intro{position:relative;top:auto;align-self:center}
.engagement-number{display:none}
.engagement-item{grid-template-columns:minmax(0,1fr) 54px}
@media(max-width:620px){
  .engagement-item{grid-template-columns:minmax(0,1fr) 42px}
}
