:root{
  --white:#fff;
  --navy:#071426;
  --green-dark:#0b2a1f;
  --graphite:#1e2328;
  --black-soft:#050607;
  --mint:#a9ffd8;
  --mint-strong:#2acb8c;
  --muted:#72808d;
  --line:rgba(7,20,38,.16);
  --line-light:rgba(255,255,255,.14);
  --shadow:0 28px 80px rgba(7,20,38,.16);
  --shadow-dark:0 40px 120px rgba(0,0,0,.38);
  --wrap:min(92vw,1440px);
}

*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--black-soft)}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--navy);
  background:var(--white);
  font-weight:700;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}

img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65;color:inherit}
ul{margin:0;padding:0;list-style:none}
li{line-height:1.45}

.wrap{width:var(--wrap);margin-inline:auto}
.section-white{background:var(--white);color:var(--navy)}
.section-dark{background:var(--black-soft);color:var(--white)}
.section-navy{background:var(--navy);color:var(--white)}
.section-graphite{background:var(--graphite);color:var(--white)}
.section-green{background:var(--green-dark);color:var(--white)}

.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:60;
  opacity:.06;
  background-image:
    radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 80% 70%,#000 0 1px,transparent 1px);
  background-size:4px 4px,5px 5px;
  mix-blend-mode:overlay;
}

.cursor-light{
  position:fixed;
  width:360px;
  height:360px;
  margin:-180px 0 0 -180px;
  border-radius:999px;
  pointer-events:none;
  z-index:3;
  opacity:.16;
  background:radial-gradient(circle,rgba(169,255,216,.9),transparent 64%);
  transform:translate3d(-40vw,-40vh,0);
  transition:opacity .25s ease;
  mix-blend-mode:screen;
}

.loader{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  gap:20px;
  background:var(--navy);
  color:var(--white);
  transition:opacity .7s ease,visibility .7s ease;
}
.loader span{
  position:absolute;
  top:32px;
  left:34px;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.72rem;
  color:#9ca8b5;
}
.loader strong{
  width:min(900px,88vw);
  font-size:clamp(3rem,9vw,9rem);
  line-height:.88;
  letter-spacing:-.075em;
  text-align:center;
}
.loader.is-done{opacity:0;visibility:hidden}

.site-header{
  position:fixed;
  top:20px;
  left:50%;
  z-index:100;
  width:min(92vw,1240px);
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px 0 20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(5,6,7,.55);
  color:#fff;
  transform:translateX(-50%);
  backdrop-filter:blur(22px);
  box-shadow:0 22px 70px rgba(0,0,0,.22);
  transition:height .35s ease,background .35s ease,border-color .35s ease,color .35s ease;
}
.site-header.is-scrolled{
  height:66px;
  background:rgba(255,255,255,.84);
  color:var(--navy);
  border-color:rgba(7,20,38,.1);
}
.brand img{width:48px;height:48px;object-fit:contain;border-radius:12px}
.site-nav{display:flex;align-items:center;gap:28px;font-size:.82rem;font-weight:900}
.site-nav a{position:relative}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--mint);
  transition:transform .25s ease;
}
.site-nav a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;background:transparent;border:0;color:inherit;font-weight:900}

.hero{
  min-height:100svh;
  position:relative;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:130px 0 80px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 18% 24%,rgba(169,255,216,.18),transparent 26%),
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.12),transparent 18%),
    linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%);
  filter:blur(10px);
}
.hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,82px);
  align-items:center;
}
.eyebrow{
  margin:0 0 22px;
  color:var(--mint);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.74rem;
  font-weight:900;
}
.hero-title,.section-title{
  margin:0;
  font-size:clamp(4rem,9.5vw,10rem);
  line-height:.88;
  letter-spacing:-.075em;
  font-weight:900;
}
.hero-title span{display:block}
.hero-manifest{
  margin:34px 0 10px;
  color:#fff;
  font-size:clamp(1.6rem,3vw,4rem);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:900;
}
.hero-lead{max-width:760px;color:#bec8cf}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.92rem;
  font-weight:900;
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease;
}
.btn:hover{transform:translateY(-3px)}
.btn-mint{background:var(--mint);color:var(--navy);box-shadow:0 18px 52px rgba(169,255,216,.18)}
.btn-dark{background:var(--navy);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04)}

.hero-media{
  position:relative;
  overflow:hidden;
  min-height:clamp(420px,48vw,720px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:34px;
  background:rgba(255,255,255,.05);
  box-shadow:var(--shadow-dark);
  transform-style:preserve-3d;
}
.hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(169,255,216,.24),transparent 28%);
  opacity:.72;
  pointer-events:none;
}
.hero-media video{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  mix-blend-mode:screen;
  filter:contrast(1.04) saturate(.9);
}
.hero-media figcaption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:rgba(7,20,38,.48);
  backdrop-filter:blur(18px);
}
.hero-media span{color:var(--mint);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em}

.service-marquee{
  overflow:hidden;
  padding:28px 0;
  background:#fff;
  border-block:1px solid var(--line);
}
.service-marquee__track{
  display:flex;
  width:max-content;
  gap:42px;
  animation:marquee 24s linear infinite;
}
.service-marquee span{
  font-size:clamp(2.4rem,5vw,6rem);
  font-weight:900;
  letter-spacing:-.065em;
  white-space:nowrap;
}
.service-marquee span:nth-child(even){color:#c8cdd1}
@keyframes marquee{to{transform:translateX(-50%)}}

.manifesto{padding:clamp(90px,12vw,170px) 0}
.manifesto__grid{
  display:grid;
  grid-template-columns:.4fr 1.6fr;
  gap:clamp(28px,6vw,92px);
  align-items:end;
}
.section-index{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.22em}
.section-copy{grid-column:2;max-width:780px;color:#51606b}

section{position:relative}
.section-title{font-size:clamp(3.4rem,7vw,8.5rem)}
.editorial-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(26px,6vw,86px);
  align-items:end;
  margin-bottom:clamp(44px,7vw,96px);
}
.editorial-head.center{display:block;text-align:center;max-width:1100px;margin-inline:auto}
.editorial-head p:not(.eyebrow){color:inherit;opacity:.72}

.diagnosis,.system-story,.services,.brand-section,.renewal,.portfolio-section,.final-cta,.about-quote{
  padding:clamp(95px,12vw,180px) 0;
  overflow:hidden;
}
.diagnosis::before,.system-story::before,.brand-section::before,.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 16%,rgba(169,255,216,.12),transparent 28%),
    radial-gradient(circle at 82% 70%,rgba(255,255,255,.08),transparent 26%);
  pointer-events:none;
}
.diagnosis-list{position:relative;z-index:2}
.editorial-row{
  display:grid;
  grid-template-columns:90px minmax(260px,.8fr) minmax(320px,1.2fr);
  gap:clamp(20px,4vw,70px);
  align-items:start;
  padding:clamp(32px,5vw,62px) 0;
  border-top:1px solid var(--line-light);
}
.editorial-row span{color:var(--mint);font-size:.8rem;letter-spacing:.18em}
.editorial-row h3{margin:0;font-size:clamp(2rem,3.5vw,4rem);line-height:.95;letter-spacing:-.055em}
.editorial-row p{margin:0;color:#c7d0d7}

.pin-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(30px,6vw,90px);
  align-items:start;
}
.pin-copy{position:sticky;top:130px}
.pin-copy p:not(.eyebrow){color:#c7d0d7}
.steps{display:grid;gap:22px}
.glass-panel,.premium-panel,.plan-card,.add-on-grid article{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:clamp(28px,3.5vw,52px);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  box-shadow:var(--shadow-dark);
  transform-style:preserve-3d;
}
.glass-panel::before,.premium-panel::before,.plan-card::before,.add-on-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(169,255,216,.22),transparent 26%);
  opacity:0;
  transition:opacity .35s ease;
}
.glass-panel:hover::before,.premium-panel:hover::before,.plan-card:hover::before,.add-on-grid article:hover::before{opacity:1}
.glass-panel span{color:var(--mint)}
.glass-panel h3,.premium-panel h3,.plan-card h3,.add-on-grid h3{position:relative;margin:18px 0 14px;font-size:clamp(1.8rem,3vw,3.4rem);line-height:.95;letter-spacing:-.055em}
.glass-panel p{position:relative;color:#c7d0d7}

.image-carousel-section,.pricing-section,.maintenance,.industries,.testimonials{padding:clamp(90px,11vw,160px) 0}
.image-carousel{
  position:relative;
  height:clamp(320px,58vw,760px);
  overflow:hidden;
  border-radius:34px;
  background:#f5f7f8;
  box-shadow:var(--shadow);
}
.image-carousel figure{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .9s ease,transform 1.2s ease;
}
.image-carousel figure.is-active{opacity:1;transform:scale(1)}
.image-carousel img{width:100%;height:100%;object-fit:contain;background:#fff}

.service-index{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line-light);
}
.service-item{
  display:grid;
  grid-template-columns:.65fr 1fr;
  gap:30px;
  padding:34px 0;
  border-bottom:1px solid var(--line-light);
}
.service-item:nth-child(odd){padding-right:32px}
.service-item span{font-size:clamp(1.6rem,2.5vw,3rem);line-height:.95;letter-spacing:-.05em}
.service-item p{margin:0;color:#c7d0d7}
.service-cards,.brand-grid,.brand-footer,.maintenance-grid,.renewal-grid,.final-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,4vw,60px);
  margin-top:70px;
}
.image-link{
  position:relative;
  overflow:hidden;
  min-height:420px;
  border-radius:34px;
  box-shadow:var(--shadow-dark);
}
.image-link img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.image-link:hover img{transform:scale(1.06)}
.image-link span{
  position:absolute;
  left:24px;
  bottom:24px;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--navy);
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.plan-card{
  border-color:rgba(7,20,38,.16);
  background:#fff;
  color:var(--navy);
  box-shadow:var(--shadow);
}
.plan-card--featured{background:var(--navy);color:#fff}
.plan-stage span,.premium-panel>span{
  display:inline-flex;
  margin-bottom:16px;
  color:var(--mint-strong);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
}
.plan-stage p{margin:8px 0 24px;color:var(--mint-strong);font-weight:900}
.price{display:flex;align-items:flex-end;gap:8px;margin:26px 0 4px}
.price strong{font-size:clamp(3rem,5vw,5.4rem);line-height:.84;letter-spacing:-.075em}
.price span{margin-bottom:9px;font-size:.78rem;font-weight:900}
.plan-card small{display:block;color:#53616c;font-weight:900;margin-top:4px}
.plan-card--featured small{color:#c9d4dc}
.plan-card ul{display:grid;gap:12px;margin:28px 0}
.plan-card li::before,.premium-panel li::before,.add-on-grid li::before{content:"✓ ";color:var(--mint-strong);font-weight:900}
.pricing-note{max-width:980px;margin:34px auto 0;text-align:center;color:#53616c}

.brand-grid{align-items:center;margin-top:0}
.brand-grid p,.brand-footer p{color:#c7d0d7}
.editorial-photo{margin:0;overflow:hidden;border-radius:34px;box-shadow:var(--shadow-dark)}
.editorial-photo img{width:100%;height:100%;object-fit:cover}
.add-on-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:60px;
}
.add-on-grid article{background:rgba(255,255,255,.07)}
.add-on-grid strong,.premium-panel strong{display:block;font-size:clamp(1.4rem,2.4vw,2.6rem);letter-spacing:-.05em}
.add-on-grid small,.premium-panel small{display:block;color:var(--mint);font-weight:900;margin:8px 0 20px}
.brand-footer{align-items:center}

.premium-panel{
  border-color:rgba(7,20,38,.14);
  background:#fff;
  color:var(--navy);
  box-shadow:var(--shadow);
}
.premium-panel small{color:#0b6f43}
.premium-panel ul{display:grid;gap:8px;margin:12px 0 22px}
.premium-panel.featured{border-color:rgba(42,203,140,.55)}
.definition{margin-top:24px}

.renewal-items{display:grid;gap:16px}
.renewal-items article{
  padding:28px;
  border:1px solid var(--line-light);
  border-radius:24px;
  background:rgba(255,255,255,.05);
}

.industry-index{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.industry-index article{
  min-height:270px;
  padding:28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background .35s ease,transform .35s ease;
}
.industry-index article:hover{background:#f5f8f7;transform:translateY(-4px)}
.industry-index span{color:var(--mint-strong);letter-spacing:.18em}
.industry-index h3{font-size:1.6rem;letter-spacing:-.04em}
.industry-index p{font-size:.95rem;color:#53616c}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line-light);
  border-left:1px solid var(--line-light);
}
.portfolio-grid a{
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:30px;
  border-right:1px solid var(--line-light);
  border-bottom:1px solid var(--line-light);
  background:rgba(255,255,255,.03);
  transition:background .35s ease,transform .35s ease;
}
.portfolio-grid a:hover{background:rgba(255,255,255,.08);transform:translateY(-4px)}
.portfolio-grid img{max-width:74%;max-height:120px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.24))}
.portfolio-grid span{font-weight:900}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--line);
}
blockquote{
  margin:0;
  padding:clamp(34px,5vw,72px);
  background:#fff;
  font-size:clamp(1.5rem,2.6vw,3rem);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:900;
}
cite{display:block;margin-top:28px;font-size:.9rem;color:#53616c;font-style:normal;letter-spacing:0}
.about-quote blockquote{max-width:1100px;margin:auto;background:transparent;color:#fff;text-align:center}
.final-grid{align-items:center}
.final-grid img{width:100%;border-radius:34px;box-shadow:var(--shadow-dark)}

.footer{padding:42px 0;background:var(--black-soft);color:#fff;border-top:1px solid var(--line-light)}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer img{width:54px;height:54px;object-fit:contain;border-radius:14px}
.footer p{font-size:.9rem;color:#c7d0d7;text-align:right}

.float-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:80;
  padding:16px 20px;
  border-radius:999px;
  background:var(--mint);
  color:var(--navy);
  box-shadow:0 18px 52px rgba(7,20,38,.25);
  font-weight:900;
}

.mask-title span,.mask-line,.split-text{will-change:transform,opacity}

@media (max-width:1100px){
  .hero__grid,.manifesto__grid,.editorial-head,.pin-grid,.brand-grid,.brand-footer,.maintenance-grid,.renewal-grid,.final-grid{grid-template-columns:1fr}
  .section-copy{grid-column:auto}
  .pricing-grid,.add-on-grid,.testimonial-grid{grid-template-columns:1fr}
  .industry-index,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pin-copy{position:relative;top:auto}
}

@media (max-width:760px){
  .cursor-light{display:none}
  .site-header{top:10px;height:auto;min-height:62px;width:calc(100vw - 20px);padding:8px 10px}
  .menu-toggle{display:block}
  .site-nav{
    position:fixed;
    inset:76px 10px auto 10px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:20px;
    border-radius:24px;
    background:#fff;
    color:var(--navy);
    box-shadow:var(--shadow);
  }
  .site-nav.is-open{display:flex}
  .hero{padding-top:105px}
  .hero-title{font-size:clamp(3.6rem,17vw,6.8rem)}
  .section-title{font-size:clamp(3rem,14vw,5rem)}
  .hero-media{min-height:360px;border-radius:24px}
  .editorial-row{grid-template-columns:1fr;gap:12px}
  .service-index{grid-template-columns:1fr}
  .service-item{grid-template-columns:1fr;padding-right:0!important}
  .service-cards{grid-template-columns:1fr}
  .image-link{min-height:320px}
  .industry-index,.portfolio-grid{grid-template-columns:1fr}
  .portfolio-grid a{min-height:210px}
  .footer-grid{align-items:flex-start;flex-direction:column}
  .footer p{text-align:left}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Section-specific premium effects layer */
.hero{
  --hero-light-x:18%;
  --hero-light-y:24%;
}
.hero::after{
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  opacity:.75;
  background:
    radial-gradient(circle at var(--hero-light-x) var(--hero-light-y),rgba(169,255,216,.16),transparent 18%),
    conic-gradient(from 180deg at 50% 50%,transparent,rgba(255,255,255,.06),transparent,rgba(169,255,216,.08),transparent);
  filter:blur(24px);
  animation:volumetricDrift 12s ease-in-out infinite alternate;
}
@keyframes volumetricDrift{
  from{transform:translate3d(-2%,0,0) rotate(0deg) scale(1)}
  to{transform:translate3d(2%,1%,0) rotate(6deg) scale(1.04)}
}
.mask-title span,
.mask-line{
  display:block;
  clip-path:inset(0 0 100% 0);
}

.manifesto{
  --manifest-bg:0;
  isolation:isolate;
  overflow:hidden;
}
.manifesto::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:var(--manifest-bg);
  background:linear-gradient(135deg,var(--graphite),var(--navy));
  transition:opacity .2s linear;
}
.manifesto .wrap{position:relative;z-index:1}
.manifesto .word-mask{
  display:inline-block;
  overflow:hidden;
  vertical-align:baseline;
}
.manifesto .word-mask span{
  display:inline-block;
  transform:translateY(115%) rotate(1deg);
}
.manifesto .section-copy{
  transition:color .2s linear;
}
.manifesto.is-dark{color:#fff}
.manifesto.is-dark .section-copy{color:#d4dde4}

.diagnosis{
  --diagnosis-wipe:0%;
  --diagnosis-tone:0;
}
.diagnosis::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:calc(.1 + (var(--diagnosis-tone) * .22));
  background:linear-gradient(90deg,transparent,rgba(169,255,216,.16),transparent);
}
.diagnosis-compare{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:clamp(260px,34vw,460px);
  margin:-20px 0 clamp(36px,6vw,82px);
  overflow:hidden;
  border:1px solid var(--line-light);
  border-radius:34px;
  background:#10161c;
  box-shadow:var(--shadow-dark);
}
.diagnosis-compare__side{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:14px;
  padding:clamp(26px,4vw,56px);
}
.diagnosis-compare__side--before{
  color:#77838d;
  background:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.78)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 36px);
}
.diagnosis-compare__side--after{
  color:#fff;
  background:
    radial-gradient(circle at 70% 26%,rgba(169,255,216,.2),transparent 28%),
    linear-gradient(135deg,var(--navy),var(--green-dark));
}
.diagnosis-compare span{
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.72rem;
  color:var(--mint);
}
.diagnosis-compare strong{
  max-width:9ch;
  font-size:clamp(2.4rem,5vw,6rem);
  line-height:.88;
  letter-spacing:-.07em;
}
.diagnosis-compare__wipe{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  transform:translateX(calc(var(--diagnosis-wipe) - 100%));
  width:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),rgba(169,255,216,.26),transparent);
  mix-blend-mode:screen;
}

.system-story{
  --system-progress:0%;
}
.system-map{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(420px,100%);
  height:78px;
  margin-top:34px;
}
.system-map::before,
.system-map i{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(255,255,255,.18);
}
.system-map i{
  right:auto;
  width:var(--system-progress);
  background:linear-gradient(90deg,var(--mint),rgba(169,255,216,.1));
  box-shadow:0 0 24px rgba(169,255,216,.28);
  transition:width .1s linear;
}
.system-map span{
  position:relative;
  z-index:1;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:var(--navy);
  transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
}
.system-map span.is-active{
  background:var(--mint);
  box-shadow:0 0 0 10px rgba(169,255,216,.08),0 0 34px rgba(169,255,216,.34);
  transform:scale(1.12);
}
.glass-panel{
  opacity:.46;
  transform:translateX(20px);
  transition:opacity .35s ease,transform .35s ease,border-color .35s ease;
}
.glass-panel.is-active{
  opacity:1;
  transform:translateX(0);
  border-color:rgba(169,255,216,.42);
}

.service-item,
.plan-card,
.premium-panel,
.add-on-grid article,
.portfolio-grid a{
  --mx:50%;
  --my:50%;
}
.service-item{
  position:relative;
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,background .35s ease;
}
.service-item::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:radial-gradient(circle at var(--mx) var(--my),rgba(169,255,216,.18),transparent 30%);
  pointer-events:none;
  transition:opacity .35s ease;
}
.service-item:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.045);
}
.service-item:hover::after{opacity:1}

.pricing-section{
  --plans-light:50%;
  background:
    radial-gradient(circle at var(--plans-light) 20%,rgba(169,255,216,.16),transparent 20%),
    #fff;
}
.plan-card{
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.plan-card:hover{
  border-color:rgba(42,203,140,.55);
  box-shadow:0 34px 100px rgba(7,20,38,.22),0 0 0 1px rgba(169,255,216,.18);
}

.brand-section{
  perspective:1200px;
}
.brand-section .editorial-photo:first-of-type{
  transform:translateY(var(--brand-y,0px)) rotateX(var(--brand-r,0deg));
}
.brand-footer .editorial-photo{
  transform:translateY(calc(var(--brand-y,0px) * -0.7));
}

.maintenance{
  --timeline-progress:0%;
}
.maintenance-grid{
  position:relative;
}
.maintenance-grid::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(7,20,38,.14);
}
.maintenance-grid::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:var(--timeline-progress);
  background:var(--mint-strong);
  box-shadow:0 0 28px rgba(42,203,140,.45);
}
.maintenance .premium-panel{
  transition:transform .35s ease,border-color .35s ease;
}
.maintenance .premium-panel.is-active{
  transform:translateY(-8px);
  border-color:rgba(42,203,140,.45);
}

.renewal{
  background:
    radial-gradient(circle at 18% 20%,rgba(169,255,216,.12),transparent 26%),
    linear-gradient(135deg,var(--graphite),#10161c);
}
.renewal-items article{
  backdrop-filter:blur(18px);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  transition:filter .35s ease,background .35s ease,border-color .35s ease,transform .35s ease;
}
.renewal-items article:hover{
  filter:brightness(1.14);
  border-color:rgba(169,255,216,.42);
  transform:translateX(8px);
}

.industry-index article{
  position:relative;
  overflow:hidden;
}
.industry-index article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  transform:scaleY(0);
  transform-origin:top;
  background:var(--mint-strong);
  transition:transform .35s ease;
}
.industry-index article::after{
  content:attr(data-keyword);
  position:absolute;
  right:18px;
  bottom:14px;
  opacity:0;
  color:#d7dddf;
  font-size:clamp(2rem,4vw,4rem);
  font-weight:900;
  letter-spacing:-.07em;
  transition:opacity .35s ease,transform .35s ease;
  transform:translateY(16px);
}
.industry-index article:hover::before{transform:scaleY(1)}
.industry-index article:hover::after{opacity:.55;transform:translateY(0)}

.portfolio-grid a{
  position:relative;
  overflow:hidden;
  clip-path:inset(0 0 0 0);
}
.portfolio-grid a::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-102%);
  background:linear-gradient(90deg,transparent,rgba(169,255,216,.16),transparent);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.portfolio-grid a:hover::before{transform:translateX(102%)}
.portfolio-grid img{
  transition:transform .55s ease,filter .55s ease;
}
.portfolio-grid a:hover img{
  transform:translate3d(var(--px,0),var(--py,0),0) scale(1.08);
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.34));
}

.testimonial-grid{
  overflow:hidden;
}
.testimonial-grid blockquote{
  transform-origin:left center;
}
.testimonial-grid blockquote::first-letter{
  color:var(--mint-strong);
}

.final-cta{
  overflow:hidden;
}
.final-cta::after{
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  opacity:.5;
  background:
    radial-gradient(circle at 30% 38%,rgba(169,255,216,.18),transparent 22%),
    radial-gradient(circle at 82% 68%,rgba(255,255,255,.1),transparent 24%);
  filter:blur(30px);
  animation:ctaGlow 9s ease-in-out infinite alternate;
}
@keyframes ctaGlow{
  from{transform:translate3d(-1%,0,0) scale(1)}
  to{transform:translate3d(1.5%,1%,0) scale(1.04)}
}

@media (max-width:1100px){
  .maintenance-grid::before,
  .maintenance-grid::after{
    left:18px;
  }
}

@media (max-width:760px){
  .diagnosis-compare{grid-template-columns:1fr}
  .diagnosis-compare__side{min-height:220px}
  .system-map{height:56px}
}

/* Editorial polish pass */
.hero-title{
  font-size:clamp(3.5rem,7.4vw,7.8rem);
  line-height:.92;
  letter-spacing:-.062em;
}
.section-title{
  font-size:clamp(3.1rem,6vw,6.9rem);
  line-height:.94;
  letter-spacing:-.058em;
}
.editorial-head{
  display:block;
  max-width:min(1120px,92vw);
  margin-inline:auto;
  text-align:center;
}
.editorial-head .section-title{
  text-align:center;
  margin-inline:auto;
}
.editorial-head p:not(.eyebrow){
  max-width:820px;
  margin:22px auto 0;
}
.hero-media{
  min-height:0;
  aspect-ratio:16/9;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
}
.hero-media video{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  mix-blend-mode:normal;
  background:#050607;
}
.hero-media figcaption{
  background:rgba(7,20,38,.66);
}
.glass-panel{
  opacity:.9;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
}
.glass-panel p,
.service-item p,
.brand-grid p,
.brand-footer p,
.editorial-row p{
  color:#e8f2f0;
  opacity:.95;
}
.glass-panel h3{
  color:#fff;
}
.service-entry-section{
  padding:clamp(56px,8vw,110px) 0;
}
.service-cards--after-plans{
  margin-top:0;
}
.renewal-items article{
  filter:none !important;
  color:#fff;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.075));
}
.renewal-items article h3{
  color:#fff;
}
.renewal-items article p{
  color:#edf7f4;
  opacity:.96;
}
.portfolio-section{
  background:var(--navy);
}
.portfolio-grid{
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.portfolio-grid a{
  background:#fff;
  color:var(--navy);
  border-right:1px solid rgba(7,20,38,.14);
  border-bottom:1px solid rgba(7,20,38,.14);
}
.portfolio-grid a:hover{
  background:#f8fbfa;
}
.portfolio-grid img,
.portfolio-grid a:hover img{
  max-width:76%;
  max-height:126px;
  object-fit:contain;
  filter:none;
}
.portfolio-grid a::before{
  background:linear-gradient(90deg,transparent,rgba(42,203,140,.16),transparent);
}
.legal-page{
  min-height:100vh;
  padding:120px 18px 80px;
  background:#fff;
}
.legal-doc{
  width:min(980px,100%);
  margin:0 auto;
  color:var(--navy);
  font-weight:650;
}
.legal-doc h1{
  margin:0 0 28px;
  font-size:clamp(2.6rem,6vw,5.6rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.legal-doc h2{
  margin:42px 0 14px;
  font-size:clamp(1.55rem,3vw,2.4rem);
  letter-spacing:-.035em;
}
.legal-doc p,
.legal-doc li{
  color:#314354;
  font-size:1.05rem;
  line-height:1.72;
}
.legal-doc ul,
.legal-doc ol{
  padding-left:1.4rem;
}
.legal-doc .legal-back{
  display:inline-flex;
  margin-bottom:34px;
  color:#0b6f43;
  font-weight:900;
}
.service-page{
  background:#fff;
  color:var(--navy);
}
.service-hero{
  padding:150px 0 70px;
}
.service-hero__grid,
.service-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,6vw,86px);
  align-items:center;
}
.service-hero img,
.service-detail-media img{
  width:100%;
  border-radius:28px;
  box-shadow:var(--shadow);
}
.service-page .section-title{
  color:var(--navy);
}
.service-detail{
  padding:70px 0;
}
.service-detail-card{
  border:1px solid rgba(7,20,38,.16);
  border-radius:28px;
  padding:clamp(28px,4vw,56px);
  background:#fff;
  box-shadow:var(--shadow);
}
.service-detail-card p,
.service-detail-card li{
  color:#314354;
}
.service-detail-card ul{
  display:grid;
  gap:12px;
  margin:24px 0;
}
.service-detail-card li::before{
  content:"✓ ";
  color:var(--mint-strong);
  font-weight:900;
}

@media (max-width:1100px){
  .service-hero__grid,
  .service-detail-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .hero-title{
    font-size:clamp(3rem,14vw,5.8rem);
  }
  .section-title{
    font-size:clamp(2.55rem,12vw,4.4rem);
  }
  .hero-media{
    aspect-ratio:16/9;
    border-radius:22px;
  }
  .hero-media figcaption{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:10px;
    display:block;
  }
  .service-entry-section{
    padding:46px 0 82px;
  }
}
