:root{--radius-large:26px;--radius-medium:18px}
.site-header{background:rgba(244,245,241,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.button{border-radius:100px}.account-link{backdrop-filter:blur(12px)}
.hero{isolation:isolate}.hero-media img{will-change:transform;transform:scale(1.025);animation:hero-settle 1.65s cubic-bezier(.19,1,.22,1) both}.hero-content>*{animation:hero-rise .85s cubic-bezier(.19,1,.22,1) both}.hero-content>:nth-child(2){animation-delay:.1s}.hero-content>:nth-child(3){animation-delay:.2s}.hero-content>:nth-child(4){animation-delay:.3s}.hero h1 em{color:#ebf2e7}.hero-bottom{padding:11px 16px;border:1px solid rgba(255,255,255,.22);border-radius:100px;background:rgba(13,28,20,.22);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);width:min(calc(100% - 96px),1440px);bottom:20px}.hero-actions .button{box-shadow:0 10px 32px rgba(5,20,9,.2)}
.hero{height:min(760px,calc(88svh - 82px));min-height:560px}
@media(max-width:760px){.hero{height:calc(88svh - 70px);min-height:560px}}
.service-strip{background:#e6eadf}.strip-inner a{position:relative;overflow:hidden}.strip-inner a:before{content:"";position:absolute;inset:auto 0 0;height:2px;background:#314c37;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.strip-inner a:hover:before{transform:scaleX(1)}
.story-gallery{background:#f4f5f1;padding-top:24px}.story-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;perspective:1100px}.story-card{position:relative;height:clamp(370px,36vw,520px);border-radius:var(--radius-large);overflow:hidden;isolation:isolate;background:#566c59;box-shadow:0 18px 40px rgba(28,48,39,.1);transform:perspective(1100px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .28s ease,box-shadow .28s ease}.story-card:hover{box-shadow:0 28px 54px rgba(28,48,39,.24)}.story-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.19,1,.22,1)}.story-card:hover img{transform:scale(1.065)}.story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(9,24,16,.8) 100%);pointer-events:none}.story-card-content{position:absolute;z-index:1;inset:auto 25px 26px;display:grid;grid-template-columns:1fr auto;align-items:end;color:#fff}.story-card-kicker{grid-column:1/-1;font-size:.64rem;font-weight:800;letter-spacing:.1em;margin-bottom:12px;color:#d5ecbb}.story-card strong{font-family:SpaceGrotesk,Manrope,sans-serif;font-size:clamp(1.5rem,2.2vw,2.6rem);line-height:1.07;font-weight:500}.story-card-action{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);font-size:1.1rem;transition:background .3s,color .3s}.story-card:hover .story-card-action{background:#fff;color:#15271a}
.solutions{background:#e7eae5}.solution-tabs{gap:8px;border:0;margin-bottom:13px}.solution-tabs button{height:62px;padding:0 20px;border:1px solid #c5cfc4;border-radius:100px;width:auto;min-width:160px;justify-content:center;transition:background .25s,color .25s,border-color .25s}.solution-tabs button[aria-selected=true]{background:#1c3027;color:#fff;border:1px solid #1c3027}.solution-tabs button[aria-selected=true] span{color:#fff}.solution-panel{overflow:hidden;border-radius:var(--radius-large);box-shadow:0 20px 60px rgba(27,49,35,.09)}.solution-image img{transition:opacity .3s ease,transform .7s cubic-bezier(.19,1,.22,1)}.solution-panel:hover .solution-image img{transform:scale(1.025)}.solution-copy{background:#fff}.solution-copy .button{margin-top:3px}
.project-item{border-radius:var(--radius-medium);overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(28,48,39,.07);transition:transform .3s ease,box-shadow .3s ease}.project-item:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(28,48,39,.15)}.project-item img,.project-no-image{transition:transform .6s ease}.project-item:hover img{transform:scale(1.025)}.project-item h3,.project-item p{margin-left:18px;margin-right:18px}.project-item p{margin-bottom:22px}.project-status{border-radius:var(--radius-medium)}
.feature{margin:0 24px;border-radius:var(--radius-large);overflow:hidden}.feature-content .button{background:rgba(231,241,207,.88);backdrop-filter:blur(14px)}.feature-caption{padding:9px 12px;border-radius:100px;background:rgba(15,34,21,.28);backdrop-filter:blur(12px)}
.process-grid li{transition:padding-left .3s ease,background .3s ease}.process-grid li:hover{padding-left:12px;background:#f5f8f4}.process-grid li>span{width:36px;height:36px;border-radius:50%;background:#e7efe2;display:grid;place-items:center;padding:0}.location-links a{border-radius:100px;backdrop-filter:blur(9px)}.contact form{background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-large);padding:35px;box-shadow:0 18px 50px rgba(27,49,35,.07);backdrop-filter:blur(16px)}.chat-panel{border-radius:var(--radius-medium)}
.js-motion .reveal-on-view{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.19,1,.22,1),transform .85s cubic-bezier(.19,1,.22,1)}.js-motion .reveal-on-view.is-visible{opacity:1;transform:none}.js-motion .story-card.reveal-on-view.is-visible{transform:perspective(1100px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg))}.js-motion .story-card:nth-child(2){transition-delay:.08s}.js-motion .story-card:nth-child(3){transition-delay:.16s}
@keyframes hero-settle{from{opacity:.75;transform:scale(1.08)}to{opacity:1;transform:scale(1.025)}}@keyframes hero-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.hero-bottom{width:min(calc(100% - 40px),1440px)}.story-cards{grid-template-columns:1fr 1fr}.story-card{height:390px}.story-card:last-child{grid-column:1/-1;height:330px}.feature{margin:0 14px}}
@media(max-width:600px){.hero-bottom{padding:9px 12px}.story-gallery{padding-top:0}.story-cards{grid-template-columns:1fr;gap:13px}.story-card,.story-card:last-child{grid-column:auto;height:360px}.story-card strong{font-size:2rem}.solution-tabs{gap:5px}.solution-tabs button{min-width:0;flex:1;height:53px;padding:0 6px;gap:5px;font-size:.5rem}.solution-tabs button span{font-size:.86rem}.solution-panel{border-radius:18px}.feature{margin:0 9px;border-radius:20px}.contact form{padding:24px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.hero-media img,.hero-content>*{animation:none}.story-card,.story-card img,.solution-image img,.project-item,.project-item img,.process-grid li,.strip-inner a:before{transition:none!important}.js-motion .reveal-on-view{opacity:1;transform:none;transition:none}}
