
:root{--ih-bg:#080809;--ih-bg2:#0d0e10;--ih-card:#121316;--ih-text:#f3f3f3;--ih-muted:#9b9ca1;--ih-line:#2e2f33;--ih-gold:#c7a35e;--ih-max:1440px}
body.ih-site-active{background:var(--ih-bg)!important;color:var(--ih-text);overflow-x:hidden}
.ih-header,.ih-hero,.ih-section,.ih-services,.ih-stats,.ih-footer{font-family:Inter,Arial,sans-serif;color:var(--ih-text)}
.ih-header *,.ih-hero *,.ih-section *,.ih-services *,.ih-stats *,.ih-footer *{box-sizing:border-box}
.ih-header{height:88px;display:grid;grid-template-columns:auto 1fr auto auto;gap:26px;align-items:center;padding:0 clamp(22px,4vw,70px);position:sticky;top:0;z-index:9999;background:rgba(8,8,9,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.admin-bar .ih-header{top:32px}
.ih-brand{display:flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important}
.ih-logo{width:58px;height:58px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #bbb}
.ih-logo img{width:100%;height:100%;object-fit:cover;filter:none!important}
.ih-brand-copy{display:flex;flex-direction:column;gap:3px}.ih-brand-copy strong{font-family:"Space Grotesk",Arial,sans-serif;font-size:18px;letter-spacing:.08em}.ih-brand-copy small{font-size:9px;letter-spacing:.22em;color:#97989d}
.ih-nav{display:flex;justify-content:center;gap:clamp(20px,3vw,44px)}.ih-nav a{color:#d8d8da!important;text-decoration:none!important;font-size:13px;position:relative;padding:34px 0}.ih-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;background:var(--ih-gold);transition:.3s}.ih-nav a:hover:after{right:0}
.ih-menu-btn{display:none;width:44px;height:44px;border:1px solid #4b4c51;border-radius:8px;background:#111;color:#fff;font-size:20px}.ih-mobile-nav{display:none}
.ih-btn{min-height:46px;padding:0 19px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-transform:uppercase;font-weight:700;font-size:12px;text-decoration:none!important;transition:.25s}.ih-btn-solid{background:#eee;color:#09090a!important;border:1px solid #fff}.ih-btn-solid:hover{background:var(--ih-gold)}.ih-btn-outline{color:#eee!important;border:1px solid #55565b;background:rgba(255,255,255,.015)}
.ih-hero{min-height:720px;max-width:var(--ih-max);margin:0 auto;padding:90px clamp(22px,5vw,80px) 75px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;position:relative;isolation:isolate}
.ih-hero-grid-bg{position:absolute;inset:0;z-index:-2;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to right,#000,transparent 85%)}
.ih-tagline{font-size:12px;letter-spacing:.23em;color:#ddd;font-weight:600;margin:0 0 20px}.ih-tagline::first-letter{color:var(--ih-gold)}
.ih-hero h1{font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(48px,6vw,92px);line-height:.98;letter-spacing:-.055em;text-transform:uppercase;margin:0}.ih-hero h1 span{display:block;color:var(--ih-gold)}
.ih-lead{max-width:680px;color:#b4b5b9;font-size:16px;line-height:1.75;margin:26px 0 28px}.ih-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;border-top:1px solid var(--ih-line);border-bottom:1px solid var(--ih-line)}.ih-feature-grid span{padding:16px 8px;color:#d8d8da;font-size:13px}.ih-feature-grid span:before{content:"";display:inline-block;width:6px;height:6px;border:1px solid var(--ih-gold);transform:rotate(45deg);margin-right:11px}
.ih-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.ih-hero-stats{display:flex;gap:38px;margin-top:40px}.ih-hero-stats div{display:flex;flex-direction:column}.ih-hero-stats strong{font-family:"Space Grotesk";font-size:23px}.ih-hero-stats small{font-size:10px;color:#77787d;letter-spacing:.15em;text-transform:uppercase}
.ih-hero-visual{height:590px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1200px}.ih-hero-halo{position:absolute;width:82%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(199,163,94,.15),transparent 67%);filter:blur(8px)}.ih-hero-visual img{position:relative;width:min(100%,660px);max-height:570px;object-fit:contain;border-radius:22px;box-shadow:0 50px 100px rgba(0,0,0,.55);mask-image:linear-gradient(to bottom,#000 0,#000 88%,transparent 100%);transition:.35s}.ih-hero-visual:hover img{transform:translateY(-5px) scale(1.01)}
.ih-tech-label{position:absolute;padding:7px 9px;border:1px solid rgba(255,255,255,.18);background:rgba(7,7,8,.8);font-size:8px;letter-spacing:.18em;color:#999}.ih-tech-a{left:4%;top:25%}.ih-tech-b{right:4%;top:38%}.ih-tech-c{right:8%;bottom:18%}
.ih-section{max-width:var(--ih-max);margin:0 auto;padding:110px clamp(22px,5vw,80px)}.ih-kicker{color:var(--ih-gold);font-size:10px;letter-spacing:.32em;font-weight:700;margin-bottom:14px}
.ih-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.ih-intro h2,.ih-process h2,.ih-work h2,.ih-contact h2{font-family:"Space Grotesk";font-size:clamp(36px,5vw,64px);line-height:1.06;letter-spacing:-.04em;margin:0}.ih-intro h2 span{color:#85868b}.ih-intro-grid p{color:#a5a6aa;line-height:1.8;margin:0}.ih-text-link{display:inline-flex;gap:15px;margin-top:22px;color:#fff!important;text-decoration:none!important;font-size:13px}.ih-text-link span{color:var(--ih-gold)}
.ih-services{border-top:1px solid var(--ih-line);background:radial-gradient(circle at 20% 30%,rgba(199,163,94,.045),transparent 28%),linear-gradient(180deg,#090a0b,#080809 65%,#0a0b0d)}.ih-services-intro{padding-bottom:60px}.ih-services-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.ih-services-intro-grid h2{font-family:"Space Grotesk";font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.045em;margin:0}.ih-services-intro-grid h2 span{color:#7d7e83}.ih-services-intro-grid p{margin:0;color:#999aa0;font-size:14px;line-height:1.8}
.ih-services-wrap{max-width:var(--ih-max);margin:0 auto;padding:0 clamp(22px,5vw,80px);display:grid;grid-template-columns:minmax(420px,1.02fr) minmax(390px,.98fr);gap:clamp(50px,7vw,110px);align-items:start}.ih-service-media-col{position:sticky;top:108px;height:calc(100vh - 138px);max-height:760px;display:flex;align-items:center}.admin-bar .ih-service-media-col{top:140px}.ih-service-frame{width:100%;border:1px solid #34353a;border-radius:16px;background:linear-gradient(145deg,#121316,#090a0b);overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.34)}.ih-service-top,.ih-service-bottom{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:8px;letter-spacing:.2em;color:#77787d}.ih-service-counter{color:var(--ih-gold)}
.ih-service-image-stack{position:relative;aspect-ratio:1.14;overflow:hidden;background:#080809;border-top:1px solid #222327;border-bottom:1px solid #222327}.ih-service-image{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.035);transition:opacity .75s,transform 1.05s}.ih-service-image.active{opacity:1;transform:scale(1)}.ih-service-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}.ih-service-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 45%,rgba(0,0,0,.72)),radial-gradient(circle at 50% 42%,transparent 25%,rgba(0,0,0,.45) 100%)}.ih-service-visual-label{position:absolute;left:24px;right:24px;bottom:27px;z-index:3;display:flex;flex-direction:column;gap:7px}.ih-service-visual-label small{font-size:8px;letter-spacing:.22em;color:var(--ih-gold)}.ih-service-visual-label strong{font-family:"Space Grotesk";font-size:clamp(22px,2.5vw,34px)}.ih-service-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#1d1e21}.ih-service-progress span{display:block;width:calc(100% / var(--ih-service-count,6));height:100%;background:var(--ih-gold);transform-origin:left;transition:transform .5s}.ih-service-bottom{justify-content:center;gap:14px}.ih-service-bottom i{width:4px;height:4px;background:var(--ih-gold);transform:rotate(45deg)}
.ih-service-copy-col{padding-bottom:70px}.ih-service-step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;opacity:.13;transform:translateY(42px);filter:blur(2px);transition:opacity .45s,transform .55s,filter .45s;border-bottom:1px solid rgba(255,255,255,.06);padding:70px 0}.ih-service-step.active{opacity:1;transform:none;filter:none}.ih-service-num{font-family:"Space Grotesk";font-size:12px;color:var(--ih-gold);margin-bottom:34px}.ih-service-small{font-size:9px;letter-spacing:.23em;color:#77787c;margin-bottom:13px}.ih-service-step h3{font-family:"Space Grotesk";font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.05em;margin:0 0 24px}.ih-service-step p{max-width:590px;color:#a2a3a8;font-size:14px;line-height:1.85;margin:0 0 27px}.ih-service-step ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.ih-service-step li{font-size:12px;color:#d1d1d4}.ih-service-step li:before{content:"";display:inline-block;width:10px;height:1px;background:var(--ih-gold);vertical-align:middle;margin-right:12px}.ih-service-foot{margin-top:34px;padding-top:18px;border-top:1px solid #2b2c30;font-size:10px;letter-spacing:.08em;color:#8e8f94}
.ih-process{border-top:1px solid var(--ih-line)}.ih-process-head,.ih-work-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.ih-process-head p,.ih-work-head p{max-width:480px;color:#96979c;line-height:1.75;margin:0}.ih-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ih-line);border-bottom:1px solid var(--ih-line)}.ih-process-grid article{min-height:290px;padding:34px 28px;border-right:1px solid var(--ih-line)}.ih-process-grid article:last-child{border-right:0}.ih-process-grid span{color:var(--ih-gold);font-size:12px}.ih-process-grid h3{font-family:"Space Grotesk";font-size:27px;margin:55px 0 14px}.ih-process-grid p{font-size:12px;line-height:1.75;color:#8d8e93}
.ih-work-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,290px);gap:16px}.ih-work-card{position:relative;overflow:hidden;border:1px solid var(--ih-line);border-radius:10px;background:#101113}.ih-work-large{grid-row:span 2}.ih-work-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.6s}.ih-work-card:hover img{transform:scale(1.04);filter:grayscale(.6)}.ih-work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,3,4,.92))}.ih-work-meta{position:absolute;z-index:2;left:25px;bottom:25px}.ih-work-meta span{font-size:9px;letter-spacing:.2em;color:var(--ih-gold)}.ih-work-meta h3{font-family:"Space Grotesk";font-size:23px;margin:8px 0 0}
.ih-stats{max-width:calc(var(--ih-max) - 80px);margin:0 auto 110px;border:1px solid var(--ih-line);border-radius:9px;display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(180deg,#141518,#0d0e10)}.ih-stats div{padding:28px 25px;border-right:1px solid var(--ih-line);display:flex;flex-direction:column;gap:7px}.ih-stats div:last-child{border-right:0}.ih-stats strong{font-family:"Space Grotesk";font-size:24px}.ih-stats span{font-size:10px;color:#85868b}
.ih-contact{padding-top:0}.ih-contact-panel{border:1px solid var(--ih-line);border-radius:14px;background:linear-gradient(145deg,#141518,#0a0b0d 65%);padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.ih-contact-panel p{color:#96979b;line-height:1.7}.ih-contact-info{display:flex;flex-direction:column;justify-content:center;gap:20px}.ih-contact-info div{padding-bottom:15px;border-bottom:1px solid var(--ih-line);display:flex;flex-direction:column;gap:7px}.ih-contact-info small{font-size:9px;letter-spacing:.18em;color:#75767b}.ih-contact-info strong{font-family:"Space Grotesk";font-size:22px}
.ih-footer{max-width:var(--ih-max);margin:0 auto;padding:35px clamp(22px,5vw,80px) 50px;border-top:1px solid var(--ih-line);display:flex;justify-content:space-between;align-items:center;gap:30px}.ih-footer-brand{display:flex;align-items:center;gap:13px}.ih-footer-brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#fff}.ih-footer-brand div{display:flex;flex-direction:column;gap:5px}.ih-footer-brand strong{font-size:11px;letter-spacing:.12em}.ih-footer-brand span,.ih-footer-copy{font-size:9px;letter-spacing:.11em;color:#68696e}
@media(max-width:1100px){.ih-nav,.ih-header-cta{display:none}.ih-menu-btn{display:block}.ih-header{grid-template-columns:auto 1fr auto}.ih-mobile-nav.open{display:grid;position:fixed;top:88px;left:0;right:0;z-index:9998;background:#0b0c0e;border-bottom:1px solid var(--ih-line);padding:25px;gap:18px}.admin-bar .ih-mobile-nav.open{top:120px}.ih-mobile-nav a{color:#eee!important;text-decoration:none!important;padding:10px 0;border-bottom:1px solid #1f2023}.ih-hero{grid-template-columns:1fr}.ih-services-wrap{grid-template-columns:minmax(330px,.9fr) minmax(340px,1.1fr);gap:45px}.ih-process-grid{grid-template-columns:repeat(2,1fr)}.ih-stats{grid-template-columns:repeat(3,1fr);margin-inline:30px}}
@media(max-width:782px){.admin-bar .ih-header{top:46px}.admin-bar .ih-mobile-nav.open{top:134px}}
@media(max-width:760px){.ih-header{height:72px}.ih-brand-copy{display:none}.ih-logo{width:46px;height:46px}.ih-mobile-nav.open{top:72px}.ih-hero{min-height:auto;padding:55px 20px 70px}.ih-hero h1{font-size:clamp(43px,13vw,66px)}.ih-feature-grid{grid-template-columns:1fr}.ih-hero-visual{height:430px}.ih-tech-label{display:none}.ih-section{padding:80px 20px}.ih-intro-grid,.ih-services-intro-grid{grid-template-columns:1fr;gap:28px}.ih-services-wrap{display:block;padding:0 20px}.ih-service-media-col{top:80px;height:auto;max-height:none;z-index:9;margin-bottom:15px}.admin-bar .ih-service-media-col{top:126px}.ih-service-image-stack{aspect-ratio:1.55}.ih-service-bottom{display:none}.ih-service-step{min-height:72vh;padding:125px 2px 55px}.ih-service-step h3{font-size:40px}.ih-process-head,.ih-work-head{display:block}.ih-process-head p,.ih-work-head p{margin-top:20px}.ih-process-grid{grid-template-columns:1fr}.ih-process-grid article{border-right:0;border-bottom:1px solid var(--ih-line)}.ih-work-grid{grid-template-columns:1fr;grid-template-rows:none}.ih-work-card,.ih-work-large{height:330px;grid-row:auto}.ih-stats{grid-template-columns:1fr;margin:0 20px 80px}.ih-stats div{border-right:0;border-bottom:1px solid var(--ih-line)}.ih-contact-panel{grid-template-columns:1fr;padding:30px 20px;gap:30px}.ih-footer{padding:30px 20px 45px;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.ih-service-image,.ih-service-step{transition:none}.ih-service-step{filter:none}}


/* v1.3: explicit default heading colors to prevent theme global H1/H2/H3 colors overriding INVIHUB */
.ih-hero h1{color:#f3f3f3}
.ih-hero h1 span{color:#c7a35e}
.ih-tagline{color:#f3f3f3}
.ih-intro h2,.ih-process h2,.ih-work h2,.ih-contact h2,
.ih-services-intro-grid h2,.ih-service-step h3,
.ih-process-grid h3,.ih-work-meta h3{color:#f3f3f3}
.ih-services-intro-grid h2 span,.ih-intro h2 span{color:#85868b}


/* ===== v1.4 PROCESS STEP IMAGES ===== */
.ih-process-grid article{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.ih-process-grid .ih-process-no{
  display:block;
  margin-bottom:24px;
}
.ih-process-image{
  width:100%;
  height:150px;
  overflow:hidden;
  background:#0a0b0d;
  border:1px solid #2d2e32;
  margin-bottom:24px;
  position:relative;
}
.ih-process-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.32));
  pointer-events:none;
}
.ih-process-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:grayscale(1) contrast(1.05);
  opacity:.9;
  transition:transform .45s ease,filter .45s ease,opacity .45s ease;
}
.ih-process-grid article:hover .ih-process-image img{
  transform:scale(1.045);
  filter:grayscale(.6) contrast(1.06);
  opacity:1;
}
.ih-process-grid h3{
  margin:0 0 14px;
}
@media(max-width:760px){
  .ih-process-image{height:180px}
}


/* ===== v1.5 FIXED HEADER + BACK TO TOP ===== */

/* Front-end header stays visible for the complete page. */
body.ih-site-active:not(.elementor-editor-active){
  padding-top:88px;
}

body.ih-site-active:not(.elementor-editor-active) .ih-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:99990;
  background:rgba(8,8,9,.92);
  border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 10px 35px rgba(0,0,0,.22);
}

/* WordPress admin toolbar compensation while logged in. */
body.admin-bar.ih-site-active:not(.elementor-editor-active) .ih-header{
  top:32px;
}

/* Prevent anchor links from hiding under the fixed navigation. */
html{
  scroll-padding-top:110px;
}

/* Elementor editing remains unobstructed. */
body.elementor-editor-active .ih-header{
  position:relative !important;
  top:auto !important;
}

/* Back-to-top button */
.ih-back-to-top{
  position:fixed;
  right:28px;
  bottom:28px;
  width:50px;
  height:50px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(199,163,94,.58);
  background:rgba(12,12,13,.9);
  color:#f3f3f3;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:99980;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease,
             border-color .25s ease,background .25s ease;
  box-shadow:0 14px 38px rgba(0,0,0,.35);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.ih-back-to-top.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.ih-back-to-top:hover{
  background:#c7a35e;
  color:#080809;
  border-color:#c7a35e;
}

.ih-back-to-top:focus-visible{
  outline:2px solid #c7a35e;
  outline-offset:3px;
}

@media(max-width:782px){
  body.admin-bar.ih-site-active:not(.elementor-editor-active) .ih-header{
    top:46px;
  }
}

@media(max-width:760px){
  body.ih-site-active:not(.elementor-editor-active){
    padding-top:72px;
  }

  html{
    scroll-padding-top:92px;
  }

  .ih-back-to-top{
    width:46px;
    height:46px;
    right:18px;
    bottom:18px;
    font-size:20px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ih-back-to-top{
    transition:none;
  }
}
