*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;overflow-x:hidden}
body{margin:0;width:100%;min-width:0;overflow-x:hidden;background:linear-gradient(180deg,rgba(3,4,5,.98) 0%,rgba(3,4,5,.99) 38%,rgba(3,4,5,1) 100%),radial-gradient(circle at 84% 12%,rgba(255,106,0,.08),transparent 24%),var(--page-bg,#030405);color:#fff;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea{font-family:inherit}
:root{--primary:#ff6a00;--secondary:#ff9a2e;--button:#ff6a00;--page-bg:#030405;--line:rgba(255,255,255,.12);--soft:rgba(255,255,255,.055);--text:#f6f6f6;--muted:#a8a8a8}
.container{width:min(var(--layout-width,1180px),calc(100% - 72px));max-width:var(--layout-width,1180px);margin-inline:auto;min-width:0}
.compact-container{max-width:var(--compact-layout-width,1000px)}
.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.14) .8px,transparent .8px);background-size:4px 4px;mix-blend-mode:overlay}
.glow-off .btn-primary-glow,.glow-off .header-cta,.glow-off .hero h1 span,.glow-off .icon-box,.glow-off .cta-card{box-shadow:none!important;text-shadow:none!important}

.site-header{position:absolute;top:28px;left:50%;transform:translateX(-50%);width:min(var(--menu-width,1180px),calc(100% - 72px));height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px;z-index:100;padding:0 0;transition:top .28s ease,height .28s ease,padding .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease,border-radius .28s ease}
.brand{display:flex;align-items:center;flex:0 0 235px;min-width:0;overflow:hidden}
.brand img{height:64px;width:auto;max-width:235px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;justify-content:center;gap:42px;flex:1 1 auto;min-width:0}
.site-nav a{position:relative;color:#dedede;font-size:14px;font-weight:400;white-space:nowrap;transition:.22s ease}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;border-radius:99px;background:var(--primary);opacity:0;transform:scaleX(.35);transition:.22s ease;box-shadow:0 0 20px rgba(255,106,0,.7)}
.site-nav a:hover,.site-nav a.active{color:var(--primary)}
.site-nav a:hover::after,.site-nav a.active::after{opacity:1;transform:scaleX(1)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid rgba(255,106,0,.75);border-radius:8px;background:rgba(255,106,0,.02);color:#ffefe4;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 0 30px rgba(255,106,0,.18);transition:.22s ease}
.header-cta:hover{background:rgba(255,106,0,.14);transform:translateY(-2px);box-shadow:0 0 42px rgba(255,106,0,.3)}
.mobile-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05);color:#fff;font-size:24px;place-items:center}


/* ReactBits Scroll Header v1.1.34 */
.site-header.is-scrolled{
    position:fixed;
    top:14px;
    height:62px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    background:rgba(10,10,13,.66);
    backdrop-filter:blur(22px) saturate(1.25);
    -webkit-backdrop-filter:blur(22px) saturate(1.25);
    box-shadow:0 16px 60px rgba(0,0,0,.32),0 0 34px rgba(255,106,0,.10),inset 0 1px 0 rgba(255,255,255,.055);
}
.site-header.is-scrolled::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(90deg,rgba(255,106,0,.075),transparent 22%,transparent 78%,rgba(255,106,0,.075));
    opacity:.85;
    pointer-events:none;
}
.site-header.is-scrolled .brand,
.site-header.is-scrolled .site-nav,
.site-header.is-scrolled .header-cta,
.site-header.is-scrolled .mobile-toggle{
    position:relative;
    z-index:2;
}
.site-header.is-scrolled .brand img{
    height:48px;
    max-width:190px;
}
.site-header.is-scrolled .site-nav{
    gap:34px;
}
.site-header.is-scrolled .site-nav a{
    font-size:13px;
}
.site-header.is-scrolled .site-nav a::after{
    bottom:-11px;
}
.site-header.is-scrolled .header-cta{
    min-height:40px;
    padding:0 18px;
    border-radius:12px;
    background:rgba(255,106,0,.05);
}
@media(max-width:860px){
    .site-header.is-scrolled{
        top:10px;
        width:calc(100% - 24px);
        height:60px;
        padding:7px 10px;
        border-radius:16px;
    }
    .site-header.is-scrolled.open{
        height:auto;
        max-height:calc(100vh - 20px);
    }
    .site-header.is-scrolled .brand img{
        height:44px;
        max-width:172px;
    }
}
/* End ReactBits Scroll Header */

.hero{position:relative;min-height:735px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 30%,rgba(255,106,0,.08),transparent 26%),#020303}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,4,5,.88) 0%,rgba(3,4,5,.66) 35%,rgba(3,4,5,.28) 62%,rgba(3,4,5,.50) 100%),var(--hero-bg-image,url('../img/hero-background.png')) no-repeat right center/auto 100%;opacity:.82;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;z-index:2;height:180px;background:linear-gradient(180deg,transparent,#030405 84%);pointer-events:none}

.dotfield-bg{position:absolute;inset:-8% -4%;z-index:1;width:108%;height:116%;pointer-events:none;opacity:.78;mix-blend-mode:screen;filter:saturate(1.15) contrast(1.08)}
.hero-content{position:relative;z-index:3;padding-top:108px;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:24px}
.hero-copy{width:min(510px,100%);min-width:0}
.eyebrow,.section-title span{display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;color:#dadada;font-size:12px;font-weight:500;letter-spacing:7px;text-transform:uppercase}
.section-title span{color:var(--primary);font-size:11px;letter-spacing:1px;font-weight:700;margin-bottom:8px}
.hero h1{margin:0 0 24px;color:#f6f6f6;font-size:clamp(calc(var(--hero-title-size,68px) * .65),4.6vw,var(--hero-title-size,68px));line-height:.98;letter-spacing:-2.8px;font-weight:500;text-wrap:balance}
.hero h1 span{color:var(--primary);text-shadow:0 0 34px rgba(255,106,0,.22)}
.hero p{max-width:430px;margin:0 0 34px;color:#c8c8c8;font-size:var(--description-size,16px);line-height:1.72;font-weight:300}
.btn-primary-glow{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:1px solid rgba(255,150,70,.55);border-radius:8px;background:linear-gradient(180deg,#ff7a18 0%,#eb5300 100%);color:#fff;font-size:14px;font-weight:600;box-shadow:0 18px 42px rgba(255,88,0,.28),inset 0 1px 0 rgba(255,255,255,.22);transition:.22s ease}
.hero-visual{position:relative;display:flex;justify-content:flex-end;align-items:center;min-width:0}
.hero-visual::before{content:"";position:absolute;right:7%;bottom:6%;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.22),rgba(255,106,0,.10) 32%,transparent 68%);filter:blur(12px);pointer-events:none}
.hero-visual img{position:relative;z-index:2;width:min(820px,100% + 40px);max-width:none;height:auto;display:block;object-fit:contain;transform:scale(var(--hero-image-scale,1));transform-origin:center;filter:drop-shadow(0 18px 80px rgba(255,106,0,.22))}
.btn-primary-glow:hover{transform:translateY(-2px);box-shadow:0 26px 58px rgba(255,88,0,.34),inset 0 1px 0 rgba(255,255,255,.22)}


.hero-separator-line{
    position:relative;
    height:1px;
    width:100%;
    background:linear-gradient(90deg,transparent 0%,rgba(255,106,0,.08) 8%,rgba(255,122,18,.34) 50%,rgba(255,106,0,.08) 92%,transparent 100%);
    box-shadow:0 -1px 18px rgba(255,106,0,.10),0 1px 18px rgba(255,122,18,.14);
    pointer-events:none;
}

.section{position:relative;padding:32px 0;overflow:hidden;background:transparent}
.section-title{text-align:center;margin:0 auto 24px;max-width:760px}
.section-title h2{margin:0;color:#f3f3f3;font-size:clamp(calc(var(--section-title-size,34px) * .76),2.5vw,var(--section-title-size,34px));line-height:1.2;font-weight:400;letter-spacing:-.8px;text-wrap:balance}
.cards-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{position:relative;min-height:130px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:22px;padding:24px 25px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;transition:.24s ease}
.service-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,106,0,.12),transparent 42%);opacity:0;transition:.24s ease}
.service-card:hover{border-color:rgba(255,106,0,.55);transform:translateY(-4px)}
.service-card:hover::before{opacity:1}
.icon-box{position:relative;z-index:2;width:42px;height:42px;display:grid;place-items:center;color:var(--primary);font-size:30px;text-shadow:0 0 18px rgba(255,106,0,.55)}
.service-body{position:relative;z-index:2;min-width:0}
.service-card h3{margin:0 0 7px;color:#fff;font-size:15px;font-weight:600;line-height:1.25}
.service-card p{margin:0;color:#a7a7a7;font-size:calc(var(--description-size,16px) * .78);line-height:1.72;font-weight:300}
.card-arrow{display:inline-flex;margin-top:13px;color:var(--primary);font-size:18px;transition:.2s ease}
.service-card:hover .card-arrow{transform:translateX(4px)}

.portfolio-section{padding-top:18px}
.portfolio-container{max-width:1180px}
.portfolio-title-row{display:block;text-align:center}




.portfolio-carousel{position:relative}
.portfolio-viewport{overflow:hidden}
.portfolio-track{display:flex;gap:18px;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.portfolio-slide{flex:0 0 calc((100% - 36px)/3)}
.portfolio-card{border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.016));overflow:hidden;transition:.22s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
.portfolio-card:hover{border-color:rgba(255,106,0,.40);transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05)}
.project-image{height:var(--portfolio-image-height,188px);display:block;background-size:cover;background-position:center top;color:#fff;overflow:hidden}
.project-info{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:end;gap:12px;padding:16px 18px 15px;background:rgba(6,7,9,.97)}
.project-copy{min-width:0}
.project-info h3{margin:0 0 4px;color:#fff;font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-info p{margin:0;color:#9da1ab;font-size:calc(var(--description-size,16px) * .75);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-info a{display:grid;place-items:center;align-self:center;color:var(--primary);font-size:20px;transition:.18s ease}
.portfolio-card:hover .project-info a{transform:translateX(4px)}
.portfolio-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.portfolio-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.18);transition:.18s ease}
.portfolio-dots button.active{width:28px;border-radius:999px;background:var(--primary)}

.process-section{padding-top:34px;padding-bottom:32px}
.process-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.process-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;min-width:0}
.process-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,106,0,.28);background:rgba(255,106,0,.06);color:var(--primary);font-size:25px;box-shadow:0 0 35px rgba(255,106,0,.08)}
.process-content{min-width:0;padding-top:3px}
.process-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-bottom:8px;color:var(--primary)}
.process-head strong{font-size:15px;font-weight:700;line-height:1}
.process-head span{height:2px;background:linear-gradient(90deg,var(--primary),rgba(255,106,0,.08));border-radius:99px}
.process-item h3{margin:0 0 8px;color:#fff;font-size:14px;font-weight:600}
.process-item p{margin:0;color:#969696;font-size:calc(var(--description-size,16px) * .75);line-height:1.65;font-weight:300}

.testimonials{padding-top:22px;padding-bottom:32px}
.testimonial-slider{position:relative;max-width:940px;margin:0 auto;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.056),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;min-height:178px}
.testimonial{display:none;grid-template-columns:84px minmax(0,1fr) 230px;align-items:center;gap:18px;min-height:178px;padding:42px 42px 48px}
.testimonial.active{display:grid}
.testimonial>i{color:var(--primary);font-size:66px;line-height:1;text-shadow:0 0 28px rgba(255,106,0,.40)}
.testimonial p{margin:0;color:#c7c7c7;font-size:calc(var(--description-size,16px) * .88);line-height:1.7;font-weight:300}
.client{display:flex;align-items:center;gap:14px;justify-self:end;min-width:0}
.client>div{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#d7d7d7;font-size:18px;font-weight:400}
.client span{display:grid;gap:3px;min-width:0}.client b{font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.client small{font-size:11px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:7px;align-items:center}.dots button{width:5px;height:5px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.22)}.dots button.active{background:var(--primary);box-shadow:0 0 18px var(--primary)}

.cta-section{padding-top:6px;padding-bottom:28px}
.cta-card{position:relative;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:38px;min-height:112px;padding:24px 54px;border:1px solid rgba(255,106,0,.74);border-radius:8px;background:linear-gradient(135deg,rgba(255,106,0,.06),rgba(255,255,255,.025) 46%,rgba(255,106,0,.08));box-shadow:0 0 48px rgba(255,106,0,.12),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
.cta-card::before,.cta-card::after{content:"";position:absolute;inset:auto auto -74px 28%;width:260px;height:260px;border:1px solid rgba(255,106,0,.34);transform:rotate(45deg);border-radius:18px}.cta-card::after{left:auto;right:-70px;bottom:-150px;width:300px;height:300px;opacity:.55}
.cta-card h2{position:relative;z-index:2;margin:0;color:#fff;font-size:26px;line-height:1.18;font-weight:500;letter-spacing:-.8px}.cta-card p{position:relative;z-index:2;margin:0;color:#bfbfbf;font-size:calc(var(--description-size,16px) * .82);line-height:1.7}.cta-card .btn-primary-glow{position:relative;z-index:2;min-width:230px}

.site-footer{position:relative;padding:28px 0 28px;border-top:1px solid rgba(255,255,255,.08);background:rgba(5,6,7,.92);backdrop-filter:blur(6px);overflow:hidden}
.site-footer>.container{width:min(var(--footer-width,1180px),calc(100% - 72px));max-width:var(--footer-width,1180px)}
.footer-grid{display:grid;grid-template-columns:1.35fr .9fr 1fr 1.25fr;gap:52px;align-items:start}
.footer-logo{width:210px;height:auto;margin:0 0 12px}
.site-footer p,.site-footer a{color:#aaa;font-size:13px;line-height:1.85;font-weight:300}.site-footer a{display:block;margin-bottom:4px;transition:.2s ease}.site-footer a:hover{color:#fff}.site-footer h4{margin:0 0 14px;color:#cfcfcf;font-size:12px;font-weight:500;letter-spacing:1.7px;text-transform:uppercase}.site-footer i{margin-right:9px;color:#aaa}.socials{display:flex;gap:14px;margin-top:14px}.socials a{display:grid;width:auto;height:auto;margin:0;color:#bfbfbf;font-size:17px}.socials a i{margin:0;color:inherit}.copyright{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.055);text-align:center;color:#777;font-size:12px;font-weight:300}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}

@media(max-width:1100px){
  .container{width:min(100% - 44px,1160px)}
  .site-header{top:16px;width:calc(100% - 32px);height:66px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(3,4,5,.72);backdrop-filter:blur(16px)}
  .brand{flex:1 1 auto;max-width:220px}.brand img{height:52px;max-width:210px}
  .site-nav,.header-cta{display:none}.mobile-toggle{display:grid;flex:0 0 46px}
  .site-header.open{height:auto;align-items:flex-start;flex-wrap:wrap;padding:10px 12px 14px;max-height:calc(100vh - 24px);overflow-y:auto;scrollbar-width:none}.site-header.open::-webkit-scrollbar{display:none}.site-header.open .site-nav{display:flex;order:4;width:100%;flex-direction:column;gap:8px;align-items:stretch;padding-top:10px}.site-header.open .site-nav a{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04)}.site-header.open .site-nav a::after{display:none}
  .hero{min-height:660px}.dotfield-bg{opacity:.66}.hero-content{padding-top:112px;grid-template-columns:1fr;gap:20px}.hero-visual{justify-content:center}.hero-visual img{width:min(740px,100%)}
  .cards-grid.three{grid-template-columns:1fr 1fr}.portfolio-slide{flex-basis:calc((100% - 18px)/2)}.process-line{grid-template-columns:1fr 1fr}.testimonial{grid-template-columns:60px minmax(0,1fr);padding-bottom:38px}.client{grid-column:2;justify-self:start}.cta-card{grid-template-columns:1fr;gap:18px;text-align:left}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:680px){
  .container{width:calc(100% - 28px);max-width:calc(100vw - 28px)}
  .site-header{width:calc(100% - 24px);height:64px}.brand{max-width:calc(100% - 58px)}.brand img{max-width:178px;height:auto;max-height:48px}.mobile-toggle{width:44px;height:44px;flex-basis:44px}  body{background:linear-gradient(180deg,rgba(3,4,5,.98) 0%,rgba(3,4,5,.99) 42%,rgba(3,4,5,1) 100%),var(--page-bg,#030405)}
  .hero{min-height:auto;padding:118px 0 52px}.hero::after{height:120px}.hero-content{padding-top:0;grid-template-columns:1fr;gap:22px}.hero-copy{width:100%}.hero-visual{margin-top:6px;justify-content:center}.hero-visual::before{right:50%;transform:translateX(50%);bottom:10%;width:220px;height:220px}.hero-visual img{width:100%;max-width:540px}.hero h1{font-size:44px;line-height:1.02;letter-spacing:-2px}.hero p{font-size:15px;line-height:1.7;max-width:100%}.eyebrow{letter-spacing:4.5px;font-size:11px}.btn-primary-glow{width:100%;min-height:52px}
  .section{padding:38px 0}.section-title h2{font-size:25px}.cards-grid.three,.process-line,.footer-grid{grid-template-columns:1fr}.portfolio-title-row{align-items:flex-start}.portfolio-slide{flex-basis:100%}.service-card{grid-template-columns:48px 1fr;padding:22px 20px}.project-image{height:180px}.process-line{gap:20px}.testimonial-slider{min-height:auto}.testimonial,.testimonial.active{display:grid;grid-template-columns:1fr;gap:14px;min-height:220px;padding:34px 24px 52px}.testimonial>i{font-size:48px}.client{grid-column:auto;justify-self:start}.cta-card{padding:26px 22px}.cta-card h2{font-size:24px}.footer-logo{width:190px}.site-footer{padding-top:34px}
}


/* MagicBento Services v1.1.18 */
.magic-bento-section{
    padding-top:54px;
    padding-bottom:58px;
    --magic-glow-rgb:255,106,0;
    --magic-primary:rgba(var(--magic-glow-rgb),1);
    --magic-glow:rgba(var(--magic-glow-rgb),0.20);
    --magic-border:rgba(var(--magic-glow-rgb),0.80);
    --magic-border-color:rgba(255,255,255,.13);
    --magic-background-dark:#120F17;
}
.bento-container{max-width:1160px}
.card-grid{
    display:grid;
    gap:.5em;
    padding:.75em;
    max-width:54em;
    margin:30px auto 0;
    font-size:clamp(1rem,.9rem + .5vw,1.25rem);
}
.bento-section{
    position:relative;
    user-select:none;
    isolation:isolate;
}
.magic-bento-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    aspect-ratio:4/3;
    min-height:200px;
    width:100%;
    max-width:100%;
    padding:1.25em;
    border-radius:20px;
    border:1px solid var(--magic-border-color);
    background:var(--magic-background-dark);
    font-weight:300;
    overflow:hidden;
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
    --glow-x:50%;
    --glow-y:50%;
    --glow-intensity:0;
    --glow-radius:200px;
    animation-delay:var(--card-delay,0ms);
}
.magic-bento-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 25px rgba(0,0,0,.15);
}
.magic-bento-card__header,
.magic-bento-card__content{
    display:flex;
    position:relative;
    z-index:3;
    color:#fff;
}
.magic-bento-card__header{
    gap:.75em;
    justify-content:space-between;
    align-items:flex-start;
}
.magic-bento-card__content{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    min-width:0;
}
.magic-bento-card__label{
    font-size:16px;
    line-height:1.2;
    color:#f4f4f6;
    font-weight:500;
}
.magic-bento-card__icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:var(--magic-primary);
    font-size:25px;
    text-shadow:0 0 16px rgba(var(--magic-glow-rgb),.55);
}
.magic-bento-card__title,
.magic-bento-card__description{
    --clamp-title:1;
    --clamp-desc:2;
}
.magic-bento-card__title{
    font-weight:500;
    font-size:16px;
    line-height:1.25;
    margin:0 0 .25em;
    color:#fff;
    letter-spacing:-.2px;
}
.magic-bento-card__description{
    font-size:calc(var(--description-size,16px) * .75);
    line-height:1.35;
    opacity:.9;
    color:#e6e1eb;
    margin:0;
    max-width:92%;
}
.magic-bento-card__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    margin-top:.7em;
    color:var(--magic-primary);
    font-size:20px;
    line-height:1;
    transition:transform .22s ease,text-shadow .22s ease;
}
.magic-bento-card:hover .magic-bento-card__arrow{
    transform:translateX(4px);
    text-shadow:0 0 14px rgba(var(--magic-glow-rgb),.65);
}
.magic-bento-card--text-autohide .magic-bento-card__title,
.magic-bento-card--text-autohide .magic-bento-card__description{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
}
.magic-bento-card--text-autohide .magic-bento-card__title{
    -webkit-line-clamp:var(--clamp-title);
    line-clamp:var(--clamp-title);
}
.magic-bento-card--text-autohide .magic-bento-card__description{
    -webkit-line-clamp:var(--clamp-desc);
    line-clamp:var(--clamp-desc);
}
.magic-bento-card--border-glow::after{
    content:'';
    position:absolute;
    inset:0;
    padding:6px;
    background:radial-gradient(
        var(--glow-radius) circle at var(--glow-x) var(--glow-y),
        rgba(var(--magic-glow-rgb),calc(var(--glow-intensity) * .8)) 0%,
        rgba(var(--magic-glow-rgb),calc(var(--glow-intensity) * .4)) 30%,
        transparent 60%
    );
    border-radius:inherit;
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask-composite:exclude;
    pointer-events:none;
    opacity:1;
    transition:opacity .3s ease;
    z-index:2;
}
.magic-bento-card--border-glow:hover{
    box-shadow:0 4px 20px rgba(78,36,24,.35),0 0 30px var(--magic-glow);
}
.particle-container{position:relative;overflow:hidden}
.particle{
    position:absolute;
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(var(--magic-glow-rgb),1);
    box-shadow:0 0 6px rgba(var(--magic-glow-rgb),.6);
    pointer-events:none;
    z-index:100;
    left:0;
    top:0;
}
.particle::before{
    content:'';
    position:absolute;
    top:-2px;
    left:-2px;
    right:-2px;
    bottom:-2px;
    background:rgba(var(--magic-glow-rgb),.2);
    border-radius:50%;
    z-index:-1;
}
.particle-container:hover{
    box-shadow:0 4px 20px rgba(78,36,24,.2),0 0 30px var(--magic-glow);
}
.global-spotlight{
    mix-blend-mode:screen;
    will-change:transform,opacity,left,top;
    z-index:200!important;
    pointer-events:none;
}
.magic-bento-ripple{
    position:absolute;
    border-radius:50%;
    background:radial-gradient(circle,rgba(var(--magic-glow-rgb),.4) 0%,rgba(var(--magic-glow-rgb),.2) 30%,transparent 70%);
    pointer-events:none;
    z-index:1000;
    transform:scale(0);
    opacity:1;
    animation:magicBentoRipple .8s ease-out forwards;
}
@keyframes magicBentoParticleIn{
    0%{transform:scale(0);opacity:0}
    100%{transform:scale(1);opacity:1}
}
@keyframes magicBentoParticleFloat{
    0%,100%{transform:translate(0,0) rotate(0deg);opacity:.95}
    50%{transform:translate(var(--float-x),var(--float-y)) rotate(var(--float-r));opacity:.3}
}
@keyframes magicBentoParticleOut{
    0%{transform:scale(1);opacity:1}
    100%{transform:scale(0);opacity:0}
}
@keyframes magicBentoRipple{
    0%{transform:scale(0);opacity:1}
    100%{transform:scale(1);opacity:0}
}
@media(max-width:599px){
    .card-grid{
        grid-template-columns:1fr;
        width:90%;
        margin:22px auto 0;
        padding:.5em;
    }
    .magic-bento-card{
        width:100%;
        min-height:180px;
    }
}
@media(min-width:600px){
    .card-grid{
        grid-template-columns:repeat(2,1fr);
    }
}
@media(min-width:1024px){
    .card-grid{
        grid-template-columns:repeat(4,1fr);
    }
    .magic-bento-card:nth-child(3){
        grid-column:span 2;
        grid-row:span 2;
    }
    .magic-bento-card:nth-child(4){
        grid-column:1 / span 2;
        grid-row:2 / span 2;
    }
    .magic-bento-card:nth-child(6){
        grid-column:4;
        grid-row:3;
    }
}
/* End MagicBento Services */









/* Header Background Fit v1.1.35 */
@media(max-width:1100px){
    .hero::before{
        background:linear-gradient(90deg,rgba(3,4,5,.90) 0%,rgba(3,4,5,.72) 42%,rgba(3,4,5,.42) 100%),var(--hero-bg-image,url('../img/hero-background.png')) no-repeat center right/auto 92%;
        opacity:.80;
    }
}
@media(max-width:680px){
    .hero::before{
        background:linear-gradient(180deg,rgba(3,4,5,.82) 0%,rgba(3,4,5,.72) 42%,rgba(3,4,5,.94) 100%),var(--hero-bg-image,url('../img/hero-background.png')) no-repeat center top/auto 360px;
        opacity:.76;
    }
}
/* End Header Background Fit */


/* Responsive Alignment Tablet/Mobile v1.1.46 */
@media (min-width:681px) and (max-width:1100px){
    .container{
        width:min(100% - 54px,920px);
        max-width:920px;
    }

    .hero{
        min-height:auto;
        padding:112px 0 46px;
        align-items:flex-start;
    }

    .hero-content{
        padding-top:0;
        grid-template-columns:1fr;
        gap:26px;
        text-align:left;
    }

    .hero-copy{
        max-width:620px;
        margin:0;
    }

    .hero h1{
        max-width:620px;
        font-size:clamp(40px,6vw,58px);
        line-height:1;
    }

    .hero p{
        max-width:560px;
    }

    .hero-visual{
        width:100%;
        justify-content:center;
        margin-top:4px;
    }

    .hero-visual::before{
        right:50%;
        transform:translateX(50%);
        width:330px;
        height:330px;
    }

    .hero-visual img{
        width:min(680px,92%);
        max-width:680px;
        transform:scale(calc(var(--hero-image-scale,1) * .92));
        transform-origin:center;
    }

    .cards-grid.three{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .service-card{
        min-height:98px;
        padding:18px 18px;
        grid-template-columns:44px minmax(0,1fr);
        gap:14px;
        align-items:center;
    }

    .icon-box{
        width:38px;
        height:38px;
        font-size:24px;
    }

    .service-card h3{
        font-size:14px;
        margin-bottom:4px;
    }

    .service-card p{
        font-size:12px;
        line-height:1.45;
    }

    .card-arrow{
        margin-top:7px;
    }

    .portfolio-container{
        max-width:920px;
    }

    .portfolio-slide{
        flex-basis:calc((100% - 18px)/2);
    }

    .project-image{
        height:170px;
    }

    .process-line{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:12px;
    }

    .process-item{
        grid-template-columns:1fr;
        gap:10px;
        text-align:center;
        justify-items:center;
    }

    .process-icon{
        width:46px;
        height:46px;
        font-size:22px;
    }

    .process-head{
        grid-template-columns:1fr;
        gap:5px;
        justify-items:center;
    }

    .process-head span{
        width:54px;
    }

    .process-item h3{
        font-size:12px;
        margin-bottom:5px;
    }

    .process-item p{
        font-size:11px;
        line-height:1.45;
    }

    .testimonial-slider{
        max-width:920px;
    }

    .testimonial{
        grid-template-columns:66px minmax(0,1fr) 185px;
        min-height:158px;
        padding:34px 30px 48px;
        gap:14px;
    }

    .testimonial>i{
        font-size:54px;
    }

    .client>div{
        width:50px;
        height:50px;
    }

    .cta-card{
        grid-template-columns:1fr auto;
        align-items:center;
        gap:20px;
        padding:24px 28px;
    }

    .cta-card h2{
        font-size:25px;
    }

    .footer-grid{
        grid-template-columns:1.2fr .8fr .8fr 1fr;
        gap:24px;
    }
}

@media (min-width:681px) and (max-width:860px){
    .container{
        width:min(100% - 42px,760px);
        max-width:760px;
    }

    .site-header{
        width:calc(100% - 30px);
    }

    .hero{
        padding-top:104px;
    }

    .hero-copy{
        max-width:540px;
    }

    .hero h1{
        max-width:540px;
        font-size:clamp(38px,6.2vw,50px);
    }

    .hero-visual img{
        width:min(590px,94%);
    }

    .cards-grid.three{
        grid-template-columns:1fr;
    }

    .service-card{
        min-height:74px;
        grid-template-columns:38px minmax(0,1fr) 22px;
        gap:12px;
        padding:14px 16px;
    }

    .service-card .card-arrow{
        grid-column:3;
        grid-row:1;
        align-self:center;
        justify-self:end;
        margin:0;
    }

    .service-card p{
        display:none;
    }

    .portfolio-slide{
        flex-basis:calc((100% - 18px)/2);
    }

    .project-image{
        height:145px;
    }

    .process-line{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px;
    }

    .testimonial{
        grid-template-columns:56px minmax(0,1fr);
        min-height:174px;
    }

    .client{
        grid-column:2;
        justify-self:start;
        margin-top:8px;
    }

    .cta-card{
        grid-template-columns:1fr;
        text-align:left;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:680px){
    .hero{
        padding-top:104px;
        padding-bottom:44px;
    }

    .hero-content{
        gap:18px;
    }

    .hero h1{
        font-size:clamp(34px,10.5vw,42px);
        line-height:1.04;
        letter-spacing:-1.6px;
    }

    .hero p{
        font-size:14px;
        line-height:1.6;
    }

    .hero-visual{
        margin-top:0;
        min-height:210px;
    }

    .hero-visual img{
        width:min(420px,96%);
        max-width:96%;
        transform:scale(calc(var(--hero-image-scale,1) * .84));
    }

    .section-title{
        margin-bottom:18px;
    }

    .cards-grid.three{
        gap:10px;
    }

    .service-card{
        min-height:62px;
        grid-template-columns:36px minmax(0,1fr) 22px;
        gap:10px;
        align-items:center;
        padding:13px 14px;
        border-radius:10px;
    }

    .icon-box{
        width:34px;
        height:34px;
        font-size:21px;
    }

    .service-card h3{
        margin:0;
        font-size:13px;
        line-height:1.25;
    }

    .service-card p{
        display:none;
    }

    .service-card .card-arrow{
        grid-column:3;
        grid-row:1;
        margin:0;
        align-self:center;
        justify-self:end;
        font-size:16px;
    }

    .portfolio-title-row{
        text-align:center;
    }

    .portfolio-slide{
        flex-basis:100%;
    }

    .project-image{
        height:150px;
    }

    .project-info{
        padding:13px 14px;
    }

    .process-line{
        grid-template-columns:1fr;
        gap:12px;
    }

    .process-item{
        grid-template-columns:44px minmax(0,1fr);
        gap:12px;
        align-items:start;
        text-align:left;
        justify-items:stretch;
        padding:14px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:12px;
        background:rgba(255,255,255,.018);
    }

    .process-icon{
        width:42px;
        height:42px;
        font-size:20px;
    }

    .process-head{
        grid-template-columns:auto minmax(0,1fr);
        gap:8px;
        justify-items:stretch;
    }

    .process-head span{
        width:auto;
    }

    .process-item h3{
        margin-bottom:4px;
    }

    .process-item p{
        line-height:1.45;
    }

    .testimonial-slider{
        border-radius:14px;
        min-height:240px;
    }

    .testimonial,
    .testimonial.active{
        min-height:240px;
        padding:34px 22px 56px;
    }

    .testimonial p{
        font-size:13px;
        line-height:1.6;
    }

    .cta-card{
        text-align:left;
        gap:16px;
    }

    .cta-card .btn-primary-glow{
        width:100%;
    }
}
/* End Responsive Alignment Tablet/Mobile */


/* Testimonial Responsive Fix v1.1.47 */
@media (min-width:681px) and (max-width:860px){
    .testimonials{
        padding-top:28px;
        padding-bottom:38px;
    }

    .testimonial-slider{
        max-width:760px;
        min-height:220px;
        border-radius:18px;
    }

    .testimonial,
    .testimonial.active{
        grid-template-columns:1fr;
        align-items:start;
        justify-items:center;
        text-align:center;
        gap:16px;
        min-height:220px;
        padding:30px 26px 56px;
    }

    .testimonial > i{
        font-size:50px;
        margin:0;
    }

    .testimonial p{
        max-width:100%;
        margin:0;
        font-size:14px;
        line-height:1.65;
    }

    .client{
        justify-self:center;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:12px;
        margin-top:0;
    }

    .client > div{
        width:54px;
        height:54px;
        font-size:18px;
    }

    .client strong{
        display:block;
        font-size:16px;
        line-height:1.2;
    }

    .client span{
        display:block;
        font-size:12px;
        line-height:1.45;
    }

    .dots{
        bottom:16px;
    }
}

@media (max-width:680px){
    .testimonials{
        padding-top:24px;
        padding-bottom:34px;
    }

    .testimonial-slider{
        min-height:250px;
        border-radius:16px;
    }

    .testimonial,
    .testimonial.active{
        display:grid;
        grid-template-columns:1fr;
        align-items:start;
        justify-items:center;
        text-align:center;
        gap:14px;
        min-height:250px;
        padding:28px 18px 54px;
    }

    .testimonial > i{
        font-size:44px;
        margin:0;
    }

    .testimonial p{
        margin:0;
        width:100%;
        max-width:100%;
        font-size:13px;
        line-height:1.65;
    }

    .client{
        width:100%;
        justify-self:center;
        justify-content:center;
        align-items:center;
        gap:10px;
        text-align:center;
        margin-top:0;
    }

    .client > div{
        width:48px;
        height:48px;
        font-size:16px;
    }

    .client strong{
        display:block;
        font-size:15px;
        line-height:1.2;
    }

    .client span{
        display:block;
        font-size:12px;
        line-height:1.4;
    }

    .dots{
        bottom:14px;
    }
}
/* End Testimonial Responsive Fix */
