:root{--bg:#020711;--bg2:#06101e;--ink:#edf6ff;--muted:#a8b5c4;--cyan:#43d3ff;--line:rgba(75,197,245,.28);--shell:min(1180px,calc(100% - 48px));}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.guhem-page{overflow:hidden;background:radial-gradient(circle at 74% 4%,rgba(13,73,119,.20),transparent 30%),var(--bg)}.shell{width:var(--shell);margin:auto}.section{position:relative;padding:110px 0}
.hero{position:relative;min-height:760px;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,4,12,.93) 0%,rgba(0,4,12,.68) 42%,rgba(0,4,12,.12) 76%),linear-gradient(0deg,#020711 0%,transparent 34%)}
.hero__grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(59,199,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(59,199,255,.08) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 65%,transparent)}
.hero__content{position:relative;z-index:3;width:min(820px,calc(100% - 48px));margin:0;transform:translateY(-4vh);text-align:center;display:flex;flex-direction:column;align-items:center}
.hero__partner-logos{width:min(620px,80vw);height:auto;margin:0 auto 42px;position:relative;z-index:3}
.hero__emblem{position:absolute;z-index:0;width:360px;height:360px;object-fit:contain;left:50%;top:52%;transform:translate(-50%,-50%);opacity:.055;filter:grayscale(1) brightness(2.4);pointer-events:none}
.overline{position:relative;z-index:2;font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.34em;color:var(--cyan)}
.hero h1{position:relative;z-index:2;margin:17px 0 30px;text-transform:uppercase;width:100%}
.hero h1 strong,.hero h1 span,.hero h1 em{display:block;font-family:Montserrat,Arial,sans-serif;font-style:normal;font-synthesis:none;text-rendering:geometricPrecision}
.hero h1 strong{font-size:clamp(72px,8.1vw,124px);font-weight:900;line-height:.82;letter-spacing:-.065em}
.hero h1 span{margin:28px 0 5px;font-size:clamp(27px,3vw,46px);font-weight:700;line-height:1;letter-spacing:-.045em}
.hero h1 em{font-size:clamp(54px,6.2vw,94px);font-weight:800;line-height:.82;letter-spacing:-.062em}
.discover{position:relative;z-index:2;display:inline-flex;align-items:center;gap:22px;font-size:9px;font-weight:800;letter-spacing:.25em}
.discover i{width:65px;height:1px;background:var(--cyan);position:relative}.discover i:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);transform:rotate(45deg)}
.opening{padding-top:130px}.opening__row{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.opening__row--bottom{grid-template-columns:1fr 1fr}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:70px 0}.copy h2,.text-block h2,.center-heading h2{font:800 clamp(34px,4vw,58px)/.94 Montserrat,Arial,sans-serif;letter-spacing:-.035em;margin:8px 0 24px;text-transform:uppercase}.copy p,.text-block p{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 16px}.section-label,.center-heading span{font-size:10px;font-weight:800;letter-spacing:.28em;color:var(--cyan);text-transform:uppercase}.photo{margin:0;position:relative;border:1px solid rgba(75,197,245,.30);overflow:hidden;background:#071426;box-shadow:0 25px 80px rgba(0,0,0,.38)}.photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 45px rgba(36,172,234,.14);pointer-events:none}.photo img{width:100%;height:100%;object-fit:cover}.photo--protocol{aspect-ratio:1.35}.photo--building{aspect-ratio:1.75}.copy--right{text-align:right}.copy--right .section-label{display:inline-block}
.manifesto{position:relative;padding:120px 20px;text-align:center;border-top:1px solid rgba(67,211,255,.10);border-bottom:1px solid rgba(67,211,255,.10);overflow:hidden}.clouds{position:absolute;inset:auto -8% -55% -8%;height:250px;background:radial-gradient(ellipse at center,rgba(220,241,255,.48),rgba(93,138,179,.18) 30%,transparent 70%);filter:blur(18px);opacity:.5}.manifesto__inner{position:relative}.manifesto span{display:block;font:600 clamp(18px,2.2vw,32px)/1 Montserrat,Arial,sans-serif;letter-spacing:.08em}.manifesto strong{display:block;margin-top:6px;font:800 clamp(44px,6.4vw,92px)/.9 Montserrat,Arial,sans-serif;letter-spacing:-.045em}
.education{background:linear-gradient(180deg,rgba(5,16,31,.55),transparent)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}.text-block{text-align:center}.line-icon,.field__icon,.immersive-item div{width:60px;height:60px;margin:0 auto 10px;color:var(--cyan)}svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.text-block h2{font-size:43px}.text-block p{text-align:left}
.fields{position:relative;padding-top:85px}.center-heading{text-align:center;margin-bottom:55px}.center-heading h2{margin-top:2px}.satellite{position:absolute;left:-55px;top:170px;width:270px;max-width:none;opacity:.85;transform:rotate(-12deg);filter:drop-shadow(0 20px 35px rgba(0,0,0,.55))}.field-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;z-index:2}.field{min-height:160px;padding:26px;text-align:center;border:1px solid rgba(75,197,245,.54);border-radius:5px;background:linear-gradient(180deg,rgba(12,31,55,.52),rgba(4,11,22,.75));box-shadow:inset 0 0 28px rgba(43,171,229,.08)}.field__icon{width:44px;height:44px}.field h3,.immersive-item h3{font:700 20px/1.08 Montserrat,Arial,sans-serif;margin:5px 0 0;text-transform:uppercase;letter-spacing:.025em}.immersive{padding-top:75px;background:radial-gradient(circle at 50% 50%,rgba(14,70,113,.17),transparent 42%)}.immersive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 40px;max-width:900px;margin:auto}.immersive-item{text-align:center}.immersive-item div{width:50px;height:50px}.immersive-item h3{font-size:17px}
.industry{padding-top:95px}.center-heading--wide h2{font-size:clamp(38px,5vw,68px)}.industry-row{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}.photo--industry{aspect-ratio:1.62}.gallery-section{padding:40px 0 90px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:8px}.gallery-card{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.gallery-card:nth-child(1),.gallery-card:nth-child(6){grid-column:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.gallery-card:hover img{transform:scale(1.035)}.footer{padding:32px 20px 45px;border-top:1px solid rgba(75,197,245,.16);text-align:center}.footer__social{font:600 12px Montserrat,Arial,sans-serif;letter-spacing:.12em;margin-bottom:25px}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.hero{min-height:760px}.opening__row,.opening__row--bottom,.industry-row,.two-columns{grid-template-columns:1fr;gap:45px}.copy--right{text-align:left}.opening__row--bottom .photo{order:2}.satellite{width:210px;left:-80px;top:170px}.field-list{gap:14px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-card:nth-child(1),.gallery-card:nth-child(6){grid-column:span 1}}
@media(max-width:640px){:root{--shell:min(100% - 30px,1180px)}.hero{height:auto;min-height:720px}.hero__image{object-position:63% center}.hero__shade{background:linear-gradient(90deg,rgba(0,4,12,.92),rgba(0,4,12,.44)),linear-gradient(0deg,#020711 0%,transparent 42%)}.hero__content{width:min(100% - 28px,820px);transform:translateY(-2vh)}.hero__partner-logos{width:min(530px,88vw);margin-bottom:32px}.hero__emblem{width:250px;height:250px}.overline{font-size:8px;letter-spacing:.24em}.hero h1 strong{font-size:64px;line-height:.84}.hero h1 span{font-size:24px;margin-top:20px;letter-spacing:-.04em}.hero h1 em{font-size:49px;line-height:.86;letter-spacing:-.055em}.section{padding:78px 0}.opening{padding-top:88px}.opening__row{gap:35px}.divider{margin:45px 0}.copy h2,.text-block h2,.center-heading h2{font-size:36px}.copy p,.text-block p{font-size:12px;line-height:1.78}.manifesto{padding:85px 15px}.manifesto strong{font-size:50px}.two-columns{gap:65px}.field-list{grid-template-columns:1fr}.satellite{opacity:.18;left:-100px}.immersive-grid{grid-template-columns:repeat(2,1fr);gap:35px 15px}.industry-row{gap:35px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}}

/* v4.2 — PDF yerleşimine sadık hero ve başlık düzeltmeleri */
.hero{align-items:center;justify-content:flex-start}
.hero__content{
  width:var(--shell);
  margin:0 auto;
  padding-top:34px;
  transform:translateY(-2vh);
  text-align:left;
  align-items:flex-start;
}
.hero__partner-logos{
  width:min(560px,58vw);
  margin:0 0 58px 0;
}
.hero__emblem{
  left:315px;
  top:58%;
  width:390px;
  height:390px;
  transform:translate(-50%,-50%);
  opacity:.05;
}
.hero h1{width:min(850px,78vw);margin:15px 0 30px}
.hero h1 strong{font-size:clamp(76px,8.2vw,126px);line-height:.84;letter-spacing:-.055em}
.hero h1 span{font-size:clamp(31px,3.15vw,48px);line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.hero h1 em{font-size:clamp(48px,5.45vw,82px);line-height:.9;letter-spacing:-.05em;white-space:nowrap}
.discover{margin-left:2px}

.copy--right .school-title{max-width:760px;margin-left:auto}
.school-title span{display:block;white-space:nowrap}

.manifesto{isolation:isolate}
.clouds{
  inset:auto -7% -88px -7%;
  height:330px;
  background:url('assets/cloud.webp') center bottom/cover no-repeat;
  filter:none;
  opacity:.7;
  mix-blend-mode:screen;
  z-index:-1;
}
.manifesto:before{
  content:"";
  position:absolute;
  left:-8%;right:-8%;top:-120px;
  height:260px;
  background:url('assets/cloud.webp') center top/cover no-repeat;
  transform:scaleY(-1);
  opacity:.42;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:-1;
}
.education:before{
  content:"";
  position:absolute;
  left:-8%;right:-8%;top:-130px;
  height:260px;
  background:url('assets/cloud.webp') center/cover no-repeat;
  opacity:.32;
  mix-blend-mode:screen;
  pointer-events:none;
}

@media(max-width:980px){
  .hero__content{padding-top:20px}
  .hero__partner-logos{width:min(540px,68vw);margin-bottom:46px}
  .hero__emblem{left:260px;width:320px;height:320px}
  .hero h1{width:min(760px,86vw)}
  .hero h1 em{white-space:normal}
  .school-title span{white-space:normal}
}
@media(max-width:640px){
  .hero{min-height:720px}
  .hero__content{width:min(100% - 30px,1180px);padding-top:12px;transform:translateY(-1vh)}
  .hero__partner-logos{width:min(500px,88vw);margin-bottom:34px}
  .hero__emblem{left:42%;top:57%;width:250px;height:250px}
  .hero h1{width:100%;margin-top:12px}
  .hero h1 strong{font-size:58px}
  .hero h1 span{font-size:22px;white-space:normal}
  .hero h1 em{font-size:42px;line-height:.94;white-space:normal}
  .copy--right .school-title{margin-left:0}
  .school-title span{white-space:normal}
  .clouds{height:230px;bottom:-55px}
}

/* v4.3 - PDF referansindaki bolum oranlari ve yerlesim duzeltmeleri */
.opening{
  padding:92px 0 72px;
}
.opening .shell{
  width:min(1120px,calc(100% - 64px));
}
.opening__row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:56px;
  align-items:center;
}
.opening__row--top{
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
}
.opening__row--bottom{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.opening .photo{
  width:100%;
  max-width:none;
}
.opening .copy h2{
  font-size:clamp(28px,2.25vw,38px);
  line-height:.98;
  letter-spacing:-.025em;
  margin:7px 0 18px;
}
.opening .copy p{
  font-size:11.5px;
  line-height:1.72;
  margin-bottom:12px;
}
.copy--right{
  text-align:right;
}
.copy--right .school-title{
  width:100%;
  max-width:none;
  margin:7px 0 18px auto;
  font-size:clamp(27px,2.15vw,36px);
  line-height:.92;
}
.school-title span{
  display:block;
  white-space:nowrap;
}
.divider{
  margin:58px 0;
}

.manifesto{
  min-height:190px;
  padding:48px 20px 52px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#020711;
  border-top:1px solid rgba(67,211,255,.12);
  border-bottom:0;
  isolation:isolate;
}
.manifesto .clouds{
  display:none;
}
.manifesto:before,
.manifesto:after{
  content:"";
  position:absolute;
  top:18px;
  width:min(520px,35vw);
  height:165px;
  background:url('assets/cloud.webp') center/contain no-repeat;
  opacity:.82;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
}
.manifesto:before{
  left:-45px;
  transform:scaleX(.9);
}
.manifesto:after{
  right:-45px;
  transform:scaleX(-.9);
}
.manifesto__inner{
  position:relative;
  z-index:2;
  width:min(720px,72vw);
  text-align:center;
}
.manifesto span{
  font-size:clamp(15px,1.45vw,23px);
  line-height:1.05;
  letter-spacing:.035em;
  font-weight:500;
}
.manifesto strong{
  margin-top:3px;
  font-size:clamp(28px,3.05vw,50px);
  line-height:.92;
  letter-spacing:-.035em;
  white-space:nowrap;
}

.education{
  position:relative;
  padding:44px 0 92px;
  background:#020711;
}
.education:before{
  display:none;
}
.education .shell{
  width:min(980px,calc(100% - 64px));
}
.education .two-columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:92px;
  align-items:start;
}
.education .line-icon{
  width:48px;
  height:48px;
  margin-bottom:9px;
}
.education .text-block h2{
  font-size:clamp(27px,2vw,34px);
  line-height:1;
  margin:5px 0 18px;
  letter-spacing:-.025em;
}
.education .text-block p{
  font-size:11px;
  line-height:1.65;
  text-align:center;
  max-width:420px;
  margin:0 auto 12px;
}

@media(max-width:980px){
  .opening .shell,.education .shell{width:min(100% - 40px,1120px)}
  .opening__row,.opening__row--top,.opening__row--bottom{grid-template-columns:1fr;gap:34px}
  .opening__row--bottom .photo{order:0}
  .copy--right{text-align:left}
  .copy--right .school-title{margin-left:0}
  .school-title span{white-space:normal}
  .manifesto:before,.manifesto:after{width:42vw;opacity:.65}
  .education .two-columns{gap:50px}
}
@media(max-width:700px){
  .opening{padding:70px 0 55px}
  .manifesto{min-height:175px;padding:45px 14px}
  .manifesto__inner{width:92vw}
  .manifesto span{font-size:13px}
  .manifesto strong{font-size:30px;white-space:normal}
  .manifesto:before,.manifesto:after{width:58vw;height:130px;top:45px;opacity:.42}
  .manifesto:before{left:-31vw}.manifesto:after{right:-31vw}
  .education{padding:36px 0 72px}
  .education .two-columns{grid-template-columns:1fr;gap:55px}
  .education .text-block p{max-width:520px}
}

/* v4.4 - hero logo alignment, title line break, larger clouds and satellite, remove duplicate industry subheading */
.hero__partner-logos{
  margin-left:-18px;
}
.hero h1{
  max-width:840px;
}
.hero h1 em{
  white-space:normal;
  display:block;
  max-width:760px;
  font-size:clamp(46px,5.35vw,80px);
  line-height:.86;
  letter-spacing:-.055em;
}
.hero h1 em br{display:block;content:""}

.manifesto{
  min-height:210px;
  padding:52px 20px 56px;
}
.manifesto:before,
.manifesto:after{
  top:0;
  width:min(680px,43vw);
  height:215px;
  opacity:.92;
}
.manifesto:before{left:-70px;transform:scaleX(1.02)}
.manifesto:after{right:-70px;transform:scaleX(-1.02)}
.manifesto__inner{width:min(760px,72vw)}

.fields{padding-top:98px}
.satellite{
  left:-72px;
  top:150px;
  width:330px;
  opacity:.92;
}

.industry .copy .section-label{display:none}

@media(max-width:980px){
  .hero__partner-logos{margin-left:-10px}
  .hero h1 em{max-width:unset;font-size:clamp(44px,6.2vw,70px)}
  .manifesto:before,.manifesto:after{width:50vw;height:190px;top:10px}
  .satellite{width:260px;left:-92px;top:165px}
}
@media(max-width:700px){
  .hero__partner-logos{margin-left:0}
  .hero h1 em{font-size:40px;line-height:.9}
  .manifesto{min-height:185px;padding:42px 14px 48px}
  .manifesto:before,.manifesto:after{width:62vw;height:150px;top:28px;opacity:.58}
  .manifesto:before{left:-28vw}
  .manifesto:after{right:-28vw}
  .satellite{width:220px;left:-95px;top:175px;opacity:.22}
}

/* v4.5 - Turkish uppercase fixes, hero emblem visibility, logo offset, larger clouds */
.field h3,
.immersive-item h3{
  text-transform:none;
}

.hero__partner-logos{
  margin-left:-34px;
}
.hero__emblem{
  left:295px;
  top:57%;
  width:470px;
  height:470px;
  opacity:.09;
  filter:grayscale(1) brightness(2.3);
}

.manifesto{
  min-height:220px;
  padding:54px 20px 58px;
}
.manifesto:before,
.manifesto:after{
  width:min(760px,48vw);
  height:240px;
  top:-8px;
  opacity:.98;
}
.manifesto:before{left:-92px}
.manifesto:after{right:-92px}

/* subtle GUHEM emblem behind immersive title area */
.immersive{
  position:relative;
}
.immersive:before{
  content:"";
  position:absolute;
  left:50%;
  top:135px;
  width:340px;
  height:340px;
  transform:translateX(-50%);
  background:url('assets/guhem-emblem.png') center/contain no-repeat;
  opacity:.04;
  filter:grayscale(1) brightness(2.1);
  pointer-events:none;
}
.immersive .shell{position:relative;z-index:1}

@media(max-width:980px){
  .hero__partner-logos{margin-left:-20px}
  .hero__emblem{left:255px;width:390px;height:390px;opacity:.08}
  .manifesto:before,.manifesto:after{width:56vw;height:210px;top:4px}
  .immersive:before{width:280px;height:280px;top:145px;opacity:.035}
}
@media(max-width:700px){
  .hero__partner-logos{margin-left:0}
  .hero__emblem{left:42%;width:250px;height:250px;opacity:.07}
  .manifesto{min-height:190px;padding:42px 14px 50px}
  .manifesto:before,.manifesto:after{width:70vw;height:170px;top:24px;opacity:.62}
  .manifesto:before{left:-32vw}
  .manifesto:after{right:-32vw}
  .immersive:before{width:220px;height:220px;top:118px;opacity:.028}
}

/* v4.7 - cleaner hero typography and spacing */
.hero__content{
  max-width:720px;
  padding-top:18px;
}
.hero__partner-logos{
  width:min(520px,52vw);
  margin-left:-42px;
  margin-bottom:48px;
}
.overline{
  font-size:10px;
  letter-spacing:.31em;
  line-height:1.4;
}
.hero h1{
  width:100%;
  max-width:720px;
  margin:16px 0 34px;
}
.hero h1 strong{
  font-size:clamp(76px,7.2vw,112px);
  line-height:.86;
  letter-spacing:-.058em;
}
.hero h1 span{
  margin:30px 0 10px;
  font-size:clamp(27px,2.8vw,42px);
  line-height:1.05;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.hero h1 em{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:690px;
  font-size:clamp(48px,4.9vw,74px);
  line-height:.84;
  letter-spacing:-.052em;
}
.hero h1 em b{
  display:block;
  font:inherit;
  white-space:nowrap;
}
.hero h1 em b:last-child{
  margin-top:6px;
}
.discover{
  margin-top:2px;
}
.hero__emblem{
  left:280px;
  top:58%;
  width:430px;
  height:430px;
  opacity:.075;
}

@media(max-width:980px){
  .hero__content{max-width:680px}
  .hero__partner-logos{width:min(500px,62vw);margin-left:-24px;margin-bottom:42px}
  .hero h1{max-width:680px}
  .hero h1 em{font-size:clamp(46px,6vw,66px)}
}
@media(max-width:700px){
  .hero__content{max-width:none;padding-top:8px}
  .hero__partner-logos{width:min(470px,88vw);margin-left:0;margin-bottom:30px}
  .overline{font-size:8px;letter-spacing:.24em}
  .hero h1{margin:12px 0 28px}
  .hero h1 strong{font-size:58px}
  .hero h1 span{font-size:22px;margin:20px 0 8px;white-space:normal}
  .hero h1 em{font-size:40px;line-height:.88}
  .hero h1 em b{white-space:normal}
  .hero h1 em b:last-child{margin-top:4px}
  .hero__emblem{left:40%;top:58%;width:240px;height:240px;opacity:.06}
}

/* v4.8 - hero block pushed further left */
.hero__content{
  width:min(1280px,calc(100% - 56px));
  margin:0 0 0 max(28px, calc((100vw - 1280px) / 2 + 6px));
  padding-top:26px;
}
.hero__partner-logos{
  margin-left:-6px;
}
.hero h1{
  max-width:760px;
}
.discover{
  margin-left:2px;
}

@media(max-width:980px){
  .hero__content{
    width:min(100% - 40px,1180px);
    margin:0 auto;
    padding-top:18px;
  }
}
@media(max-width:700px){
  .hero__content{
    width:min(100% - 28px,1180px);
    margin:0 auto;
    padding-top:10px;
  }
}

/* v4.9 - premium motion package */
.hero__image{
  transform:translate3d(0,0,0) scale(1.035);
  will-change:transform;
}
.hero__content{
  transform:translate3d(0,var(--hero-scroll-y,0),0);
  opacity:var(--hero-scroll-opacity,1);
  will-change:transform,opacity;
}

/* Clouds: slow dual-direction cinematic drift */
.manifesto:before{
  animation:guhemCloudLeft 24s ease-in-out infinite alternate;
  will-change:transform,opacity;
}
.manifesto:after{
  animation:guhemCloudRight 29s ease-in-out infinite alternate;
  will-change:transform,opacity;
}
@keyframes guhemCloudLeft{
  0%{transform:translate3d(-12px,3px,0) scaleX(1.02) scale(1);opacity:.82}
  50%{transform:translate3d(22px,-5px,0) scaleX(1.02) scale(1.055);opacity:1}
  100%{transform:translate3d(48px,1px,0) scaleX(1.02) scale(1.025);opacity:.9}
}
@keyframes guhemCloudRight{
  0%{transform:translate3d(18px,1px,0) scaleX(-1.02) scale(1.02);opacity:.86}
  50%{transform:translate3d(-20px,-6px,0) scaleX(-1.02) scale(1.07);opacity:1}
  100%{transform:translate3d(-52px,2px,0) scaleX(-1.02) scale(1.035);opacity:.9}
}

/* Satellite: subtle zero-gravity movement */
.satellite{
  animation:guhemSatelliteFloat 11s ease-in-out infinite;
  transform-origin:50% 50%;
  will-change:transform;
}
@keyframes guhemSatelliteFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-12deg)}
  50%{transform:translate3d(10px,-13px,0) rotate(-8.5deg)}
}

/* Images: scroll parallax plus premium hover */
.photo img,
.gallery-card img{
  transform:translate3d(0,var(--image-parallax,0),0) scale(1.045);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .8s ease;
  will-change:transform;
}
.photo,
.gallery-card{
  isolation:isolate;
}
.photo:before,
.gallery-card:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:-20% auto -20% -65%;
  width:42%;
  transform:skewX(-16deg);
  background:linear-gradient(90deg,transparent,rgba(112,218,255,.13),transparent);
  opacity:0;
  pointer-events:none;
  transition:left 1s cubic-bezier(.2,.7,.2,1),opacity .35s ease;
}
.photo:hover:before,
.gallery-card:hover:before{
  left:125%;
  opacity:1;
}
.photo:hover img,
.gallery-card:hover img{
  transform:translate3d(0,var(--image-parallax,0),0) scale(1.085);
  filter:brightness(1.06) contrast(1.025);
}

/* Icons: calm glow, staggered to avoid synchronized blinking */
.field__icon,
.immersive-item div,
.line-icon{
  animation:guhemIconGlow 5.6s ease-in-out infinite;
  will-change:transform,filter;
}
.field:nth-child(2) .field__icon,
.immersive-item:nth-child(2) div,
.immersive-item:nth-child(5) div{animation-delay:-1.8s}
.field:nth-child(3) .field__icon,
.immersive-item:nth-child(3) div,
.immersive-item:nth-child(6) div{animation-delay:-3.4s}
.immersive-item:nth-child(4) div{animation-delay:-.9s}
@keyframes guhemIconGlow{
  0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 0 0 rgba(67,211,255,0))}
  50%{transform:translateY(-3px) scale(1.035);filter:drop-shadow(0 0 9px rgba(67,211,255,.32))}
}

/* Reveal: softer blur and stagger */
.reveal{
  filter:blur(5px);
  transition-delay:var(--reveal-delay,0ms);
  transition-property:opacity,transform,filter;
  transition-duration:.9s;
  transition-timing-function:cubic-bezier(.2,.72,.2,1);
}
.reveal.is-visible{
  filter:blur(0);
}

/* Faint living grid in hero */
.hero__grid{
  animation:guhemGridPulse 10s ease-in-out infinite;
}
@keyframes guhemGridPulse{
  0%,100%{opacity:.12;transform:translate3d(0,0,0)}
  50%{opacity:.22;transform:translate3d(0,5px,0)}
}

@media (hover:none){
  .photo:hover img,.gallery-card:hover img{
    transform:translate3d(0,var(--image-parallax,0),0) scale(1.045);
    filter:none;
  }
  .photo:before,.gallery-card:before{display:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .hero__image,.hero__content,.photo img,.gallery-card img,.satellite{
    transform:none!important;
    opacity:1!important;
  }
  .reveal{opacity:1!important;filter:none!important;transform:none!important}
}

/* v5.0 - subtle visor light sweep */
.hero__visor-light{
  position:absolute;
  right:7.2%;
  top:8.5%;
  width:min(41vw,540px);
  aspect-ratio:0.84;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  border-radius:48% 48% 46% 46% / 33% 33% 57% 57%;
  -webkit-mask-image:radial-gradient(circle at 53% 44%, rgba(0,0,0,1) 0 59%, rgba(0,0,0,.9) 67%, transparent 82%);
  mask-image:radial-gradient(circle at 53% 44%, rgba(0,0,0,1) 0 59%, rgba(0,0,0,.9) 67%, transparent 82%);
}
.hero__visor-light::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 48% 38%, rgba(135,221,255,.08), transparent 44%),
             radial-gradient(circle at 62% 62%, rgba(77,150,255,.05), transparent 42%);
  filter:blur(2px);
  opacity:.55;
}
.hero__visor-beam,
.hero__visor-glow{
  position:absolute;
  display:block;
  will-change:transform,opacity;
}
.hero__visor-beam{
  top:-16%;
  left:-42%;
  width:38%;
  height:138%;
  transform:translate3d(0,0,0) rotate(27deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.06) 18%, rgba(181,235,255,.52) 48%, rgba(255,255,255,.07) 74%, transparent 100%);
  filter:blur(1.2px);
  opacity:0;
  animation:guhemVisorSweep 11s cubic-bezier(.22,.61,.36,1) infinite;
}
.hero__visor-glow{
  left:10%;
  top:18%;
  width:72%;
  height:56%;
  border-radius:50%;
  background:radial-gradient(circle at 32% 48%, rgba(151,228,255,.18), rgba(86,170,245,.06) 32%, transparent 68%);
  filter:blur(14px);
  opacity:0;
  animation:guhemVisorGlow 11s ease-in-out infinite;
}
@keyframes guhemVisorSweep{
  0%, 18% { transform:translate3d(0,0,0) rotate(27deg); opacity:0; }
  24% { opacity:.15; }
  32% { opacity:.92; }
  44% { transform:translate3d(285%,0,0) rotate(27deg); opacity:.2; }
  46%,100% { transform:translate3d(300%,0,0) rotate(27deg); opacity:0; }
}
@keyframes guhemVisorGlow{
  0%, 19%, 100% { opacity:0; transform:scale(.96); }
  30% { opacity:.52; transform:scale(1); }
  40% { opacity:.24; transform:scale(1.025); }
  47% { opacity:0; transform:scale(1.03); }
}
@media(max-width:980px){
  .hero__visor-light{
    right:5.5%;
    top:10%;
    width:min(47vw,430px);
  }
}
@media(max-width:640px){
  .hero__visor-light{
    right:-8%;
    top:9%;
    width:min(58vw,300px);
    opacity:.75;
  }
  .hero__visor-beam{width:42%;}
}
@media (prefers-reduced-motion:reduce){
  .hero__visor-beam,.hero__visor-glow{animation:none!important;opacity:0!important}
}

/* v5.1 - visor sweep aligned to helmet and triggered only on hover */
.hero__visor-light{
  right:2.5%;
  top:13.2%;
  width:min(39vw,560px);
  aspect-ratio:1.05;
  border-radius:48% 48% 46% 46% / 44% 44% 54% 54%;
  -webkit-mask-image:radial-gradient(ellipse 49% 47% at 49% 48%, #000 0 76%, rgba(0,0,0,.9) 82%, transparent 100%);
  mask-image:radial-gradient(ellipse 49% 47% at 49% 48%, #000 0 76%, rgba(0,0,0,.9) 82%, transparent 100%);
}
.hero__visor-light::before{
  opacity:.28;
}
.hero__visor-beam{
  top:-22%;
  left:-48%;
  width:34%;
  height:148%;
  transform:translate3d(0,0,0) rotate(25deg);
  opacity:0;
  animation:none;
}
.hero__visor-glow{
  left:8%;
  top:12%;
  width:82%;
  height:70%;
  opacity:0;
  animation:none;
}
.hero:hover .hero__visor-beam{
  animation:guhemVisorHoverSweep 1.65s cubic-bezier(.2,.68,.25,1) both;
}
.hero:hover .hero__visor-glow{
  animation:guhemVisorHoverGlow 1.65s ease-out both;
}
@keyframes guhemVisorHoverSweep{
  0%{transform:translate3d(0,0,0) rotate(25deg);opacity:0}
  12%{opacity:.18}
  38%{opacity:.88}
  74%{opacity:.34}
  100%{transform:translate3d(330%,0,0) rotate(25deg);opacity:0}
}
@keyframes guhemVisorHoverGlow{
  0%{opacity:0;transform:scale(.97)}
  32%{opacity:.46;transform:scale(1)}
  72%{opacity:.22;transform:scale(1.018)}
  100%{opacity:0;transform:scale(1.025)}
}
@media(max-width:980px){
  .hero__visor-light{
    right:1%;
    top:14%;
    width:min(44vw,470px);
  }
}
@media(max-width:640px){
  .hero__visor-light{
    right:-10%;
    top:14%;
    width:min(61vw,330px);
    aspect-ratio:1.02;
  }
}
@media (hover:none){
  .hero__visor-beam,
  .hero__visor-glow{display:none}
}

/* v5.2 - visor mask precisely positioned over the helmet glass */
.hero__visor-light{
  left:50.2%;
  right:auto;
  top:13.8%;
  width:min(37.2vw,535px);
  aspect-ratio:1.03;
  pointer-events:auto;
  cursor:pointer;
  border-radius:48% 49% 47% 47% / 42% 42% 58% 58%;
  -webkit-mask-image:radial-gradient(ellipse 48% 46% at 50% 49%, #000 0 75%, rgba(0,0,0,.95) 82%, transparent 100%);
  mask-image:radial-gradient(ellipse 48% 46% at 50% 49%, #000 0 75%, rgba(0,0,0,.95) 82%, transparent 100%);
}
.hero__visor-light::before,
.hero__visor-beam,
.hero__visor-glow{pointer-events:none}

/* Trigger only when the cursor is actually over the visor */
.hero:hover .hero__visor-beam,
.hero:hover .hero__visor-glow{animation:none}
.hero__visor-light:hover .hero__visor-beam{
  animation:guhemVisorHoverSweep 1.65s cubic-bezier(.2,.68,.25,1) both;
}
.hero__visor-light:hover .hero__visor-glow{
  animation:guhemVisorHoverGlow 1.65s ease-out both;
}

@media(max-width:1200px){
  .hero__visor-light{
    left:50.8%;
    top:14.2%;
    width:min(38.5vw,500px);
  }
}
@media(max-width:980px){
  .hero__visor-light{
    left:52.5%;
    right:auto;
    top:15%;
    width:min(43vw,455px);
  }
}
@media(max-width:640px){
  .hero__visor-light{
    left:55%;
    right:auto;
    top:15.5%;
    width:min(58vw,320px);
  }
}
