.hero-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.42;
  pointer-events:none;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(185,130,33,.42),transparent);
  opacity:0;
  transition:opacity .28s ease;
}
.site-header.is-scrolled::after{opacity:1}
.main-nav a.is-active:not(.nav-cta){
  color:var(--navy);
}
.main-nav a.is-active:not(.nav-cta)::after{
  right:0;
}
.brand img,.footer-brand img{
  transition:transform .28s ease, filter .28s ease;
}
.brand:hover img,.footer-brand:hover img{
  transform:translateY(-2px) scale(1.03);
  filter:drop-shadow(0 12px 18px rgba(8,33,74,.16));
}
.hero-copy,.hero-visual,.intro-grid,.sector-card,.case-card,.team-card,.contact-card{
  will-change:transform;
}
.logo-stage,.photo-stage{
  animation:stageFloat 8s ease-in-out infinite;
}
.logo-stage::after,.photo-stage::after{
  content:"";
  position:absolute;
  inset:auto 12% 8%;
  height:26px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(8,33,74,.16),transparent 68%);
  filter:blur(10px);
}
.metric-card{
  transition:transform .28s ease, box-shadow .28s ease;
}
.metric-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 72px rgba(8,33,74,.14);
}
.intro-grid article,.method-grid div{
  position:relative;
  overflow:hidden;
}
.intro-grid article::after,.method-grid div::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .32s ease;
}
.intro-grid article:hover::after,.method-grid div:hover::after{
  transform:scaleX(1);
}
.sector-card,.case-card,.team-card{
  transform-style:preserve-3d;
}
.sector-card:hover h3,.case-card:hover h3,.team-card:hover h3{
  color:var(--navy);
}
.case-card{
  position:relative;
  overflow:hidden;
}
.case-card::before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-70px;
  width:180px;
  height:180px;
  border-radius:50%;
  border:1px solid rgba(185,130,33,.18);
}
.team-card span{
  transition:transform .28s ease;
}
.team-card:hover span{
  transform:rotate(-4deg) scale(1.04);
}
.contact-form button{
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.contact-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 48px rgba(185,130,33,.28);
  filter:brightness(1.04);
}
.contact-form.is-submitting button{
  opacity:.78;
  pointer-events:none;
}
.scroll-progress{
  position:fixed;
  left:0;
  top:0;
  z-index:200;
  width:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  box-shadow:0 0 18px rgba(185,130,33,.40);
}
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:90;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(8,33,74,.12);
  border-radius:50%;
  color:var(--navy);
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 40px rgba(8,33,74,.12);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .24s ease, transform .24s ease;
}
.back-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover{
  color:#fff;
  background:var(--navy);
}
::selection{
  color:#fff;
  background:var(--navy);
}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#f3f5f8}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--navy),var(--gold));
  border-radius:999px;
  border:2px solid #f3f5f8;
}
@keyframes stageFloat{
  0%,100%{transform:translate(-50%,-50%)}
  50%{transform:translate(-50%,-53%)}
}
@media (max-width:680px){
  .hero-canvas{opacity:.25}
  .back-to-top{right:16px;bottom:16px;width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  .logo-stage,.photo-stage{animation:none}
}
