@font-face {
  font-family:Gilroy;
  src:url("../assets/fonts/Gilroy_Regular-s.p.3wfcn3mc9jvrr.ttf") format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Gilroy;
  src:url("../assets/fonts/Gilroy_Medium-s.p.1ik3gsea9fi4m.ttf") format("truetype");
  font-weight:500;
  font-display:swap;
}
@font-face {
  font-family:Gilroy;
  src:url("../assets/fonts/Gilroy_SemiBold-s.p.2ouh5jwjnnkgd.ttf") format("truetype");
  font-weight:600;
  font-display:swap;
}
.interior-shell{
  --bg-primary:#070517;
  --bg-secondary:#171426;
  --text-primary:#fff;
  --text-secondary:#aaa7b4;
  --accent:#55b743;
  --container-width:1600px;
  --gutter:32px;
  --ease:cubic-bezier(.22,1,.36,1);
}
.interior-shell *{
  box-sizing:border-box;
}
.interior-shell{
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
.interior-shell{
  margin:0;
  background:linear-gradient(110deg,#060a18 0%,#09021c 48%,#020608 100%);
  color:var(--text-primary);
  font:400 18px/1.5 Gilroy,Arial,sans-serif;
  overflow-x:clip;
}
.interior-shell body.modal-open{
  overflow:hidden;
}
.interior-shell button,.interior-shell a{
  -webkit-tap-highlight-color:transparent;
}
.interior-shell a{
  color:inherit;
  text-decoration:none;
}
.interior-shell button{
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.interior-shell button:disabled{
  opacity:.3;
  cursor:default;
}
.interior-shell button{
  border:0;
  background:none;
}
.interior-shell h1,.interior-shell h2,.interior-shell h3,.interior-shell p{
  margin:0;
}
.interior-shell h1,.interior-shell h2,.interior-shell h3{
  font-weight:400;
  line-height:1.2;
}
.interior-shell img{
  display:block;
  max-width:100%;
  height:auto;
}
.interior-shell strong{
  font-weight:600;
}
.interior-shell a:focus-visible,.interior-shell button:focus-visible{
  outline:2px solid #80dc63;
  outline-offset:5px;
}
.interior-shell .wrap{
  width:100%;
  max-width:var(--container-width);
  margin:auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}
.interior-shell #starfield{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:-1;
}
.interior-shell main,.interior-shell footer{
  position:relative;
}
.interior-shell #header{
  height:106px;
  display:flex;
  align-items:center;
  gap:45px;
  padding:20px 28px;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:30;
  transition:transform .4s,background .4s;
}
.interior-shell #header .logo{
  width:195px;
  height:41px;
}
.interior-shell #header nav{
  display:flex;
  align-items:center;
  gap:40px;
  margin-left:auto;
}
.interior-shell #header nav a{
  white-space:nowrap;
  font-size:18px;
  position:relative;
}
.interior-shell #header nav a:after{
  content:"";
  height:1px;
  background:var(--accent);
  position:absolute;
  bottom:-5px;
  left:0;
  right:100%;
  transition:right .3s;
}
.interior-shell #header nav a:hover:after{
  right:0;
}
.interior-shell .phone{
  font-size:0;
  width:30px;
  height:32px;
  flex-shrink:0;
}
.interior-shell .phone:after{
  content:"♧";
  font-size:34px;
  display:block;
  transform:rotate(-35deg);
}
.interior-shell .menu-toggle{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:25px;
  border-radius:30px;
  padding:9px 15px;
  background:#20252c;
  font-family:Arial,sans-serif;
  font-size:14px;
}
.interior-shell .menu-toggle i{
  width:28px;
  height:10px;
  border-top:2px solid white;
  border-bottom:2px solid white;
}
.interior-shell #header.scrolled{
  position:fixed;
  background:#080614ed;
  backdrop-filter:blur(12px);
  height:85px;
}
.interior-shell #header.hidden{
  transform:translateY(-110%);
}
.interior-shell .hero-journey{
  height:500vh;
}
.interior-shell .hero-sticky{
  height:100vh;
  position:sticky;
  top:0;
  overflow:hidden;
}
.interior-shell .hero{
  height:100%;
  display:flex;
  align-items:center;
  padding:90px var(--gutter) 0;
}
.interior-shell .hero-copy{
  width:100%;
  position:relative;
  z-index:2;
}
.interior-shell .eyebrow{
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:18px;
  color:#bdbac7;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:13px;
}
.interior-shell .eyebrow:before{
  content:"";
  width:32px;
  height:1px;
  background:#77a588;
}
.interior-shell .hero h1{
  font-size:clamp(44px,4.9vw,78px);
  letter-spacing:-2px;
  line-height:1.18;
  margin-bottom:30px;
  white-space:nowrap;
}
.interior-shell .hero-actions{
  width:605px;
  max-width:48%;
}
.interior-shell .feature-carousel{
  height:194px;
  position:relative;
}
.interior-shell .feature-slide{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:minmax(0,1fr);
  position:absolute;
  inset:0;
  border:1px solid #ffffff15;
  border-radius:18px;
  background:#ffffff18;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .8s,transform .8s,visibility .8s;
}
.interior-shell .feature-slide.active{
  opacity:1;
  visibility:visible;
  transform:none;
}
.interior-shell .feature-slide>img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:17px;
}
.interior-shell .feature-slide>div{
  min-width:0;
  min-height:0;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.interior-shell .feature-slide h2{
  font-size:21px;
  line-height:1.3;
  padding-right:15px;
  position:relative;
}
.interior-shell .feature-slide h2 span{
  position:absolute;
  right:-4px;
  top:0;
}
.interior-shell .feature-slide p{
  font-size:15px;
  line-height:1.7;
  color:#c4bfce;
}
.interior-shell .hero-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}
.interior-shell .hero-buttons a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#ffffff18;
  border:1px solid #ffffff1c;
  border-radius:18px;
  padding:23px 16px;
  font-size:18px;
  transition:background .3s,transform .3s;
}
.interior-shell .hero-buttons a:hover{
  background:#3b653444;
  transform:translateY(-3px);
}
.interior-shell .hero-buttons span{
  font-size:27px;
  line-height:1;
}
.interior-shell #particle-logo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.interior-shell .technology{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  opacity:0;
  pointer-events:none;
  padding:32px;
}
.interior-shell .technology h2{
  text-align:center;
  font-size:clamp(36px,4.3vw,68px);
  line-height:1.4;
}
.interior-shell .technology-tags{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:70px;
  width:min(1080px,100%);
}
.interior-shell .technology-tags a{
  font-size:16px;
  border:1px solid #ffffff22;
  border-radius:40px;
  text-align:center;
  padding:17px 12px;
  background:linear-gradient(100deg,#ffffff08,#ffffff13);
  box-shadow:inset 0 1px 2px #ffffff10;
}
.interior-shell .technology-tags a:hover{
  background:#4cad423d;
}
.interior-shell .solutions{
  height:630px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
}
.interior-shell .solutions h2{
  font-size:clamp(40px,5vw,80px);
  line-height:1.4;
  margin-bottom:50px;
}
.interior-shell .solutions h2 strong{
  display:inline-block;
  color:#61c05b;
  font-weight:500;
}
.interior-shell .solutions canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1;
}
.interior-shell .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  white-space:nowrap;
  border:1px solid #51734b;
  border-radius:40px;
  padding:6px 8px 6px 16px;
  background:linear-gradient(100deg,#43813e,#204327);
  box-shadow:inset 0 0 5px #a2e97d75,0 0 2px #66bb4c;
  line-height:1.4;
  font-size:18px;
  transition:box-shadow .3s,transform .3s;
}
.interior-shell .pill:hover{
  box-shadow:inset 0 0 12px #a2e97d75,0 0 25px #55b74344;
  transform:translateY(-2px);
}
.interior-shell .arrow{
  width:39px;
  height:39px;
  background:#67b64b66;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:23px;
  transition:transform .3s;
}
.interior-shell .pill:hover .arrow{
  transform:rotate(-35deg);
}
.interior-shell .rainbow{
  background:linear-gradient(100deg,#e2cb48,#a577e8,#5787fa,#65a68f);
  border-color:#ffffff30;
}
.interior-shell .rainbow .arrow{
  background:#ffffff25;
}
.interior-shell .section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  margin-bottom:42px;
}
.interior-shell .section-heading h2{
  font-size:42px;
  line-height:1.3;
}
.interior-shell .services{
  padding-top:30px;
  padding-bottom:115px;
}
.interior-shell .services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.interior-shell .service-card{
  padding:25px 24px;
  min-height:246px;
  border:1px solid #ffffff25;
  border-radius:24px;
  background:radial-gradient(ellipse at right top,#45656e70,transparent 75%),linear-gradient(110deg,#1e1b32,#141026);
  box-shadow:inset 0 1px 1px #ffffff30;
  position:relative;
  overflow:hidden;
  transition:transform .4s var(--ease),border-color .4s;
}
.interior-shell .service-card:nth-child(3n){
  background:radial-gradient(ellipse at right top,#41644570,transparent 75%),#171724;
}
.interior-shell .service-card:nth-child(5){
  background:radial-gradient(ellipse at right top,#81894370,transparent 75%),#171724;
}
.interior-shell .service-card>img{
  width:48px;
  height:48px;
  margin-bottom:45px;
}
.interior-shell .service-card h3{
  font-size:21px;
  margin-bottom:14px;
}
.interior-shell .service-card p{
  font-size:16px;
  line-height:1.6;
  color:var(--text-secondary);
}
.interior-shell .service-card:hover{
  transform:translateY(-6px);
  border-color:#79c75c80;
}
.interior-shell .service-arrow{
  position:absolute;
  top:26px;
  right:28px;
  opacity:0;
  transform:translate(-10px,10px);
  transition:.4s;
}
.interior-shell .service-card:hover .service-arrow{
  opacity:1;
  transform:none;
}
.interior-shell .awards{
  display:grid;
  grid-template-columns:32% 1fr;
  gap:4%;
  padding-bottom:65px;
}
.interior-shell .award-art{
  height:390px;
}
.interior-shell .award-art canvas{
  width:100%;
  height:100%;
}
.interior-shell .award-copy{
  min-width:0;
}
.interior-shell .award-copy .section-heading{
  align-items:flex-start;
  margin-bottom:27px;
}
.interior-shell .award-copy h2{
  font-size:58px;
  max-width:690px;
}
.interior-shell .award-copy>p{
  font-size:21px;
  line-height:1.4;
  text-align:justify;
  margin-bottom:40px;
}
.interior-shell .awards-marquee{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.interior-shell .marquee-track,.interior-shell .duplicate{
  display:flex;
  align-items:center;
  flex-shrink:0;
  width:max-content;
}
.interior-shell .awards-marquee img{
  width:126px;
  height:108px;
  object-fit:contain;
  margin-right:26px;
}
.interior-shell .stats{
  display:flex;
  justify-content:space-between;
  padding-bottom:40px;
}
.interior-shell .stats>div{
  position:relative;
  min-width:20%;
}
.interior-shell .stats>div:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:14px;
  width:4px;
  height:59px;
  background:#6d6776;
}
.interior-shell .count{
  font-size:42px;
  font-weight:500;
}
.interior-shell .stats b{
  font-size:28px;
  color:var(--accent);
  margin-left:12px;
}
.interior-shell .stats p{
  font-size:20px;
  margin-top:3px;
}
.interior-shell .clients-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid #ffffff25;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(100deg,#14172e,#170d33,#171523);
}
.interior-shell .client-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:140px;
  border:1px solid #ffffff10;
  transition:background .3s;
}
.interior-shell .client-logo img{
  max-width:170px;
  width:64%;
  max-height:88px;
  object-fit:contain;
}
.interior-shell .client-logo:hover{
  background:#ffffff0b;
}
.interior-shell .clients-mobile{
  display:none;
}
.interior-shell .motto{
  overflow:hidden;
  padding:45px 0 75px;
  white-space:nowrap;
  font-size:clamp(70px,7vw,112px);
  color:#ceccd5;
}
.interior-shell .motto i{
  font-style:normal;
  padding:0 65px;
  font-size:.7em;
}
.interior-shell .projects{
  height:370vh;
}
.interior-shell .projects-sticky{
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  gap:80px;
}
.interior-shell .projects .section-heading{
  margin-bottom:0;
}
.interior-shell .case-track{
  display:flex;
  gap:40px;
  padding:0 32px;
  width:max-content;
  will-change:transform;
}
.interior-shell .case-card{
  width:60vw;
  position:relative;
  padding:20px;
  background:#ffffff07;
  border:1px solid #ffffff20;
  border-radius:13px;
  overflow:hidden;
}
.interior-shell .case-card picture{
  display:block;
  overflow:hidden;
  border-radius:12px;
  position:relative;
}
.interior-shell .case-card picture:after{
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#000c);
}
.interior-shell .case-card img{
  width:100%;
  aspect-ratio:2/1;
  object-fit:cover;
  transition:transform .7s;
}
.interior-shell .case-card:hover img{
  transform:scale(1.035);
}
.interior-shell .case-caption{
  position:absolute;
  bottom:35px;
  left:32px;
  right:32px;
}
.interior-shell .case-caption h3{
  font-size:29px;
  font-weight:500;
  margin-bottom:6px;
}
.interior-shell .case-caption p{
  font-size:20px;
}
.interior-shell .testimonials{
  overflow:hidden;
  padding:90px 0 130px;
  background:linear-gradient(transparent,#0009);
}
.interior-shell .testimonial-track{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  align-items:center;
  padding:55px 32px;
}
.interior-shell .testimonial-track::-webkit-scrollbar{
  display:none;
}
.interior-shell .testimonial{
  position:relative;
  flex:0 0 26%;
  min-width:280px;
  aspect-ratio:.7;
  padding:0;
  overflow:hidden;
  border-radius:12px;
  scroll-snap-align:center;
  text-align:left;
  background:#161616;
  transition:transform .5s;
}
.interior-shell .testimonial:after{
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#000);
}
.interior-shell .testimonial img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.interior-shell .testimonial-caption{
  position:absolute;
  bottom:24px;
  left:22px;
  right:20px;
  z-index:2;
}
.interior-shell .testimonial-caption strong{
  display:block;
  font-size:24px;
  font-weight:500;
}
.interior-shell .testimonial-caption small{
  display:block;
  font-size:16px;
  margin-top:7px;
}
.interior-shell .play{
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  border:1px solid #ffffff66;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#0007;
  display:grid;
  place-items:center;
  font-size:33px;
  opacity:0;
  z-index:2;
  transition:opacity .3s;
}
.interior-shell .testimonial:hover .play,.interior-shell .testimonial:focus-visible .play{
  opacity:1;
}
.interior-shell .testimonial-dots{
  display:flex;
  justify-content:center;
  gap:18px;
  padding-top:25px;
}
.interior-shell .testimonial-dots button{
  padding:0;
  border:2px solid transparent;
  width:48px;
  height:48px;
  border-radius:50%;
  overflow:hidden;
  opacity:.5;
}
.interior-shell .testimonial-dots button.active{
  border-color:#fff;
  opacity:1;
  transform:scale(1.2);
}
.interior-shell .testimonial-dots img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.interior-shell .faq{
  padding-top:70px;
  padding-bottom:25px;
  background:radial-gradient(ellipse at top left,#24432a40,transparent 55%);
}
.interior-shell .slider-arrows{
  display:flex;
  gap:15px;
}
.interior-shell .slider-arrows button{
  border:1px solid #ffffff33;
  border-radius:50%;
  width:46px;
  height:46px;
  font-size:25px;
}
.interior-shell .faq-track{
  display:flex;
  overflow:auto;
  gap:28px;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
}
.interior-shell .faq-card{
  flex:0 0 calc(50% - 14px);
  padding:30px;
  background:#ffffff0b;
  border:1px solid #ffffff25;
  border-radius:20px;
  scroll-snap-align:start;
}
.interior-shell .faq-card h3{
  font-size:26px;
  text-transform:capitalize;
  margin-bottom:23px;
}
.interior-shell .faq-card p{
  font-size:16px;
  line-height:1.6;
  color:#b6b6b6;
}
.interior-shell .seo-copy{
  padding:30px 40px;
  background:#ffffff19;
  border:1px solid #ffffff35;
  border-radius:26px;
  margin:50px 24px 0;
}
.interior-shell .seo-copy h1,.interior-shell .seo-copy h2{
  font-size:22px;
  margin-bottom:15px;
}
.interior-shell .seo-copy p{
  font-size:14px;
  color:#c5c5c5;
  margin-bottom:16px;
}
.interior-shell .seo-copy a{
  text-decoration:underline;
}
.interior-shell #seo-text:not(.expanded)>:nth-child(n/**/+3){
  display:none;
}
.interior-shell #read-more{
  color:#74b36e;
  text-decoration:underline;
  padding:0;
  font-size:14px;
}
.interior-shell footer{
  background:#000;
  padding-top:80px;
  padding-bottom:32px;
}
.interior-shell .footer-main{
  display:flex;
  justify-content:space-between;
  gap:10%;
  position:relative;
}
.interior-shell .footer-about{
  width:52%;
}
.interior-shell .footer-about .logo{
  width:195px;
  height:41px;
  margin-bottom:22px;
}
.interior-shell .footer-about p{
  font-size:14px;
  max-width:520px;
  line-height:1.4;
}
.interior-shell .quick-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:38px;
}
.interior-shell .quick-links a{
  display:block;
  font-size:20px;
  margin-bottom:12px;
}
.interior-shell .quick-links a:hover{
  color:var(--accent);
}
.interior-shell .contacts{
  width:32%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.interior-shell .contact-card{
  background:radial-gradient(at top right,#26546799,transparent 80%);
  text-align:center;
  padding:20px 10px 12px;
  border:1px solid #ffffff30;
  border-radius:13px;
}
.interior-shell .contact-card:nth-child(2){
  background:radial-gradient(at top right,#294a2399,transparent 80%);
}
.interior-shell .contact-card:nth-child(3){
  background:radial-gradient(at top right,#73752399,transparent 80%);
}
.interior-shell .contact-card:nth-child(4){
  background:radial-gradient(at top right,#58325e99,transparent 80%);
}
.interior-shell .contact-card img{
  width:40px;
  height:40px;
  margin:0 auto 14px;
}
.interior-shell .contact-card h3{
  font-size:16px;
  font-weight:500;
  margin-bottom:5px;
}
.interior-shell .contact-card a{
  display:block;
  font-size:14px;
}
.interior-shell .footer-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid #ffffff12;
  padding-top:24px;
  margin-top:30px;
}
.interior-shell .footer-chips a{
  font-size:14px;
  border:1px solid #ffffff20;
  border-radius:30px;
  padding:9px 20px;
  background:#ffffff18;
}
.interior-shell .footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:30px;
}
.interior-shell .footer-bottom p{
  font-size:14px;
}
.interior-shell .socials{
  display:flex;
  gap:12px;
}
.interior-shell .socials a{
  padding:10px;
  background:#ffffff0c;
  border:1px solid #ffffff0b;
  border-radius:50%;
}
.interior-shell .socials img{
  width:18px;
  height:18px;
}
.interior-shell dialog{
  color:#fff;
  background:#080914;
  border:1px solid #ffffff20;
  padding:0;
}
.interior-shell dialog::backdrop{
  background:#000b;
  backdrop-filter:blur(10px);
}
.interior-shell #menu{
  max-width:none;
  max-height:none;
  width:100%;
  height:100dvh;
  margin:0;
  border:0;
  background:radial-gradient(at bottom right,#163825,#080814 65%);
}
.interior-shell .close-dialog{
  position:absolute;
  right:30px;
  top:20px;
  font-size:45px;
  width:55px;
  height:55px;
  z-index:3;
}
.interior-shell .menu-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15%;
  padding:80px 8vw;
  height:100%;
  overflow:auto;
}
.interior-shell .menu-inner nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-content:center;
  gap:28px 40px;
}
.interior-shell .menu-inner nav a{
  font-size:30px;
  transition:color .3s,transform .3s;
}
.interior-shell .menu-inner nav a:hover{
  color:var(--accent);
  transform:translateX(6px);
}
.interior-shell .menu-aside{
  align-self:center;
}
.interior-shell .menu-aside>p{
  font-size:14px;
  letter-spacing:3px;
  color:#94b98d;
  margin-bottom:35px;
}
.interior-shell .menu-aside h2{
  font-size:55px;
  margin-bottom:35px;
}
.interior-shell .menu-contact{
  display:grid;
  margin-top:40px;
  gap:12px;
}
.interior-shell .mobile-dock{
  display:none;
}
.interior-shell #video-dialog{
  width:min(1000px,90vw);
  max-height:90vh;
  border-radius:15px;
  background:#000;
}
.interior-shell #video-dialog video{
  display:block;
  max-height:85vh;
  width:100%;
}
.interior-shell .cursor-glow{
  position:fixed;
  pointer-events:none;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#8cd5ff10;
  box-shadow:0 0 20px #70b5fa70;
  z-index:99;
  opacity:0;
  left:0;
  top:0;
}
.interior-shell .skip-link{
  position:fixed;
  top:-80px;
  left:20px;
  z-index:200;
  background:#fff;
  color:#000;
  padding:12px;
}
.interior-shell .skip-link:focus{
  top:15px;
}
.interior-shell{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.interior-shell .phone:after{
  content:none;
}
.interior-shell .phone{
  display:grid;
  place-items:center;
}
.interior-shell .hero-buttons svg{
  width:23px;
  height:23px;
}
.interior-shell .feature-slide h2{
  padding-right:30px;
}
.interior-shell .hero h1{
  margin-bottom:32px;
}
.interior-shell .eyebrow{
  margin-bottom:16px;
}
.interior-shell #service-menu{
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  max-height:calc(100dvh - 100px);
  overflow:auto;
  background:radial-gradient(at bottom right,#18391c,#070a0e 65%);
  border-top:1px solid #ffffff22;
  padding:30px 7vw 45px;
  box-shadow:0 40px 60px #0008;
}
.interior-shell #service-menu[hidden]{
  display:none;
}
.interior-shell .mega-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:70px;
}
.interior-shell .mega-columns h2{
  font-size:40px;
  color:#63b354;
  margin-bottom:24px;
}
.interior-shell .mega-columns h3{
  font-size:21px;
  margin:20px 0 10px;
}
.interior-shell .mega-columns ul{
  list-style:none;
  padding:0;
  margin:0;
}
.interior-shell .mega-columns li{
  margin:6px 0;
  font-size:15px;
  color:#aeb6ae;
}
.interior-shell .mega-columns a:hover{
  color:#69c254;
}
.interior-shell .close-services{
  position:absolute;
  right:25px;
  top:12px;
  font-size:32px;
}
.interior-shell .hero-buttons button{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#ffffff18;
  border:1px solid #ffffff1c;
  border-radius:18px;
  padding:23px 16px;
  font-size:18px;
  text-align:left;
  transition:background .3s,transform .3s;
}
.interior-shell .hero-buttons button:hover{
  background:#3b653444;
  transform:translateY(-3px);
}
.interior-shell #quote-dialog{
  position:fixed;
  inset:40px auto 40px 0;
  margin:0;
  width:640px;
  max-width:100%;
  height:calc(100dvh - 80px);
  max-height:none;
  border-radius:5px;
  padding:36px 32px;
  background:#030503f5;
  overflow:auto;
}
.interior-shell #quote-dialog h2{
  font-size:30px;
  margin-bottom:28px;
}
.interior-shell #quote-dialog .close-dialog{
  font-size:28px;
  right:22px;
  top:28px;
  width:40px;
  height:40px;
}
.interior-shell #quote-form label{
  display:block;
  font-size:14px;
  margin-bottom:15px;
}
.interior-shell #quote-form input:not([type=checkbox]),.interior-shell #quote-form textarea{
  display:block;
  width:100%;
  margin-top:5px;
  background:#ffffff0e;
  border:1px solid #ffffff05;
  border-radius:5px;
  padding:12px;
  color:white;
  font:inherit;
  outline-offset:2px;
}
.interior-shell #quote-form input:focus,.interior-shell #quote-form textarea:focus{
  outline:1px solid #58b345;
}
.interior-shell .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.interior-shell #quote-form .terms{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  margin:22px 0;
}
.interior-shell #quote-form .terms input{
  width:22px;
  height:22px;
  flex-shrink:0;
  accent-color:#58b345;
}
.interior-shell #quote-form .terms a{
  text-decoration:underline;
}
.interior-shell .quote-actions{
  display:flex;
  gap:20px;
  align-items:center;
}
.interior-shell .quote-actions .pill{
  font-size:14px;
  gap:22px;
}
.interior-shell .quote-actions .brochure{
  background:#292b31;
  border-color:#292b31;
  box-shadow:none;
}
.interior-shell .quote-actions .brochure .arrow{
  background:#ffffff44;
}
.interior-shell #quote-status{
  font-size:12px;
  color:#aaa;
  margin-top:16px;
}
.interior-shell #menu{
  background:radial-gradient(ellipse at 18% 35%,#19382085,transparent 34%),radial-gradient(ellipse at 80% 80%,#15351d60,transparent 30%),#050a0e;
  overflow:auto;
}
.interior-shell .menu-header{
  height:100px;
  padding:24px 28px;
  border-bottom:1px solid #ffffff15;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.interior-shell .menu-header .logo{
  width:195px;
}
.interior-shell .menu-header .close-dialog{
  position:static;
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  gap:25px;
  background:#20252c;
  border-radius:30px;
  font:14px Arial,sans-serif;
  padding:10px 17px;
}
.interior-shell .menu-header .close-dialog span{
  font-size:21px;
}
.interior-shell .menu-inner{
  height:auto;
  min-height:510px;
  padding:40px 9%;
  grid-template-columns:40% 1fr;
  gap:6%;
}
.interior-shell .menu-inner nav{
  display:flex;
  flex-direction:column;
  align-content:initial;
  gap:8px;
}
.interior-shell .menu-inner nav a{
  font-size:48px;
  line-height:1.3;
  color:#969e96;
  position:relative;
  padding-left:25px;
}
.interior-shell .menu-inner nav a.selected{
  color:white;
}
.interior-shell .menu-inner nav a.selected:before{
  content:"•";
  position:absolute;
  left:0;
  color:#58b857;
}
.interior-shell .menu-panel{
  display:none;
}
.interior-shell .menu-panel.active{
  display:block;
  animation:dialog-in .4s var(--ease);
}
.interior-shell .menu-panel h2{
  font-size:60px;
  margin-bottom:15px;
}
.interior-shell .menu-panel>p{
  max-width:500px;
  font-size:16px;
  line-height:1.4;
  color:#a9aaa9;
  margin-bottom:20px;
}
.interior-shell .menu-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px 80px;
  margin:18px 0;
}
.interior-shell .menu-stats strong{
  font-size:60px;
  font-weight:400;
  line-height:1.2;
}
.interior-shell .menu-stats b{
  color:#53b645;
  font-weight:400;
}
.interior-shell .menu-stats p{
  font-size:20px;
}
.interior-shell .menu-panel .pill{
  margin-top:4px;
}
.interior-shell .menu-footer{
  padding:15px 6% 0;
}
.interior-shell .menu-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px 25px;
  max-width:520px;
  margin-bottom:25px;
}
.interior-shell .menu-socials a{
  font-size:18px;
}
.interior-shell .menu-footer>nav{
  display:flex;
  justify-content:center;
  gap:65px;
  border-top:1px solid #ffffff30;
  padding:18px;
}
.interior-shell .menu-logos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:30px;
}
.interior-shell .menu-logos img{
  width:120px;
  height:80px;
  object-fit:contain;
}
.interior-shell .menu-portraits{
  display:flex;
  gap:12px;
  margin:25px 0;
}
.interior-shell .menu-portraits img{
  width:30%;
  height:260px;
  object-fit:cover;
  border-radius:10px;
}
.interior-shell .footer-map{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:.55;
}
.interior-shell .footer-map>img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  mask-image:linear-gradient(transparent,#000 20%,#000 85%,transparent);
}
.interior-shell .footer-map>svg{
  position:absolute;
  width:100%;
  height:100%;
  fill:#548eb1;
  stroke:#548eb1;
  stroke-width:1.3;
}
.interior-shell .footer-map path{
  fill:none;
  stroke-dasharray:1100;
  animation:map-route 7s ease-in-out infinite;
}
.interior-shell .footer-chips,.interior-shell .footer-bottom{
  position:relative;
}
@keyframes map-route {
  0% {
    stroke-dashoffset:1100;
    opacity:.1;
  }
  60%,100% {
    stroke-dashoffset:0;
    opacity:.8;
  }
}
.interior-shell .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.interior-shell .hero h1{
  min-height: 1.18em;
}
.interior-shell #digital-word{
  display: inline-block;
  min-height: 1.18em;
}
.interior-shell .testimonial-track,.interior-shell .faq-track{
  overscroll-behavior-x: contain;
}
.interior-shell .testimonial-track{
  position: relative;
  gap: 8px;
  padding-inline: calc((100% - clamp(280px, 28vw, 420px)) / 2);
}
.interior-shell .testimonial{
  flex: 0 0 clamp(280px, 28vw, 420px);
  aspect-ratio: 2 / 3;
  transform: scale(.74);
  transition: transform .55s var(--ease);
}
.interior-shell .testimonial.is-neighbor{ transform: scale(.86); }
.interior-shell .testimonial.is-active{ transform: scale(1); }
.interior-shell .testimonial .play{
  top: 20px;
  left: 20px;
  transform: none;
  opacity: 1;
  background: #ffffff18;
  border: 3px solid #ffffff88;
  width: 56px;
  height: 56px;
}
@media  (max-width: 600px) {.interior-shell .testimonial-track{ padding-inline: calc((100% - 78vw) / 2); }
.interior-shell .testimonial{ flex-basis: 78vw; min-width: 0; }}
.interior-shell #preloader{
  position:fixed;
  inset:0;
  z-index:150;
  background:#030504;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  transition:opacity .7s,visibility .7s;
}
.interior-shell #preloader .logo{
  width:220px;
  margin-bottom:24px;
}
.interior-shell #preloader>p{
  font-size:14px;
  color:#a5a8a5;
  letter-spacing:1px;
}
.interior-shell .loading-track{
  width:320px;
  max-width:75vw;
  height:2px;
  background:#253024;
  margin-top:35px;
}
.interior-shell .loading-track i{
  display:block;
  height:100%;
  background:#60b947;
  width:0;
  box-shadow:0 0 12px #78dc52;
  transition:width .1s linear;
}
.interior-shell .loading-label{
  display:flex;
  justify-content:space-between;
  width:320px;
  max-width:75vw;
  margin-top:15px;
  font-size:11px;
  color:#86a381;
}
.interior-shell #preloader .loading-motto{
  font-size:12px;
  letter-spacing:4px;
  margin-top:70px;
}
.interior-shell #preloader.loaded{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.interior-shell .js .reveal{
  opacity:0;
  transform:translateY(45px);
  transition:opacity 1s var(--ease),transform 1s var(--ease);
}
.interior-shell .js .reveal.visible{
  opacity:1;
  transform:none;
}
.interior-shell .services-grid .reveal:nth-child(3n/**/+2){
  transition-delay:.1s;
}
.interior-shell .services-grid .reveal:nth-child(3n/**/+3){
  transition-delay:.2s;
}
.interior-shell .marquee-track{
  animation:marquee 40s linear infinite;
}
.interior-shell .awards-marquee .marquee-track{
  animation-duration:25s;
}
.interior-shell .motto .marquee-track{
  animation-duration:50s;
}
.interior-shell .motto .marquee-track{
  width:max-content;
}
.interior-shell .motto:hover .marquee-track,.interior-shell .awards-marquee:hover .marquee-track,.interior-shell .clients-mobile:hover .marquee-track{
  animation-play-state:paused;
}
@keyframes marquee {
  to {
    transform:translateX(-50%);
  }
}
.interior-shell body.ready .hero-copy{
  animation:hero-reveal 1.2s var(--ease) backwards;
}
@keyframes hero-reveal {
  from {
    opacity:0;
    translate:0 30px;
  }
  to {
    opacity:1;
    translate:0 0;
  }
}
.interior-shell dialog[open]{
  animation:dialog-in .5s var(--ease);
}
@keyframes dialog-in {
  from {
    opacity:0;
    transform:translateY(25px);
  }
  to {
    opacity:1;
    transform:none;
  }
}
@media (prefers-reduced-motion:reduce) {.interior-shell{
    scroll-behavior:auto;
  }
.interior-shell *,.interior-shell *:before,.interior-shell *:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
.interior-shell .js .reveal{
    opacity:1;
    transform:none;
  }
.interior-shell .cursor-glow{
    display:none;
  }}
.interior-shell .loading-track i{
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease-out;
}
.interior-shell #preloader{
  transition: opacity .3s ease-out, visibility .3s ease-out;
}
.interior-shell .hero-copy,.interior-shell .technology{
  will-change: transform, opacity;
}
.interior-shell{
  scrollbar-gutter: stable;
}
@media  (prefers-reduced-motion: reduce) {.interior-shell .hero-copy,.interior-shell .technology,.interior-shell .case-track{
    will-change: auto;
  }}
.interior-shell .motion-offscreen{ animation-play-state: paused !important; }
.interior-shell body.ready .hero-copy{ animation: none; }
.interior-shell body.ready .hero-copy > .eyebrow,.interior-shell body.ready .hero-copy > h1,.interior-shell body.ready .feature-carousel,.interior-shell body.ready .hero-buttons > *{
  animation: hero-reveal .85s var(--ease) backwards;
}
.interior-shell body.ready .hero-copy > h1{ animation-delay: .08s; }
.interior-shell body.ready .feature-carousel{ animation-delay: .18s; }
.interior-shell body.ready .hero-buttons > :first-child{ animation-delay: .28s; }
.interior-shell body.ready .hero-buttons > :last-child{ animation-delay: .36s; }
.interior-shell .word-mask{ display: inline-block; overflow: hidden; vertical-align: bottom; }
.interior-shell .motion-word{ display: inline-block; }
.interior-shell .js .reveal{ transition-delay: var(--reveal-delay, 0ms); }
.interior-shell .service-card.visible:hover{ transform: translateY(-6px); transition-delay: 0ms; }
.interior-shell .service-card > img{ transition: transform .5s var(--ease); }
.interior-shell .service-card:hover > img{ transform: translateY(-4px) rotate(-7deg); }
.interior-shell .hero-buttons > * > span{ transition: transform .35s var(--ease); }
.interior-shell .hero-buttons > *:hover > span{ transform: translateX(4px); }
.interior-shell .feature-slide > img{ transition: transform .7s var(--ease); }
.interior-shell .feature-slide:hover > img{ transform: scale(1.035); }
.interior-shell .contact-card{ transition: opacity .8s var(--ease), transform .8s var(--ease), border-color .3s; }
.interior-shell .contact-card.visible:hover{ transform: translateY(-5px); border-color: #79c75c80; transition-delay: 0ms; }
.interior-shell #menu[open] .menu-inner > nav > *{ animation: hero-reveal .6s var(--ease) backwards; }
.interior-shell #menu[open] .menu-inner > nav > :nth-child(2){ animation-delay: .06s; }
.interior-shell #menu[open] .menu-inner > nav > :nth-child(3){ animation-delay: .12s; }
.interior-shell #menu[open] .menu-inner > nav > :nth-child(4){ animation-delay: .18s; }
.interior-shell .footer-map path{ animation: none; }
.interior-shell .js .footer-map path{ stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.interior-shell .footer-map.motion-active path{ animation: route-draw 2.4s var(--ease) forwards; }
.interior-shell .footer-map circle{ transform-box: fill-box; transform-origin: center; }
.interior-shell .footer-map.motion-active circle{ animation: destination-pulse 2.6s ease-in-out infinite; }
.interior-shell .footer-map.motion-active circle:nth-of-type(2){ animation-delay: .5s; }
.interior-shell .footer-map.motion-active circle:nth-of-type(3){ animation-delay: 1s; }
@keyframes route-draw { to { stroke-dashoffset: 0; } }
@keyframes destination-pulse { 0%,100% { opacity:.45; transform:scale(1); } 50% { opacity:1; transform:scale(1.9); } }
.interior-shell .motion-sleep *,.interior-shell .motion-sleep *::before,.interior-shell .motion-sleep *::after{ animation-play-state: paused !important; }
@media  (prefers-reduced-motion: reduce) {.interior-shell .motion-word,.interior-shell .technology-tags a{ transform: none !important; opacity: 1 !important; }
.interior-shell .js .footer-map path{ stroke-dashoffset: 0; }
.interior-shell .footer-map circle{ animation: none !important; }
.interior-shell .hero-copy *,.interior-shell .service-card > img{ animation: none !important; }}
@media  (prefers-reduced-motion: no-preference) {.interior-shell #starfield{ animation: star-breathe 9s ease-in-out infinite alternate; }}
@keyframes star-breathe { from { opacity: .72; } to { opacity: 1; } }
@media (min-width:1600px) {.interior-shell .hero{
    max-width:1600px;
    margin:auto;
  }
.interior-shell .hero h1{
    font-size:78px;
  }}
@media (max-width:1250px) {.interior-shell #header{
    gap:25px;
  }
.interior-shell #header nav{
    gap:22px;
  }
.interior-shell #header nav a{
    font-size:16px;
  }
.interior-shell #header .logo{
    width:170px;
  }
.interior-shell .hero-actions{
    max-width:55%;
  }
.interior-shell .hero h1{
    font-size:5.2vw;
  }
.interior-shell .award-copy h2{
    font-size:45px;
  }
.interior-shell .award-copy .section-heading{
    flex-wrap:wrap;
    gap:20px;
  }
.interior-shell .contacts{
    width:40%;
  }
.interior-shell .section-heading h2{
    font-size:36px;
  }
.interior-shell .services-grid{
    gap:22px;
  }
.interior-shell .service-card{
    padding:24px 20px;
  }}
@media (max-width:1024px) {.interior-shell #header nav{
    display:none;
  }
.interior-shell .phone{
    margin-left:auto;
  }
.interior-shell .menu-toggle{
    margin-left:0;
  }
.interior-shell .hero-actions{
    max-width:60%;
  }
.interior-shell .hero h1{
    font-size:6vw;
  }
.interior-shell .technology h2{
    font-size:48px;
  }
.interior-shell .award-copy h2{
    font-size:38px;
  }
.interior-shell .award-copy>p{
    font-size:18px;
  }
.interior-shell .services-grid{
    gap:18px;
  }
.interior-shell .service-card{
    min-height:250px;
  }
.interior-shell .case-card{
    width:75vw;
  }
.interior-shell .stats p{
    font-size:16px;
  }
.interior-shell .stats>div:not(:last-child):after{
    right:15px;
  }
.interior-shell .testimonial{
    flex-basis:36%;
  }
.interior-shell .footer-about{
    width:50%;
  }
.interior-shell .footer-main{
    gap:5%;
  }
.interior-shell .contacts{
    width:45%;
  }}
@media (max-width:768px) {.interior-shell{
    --gutter:20px;
  }
.interior-shell .hero-journey{
    height:300vh;
  }
.interior-shell .hero h1{
    font-size:6.2vw;
    letter-spacing:-1px;
  }
.interior-shell .hero-actions{
    max-width:62%;
  }
.interior-shell .hero{
    padding-top:60px;
  }
.interior-shell .feature-carousel{
    height:175px;
  }
.interior-shell .feature-slide>div{
    padding:14px;
  }
.interior-shell .feature-slide h2{
    font-size:16px;
  }
.interior-shell .feature-slide p{
    font-size:12px;
  }
.interior-shell .hero-buttons a{
    font-size:14px;
    padding:19px 13px;
  }
.interior-shell .eyebrow{
    font-size:12px;
    letter-spacing:2px;
  }
.interior-shell .technology h2{
    font-size:38px;
  }
.interior-shell .technology-tags{
    grid-template-columns:repeat(2,1fr);
    margin-top:40px;
  }
.interior-shell .solutions{
    height:490px;
  }
.interior-shell .solutions h2{
    font-size:42px;
  }
.interior-shell .section-heading h2{
    font-size:30px;
  }
.interior-shell .section-heading{
    gap:25px;
  }
.interior-shell .pill{
    font-size:14px;
    gap:15px;
  }
.interior-shell .arrow{
    width:32px;
    height:32px;
    font-size:20px;
  }
.interior-shell .services-grid{
    grid-template-columns:repeat(2,1fr);
  }
.interior-shell .services{
    padding-bottom:75px;
  }
.interior-shell .awards{
    grid-template-columns:25% 1fr;
    gap:5%;
  }
.interior-shell .award-copy h2{
    font-size:34px;
  }
.interior-shell .award-art{
    height:300px;
  }
.interior-shell .stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    padding-bottom:65px;
  }
.interior-shell .stats>div:not(:last-child):after{
    display:none;
  }
.interior-shell .count{
    font-size:38px;
  }
.interior-shell .clients-grid{
    grid-template-columns:repeat(3,1fr);
  }
.interior-shell .client-logo{
    height:110px;
  }
.interior-shell .motto{
    padding:45px 0;
    font-size:80px;
  }
.interior-shell .motto i{
    padding:0 30px;
  }
.interior-shell .projects-sticky{
    gap:50px;
  }
.interior-shell .case-card{
    width:85vw;
  }
.interior-shell .case-caption h3{
    font-size:23px;
  }
.interior-shell .case-caption p{
    font-size:16px;
  }
.interior-shell .testimonial{
    flex-basis:45%;
  }
.interior-shell .faq-card{
    flex-basis:85%;
  }
.interior-shell .footer-main{
    flex-direction:column;
    gap:40px;
  }
.interior-shell .footer-about,.interior-shell .contacts{
    width:100%;
  }
.interior-shell .footer-about p{
    max-width:none;
  }
.interior-shell .contact-card{
    padding:20px;
  }
.interior-shell .footer-bottom{
    gap:25px;
    align-items:flex-start;
  }
.interior-shell .footer-bottom p{
    max-width:65%;
  }
.interior-shell .menu-inner{
    gap:6%;
    padding:80px 30px;
  }
.interior-shell .menu-inner nav{
    grid-template-columns:1fr;
    gap:15px;
  }
.interior-shell .menu-inner nav a{
    font-size:25px;
  }
.interior-shell .menu-aside h2{
    font-size:36px;
  }}
@media (max-width:600px) {.interior-shell{
    --gutter:16px;
  }
.interior-shell{
    background:#000;
    font-size:16px;
  }
.interior-shell #header{
    height:85px;
    padding:22px 16px;
    gap:20px;
  }
.interior-shell #header .logo{
    width:140px;
    height:auto;
  }
.interior-shell .menu-toggle{
    padding:12px 15px;
  }
.interior-shell .menu-toggle>span{
    display:none;
  }
.interior-shell .phone{
    width:25px;
  }
.interior-shell #header.scrolled{
    height:75px;
  }
.interior-shell .hero-journey{
    height:auto;
  }
.interior-shell .hero-sticky{
    height:auto;
    position:relative;
    overflow:hidden;
  }
.interior-shell .hero{
    height:780px;
    min-height:100svh;
    align-items:flex-end;
    padding:0 16px 100px;
  }
.interior-shell .hero-copy{
    padding-top:260px;
  }
.interior-shell .eyebrow{
    font-size:10px;
    letter-spacing:1.7px;
    margin-bottom:12px;
  }
.interior-shell .hero h1{
    font-size:35px;
    line-height:1.2;
    white-space:normal;
    min-height:84px;
    margin-bottom:23px;
  }
.interior-shell .hero h1 span{
    display:block;
  }
.interior-shell .hero-actions{
    width:100%;
    max-width:100%;
  }
.interior-shell .feature-carousel{
    height:150px;
  }
.interior-shell .feature-slide{
    grid-template-columns:43% 57%;
    border-radius:17px;
  }
.interior-shell .feature-slide>div{
    padding:14px;
  }
.interior-shell .feature-slide h2{
    font-size:17px;
  }
.interior-shell .feature-slide p{
    font-size:12px;
    line-height:1.5;
  }
.interior-shell .hero-buttons{
    gap:12px;
    margin-top:12px;
  }
.interior-shell .hero-buttons a{
    font-size:14px;
    padding:19px 12px;
    border-radius:17px;
  }
.interior-shell #particle-logo{
    height:780px;
  }
.interior-shell .technology{
    display:none;
  }
.interior-shell .solutions{
    height:420px;
    padding:30px 16px;
  }
.interior-shell .solutions h2{
    font-size:33px;
    line-height:1.4;
    margin-bottom:35px;
  }
.interior-shell .solutions h2 strong{
    font-size:35px;
    margin-top:10px;
  }
.interior-shell .section-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:25px;
    margin-bottom:28px;
  }
.interior-shell .section-heading h2{
    font-size:30px;
  }
.interior-shell .services>.section-heading{
    display:none;
  }
.interior-shell .services{
    padding-top:0;
    padding-bottom:55px;
  }
.interior-shell .services-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
.interior-shell .service-card{
    padding:18px 14px;
    min-height:205px;
    border-radius:17px;
  }
.interior-shell .service-card>img{
    width:35px;
    height:35px;
    margin-bottom:27px;
  }
.interior-shell .service-card h3{
    font-size:17px;
    margin-bottom:10px;
  }
.interior-shell .service-card p{
    font-size:12px;
    line-height:1.5;
  }
.interior-shell .awards{
    display:block;
    padding-bottom:35px;
  }
.interior-shell .award-art{
    display:none;
  }
.interior-shell .award-copy h2{
    font-size:35px;
  }
.interior-shell .award-copy>p{
    font-size:16px;
    text-align:left;
  }
.interior-shell .awards-marquee{
    display:none;
  }
.interior-shell .stats{
    gap:22px;
    padding-bottom:40px;
  }
.interior-shell .stats p{
    font-size:14px;
  }
.interior-shell .count{
    font-size:34px;
  }
.interior-shell .stats b{
    font-size:22px;
  }
.interior-shell .clients>.section-heading h2{
    display:none;
  }
.interior-shell .clients>.section-heading{
    margin-bottom:22px;
  }
.interior-shell .clients-grid{
    display:none;
  }
.interior-shell .clients-mobile{
    display:block;
    overflow:hidden;
    border:1px solid #ffffff20;
    border-radius:15px;
  }
.interior-shell .clients-mobile .client-logo{
    width:150px;
    height:100px;
    background:#161121;
  }
.interior-shell .client-logo img{
    width:100px;
  }
.interior-shell .clients-mobile .marquee-track{
    animation-duration:45s;
  }
.interior-shell .motto{
    font-size:60px;
    padding:30px 0;
  }
.interior-shell .motto i{
    padding:0 20px;
  }
.interior-shell .projects{
    height:auto;
  }
.interior-shell .projects-sticky{
    position:static;
    height:auto;
    gap:25px;
    padding:25px 0;
  }
.interior-shell .projects .section-heading{
    gap:20px;
  }
.interior-shell .case-track{
    transform:none!important;
    width:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:15px;
    padding:0 16px;
    scrollbar-width:none;
  }
.interior-shell .case-card{
    flex:0 0 90%;
    width:90%;
    padding:9px;
    scroll-snap-align:center;
  }
.interior-shell .case-card img{
    aspect-ratio:343/452;
  }
.interior-shell .case-caption{
    left:22px;
    right:22px;
    bottom:25px;
  }
.interior-shell .case-caption h3{
    font-size:24px;
  }
.interior-shell .case-caption p{
    font-size:15px;
  }
.interior-shell .testimonials{
    padding:60px 0;
  }
.interior-shell .testimonials h2{
    font-size:30px;
  }
.interior-shell .testimonial-track{
    padding:20px 16px;
    gap:16px;
  }
.interior-shell .testimonial{
    flex-basis:83%;
    min-width:0;
  }
.interior-shell .play{
    opacity:1;
  }
.interior-shell .testimonial-caption strong{
    font-size:23px;
  }
.interior-shell .testimonial-dots{
    gap:10px;
    padding-top:10px;
  }
.interior-shell .testimonial-dots button{
    width:36px;
    height:36px;
  }
.interior-shell .faq{
    padding-top:30px;
  }
.interior-shell .faq .section-heading{
    flex-direction:row;
  }
.interior-shell .faq-card{
    flex-basis:100%;
    padding:24px;
  }
.interior-shell .faq-card h3{
    font-size:24px;
  }
.interior-shell .faq-card p{
    font-size:15px;
  }
.interior-shell .seo-copy{
    margin:30px 0 0;
    padding:24px;
    border-radius:20px;
  }
.interior-shell .seo-copy h1,.interior-shell .seo-copy h2{
    font-size:20px;
  }
.interior-shell footer{
    padding-top:50px;
    padding-bottom:110px;
  }
.interior-shell .footer-main{
    gap:35px;
  }
.interior-shell .quick-links{
    gap:20px;
  }
.interior-shell .quick-links a{
    font-size:17px;
  }
.interior-shell .contacts{
    gap:12px;
  }
.interior-shell .contact-card{
    padding:20px 8px;
  }
.interior-shell .contact-card a{
    font-size:12px;
  }
.interior-shell .footer-chips a{
    font-size:12px;
    padding:8px 12px;
  }
.interior-shell .footer-bottom{
    flex-direction:column;
  }
.interior-shell .footer-bottom p{
    max-width:none;
    font-size:12px;
  }
.interior-shell .mobile-dock{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index:40;
    justify-content:space-around;
    align-items:center;
    background:#183e13e6;
    border-radius:35px 35px 0 0;
    padding:10px 10px max(10px,env(safe-area-inset-bottom));
    backdrop-filter:blur(15px);
    gap:4px;
  }
.interior-shell .mobile-dock a{
    font-size:12px;
    border:1px solid #ffffff30;
    padding:10px 13px;
    border-radius:30px;
    white-space:nowrap;
  }
.interior-shell .mobile-dock a:first-child{
    background:#58b938;
    font-size:23px;
    width:44px;
    height:44px;
    padding:0;
    display:grid;
    place-items:center;
  }
.interior-shell .menu-inner{
    display:block;
    padding:85px 28px 50px;
  }
.interior-shell .menu-inner nav{
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
.interior-shell .menu-inner nav a{
    font-size:21px;
  }
.interior-shell .menu-aside{
    margin-top:45px;
  }
.interior-shell .menu-aside h2{
    font-size:35px;
  }
.interior-shell .menu-aside>p{
    margin-bottom:15px;
  }
.interior-shell .cursor-glow{
    display:none;
  }}
@media (max-width:1024px) {.interior-shell .menu-inner nav a{
    font-size:38px;
  }
.interior-shell .menu-panel h2,.interior-shell .menu-stats strong{
    font-size:46px;
  }
.interior-shell .menu-stats{
    gap:20px;
  }
.interior-shell .menu-stats p{
    font-size:16px;
  }
.interior-shell .menu-header .logo{
    width:170px;
  }}
@media (max-width:600px) {.interior-shell .menu-header{
    height:85px;
    padding:20px 16px;
  }
.interior-shell .menu-header .logo{
    width:140px;
  }
.interior-shell .menu-inner{
    padding:30px 20px;
    min-height:0;
  }
.interior-shell .menu-inner nav{
    gap:10px;
    display:flex;
  }
.interior-shell .menu-inner nav a{
    font-size:36px;
  }
.interior-shell .menu-panels{
    display:none;
  }
.interior-shell .menu-footer{
    padding:35px 20px;
  }
.interior-shell .menu-socials{
    gap:12px 18px;
  }
.interior-shell .menu-socials a{
    font-size:14px;
  }
.interior-shell .menu-footer>nav{
    gap:24px;
    padding:20px 0;
    flex-wrap:wrap;
    font-size:15px;
  }
.interior-shell .footer-map{
    opacity:.2;
  }
.interior-shell .hero-buttons a{
    font-size:13px;
  }
.interior-shell .hero-buttons a:first-child{
    white-space:nowrap;
  }
.interior-shell .service-card{
    min-height:205px;
  }}
@media (max-width:768px) {.interior-shell .hero-buttons button{
    font-size:14px;
    padding:19px 13px;
  }
.interior-shell .mega-columns{
    gap:25px;
  }
.interior-shell .mega-columns h2{
    font-size:30px;
  }}
@media (max-width:600px) {.interior-shell .hero-buttons button{
    font-size:13px;
    padding:19px 12px;
    border-radius:17px;
    white-space:nowrap;
  }
.interior-shell #quote-dialog{
    inset:0;
    width:100%;
    height:100dvh;
    padding:70px 20px 30px;
  }
.interior-shell #quote-dialog h2{
    font-size:28px;
  }
.interior-shell .quote-actions{
    flex-wrap:wrap;
  }
.interior-shell .quote-actions .pill{
    flex:1;
    font-size:13px;
  }
.interior-shell .form-row{
    grid-template-columns:1fr;
  }
.interior-shell .mega-columns{
    grid-template-columns:1fr;
  }}
@media  (max-width: 600px) {.interior-shell .hero h1{
    min-height: 2.4em;
  }
.interior-shell .hero h1 #digital-word{
    display: block;
  }}
@media  (min-width: 1025px) {.interior-shell .hero{ align-items: flex-start; padding-top: 30vh; }
.interior-shell .eyebrow{ font-size: 1.2vw; line-height: 1; margin-bottom: 24px; }
.interior-shell .hero h1{ font-size: 5vw; line-height: 1; min-height: 1em; margin-bottom: 24px; }
.interior-shell .hero h1 #digital-word{ min-height: 1em; }
.interior-shell .hero-actions{ width: 40vw; max-width: none; }
.interior-shell .feature-carousel{ height: 24vh; }
.interior-shell .feature-slide h2{ font-size: 1.4vw; line-height: 1.25; max-width: 90%; }
.interior-shell .feature-slide p{ font-size: 1vw; line-height: 1.6; }
.interior-shell .hero-buttons > a,.interior-shell .hero-buttons > button{ height: 10vh; }
.interior-shell .solutions{ height: 60vh; }
.interior-shell #header nav{ gap: 40px; }
.interior-shell #header{ gap: 48px; }}
.interior-shell .testimonial-track{
  --testimonial-width: clamp(280px, 28vw, 420px);
  padding-inline: calc((100% - var(--testimonial-width)) / 2);
}
.interior-shell .testimonial{ flex-basis: var(--testimonial-width); }
@media  (max-width: 1024px) {.interior-shell .testimonial-track{ --testimonial-width: 45vw; }}
@media  (max-width: 600px) {.interior-shell .testimonial-track{ --testimonial-width: 78vw; }}
@media  (min-width: 1025px) {.interior-shell .projects-sticky{ justify-content: space-between; padding-block: 50px 65px; }
.interior-shell .projects .section-heading{ margin: 0; }
.interior-shell .solutions{ align-items: flex-start; padding-top: 10vh; }
.interior-shell .solutions h2{ margin-bottom: 36px; }}
@media  (max-width: 600px) {.interior-shell .technology{
    display: flex;
    position: relative;
    padding: 40px 16px 65px;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
.interior-shell .technology h2{ font-size: 29px; line-height: 1.4; }
.interior-shell .technology-tags{ grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; gap: 10px; }
.interior-shell .technology-tags a{ font-size: 12px; padding: 12px 5px; opacity: 1 !important; transform: none !important; }
.interior-shell .technology .motion-word{ opacity: 0; transform: translateY(105%); transition: transform .75s var(--ease), opacity .75s; transition-delay: var(--word-delay, 0ms); }
.interior-shell .technology.words-visible .motion-word{ opacity: 1 !important; transform: none !important; }}
.interior-shell{ background: #03030b; }
.interior-shell body::before{ content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background: linear-gradient(110deg,#070c1b,#09011b 48%,#020608); }
.interior-shell .feature-slide{ grid-template-columns: calc(50% - 8px) 1fr; column-gap: 16px; }
.interior-shell .feature-slide > div{ padding-left: 12px; }
.interior-shell .feature-slide h2{ max-width: 100%; padding-right: 24px; }
.interior-shell .feature-slide h2 span{ right: 0; }
.interior-shell .section-heading{ align-items: flex-end; }
.interior-shell .service-card{ min-height: 0; height: 220px; padding: 24px; display: flex; flex-direction: column; --card-tint: 40,188,74; background: linear-gradient(135deg,#ffffff1a,#ffffff0a),radial-gradient(circle at top right,rgba(var(--card-tint),.25),transparent 60%); }
.interior-shell .service-card:nth-child(2){ --card-tint: 45,163,204; }
.interior-shell .service-card:nth-child(3){ --card-tint: 47,174,67; }
.interior-shell .service-card:nth-child(4){ --card-tint: 148,70,180; }
.interior-shell .service-card:nth-child(5){ --card-tint: 196,183,38; }
.interior-shell .service-card:nth-child(6){ --card-tint: 32,154,116; }
.interior-shell .service-card > img{ width: 40px; height: 40px; margin: 8px 0 24px 8px; }
.interior-shell .service-card h3{ font-size: 20px; line-height: 27.5px; margin-bottom: 12px; }
.interior-shell .service-card p{ color: #ffffff99; line-height: 26px; }
.interior-shell .services .section-heading{ margin-bottom: 48px; }
.interior-shell .services{ padding-bottom: 157px; }
.interior-shell .awards{ grid-template-columns: 432fr 880fr; gap: 64px; padding-bottom: 40px; }
.interior-shell .award-copy .section-heading{ gap: 16px; margin-bottom: 20px; }
.interior-shell .award-copy h2{ font-size: 4vw; line-height: 1.2; }
.interior-shell .award-copy > p{ font-size: 1.4vw; line-height: 1.4; margin-bottom: 36px; }
.interior-shell .awards-marquee img{ width: 135px; height: 135px; margin-right: 24px; }
.interior-shell .stats{ padding-bottom: 32px; }
.interior-shell .client-logo img{ max-width: 150px; max-height: 80px; width: auto; }
.interior-shell .clients .section-heading{ margin-bottom: 40px; }
.interior-shell .motto{ padding: 48px 0; font-size: 7vw; line-height: 1; }
.interior-shell .testimonials .section-heading{ justify-content: flex-start; margin-bottom: 32px; }
.interior-shell .testimonials{ padding-top: 90px; padding-bottom: 160px; }
.interior-shell .testimonial-track{ padding-block: 16px 48px; }
.interior-shell .testimonial-caption strong{ font-weight: 500; }
.interior-shell .testimonial-dots{ padding-top: 22px; }
.interior-shell .faq{ padding: 64px 56px 24px; background: radial-gradient(ellipse at left,#204a2b55,transparent 60%); }
.interior-shell .faq .section-heading{ margin-bottom: 36px; align-items: center; }
.interior-shell .faq .section-heading h2{ font-size: 48px; line-height: 1; }
.interior-shell .faq-track{ gap: 0; }
.interior-shell .faq-card{ flex: 0 0 100%; padding: 0; background: none; border: 0; border-radius: 0; }
.interior-shell .faq-card h3{ font-size: 20px; font-weight: 500; line-height: 24px; margin-bottom: 12px; }
.interior-shell .faq-card p{ font-size: 14px; line-height: 20px; color: #fff; }
.interior-shell .slider-arrows{ gap: 14px; }
.interior-shell .slider-arrows button{ width: 64px; height: 48px; background: #fff; border: 0; color: #080808; }
.interior-shell .slider-arrows button:disabled{ opacity: .5; }
.interior-shell .seo-copy{ margin: 42px 0 0; padding: 30px 40px 24px; }
.interior-shell .seo-copy h2{ font-size: 20px; line-height: 30px; font-weight: 600; margin-bottom: 12px; }
.interior-shell .seo-copy p{ font-size: 14px; line-height: 19.6px; margin-bottom: 16px; }
.interior-shell .contacts{ width: 452px; flex-shrink: 0; }
.interior-shell .contact-card{ min-height: 152px; }
.interior-shell .contact-card h3{ font-size: 16px; }
.interior-shell .contact-card a{ font-size: 14px; line-height: 20px; }
.interior-shell .footer-about{ width: 520px; }
.interior-shell .quick-links{ width: 700px; }
.interior-shell .case-progress{ display: none; }
@media (min-width:1025px) {.interior-shell #header nav{ gap: 40px; margin-left: 148px; }
.interior-shell #header{ gap: 48px; }
.interior-shell #header .menu-toggle{ margin-left: auto; }
.interior-shell .technology h2{ font-size: 4.5vw; line-height: 1.45; }
.interior-shell .technology-tags{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 85px; }
.interior-shell .technology-tags a{ padding: 18px 32px; }
.interior-shell .technology-tags a:nth-child(1){ width: 192px; }
.interior-shell .technology-tags a:nth-child(2){ width: 262px; }
.interior-shell .technology-tags a:nth-child(3){ width: 246px; }
.interior-shell .technology-tags a:nth-child(4){ width: 218px; }
.interior-shell .technology-tags a:nth-child(5){ width: 232px; }
.interior-shell .technology-tags a:nth-child(6){ width: 310px; }
.interior-shell .technology-tags a:nth-child(7){ width: 222px; }
.interior-shell .technology-tags a:nth-child(8){ width: 252px; }
.interior-shell .projects-sticky{ padding: 0; display: block; }
.interior-shell .projects .section-heading{ position: absolute; top: 50px; left: 0; }
.interior-shell .case-track{ position: absolute; top: 42.5vh; left: 0; }
.interior-shell .case-progress{ display: block; position: absolute; left: 18.75%; bottom: 56px; width: 62.5%; height: 3px; background: #d0d0d0; }
.interior-shell .case-progress > span{ display: block; height: 100%; background: #73c875; transform-origin: left; transform: scaleX(var(--case-progress,0)); }
.interior-shell .case-progress::after{ content: ""; position: absolute; left: calc(var(--case-progress,0) * 100%); top: -5px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #73c875; }}
@media (min-width:1025px) and (max-width:1390px) {.interior-shell #header nav{ margin-left: auto; gap: 24px; }
.interior-shell #header{ gap: 24px; }}
@media (max-width:1024px) {.interior-shell .service-card{ height: auto; min-height: 220px; }
.interior-shell .awards{ gap: 24px; grid-template-columns: 32% 1fr; }
.interior-shell .award-copy h2{ font-size: 36px; }
.interior-shell .award-copy > p{ font-size: 16px; }
.interior-shell .contacts{ width: 42%; }
.interior-shell .footer-about{ width: 52%; }
.interior-shell .quick-links{ width: 100%; }}
@media (max-width:600px) {.interior-shell .service-card{ min-height: 180px; padding: 24px; }
.interior-shell .services{ padding-bottom: 48px; }
.interior-shell .services .section-heading{ margin-bottom: 32px; }
.interior-shell .awards{ display: flex; gap: 24px; }
.interior-shell .award-copy h2{ font-size: 24px; }
.interior-shell .award-copy > p{ font-size: 14px; }
.interior-shell .awards-marquee img{ width: 100px; height: 100px; }
.interior-shell .motto{ font-size: 64px; padding: 32px 0; }
.interior-shell .testimonials{ padding: 48px 0 72px; }
.interior-shell .faq{ padding: 40px 16px 24px; }
.interior-shell .faq .section-heading{ flex-direction: row; align-items: center; margin-bottom: 28px; }
.interior-shell .faq .section-heading h2{ font-size: 32px; }
.interior-shell .slider-arrows button{ width: 46px; height: 40px; }
.interior-shell .faq-card h3{ font-size: 18px; }
.interior-shell .seo-copy{ padding: 24px; margin-top: 32px; }
.interior-shell .seo-copy h2{ font-size: 18px; line-height: 26px; }
.interior-shell .footer-about,.interior-shell .contacts{ width: 100%; }
.interior-shell .quick-links{ width: 100%; }}
.interior-shell .service-card:hover > img{ transform: none; filter: brightness(0) invert(1); }
.interior-shell .service-card h3{ margin-top: auto; }
@media (min-width:1025px) {.interior-shell .stats{ padding-top: 32px; }
.interior-shell .projects{ height: calc(100vh + 200vw + 414px); }}
.interior-shell .pill:not(.rainbow){ background: linear-gradient(90deg,#06b22d80,#06b22d33); border-color: #337744; box-shadow: inset 0 0 6px #78d56088; font-weight: 500; }
.interior-shell .pill:not(.rainbow) .arrow{ background: #06b22d80; }
.interior-shell .pill .arrow svg{ width: 21px; height: 21px; }
.interior-shell .pill:hover .arrow{ transform: none; }
.interior-shell .faq{ background: radial-gradient(ellipse at left,#204a2b55,transparent 60%),#000; }
.interior-shell .testimonials{ background: linear-gradient(transparent,#000 55%); }
.interior-shell .contacts{ align-content: start; grid-auto-rows: 152px; }
.interior-shell .contact-card{ background-color: #000; }
.interior-shell .footer-map{ opacity: .45; }
@media (max-width:600px) {.interior-shell .section-heading{ align-items: flex-start; }
.interior-shell .services-grid .service-card{ padding: 18px 14px; min-height: 205px; }
.interior-shell .service-card > img{ width: 35px; height: 35px; margin: 0 0 27px; }
.interior-shell .service-card h3{ font-size: 17px; line-height: 1.3; margin-bottom: 10px; }
.interior-shell .service-card p{ font-size: 12px; line-height: 1.5; }
.interior-shell .awards{ display: block; }
.interior-shell .faq .section-heading{ align-items: center; }}
.interior-shell #galaxyfield{ position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; opacity: 0; }
@media  (min-width: 1025px) {.interior-shell .award-art{ height: 425px; }}