
:root{
  --green:#014B3F;
  --green-deep:#00372f;
  --green-black:#022821;
  --orange:#FF5E1A;
  --gray:#D1D2D4;
  --paper:#f5f5f0;
  --white:#fffdf8;
  --ink:#10241f;
  --line:rgba(1,75,63,.16);
  --font:'Madimi One',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.72,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--green-black)}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--orange);color:#fff}

.page-noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}

.header{position:fixed;z-index:50;top:0;left:0;right:0;height:88px;padding:0 max(32px,calc((100vw - 1320px)/2));display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:38px;color:#fff;transition:background .35s,border-color .35s,backdrop-filter .35s,height .35s}
.header.scrolled{height:74px;background:rgba(0,55,47,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{width:178px;overflow:hidden;display:block}
.brand img{width:100%;height:auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.18))}
.nav{display:flex;justify-content:center;gap:36px;font-size:13px;letter-spacing:.02em}
.nav a{position:relative;opacity:.78;transition:.25s}
.nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover{opacity:1}.nav a:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.language-toggle{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(0,55,47,.16);color:#fff;cursor:pointer;font-size:10px;letter-spacing:.12em;transition:.3s}
.language-toggle:hover,.language-toggle:focus-visible{background:#fff;color:var(--green);border-color:#fff;outline:none}
.header-cta{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.36);padding:11px 15px 11px 18px;border-radius:999px;font-size:12px;transition:.3s}
.header-cta b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--orange);font-weight:400}
.header-cta:hover{background:#fff;color:var(--green)}
.menu{display:none;background:none;border:0;width:44px;height:44px;padding:10px;position:relative}
.menu span{display:block;height:2px;background:#fff;margin:6px 0;transition:.3s}

.hero{min-height:100svh;position:relative;color:#fff;background:var(--green-black);overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.02) brightness(1.04);transform:scale(1.02);animation:heroZoom 16s ease-in-out infinite alternate}
@keyframes heroZoom{to{transform:scale(1.07)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,48,40,.80) 0%,rgba(0,55,47,.52) 17%,rgba(0,55,47,.12) 34%,rgba(0,0,0,.02) 52%,transparent 70%),linear-gradient(0deg,rgba(0,37,31,.22),transparent 42%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,black,transparent 72%);opacity:.22}
.orb{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%;animation:pulse 6s ease-in-out infinite}
.orb:after,.orb:before{content:"";position:absolute;inset:15%;border:inherit;border-radius:inherit}.orb:before{inset:31%}
.orb-a{width:300px;height:300px;right:8vw;top:21vh}.orb-b{width:130px;height:130px;right:25vw;top:14vh;animation-delay:-2.5s}
@keyframes pulse{50%{transform:scale(1.08);opacity:.55}}
.hero-content{position:relative;z-index:2;padding-top:190px;padding-bottom:130px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.hero-meta{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.17em;color:rgba(255,255,255,.72);margin-bottom:26px}
.hero-meta i{width:25px;height:1px;background:var(--orange)}
.hero h1{margin:0;max-width:970px;font-size:clamp(68px,8.7vw,142px);line-height:.87;letter-spacing:-.035em;font-weight:400;text-wrap:balance}
.hero h1 mark{background:none;color:var(--orange);font-style:normal}
.hero-lower{display:grid;grid-template-columns:minmax(320px,560px) auto;align-items:end;gap:60px;margin-top:46px}
.hero-lower p{margin:0;font-size:18px;line-height:1.45;color:rgba(255,255,255,.78);max-width:570px}
.round-link{width:58px;height:58px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:.3s}
.round-link:hover{background:var(--orange);border-color:var(--orange);transform:translateY(4px)}
.hero-stamp{position:absolute;z-index:3;right:max(32px,calc((100vw - 1320px)/2));bottom:36px;display:flex;flex-direction:column;text-align:right;line-height:1}
.hero-stamp span{font-size:21px;color:var(--orange)}.hero-stamp small{font-size:9px;letter-spacing:.13em;margin-top:7px;color:rgba(255,255,255,.62)}
.hero-side{position:absolute;z-index:2;right:18px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.45)}

.intro{background:var(--paper);padding:145px 0 155px;position:relative;overflow:hidden}
.intro:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,94,26,.18);border-radius:50%;left:-250px;bottom:-250px}
.intro-grid{display:grid;grid-template-columns:190px 1fr 420px;gap:55px;align-items:start}
.intro-label{display:flex;gap:18px;align-items:center;padding-top:12px}
.eyebrow{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.62);white-space:nowrap}.eyebrow.dark{color:rgba(1,75,63,.56)}
.intro-label .eyebrow{color:rgba(1,75,63,.57)}.rule{width:54px;height:1px;background:var(--orange)}
.pretitle{margin:0 0 18px;color:var(--orange);font-size:14px}
.intro h2,.services h2,.solutions h2,.work h2,.contact h2{font-size:clamp(46px,5.6vw,83px);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0}
h2 em{font-style:normal;color:var(--orange)}
.body{font-size:16px;line-height:1.72;color:rgba(16,36,31,.68);max-width:650px;margin:30px 0}
.underline-link{display:inline-flex;gap:18px;align-items:center;border-bottom:2px solid var(--green);padding:0 0 8px;font-size:13px;color:var(--green)}.underline-link span{color:var(--orange);transition:.3s}.underline-link:hover span{transform:translate(3px,-3px)}
.intro-media{position:relative;padding-top:70px}
.video-window{height:500px;position:relative;overflow:hidden;border-radius:180px 10px 180px 10px;background:var(--green);box-shadow:0 30px 80px rgba(1,75,63,.18)}
.video-window video{width:100%;height:100%;object-fit:cover}
.video-window:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,55,47,.56),transparent 42%)}
.video-caption{position:absolute;z-index:2;bottom:22px;left:24px;background:rgba(255,253,248,.92);padding:10px 13px;border-radius:999px;color:var(--green);font-size:9px;letter-spacing:.13em}
.accent-block{position:absolute;z-index:-1;left:-38px;bottom:-65px;color:transparent;-webkit-text-stroke:1px rgba(255,94,26,.28);font-size:210px;line-height:1}

.service-marquee{
  min-height:82px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  overflow:hidden;
  background:var(--orange);
  color:#fff;
  border-block:1px solid rgba(1,75,63,.12);
  position:relative;
  isolation:isolate;
}
.service-marquee:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg,transparent 0 44%,rgba(255,255,255,.17) 44% 44.12%,transparent 44.12%),
    repeating-linear-gradient(135deg,transparent 0 20px,rgba(1,75,63,.11) 20px 21px);
}
.ticker-tag{
  min-width:240px;
  padding:0 28px;
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--green);
  border-right:1px solid rgba(255,255,255,.14);
  font-size:11px;
  letter-spacing:.12em;
  white-space:nowrap;
  position:relative;
  z-index:2;
}
.ticker-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 5px rgba(255,94,26,.16);
}
.ticker-window{
  min-width:0;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent);
}
.marquee-track{
  display:flex;
  align-items:center;
  width:max-content;
  min-width:max-content;
  height:100%;
  will-change:transform;
  animation:infiniteLoop var(--loop-duration,28s) linear infinite;
}
.marquee-group{
  flex:none;
  display:flex;
  align-items:center;
  min-height:82px;
  white-space:nowrap;
}
.marquee-group span{
  margin-inline:30px;
  font-size:22px;
  letter-spacing:.025em;
  text-shadow:0 1px 0 rgba(1,75,63,.08);
}
.marquee-group b{
  color:var(--green);
  font-size:9px;
  font-weight:400;
  opacity:.82;
  transform:rotate(45deg);
}
.service-marquee:hover .marquee-track{animation-play-state:paused}
@keyframes infiniteLoop{
  to{transform:translate3d(var(--loop-shift,-50%),0,0)}
}

.services{padding:145px 0 130px;background:#fff}
.services-head{display:grid;grid-template-columns:250px 1fr;gap:60px;align-items:start;margin-bottom:76px}
.services-head p{margin:16px 0 0;color:var(--green)}
.services-head h2{max-width:900px;font-size:clamp(42px,5vw,74px)}
.service-list{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:56px minmax(300px,500px) 1fr;gap:46px;align-items:center;padding:52px 0;border-bottom:1px solid var(--line);position:relative}
.service-num{align-self:start;padding-top:10px;font-size:15px;color:var(--orange)}
.service-image{height:350px;overflow:hidden;position:relative;background:var(--green)}
.image-cut-a{border-radius:6px 120px 6px 6px}.image-cut-b{border-radius:120px 6px 6px 6px}.image-cut-c{border-radius:6px 6px 120px 6px}
.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease),filter .85s}
.service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,52,44,.55),transparent 48%)}
.service-image span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:9px;letter-spacing:.18em}
.service:hover .service-image img{transform:scale(1.06);filter:saturate(1.1)}
.service-info{padding:30px 20px 30px 0}.service-info h3{font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1;margin:0 0 22px;color:var(--green)}
.service-info p{max-width:560px;margin:0 0 28px;font-size:16px;line-height:1.65;color:rgba(16,36,31,.65)}
.more{border:0;background:none;padding:0 0 7px;border-bottom:1px solid var(--green);color:var(--green);display:inline-flex;align-items:center;gap:22px;cursor:pointer;font-size:12px}.more span{color:var(--orange);transition:.3s}.more:hover span{transform:translate(3px,-3px)}

.solutions{background:var(--green);color:#fff;padding:95px 0 150px;overflow:hidden;position:relative}
.solutions:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.solutions-top{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:90px;margin-bottom:24px}
.solutions-top h2{margin-top:18px;max-width:690px}.solutions-top p{max-width:400px;margin:0 0 12px;color:rgba(255,255,255,.72);line-height:1.65;font-size:15px}
.visual-stage{position:relative;z-index:2;width:min(1180px,calc(100% - 64px));height:545px;margin:auto}
.visual{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#00372f;
  box-shadow:0 30px 80px rgba(0,0,0,.2);
  cursor:pointer;
  outline:none;
  isolation:isolate;
  transition:transform .38s var(--ease),box-shadow .38s var(--ease);
}
.visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1s var(--ease),filter .65s var(--ease)
}
.visual:hover,
.visual:focus-visible{
  transform:translateY(-8px);
  box-shadow:0 38px 95px rgba(0,0,0,.28)
}
.visual:hover img,
.visual:focus-visible img{
  transform:scale(1.055);
  filter:saturate(1.08)
}
.visual:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(0deg,rgba(0,39,32,.92) 0%,rgba(0,42,35,.50) 24%,rgba(0,42,35,.08) 62%,transparent 78%)
}
.visual:before{
  content:"↗";
  position:absolute;
  z-index:3;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:13px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  background:rgba(1,75,63,.28);
  backdrop-filter:blur(8px);
  transition:.3s var(--ease)
}
.visual:hover:before,
.visual:focus-visible:before{
  background:var(--orange);
  border-color:var(--orange);
  transform:rotate(45deg)
}
.visual figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  color:#fff;
  min-width:0;
}
.visual figcaption b{
  color:var(--orange);
  font-size:11px;
  font-weight:400;
  letter-spacing:.08em;
}
.visual-name{
  min-width:0;
  font-size:16px;
  line-height:1.1;
  letter-spacing:.015em;
  text-shadow:0 2px 16px rgba(0,0,0,.24);
}
.visual-action{
  font-size:9px;
  letter-spacing:.08em;
  opacity:.76;
  white-space:nowrap;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(0,39,32,.2);
  backdrop-filter:blur(6px);
  transition:.3s;
}
.visual:hover .visual-action,
.visual:focus-visible .visual-action{
  opacity:1;
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:rgba(255,94,26,.9);
}
.visual-a{left:0;top:0;width:29.5%;height:390px;border-radius:8px 105px 8px 8px}
.visual-b{left:28.9%;top:128px;width:29.5%;height:390px;border-radius:92px 8px 92px 8px}
.visual-c{left:52.6%;top:0;width:29.5%;height:390px;border-radius:8px 8px 8px 92px}
.visual-d{left:70%;top:128px;width:29.5%;height:390px;border-radius:92px 8px 8px 8px}

.work{padding:135px 0 120px;background:var(--paper);overflow:hidden}
.work-head{text-align:center;max-width:900px}.work-head h2{margin-top:18px}.work-head p{color:rgba(16,36,31,.62);font-size:15px;max-width:570px;margin:22px auto 0;line-height:1.6}
.logo-strip{
  margin-top:68px;
  background:
    linear-gradient(90deg, #9ba19f 0%, #a8adab 48%, #9ca3a1 100%);
  border-block:1px solid rgba(1,75,63,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(1,75,63,.08);
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent)
}
.logo-track{
  height:164px;
  display:flex;
  align-items:center;
  width:max-content;
  min-width:max-content;
  will-change:transform;
  animation:infiniteLoop var(--loop-duration,34s) linear infinite
}
.logo-group{
  flex:none;
  height:100%;
  display:flex;
  align-items:center
}
.logo-strip:hover .logo-track{animation-play-state:paused}
.client{
  width:210px;
  flex:0 0 210px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 28px;
  border-right:1px solid rgba(255,255,255,.17);
  opacity:1;
  transition:background .28s var(--ease), transform .28s var(--ease)
}
.client:hover{
  background:rgba(255,255,255,.10);
}
.client img{
  display:block;
  width:auto;
  height:auto;
  max-width:152px;
  max-height:82px;
  object-fit:contain;
  filter:none;
  opacity:1;
  transition:transform .28s var(--ease)
}
.client:hover img{transform:scale(1.045)}
.text-client{font-size:17px;color:#fff;text-align:center}

.contact{background:var(--green-black);color:#fff;padding:125px 0 0;position:relative;overflow:hidden}
.contact-lines{position:absolute;width:750px;height:750px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-230px;top:-270px}.contact-lines:before,.contact-lines:after{content:"";position:absolute;border:inherit;border-radius:inherit;inset:13%}.contact-lines:after{inset:28%}
.contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:120px;padding-bottom:115px}
.contact-title h2{margin:20px 0 42px;max-width:760px}.contact-button{display:inline-flex;align-items:center;gap:24px;background:var(--orange);padding:15px 18px 15px 22px;border-radius:999px;font-size:13px;transition:.3s}.contact-button span{display:grid;place-items:center;width:29px;height:29px;background:#fff;color:var(--green);border-radius:50%}.contact-button:hover{background:#fff;color:var(--green)}.contact-button:hover span{background:var(--orange);color:#fff}
.contact-info{align-self:end;border-top:1px solid rgba(255,255,255,.18)}
.info-row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18)}.info-row span{font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.46)}.info-row p,.info-row a{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.82)}.info-row a:hover{color:var(--orange)}
.footer{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.15);min-height:112px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:40px;color:rgba(255,255,255,.46);font-size:10px}.footer img{width:170px}.footer p{text-align:center}.footer a{color:#fff}

.service-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;visibility:hidden;opacity:0;transition:.3s}.service-modal.open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,34,28,.76);backdrop-filter:blur(8px)}
.modal-card{position:relative;width:min(590px,calc(100% - 40px));background:var(--paper);color:var(--ink);padding:54px;border-radius:8px 90px 8px 8px;transform:translateY(24px) scale(.985);transition:.35s var(--ease);box-shadow:0 35px 110px rgba(0,0,0,.32)}.service-modal.open .modal-card{transform:none}.modal-close{position:absolute;right:22px;top:17px;border:0;background:none;color:var(--green);font-size:34px;cursor:pointer}.modal-kicker{font-size:9px;letter-spacing:.18em;color:var(--orange)}.modal-card h3{margin:15px 0 18px;font-size:50px;line-height:1;color:var(--green);font-weight:400}.modal-card p{font-size:16px;line-height:1.65;color:rgba(16,36,31,.68)}.modal-link{display:inline-flex;gap:20px;margin-top:12px;border-bottom:1px solid var(--green);padding-bottom:7px;color:var(--green);font-size:12px}.modal-link span{color:var(--orange)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}

@media(max-width:1020px){
  .header{grid-template-columns:190px 1fr auto;gap:20px}.nav{gap:20px}.intro-grid{grid-template-columns:150px 1fr}.intro-media{grid-column:2;max-width:560px;width:90%;margin-left:auto}.services-head{grid-template-columns:1fr;gap:20px}.service{grid-template-columns:44px 1fr}.service-image,.service-info{grid-column:2}.service-num{grid-row:1/span 2}.service-info{padding:8px 0 14px}.solutions-top{display:flex;align-items:start;flex-direction:column;gap:26px}.visual-stage{height:850px;width:min(640px,calc(100% - 48px))}.visual-a{left:0;top:0;width:64%;height:340px}.visual-b{left:auto;right:0;top:170px;width:64%;height:340px}.visual-c{left:7%;top:340px;width:64%;height:340px}.visual-d{left:auto;right:0;top:510px;width:64%;height:340px}.contact-grid{grid-template-columns:1fr;gap:65px}.contact-info{max-width:650px}.footer{grid-template-columns:1fr;text-align:center;padding:34px 0}.footer img{margin:auto}.footer p{text-align:center}
}

@media(max-width:760px){
  .wrap{width:calc(100% - 34px)}.header{height:76px;padding-inline:17px;grid-template-columns:1fr auto}.brand{width:142px}.nav,.header-cta{display:none}.header-actions{gap:6px}.language-toggle{height:38px;min-width:40px;padding-inline:9px}.menu{display:block}.header.menu-open{height:auto;background:rgba(0,55,47,.98);grid-template-rows:76px auto;padding-bottom:24px}.header.menu-open .nav{display:flex;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:flex-start;padding-top:15px;gap:18px}.header.menu-open .nav a{font-size:17px}.header.menu-open .menu span:first-child{transform:translateY(4px) rotate(45deg)}.header.menu-open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .hero-content{padding-top:140px;padding-bottom:110px}.hero h1{font-size:clamp(54px,16vw,80px);line-height:.91}.hero-meta{font-size:8px;gap:8px}.hero-meta i{width:12px}.hero-lower{grid-template-columns:1fr;gap:25px}.hero-lower p{font-size:15px}.hero-stamp{left:17px;right:auto;text-align:left}.hero-side,.orb-b{display:none}.orb-a{width:220px;height:220px;right:-75px;top:18vh}
  .intro{padding:95px 0 110px}.intro-grid{display:block}.intro-label{margin-bottom:32px}.intro h2,.services h2,.solutions h2,.work h2,.contact h2{font-size:45px}.intro-media{width:100%;margin:55px 0 0;padding-top:0}.video-window{height:390px;border-radius:110px 8px 110px 8px}.accent-block{font-size:160px;bottom:-45px}
  .service-marquee{min-height:64px;grid-template-columns:1fr}.ticker-tag{display:none}.marquee-group{min-height:64px}.marquee-group span{font-size:18px;margin-inline:22px}.ticker-window{mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent)}.services{padding:95px 0}.services-head{margin-bottom:45px}.service{grid-template-columns:34px 1fr;gap:15px;padding:34px 0}.service-image{height:250px}.service-info h3{font-size:38px}.service-info p{font-size:14px}.image-cut-a,.image-cut-b,.image-cut-c{border-radius:6px 70px 6px 6px}
  .solutions{padding:90px 0 105px}.visual-stage{height:auto;width:calc(100% - 34px);display:flex;flex-direction:column;gap:16px}.visual{position:relative!important;inset:auto!important;width:100%!important;height:280px!important;border-radius:6px 70px 6px 6px}.visual figcaption{grid-template-columns:28px minmax(0,1fr);gap:8px}.visual-action{display:none}.visual-name{font-size:14px}
  .work{padding:90px 0}.work-head{text-align:left}.work-head p{margin-left:0}.logo-strip{margin-top:48px;border-block:1px solid rgba(1,75,63,.16);box-shadow:0 14px 32px rgba(1,75,63,.06)}.logo-track{height:148px}.client{width:185px;flex-basis:185px;padding:22px 24px}.client img{max-width:136px;max-height:76px}.text-client{font-size:15px}.contact{padding-top:90px}.contact-grid{padding-bottom:80px}.contact-title h2{font-size:50px}.info-row{grid-template-columns:1fr;gap:7px}.footer img{width:155px}
  .modal-card{padding:44px 28px}.modal-card h3{font-size:40px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-video,.orb,.marquee-track,.logo-track{animation:none!important;transform:none!important}.reveal{opacity:1;transform:none;transition:none!important}}


@media(min-width:1021px){
  .solutions{padding:85px 0 120px}
  .visual-stage:before{
    content:"";
    position:absolute;
    left:2%;
    right:2%;
    top:52%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.13) 16%,rgba(255,255,255,.13) 84%,transparent);
    z-index:-1;
  }
  .visual-stage:after{
    content:"SOLUCIONES INTEGRADAS";
    position:absolute;
    right:2px;
    bottom:8px;
    color:rgba(255,255,255,.34);
    font-size:9px;
    letter-spacing:.18em;
  }
}


.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:-3px;
}
.social-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:8px 12px 8px 9px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:rgba(255,255,255,.82);
  transition:.28s var(--ease);
}
.social-link svg{
  width:20px;
  height:20px;
  flex:none;
}
.social-link svg path,
.social-link svg .fill-dot{
  fill:currentColor;
}
.social-link svg rect,
.social-link svg circle:not(.fill-dot){
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.social-link span{
  font-size:11px;
  letter-spacing:.02em;
  color:inherit;
}
.social-link:hover{
  color:#fff;
  border-color:var(--orange);
  background:rgba(255,94,26,.13);
  transform:translateY(-2px);
}

@media(max-width:760px){
  .social-links{gap:8px}
  .social-link{min-height:36px;padding:7px 11px 7px 8px}
  .social-link span{font-size:10px}
}

@media(max-width:760px){
  .logo-strip{
    background:linear-gradient(90deg,#9ba19f 0%,#a8adab 50%,#9ca3a1 100%);
  }
}


@media(min-width:1021px){
  .hero-content{
    width:min(1320px,calc(100% - 64px));
    margin-inline:auto;
  }
}

