/* =========================================================
   OWNER UI CORRECTIONS V17
   Last-load correction layer for approved 55275553.dk direction.
   ========================================================= */

/* Hero text: preserve spectral fill through full glyph box */
.hero,
.hero-grid,
.hero-copy,
.hero h1,
.hero h1 span,
.intro,
.intro-grid,
.intro h2,
.intro h2 span{overflow:visible!important}
.hero h1{line-height:.88!important}
.hero h1 .rainbow,
.intro-colour{
  display:block;
  padding:.03em .025em .13em 0;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background:linear-gradient(92deg,var(--cyan),var(--blue),var(--violet),var(--pink),var(--orange));
  background-size:180% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 0 18px rgba(91,234,255,.06));
  animation:teSpectralText 8s ease-in-out infinite alternate;
}
@keyframes teSpectralText{to{background-position:100% 0}}

/* Four language controls must remain compact even with four options */
.language{gap:2px!important;padding:3px!important}
.language button{min-width:35px!important;padding:0 8px!important}

/* IDEA -> REALITY interactive hero laboratory */
.hero-reality-lab{
  --lab-cyan:91 234 255;
  --lab-violet:173 140 255;
  --lab-lime:184 255 104;
  position:relative!important;
  min-height:570px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:38px!important;
  background:
    radial-gradient(circle at 16% 20%,rgb(var(--lab-cyan)/.12),transparent 30%),
    radial-gradient(circle at 84% 20%,rgb(var(--lab-violet)/.12),transparent 31%),
    radial-gradient(circle at 54% 88%,rgb(var(--lab-lime)/.07),transparent 30%),
    linear-gradient(145deg,rgba(15,31,45,.96),rgba(8,17,28,.98))!important;
  box-shadow:0 42px 120px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.09)!important;
  isolation:isolate;
}
.hero-reality-lab::before,
.hero-reality-lab::after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px)}
.hero-reality-lab::before{width:310px;height:310px;left:-115px;top:-110px;border:1px solid rgb(var(--lab-cyan)/.12);box-shadow:0 0 90px rgb(var(--lab-cyan)/.05)}
.hero-reality-lab::after{width:390px;height:390px;right:-180px;bottom:-180px;border:1px solid rgb(var(--lab-violet)/.12);box-shadow:0 0 110px rgb(var(--lab-violet)/.05)}
.hrl-grid{position:absolute;inset:0;opacity:.62;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 52% 48%,#000 24%,transparent 82%)}
.hrl-core{
  position:absolute;z-index:5;left:50%;top:50%;width:190px;height:190px;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid rgb(var(--lab-cyan)/.24);border-radius:50%;
  background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.09),transparent 34%),rgba(8,19,30,.88);
  box-shadow:0 0 0 16px rgba(91,234,255,.018),0 0 70px rgb(var(--lab-cyan)/.09),inset 0 1px 0 rgba(255,255,255,.08)
}
.hrl-core small{color:rgb(var(--lab-cyan)/.86);font:750 .68rem/1 monospace;letter-spacing:.12em}
.hrl-core strong{margin:10px 0;color:rgba(255,255,255,.24);font-size:1.3rem}
.hrl-core b{max-width:130px;text-align:center;color:#fff;font-size:.88rem;letter-spacing:.03em}
.hrl-module{
  position:absolute;z-index:4;width:230px;min-height:126px;padding:17px 18px;
  border:1px solid rgba(255,255,255,.10);border-radius:25px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.015)),rgba(10,23,35,.83);
  box-shadow:0 22px 58px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(20px) saturate(165%);
  transition:transform .35s cubic-bezier(.2,.75,.2,1),border-color .25s ease,box-shadow .25s ease
}
.hrl-module:hover{transform:translateY(-7px)!important;border-color:rgb(var(--lab-cyan)/.28);box-shadow:0 28px 72px rgba(0,0,0,.25),0 0 46px rgb(var(--lab-cyan)/.07),inset 0 1px 0 rgba(255,255,255,.08)}
.hrl-module>span{color:rgba(255,255,255,.34);font:700 .62rem/1 monospace;letter-spacing:.11em}
.hrl-module>strong{display:block;margin:13px 0 14px;color:#fff;font-size:1rem;letter-spacing:-.025em}
.hrl-module>div{display:flex;gap:6px;flex-wrap:wrap}
.hrl-module i{padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:rgba(255,255,255,.55);font:700 .55rem/1 monospace;font-style:normal}
.hrl-physical{left:7%;top:12%;transform:rotate(-1.5deg)}
.hrl-digital{right:7%;top:15%;transform:rotate(1.5deg)}
.hrl-operation{right:13%;bottom:9%;width:260px;transform:rotate(-1deg)}
.hrl-physical>strong{color:rgb(var(--lab-cyan))}
.hrl-digital>strong{color:rgb(var(--lab-violet))}
.hrl-operation>strong{color:rgb(var(--lab-lime))}
.hrl-beam{position:absolute;z-index:2;height:2px;transform-origin:left center;background:linear-gradient(90deg,transparent,rgb(var(--lab-cyan)/.50),transparent);overflow:visible}
.hrl-beam i{position:absolute;width:8px;height:8px;top:-3px;border-radius:50%;background:rgb(var(--lab-cyan));box-shadow:0 0 18px rgb(var(--lab-cyan)/.65);animation:hrlPacket 3.2s linear infinite}
.hrl-beam-a{left:28%;top:34%;width:32%;transform:rotate(16deg)}
.hrl-beam-b{left:49%;top:58%;width:31%;transform:rotate(25deg);--packet-delay:-1.45s}
.hrl-beam-b i{animation-delay:var(--packet-delay)}
@keyframes hrlPacket{from{left:0;opacity:0}12%{opacity:1}88%{opacity:1}to{left:100%;opacity:0}}
.hrl-orbit{position:absolute;z-index:1;left:50%;top:50%;border:1px dashed rgba(255,255,255,.07);border-radius:50%;transform:translate(-50%,-50%)}
.orbit-a{width:330px;height:330px;animation:hrlSpin 24s linear infinite}
.orbit-b{width:470px;height:470px;border-color:rgb(var(--lab-violet)/.08);animation:hrlSpin 34s linear infinite reverse}
.hrl-orbit::before{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:rgb(var(--lab-violet));box-shadow:0 0 18px rgb(var(--lab-violet)/.55)}
@keyframes hrlSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hrl-pulse{position:absolute;z-index:0;left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:rgb(var(--lab-cyan)/.06);animation:hrlPulse 3.8s ease-out infinite}
@keyframes hrlPulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(.7)}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(3.3)}}

/* Intro: story, not a flat paragraph */
.intro-grid{grid-template-columns:minmax(150px,.22fr) minmax(0,1fr)!important;column-gap:36px!important;row-gap:26px!important;align-items:start}
.intro-grid>h2{grid-column:2!important}
.intro-story{grid-column:2!important;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:24px;align-items:stretch}
.intro-story>p{margin:0!important;padding:24px!important;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(10,22,33,.64);color:rgba(239,246,255,.72)!important;font-size:1rem!important;line-height:1.72!important;box-shadow:0 20px 60px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.04)}
.intro-story-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.intro-story-flow article{position:relative;min-height:128px;padding:16px 17px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:23px;background:radial-gradient(circle at 0 0,rgba(91,234,255,.07),transparent 42%),rgba(255,255,255,.015)}
.intro-story-flow article::after{content:"";position:absolute;right:-34px;bottom:-34px;width:90px;height:90px;border:1px solid rgba(255,255,255,.055);border-radius:50%}
.intro-story-flow span{color:rgba(255,255,255,.34);font:700 .59rem/1 monospace;letter-spacing:.10em}
.intro-story-flow strong{display:block;margin-top:24px;color:#fff;font-size:.77rem;line-height:1.25}
.intro-story-flow i{position:absolute;right:15px;bottom:14px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px rgba(91,234,255,.55);font-style:normal}
.intro-story-result{background:linear-gradient(135deg,rgba(184,255,104,.075),rgba(91,234,255,.035))!important;border-color:rgba(184,255,104,.17)!important}
.intro-story-result strong{font-size:1.02rem!important;color:var(--lime)!important}
.intro-story-result i{width:auto;height:auto;border-radius:0;background:transparent;box-shadow:none;color:var(--lime);font-size:1rem}
/* Software House focus: remove dead space, turn it into a product platform card */
.software-house-focus{
  position:relative!important;overflow:hidden!important;min-height:520px!important;
  display:grid!important;grid-template-rows:auto auto auto 1fr auto!important;align-content:start!important;
  padding:30px!important;border-radius:32px!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(173,140,255,.10),transparent 28%),
    radial-gradient(circle at 14% 88%,rgba(91,234,255,.075),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),rgba(8,18,28,.86)!important
}
.software-house-focus::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.017) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(#000,transparent 88%)}
.software-house-focus>*{position:relative;z-index:2}
.software-house-focus h3{max-width:760px!important;font-size:clamp(2.5rem,4vw,4.5rem)!important;line-height:.92!important;letter-spacing:-.055em!important}
.software-house-focus>p{max-width:780px!important;font-size:1rem!important;line-height:1.72!important;color:rgba(239,246,255,.68)!important}
.software-spectrum{align-self:end!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin-top:36px!important}
.software-spectrum span{min-height:70px!important;padding:12px!important;display:flex!important;align-items:flex-end!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01))!important;color:rgba(255,255,255,.62)!important;transition:transform .22s ease,border-color .22s ease,background .22s ease!important}
.software-spectrum span:hover{transform:translateY(-4px);border-color:rgba(91,234,255,.24)!important;background:linear-gradient(145deg,rgba(91,234,255,.065),rgba(173,140,255,.03))!important;color:#fff!important}
.software-house-foot{margin-top:10px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.07)!important}

/* Experience rail layout is owned by experience-rail-v1.css V18. */

/* Mobile */
@media(max-width:1100px){
  .hero-reality-lab{min-height:560px!important;width:min(100%,920px)!important;margin:8px auto 0!important}
  .intro-story{grid-template-columns:1fr!important}
  .software-spectrum{grid-template-columns:repeat(4,minmax(110px,1fr))!important}
}
@media(max-width:760px){
  .hero-reality-lab{min-height:650px!important;border-radius:28px!important}
  .hrl-core{width:150px;height:150px;top:46%}
  .hrl-physical{left:5%;top:7%;width:200px}
  .hrl-digital{right:5%;top:22%;width:195px}
  .hrl-operation{right:7%;bottom:7%;width:225px}
  .orbit-a{width:270px;height:270px}.orbit-b{width:390px;height:390px}
  .intro-grid{grid-template-columns:1fr!important}
  .intro-grid>.section-code,.intro-grid>h2,.intro-story{grid-column:1!important}
  .intro-story-flow{grid-template-columns:1fr!important}
  .software-spectrum{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(prefers-reduced-motion:reduce){
 .hero h1 .rainbow,.intro-colour,.hrl-orbit,.hrl-pulse,.hrl-beam i{animation:none!important}
}
/* Person-first bridge on homepage */
.professional-person-card{
  margin:0 0 14px;min-height:250px;display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);
  overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:30px;color:inherit;text-decoration:none;
  background:radial-gradient(circle at 80% 10%,rgba(100,247,161,.08),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),rgba(9,20,31,.72);
  box-shadow:0 24px 70px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease
}
.professional-person-card:hover{transform:translateY(-4px);border-color:rgba(100,247,161,.24);box-shadow:0 30px 80px rgba(0,0,0,.20),0 0 50px rgba(100,247,161,.05),inset 0 1px 0 rgba(255,255,255,.06)}
.professional-person-photo{position:relative;overflow:hidden;min-height:250px}
.professional-person-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(9,20,31,.84) 100%)}
.professional-person-photo img{width:100%;height:100%;display:block;object-fit:cover}
.professional-person-copy{position:relative;padding:26px 30px;display:flex;flex-direction:column;justify-content:center}
.professional-person-copy>span{color:rgba(100,247,161,.82);font:700 .65rem/1 monospace;letter-spacing:.10em}
.professional-person-copy>strong{display:block;margin:17px 0 10px;max-width:740px;color:#fff;font-size:clamp(1.8rem,3.2vw,3.5rem);line-height:.95;letter-spacing:-.05em}
.professional-person-copy>p{margin:0;max-width:680px;color:rgba(239,246,255,.60);font-size:.98rem;line-height:1.65}
.professional-person-copy>i{position:absolute;right:26px;top:24px;color:rgba(100,247,161,.70);font-size:1.1rem;font-style:normal}
@media(max-width:800px){.professional-person-card{grid-template-columns:1fr}.professional-person-photo{min-height:320px}.professional-person-photo::after{background:linear-gradient(180deg,transparent 64%,rgba(9,20,31,.9) 100%)}}

/* V23 overflow integrity — decorative hero aurora must never widen the document.
   Keep Y overflow visible so the approved spectral headline glyph treatment is not clipped. */
.hero,
.intro{
  overflow-x:clip!important;
  overflow-y:visible!important;
}


/* V24 — final Scale/System composition: no stretched empty Software House card. */
.scale-grid{
  align-items:start!important;
}
.software-house-focus{
  align-self:start!important;
  min-height:0!important;
  grid-template-rows:auto auto auto auto!important;
}
.software-spectrum{
  align-self:auto!important;
  margin-top:26px!important;
}
.software-house-foot{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin-top:16px!important;
}
@media(min-width:1101px){
  .role-node-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .role-node{
    min-height:52px;
    padding:9px 10px;
  }
}
