:root{--section-pad:180px;--hero-pad:150px;--cta-pad:100px;--h1-size:56px}
@media(max-width:1100px){:root{--section-pad:160px;--h1-size:56px}}
@media(max-width:760px){:root{--section-pad:120px;--hero-pad:100px;--h1-size:clamp(36px,10.7vw,46px)}}
@media(max-width:420px){:root{--h1-size:clamp(34px,10.2vw,42px)}}
html{scroll-behavior:auto}
html.is-ready{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html.is-ready{scroll-behavior:auto}}
.site-header{transition:background .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1)}
.header-inner,.site-header .logo img,.site-header nav a{transition:all .32s cubic-bezier(.16,1,.3,1)}
.site-header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 36px rgba(15,15,15,.08)}
.site-header.is-scrolled .header-inner{min-height:70px}
.site-header.is-scrolled .logo img{width:176px!important}
.site-header.is-scrolled nav a{padding:22px 0}
.site-header.is-scrolled nav a.active::after{bottom:12px}
.mobile-nav-toggle{display:none}

.hero-title-mobile{display:none}
.hero-sub{min-height:0!important}
.hero-title-desktop{display:inline}

.hero h1{max-width:26ch!important;text-align:left;text-wrap:balance!important}
.hero-copy>p:not(.eyebrow),.company-hero-copy>p:not(.eyebrow),.svc-hero-copy>p:not(.eyebrow),.contact-hero-copy>p:not(.eyebrow),.references-hero-inner>p:last-child,.products-hero-inner>p:last-child{max-width:78ch!important;text-wrap:pretty}
.company-hero-copy{max-width:none!important}
.hero-content{grid-template-columns:minmax(0,1fr)!important}

main h2{font-size:48px!important;line-height:1.05;letter-spacing:-.03em}
main h3{font-size:24px!important;line-height:1.15}
main h4{font-size:18px!important;line-height:1.2}
.site-footer h4{font-size:15px!important;line-height:1.2}

.services h2{max-width:920px;margin-left:auto;margin-right:auto;text-wrap:balance}
.benefits-copy h2{max-width:560px;width:100%;text-wrap:balance}
.section-head h2{max-width:800px;text-wrap:balance}

.btn,.service-card,.benefit-card,.project-img,.about-media,.hero-visual{border-radius:18px 0 18px 0}
.services,.benefits,.projects,.about{padding-top:var(--section-pad);padding-bottom:var(--section-pad)}
.service-cta{padding-top:var(--cta-pad);padding-bottom:var(--cta-pad)}
.hero:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.15) 62%,transparent)}
.hero-content{z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;padding-top:var(--hero-pad);padding-bottom:var(--hero-pad)}
.hero-copy{position:relative;width:auto;max-width:none;padding:40px 0}
.hero h1{font-size:var(--h1-size);max-width:none;line-height:.98}
.hero-copy>p:not(.eyebrow){max-width:58ch;width:100%}
.hero-visual{height:clamp(380px,34vw,440px);overflow:hidden;position:relative;box-shadow:0 28px 60px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.hero-visual:hover img{transform:scale(1.025)}
.hero-scroll-cue{position:absolute;right:32px;bottom:78px;z-index:4;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.7);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right bottom}
.hero-scroll-cue:before{content:'';display:block;width:46px;height:1px;background:linear-gradient(90deg,var(--red),rgba(255,255,255,.35))}

.scroll-fade{opacity:0;translate:0 34px;scale:.985;filter:blur(2px);transition:opacity .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),translate .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),scale .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),filter .72s ease var(--reveal-delay,0ms),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;will-change:opacity,translate}
.scroll-fade.scroll-fade-visible{opacity:1;translate:0 0;scale:1;filter:blur(0)}
.project-card.scroll-fade,.about-media.scroll-fade{translate:0 42px;scale:.97}
.project-card.scroll-fade.scroll-fade-visible,.about-media.scroll-fade.scroll-fade-visible{translate:0 0;scale:1}
.section-head>*.scroll-fade:first-child,.benefits-copy.scroll-fade,.about-copy.scroll-fade{translate:-28px 24px}
.section-head>*.scroll-fade:last-child{translate:28px 24px}
.scroll-fade-left{translate:-28px 24px}
.scroll-fade-right{translate:28px 24px}
.section-head>*.scroll-fade.scroll-fade-visible,.benefits-copy.scroll-fade.scroll-fade-visible,.about-copy.scroll-fade.scroll-fade-visible{translate:0 0}

.service-card{position:relative;overflow:hidden}
.service-card:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:4px;background:linear-gradient(90deg,var(--red),var(--red-dark));transition:right .38s cubic-bezier(.16,1,.3,1)}
.service-card:is(:hover,.is-lifted):after{right:0}
.card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:64px;height:64px;border-radius:16px 0 16px 0;background:rgba(227,0,23,.08);border:1px solid rgba(227,0,23,.14);color:var(--red);transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease,box-shadow .3s ease}
.service-card .card-icon svg,.benefit-card .card-icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:inherit;transition:none;transform:none}
.service-card:is(:hover,.is-lifted) .card-icon svg,.benefit-card:is(:hover,.is-lifted) .card-icon svg{transform:none}
.service-card:is(:hover,.is-lifted) .card-icon,.benefit-card:is(:hover,.is-lifted) .card-icon{transform:translateY(-3px);background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 22px rgba(227,0,23,.24)}
.benefit-card:nth-child(2) .card-icon,.benefit-card:nth-child(3) .card-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
.benefit-card:nth-child(2):is(:hover,.is-lifted) .card-icon,.benefit-card:nth-child(3):is(:hover,.is-lifted) .card-icon{background:#fff;border-color:#fff;color:var(--red);box-shadow:0 10px 22px rgba(0,0,0,.18)}
@media(prefers-reduced-motion:reduce){.card-icon{transition:none}.service-card:is(:hover,.is-lifted) .card-icon,.benefit-card:is(:hover,.is-lifted) .card-icon{transform:none}}
.service-card-reveal{opacity:0;filter:blur(2px);will-change:translate,opacity;transition:opacity .82s cubic-bezier(.16,1,.3,1) var(--service-reveal-delay,0ms),translate .82s cubic-bezier(.16,1,.3,1) var(--service-reveal-delay,0ms),filter .82s ease var(--service-reveal-delay,0ms),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.service-card-reveal[data-reveal-direction="top"]{translate:0 -56px}
.service-card-reveal[data-reveal-direction="bottom"]{translate:0 56px}
.service-card-reveal.service-card-visible{opacity:1;filter:blur(0);translate:0 0}
.service-card:hover{transform:translateY(-10px);box-shadow:0 22px 44px rgba(80,0,10,.16)}
.benefit-card:hover{transform:translateY(-8px)}
.project-card:hover{transform:translateY(-8px)}
.service-card.is-lifted{transform:translateY(-10px);box-shadow:0 22px 44px rgba(80,0,10,.16)}
.benefit-card.is-lifted{transform:translateY(-8px);box-shadow:0 26px 48px rgba(24,24,24,.09);border-color:rgba(227,0,23,.2)}
.project-card.is-lifted{transform:translateY(-8px)}
.project-card.is-lifted .project-img:after{opacity:1}

.benefit-card:nth-child(2),.benefit-card:nth-child(3){background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 18px 36px rgba(227,0,23,.12)}
.benefit-card:nth-child(2) h3,.benefit-card:nth-child(3) h3{color:#fff}
.benefit-card:nth-child(2) p,.benefit-card:nth-child(3) p{color:rgba(255,255,255,.88)}
.benefit-card:nth-child(2):is(:hover,.is-lifted),.benefit-card:nth-child(3):is(:hover,.is-lifted){border-color:var(--red-dark);box-shadow:0 26px 48px rgba(227,0,23,.18)}
.benefits-split{gap:68px}
.benefits-copy{justify-self:start;max-width:660px;width:100%}
.benefits-copy .lead{max-width:none;width:100%}
.benefits-cta{margin-top:30px}

.projects{position:relative;overflow:hidden;isolation:isolate}
.projects>.shell{position:relative;z-index:2}
.projects-rolltor{position:absolute;bottom:-14px;z-index:1;width:clamp(210px,18vw,350px);height:auto;pointer-events:none;user-select:none;will-change:transform;transition:filter .25s ease;filter:drop-shadow(0 18px 24px rgba(0,0,0,.28))}
.projects-rolltor-left{left:clamp(18px,3.5vw,72px);transform:translate3d(0,var(--rolltor-y-left,360px),0)}
.projects-rolltor-right{right:clamp(18px,3.5vw,72px);transform:translate3d(0,var(--rolltor-y-right,390px),0) scaleX(-1)}
.project-img{overflow:hidden}
.project-img:before{display:none!important;content:none!important}
.project-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.project-card:is(:hover,.is-lifted) .project-img img{transform:scale(1.045)}
.project-img:after{z-index:1;border-radius:inherit}
.stats-band{position:relative;background:#171717;color:#fff;padding:0;overflow:hidden;transform:translate3d(var(--stats-slide-x,-72vw),0,0);will-change:transform}
.stats-band:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(227,0,23,.11),transparent 42%),linear-gradient(90deg,transparent 0 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);pointer-events:none}
.stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{min-height:235px;padding:56px 36px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.09);position:relative}
.stat-item:last-child{border-right:0}
.stat-item:before{content:attr(data-index);position:absolute;top:22px;right:24px;font-size:11px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.26)}
.stat-value{font-size:clamp(42px,4vw,66px);font-weight:850;letter-spacing:-.05em;line-height:.9;color:#fff}
.stat-value .accent{color:var(--red)}
.stat-label{margin-top:14px;font-size:14px;line-height:1.45;color:#bdbdbd;max-width:22ch}
.about-media{height:470px;min-height:470px;padding:0;background:none;display:block;overflow:hidden;isolation:auto}
.about-media:before,.about-media:after{display:none!important;content:none!important}
.about-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.about-media:hover img{transform:scale(1.025)}
.about-copy{position:relative}
.about-copy:after{content:'SEIT 1995';position:absolute;right:0;top:2px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#aaa}

@media(max-width:1100px){
  main h2{font-size:42px!important}
  main h3{font-size:22px!important}
  main h4{font-size:18px!important}
  .services h2,.benefits-copy h2,.section-head h2{max-width:none}
  .hero-content{gap:36px}
  .hero-copy{width:auto;padding:34px 0}
  .hero h1{font-size:var(--h1-size)}
  .hero-copy>p:not(.eyebrow){max-width:52ch}
  .hero-visual{height:400px}
  .benefits-split{gap:56px}
  .projects-rolltor{width:clamp(170px,20vw,260px)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:0}
  .stat-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.09)}
}
@media(max-width:760px){
  main h2{font-size:36px!important;line-height:1.05}
  main h3{font-size:22px!important;line-height:1.15}
  main h4{font-size:18px!important;line-height:1.2}
  .site-header{z-index:60;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateZ(0);will-change:transform}
  .header-inner{min-height:72px;gap:18px}
  .site-header .logo{min-width:0;position:relative;z-index:62}
  .site-header .logo img{width:140px!important}
  .site-header.is-scrolled .header-inner{min-height:66px}
  .site-header.is-scrolled .logo img{width:140px!important}
  .mobile-nav-toggle{position:relative;z-index:62;display:flex;width:46px;height:46px;padding:0;border:1px solid rgba(24,24,24,.12);background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;border-radius:12px 0 12px 0}
  .mobile-nav-toggle span{display:block;width:21px;height:2px;background:#181818;transition:transform .28s ease,opacity .2s ease}
  .site-header.nav-open .mobile-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.nav-open .mobile-nav-toggle span:nth-child(2){opacity:0}
  .site-header.nav-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 32px 28px;background:rgba(255,255,255,.98);backdrop-filter:blur(18px);border-top:1px solid rgba(24,24,24,.07);box-shadow:0 24px 40px rgba(15,15,15,.12);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
  .site-header.nav-open nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .site-header nav a,.site-header.is-scrolled nav a{padding:17px 0;font-size:18px;border-bottom:1px solid rgba(24,24,24,.08)}
  .site-header nav a:last-child{border-bottom:0}
  .site-header nav a.active{color:var(--red)}
  .site-header nav a.active::after{display:none}
  .hero:after{background-size:48px 48px}
  .hero-scroll-cue{display:none}
  .hero-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:40px;padding-bottom:130px}
  .hero-copy{width:100%;padding:0}
  .hero-title-desktop{display:none}
  .hero-title-mobile{display:inline}
  .hero h1{font-size:var(--h1-size);max-width:100%;width:100%;line-height:.98;letter-spacing:-.035em;text-wrap:initial}
  .hero-copy>p:not(.eyebrow){max-width:none;width:100%}
  .services h2,.benefits-copy h2,.section-head h2,.about-copy h2,.service-cta h2{max-width:none!important;width:100%;text-wrap:pretty}
  .section-head{align-items:flex-start}
  .section-head>div{width:100%}
  .hero-visual{height:300px;width:100%}
  .btn,.service-card,.benefit-card,.project-img,.about-media,.hero-visual{border-radius:14px 0 14px 0}
  .benefits-split{gap:54px}
  .benefits-cta{margin-top:26px}
  .projects-rolltor{display:none}
  .benefit-card:nth-child(odd){background:linear-gradient(145deg,#fff 0%,#f6f6f6 100%);border-color:rgba(24,24,24,.07);color:#181818;box-shadow:0 18px 36px rgba(24,24,24,.05)}
  .benefit-card:nth-child(odd) .card-icon{background:rgba(227,0,23,.08);border-color:rgba(227,0,23,.14);color:var(--red)}
  .benefit-card:nth-child(odd):is(:hover,.is-lifted) .card-icon{background:var(--red);border-color:var(--red);color:#fff}
  .benefit-card:nth-child(odd) h3{color:#181818}
  .benefit-card:nth-child(odd) p{color:#555}
  .benefit-card:nth-child(even){background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 18px 36px rgba(227,0,23,.12)}
  .benefit-card:nth-child(even) h3{color:#fff}
  .benefit-card:nth-child(even) .card-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
  .benefit-card:nth-child(even):is(:hover,.is-lifted) .card-icon{background:#fff;border-color:#fff;color:var(--red)}
  .benefit-card:nth-child(even) p{color:rgba(255,255,255,.88)}
  .stats-band{transform:none!important}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item{min-height:185px;padding:40px 22px}
  .stat-value{font-size:44px}
  .stat-label{font-size:13px}
  .about-media{height:360px;min-height:360px;padding:0}
  .about-copy:after{display:none}
  .about-grid{gap:0}
  .about-copy{display:contents}
  .about-copy>.eyebrow{order:1}
  .about-copy>h2{order:2}
  .about-copy>p:not(.eyebrow){order:3;max-width:none}
  .about-media{order:4;margin:0 0 28px}
  .about-copy>.btn{order:5;justify-self:start}
}
@media(max-width:420px){
  .hero h1{font-size:var(--h1-size);line-height:1}
}
@media(prefers-reduced-motion:reduce){.site-header,.header-inner,.site-header .logo img,.site-header nav a,.mobile-nav-toggle span,.service-card:after,.about-media img,.project-img img,.hero-visual img,.scroll-fade,.service-card-reveal{transition:none!important}.about-media:hover img,.project-card:is(:hover,.is-lifted) .project-img img,.hero-visual:hover img{transform:none}.scroll-fade,.service-card-reveal{opacity:1!important;transform:none!important;translate:none!important;scale:none!important;filter:none!important}.projects-rolltor{transform:translate3d(0,0,0)!important}.projects-rolltor-right{transform:translate3d(0,0,0) scaleX(-1)!important}.stats-band{transform:none!important}}

@media(hover:none){
  .service-card:hover:not(.is-lifted),.benefit-card:hover:not(.is-lifted),.project-card:hover:not(.is-lifted){transform:none}
  .service-card:hover:not(.is-lifted){box-shadow:0 14px 30px rgba(80,0,10,.07)}
  .service-card:hover:not(.is-lifted):after{right:100%}
  .benefit-card:hover:not(.is-lifted){box-shadow:0 18px 36px rgba(24,24,24,.05);border-color:rgba(24,24,24,.07)}
  .benefit-card:nth-child(2):hover:not(.is-lifted),.benefit-card:nth-child(3):hover:not(.is-lifted){border-color:var(--red);box-shadow:0 18px 36px rgba(227,0,23,.12)}
  .service-card:hover:not(.is-lifted) .card-icon,.benefit-card:hover:not(.is-lifted) .card-icon{transform:none;background:rgba(227,0,23,.08);border-color:rgba(227,0,23,.14);color:var(--red);box-shadow:none}
  .benefit-card:nth-child(2):hover:not(.is-lifted) .card-icon,.benefit-card:nth-child(3):hover:not(.is-lifted) .card-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
  .project-card:hover:not(.is-lifted) .project-img img{transform:none}
  .project-card:hover:not(.is-lifted) .project-img:after{opacity:0}
}
@media(hover:none) and (max-width:760px){
  .benefit-card:nth-child(odd):hover:not(.is-lifted){border-color:rgba(24,24,24,.07);box-shadow:0 18px 36px rgba(24,24,24,.05)}
  .benefit-card:nth-child(even):hover:not(.is-lifted){border-color:var(--red);box-shadow:0 18px 36px rgba(227,0,23,.12)}
  .benefit-card:nth-child(odd):hover:not(.is-lifted) .card-icon{background:rgba(227,0,23,.08);border-color:rgba(227,0,23,.14);color:var(--red)}
  .benefit-card:nth-child(even):hover:not(.is-lifted) .card-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
}

.hero h1,.hero .eyebrow,.hero-copy>p,.company-hero-copy>p,.svc-hero-copy>p,.contact-hero-copy>p,.references-hero-inner>p,.products-hero-inner>p,.legal-updated{text-shadow:0 2px 14px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.35)}
