:root{
  --black:#03060B;
  --deep:#040B16;
  --nav:#020408;
  --white:#F7F8FA;
  --text:#09101A;
  --muted:#6E7784;
  --cyan:#64E7FF;
  --cyan2:#00B7FF;
  --line:rgba(100,231,255,.22);
  --container:1210px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:Manrope,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.container{width:min(100% - 56px,var(--container));margin-inline:auto}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:0 52px;
  background:rgba(0,0,0,.94);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.brand{
  width:315px;
  min-width:315px;
  display:flex;
  align-items:center;
}
.brand img{width:100%;height:auto}
.main-nav{
  display:flex;
  align-items:center;
  gap:34px;
  font-size:12px;
  line-height:1;
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.main-nav a{transition:color .18s ease,opacity .18s ease}
.main-nav a:hover{color:var(--cyan)}
.nav-demo{
  padding:10px 22px;
  border:1px solid rgba(100,231,255,.42);
  border-radius:999px;
  color:rgba(255,255,255,.86)!important;
  background:rgba(0,183,255,.04);
}
.menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:9px;
  border:0;
  background:transparent;
}
.menu-toggle span{
  display:block;
  height:2px;
  background:#fff;
  margin:6px 0;
  border-radius:999px;
}

.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#05080F;
  padding:0 0 78px;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.52) 31%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.08) 100%),
    linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.28));
}
.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:725px;
  margin-left:max(0px,calc((100vw - var(--container)) / 2));
  padding-top:110px;
}
.hero h1{
  margin:0 0 20px;
  max-width:690px;
  font-family:Sora,Manrope,sans-serif;
  font-size:clamp(36px,4.6vw,62px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:800;
}
.hero p{
  margin:0;
  max-width:650px;
  font-size:clamp(15px,1.25vw,19px);
  line-height:1.32;
  font-weight:800;
  color:#fff;
}
.hero .hero-strong{margin-bottom:6px}

.white-manifesto{
  background:#F5F6F8;
  color:#060B12;
  padding:22px 0 25px;
}
.white-manifesto .container{width:min(100% - 44px,1260px)}
.white-manifesto p{
  margin:0;
  font-size:clamp(15px,1.22vw,19px);
  line-height:1.22;
  font-weight:800;
  letter-spacing:-.018em;
}
.white-manifesto p+p{margin-top:2px}

.future-section{
  background:#080B10;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.future-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:34px;
  align-items:stretch;
  min-height:350px;
  padding:34px 0;
}
.future-title{
  display:flex;
  align-items:flex-start;
  padding-top:10px;
}
.future-title h2{
  margin:0;
  font-family:Sora,Manrope,sans-serif;
  font-size:clamp(34px,3.8vw,54px);
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:750;
}
.future-showcase{
  min-height:282px;
  display:flex;
  align-items:stretch;
}
.video-fader{
  position:relative;
  width:100%;
  min-height:282px;
  overflow:hidden;
  border-radius:14px;
  background:#010307;
  border:1px solid rgba(100,231,255,.14);
  box-shadow:0 12px 44px rgba(0,0,0,.28);
}
.video-fader::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08));
  pointer-events:none;
}
.fader-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.2s ease-in-out;
}
.fader-video.is-active{
  opacity:1;
}

.process-section{
  background:#F6F8F9;
  color:#070C12;
  padding:36px 0 40px;
}
.process-grid{
  display:grid;
  grid-template-columns:245px 1fr;
  gap:28px;
  align-items:start;
}
.process-heading span{
  display:block;
  margin:0 0 9px;
  font-size:11px;
  letter-spacing:.14em;
  color:#1EBFE7;
  font-weight:800;
}
.process-heading h2{
  margin:0;
  font-family:Sora,Manrope,sans-serif;
  font-size:clamp(30px,3.2vw,46px);
  line-height:1.05;
  letter-spacing:-.055em;
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.process-step{
  position:relative;
  padding-top:4px;
}
.process-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;
  left:62px;
  right:-9px;
  height:1px;
  background:linear-gradient(90deg,rgba(10,20,30,.22),rgba(10,20,30,.06));
}
.step-number{
  width:34px;
  height:34px;
  border:2px solid rgba(30,191,231,.34);
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#1EBFE7;
  font-family:Sora,Manrope,sans-serif;
  font-size:14px;
  font-weight:800;
  background:#F6F8F9;
  margin-bottom:16px;
}
.step-icon{
  color:#82DDED;
  font-size:31px;
  line-height:1;
  margin-bottom:18px;
  opacity:.75;
}
.process-step h3{
  margin:0 0 7px;
  font-size:16px;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:900;
}
.process-step p{
  margin:0;
  max-width:170px;
  color:#2C3642;
  font-size:12px;
  line-height:1.22;
  font-weight:750;
}

.projects-section{
  background:#05080E;
  padding:30px 0 34px;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.04);
}
.projects-grid{
  display:grid;
  grid-template-columns:235px repeat(3,1fr);
  gap:14px;
  align-items:stretch;
}
.projects-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px 14px 22px 0;
}
.projects-title h2{
  margin:0 0 22px;
  font-family:Sora,Manrope,sans-serif;
  font-size:clamp(28px,3vw,44px);
  line-height:1.05;
  letter-spacing:-.06em;
}
.projects-title a{
  color:var(--cyan);
  font-size:13px;
  font-weight:800;
}
.project-card{
  position:relative;
  min-height:168px;
  overflow:hidden;
  border-radius:6px;
  background:#101820;
}
.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.78;
  filter:saturate(.92) contrast(1.05);
}
.project-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));
}
.project-card div{
  position:absolute;
  z-index:2;
  left:14px;
  right:38px;
  bottom:12px;
}
.project-card h3{
  margin:0 0 4px;
  font-size:14px;
  font-weight:900;
}
.project-card p{
  margin:0;
  color:rgba(255,255,255,.75);
  font-size:11px;
  font-weight:700;
}
.project-card span{
  position:absolute;
  z-index:2;
  right:13px;
  bottom:13px;
  color:var(--cyan);
  font-size:22px;
}

.site-footer{
  background:linear-gradient(180deg,#04101E,#071C37);
  padding:64px 0 70px;
  border-top:1px solid rgba(100,231,255,.10);
}
.contact-grid{
  width:min(100% - 56px,880px);
  display:grid;
  grid-template-columns:320px 1px 1fr;
  gap:44px;
  align-items:center;
}
.contact-logo{
  display:flex;
  justify-content:center;
  align-items:center;
}
.contact-logo img{
  width:245px;
  filter:drop-shadow(0 0 18px rgba(0,183,255,.12));
}
.contact-divider{
  width:1px;
  height:155px;
  background:linear-gradient(180deg,transparent,rgba(100,231,255,.32),transparent);
}
.contact-info{
  font-style:normal;
}
.contact-info h2{
  margin:0 0 20px;
  font-family:Sora,Manrope,sans-serif;
  font-size:clamp(28px,3.3vw,42px);
  line-height:1;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.contact-info p{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.35;
  font-weight:700;
}
.contact-info span{
  color:var(--cyan);
  width:18px;
  display:inline-flex;
  justify-content:center;
}

.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease,transform .6s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (max-width:1100px){
  .site-header{padding-inline:26px}
  .brand{width:250px;min-width:250px}
  .main-nav{gap:18px}
  .projects-grid{grid-template-columns:1fr 1fr}
  .projects-title{grid-column:1/-1}
}

@media (max-width:860px){
  .site-header{
    height:auto;
    min-height:64px;
    padding:10px 18px;
    align-items:flex-start;
  }
  .brand{width:205px;min-width:205px;margin-top:6px}
  .menu-toggle{display:block}
  .main-nav{
    position:absolute;
    top:64px;
    left:12px;
    right:12px;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    padding:20px;
    background:rgba(0,0,0,.96);
    border:1px solid rgba(100,231,255,.15);
    border-radius:14px;
  }
  .main-nav.is-open{display:flex}
  .nav-demo{width:100%;text-align:center}
  .hero{
    min-height:100svh;
    padding:0 0 44px;
  }
  .hero-content{
    margin-left:auto;
    padding-top:110px;
  }
  .hero-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.76)),
      linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.20));
  }
  .future-grid{grid-template-columns:1fr;gap:18px}
  .future-title{padding-top:0}
  .future-showcase{min-height:240px}
  .video-fader{min-height:240px}
  .process-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr 1fr}
  .process-step::after{display:none}
  .projects-grid{grid-template-columns:1fr}
  .project-card{min-height:230px}
  .contact-grid{grid-template-columns:1fr;gap:26px;text-align:left}
  .contact-logo{justify-content:flex-start}
  .contact-divider{width:100%;height:1px}
}

@media (max-width:560px){
  .container{width:min(100% - 30px,var(--container))}
  .brand{width:180px;min-width:180px}
  .hero h1{font-size:38px}
  .hero p{font-size:14px;line-height:1.38}
  .white-manifesto{padding:18px 0}
  .white-manifesto p{font-size:14px;line-height:1.28}
  .future-title h2{font-size:38px}
  .process-steps{grid-template-columns:1fr}
  .process-step p{max-width:none}
  .contact-logo img{width:220px}
  .contact-info h2{font-size:30px;letter-spacing:.06em}
}


/* v3 — header logo PNG + copied contacts from v132 */
.brand.brand-split{
  width:auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:15px;
}
.brand-icon{
  width:45px;
  height:45px;
  object-fit:contain;
  flex:0 0 45px;
  filter:drop-shadow(0 0 13px rgba(0,183,255,.38));
}
.brand-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  min-width:0;
}
.brand-name{
  font-family:Sora,Manrope,sans-serif;
  font-size:28px;
  line-height:.86;
  letter-spacing:.34em;
  font-weight:600;
  color:#F7F8FA;
  white-space:nowrap;
}
.brand-name span{
  color:#31D2FF;
}
.brand-tagline{
  font-family:Sora,Manrope,sans-serif;
  font-size:7px;
  line-height:1;
  letter-spacing:.48em;
  color:rgba(247,248,250,.58);
  white-space:nowrap;
}

/* Copied contact layout/style */
.site-footer.section-black.content-section{
  background:
    radial-gradient(circle at 30% 30%,rgba(0,183,255,.10),transparent 34%),
    linear-gradient(180deg,#031020 0%,#061936 100%);
  padding:58px 0 64px;
  border-top:1px solid rgba(100,231,255,.14);
}

.site-footer .contact-card{
  width:min(980px, calc(100% - 28px)) !important;
  max-width:980px !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:minmax(280px, 1fr) auto minmax(300px, 1fr) !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:clamp(24px, 3vw, 54px) !important;
  row-gap:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:left !important;
}

.site-footer .contact-logo-combo{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  margin:0 !important;
  transform:none !important;
  filter:drop-shadow(0 0 22px rgba(0,183,255,.18));
}

.site-footer .contact-portal{
  width:82px !important;
  height:auto !important;
  transform:none !important;
  filter:drop-shadow(0 0 16px rgba(0,183,255,.38));
}

.site-footer .contact-wordmark{
  width:218px !important;
  height:auto !important;
  transform:none !important;
}

.site-footer .contact-divider{
  display:block !important;
  width:1px !important;
  min-width:1px !important;
  height:156px !important;
  min-height:156px !important;
  background:linear-gradient(180deg,transparent,rgba(0,183,255,.72),transparent) !important;
  opacity:1 !important;
  align-self:center !important;
  justify-self:center !important;
}

.site-footer .contact-info{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  font-style:normal !important;
  color:#F7F8FA !important;
  justify-self:start !important;
  border:0 !important;
}

.site-footer .contact-info h2{
  margin:0 0 18px !important;
  font-family:Sora,Manrope,sans-serif !important;
  font-size:clamp(24px,3.05vw,40px) !important;
  line-height:1.04 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  color:#F7F8FA !important;
  white-space:nowrap !important;
}

.site-footer .contact-line{
  display:block !important;
  width:78px !important;
  height:2px !important;
  background:rgba(100,231,255,.62) !important;
  margin:0 0 18px !important;
}

.site-footer .contact-info p{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 11px 0 !important;
  color:rgba(247,248,250,.84) !important;
  font-size:15px !important;
  line-height:1.36 !important;
  font-weight:700 !important;
}

.site-footer .contact-info p:last-child{
  margin-bottom:0 !important;
}

.site-footer .contact-info svg{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  fill:none !important;
  stroke:#00B7FF !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  filter:drop-shadow(0 0 7px rgba(0,183,255,.35));
}

.site-footer .contact-info a,
.site-footer .contact-info span{
  color:inherit !important;
}

@media (max-width: 980px){
  .brand-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .brand-name{
    font-size:24px;
    letter-spacing:.27em;
  }
  .brand-tagline{
    font-size:6px;
    letter-spacing:.38em;
  }
}

@media (max-width: 860px){
  .brand.brand-split{
    gap:11px;
    margin-top:0;
  }
  .brand-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .brand-name{
    font-size:21px;
    letter-spacing:.22em;
  }
  .brand-tagline{
    display:none;
  }

  .site-footer .contact-card{
    width:calc(100% - 28px) !important;
    max-width:520px !important;
    grid-template-columns:minmax(108px,.86fr) 1px minmax(190px,1.14fr) !important;
    column-gap:14px !important;
    padding:18px 14px !important;
  }
  .site-footer .contact-logo-combo{
    gap:16px !important;
  }
  .site-footer .contact-portal{
    width:64px !important;
  }
  .site-footer .contact-wordmark{
    width:140px !important;
  }
  .site-footer .contact-divider{
    height:112px !important;
    min-height:112px !important;
  }
  .site-footer .contact-info h2{
    font-size:15px !important;
    line-height:1.08 !important;
    letter-spacing:.02em !important;
    margin:0 !important;
  }
  .site-footer .contact-line{
    width:48px !important;
    height:1px !important;
    margin:7px 0 8px !important;
  }
  .site-footer .contact-info p{
    font-size:10.5px !important;
    line-height:1.38 !important;
    gap:7px !important;
    margin:0 0 8px 0 !important;
  }
  .site-footer .contact-info svg{
    width:12px !important;
    height:12px !important;
    flex:0 0 12px !important;
  }
}

@media (max-width: 520px){
  .brand-name{
    font-size:18px;
    letter-spacing:.16em;
  }
  .brand-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}


/* v4 fixes */
.site-header{
  height:68px !important;
  padding:0 52px !important;
  overflow:hidden !important;
}

.brand.brand-split{
  width:330px !important;
  min-width:330px !important;
  height:68px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:13px !important;
  margin:0 !important;
  overflow:hidden !important;
}

.brand.brand-split img{
  max-width:none !important;
}

.brand-icon{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 10px rgba(0,183,255,.38)) !important;
}

.brand-wordmark{
  width:250px !important;
  height:auto !important;
  max-height:48px !important;
  object-fit:contain !important;
}

.hero{
  min-height:100svh !important;
  align-items:center !important;
  padding:68px 0 0 !important;
}

.hero-content{
  position:relative !important;
  z-index:2 !important;
  max-width:725px !important;
  margin-left:max(0px,calc((100vw - var(--container)) / 2)) !important;
  padding-top:0 !important;
  text-align:left !important;
  transform:translateY(18px);
}

.future-grid{
  grid-template-columns:260px minmax(0, 1fr) !important;
  align-items:center !important;
  min-height:auto !important;
  padding:34px 0 !important;
}

.future-showcase{
  min-height:0 !important;
  align-items:center !important;
}

.video-fader{
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:520px !important;
}

.fader-video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.process-grid{
  grid-template-columns:245px minmax(0, 1fr) !important;
  gap:72px !important;
}

.process-steps{
  transform:translateX(34px);
}

/* stable footer */
.contacts-footer{
  background:linear-gradient(180deg,#04101E,#071C37) !important;
  padding:64px 0 70px !important;
  border-top:1px solid rgba(100,231,255,.12) !important;
}

.contact-card-fixed{
  width:min(100% - 56px,980px) !important;
  display:grid !important;
  grid-template-columns:330px 1px minmax(360px,1fr) !important;
  align-items:center !important;
  gap:46px !important;
  margin-inline:auto !important;
}

.contact-brand-fixed{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.contact-logo-fixed{
  width:260px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 18px rgba(0,183,255,.15)) !important;
}

.contact-divider-fixed{
  width:1px !important;
  height:150px !important;
  background:linear-gradient(180deg,transparent,rgba(100,231,255,.34),transparent) !important;
}

.contact-info-fixed{
  font-style:normal !important;
  min-width:360px !important;
  width:100% !important;
}

.contact-info-fixed h2{
  margin:0 0 18px !important;
  font-family:Sora,Manrope,sans-serif !important;
  font-size:clamp(28px,3vw,42px) !important;
  line-height:1.02 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  color:#F7F8FA !important;
  white-space:nowrap !important;
}

.contact-info-fixed h2::after{
  content:"" !important;
  display:block !important;
  width:82px !important;
  height:2px !important;
  margin-top:18px !important;
  background:rgba(100,231,255,.62) !important;
}

.contact-info-fixed p{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 11px !important;
  color:rgba(247,248,250,.86) !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.contact-info-fixed svg{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  fill:none !important;
  stroke:#00B7FF !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.contact-info-fixed a,
.contact-info-fixed span{
  color:inherit !important;
}

@media (max-width:1100px){
  .site-header{
    padding:0 26px !important;
  }

  .brand.brand-split{
    width:285px !important;
    min-width:285px !important;
  }

  .brand-wordmark{
    width:220px !important;
  }

  .process-grid{
    gap:44px !important;
  }

  .process-steps{
    transform:translateX(18px);
  }
}

@media (max-width:860px){
  .site-header{
    min-height:64px !important;
    height:64px !important;
    padding:0 16px !important;
    align-items:center !important;
    overflow:visible !important;
  }

  .brand.brand-split{
    width:235px !important;
    min-width:235px !important;
    height:64px !important;
    gap:9px !important;
  }

  .brand-icon{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }

  .brand-wordmark{
    width:190px !important;
    max-height:42px !important;
  }

  .main-nav{
    top:64px !important;
  }

  .hero{
    padding-top:64px !important;
  }

  .hero-content{
    margin-left:auto !important;
    transform:none !important;
  }

  .future-grid{
    grid-template-columns:1fr !important;
  }

  .video-fader{
    max-height:none !important;
  }

  .process-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .process-steps{
    transform:none !important;
  }

  .contact-card-fixed{
    width:min(100% - 32px,560px) !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
    justify-items:start !important;
  }

  .contact-brand-fixed{
    justify-content:flex-start !important;
  }

  .contact-logo-fixed{
    width:235px !important;
  }

  .contact-divider-fixed{
    width:100% !important;
    height:1px !important;
  }

  .contact-info-fixed{
    min-width:0 !important;
  }

  .contact-info-fixed h2{
    white-space:normal !important;
    font-size:28px !important;
    letter-spacing:.06em !important;
  }

  .contact-info-fixed p{
    white-space:normal !important;
    font-size:14px !important;
  }
}

@media (max-width:560px){
  .brand.brand-split{
    width:205px !important;
    min-width:205px !important;
  }

  .brand-wordmark{
    width:165px !important;
  }

  .brand-icon{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
}


/* v5 refinements */
.site-header{
  padding:0 44px !important;
}

.brand.brand-split{
  width:455px !important;
  min-width:455px !important;
  gap:16px !important;
}

.brand-icon{
  width:57px !important;
  height:57px !important;
  flex:0 0 57px !important;
}

.brand-wordmark{
  width:330px !important;
  max-height:56px !important;
}

.main-nav{
  gap:28px !important;
}

.white-manifesto{
  padding:28px 0 32px !important;
}

.white-manifesto .manifesto-narrow{
  width:min(100% - 44px, 760px) !important;
  max-width:760px !important;
  margin-inline:auto !important;
}

.white-manifesto .manifesto-narrow p{
  font-size:clamp(15px,1.16vw,18px) !important;
  line-height:1.42 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}

.white-manifesto .manifesto-narrow p + p{
  margin-top:10px !important;
}

.projects-grid{
  grid-template-columns:250px repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
}

.projects-title{
  padding-right:10px !important;
}

.projects-title h2{
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.02 !important;
}

.project-card{
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:8px !important;
}

.project-card img{
  height:100% !important;
}

.contact-brand-fixed{
  flex-direction:column !important;
  gap:18px !important;
}

.contact-portal-fixed{
  width:72px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 16px rgba(0,183,255,.32)) !important;
}

.contact-logo-fixed{
  width:245px !important;
}

@media (max-width: 1300px){
  .brand.brand-split{
    width:405px !important;
    min-width:405px !important;
  }

  .brand-icon{
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }

  .brand-wordmark{
    width:295px !important;
    max-height:52px !important;
  }

  .main-nav{
    gap:20px !important;
  }
}

@media (max-width: 1100px){
  .site-header{
    padding:0 22px !important;
  }

  .brand.brand-split{
    width:340px !important;
    min-width:340px !important;
  }

  .brand-icon{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }

  .brand-wordmark{
    width:250px !important;
    max-height:48px !important;
  }

  .projects-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .projects-title{
    grid-column:1 / -1 !important;
  }

  .project-card{
    aspect-ratio:1 / 1 !important;
  }
}

@media (max-width: 860px){
  .brand.brand-split{
    width:250px !important;
    min-width:250px !important;
    gap:10px !important;
  }

  .brand-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  .brand-wordmark{
    width:195px !important;
    max-height:40px !important;
  }

  .white-manifesto .manifesto-narrow{
    width:min(100% - 30px, 640px) !important;
  }

  .contact-brand-fixed{
    align-items:flex-start !important;
  }

  .contact-portal-fixed{
    width:62px !important;
  }

  .contact-logo-fixed{
    width:220px !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:218px !important;
    min-width:218px !important;
  }

  .brand-icon{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }

  .brand-wordmark{
    width:172px !important;
    max-height:34px !important;
  }

  .projects-title h2{
    font-size:40px !important;
  }
}


/* v6 refinements */
.brand.brand-split{
  width:620px !important;
  min-width:620px !important;
  gap:20px !important;
}

.brand-icon{
  width:86px !important;
  height:86px !important;
  flex:0 0 86px !important;
}

.brand-wordmark{
  width:500px !important;
  max-height:72px !important;
}

.site-header{
  padding:0 36px !important;
  overflow:visible !important;
}

.contact-brand-fixed{
  gap:24px !important;
}

.contact-portal-fixed{
  width:108px !important;
}

.contact-logo-fixed{
  width:370px !important;
}

@media (max-width: 1300px){
  .brand.brand-split{
    width:500px !important;
    min-width:500px !important;
    gap:16px !important;
  }

  .brand-icon{
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
  }

  .brand-wordmark{
    width:400px !important;
    max-height:64px !important;
  }

  .contact-portal-fixed{
    width:92px !important;
  }

  .contact-logo-fixed{
    width:320px !important;
  }
}

@media (max-width: 1100px){
  .brand.brand-split{
    width:360px !important;
    min-width:360px !important;
    gap:12px !important;
  }

  .brand-icon{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }

  .brand-wordmark{
    width:290px !important;
    max-height:50px !important;
  }

  .contact-portal-fixed{
    width:78px !important;
  }

  .contact-logo-fixed{
    width:275px !important;
  }
}

@media (max-width: 860px){
  .site-header{
    padding:0 16px !important;
  }

  .brand.brand-split{
    width:258px !important;
    min-width:258px !important;
    gap:10px !important;
  }

  .brand-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  .brand-wordmark{
    width:210px !important;
    max-height:40px !important;
  }

  .contact-portal-fixed{
    width:68px !important;
  }

  .contact-logo-fixed{
    width:245px !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:220px !important;
    min-width:220px !important;
  }

  .brand-icon{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }

  .brand-wordmark{
    width:176px !important;
    max-height:34px !important;
  }

  .contact-portal-fixed{
    width:58px !important;
  }

  .contact-logo-fixed{
    width:220px !important;
  }
}


/* v8 logo scale increase */
.site-header{
  height:86px !important;
  padding:0 28px !important;
}

.brand.brand-split{
  width:900px !important;
  min-width:900px !important;
  height:86px !important;
  gap:22px !important;
}

.brand-icon{
  width:126px !important;
  height:126px !important;
  flex:0 0 126px !important;
}

.brand-wordmark{
  width:710px !important;
  max-height:82px !important;
}

.main-nav{
  gap:22px !important;
  font-size:11px !important;
}

.nav-demo{
  padding:9px 18px !important;
}

/* contacts logo about 100% larger */
.contact-card-fixed{
  width:min(100% - 56px, 1220px) !important;
  grid-template-columns:520px 1px minmax(320px,1fr) !important;
  gap:52px !important;
}

.contact-brand-fixed{
  gap:28px !important;
}

.contact-portal-fixed{
  width:168px !important;
}

.contact-logo-fixed{
  width:620px !important;
  max-width:100% !important;
}

.contact-divider-fixed{
  height:175px !important;
}

@media (max-width: 1500px){
  .brand.brand-split{
    width:760px !important;
    min-width:760px !important;
  }

  .brand-icon{
    width:102px !important;
    height:102px !important;
    flex-basis:102px !important;
  }

  .brand-wordmark{
    width:600px !important;
    max-height:72px !important;
  }

  .main-nav{
    gap:18px !important;
    font-size:10.5px !important;
  }

  .contact-card-fixed{
    grid-template-columns:460px 1px minmax(300px,1fr) !important;
    width:min(100% - 44px, 1100px) !important;
  }

  .contact-portal-fixed{
    width:146px !important;
  }

  .contact-logo-fixed{
    width:540px !important;
  }
}

@media (max-width: 1300px){
  .site-header{
    height:74px !important;
    padding:0 18px !important;
  }

  .brand.brand-split{
    width:500px !important;
    min-width:500px !important;
    height:74px !important;
    gap:14px !important;
  }

  .brand-icon{
    width:66px !important;
    height:66px !important;
    flex-basis:66px !important;
  }

  .brand-wordmark{
    width:410px !important;
    max-height:58px !important;
  }

  .main-nav{
    gap:14px !important;
    font-size:10px !important;
  }

  .nav-demo{
    padding:8px 14px !important;
  }

  .contact-card-fixed{
    width:min(100% - 40px, 980px) !important;
    grid-template-columns:380px 1px minmax(260px,1fr) !important;
    gap:36px !important;
  }

  .contact-portal-fixed{
    width:124px !important;
  }

  .contact-logo-fixed{
    width:430px !important;
  }
}

@media (max-width: 1100px){
  .site-header{
    height:68px !important;
    padding:0 16px !important;
  }

  .brand.brand-split{
    width:340px !important;
    min-width:340px !important;
    height:68px !important;
    gap:10px !important;
  }

  .brand-icon{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }

  .brand-wordmark{
    width:282px !important;
    max-height:48px !important;
  }

  .main-nav{
    gap:10px !important;
    font-size:9px !important;
  }

  .contact-card-fixed{
    width:min(100% - 32px, 780px) !important;
    grid-template-columns:290px 1px minmax(240px,1fr) !important;
    gap:28px !important;
  }

  .contact-portal-fixed{
    width:108px !important;
  }

  .contact-logo-fixed{
    width:330px !important;
  }
}

@media (max-width: 860px){
  .site-header{
    min-height:64px !important;
    height:64px !important;
    padding:0 16px !important;
  }

  .brand.brand-split{
    width:290px !important;
    min-width:290px !important;
    height:64px !important;
    gap:10px !important;
  }

  .brand-icon{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }

  .brand-wordmark{
    width:238px !important;
    max-height:42px !important;
  }

  .main-nav{
    top:64px !important;
    font-size:12px !important;
    gap:18px !important;
  }

  .hero{
    padding-top:64px !important;
  }

  .contact-card-fixed{
    width:min(100% - 32px, 560px) !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .contact-portal-fixed{
    width:92px !important;
  }

  .contact-logo-fixed{
    width:340px !important;
    max-width:100% !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:236px !important;
    min-width:236px !important;
  }

  .brand-icon{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }

  .brand-wordmark{
    width:190px !important;
    max-height:36px !important;
  }

  .contact-portal-fixed{
    width:74px !important;
  }

  .contact-logo-fixed{
    width:270px !important;
  }
}


/* v9 — immerstate-logo-full.svg header: 50% smaller + further left */
.site-header{
  padding-left:12px !important;
}

.brand.brand-split{
  width:520px !important;
  min-width:520px !important;
  margin-left:-12px !important;
  gap:16px !important;
}

.brand-wordmark{
  width:355px !important;
  max-height:46px !important;
}

@media (max-width:1500px){
  .brand.brand-split{
    width:430px !important;
    min-width:430px !important;
    margin-left:-10px !important;
  }

  .brand-wordmark{
    width:300px !important;
    max-height:42px !important;
  }
}

@media (max-width:1300px){
  .brand.brand-split{
    width:320px !important;
    min-width:320px !important;
    margin-left:-8px !important;
  }

  .brand-wordmark{
    width:205px !important;
    max-height:36px !important;
  }
}

@media (max-width:1100px){
  .brand.brand-split{
    width:250px !important;
    min-width:250px !important;
    margin-left:-6px !important;
  }

  .brand-wordmark{
    width:142px !important;
    max-height:30px !important;
  }
}

@media (max-width:860px){
  .brand.brand-split{
    width:190px !important;
    min-width:190px !important;
    margin-left:-4px !important;
  }

  .brand-wordmark{
    width:118px !important;
    max-height:28px !important;
  }
}

@media (max-width:560px){
  .brand.brand-split{
    width:170px !important;
    min-width:170px !important;
    margin-left:-4px !important;
  }

  .brand-wordmark{
    width:95px !important;
    max-height:24px !important;
  }
}


/* v10 — contacts: enlarge only portal-glow.png, not the SVG wordmark */
.contact-brand-fixed{
  gap:22px !important;
}

.contact-portal-fixed{
  width:160px !important;
  height:auto !important;
}

.contact-logo-fixed{
  width:245px !important;
  max-width:245px !important;
}

@media (max-width: 1500px){
  .contact-portal-fixed{
    width:150px !important;
  }

  .contact-logo-fixed{
    width:245px !important;
    max-width:245px !important;
  }
}

@media (max-width: 1300px){
  .contact-portal-fixed{
    width:136px !important;
  }

  .contact-logo-fixed{
    width:230px !important;
    max-width:230px !important;
  }
}

@media (max-width: 1100px){
  .contact-portal-fixed{
    width:124px !important;
  }

  .contact-logo-fixed{
    width:220px !important;
    max-width:220px !important;
  }
}

@media (max-width: 860px){
  .contact-portal-fixed{
    width:104px !important;
  }

  .contact-logo-fixed{
    width:210px !important;
    max-width:210px !important;
  }
}

@media (max-width: 560px){
  .contact-portal-fixed{
    width:88px !important;
  }

  .contact-logo-fixed{
    width:190px !important;
    max-width:190px !important;
  }
}


/* v11 — header SVG wordmark moved further left */
.site-header{
  padding-left:0 !important;
}

.brand.brand-split{
  margin-left:-26px !important;
  gap:4px !important;
}

.brand-wordmark{
  transform:translateX(-18px) !important;
}

@media (max-width:1300px){
  .brand.brand-split{
    margin-left:-18px !important;
    gap:3px !important;
  }

  .brand-wordmark{
    transform:translateX(-14px) !important;
  }
}

@media (max-width:860px){
  .site-header{
    padding-left:8px !important;
  }

  .brand.brand-split{
    margin-left:-8px !important;
    gap:4px !important;
  }

  .brand-wordmark{
    transform:translateX(-8px) !important;
  }
}


/* v12 — contacts adjustments */
.contact-brand-fixed{
  gap:10px !important;
}

.contact-logo-fixed{
  transform:translateY(-22px) !important;
}

.contact-info-fixed h2{
  font-size:clamp(20px,2.15vw,30px) !important;
  letter-spacing:.075em !important;
}

@media (max-width: 1100px){
  .contact-logo-fixed{
    transform:translateY(-16px) !important;
  }

  .contact-info-fixed h2{
    font-size:clamp(19px,2.4vw,26px) !important;
  }
}

@media (max-width: 860px){
  .contact-brand-fixed{
    gap:8px !important;
  }

  .contact-logo-fixed{
    transform:translateY(-10px) !important;
  }

  .contact-info-fixed h2{
    font-size:23px !important;
    letter-spacing:.055em !important;
  }
}

@media (max-width: 560px){
  .contact-logo-fixed{
    transform:translateY(-8px) !important;
  }

  .contact-info-fixed h2{
    font-size:21px !important;
  }
}


/* v13 — header logo positions + smaller contact name */
.brand.brand-split{
  margin-left:-38px !important;
  gap:0 !important;
}

.brand-icon{
  transform:translateX(22px) !important;
}

.brand-wordmark{
  transform:translateX(-42px) !important;
}

.contact-info-fixed h2{
  font-size:clamp(17px,1.75vw,24px) !important;
  letter-spacing:.05em !important;
  margin-bottom:14px !important;
}

.contact-info-fixed h2::after{
  margin-top:12px !important;
}

@media (max-width:1300px){
  .brand.brand-split{
    margin-left:-28px !important;
  }

  .brand-icon{
    transform:translateX(16px) !important;
  }

  .brand-wordmark{
    transform:translateX(-30px) !important;
  }

  .contact-info-fixed h2{
    font-size:clamp(16px,2vw,22px) !important;
  }
}

@media (max-width:860px){
  .brand.brand-split{
    margin-left:-10px !important;
    gap:2px !important;
  }

  .brand-icon{
    transform:translateX(6px) !important;
  }

  .brand-wordmark{
    transform:translateX(-12px) !important;
  }

  .contact-info-fixed h2{
    font-size:19px !important;
    letter-spacing:.04em !important;
    margin-bottom:12px !important;
  }

  .contact-info-fixed h2::after{
    margin-top:10px !important;
  }
}

@media (max-width:560px){
  .contact-info-fixed h2{
    font-size:18px !important;
  }
}


/* v14 — mobile header logo cleanup */
@media (max-width: 860px){
  .site-header{
    height:66px !important;
    min-height:66px !important;
    padding:0 18px !important;
    align-items:center !important;
  }

  .brand.brand-split{
    width:230px !important;
    min-width:230px !important;
    height:66px !important;
    margin-left:0 !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .brand-icon{
    display:none !important;
  }

  .brand-wordmark{
    width:220px !important;
    max-height:48px !important;
    transform:none !important;
    object-fit:contain !important;
  }

  .menu-toggle{
    width:44px !important;
    height:44px !important;
    padding:8px !important;
  }

  .main-nav{
    top:66px !important;
  }

  .hero{
    padding-top:66px !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:218px !important;
    min-width:218px !important;
  }

  .brand-wordmark{
    width:210px !important;
    max-height:46px !important;
  }
}

@media (max-width: 390px){
  .brand.brand-split{
    width:195px !important;
    min-width:195px !important;
  }

  .brand-wordmark{
    width:188px !important;
    max-height:42px !important;
  }
}


/* v16 — mobile desktop-like layout, no 1280px crop */
@media (max-width: 860px){
  html,
  body{
    min-width:0 !important;
    width:100% !important;
    overflow-x:hidden !important;
  }

  .container{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-inline:auto !important;
  }

  .site-header{
    height:66px !important;
    min-height:66px !important;
    padding:0 14px !important;
    align-items:center !important;
    overflow:visible !important;
  }

  .brand.brand-split{
    width:220px !important;
    min-width:220px !important;
    height:66px !important;
    margin-left:0 !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .brand-icon{
    display:none !important;
  }

  .brand-wordmark{
    display:block !important;
    width:210px !important;
    max-height:46px !important;
    transform:none !important;
    object-fit:contain !important;
  }

  .menu-toggle{
    display:block !important;
    width:42px !important;
    height:42px !important;
    padding:8px !important;
  }

  .main-nav{
    top:66px !important;
    left:10px !important;
    right:10px !important;
  }

  .hero{
    min-height:100svh !important;
    align-items:center !important;
    padding:66px 0 0 !important;
  }

  .hero-bg{
    object-position:center center !important;
  }

  .hero-shade{
    background:
      linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.42) 46%,rgba(0,0,0,.10) 100%),
      linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.26)) !important;
  }

  .hero-content{
    width:52% !important;
    max-width:52% !important;
    margin-left:18px !important;
    padding-top:0 !important;
    transform:none !important;
    text-align:left !important;
  }

  .hero h1{
    font-size:clamp(24px, 7vw, 34px) !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    margin-bottom:14px !important;
  }

  .hero p{
    max-width:100% !important;
    font-size:clamp(9px, 2.45vw, 12px) !important;
    line-height:1.28 !important;
  }

  .white-manifesto{
    padding:18px 0 20px !important;
  }

  .white-manifesto .manifesto-narrow{
    width:min(100% - 34px, 560px) !important;
    max-width:560px !important;
    margin-inline:auto !important;
  }

  .white-manifesto .manifesto-narrow p{
    font-size:12px !important;
    line-height:1.34 !important;
  }

  .white-manifesto .manifesto-narrow p + p{
    margin-top:8px !important;
  }

  .future-grid{
    display:grid !important;
    grid-template-columns:30% minmax(0, 70%) !important;
    gap:14px !important;
    align-items:center !important;
    min-height:auto !important;
    padding:18px 0 !important;
  }

  .future-title{
    padding-top:0 !important;
    align-items:flex-start !important;
  }

  .future-title h2{
    font-size:clamp(22px, 6.2vw, 30px) !important;
    line-height:1.02 !important;
  }

  .future-showcase{
    min-height:0 !important;
  }

  .video-fader{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:8px !important;
  }

  .process-section{
    padding:22px 0 24px !important;
  }

  .process-grid{
    display:grid !important;
    grid-template-columns:30% minmax(0,70%) !important;
    gap:18px !important;
    align-items:start !important;
  }

  .process-heading span{
    font-size:8px !important;
    margin-bottom:5px !important;
  }

  .process-heading h2{
    font-size:clamp(22px, 6vw, 30px) !important;
    line-height:1.02 !important;
  }

  .process-steps{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:7px !important;
    transform:translateX(6px) !important;
  }

  .process-step{
    padding-top:1px !important;
    min-width:0 !important;
  }

  .process-step:not(:last-child)::after{
    display:block !important;
    top:10px !important;
    left:26px !important;
    right:-4px !important;
  }

  .step-number{
    width:20px !important;
    height:20px !important;
    font-size:9px !important;
    margin-bottom:8px !important;
    border-width:1px !important;
  }

  .step-icon{
    font-size:17px !important;
    margin-bottom:8px !important;
  }

  .process-step h3{
    font-size:8.2px !important;
    line-height:1.08 !important;
    margin-bottom:4px !important;
  }

  .process-step p{
    max-width:none !important;
    font-size:6.4px !important;
    line-height:1.18 !important;
  }

  .projects-section{
    padding:20px 0 22px !important;
  }

  .projects-grid{
    display:grid !important;
    grid-template-columns:30% repeat(3, minmax(0,1fr)) !important;
    gap:7px !important;
    align-items:stretch !important;
  }

  .projects-title{
    grid-column:auto !important;
    padding:8px 4px 8px 0 !important;
    justify-content:center !important;
  }

  .projects-title h2{
    font-size:clamp(22px, 6vw, 30px) !important;
    line-height:1.02 !important;
    margin-bottom:10px !important;
  }

  .projects-title a{
    font-size:8px !important;
  }

  .project-card{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:5px !important;
  }

  .project-card div{
    left:6px !important;
    right:14px !important;
    bottom:6px !important;
  }

  .project-card h3{
    font-size:7px !important;
    margin-bottom:2px !important;
  }

  .project-card p{
    font-size:5.5px !important;
    line-height:1.15 !important;
  }

  .project-card span{
    right:5px !important;
    bottom:5px !important;
    font-size:12px !important;
  }

  .site-footer.contacts-footer{
    padding:30px 0 34px !important;
  }

  .contact-card-fixed{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:35% 1px minmax(0,65%) !important;
    align-items:center !important;
    gap:12px !important;
    justify-items:normal !important;
  }

  .contact-brand-fixed{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
  }

  .contact-portal-fixed{
    width:62px !important;
  }

  .contact-logo-fixed{
    width:118px !important;
    max-width:118px !important;
    transform:translateY(-4px) !important;
  }

  .contact-divider-fixed{
    width:1px !important;
    height:92px !important;
  }

  .contact-info-fixed{
    min-width:0 !important;
    width:100% !important;
  }

  .contact-info-fixed h2{
    white-space:nowrap !important;
    font-size:11px !important;
    letter-spacing:.04em !important;
    margin:0 0 8px !important;
  }

  .contact-info-fixed h2::after{
    width:38px !important;
    height:1px !important;
    margin-top:7px !important;
  }

  .contact-info-fixed p{
    white-space:nowrap !important;
    font-size:8.5px !important;
    line-height:1.25 !important;
    gap:5px !important;
    margin-bottom:6px !important;
  }

  .contact-info-fixed svg{
    width:10px !important;
    height:10px !important;
    flex-basis:10px !important;
  }
}

@media (max-width: 390px){
  .brand.brand-split{
    width:194px !important;
    min-width:194px !important;
  }

  .brand-wordmark{
    width:186px !important;
  }

  .hero-content{
    width:55% !important;
    max-width:55% !important;
    margin-left:14px !important;
  }

  .hero h1{
    font-size:23px !important;
  }

  .hero p{
    font-size:8.5px !important;
  }
}


/* v17 — contacts more to the right + mobile titles smaller + mobile projects fully visible */
.contact-card-fixed{
  transform:translateX(42px) !important;
}

@media (max-width: 860px){
  .future-grid{
    grid-template-columns:24% minmax(0, 76%) !important;
    gap:10px !important;
  }

  .future-title h2{
    font-size:clamp(18px, 4.9vw, 24px) !important;
    line-height:1.02 !important;
  }

  .process-grid{
    grid-template-columns:24% minmax(0, 76%) !important;
    gap:12px !important;
  }

  .process-heading h2{
    font-size:clamp(18px, 4.8vw, 24px) !important;
    line-height:1.02 !important;
  }

  .projects-grid{
    grid-template-columns:22% repeat(3, minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .projects-title{
    padding:6px 2px 6px 0 !important;
  }

  .projects-title h2{
    font-size:clamp(18px, 4.8vw, 24px) !important;
    line-height:1.02 !important;
    margin-bottom:8px !important;
  }

  .projects-title a{
    font-size:7px !important;
    line-height:1.1 !important;
  }

  .project-card{
    aspect-ratio:0.88 / 1 !important;
  }

  .project-card div{
    left:5px !important;
    right:10px !important;
    bottom:5px !important;
  }

  .project-card h3{
    font-size:6.4px !important;
  }

  .project-card p{
    font-size:5px !important;
  }

  .contact-card-fixed{
    width:calc(100% - 20px) !important;
    grid-template-columns:33% 1px minmax(0,67%) !important;
    gap:10px !important;
    transform:translateX(10px) !important;
  }

  .contact-brand-fixed{
    gap:6px !important;
  }

  .contact-portal-fixed{
    width:56px !important;
  }

  .contact-logo-fixed{
    width:108px !important;
    max-width:108px !important;
  }

  .contact-info-fixed h2{
    font-size:10px !important;
    margin-bottom:6px !important;
  }

  .contact-info-fixed p{
    font-size:7.8px !important;
    margin-bottom:5px !important;
  }
}

@media (max-width: 560px){
  .future-grid{
    grid-template-columns:23% minmax(0, 77%) !important;
    gap:8px !important;
  }

  .future-title h2{
    font-size:17px !important;
  }

  .process-grid{
    grid-template-columns:23% minmax(0, 77%) !important;
  }

  .process-heading h2{
    font-size:17px !important;
  }

  .projects-grid{
    grid-template-columns:21% repeat(3, minmax(0,1fr)) !important;
    gap:4px !important;
  }

  .projects-title h2{
    font-size:17px !important;
  }

  .project-card{
    aspect-ratio:0.84 / 1 !important;
  }

  .contact-card-fixed{
    transform:translateX(8px) !important;
  }
}


/* v19 — contact section pushed further right without breaking layout */
.contact-card-fixed{
  width:min(100% - 96px, 980px) !important;
  margin-left:auto !important;
  margin-right:0 !important;
  transform:translateX(64px) !important;
}

@media (max-width: 1100px){
  .contact-card-fixed{
    width:min(100% - 72px, 900px) !important;
    transform:translateX(48px) !important;
  }
}

@media (max-width: 860px){
  .contact-card-fixed{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:0 !important;
    grid-template-columns:33% 1px minmax(0,67%) !important;
    transform:translateX(18px) !important;
  }
}

@media (max-width: 560px){
  .contact-card-fixed{
    width:calc(100% - 22px) !important;
    transform:translateX(16px) !important;
  }
}


/* v20 — mobile: show portal-glow in header and force square project images */
@media (max-width: 860px){
  .brand.brand-split{
    width:230px !important;
    min-width:230px !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .brand-icon{
    display:block !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    transform:none !important;
    filter:drop-shadow(0 0 8px rgba(0,183,255,.38)) !important;
  }

  .brand-wordmark{
    width:182px !important;
    max-height:30px !important;
    transform:none !important;
  }

  .projects-grid{
    grid-template-columns:22% repeat(3, minmax(0, 1fr)) !important;
  }

  .project-card{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  .project-card img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:214px !important;
    min-width:214px !important;
    gap:7px !important;
  }

  .brand-icon{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
  }

  .brand-wordmark{
    width:170px !important;
    max-height:28px !important;
  }

  .project-card{
    aspect-ratio:1 / 1 !important;
  }
}

@media (max-width: 390px){
  .brand.brand-split{
    width:198px !important;
    min-width:198px !important;
    gap:6px !important;
  }

  .brand-icon{
    width:22px !important;
    height:22px !important;
    flex-basis:22px !important;
  }

  .brand-wordmark{
    width:158px !important;
    max-height:26px !important;
  }
}


/* v21 — contacts further right, larger mobile portal icon, smaller mobile project blocks */

/* Desktop / general: push contact section more to the right */
.contact-card-fixed{
  width:min(100% - 124px, 950px) !important;
  margin-left:auto !important;
  margin-right:0 !important;
  transform:translateX(92px) !important;
}

@media (max-width: 1100px){
  .contact-card-fixed{
    width:min(100% - 88px, 860px) !important;
    transform:translateX(62px) !important;
  }
}

@media (max-width: 860px){
  /* Mobile header: portal-glow.png 150% larger */
  .brand.brand-split{
    width:242px !important;
    min-width:242px !important;
    gap:8px !important;
  }

  .brand-icon{
    display:block !important;
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    transform:none !important;
  }

  .brand-wordmark{
    width:182px !important;
    max-height:30px !important;
    transform:none !important;
  }

  /* Mobile projects: make blocks about 15% smaller */
  .projects-section .container{
    width:calc(100% - 44px) !important;
    max-width:none !important;
  }

  .projects-grid{
    grid-template-columns:22% repeat(3, minmax(0, 1fr)) !important;
    gap:4px !important;
  }

  .projects-title{
    padding:4px 2px 4px 0 !important;
  }

  .projects-title h2{
    font-size:16px !important;
    line-height:1.02 !important;
    margin-bottom:6px !important;
  }

  .projects-title a{
    font-size:6.5px !important;
  }

  .project-card{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:4px !important;
  }

  .project-card h3{
    font-size:5.8px !important;
  }

  .project-card p{
    font-size:4.6px !important;
  }

  .project-card span{
    font-size:10px !important;
    right:4px !important;
    bottom:4px !important;
  }

  /* Mobile contacts: push further right without breaking */
  .contact-card-fixed{
    width:calc(100% - 30px) !important;
    grid-template-columns:33% 1px minmax(0, 67%) !important;
    margin-left:auto !important;
    margin-right:0 !important;
    transform:translateX(24px) !important;
    gap:10px !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:228px !important;
    min-width:228px !important;
    gap:7px !important;
  }

  .brand-icon{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }

  .brand-wordmark{
    width:174px !important;
    max-height:28px !important;
  }

  .projects-section .container{
    width:calc(100% - 40px) !important;
  }

  .projects-title h2{
    font-size:15px !important;
  }

  .contact-card-fixed{
    width:calc(100% - 24px) !important;
    transform:translateX(22px) !important;
  }
}

@media (max-width: 390px){
  .brand.brand-split{
    width:214px !important;
    min-width:214px !important;
  }

  .brand-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  .brand-wordmark{
    width:166px !important;
    max-height:26px !important;
  }
}


/* v22 — mobile: contacts more right, bigger portal icon, wordmark more left */
@media (max-width: 860px){
  .brand.brand-split{
    width:246px !important;
    min-width:246px !important;
    gap:4px !important;
    margin-left:0 !important;
  }

  .brand-icon{
    display:block !important;
    width:54px !important;
    height:54px !important;
    flex:0 0 54px !important;
    transform:none !important;
  }

  .brand-wordmark{
    width:176px !important;
    max-height:28px !important;
    transform:translateX(-10px) !important;
    object-fit:contain !important;
  }

  .contact-card-fixed{
    width:calc(100% - 22px) !important;
    margin-left:auto !important;
    margin-right:0 !important;
    transform:translateX(34px) !important;
    grid-template-columns:33% 1px minmax(0,67%) !important;
  }
}

@media (max-width: 560px){
  .brand.brand-split{
    width:234px !important;
    min-width:234px !important;
    gap:3px !important;
  }

  .brand-icon{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }

  .brand-wordmark{
    width:168px !important;
    max-height:26px !important;
    transform:translateX(-12px) !important;
  }

  .contact-card-fixed{
    width:calc(100% - 18px) !important;
    transform:translateX(30px) !important;
  }
}

@media (max-width: 390px){
  .brand.brand-split{
    width:220px !important;
    min-width:220px !important;
    gap:2px !important;
  }

  .brand-icon{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }

  .brand-wordmark{
    width:160px !important;
    max-height:24px !important;
    transform:translateX(-12px) !important;
  }

  .contact-card-fixed{
    width:calc(100% - 14px) !important;
    transform:translateX(24px) !important;
  }
}


/* v23 — wordmark more left; desktop contacts restored, mobile unchanged */

/* Move immerstate-logo-full.svg further left in the top bar */
.brand-wordmark{
  transform:translateX(-58px) !important;
}

@media (max-width:1300px){
  .brand-wordmark{
    transform:translateX(-40px) !important;
  }
}

@media (max-width:860px){
  .brand-wordmark{
    transform:translateX(-16px) !important;
  }
}

@media (max-width:560px){
  .brand-wordmark{
    transform:translateX(-16px) !important;
  }
}

@media (max-width:390px){
  .brand-wordmark{
    transform:translateX(-14px) !important;
  }
}

/* Desktop only: restore contacts position */
@media (min-width:861px){
  .contact-card-fixed{
    width:min(100% - 56px, 980px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
}

@media (min-width:861px) and (max-width:1100px){
  .contact-card-fixed{
    width:min(100% - 56px, 900px) !important;
    transform:none !important;
  }
}


/* v24 — semantic menu sections */
#home,
#visione,
#esperienza,
#processo,
#progetti,
#contatti{
  scroll-margin-top:86px;
}

.main-nav{
  gap:20px !important;
}

@media (max-width:1300px){
  .main-nav{
    gap:13px !important;
    font-size:10px !important;
  }

  .nav-demo{
    padding:8px 13px !important;
  }
}

@media (max-width:860px){
  #home,
  #visione,
  #esperienza,
  #processo,
  #progetti,
  #contatti{
    scroll-margin-top:72px;
  }

  .main-nav{
    gap:18px !important;
    font-size:12px !important;
  }
}


/* v25 — menu: removed Esperienza + full-screen mobile menu */
@media (max-width:860px){
  .site-header{
    z-index:120 !important;
  }

  .menu-toggle{
    position:relative !important;
    z-index:140 !important;
  }

  .main-nav{
    position:fixed !important;
    z-index:110 !important;
    inset:0 !important;
    width:100vw !important;
    height:100svh !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:24px !important;
    padding:108px 28px 34px !important;
    background:
      radial-gradient(circle at 80% 10%, rgba(0,183,255,.16), transparent 34%),
      linear-gradient(180deg, rgba(2,4,8,.98), rgba(3,8,18,.98)) !important;
    border:0 !important;
    border-radius:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:none !important;
    transition:opacity .22s ease, visibility .22s ease !important;
  }

  .main-nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .main-nav a{
    display:block !important;
    width:100% !important;
    color:#F7F8FA !important;
    font-family:Sora, Manrope, sans-serif !important;
    font-size:28px !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    font-weight:700 !important;
    opacity:.92 !important;
  }

  .main-nav a:hover{
    color:#64E7FF !important;
  }

  .main-nav .nav-demo{
    width:auto !important;
    margin-top:8px !important;
    padding:14px 20px !important;
    border-radius:999px !important;
    border:1px solid rgba(100,231,255,.42) !important;
    background:rgba(0,183,255,.08) !important;
    font-size:16px !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }
}

@media (max-width:560px){
  .main-nav{
    padding:104px 24px 30px !important;
    gap:22px !important;
  }

  .main-nav a{
    font-size:25px !important;
  }

  .main-nav .nav-demo{
    font-size:15px !important;
  }
}
