.hero{position:relative;width:100%;height:100svh;min-height:760px;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 72% 46%,rgba(37,130,133,.17),transparent 29%),radial-gradient(circle at 79% 57%,rgba(253,81,28,.07),transparent 23%),linear-gradient(112deg,#020607 0%,#010304 55%,#000 100%)}
#threeScene{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.field-glow{position:absolute;right:-4vw;top:48%;width:69vw;height:69vw;transform:translateY(-50%);border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(circle,rgba(59,186,181,.115) 0%,rgba(18,78,85,.055) 37%,rgba(2,12,14,.02) 59%,transparent 72%);animation:fieldBreathing 8s ease-in-out infinite}
@keyframes fieldBreathing{0%,100%{transform:translateY(-50%) scale(.97);opacity:.75}50%{transform:translateY(-50%) scale(1.025);opacity:1}}
.grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:84px 84px;mask-image:radial-gradient(ellipse at 73% 49%,#000,transparent 71%)}
.vignette{position:absolute;inset:0;z-index:9;pointer-events:none;background:radial-gradient(ellipse at center,transparent 39%,rgba(0,0,0,.1) 65%,rgba(0,0,0,.68) 100%)}
.noise{position:absolute;inset:0;z-index:10;pointer-events:none;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-copy{position:absolute;left:5vw;top:46.5%;z-index:20;width:55vw;max-width:930px;transform:translateY(-50%)}
.portal-ring{position:absolute;left:50%;top:50%;border-radius:50%;pointer-events:none}.portal-energy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.hero-title{position:relative;width:100%;margin:0;font-family:"Barlow Condensed",sans-serif;font-style:italic;font-weight:800;line-height:.77;text-transform:uppercase;user-select:none;transform:scaleY(1.08);transform-origin:left center}
.title-line{position:relative;display:block;width:max-content;white-space:nowrap;opacity:0;transform:translateY(38px);animation:titleEntrance .95s var(--entrance-delay) var(--ease) forwards}.title-business{--entrance-delay:.5s;font-size:clamp(80px,7.4vw,145px);letter-spacing:.015em}.title-transform{--entrance-delay:.65s;margin-top:24px;font-size:clamp(69px,6.3vw,123px);letter-spacing:-.005em}@keyframes titleEntrance{to{opacity:1;transform:translateY(0)}}
.title-letter{position:relative;display:inline-block;isolation:isolate}.title-business .title-letter{color:#edf4f4;-webkit-text-fill-color:#edf4f4;text-shadow:0 1px 0 rgba(255,255,255,.18)}
.transform-gradient{position:relative;display:block;color:#45c1b7;-webkit-text-fill-color:#45c1b7;filter:drop-shadow(0 0 7px rgba(69,193,183,.30))}.transform-flare{position:absolute;inset:0;display:block;width:max-content;z-index:5;color:transparent;-webkit-text-fill-color:transparent;pointer-events:none}.transform-flare .title-letter{color:transparent;-webkit-text-fill-color:transparent}
.title-letter.glowing{z-index:6;color:#fff!important;-webkit-text-fill-color:#fff!important;filter:brightness(1.8);text-shadow:0 0 3px #fff,0 0 8px #fff,0 0 15px var(--active-glow),0 0 31px var(--active-glow),0 0 55px var(--active-glow-soft)}
.title-letter.glowing::before{content:"";position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(255,255,255,.7),var(--active-glow-soft) 23%,transparent 67%);filter:blur(4px);animation:flareCore .42s ease-out}.title-letter.glowing::after{content:"";position:absolute;left:50%;top:51%;width:150px;height:2px;transform:translate(-50%,-50%);z-index:7;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04) 14%,var(--active-glow-soft) 28%,rgba(255,255,255,.75) 44%,#fff 50%,rgba(255,255,255,.75) 56%,var(--active-glow-soft) 72%,transparent);box-shadow:0 0 5px #fff,0 0 13px var(--active-glow);animation:flareLine .42s ease-out}
@keyframes flareCore{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}45%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes flareLine{0%{opacity:0;width:25px}35%{opacity:1;width:150px}100%{opacity:0;width:215px}}
.hero-description{width:min(560px,94%);margin-top:44px;color:rgba(255,255,255,.54);font-size:clamp(15px,1.07vw,19px);line-height:1.68;opacity:0;transform:translateY(18px);animation:revealUp .85s .85s var(--ease) forwards}.hero-description strong{color:rgba(255,255,255,.94);font-weight:600}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}
.motto{display:flex;align-items:center;gap:15px;margin-top:24px;min-height:60px;overflow:visible;opacity:1}.motto-word{display:inline-block;flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0;transform:translateY(0);transform-origin:center bottom}.motto-node{flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:#45c1b7;box-shadow:0 0 8px rgba(69,193,183,.6)}.motto-node.orange{background:#fd511c;box-shadow:0 0 8px rgba(253,81,28,.6)}
.experience{position:absolute;left:5vw;bottom:4.5vh;z-index:30;display:flex;align-items:center;gap:20px;opacity:0;animation:heroFade 1s 1.2s forwards}@keyframes heroFade{to{opacity:1}}.experience-button{position:relative;width:78px;height:78px;border:0;background:transparent;display:grid;place-items:center}.exp-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.23)}.exp-ring::before{content:"";position:absolute;inset:-5px;border-radius:50%;border-left:1px solid var(--teal);border-right:1px solid var(--orange)}.exp-spinner{position:absolute;inset:8px;border-radius:50%;border-top:1px solid var(--teal);border-right:1px solid transparent;animation:heroSpin 6s linear infinite}@keyframes heroSpin{to{transform:rotate(360deg)}}.exp-play{width:0;height:0;margin-left:5px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #fff}.experience-copy strong{display:block;margin-bottom:7px;color:var(--teal-hot);font-size:11px;font-weight:600;letter-spacing:.21em;text-transform:uppercase}.experience-copy span{display:block;max-width:220px;color:rgba(255,255,255,.38);font-size:10px;line-height:1.5}
@media(max-width:900px){.hero-copy{left:28px;top:14%;width:calc(100% - 56px);transform:none}.experience{left:28px;bottom:115px}}@media(max-width:640px){.hero{min-height:820px}.hero-copy{left:20px;top:12.5%;width:calc(100% - 40px)}.title-business{font-size:clamp(61px,18vw,84px)}.title-transform{margin-top:17px;font-size:clamp(42px,12.1vw,58px)}.hero-description{margin-top:32px;font-size:13px}.motto{gap:10px;min-height:44px}.motto-word{font-size:11px}.experience{left:20px;bottom:112px}}

/* TITLE HOVER — independent from the existing travelling flare */
.title-business,.transform-gradient{cursor:none}
.title-business .title-letter,.transform-gradient .title-letter{transition:transform .22s cubic-bezier(.2,.8,.2,1),filter .22s ease,text-shadow .22s ease;transform:translate3d(var(--hover-x,0px),var(--hover-y,0px),0) scale(var(--hover-scale,1));will-change:transform,filter,text-shadow}
.title-business .title-letter.title-hover{filter:brightness(1.18);text-shadow:0 0 10px rgba(111,255,242,.28),0 0 22px rgba(69,193,183,.16)}
.transform-gradient .title-letter.title-hover{filter:brightness(1.22);text-shadow:0 0 10px rgba(111,255,242,.34),0 0 24px rgba(69,193,183,.18)}
