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

:root{
  /* Mint — one family, five stops (accent, ~10% of screen) */
  --mint-100:#C8FBEF;
  --mint-300:#8DF7E6;
  --mint-500:#1de0c1;   /* signature — used sparingly (CTAs, one hero accent) */
  --mint-700:#0E7A6A;   /* workhorse — deep borders, muted accents */
  --mint-900:#0A322E;   /* depth — glows, deep panels */
  /* Neutrals — carry ~90% of the screen */
  --ink-900:#0A0F1E;
  --ink-800:#0E1626;
  --ink-700:#14203A;
  --ice:#E8F4FF;
  --ice-soft:rgba(232,244,255,.62);
  /* Back-compat aliases (existing rules reference these) */
  --bg:var(--ink-900);
  --bg2:#080D1A;
  --mint:var(--mint-500);
  --mint2:var(--mint-500);
  --charcoal:#10172A;
  --muted:rgba(232,244,255,.72);
  --soft:rgba(232,244,255,.10);
  --line:rgba(29,224,193,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;
  font-family:"Space Grotesk", system-ui, sans-serif;
  background:var(--bg);
  color:var(--ice);
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-4;
  background:
    radial-gradient(circle at 80% 18%,rgba(29,224,193,.12),transparent 30%),
    radial-gradient(circle at 15% 75%,rgba(29,224,193,.05),transparent 32%),
    linear-gradient(135deg,#040711 0%,#0A0F1E 48%,#050814 100%);
}
#bg-canvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-3;
  pointer-events:none;
  opacity:.92;
}
.grid-fog{
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(29,224,193,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,224,193,.024) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:radial-gradient(circle at 62% 42%,black 0%,transparent 75%);
}
a{color:inherit}
.site-header{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 32px));
  z-index:50;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:12px 16px;
  border:1px solid rgba(232,244,255,.08);
  border-radius:999px;
  background:rgba(8,13,26,.9);
  box-shadow:0 16px 60px rgba(0,0,0,.3);
}
.logo{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:850;
  letter-spacing:.062em;
  text-transform:uppercase;
  font-size:16px;
  white-space:nowrap;
}
.logo-mark{
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  border:1px solid rgba(29,224,193,.45);
  background:radial-gradient(circle,rgba(29,224,193,.18),rgba(16,23,42,.86));
  color:var(--mint);
  font-size:10px;
  box-shadow:0 0 26px rgba(29,224,193,.16);
  overflow:hidden;
}
.logo-mark img{
  width:34px;
  height:34px;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(29,224,193,.38));
}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{
  text-decoration:none;
  color:rgba(232,244,255,.78);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.nav-links a:hover{color:var(--mint)}
.nav-cta{
  text-decoration:none;
  padding:10px 14px;
  border:1px solid rgba(29,224,193,.38);
  border-radius:999px;
  color:var(--mint)!important;
  background:rgba(29,224,193,.07);
}
.menu-toggle{display:none;background:none;border:0;color:var(--ice);font-size:24px;width:44px;height:44px;line-height:1;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;align-items:center;justify-content:center}
.mobile-menu{
  position:fixed;inset:0;z-index:45;background:rgba(8,13,26,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);display:none;place-items:center;
}
.mobile-menu.open{display:grid}
.mobile-menu a{display:block;text-align:center;text-decoration:none;font-size:34px;margin:18px;color:var(--ice)}
main{position:relative;z-index:1}
.section{padding:110px clamp(22px,6vw,86px)}
.hero{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:140px clamp(22px,6vw,86px) 80px;
  position:relative;
  overflow:hidden;
}
.hero-video{
  position:absolute;inset:0;z-index:-1;opacity:.28;overflow:hidden;
}
.hero-video video{
  width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.1);
}
.hero-video::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,15,30,.96),rgba(10,15,30,.48),rgba(10,15,30,.92));
}
.hero-inner{max-width:1150px;width:100%;display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--mint);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:12px;
  margin-bottom:18px;
}
.kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 14px var(--mint);
  flex:0 0 auto;
}
h1{font-size:clamp(48px,7vw,104px);line-height:.9;margin:0;letter-spacing:-.07em}
h1 span,.accent{color:var(--mint);text-shadow:0 0 32px rgba(29,224,193,.22)}
.lead{font-size:clamp(17px,1.8vw,22px);line-height:1.65;color:var(--muted);max-width:720px;margin:28px 0 0}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  text-decoration:none;border-radius:999px;padding:14px 20px;
  border:1px solid rgba(29,224,193,.42);background:rgba(29,224,193,.08);
  color:var(--ice);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(29,224,193,.13)}
.btn.secondary{border-color:rgba(232,244,255,.12);background:rgba(232,244,255,.04)}
.hero-orb{
  min-height:440px;border:1px solid rgba(232,244,255,.08);border-radius:36px;
  background:radial-gradient(circle at 50% 46%,rgba(29,224,193,.16),transparent 34%),linear-gradient(135deg,rgba(16,23,42,.56),rgba(8,13,26,.38));
  position:relative;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.34),inset 0 0 60px rgba(29,224,193,.035);
}
.orbit{position:absolute;border:1px solid rgba(29,224,193,.22);border-radius:50%;inset:14%;animation:spin 18s linear infinite;transform:rotateX(66deg)}
.orbit:nth-child(2){inset:25%;animation-duration:12s;animation-direction:reverse;border-color:rgba(232,244,255,.14)}
.orbit:nth-child(3){inset:36%;animation-duration:8s;border-style:dashed}
.core{position:absolute;left:50%;top:50%;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--ice),var(--mint) 35%,transparent 68%);box-shadow:0 0 95px rgba(29,224,193,.48);animation:pulse 2.6s ease-in-out infinite}
@keyframes spin{to{transform:rotateX(66deg) rotate(360deg)}}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.18);opacity:.8}}
.section-head{max-width:860px;margin-bottom:38px}
h2{font-size:clamp(34px,4.7vw,68px);line-height:.96;margin:0;letter-spacing:-.055em}
.section-head p{color:var(--muted);line-height:1.7;font-size:17px}
.grid{display:grid;gap:18px}
.grid.cards{grid-template-columns:repeat(3,1fr)}
.card{
  position:relative;overflow:hidden;
  border:1px solid rgba(232,244,255,.08);border-radius:26px;
  padding:24px;background:linear-gradient(180deg,rgba(16,23,42,.66),rgba(8,13,26,.52));
  min-height:190px;text-decoration:none;box-shadow:0 18px 60px rgba(0,0,0,.22);
}
.card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(29,224,193,.12),transparent 38%);opacity:0;transition:.25s}
.card:hover::before{opacity:1}
.card:hover{border-color:rgba(29,224,193,.28);transform:translateY(-3px)}
.card .num{color:var(--mint);font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:42px}
.card h3{font-size:22px;margin:0 0 10px;letter-spacing:-.03em}
.card p{color:var(--muted);line-height:1.6;margin:0}
.icon{width:44px;height:44px;border:1px solid rgba(29,224,193,.28);border-radius:16px;display:grid;place-items:center;color:var(--mint);margin-bottom:24px;background:rgba(29,224,193,.06)}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.step{border:1px solid rgba(29,224,193,.17);border-radius:22px;padding:22px;background:rgba(16,23,42,.48);min-height:160px}
.step b{color:var(--mint);letter-spacing:.16em;font-size:12px}
.step h3{margin:22px 0 8px}
.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.portfolio-grid{grid-template-columns:repeat(4,1fr)}
.tile{min-height:260px;border-radius:28px;border:1px solid rgba(232,244,255,.08);overflow:hidden;position:relative;background:linear-gradient(135deg,rgba(29,224,193,.08),rgba(16,23,42,.78))}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 30%,rgba(29,224,193,.25),transparent 28%),linear-gradient(150deg,transparent,rgba(0,0,0,.38));}
.tile-content{position:absolute;bottom:0;padding:22px}
.tag{display:inline-flex;color:var(--mint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;border:1px solid rgba(29,224,193,.25);border-radius:999px;padding:7px 10px;background:rgba(8,13,26,.55);margin-bottom:12px}
.cta-banner{margin:60px clamp(22px,6vw,86px) 100px;border:1px solid rgba(29,224,193,.24);border-radius:34px;padding:54px;text-align:center;background:radial-gradient(circle at 80% 20%,rgba(29,224,193,.12),transparent 32%),rgba(16,23,42,.55)}
.footer{border-top:1px solid rgba(232,244,255,.08);padding:52px clamp(22px,6vw,86px);display:grid;grid-template-columns:1fr auto 1fr;gap:22px;color:rgba(232,244,255,.62);font-size:13px;align-items:center}
.footer>div:first-child{display:flex;align-items:center}
.footer>div:last-child{line-height:1.8}
.footer a{text-decoration:none;color:rgba(232,244,255,.72);margin:0 8px}.footer a:hover{color:var(--mint)}
.page-hero{padding:160px clamp(22px,6vw,86px) 70px}.page-hero-inner{max-width:980px}
.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px}
.panel{border:1px solid rgba(232,244,255,.08);border-radius:28px;padding:30px;background:rgba(16,23,42,.48)}
.panel p,.panel li{color:var(--muted);line-height:1.7}
.panel ul{padding-left:18px}
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:stretch}
.email-card{padding:24px;border-radius:28px;border:1px solid rgba(29,224,193,.22);background:radial-gradient(circle at 90% 12%,rgba(29,224,193,.10),transparent 34%),rgba(16,23,42,.72);margin:28px 0}
.email-card small{display:block;color:rgba(232,244,255,.56);letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:12px}
.email-card a{font-size:clamp(14px,3.2vw,22px);color:var(--mint);font-weight:700;text-decoration:none;word-break:break-word;line-height:1.28;display:inline-block}
@media(max-width:420px){.email-card a{font-size:clamp(12px,4.35vw,16px)}}
form{display:grid;gap:14px}.field{display:grid;gap:8px}label{color:rgba(232,244,255,.72);font-size:13px}
input,textarea,select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(232,244,255,.10);background:rgba(8,13,26,.64);color:var(--ice);font:inherit}
textarea{min-height:140px;resize:vertical}
.globe-card{min-height:720px;border-radius:34px;overflow:hidden;border:1px solid rgba(232,244,255,.08);position:relative;background:radial-gradient(circle at 50% 50%,rgba(29,224,193,.08),transparent 36%),rgba(16,23,42,.42);box-shadow:0 34px 120px rgba(0,0,0,.34)}
#globe{position:absolute;inset:0;cursor:grab}.globe-label{position:absolute;top:22px;left:22px;z-index:5;padding:10px 14px;border-radius:999px;background:rgba(8,13,26,.62);border:1px solid rgba(29,224,193,.24);color:var(--mint);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.controls{position:absolute;right:22px;top:22px;z-index:5;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chip{border:1px solid rgba(29,224,193,.24);background:rgba(8,13,26,.62);color:var(--ice);border-radius:999px;padding:9px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;cursor:pointer}
.chip.active{background:rgba(29,224,193,.13);color:var(--mint);border-color:rgba(29,224,193,.68)}
.tooltip{position:fixed;z-index:100;transform:translate(-50%,calc(-100% - 14px));padding:8px 10px;border-radius:999px;background:rgba(8,13,26,.84);border:1px solid rgba(29,224,193,.25);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0}
@media(max-width:1050px){.hero-inner,.two-col,.contact-layout{grid-template-columns:1fr}.grid.cards{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr}.globe-card{min-height:620px}}
@media(max-width:720px){.nav-links{display:none}.menu-toggle{display:flex}.site-header{border-radius:24px}.grid.cards,.portfolio-grid{grid-template-columns:1fr}.section{padding:82px 20px}.page-hero{padding:130px 20px 52px}.hero{padding:130px 20px 70px}.hero-orb{min-height:330px}.cta-banner{margin:40px 20px 70px;padding:36px 22px}.globe-card{min-height:560px}.controls{left:22px;right:auto;top:auto;bottom:22px}}


/* UPDATED HOME HERO: interactive cube experience */
.hero.cube-home{
  min-height:100vh;
  display:block;
  padding:0;
  overflow:hidden;
  background:#000;
}
.hero-cube-stage{
  position:absolute;
  inset:0;
  z-index:0;
}
#home-cube-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.hero-cube-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 58% 38%, rgba(29,224,193,.08), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.22) 48%, rgba(0,0,0,.86));
}
.cube-hero-nav{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:7;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:34px clamp(24px,6vw,92px);
  pointer-events:none;
}
.cube-hero-nav .mini-links{
  display:flex;
  gap:38px;
  pointer-events:auto;
}
.cube-hero-nav a{
  text-decoration:none;
  color:rgba(232,244,255,.82);
  font-size:17px;
  letter-spacing:.16em;
  font-weight:500;
  transition:.25s;
}
.cube-hero-nav a:hover{color:var(--mint);text-shadow:0 0 22px rgba(29,224,193,.28)}
.cube-hero-nav .launch-pill{
  pointer-events:auto;
  border:1px solid rgba(232,244,255,.16);
  border-radius:999px;
  padding:16px 30px;
  background:rgba(0,0,0,.24);
}
.cube-hero-copy{
  position:absolute;
  left:clamp(24px,6vw,92px);
  bottom:clamp(58px,8vw,116px);
  z-index:6;
  max-width:min(850px, calc(100% - 48px));
}
.cube-hero-copy h1{
  font-size:clamp(54px,8.4vw,132px);
  line-height:.94;
  letter-spacing:-.078em;
  margin:0;
  color:#fff;
  filter:drop-shadow(0 0 30px rgba(255,255,255,.08));
}
.cube-hero-copy h1 span{
  color:#fff;
  text-shadow:0 0 38px rgba(29,224,193,.12);
}
.cube-hero-copy .service-strip{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:rgba(232,244,255,.8);
  font-size:15px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.cube-hero-copy .service-strip span:not(:last-child)::after{
  content:"\\";
  color:rgba(29,224,193,.55);
  margin-left:18px;
}
.cube-hero-side{
  position:absolute;
  right:clamp(24px,6vw,92px);
  bottom:clamp(86px,11vw,150px);
  z-index:6;
  max-width:420px;
  color:rgba(232,244,255,.76);
  font-size:20px;
  line-height:1.42;
  letter-spacing:.08em;
}
.cube-hero-actions{
  display:flex;
  gap:14px;
  margin-top:40px;
}
.cube-action{
  text-decoration:none;
  border:1px solid rgba(232,244,255,.16);
  border-radius:999px;
  padding:17px 26px;
  color:var(--ice);
  background:rgba(0,0,0,.25);
  font-size:14px;
  letter-spacing:.08em;
  font-weight:700;
  transition:.25s;
}
.cube-action:hover{
  border-color:rgba(29,224,193,.55);
  color:var(--mint);
  transform:translateY(-2px);
}
.cube-action.plus{
  width:58px;
  height:58px;
  padding:0;
  display:grid;
  place-items:center;
  background:var(--mint);
  color:#04100d;
  border-color:var(--mint);
  font-size:28px;
}
.hover-note{
  position:absolute;
  right:clamp(24px,6vw,92px);
  top:46%;
  z-index:6;
  color:rgba(29,224,193,.62);
  font-size:11px;
  letter-spacing:.25em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
@media(max-width:900px){
  .cube-hero-nav .mini-links{display:none}
  .cube-hero-side{position:relative;right:auto;bottom:auto;margin:0 24px 90px;padding-top:72vh}
  .cube-hero-copy{bottom:210px}
  .cube-hero-copy h1{font-size:clamp(46px,15vw,82px)}
  .cube-hero-copy .service-strip{font-size:11px;gap:10px;letter-spacing:.16em}
  .cube-hero-copy .service-strip span:not(:last-child)::after{margin-left:10px}
  .hover-note{display:none}
}

body.home-page .site-header{display:none}
body.home-page main{z-index:1}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(29,224,193,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,224,193,.045) 1px,transparent 1px);
  background-size:66px 66px;
  -webkit-mask-image:radial-gradient(ellipse 82% 62% at 50% 32%, #000 0%, transparent 84%);
  mask-image:radial-gradient(ellipse 82% 62% at 50% 32%, #000 0%, transparent 84%);
}
body.home-page #bg-canvas{opacity:.55}


/* HOME VIDEO HERO UPDATE */
body.home-page .site-header{
  display:flex;
  background:rgba(0,0,0,.28);
  border-color:rgba(232,244,255,.10);
}
body.home-page .site-header .logo,
body.home-page .site-header .nav-links a{
  color:rgba(232,244,255,.88);
}
.hero.video-home{
  min-height:100vh;
  display:block;
  padding:0;
  overflow:hidden;
  position:relative;
  background:#000;
}
.hero-3d-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  /* Poster shown as a background so that if the browser (esp. Safari) blocks
     autoplay, the user sees this image — never a native play button. */
  background:#080D1A center/cover no-repeat;
}
/* Transparent layer ABOVE the video. It shows the poster image and physically
   covers Safari's native "tap to play" button so it can never be seen. It
   fades out once the video is actually playing. Because it sits on top, Safari's
   button (painted on the <video>) is hidden regardless of autoplay policy. */
.hero-video-mask{
  position:absolute;
  inset:0;
  z-index:2;
  background:#080D1A center/cover no-repeat;
  background-image:inherit;
  opacity:1;
  transition:opacity .7s ease;
  pointer-events:none;
}
.hero-3d-video.ih-video-live .hero-video-mask{
  opacity:0;
}
.hero-3d-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none; /* grade baked into video file; no per-frame filter */
  transform:scale(1.02);
  /* opacity:0 (NOT visibility:hidden / display:none) — Safari will still
     autoplay an opacity:0 video, and at 0 opacity its native play-button
     overlay is invisible too. The poster background shows underneath. Once the
     video actually plays we fade it in. */
  opacity:0;
  transition:opacity .6s ease;
}
.hero-3d-video video.ih-playing{
  opacity:1;
}
.hero-3d-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 62% 34%, rgba(29,224,193,.10), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,.07) 45%, rgba(0,0,0,.26) 100%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.24));
  pointer-events:none;
}
.hero-video-texture{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(29,224,193,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,224,193,.036) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 55% 42%, black 0%, transparent 72%);
  mix-blend-mode:screen;
  opacity:.42;
}
.hero-video-copy{
  position:relative;
  z-index:3;
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr .74fr;
  align-items:end;
  gap:40px;
  padding:150px clamp(24px,6vw,92px) clamp(58px,8vw,112px);
}
.hero-video-main h1{
  font-size:clamp(54px,8.2vw,132px);
  line-height:.92;
  letter-spacing:-.078em;
  margin:0;
  color:#fff;
  text-shadow:0 0 34px rgba(29,224,193,.10);
}
.hero-video-main h1 span{
  color:#fff;
}
.hero-video-main .service-strip{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:rgba(232,244,255,.78);
  font-size:15px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.hero-video-main .service-strip span:not(:last-child)::after{
  content:"\\";
  color:rgba(29,224,193,.62);
  margin-left:18px;
}
.hero-video-side{
  color:rgba(232,244,255,.80);
  font-size:clamp(17px,1.6vw,22px);
  line-height:1.5;
  letter-spacing:.055em;
  padding-bottom:20px;
}
.hero-video-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.hero-video-btn{
  text-decoration:none;
  border:1px solid rgba(232,244,255,.18);
  border-radius:999px;
  padding:16px 25px;
  color:var(--ice);
  background:rgba(0,0,0,.28);
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:800;
  transition:.25s;
}
.hero-video-btn:hover{
  border-color:rgba(29,224,193,.58);
  color:var(--mint);
  transform:translateY(-2px);
  box-shadow:0 0 28px rgba(29,224,193,.12);
}
.hero-video-btn.plus{
  width:56px;
  height:56px;
  padding:0;
  display:grid;
  place-items:center;
  border-color:var(--mint);
  background:var(--mint);
  color:#03110d;
  font-size:26px;
}
.hero-video-note{
  position:absolute;
  right:clamp(24px,6vw,92px);
  top:44%;
  z-index:3;
  color:rgba(29,224,193,.62);
  font-size:11px;
  letter-spacing:.25em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
@media(max-width:900px){
  .hero-video-copy{
    grid-template-columns:1fr;
    align-items:end;
    padding:130px 22px 58px;
  }
  .hero-video-main h1{font-size:clamp(48px,15vw,86px)}
  .hero-video-side{max-width:560px}
  .hero-video-note{display:none}
  .hero-video-main .service-strip{
    font-size:11px;
    gap:10px;
    letter-spacing:.16em;
  }
  .hero-video-main .service-strip span:not(:last-child)::after{margin-left:10px}
}

/* GLOBAL THREE BACKGROUND REFERENCE UPDATE */
body:not(.home-page) #bg-canvas{
  opacity:.96;
}


/* HOME HERO FINAL ADJUSTMENT: remove visual crowding and reveal more video */
.hero-video-main h1{
  font-size:clamp(44px,6.15vw,96px);
  line-height:.94;
  max-width:900px;
}
.hero-video-copy{
  grid-template-columns:.95fr .78fr;
  padding-bottom:clamp(48px,7vw,92px);
}
.hero-video-side{
  max-width:520px;
}
.hero-video-note{
  display:none !important;
}
@media(max-width:900px){
  .hero-video-main h1{
    font-size:clamp(42px,12vw,72px);
  }
}


/* HOME HERO SMALLER TEXT ADJUSTMENT */
.hero-video-main .kicker{
  font-size:10px;
  letter-spacing:.22em;
  margin-bottom:14px;
}
.hero-video-main h1{
  font-size:clamp(38px,5.25vw,78px);
  line-height:.96;
  max-width:760px;
}
.hero-video-main .service-strip{
  margin-top:22px;
  font-size:12px;
  letter-spacing:.18em;
  gap:13px;
}
.hero-video-main .service-strip span:not(:last-child)::after{
  margin-left:13px;
}
.hero-video-side{
  font-size:clamp(15px,1.28vw,18px);
  max-width:470px;
}
.hero-video-actions{
  margin-top:28px;
}
.hero-video-btn{
  padding:14px 22px;
  font-size:12px;
}
.hero-video-btn.plus{
  width:50px;
  height:50px;
  font-size:24px;
}
@media(max-width:900px){
  .hero-video-main h1{
    font-size:clamp(34px,10vw,58px);
  }
  .hero-video-main .service-strip{
    font-size:10px;
    letter-spacing:.13em;
  }
}


/* ABOUT PAGE SPACING FIX: keep intro and Vision/Mission/Values closer together */
body.about-page .about-intro-section{
  padding-bottom:26px;
}
body.about-page .about-values-section{
  padding-top:18px;
  padding-bottom:74px;
}
body.about-page .about-values-section .grid.cards{
  margin-top:0;
}
@media(max-width:720px){
  body.about-page .about-intro-section{padding-bottom:20px;}
  body.about-page .about-values-section{padding-top:14px; padding-bottom:56px;}
}


/* HOME LANDING ABOUT SECTION SPACING */
body.home-page .home-about-hero-section{
  padding-top:clamp(56px,7vh,88px);
  padding-bottom:clamp(4px,1vh,14px);
  position:relative;
}
/* About Us heading: fit on a single line on desktop/tablet */
body.home-page .home-about-hero-section .section-head{
  max-width:1320px;
  margin-bottom:0;
}
body.home-page .home-about-hero-section .section-head h2{
  font-size:clamp(1.9rem,3.3vw,3.15rem)!important;
  white-space:nowrap;
  letter-spacing:-.03em;
}
body.home-page .home-about-hero-section .section-head h2 .ih-about-mint{
  color:#8DF7E6;
  text-shadow:0 0 34px rgba(29,224,193,.20);
}
@media(max-width:900px){
  body.home-page .home-about-hero-section .section-head h2{
    white-space:normal;
    letter-spacing:-.02em;
    font-size:clamp(1.9rem,7vw,2.6rem)!important;
  }
}
body.home-page .home-about-intro-section{
  padding-top:24px;
  padding-bottom:26px;
}
body.home-page .home-about-values-section{
  padding-top:18px;
  padding-bottom:74px;
}
body.home-page .home-about-values-section .grid.cards{
  margin-top:0;
}
@media(max-width:720px){
  body.home-page .home-about-hero-section{padding-bottom:22px;}
  body.home-page .home-about-intro-section{padding-top:20px; padding-bottom:20px;}
  body.home-page .home-about-values-section{padding-top:14px; padding-bottom:56px;}
}


/* LIGHTWEIGHT PERFORMANCE PATCH */
#bg-canvas{display:none!important;}
.grid-fog{opacity:.72;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* Contact globe stability patch */
.globe-card canvas{display:block!important;outline:0!important;}
#globe > div{will-change:auto;}


/* FOOTER ONLY UPDATE: actual logo left, icon-only socials centre, countries/email/copyright right */
.footer.ih-footer-actual-logo{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto minmax(320px,1fr);
  align-items:center;
  gap:28px;
  padding:34px clamp(22px,6vw,86px);
  border-top:1px solid rgba(232,244,255,.08);
  background:linear-gradient(180deg,rgba(8,13,26,.28),rgba(8,13,26,.72));
}
.ih-footer-logo-wrap{
  display:flex;
  align-items:center;
  min-width:0;
}
.ih-footer-logo-img{
  display:block;
  width:min(260px,100%);
  height:auto;
  filter:none;
}
.ih-footer-social-icons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.ih-footer-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--mint);
  text-decoration:none;
  border:1px solid rgba(29,224,193,.42);
  background:rgba(29,224,193,.055);
  box-shadow:0 0 18px rgba(29,224,193,.08), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.ih-footer-icon:hover{
  transform:translateY(-2px);
  border-color:rgba(29,224,193,.72);
  background:rgba(29,224,193,.09);
  box-shadow:0 0 28px rgba(29,224,193,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.ih-footer-in span{
  font-size:24px;
  font-weight:900;
  font-family:Arial, Helvetica, sans-serif;
  line-height:1;
  transform:translateY(-1px);
}
.ih-instagram-glyph{
  width:24px;
  height:24px;
  border:2px solid currentColor;
  border-radius:8px;
  position:relative;
  display:block;
}
.ih-instagram-glyph::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border:2px solid currentColor;
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.ih-instagram-glyph::after{
  content:"";
  position:absolute;
  right:4px;
  top:4px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:currentColor;
}
.footer.ih-footer-actual-logo .ih-footer-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  text-align:right;
}
.ih-footer-region{
  color:rgba(232,244,255,.72);
  font-size:15px;
  line-height:1.5;
}
.ih-footer-email{
  display:block;
  color:var(--mint);
  font-size:15px;
  line-height:1.5;
  text-decoration:none;
}
.ih-footer-email:hover{
  text-decoration:none;
}
.ih-footer-copy{
  color:rgba(232,244,255,.72);
  font-size:12px;
  line-height:1.5;
  letter-spacing:.01em;
  font-weight:500;
  text-transform:none;
}
@media(max-width:860px){
  .footer.ih-footer-actual-logo{
    grid-template-columns:1fr;
    text-align:center;
  }
  .ih-footer-logo-wrap,
  .ih-footer-social-icons{
    justify-content:center;
  }
  .footer.ih-footer-actual-logo .ih-footer-right{
    align-items:center;
    text-align:center;
  }
}


/* STEP 3 — active menu circle only */
.nav-links a.is-active{
  padding:10px 14px;
  border:1px solid rgba(29,224,193,.38);
  border-radius:999px;
  color:var(--mint)!important;
  background:rgba(29,224,193,.07);
}
.nav-links a.is-active:hover{color:var(--mint)!important}
.mobile-menu a.is-active{
  color:var(--mint);
}


/* STEP 5 — header hide/show sitewide only */
.site-header{
  transition:transform .32s ease, opacity .24s ease;
  will-change:transform, opacity;
}
body.ih-header-hidden .site-header{
  transform:translate(-50%,-120%);
  opacity:0;
  pointer-events:none;
}


/* MOBILE ONLY: reduce Contact page gap between hero text and project inquiries card */
@media(max-width:600px){
  body.contact-page .page-hero{
    padding-bottom:18px;
  }
  body.contact-page .contact-layout{
    padding-top:18px;
  }
  body.contact-page .email-card{
    margin-top:0;
    margin-bottom:22px;
  }
}
@media(max-width:420px){
  body.contact-page .page-hero{
    padding-bottom:14px;
  }
  body.contact-page .contact-layout{
    padding-top:14px;
  }
}


/* SITEWIDE FLOATING WHATSAPP BUTTON */
.ih-whatsapp-float{
  position:fixed;
  right:clamp(4px,1vw,10px);
  bottom:clamp(52px,6vh,76px);
  z-index:9999;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(29,224,193,.34);
  background:rgba(8,13,26,.72);
  color:#e8f6ff;
  text-decoration:none;
  box-shadow:
    0 18px 46px rgba(0,0,0,.34),
    0 0 26px rgba(29,224,193,.13),
    inset 0 1px 0 rgba(255,255,255,.08);

  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.ih-whatsapp-float:hover{
  transform:translateY(-2px) scale(1.03);
  border-color:rgba(29,224,193,.68);
  background:rgba(10,22,32,.86);
  box-shadow:
    0 22px 56px rgba(0,0,0,.42),
    0 0 34px rgba(29,224,193,.24),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.ih-whatsapp-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(29,224,193,.10);
  box-shadow:0 0 18px rgba(29,224,193,.18);
  flex:0 0 auto;
}
.ih-whatsapp-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:#1de0c1;
}
.ih-whatsapp-label{
  display:none;
}
@media(max-width:600px){
  .ih-whatsapp-float{
    right:6px;
    bottom:74px;
    width:52px;
    height:52px;
  }
  .ih-whatsapp-icon{
    width:28px;
    height:28px;
  }
  .ih-whatsapp-icon svg{
    width:18px;
    height:18px;
  }
}

/* EXTRA FLOATING FEEL FOR WHATSAPP BUTTON */
@keyframes ihWhatsappFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}
.ih-whatsapp-float{
  animation:ihWhatsappFloat 3.4s ease-in-out infinite;
}
.ih-whatsapp-float:hover{
  animation-play-state:paused;
  transform:translateY(-4px) scale(1.03);
}
@media (prefers-reduced-motion: reduce){
  .ih-whatsapp-float{
    animation:none;
  }
}


/* SAFE SOFT REVEAL ONLY
   Adds scroll fade/rise only. No hover glow, no card tilt, no Services constellation/stage transforms. */
.ih-safe-reveal{
  opacity:0;
  transform:translateY(22px);
  filter:blur(6px);
  transition:
    opacity .68s ease,
    transform .68s cubic-bezier(.18,.84,.2,1),
    filter .68s ease;
  transition-delay:var(--ih-safe-reveal-delay,0ms);
}
.ih-safe-reveal.ih-safe-in-view{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
@media(max-width:720px){
  .ih-safe-reveal{
    transform:translateY(14px);
    filter:blur(4px);
    transition-duration:.56s;
  }
}
@media(prefers-reduced-motion:reduce){
  .ih-safe-reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}








/* HOMEPAGE CTA TUNED ONLY */
.cta-banner.home-cta-compact{
  width:auto!important;
  max-width:none!important;
  margin:34px clamp(22px,6vw,86px) 82px!important;
  padding:28px clamp(34px,5vw,64px) 30px!important;
  border-radius:28px!important;
  border-color:rgba(29,224,193,.20)!important;
  background:
    radial-gradient(circle at 82% 18%, rgba(29,224,193,.10), transparent 34%),
    linear-gradient(180deg, rgba(16,23,42,.58), rgba(8,13,26,.62))!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.cta-banner.home-cta-compact h2{
  max-width:none!important;
  margin:0 auto!important;
  font-size:clamp(36px, 4.2vw, 64px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.cta-banner.home-cta-compact .lead{
  max-width:760px!important;
  margin:14px auto 0!important;
  font-size:clamp(14px, 1.25vw, 18px)!important;
  line-height:1.5!important;
}
.cta-banner.home-cta-compact .btn-row{
  margin-top:20px!important;
}
.cta-banner.home-cta-compact .btn{
  padding:12px 20px!important;
  min-height:44px!important;
  font-size:11px!important;
  letter-spacing:.11em!important;
}
@media(max-width:900px){
  .cta-banner.home-cta-compact h2{
    font-size:clamp(30px, 6.1vw, 52px)!important;
  }
}
@media(max-width:720px){
  .cta-banner.home-cta-compact{
    margin:30px 18px 68px!important;
    padding:25px 20px 27px!important;
    border-radius:22px!important;
  }
  .cta-banner.home-cta-compact h2{
    font-size:clamp(30px, 8.4vw, 42px)!important;
    white-space:normal!important;
  }
  .cta-banner.home-cta-compact .lead{
    max-width:330px!important;
    font-size:14px!important;
  }
}

@media(max-width:420px){
  .logo{
    font-size:13.8px;
    gap:10px;
  }
  .logo-mark{
    width:38px;
    height:38px;
    border-radius:13px;
  }
  .logo-mark img{
    width:28px;
    height:28px;
  }
}


/* PROCESS CTA TIGHTNESS MATCHES HOMEPAGE CTA */
.cta-banner.process-cta-compact{
  width:auto!important;
  max-width:none!important;
  margin:34px clamp(22px,6vw,86px) 82px!important;
  padding:28px clamp(34px,5vw,64px) 30px!important;
  border-radius:28px!important;
  border-color:rgba(29,224,193,.20)!important;
  background:
    radial-gradient(circle at 82% 18%, rgba(29,224,193,.10), transparent 34%),
    linear-gradient(180deg, rgba(16,23,42,.58), rgba(8,13,26,.62))!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.cta-banner.process-cta-compact h2{
  max-width:none!important;
  margin:0 auto!important;
  font-size:clamp(36px, 4.2vw, 64px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.cta-banner.process-cta-compact .btn-row{
  margin-top:20px!important;
}
.cta-banner.process-cta-compact .btn{
  padding:12px 20px!important;
  min-height:44px!important;
  font-size:11px!important;
  letter-spacing:.11em!important;
}
@media(max-width:900px){
  .cta-banner.process-cta-compact h2{
    font-size:clamp(30px, 6.1vw, 52px)!important;
  }
}
@media(max-width:720px){
  .cta-banner.process-cta-compact{
    margin:30px 18px 68px!important;
    padding:25px 20px 27px!important;
    border-radius:22px!important;
  }
  .cta-banner.process-cta-compact h2{
    font-size:clamp(30px, 8.4vw, 42px)!important;
    white-space:normal!important;
  }
}


/* SITEWIDE TYPOGRAPHY STANDARDIZATION
   One consistent heading/subheading scale across Home, Services, Work, Process, Contact, and service detail pages. */
:root{
  --ih-kicker-size:12px;
  --ih-kicker-letter:.22em;
  --ih-title-size:clamp(2.35rem, 4.45vw, 4.55rem);
  --ih-title-line:.96;
  --ih-title-letter:-.052em;
  --ih-sub-size:clamp(1rem, 1.18vw, 1.08rem);
  --ih-sub-line:1.68;
  --ih-card-title-size:1.05rem;
  --ih-card-body-size:.98rem;
}

/* Small label / kicker consistency */
.kicker,
.ihwc-kicker,
.ihsvc-light-kicker,
.ihwork-pro-kicker,
.ih-lite-kicker,
.ih-service-kicker{
  font-size:var(--ih-kicker-size)!important;
  letter-spacing:var(--ih-kicker-letter)!important;
  line-height:1.15!important;
  font-weight:800!important;
}

/* Main headings across pages and major sections */
.page-hero h1,
.section-head h2,
.ihwc-title,
.ihsvc-light-title,
.ihwork-pro-title,
.ih-lite-head h2,
.ih-service-title,
.cta-banner.home-cta-compact h2,
.cta-banner.process-cta-compact h2{
  font-size:var(--ih-title-size)!important;
  line-height:var(--ih-title-line)!important;
  letter-spacing:var(--ih-title-letter)!important;
  font-weight:900!important;
}

/* Preserve Work title consistency between both words */
.ihwork-pro-title span{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  font-weight:inherit!important;
}

/* Subheading / lead consistency */
.lead,
.section-head p,
.ihwc-subtitle,
.ihsvc-light-sub,
.ih-lite-head p,
.ih-service-lead{
  font-size:var(--ih-sub-size)!important;
  line-height:var(--ih-sub-line)!important;
  letter-spacing:0!important;
}

/* Content card headings and body copy consistency */
.card h3,
.ih-content-card h3,
.ih-lite-card h3,
.email-card small,
.globe-label,
.ihwork-pro-card-title{
  font-size:var(--ih-card-title-size)!important;
  line-height:1.18!important;
  letter-spacing:-.01em!important;
}

.card p,
.panel p,
.ih-content-card p,
.ih-lite-card p,
.ihwork-pro-category{
  font-size:var(--ih-card-body-size)!important;
  line-height:1.58!important;
}

/* CTA headings may wrap naturally on smaller screens but keep the same scale */
.cta-banner.home-cta-compact h2,
.cta-banner.process-cta-compact h2{
  white-space:normal!important;
  text-wrap:balance;
}

/* Mobile type rhythm */
@media(max-width:720px){
  :root{
    --ih-title-size:clamp(2rem, 9vw, 3.35rem);
    --ih-sub-size:.98rem;
  }
  .page-hero h1,
  .section-head h2,
  .ihwc-title,
  .ihsvc-light-title,
  .ihwork-pro-title,
  .ih-lite-head h2,
  .ih-service-title,
  .cta-banner.home-cta-compact h2,
  .cta-banner.process-cta-compact h2{
    line-height:1!important;
  }
}


/* WORK CARD TEXT RESTORE
   Restores the older nicer Work card text look and removes ellipsis/cut-off behavior. */
.ihwork-pro-meta{
  left:16px!important;
  right:16px!important;
  bottom:16px!important;
  padding:15px 16px!important;
  border-radius:22px!important;
  max-height:none!important;
  overflow:visible!important;
}
.ihwork-pro-card-title{
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:clamp(1.04rem,1.24vw,1.28rem)!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
.ihwork-pro-category{
  display:block!important;
  margin-top:9px!important;
  color:rgba(232,246,255,.68)!important;
  text-transform:uppercase!important;
  letter-spacing:.095em!important;
  font-size:clamp(.56rem,.72vw,.66rem)!important;
  line-height:1.22!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.ihwork-pro-placeholder::before{
  width:50%!important;
  transform:translateY(-12px)!important;
}
.ihwork-pro-placeholder::after{
  bottom:31%!important;
}
@media(max-width:580px){
  .ihwork-pro-meta{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    padding:12px 13px!important;
    border-radius:18px!important;
  }
  .ihwork-pro-card-title{
    font-size:clamp(.96rem,4.8vw,1.08rem)!important;
  }
  .ihwork-pro-category{
    font-size:.56rem!important;
    margin-top:7px!important;
  }
}

/* REFINED HOME WHO WE ARE + FOUNDATION
   Scoped only to the homepage intro/foundation modules. */
body.home-page .ih-home-who-refined{
  padding-top:24px!important;
  padding-bottom:26px!important;
}
body.home-page .ih-home-who-refined-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(310px,.62fr) minmax(0,1.38fr);
  min-height:clamp(360px,32vw,500px);
  border:1px solid rgba(232,244,255,.08);
  border-radius:38px;
  background:
    radial-gradient(circle at 8% 22%, rgba(29,224,193,.12), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(29,224,193,.09), transparent 34%),
    linear-gradient(180deg, rgba(16,23,42,.70), rgba(8,13,26,.56));
  box-shadow:
    0 22px 70px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.045);
  isolation:isolate;
}
body.home-page .ih-home-who-refined-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(29,224,193,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,224,193,.05) 1px, transparent 1px);
  background-size:76px 76px;
  opacity:.16;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.18), rgba(0,0,0,.44));
  pointer-events:none;
  z-index:-2;
}
body.home-page .ih-home-who-refined-card::after{
  content:"";
  position:absolute;
  width:30rem;
  height:30rem;
  right:-11rem;
  top:-15rem;
  border-radius:50%;
  background:rgba(29,224,193,.105);
  filter:blur(12px);
  pointer-events:none;
  z-index:-1;
}
body.home-page .ih-home-who-refined-title-panel{
  position:relative;
  display:flex;
  align-items:center;
  border-right:1px solid rgba(232,244,255,.08);
  padding:clamp(38px,4.8vw,64px);
}
body.home-page .ih-home-who-refined-rail{
  position:absolute;
  left:clamp(30px,3.6vw,52px);
  top:clamp(54px,5vw,76px);
  bottom:clamp(54px,5vw,76px);
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--mint), rgba(29,224,193,.22));
  box-shadow:0 0 24px rgba(29,224,193,.42);
}
body.home-page .ih-home-who-refined-rail::after{
  content:"";
  position:absolute;
  top:0;
  left:14px;
  width:118px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(29,224,193,.78), transparent);
}
body.home-page .ih-home-who-refined-title{
  margin:0 0 0 clamp(34px,4vw,60px)!important;
  max-width:9ch;
  color:rgba(232,246,255,.94);
  font-size:clamp(3rem,4.55vw,5.35rem)!important;
  line-height:.92!important;
  letter-spacing:-.07em!important;
  font-weight:950!important;
  text-transform:none!important;
  text-wrap:balance;
}


/* TEST FOLDER: clean meaningful SVG icons for Who We Are blocks */
body.home-page .ih-home-who-left-icon{
  position:relative;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(29,224,193,.28);
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 46%, rgba(29,224,193,.13), transparent 54%),
    linear-gradient(180deg, rgba(16,23,42,.54), rgba(8,13,26,.50));
  box-shadow:
    0 0 20px rgba(29,224,193,.08),
    inset 0 1px 0 rgba(255,255,255,.055);
  overflow:hidden;
}
body.home-page .ih-home-who-left-icon::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:12px;
  background:radial-gradient(circle, rgba(29,224,193,.10), transparent 64%);
  pointer-events:none;
}
body.home-page .ih-feature-svg{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  overflow:visible;
}
body.home-page .ih-feature-svg path,
body.home-page .ih-feature-svg rect,
body.home-page .ih-feature-svg circle{
  fill:none;
  stroke:rgba(29,224,193,.86);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(29,224,193,.22));
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(1){
  fill:rgba(29,224,193,.12);
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle{
  fill:rgba(29,224,193,.18);
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:first-child{
  fill:rgba(29,224,193,.14);
}
body.home-page .ih-home-who-left-feature:hover .ih-home-who-left-icon{
  border-color:rgba(29,224,193,.42);
  box-shadow:
    0 0 28px rgba(29,224,193,.14),
    inset 0 1px 0 rgba(255,255,255,.065);
}
@media(max-width:720px){
  body.home-page .ih-home-who-left-icon{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
  }
  body.home-page .ih-feature-svg{
    width:31px;
    height:31px;
  }
}




/* cinematic */
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg{
  animation:ihIconFloatCinematic 11.4s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg rect:first-of-type{
  animation:ihCineBackPlate 12.4s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg rect:last-of-type{
  animation:ihCineFrontPlate 11.7s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(1){
  animation:ihCinePlayPulse 7.6s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(2){
  animation:ihCineUnderlineSweep 9.3s ease-in-out infinite;
}

/* interactive */
body.home-page .ih-home-who-icon-interactive .ih-feature-svg{
  animation:ihIconFloatInteractive 11.9s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:first-of-type{
  animation:ihInteractiveFrameTurn 12.6s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:nth-of-type(2),
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:nth-of-type(3){
  animation:ihInteractiveInnerSlide 9.6s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:first-of-type{
  animation:ihInteractiveCorePulse 6.4s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(2){
  animation:ihInteractiveNodeLeft 10.4s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(3){
  animation:ihInteractiveNodeRight 10.4s ease-in-out infinite;
}

/* moments */
body.home-page .ih-home-who-icon-moments .ih-feature-svg{
  animation:ihIconFloatMoments 10.8s cubic-bezier(.45,.05,.22,.98) infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:first-of-type{
  animation:ihMomentsSparkTurn 8.5s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(2){
  animation:ihMomentsEchoOne 9.4s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(3){
  animation:ihMomentsEchoTwo 9.4s ease-in-out infinite .35s;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg circle{
  animation:ihMomentsAccentBlink 6.1s ease-in-out infinite;
}

@keyframes ihIconHalo{
  0%,100%{box-shadow:0 0 20px rgba(29,224,193,.08), inset 0 1px 0 rgba(255,255,255,.055)}
  50%{box-shadow:0 0 24px rgba(29,224,193,.12), inset 0 1px 0 rgba(255,255,255,.065)}
}
@keyframes ihInnerHalo{
  0%,100%{opacity:.48; transform:scale(1)}
  50%{opacity:.72; transform:scale(1.018)}
}
@keyframes ihIconFloatBase{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-.35px)}
}
@keyframes ihIconFloatCinematic{
  0%,100%{transform:translate(0,0) rotate(-.5deg)}
  25%{transform:translate(.35px,-.5px) rotate(.15deg)}
  50%{transform:translate(0,-.75px) rotate(.55deg)}
  75%{transform:translate(-.35px,-.25px) rotate(.1deg)}
}
@keyframes ihCineBackPlate{
  0%,100%{transform:translate(-.7px,-.55px) rotate(-1.8deg)}
  50%{transform:translate(-.12px,-.8px) rotate(-.7deg)}
}
@keyframes ihCineFrontPlate{
  0%,100%{transform:translate(.1px,0) rotate(0deg)}
  50%{transform:translate(-.4px,.45px) rotate(1.1deg)}
}
@keyframes ihCinePlayPulse{
  0%,100%{transform:scale(1); opacity:1}
  50%{transform:scale(1.04); opacity:.97}
}
@keyframes ihCineUnderlineSweep{
  0%,100%{transform:translateX(0); opacity:.82}
  50%{transform:translateX(1.1px); opacity:1}
}

@keyframes ihIconFloatInteractive{
  0%,100%{transform:translate(0,0) rotate(.15deg)}
  33%{transform:translate(-.45px,-.4px) rotate(-.45deg)}
  66%{transform:translate(.45px,-.55px) rotate(.5deg)}
}
@keyframes ihInteractiveFrameTurn{
  0%,100%{transform:rotate(0deg)}
  25%{transform:rotate(-2deg)}
  50%{transform:rotate(0deg)}
  75%{transform:rotate(2deg)}
}
@keyframes ihInteractiveInnerSlide{
  0%,100%{transform:translateX(0) translateY(0)}
  50%{transform:translateX(.7px) translateY(.28px)}
}
@keyframes ihInteractiveCorePulse{
  0%,100%{transform:scale(1); opacity:1}
  50%{transform:scale(1.11); opacity:.94}
}
@keyframes ihInteractiveNodeLeft{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-.85px,.5px)}
}
@keyframes ihInteractiveNodeRight{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(.85px,-.5px)}
}

@keyframes ihIconFloatMoments{
  0%,100%{transform:translate(0,0) rotate(-.2deg)}
  50%{transform:translate(0,-.65px) rotate(.45deg)}
}
@keyframes ihMomentsSparkTurn{
  0%,100%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(5deg) scale(1.03)}
}
@keyframes ihMomentsEchoOne{
  0%,100%{transform:translateY(0); opacity:.84}
  50%{transform:translateY(.45px); opacity:1}
}
@keyframes ihMomentsEchoTwo{
  0%,100%{transform:translateY(0); opacity:.8}
  50%{transform:translateY(-.45px); opacity:.98}
}
@keyframes ihMomentsAccentBlink{
  0%,100%{transform:scale(1); opacity:.95}
  50%{transform:scale(1.17); opacity:1}
}

@media (prefers-reduced-motion: reduce){
  body.home-page .ih-home-who-left-icon,
  body.home-page .ih-home-who-left-icon::after,
  body.home-page .ih-home-who-left-icon .ih-feature-svg,
  body.home-page .ih-home-who-left-icon .ih-feature-svg *{
    animation:none!important;
  }
}


body.home-page .ih-home-who-refined-copy-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,4.6vw,64px);
}
body.home-page .ih-home-who-refined-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--mint);
  text-transform:uppercase;
  letter-spacing:.20em;
  font-size:12px;
  font-weight:850;
  margin-bottom:16px;
}
body.home-page .ih-home-who-refined-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 14px var(--mint);
  flex:0 0 auto;
}
body.home-page .ih-home-who-refined-copy-panel h3{
  margin:0 0 22px;
  max-width:780px;
  color:var(--ice);
  font-size:clamp(1.85rem,2.9vw,3.25rem);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:900;
}
body.home-page .ih-home-who-refined-copy-panel p{
  margin:0;
  max-width:76ch;
  color:var(--muted);
  font-size:clamp(.96rem,1.1vw,1.07rem);
  line-height:1.72;
}
body.home-page .ih-home-who-refined-copy-panel p + p{
  margin-top:16px;
}
body.home-page .ih-home-who-refined-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  margin-top:clamp(24px,2.6vw,34px);
}
body.home-page .ih-home-who-refined-actions .btn{
  min-height:46px;
  padding:13px 20px;
  border-color:rgba(29,224,193,.38);
  box-shadow:0 0 28px rgba(29,224,193,.08);
}
body.home-page .ih-home-who-refined-actions span{
  max-width:36ch;
  color:rgba(232,246,255,.58);
  font-size:.86rem;
  line-height:1.45;
}

/* Refined Vision / Mission / Values */
body.home-page .ih-home-foundation{
  padding-top:18px!important;
  padding-bottom:74px!important;
}
body.home-page .ih-home-foundation-head{
  max-width:900px;
  margin-bottom:24px;
}
body.home-page .ih-home-foundation-head h2{
  margin:0;
  font-size:clamp(2.1rem,3.8vw,4.3rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}
body.home-page .ih-home-foundation-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  border:1px solid rgba(232,244,255,.08);
  border-radius:38px;
  padding:clamp(18px,2vw,28px);
  background:
    radial-gradient(circle at 8% 16%, rgba(29,224,193,.10), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(29,224,193,.08), transparent 34%),
    linear-gradient(180deg, rgba(16,23,42,.54), rgba(8,13,26,.46));
  box-shadow:
    0 22px 70px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04);
  isolation:isolate;
}
body.home-page .ih-home-foundation-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(29,224,193,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,224,193,.04) 1px, transparent 1px);
  background-size:76px 76px;
  opacity:.14;
  pointer-events:none;
  z-index:-2;
}
body.home-page .ih-home-foundation-card::after{
  content:"";
  position:absolute;
  width:28rem;
  height:28rem;
  right:-12rem;
  top:-15rem;
  border-radius:50%;
  background:rgba(29,224,193,.09);
  filter:blur(12px);
  pointer-events:none;
  z-index:-1;
}
body.home-page .ih-home-foundation-rail{
  position:absolute;
  left:calc(clamp(18px,2vw,28px) + 7%);
  right:calc(clamp(18px,2vw,28px) + 7%);
  top:92px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(29,224,193,.30), transparent);
  pointer-events:none;
}
body.home-page .ih-home-foundation-item{
  position:relative;
  min-height:260px;
  padding:clamp(28px,3vw,42px);
  border:1px solid rgba(232,244,255,.08);
  border-radius:30px;
  background:rgba(8,13,26,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
body.home-page .ih-home-foundation-item::before{
  content:"";
  position:absolute;
  left:34px;
  top:28px;
  width:132px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(29,224,193,.88), transparent);
}
body.home-page .ih-home-foundation-item::after{
  content:"";
  position:absolute;
  right:28px;
  bottom:28px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 18px rgba(29,224,193,.62);
}
body.home-page .ih-home-foundation-item .num{
  margin:40px 0 58px;
  color:var(--mint);
  font-size:12px;
  letter-spacing:.18em;
  font-weight:850;
}
body.home-page .ih-home-foundation-item h3{
  margin:0 0 14px;
  color:var(--ice);
  font-size:clamp(1.35rem,1.6vw,1.72rem);
  line-height:1.1;
  letter-spacing:-.035em;
}
body.home-page .ih-home-foundation-item p{
  margin:0;
  color:var(--muted);
  font-size:clamp(.95rem,1.05vw,1.05rem);
  line-height:1.66;
}
@media(max-width:1050px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:1fr;
    min-height:0;
  }
  body.home-page .ih-home-who-refined-title-panel{
    min-height:220px;
    border-right:0;
    border-bottom:1px solid rgba(232,244,255,.08);
  }
  body.home-page .ih-home-who-refined-title{
    max-width:none;
    font-size:clamp(2.8rem,8vw,4.7rem)!important;
  }
  body.home-page .ih-home-foundation-card{
    grid-template-columns:1fr;
  }
  body.home-page .ih-home-foundation-rail{
    display:none;
  }
  body.home-page .ih-home-foundation-item{
    min-height:0;
  }
  body.home-page .ih-home-foundation-item .num{
    margin:36px 0 28px;
  }
}
@media(max-width:720px){
  body.home-page .ih-home-who-refined,
  body.home-page .ih-home-foundation{
    padding-top:20px!important;
  }
  body.home-page .ih-home-who-refined-card,
  body.home-page .ih-home-foundation-card{
    border-radius:28px;
  }
  body.home-page .ih-home-who-refined-title-panel,
  body.home-page .ih-home-who-refined-copy-panel{
    padding:30px 22px;
  }
  body.home-page .ih-home-who-refined-title-panel{
    min-height:174px;
  }
  body.home-page .ih-home-who-refined-rail{
    left:24px;
    top:38px;
    bottom:38px;
  }
  body.home-page .ih-home-who-refined-rail::after{
    width:88px;
  }
  body.home-page .ih-home-who-refined-title{
    margin-left:34px!important;
    font-size:clamp(2.35rem,11vw,3.7rem)!important;
  }
  body.home-page .ih-home-who-refined-actions{
    align-items:flex-start;
    flex-direction:column;
  }
  body.home-page .ih-home-foundation-head{
    margin-bottom:18px;
  }
  body.home-page .ih-home-foundation-item{
    padding:30px 24px;
    border-radius:24px;
  }
}

/* TEST FOLDER V2: Who CTA + Foundation heading refinements */
body.home-page .ih-home-who-refined-kicker{
  display:none!important;
}
body.home-page .ih-home-who-refined-copy-panel h3{
  margin-top:0!important;
}
body.home-page .ih-home-who-refined-actions{
  justify-content:center!important;
  margin-top:clamp(30px,3.2vw,46px)!important;
}
body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
  min-width:clamp(270px,25vw,390px)!important;
  justify-content:center!important;
  padding:15px 34px!important;
  min-height:52px!important;
}
body.home-page .ih-home-foundation-head h2{
  max-width:880px!important;
}
@media(max-width:720px){
  body.home-page .ih-home-who-refined-actions{
    align-items:center!important;
  }
  body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
    width:100%!important;
    min-width:0!important;
  }
}

/* TEST FOLDER: reveal Foundation and Why Choose Us on scroll */
body.home-page .ih-home-foundation-head.ih-safe-reveal,
body.home-page .ih-home-foundation-card.ih-safe-reveal,
body.home-page .ih-home-foundation-item.ih-safe-reveal,
body.home-page .ihwc-head.ih-safe-reveal,
body.home-page .ihwc-stage.ih-safe-reveal,
body.home-page .ihwc-bottom.ih-safe-reveal{
  will-change:opacity, transform;
}
/* drop the layer hint once revealed so it isn't held in memory forever */
body.home-page .ih-safe-reveal.ih-safe-in-view{
  will-change:auto;
}
body.home-page .ihwc-stage.ih-safe-reveal{
  transform:translateY(18px);
}
body.home-page .ihwc-stage.ih-safe-reveal.ih-safe-in-view{
  transform:translateY(0);
}
@media(max-width:720px){
  body.home-page .ihwc-stage.ih-safe-reveal{
    transform:translateY(12px);
  }
}

/* TEST FOLDER: Who We Are left feature blocks + cleaner CTA arrow */
body.home-page .ih-home-who-refined-card{
  grid-template-columns:minmax(360px,.76fr) minmax(0,1.24fr)!important;
  min-height:clamp(500px,42vw,650px)!important;
}
body.home-page .ih-home-who-refined-title-panel{
  align-items:flex-start!important;
  justify-content:center!important;
  padding:clamp(42px,4.8vw,66px)!important;
  gap:clamp(28px,3.1vw,42px);
}
body.home-page .ih-home-who-refined-title{
  margin:0 0 0 clamp(34px,4vw,60px)!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(2.15rem,3.05vw,3.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  text-transform:none!important;
}
body.home-page .ih-home-who-refined-rail{
  top:clamp(52px,5vw,72px)!important;
  bottom:clamp(52px,5vw,72px)!important;
}
body.home-page .ih-home-who-left-features{
  width:100%;
  max-width:440px;
  margin-left:clamp(34px,4vw,60px);
  display:grid;
  gap:0;
  border-top:1px solid rgba(232,246,255,.09);
  border-bottom:1px solid rgba(232,246,255,.09);
}
body.home-page .ih-home-who-left-feature{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-height:82px;
  padding:14px 0;
  border-bottom:1px solid rgba(232,246,255,.075);
}
body.home-page .ih-home-who-left-feature:last-child{
  border-bottom:0;
}
body.home-page .ih-home-who-left-feature > span:last-child{
  color:rgba(232,246,255,.88);
  font-size:clamp(.86rem,1vw,1.02rem);
  line-height:1.24;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
body.home-page .ih-home-who-refined-copy-panel{
  padding:clamp(42px,4.8vw,68px)!important;
}
body.home-page .ih-home-who-refined-actions{
  justify-content:flex-start!important;
  margin-top:clamp(30px,3vw,42px)!important;
}
body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
  min-width:clamp(300px,27vw,420px)!important;
  justify-content:center!important;
  gap:18px;
}
body.home-page .ih-home-who-refined-main-cta .ih-cta-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--mint);
  font-size:1.55em;
  line-height:0;
  transform:translateY(-1px);
  transition:transform .25s ease;
}
body.home-page .ih-home-who-refined-main-cta:hover .ih-cta-arrow{
  transform:translate(5px,-1px);
}
@media(max-width:1050px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  body.home-page .ih-home-who-refined-title-panel{
    min-height:0!important;
    padding:32px 26px!important;
  }
  body.home-page .ih-home-who-left-features{
    max-width:none;
  }
}
@media(max-width:720px){
  body.home-page .ih-home-who-refined-title{
    white-space:normal!important;
    font-size:clamp(2rem,10vw,3.05rem)!important;
  }
  body.home-page .ih-home-who-left-features{
    margin-left:34px;
    max-width:calc(100% - 34px);
  }
  body.home-page .ih-home-who-left-feature{
    grid-template-columns:50px minmax(0,1fr);
    gap:14px;
    min-height:74px;
  }
  body.home-page .ih-home-who-left-icon{
    width:46px;
    height:46px;
    border-radius:14px;
  }
  body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
    width:100%!important;
    min-width:0!important;
  }
}

/* FIX: Who We Are left feature blocks stacked correctly */
body.home-page .ih-home-who-refined-card{
  grid-template-columns:minmax(400px,.70fr) minmax(0,1.30fr)!important;
  min-height:clamp(520px,42vw,660px)!important;
}
body.home-page .ih-home-who-refined-title-panel{
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:clamp(46px,5vw,74px) clamp(34px,4.6vw,64px)!important;
  gap:clamp(28px,3vw,40px)!important;
}
body.home-page .ih-home-who-refined-title{
  margin:0 0 0 clamp(36px,4vw,58px)!important;
  max-width:100%!important;
  white-space:nowrap!important;
  font-size:clamp(2.2rem,2.85vw,3.45rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
body.home-page .ih-home-who-left-features{
  width:min(100%,390px)!important;
  max-width:390px!important;
  margin-left:clamp(36px,4vw,58px)!important;
  border-top:1px solid rgba(232,246,255,.08)!important;
  border-bottom:1px solid rgba(232,246,255,.08)!important;
}
body.home-page .ih-home-who-left-feature{
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:16px!important;
  min-height:78px!important;
  padding:13px 0!important;
}
body.home-page .ih-home-who-left-feature > span:last-child{
  color:rgba(232,246,255,.88)!important;
  font-size:clamp(.88rem,.92vw,.98rem)!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  white-space:normal!important;
}
body.home-page .ih-home-who-left-icon{
  width:48px!important;
  height:48px!important;
  border-radius:15px!important;
}
body.home-page .ih-home-who-refined-copy-panel{
  padding:clamp(46px,5vw,74px)!important;
}
body.home-page .ih-home-who-refined-copy-panel h3{
  max-width:760px!important;
  font-size:clamp(2rem,2.9vw,3.25rem)!important;
}
body.home-page .ih-home-who-refined-actions{
  justify-content:flex-start!important;
}
@media(max-width:1180px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr)!important;
  }
  body.home-page .ih-home-who-left-features{
    width:min(100%,340px)!important;
    max-width:340px!important;
  }
}
@media(max-width:1050px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  body.home-page .ih-home-who-refined-title-panel{
    min-height:0!important;
    padding:34px 26px!important;
  }
  body.home-page .ih-home-who-left-features{
    width:calc(100% - 58px)!important;
    max-width:560px!important;
  }
}
@media(max-width:720px){
  body.home-page .ih-home-who-refined-title{
    white-space:normal!important;
    font-size:clamp(2rem,10vw,3rem)!important;
  }
  body.home-page .ih-home-who-left-features{
    width:calc(100% - 34px)!important;
    margin-left:34px!important;
  }
  body.home-page .ih-home-who-left-feature{
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:72px!important;
  }
  body.home-page .ih-home-who-left-feature > span:last-child{
    font-size:.92rem!important;
  }
}


/* Cinematic Concepts: slow lens-like rotation with tiny play pulse */
body.home-page .ih-home-who-icon-cinematic::after{
  animation-duration:6.8s;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg{
  animation:ihIconCinematicRock 5.8s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(1){
  animation:ihIconPlayPulse 2.8s ease-in-out infinite;
}

/* Interactive Environments: sideways cube tilt + node response */
body.home-page .ih-home-who-icon-interactive::after{
  animation:ihIconRingSpinReverse 8.6s linear infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg{
  animation:ihIconInteractiveTilt 5.4s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:first-of-type{
  animation:ihIconNodePulse 2.4s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(2){
  animation:ihIconNodeLeft 3.6s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(3){
  animation:ihIconNodeRight 3.6s ease-in-out infinite;
}

/* Memorable Brand Moments: actual clean sparkle rotation */
body.home-page .ih-home-who-icon-moments::after{
  animation-duration:9.2s;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:first-of-type{
  animation:ihIconSparkSpin 6.4s linear infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(2){
  animation:ihIconEchoLower 3.7s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(3){
  animation:ihIconEchoUpper 3.7s ease-in-out infinite;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg circle{
  animation:ihIconDotPulse 2.9s ease-in-out infinite;
}

body.home-page .ih-home-who-left-feature:hover .ih-home-who-left-icon::after{
  animation-duration:3.8s;
}
body.home-page .ih-home-who-left-feature:hover .ih-feature-svg,
body.home-page .ih-home-who-left-feature:hover .ih-feature-svg *{
  animation-duration:70%;
}

@keyframes ihIconRingSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes ihIconRingSpinReverse{
  from{transform:rotate(360deg);}
  to{transform:rotate(0deg);}
}
@keyframes ihIconCinematicRock{
  0%,100%{transform:rotate(-4deg) translateY(0);}
  50%{transform:rotate(5deg) translateY(-1px);}
}
@keyframes ihIconPlayPulse{
  0%,100%{transform:scale(1); opacity:1;}
  50%{transform:scale(1.18); opacity:.86;}
}
@keyframes ihIconInteractiveTilt{
  0%,100%{transform:rotateY(0deg) rotate(-3deg);}
  50%{transform:rotateY(28deg) rotate(4deg);}
}
@keyframes ihIconNodePulse{
  0%,100%{transform:scale(1); opacity:1;}
  50%{transform:scale(1.35); opacity:.78;}
}
@keyframes ihIconNodeLeft{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-2px,2px);}
}
@keyframes ihIconNodeRight{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(2px,-2px);}
}
@keyframes ihIconSparkSpin{
  from{transform:rotate(0deg) scale(1);}
  50%{transform:rotate(180deg) scale(1.08);}
  to{transform:rotate(360deg) scale(1);}
}
@keyframes ihIconEchoLower{
  0%,100%{transform:translateY(0); opacity:.78;}
  50%{transform:translateY(2px); opacity:1;}
}
@keyframes ihIconEchoUpper{
  0%,100%{transform:translateY(0); opacity:.72;}
  50%{transform:translateY(-2px); opacity:1;}
}
@keyframes ihIconDotPulse{
  0%,100%{transform:scale(1); opacity:.9;}
  50%{transform:scale(1.45); opacity:1;}
}

@media (prefers-reduced-motion: reduce){
  body.home-page .ih-home-who-left-icon::after,
  body.home-page .ih-feature-svg,
  body.home-page .ih-feature-svg *{
    animation:none!important;
  }
}





/* cinematic concepts: film frame drift + centered play pulse */
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg{
  animation:ihIconOnlyCineFloat 6.8s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg rect:first-of-type{
  animation:ihIconOnlyCineRear 7.6s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg rect:last-of-type{
  animation:ihIconOnlyCineFront 6.2s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(1){
  animation:ihIconOnlyCinePlay 2.9s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(2){
  animation:ihIconOnlyCineLine 4.8s ease-in-out infinite !important;
}

/* interactive environments: subtle 3d rock + living nodes */
body.home-page .ih-home-who-icon-interactive .ih-feature-svg{
  animation:ihIconOnlyInteractiveFloat 7.2s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:first-of-type{
  animation:ihIconOnlyInteractiveFrame 6.4s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:nth-of-type(2){
  animation:ihIconOnlyInteractiveTop 5.4s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg path:nth-of-type(3){
  animation:ihIconOnlyInteractiveStem 5.4s ease-in-out infinite .25s !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:first-of-type{
  animation:ihIconOnlyInteractiveCore 2.6s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(2){
  animation:ihIconOnlyInteractiveNodeA 3.8s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:nth-of-type(3){
  animation:ihIconOnlyInteractiveNodeB 4.1s ease-in-out infinite !important;
}

/* memorable brand moments: sparkle turn + echo breathing */
body.home-page .ih-home-who-icon-moments .ih-feature-svg{
  animation:ihIconOnlyMomentsFloat 7.1s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:first-of-type{
  animation:ihIconOnlyMomentsSpark 5.8s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(2){
  animation:ihIconOnlyMomentsEchoOne 4.2s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:nth-of-type(3){
  animation:ihIconOnlyMomentsEchoTwo 4.8s ease-in-out infinite !important;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg circle{
  animation:ihIconOnlyMomentsDot 2.7s ease-in-out infinite !important;
}

@keyframes ihIconOnlyCineFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-1px) rotate(1deg)}
}
@keyframes ihIconOnlyCineRear{
  0%,100%{transform:translate(-1.6px,-1.2px) rotate(-2deg); opacity:.85}
  50%{transform:translate(-.6px,-1.9px) rotate(-.5deg); opacity:1}
}
@keyframes ihIconOnlyCineFront{
  0%,100%{transform:translate(.2px,0) rotate(0deg)}
  50%{transform:translate(-.9px,.7px) rotate(1.7deg)}
}
@keyframes ihIconOnlyCinePlay{
  0%,100%{transform:scale(1) translateX(0); opacity:1}
  50%{transform:scale(1.13) translateX(.4px); opacity:.92}
}
@keyframes ihIconOnlyCineLine{
  0%,100%{transform:translateX(0); opacity:.72}
  50%{transform:translateX(2px); opacity:1}
}

@keyframes ihIconOnlyInteractiveFloat{
  0%,100%{transform:translateY(0) rotate(-1.2deg)}
  50%{transform:translateY(-1px) rotate(1.2deg)}
}
@keyframes ihIconOnlyInteractiveFrame{
  0%,100%{transform:rotate(0deg)}
  25%{transform:rotate(-4deg)}
  75%{transform:rotate(4deg)}
}
@keyframes ihIconOnlyInteractiveTop{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(1.4px)}
}
@keyframes ihIconOnlyInteractiveStem{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(.9px)}
}
@keyframes ihIconOnlyInteractiveCore{
  0%,100%{transform:scale(1); opacity:1}
  50%{transform:scale(1.22); opacity:.88}
}
@keyframes ihIconOnlyInteractiveNodeA{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-1.7px,1.2px)}
}
@keyframes ihIconOnlyInteractiveNodeB{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(1.7px,-1.2px)}
}

@keyframes ihIconOnlyMomentsFloat{
  0%,100%{transform:translateY(0) rotate(-.8deg)}
  50%{transform:translateY(-1px) rotate(.8deg)}
}
@keyframes ihIconOnlyMomentsSpark{
  0%,100%{transform:rotate(0deg) scale(1); opacity:1}
  50%{transform:rotate(10deg) scale(1.08); opacity:.94}
}
@keyframes ihIconOnlyMomentsEchoOne{
  0%,100%{transform:translateY(0) scaleX(1); opacity:.76}
  50%{transform:translateY(1px) scaleX(1.05); opacity:1}
}
@keyframes ihIconOnlyMomentsEchoTwo{
  0%,100%{transform:translateY(0) scaleX(1); opacity:.72}
  50%{transform:translateY(-1px) scaleX(1.04); opacity:.98}
}
@keyframes ihIconOnlyMomentsDot{
  0%,100%{transform:scale(1); opacity:.9}
  50%{transform:scale(1.35); opacity:1}
}

@media (prefers-reduced-motion: reduce){
  body.home-page .ih-home-who-left-icon::after,
  body.home-page .ih-home-who-left-icon .ih-feature-svg,
  body.home-page .ih-home-who-left-icon .ih-feature-svg *{
    animation:none !important;
  }
}

/* TEST FOLDER: actual SVG icon motion only */
body.home-page .ih-home-who-left-icon::after{
  display:none!important;
  content:none!important;
  animation:none!important;
}
body.home-page .ih-home-who-left-icon{
  transition:border-color .25s ease, box-shadow .25s ease;
}
body.home-page .ih-feature-svg,
body.home-page .ih-feature-svg *{
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform, opacity;
}

/* Make the SVGs themselves visibly move, not the box/border */
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg{
  animation:ihSvgCineMove 4.6s ease-in-out infinite!important;
}
body.home-page .ih-home-who-icon-cinematic .ih-feature-svg path:nth-of-type(1){
  animation:ihSvgCinePlayPulse 2.4s ease-in-out infinite!important;
}

body.home-page .ih-home-who-icon-interactive .ih-feature-svg{
  animation:ihSvgCubeMove 5.2s ease-in-out infinite!important;
}
body.home-page .ih-home-who-icon-interactive .ih-feature-svg circle:first-of-type{
  animation:ihSvgCubeCorePulse 2.2s ease-in-out infinite!important;
}

body.home-page .ih-home-who-icon-moments .ih-feature-svg{
  animation:ihSvgStarMove 5.4s ease-in-out infinite!important;
}
body.home-page .ih-home-who-icon-moments .ih-feature-svg path:first-of-type{
  animation:ihSvgStarPulseTurn 3.2s ease-in-out infinite!important;
}

body.home-page .ih-home-who-left-feature:hover .ih-feature-svg{
  animation-duration:3.2s!important;
}
body.home-page .ih-home-who-left-feature:hover .ih-home-who-icon-moments .ih-feature-svg path:first-of-type{
  animation-duration:2.6s!important;
}

@keyframes ihSvgCineMove{
  0%,100%{transform:rotate(-6deg) translateY(0);}
  50%{transform:rotate(6deg) translateY(-2px);}
}
@keyframes ihSvgCinePlayPulse{
  0%,100%{transform:scale(1); opacity:1;}
  50%{transform:scale(1.22); opacity:.86;}
}
@keyframes ihSvgCubeMove{
  0%,100%{transform:rotate(-5deg) translateX(0);}
  50%{transform:rotate(7deg) translateX(2px);}
}
@keyframes ihSvgCubeCorePulse{
  0%,100%{transform:scale(1); opacity:1;}
  50%{transform:scale(1.45); opacity:.82;}
}
@keyframes ihSvgStarMove{
  0%,100%{transform:rotate(-4deg) translateY(0);}
  50%{transform:rotate(4deg) translateY(-1.5px);}
}
@keyframes ihSvgStarPulseTurn{
  0%,100%{transform:scale(1) rotate(0deg); opacity:1;}
  50%{transform:scale(1.08) rotate(8deg); opacity:.92;}
}

@media (prefers-reduced-motion: reduce){
  body.home-page .ih-feature-svg,
  body.home-page .ih-feature-svg *{
    animation:none!important;
  }
}

/* TEST FOLDER: make Who We Are heading stronger */
body.home-page .ih-home-who-refined-title{
  font-size:clamp(2.65rem,3.85vw,4.65rem)!important;
  line-height:.95!important;
}
@media(max-width:720px){
  body.home-page .ih-home-who-refined-title{
    font-size:clamp(2.35rem,11vw,3.6rem)!important;
  }
}



/* TEST FOLDER V21 PROPER: center Who We Are CTA */
body.home-page .ih-home-who-refined-actions{
  justify-content:center!important;
  width:100%!important;
}
body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
  margin-left:auto!important;
  margin-right:auto!important;
}


/* TEST FOLDER V23: typed country code phone field */
.ih-phone-field.ih-phone-field-typed{
  display:grid;
  grid-template-columns:minmax(132px,178px) 1fr;
  gap:12px;
  align-items:center;
}
.ih-phone-field.ih-phone-field-typed input{
  width:100%;
}
.ih-country-code-input{
  text-transform:uppercase;
}
.ih-country-code-input::placeholder,
.ih-phone-field.ih-phone-field-typed input::placeholder{
  color:rgba(232,246,255,.36);
}
@media(max-width:640px){
  .ih-phone-field.ih-phone-field-typed{
    grid-template-columns:1fr;
    gap:10px;
  }
}






/* TEST FOLDER V26: refined minimal thank-you page */
body.thank-you-page{
  background:#080D1A!important;
}
body.thank-you-page .ih-thank-you-v26-main{
  min-height:calc(100vh - 120px);
  position:relative;
  color:var(--ice);
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(29,224,193,.13), transparent 26%),
    radial-gradient(circle at 92% 76%, rgba(29,224,193,.08), transparent 30%),
    linear-gradient(180deg,#080D1A,#10172A);
}
body.thank-you-page .ih-thank-you-v26-main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background-image:
    linear-gradient(rgba(29,224,193,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,224,193,.16) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom, transparent, black 16%, black 84%, transparent);
}
body.thank-you-page .ih-thank-you-v26-section{
  min-height:calc(100vh - 190px);
  display:flex;
  align-items:center;
  padding-top:clamp(124px,14vh,168px)!important;
  padding-bottom:clamp(72px,8vh,110px)!important;
}
body.thank-you-page .ih-thank-you-v26-shell{
  position:relative;
  z-index:1;
  width:100%;
}
body.thank-you-page .ih-thank-you-v26-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
  color:var(--mint);
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.78rem;
  font-weight:850;
}
body.thank-you-page .ih-thank-you-v26-kicker span{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--mint);
  box-shadow:0 0 18px rgba(29,224,193,.62);
}
body.thank-you-page .ih-thank-you-v26-content{
  position:relative;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(28px,6vw,86px);
  align-items:center;
  border:1px solid rgba(29,224,193,.18);
  border-radius:34px;
  padding:clamp(34px,5.6vw,66px);
  background:
    linear-gradient(135deg,rgba(16,23,42,.74),rgba(5,11,24,.70)),
    radial-gradient(circle at 0% 0%,rgba(29,224,193,.10),transparent 38%);
  box-shadow:0 24px 74px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
body.thank-you-page .ih-thank-you-v26-content::before{
  content:"";
  position:absolute;
  top:0;
  left:clamp(30px,5vw,70px);
  width:min(280px,28vw);
  height:2px;
  background:linear-gradient(90deg,var(--mint),transparent);
  box-shadow:0 0 20px rgba(29,224,193,.32);
}
body.thank-you-page .ih-thank-you-v26-left{
  min-height:260px;
  display:grid;
  place-items:center;
  position:relative;
}
body.thank-you-page .ih-thank-you-v26-left::before,
body.thank-you-page .ih-thank-you-v26-left::after{
  content:"";
  position:absolute;
  border:1px solid rgba(29,224,193,.24);
  border-radius:50%;
  width:220px;
  height:220px;
  transform:rotateX(68deg) rotateZ(-18deg);
  opacity:.7;
}
body.thank-you-page .ih-thank-you-v26-left::after{
  width:150px;
  height:150px;
  opacity:.38;
  transform:rotateX(68deg) rotateZ(44deg);
}
body.thank-you-page .ih-thank-you-v26-mark{
  width:74px;
  height:74px;
  border-radius:24px;
  position:relative;
  border:1px solid rgba(29,224,193,.42);
  background:rgba(29,224,193,.07);
  box-shadow:0 0 34px rgba(29,224,193,.12), inset 0 0 22px rgba(29,224,193,.07);
}
body.thank-you-page .ih-thank-you-v26-mark::before{
  content:"";
  position:absolute;
  width:29px;
  height:15px;
  border-left:4px solid var(--mint);
  border-bottom:4px solid var(--mint);
  border-radius:2px;
  left:21px;
  top:24px;
  transform:rotate(-45deg);
}
body.thank-you-page .ih-thank-you-v26-note{
  position:absolute;
  bottom:4px;
  margin:0;
  color:rgba(232,246,255,.52);
  font-size:.86rem;
  letter-spacing:.02em;
  text-align:center;
}
body.thank-you-page .ih-thank-you-v26-right{
  max-width:760px;
}
body.thank-you-page .ih-thank-you-v26-right h1{
  margin:0;
  color:var(--ice);
  font-size:clamp(2.45rem,4.8vw,5rem);
  line-height:.96;
  letter-spacing:-.06em;
}
body.thank-you-page .ih-thank-you-v26-right p{
  max-width:54ch;
  margin:22px 0 0;
  color:rgba(232,246,255,.72);
  font-size:clamp(1.02rem,1.35vw,1.2rem);
  line-height:1.75;
}
body.thank-you-page .ih-thank-you-v26-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}
body.thank-you-page .ih-thank-you-v26-actions .btn{
  min-width:190px;
  justify-content:center;
}
body.thank-you-page .ih-thank-you-v26-actions .btn-secondary{
  background:transparent;
  color:var(--ice);
  border-color:rgba(232,246,255,.18);
}
@media(max-width:860px){
  body.thank-you-page .ih-thank-you-v26-content{
    grid-template-columns:1fr;
    text-align:center;
  }
  body.thank-you-page .ih-thank-you-v26-left{
    min-height:190px;
  }
  body.thank-you-page .ih-thank-you-v26-right{
    margin:0 auto;
  }
  body.thank-you-page .ih-thank-you-v26-actions{
    justify-content:center;
  }
}
@media(max-width:640px){
  body.thank-you-page .ih-thank-you-v26-content{
    border-radius:28px;
    padding:32px 20px;
  }
  body.thank-you-page .ih-thank-you-v26-actions .btn{
    width:100%;
  }
}







/* TEST FOLDER V32: tighter Our Approach spacing + right rail + balanced left column */
body.home-page .ih-home-who-refined-card{
  position:relative!important;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)!important;
  column-gap:clamp(34px,4.3vw,62px)!important;
  min-height:clamp(520px,58vh,650px)!important;
  padding-left:clamp(42px,4.8vw,74px)!important;
  padding-right:clamp(64px,6.2vw,104px)!important;
}
body.home-page .ih-home-who-refined-card::after{
  content:""!important;
  position:absolute!important;
  z-index:9!important;
  top:clamp(50px,5.2vw,82px)!important;
  right:clamp(32px,4vw,62px)!important;
  bottom:clamp(50px,5.2vw,82px)!important;
  width:4px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#1de0c1 0%,rgba(29,224,193,.76) 58%,rgba(29,224,193,.08) 100%)!important;
  box-shadow:0 0 18px rgba(29,224,193,.42),0 0 44px rgba(29,224,193,.14)!important;
  opacity:.92!important;
  pointer-events:none!important;
}
body.home-page .ih-home-who-refined-title-panel{
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding-left:clamp(28px,2.6vw,42px)!important;
  padding-right:clamp(8px,1vw,16px)!important;
  padding-top:clamp(20px,2.2vw,34px)!important;
  padding-bottom:clamp(20px,2.2vw,34px)!important;
}
body.home-page .ih-home-who-refined-title{
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(3.05rem,4.15vw,4.65rem)!important;
  line-height:.94!important;
  margin:0 0 clamp(30px,3.3vw,48px)!important;
  letter-spacing:-.06em!important;
}
body.home-page .ih-home-who-left-features{
  width:100%!important;
  max-width:430px!important;
}
body.home-page .ih-home-who-left-feature{
  grid-template-columns:64px 1fr!important;
  gap:18px!important;
  min-height:82px!important;
}
body.home-page .ih-home-who-refined-copy-panel{
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-left:clamp(20px,2.2vw,36px)!important;
  padding-right:clamp(52px,5.5vw,94px)!important;
  padding-top:clamp(42px,4.6vw,66px)!important;
  padding-bottom:clamp(42px,4.6vw,66px)!important;
}
body.home-page .ih-home-who-refined-copy-panel h3{
  max-width:760px!important;
  font-size:clamp(2.25rem,3.25vw,3.5rem)!important;
  line-height:.98!important;
}
body.home-page .ih-home-who-refined-copy-panel p{
  max-width:780px!important;
}
body.home-page .ih-home-who-refined-actions{
  justify-content:center!important;
  width:100%!important;
}
body.home-page .ih-home-who-refined-actions .ih-home-who-refined-main-cta{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:1100px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)!important;
    column-gap:clamp(22px,3vw,40px)!important;
  }
  body.home-page .ih-home-who-refined-title{
    font-size:clamp(2.65rem,4.1vw,3.9rem)!important;
  }
}
@media(max-width:900px){
  body.home-page .ih-home-who-refined-card{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    padding-left:clamp(22px,5vw,34px)!important;
    padding-right:clamp(22px,5vw,34px)!important;
  }
  body.home-page .ih-home-who-refined-card::after{
    display:none!important;
  }
  body.home-page .ih-home-who-refined-title-panel,
  body.home-page .ih-home-who-refined-copy-panel{
    padding-left:0!important;
    padding-right:0!important;
  }
  body.home-page .ih-home-who-refined-title{
    white-space:normal!important;
    max-width:none!important;
  }
}




/* ===== Our Approach section (provided v2, scoped) — COMPACT v88 ===== */
:root{
  --ih-mint:#1de0c1; --ih-mint-soft:#8df7e6;
  --ih-text:#f2f7fb; --ih-text-soft:rgba(232,246,255,.82);
  --ih-border:rgba(29,224,193,.28);
}
.ihas-section{
  position:relative; overflow:hidden;
  padding:clamp(24px,3vw,44px) 16px;
  background:transparent;
}
.ihas-wrap{ width:min(1200px, calc(100% - 16px)); margin:0 auto; display:grid; gap:18px; }
/* Only on screens wider than the ~1280px HP (i.e. the Mac at ~1470px):
   match the Approach width to the site's other sections so it doesn't look narrow.
   Below 1330px (HP included) this rule does nothing. */
@media (min-width:1330px){
  .ihas-wrap{ width:min(1380px, calc(100% - 16px)); }
}
.ihas-top-card,.ihas-bottom-card{
  position:relative; border-radius:22px; border:1px solid var(--ih-border);
  background:linear-gradient(180deg, rgba(5,16,31,.92), rgba(4,13,25,.94)),
             radial-gradient(circle at bottom center, rgba(29,224,193,.10), transparent 34%);
  box-shadow:0 0 0 1px rgba(29,224,193,.12), 0 0 20px rgba(29,224,193,.10);
  overflow:hidden;
}
.ihas-header{ padding:clamp(24px,3vw,36px) clamp(20px,4vw,40px) 12px; text-align:center; }
.ihas-kicker,.ihas-mini-kicker{
  margin:0 0 12px; text-transform:uppercase; letter-spacing:.24em; font-weight:700;
  color:var(--ih-mint); font-size:clamp(11px,1vw,13px);
}
.ihas-kicker::after,.ihas-mini-kicker::after{
  content:""; display:block; width:96px; max-width:34vw; height:2px; margin:10px auto 0; border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--ih-mint), transparent); box-shadow:0 0 12px rgba(29,224,193,.44);
}
.ihas-header h2,.ihas-copy h2{ margin:0; line-height:1.0; letter-spacing:-.03em; font-weight:700; color:var(--ih-text); text-wrap:balance; }
.ihas-header h2{ font-size:clamp(30px,4vw,48px); }
.ihas-copy h2{ font-size:clamp(22px,2.6vw,31px); text-wrap:wrap; }
.ihas-header h2 span,.ihas-copy h2 span{ color:var(--ih-mint-soft); }
.ihas-lead{ max-width:640px; margin:12px auto 0; color:var(--ih-text-soft); font-size:clamp(14px,1.3vw,17px); line-height:1.45; }
.ihas-pillars{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0; padding:6px clamp(14px,2.4vw,26px) clamp(20px,2.6vw,30px); }
.ihas-pillar{ padding:14px 20px 6px; text-align:center; position:relative; }
.ihas-pillar:not(:last-child)::after{ content:""; position:absolute; top:18px; right:0; width:1px; height:calc(100% - 36px); background:linear-gradient(180deg, transparent, rgba(141,247,230,.28), transparent); }
.ihas-icon{
  width:clamp(64px,7vw,84px); aspect-ratio:1; margin:0 auto 16px; border-radius:18px; display:grid; place-items:center; color:var(--ih-mint);
  background:linear-gradient(180deg, rgba(8,22,38,.92), rgba(9,25,43,.86)); border:1px solid rgba(29,224,193,.34);
  box-shadow:0 0 0 1px rgba(255,255,255,.02), 0 0 20px rgba(29,224,193,.18), inset 0 0 16px rgba(29,224,193,.12);
}
.ihas-icon svg{ width:54%; height:54%; display:block; }
.ihas-pillar h3{ margin:0 0 8px; font-size:clamp(18px,1.8vw,22px); line-height:1.14; letter-spacing:-.02em; }
.ihas-pillar p,.ihas-copy p{ margin:0; color:var(--ih-text-soft); font-size:clamp(14px,1.15vw,15.5px); line-height:1.5; }
.ihas-bottom-card{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.12fr); min-height:340px; }
.ihas-copy{ padding:clamp(24px,3vw,40px); display:flex; flex-direction:column; justify-content:center; gap:12px; }
.ihas-copy .ihas-mini-kicker{
  margin:0 0 8px !important;
  text-transform:none !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
  color:var(--ih-text) !important;
  font-size:clamp(32px,3.9vw,52px) !important;
  line-height:1.0 !important;
}
.ihas-copy .ihas-mini-kicker::after{
  content:""; display:block; width:80px; max-width:none; height:2px;
  margin:14px 0 0; margin-left:0; margin-right:0; border-radius:999px;
  background:linear-gradient(90deg, var(--ih-mint), transparent);
  box-shadow:0 0 12px rgba(29,224,193,.44);
}
.ihas-copy h2{
  font-size:clamp(15px,1.4vw,18px) !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  text-wrap:wrap;
  color:var(--ih-mint-soft) !important;
  margin:0 !important;
  text-transform:uppercase;
  letter-spacing:.02em !important;
}
.ihas-copy h2 span{ color:var(--ih-mint-soft); }
.ihas-button{
  margin-top:12px; align-self:flex-start; width:auto;
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 34px; border-radius:999px;
  text-transform:uppercase; letter-spacing:.16em; font-size:13px; font-weight:700; line-height:1;
  color:#eefcff; text-decoration:none;
  border:1px solid rgba(29,224,193,.55); background:rgba(29,224,193,.03);
  box-shadow:0 0 20px rgba(29,224,193,.12), inset 0 0 0 1px rgba(255,255,255,.02);
  transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease, background .3s ease;
}
.ihas-button:hover{
  border-color:rgba(29,224,193,.95); background:rgba(29,224,193,.07);
  box-shadow:0 0 30px rgba(29,224,193,.28); transform:translateY(-1px);
}
/* clean mint arrow, nudges on hover */
.ihas-button span{
  display:inline-flex; align-items:center; color:var(--ih-mint);
  font-size:17px; line-height:1; transition:transform .3s ease;
}
.ihas-button:hover span{ transform:translateX(4px); }
.ihas-visual{ position:relative; min-height:100%; overflow:hidden; border-left:1px solid rgba(141,247,230,.16); background:#05111f; }
.ihas-visual::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,12,23,.06) 0%, rgba(4,12,23,0) 45%); pointer-events:none; }
.ihas-visual picture,.ihas-visual img{ display:block; width:100%; height:100%; }
.ihas-visual img{ object-fit:cover; object-position:center center; }
@media (max-width:1100px){
  .ihas-pillars{ grid-template-columns:1fr; gap:14px; }
  .ihas-pillar{ padding:10px 10px; }
  .ihas-pillar:not(:last-child)::after{ display:none; }
  .ihas-bottom-card{ grid-template-columns:1fr; }
  .ihas-visual{ min-height:300px; border-left:0; border-top:1px solid rgba(141,247,230,.16); }
}
@media (max-width:680px){
  .ihas-section{ padding-inline:12px; }
  .ihas-wrap{ width:100%; gap:14px; }
  .ihas-header{ padding-inline:18px; }
  .ihas-copy{ padding:22px 18px; }
  .ihas-lead br,.ihas-copy h2 br{ display:none; }
  .ihas-button{ width:100%; min-width:0; justify-content:center; }
  .ihas-visual{ min-height:240px; }
}

/* Our Approach kicker → match "Our Foundation" style: mint dot, no underline */
.ihas-kicker{ display:inline-flex; align-items:center; }
.ihas-kicker::after{ display:none; }
.ihas-kicker::before{
  content:""; flex:0 0 auto; width:9px; height:9px; border-radius:50%;
  margin-right:12px; background:var(--ih-mint); box-shadow:0 0 8px rgba(29,224,193,.7);
}


/* Two-item service media grids: keep layouts intentional when a service only has two videos */
.ih-content-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 980px;
}
@media (max-width: 760px) {
  .ih-content-grid--two {
    grid-template-columns: 1fr;
    max-width: none;
  }
}


/* v150: Process + Contact hero polish */
body.process-page .page-hero,
body.contact-page .page-hero{
  text-align:center;
}
body.process-page .page-hero-inner,
body.contact-page .page-hero{
  padding-top:clamp(96px,10vh,130px);
}
/* Contact hero top spacing — matches Process/Work exactly so CONTACT US
   sits at the same height with the same gap below the fixed header. */
body.contact-page .page-hero{
  padding-top:clamp(96px,10vh,130px)!important;
}
body.contact-page .page-hero .kicker{
  margin-bottom:12px;
}
body.contact-page .page-hero-inner{
  max-width:1120px;
  margin:0 auto;
}
body.process-page .page-hero .kicker,
body.contact-page .page-hero .kicker{
  justify-content:center;
}
body.process-page .page-hero .lead,
body.contact-page .page-hero .lead{
  margin-left:auto;
  margin-right:auto;
}
.page-hero h1 .hero-highlight{
  color:var(--mint-300);
  text-shadow:0 0 34px rgba(29,224,193,.20);
}
body.contact-page .page-hero{
  padding-bottom:clamp(30px,4vw,42px);
}
body.contact-page .contact-layout{
  padding-top:clamp(24px,3.2vw,38px);
}
body.contact-page .email-card{
  margin-top:0;
}
@media(max-width:720px){
  body.process-page .page-hero,
  body.contact-page .page-hero{
    padding-left:20px;
    padding-right:20px;
  }
  body.contact-page .contact-layout{
    padding-top:18px;
  }
}


/* v153: tighter Process intro + workflow spacing */
body.process-page .page-hero{
  padding-bottom:clamp(18px,2.4vw,30px);
}
body.process-page .ih-process-lite-section{
  padding-top:clamp(8px,1.6vw,20px);
}
@media(max-width:720px){
  body.process-page .page-hero{
    padding-bottom:18px;
  }
}
