:root{color-scheme:light;--canvas:#cbd6dc;--surface:#dce4e8;--surface-deep:#b8c7d0;--ink:#17222a;--muted:#53636c;--blue:#15518a;--red:#cf2931;--gold:#eca91d;--line:#17222a2e;--font-body:"DM Sans", Arial, sans-serif;--font-display:"Manrope", "DM Sans", Arial, sans-serif;--pad:clamp(1.25rem, 6vw, 6.5rem);--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{color:var(--ink);background:var(--gold)}.scroll-reveal{opacity:0;transition:opacity 1.15s var(--ease) var(--reveal-delay,0s), transform 1.15s var(--ease) var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(22px)}.scroll-reveal--visual{transform:translateY(18px)scale(.985)}.scroll-reveal.is-visible{opacity:1;will-change:auto;transform:translate(0,0)scale(1)}@media (prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal--visual{opacity:1;will-change:auto;transition:none;transform:none}}.site-header{z-index:100;min-height:88px;transition:min-height .3s var(--ease), padding .3s var(--ease), background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;background:#fffffffa;justify-content:space-between;align-items:center;padding:.7rem clamp(1rem,3.4vw,3.5rem);display:flex;position:sticky;top:0}.site-header--scrolled{backdrop-filter:blur(14px);background:#ffffffeb;min-height:72px;padding-top:.4rem;padding-bottom:.4rem;box-shadow:0 8px 24px #1011161a}.brand{align-items:center;gap:.7rem;display:inline-flex}.brand__logo{object-fit:cover;width:54px;height:54px;transition:width .3s var(--ease), height .3s var(--ease);border-radius:50%}.site-header--scrolled .brand__logo{width:46px;height:46px}.brand__name{font-family:var(--font-display);letter-spacing:-.035em;gap:.14rem;font-size:.875rem;font-weight:800;line-height:1;display:grid}.brand__name span{color:var(--blue);letter-spacing:.08em;font-size:.875rem}.nav{align-items:center;gap:clamp(1.25rem,3vw,3rem);font-size:.875rem;font-weight:600;display:flex}.nav>a:not(.nav__cta){color:#34434b;transition:color .2s}.nav>a:not(.nav__cta):hover,.site-footer nav a:hover{color:var(--red)}.nav__cta{color:#fff;background:var(--red);border-radius:999px;align-items:center;gap:1rem;padding:.85rem 1.1rem;transition:transform .2s,background .2s;display:flex}.nav__cta:hover{background:#b91e27;transform:translateY(-2px)}.menu-toggle{display:none}.hero{background:#fff;grid-template-columns:minmax(0,1fr);gap:.9rem;padding:0 clamp(1rem,3.4vw,3.5rem) clamp(2rem,3.5vw,3.5rem);display:grid}.hero__image{background:#485761;border-radius:10px;min-width:0;min-height:clamp(560px,52vw,820px);position:relative;overflow:hidden}.hero__image>img{object-fit:cover;object-position:center 55%;width:100%;height:100%;animation:10s ease-in-out infinite alternate hero-slow-zoom;position:absolute;inset:0}@keyframes hero-slow-zoom{0%{transform:scale(1)}to{transform:scale(1.14)}}@media (prefers-reduced-motion:reduce){.hero__image>img{animation:none}}.hero__shade{background:linear-gradient(90deg,#000000ad 0%,#00000075 38%,#00000029 72%,#0000 100%);position:absolute;inset:0}.hero__content{z-index:1;color:#fff;width:min(78%,900px);position:absolute;bottom:clamp(2.5rem,7vw,6rem);left:clamp(1.5rem,4vw,4.5rem)}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.7rem;margin:0 0 1.15rem;font-size:.875rem;font-weight:700;display:flex}.eyebrow>span{background:var(--red);width:27px;height:2px;display:inline-block}.eyebrow--light{color:#ffffffe6}.hero h1{max-width:900px;font:700 clamp(3rem, 4.5vw, 5rem)/1.02 var(--font-display);letter-spacing:-.065em;overflow-wrap:normal;margin:0}.hero__headline-lock{white-space:nowrap}.hero__content>p:not(.eyebrow){color:#ffffffe6;max-width:660px;margin:1.15rem 0 0;font-size:15px;line-height:1.7}.icon-arrow{flex:none;width:1em;height:1em;display:block}.button{cursor:pointer;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:1.3rem;min-height:51px;padding:0 1.2rem;font-size:.875rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:#fff;background:var(--red)}.button--primary:hover{background:#b91e27}.hero__cta{gap:1.25rem;width:fit-content;min-width:0;max-width:100%;margin-top:1.35rem;margin-left:0;padding-left:1.35rem;padding-right:1.35rem;font-size:.875rem}.section-wrap{padding-right:var(--pad);padding-left:var(--pad)}.intro{background:#fff;padding-top:clamp(2.5rem,4vw,4rem);padding-bottom:clamp(3rem,6vw,6rem)}.section-heading{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.8rem;display:flex}.section-heading h2,.about h2,.testimonials h2,.contact h2{max-width:690px;font:700 clamp(2.5rem, 5vw, 4.8rem)/1.04 var(--font-display);letter-spacing:-.07em;margin:0}.section-heading h2 em,.about h2 em,.testimonials h2 em,.contact h2 em{color:var(--red);font-style:normal}.section-heading__aside{max-width:295px;color:var(--muted);margin:0 0 .25rem;font-size:.875rem;line-height:1.75}.services-controls{align-items:center;gap:.65rem;padding-bottom:.2rem;display:flex}.services-control{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #17222a59;border-radius:50%;place-items:center;padding:0;font-size:1.1rem;transition:color .2s,background .2s,border-color .2s;display:grid}.services-control--next,.services-control:hover,.services-control:focus-visible{border-color:var(--ink);color:#fff;background:var(--ink)}.services-carousel{position:relative}.services-all-link{border-bottom:1px solid var(--red);width:fit-content;color:var(--red);align-items:center;gap:1.2rem;margin:1.6rem 0 0 auto;padding-bottom:.35rem;font-size:.875rem;font-weight:700;display:flex}.services-grid{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(25% - .9rem);grid-auto-flow:column;gap:1.2rem;display:grid;overflow-x:auto}.services-grid::-webkit-scrollbar{display:none}.service-card{scroll-snap-align:start;min-width:0}.service-card__image{aspect-ratio:.94;background:var(--surface-deep);isolation:isolate;border-radius:5px;position:relative;overflow:hidden}.service-card__image:after{z-index:0;content:"";pointer-events:none;background:linear-gradient(#080f1500 28%,#080f158f 72%,#080f15e6 100%);position:absolute;inset:0}.service-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.service-card:hover .service-card__image img{transform:scale(1.04)}.service-card__number{z-index:1;color:#fff;letter-spacing:.1em;text-shadow:0 1px 6px #0008;font-size:.875rem;font-weight:700;position:absolute;top:.9rem;left:.9rem}.service-card__body{z-index:1;color:#fff;justify-content:space-between;align-items:end;gap:.7rem;display:flex;position:absolute;bottom:1.15rem;left:1.1rem;right:1.1rem}.service-card__body>div{min-width:0}.service-card h3{font:700 clamp(.95rem, 1.3vw, 1.25rem)/1.15 var(--font-display);letter-spacing:-.035em;margin:0 0 .45rem}.service-card p{color:#ffffffe0;max-width:330px;margin:0;font-size:.875rem;line-height:1.5}.service-card__arrow{border:1px solid #ffffffbf;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;transition:color .2s,background .2s,border-color .2s;display:grid}.service-card:hover .service-card__arrow{border-color:var(--red);color:#fff;background:var(--red)}.portfolio{background:var(--surface);padding-top:clamp(3.2rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}.section-heading--portfolio{align-items:end;margin-bottom:2rem}.section-heading--portfolio h2{max-width:820px}.portfolio-controls{flex:none}.portfolio-carousel{overflow:hidden}.portfolio-grid{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(33.3333% - .8rem);grid-auto-flow:column;gap:1.2rem;display:grid;overflow-x:auto}.portfolio-grid::-webkit-scrollbar{display:none}.portfolio-card{aspect-ratio:.88;background:var(--surface-deep);cursor:pointer;isolation:isolate;scroll-snap-align:start;border:0;border-radius:5px;min-width:0;padding:0;position:relative;overflow:hidden}.portfolio-card:after{z-index:0;content:"";opacity:.92;pointer-events:none;background:linear-gradient(#080f1500 0%,#080f1594 66%,#080f15e6 100%);transition:opacity .3s;position:absolute;inset:35% 0 0}.portfolio-card img{object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease)}.portfolio-card:hover img{transform:scale(1.045)}.portfolio-card:hover:after,.portfolio-card:focus-visible:after{opacity:1}.portfolio-card__title{z-index:1;color:#fff;font:700 clamp(1rem, 1.35vw, 1.25rem)/1.2 var(--font-display);letter-spacing:-.035em;text-align:left;text-shadow:0 1px 8px #0000008c;position:absolute;bottom:1.05rem;left:1rem;right:4rem}.portfolio-card__open,.portfolio-card__play{z-index:2;color:#fff;opacity:1;background:0 0;border:1px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;transition:color .25s,background .25s,border-color .25s;display:grid;position:absolute;bottom:1rem;right:1rem;transform:none}.portfolio-card:hover .portfolio-card__open,.portfolio-card:focus-visible .portfolio-card__open,.portfolio-card:hover .portfolio-card__play,.portfolio-card:focus-visible .portfolio-card__play{border-color:var(--red);color:#fff;background:var(--red)}.portfolio-card__play{color:#fff;font-size:.875rem;left:1rem;right:auto}.portfolio-all-link{margin-top:1.35rem}.projects-page{background:var(--surface);min-height:65vh;padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(4rem,8vw,7rem)}.projects-page__heading{text-align:center;max-width:850px;margin:0 auto clamp(2rem,4vw,3.5rem)}.projects-page__heading .eyebrow{justify-content:center}.projects-page__heading>p:last-child{margin-left:auto;margin-right:auto}.projects-page__heading h1{color:var(--ink);font:700 clamp(2.8rem, 5.5vw, 5rem)/1.02 var(--font-display);letter-spacing:-.07em;margin:0}.projects-page__heading h1 em{color:var(--red);font-style:normal}.projects-page__heading>p:last-child{max-width:620px;color:var(--muted);margin:1rem 0 0;font-size:1rem;line-height:1.7}.projects-page__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.projects-page__card{aspect-ratio:.88}.projects-page__empty{border:1px solid var(--line);min-height:220px;color:var(--muted);text-align:center;border-radius:6px;place-items:center;margin:0;font-size:1rem;display:grid}.projects-page__cta{margin-top:2.25rem}.solutions-directory{background:#f3f5f6;min-height:70vh;padding-top:clamp(3.5rem,7vw,7rem);padding-bottom:clamp(4rem,8vw,8rem)}.solutions-directory__heading{max-width:840px;margin-bottom:clamp(2rem,4vw,3.5rem)}.solutions-directory__heading h1,.solution-detail-hero h1{color:var(--ink);font:700 clamp(2.8rem, 5.5vw, 5rem)/1.02 var(--font-display);letter-spacing:-.07em;margin:0}.solutions-directory__heading h1 em{color:var(--red);font-style:normal}.solutions-directory__heading>p:last-child{color:var(--muted);margin:1.1rem 0 0;font-size:1rem;line-height:1.7}.solutions-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.solution-tile{aspect-ratio:1;color:#fff;isolation:isolate;background:#27323a;border-radius:6px;display:block;position:relative;overflow:hidden}.solution-tile:after{z-index:-1;content:"";background:linear-gradient(#0000 0%,#07101642 28%,#071016c7 64%,#071016f5 100%);position:absolute;inset:28% 0 0}.solution-tile>img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease);position:absolute;inset:0}.solution-tile:hover>img,.solution-tile:focus-visible>img{transform:scale(1.045)}.solution-tile__number{letter-spacing:.12em;font-size:.875rem;font-weight:700;position:absolute;top:1rem;left:1rem}.solution-tile__content{gap:.55rem;display:grid;position:absolute;bottom:1.25rem;left:1.25rem;right:4rem}.solution-tile__content strong{font:700 clamp(1.25rem, 2vw, 1.75rem)/1.12 var(--font-display);letter-spacing:-.04em}.solution-tile__content>span{color:#ffffffdf;font-size:.9rem;line-height:1.5}.solution-tile__arrow{color:#fff;border:1px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;transition:border-color .2s,background .2s;display:grid;position:absolute;bottom:1rem;right:1rem}.solution-tile:hover .solution-tile__arrow,.solution-tile:focus-visible .solution-tile__arrow{border-color:var(--red);background:var(--red)}.solution-detail-hero{background:linear-gradient(110deg, #101116f0, #101116c7), var(--solution-cover) center 48% / cover no-repeat}.solution-detail-hero__inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-top:clamp(3.5rem,7vw,7rem);padding-bottom:clamp(3.5rem,7vw,7rem);display:grid}.solution-detail-hero .eyebrow{color:#ffffffe6;flex-wrap:wrap}.solution-detail-hero h1{color:#fff;max-width:650px}.solution-detail-hero__description{color:#ffffffdb;max-width:560px;margin:1.25rem 0 1.5rem;font-size:1rem;line-height:1.8}.solution-detail-hero .button{width:fit-content}.solution-detail-hero__frame{border:1px solid #d9272ed1;border-radius:12px 12px 96px;width:100%;padding:7px}.solution-detail-hero__image{aspect-ratio:1.18;object-fit:cover;border-radius:5px 5px 82px;width:100%;display:block}.solution-gallery{background:var(--surface);padding-top:clamp(3rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,7vw,6rem)}.solution-gallery__heading{text-align:center;justify-content:center;align-items:center;margin-bottom:clamp(2rem,4vw,3.25rem);display:flex}.solution-gallery__heading h2{color:var(--ink);font:700 clamp(2.5rem, 5vw, 4.25rem)/1.05 var(--font-display);letter-spacing:-.065em;margin:0}.solution-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;display:grid}.solution-gallery__item:nth-child(n+7){display:none}.solution-gallery__grid .solution-gallery__item.is-revealed{display:block}.solution-gallery__item{aspect-ratio:1.15;background:var(--surface-deep);border-radius:5px;margin:0;position:relative;overflow:hidden}.solution-gallery__item img,.solution-gallery__item video{object-fit:cover;width:100%;height:100%}.solution-gallery__item>span{color:#fff;text-shadow:0 1px 8px #0008;font-size:.875rem;font-weight:700;position:absolute;top:.9rem;left:.9rem}.solution-gallery--single .solution-gallery__grid{grid-template-columns:minmax(0,820px);justify-content:center}.solution-gallery--single .solution-gallery__item{aspect-ratio:1.5}.solution-gallery__more{width:fit-content;margin:2rem auto 0;display:block}.solution-gallery__more[hidden]{display:none}.company-hero{isolation:isolate;color:#fff;background:#15191d;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,7vw,7rem);min-height:650px;padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem);display:grid;position:relative;overflow:hidden}.company-hero:before{z-index:-1;opacity:.2;content:"";background:url(/images/about-awning-background.png) 0/cover no-repeat;width:60%;position:absolute;inset:0 auto 0 0;-webkit-mask-image:linear-gradient(90deg,#000 0%,#0000 100%);mask-image:linear-gradient(90deg,#000 0%,#0000 100%)}.company-hero__copy{max-width:620px}.company-hero__copy h1,.company-section-heading h2,.company-intro h2,.company-process h2,.company-cta h2{font:700 clamp(2.8rem, 5.4vw, 5rem)/1.03 var(--font-display);letter-spacing:-.07em;margin:0}.company-hero__copy h1 em,.company-section-heading h2 em,.company-intro h2 em,.company-process h2 em,.company-cta h2 em{color:var(--red);font-style:normal}.company-hero__copy>p:not(.eyebrow){color:#d1d9de;max-width:520px;margin:1.35rem 0 1.8rem;font-size:1rem;line-height:1.8}.company-hero__visual{background:#202a30;border-radius:5px 5px 100px;height:clamp(430px,43vw,610px);margin:0;position:relative;overflow:hidden}.company-hero__visual>img{object-fit:cover;object-position:center 52%;width:100%;height:100%}.company-hero__visual figcaption{backdrop-filter:blur(12px);background:#101820df;border:1px solid #ffffff45;border-radius:5px;align-items:center;gap:.75rem;width:fit-content;max-width:calc(100% - 2.2rem);padding:.55rem 1rem .55rem .55rem;display:flex;position:absolute;bottom:1.1rem;left:1.1rem;right:1.1rem}.company-hero__visual figcaption img{object-fit:cover;border-radius:50%;width:46px;height:46px}.company-hero__visual figcaption span{gap:.2rem;display:grid}.company-hero__visual figcaption strong{letter-spacing:.08em;font-size:.875rem}.company-hero__visual figcaption small{color:#ffffffc2;font-size:.875rem}.company-intro{background:#fff;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,8vw,8rem);padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(5rem,9vw,8rem);display:grid}.company-intro__label{padding-top:.5rem}.company-intro h2{max-width:800px;color:var(--ink);font-size:clamp(2.5rem,4.6vw,4.35rem)}.company-intro__copy>p{max-width:760px;color:var(--muted);font-size:1rem;line-height:1.85}.company-intro__copy>p:first-of-type{margin-top:1.5rem}.company-section-heading{max-width:820px;margin-bottom:clamp(2rem,4vw,3.2rem)}.company-section-heading h2{color:var(--ink)}.company-audiences{background:#f3f5f6;padding-top:clamp(4rem,7vw,6rem);padding-bottom:clamp(4rem,7vw,6rem)}.company-audiences__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.company-audiences__grid article{background:#fff;border:1px solid #17222a18;min-height:230px;padding:clamp(1.4rem,3vw,2.2rem)}.company-audiences__grid article>span,.company-process__steps li>span{color:var(--red);letter-spacing:.12em;font-size:.875rem;font-weight:700}.company-audiences__grid h3,.company-process__steps h3{color:var(--ink);font:700 1.4rem/1.2 var(--font-display);letter-spacing:-.035em;margin:1.5rem 0 .65rem}.company-audiences__grid p,.company-process__steps p{color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.company-process{color:#fff;background:#15191d;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem);display:grid}.company-process h2{color:#fff}.company-process>div>p:not(.eyebrow){color:#d1d9de;max-width:490px;margin-top:1.2rem;font-size:1rem;line-height:1.8}.company-process__steps{margin:0;padding:0;list-style:none}.company-process__steps li{border-top:1px solid #ffffff35;grid-template-columns:44px 1fr;gap:1rem;padding:1.2rem 0;display:grid}.company-process__steps li:last-child{border-bottom:1px solid #ffffff35}.company-process__steps h3{color:#fff;margin:0 0 .45rem}.company-process__steps p{color:#c4cbd0}.company-locations{background:#f3f5f6;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem);display:grid}.company-locations__address,.company-locations__areas{min-width:0}.company-locations__areas{border-left:1px solid var(--line);padding-left:clamp(2rem,5vw,5rem)}.company-locations__address-line{align-items:center;gap:1rem;min-height:94px;display:flex}.company-locations__pin{color:#fff;background:var(--red);border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid}.company-locations__pin svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:27px;height:27px}.company-locations h2{color:var(--ink);font:700 clamp(1.7rem, 3vw, 2.5rem)/1.15 var(--font-display);letter-spacing:-.045em;margin:0}.company-locations__areas ul{flex-wrap:wrap;gap:.65rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.company-locations__areas li{color:var(--ink);background:#fff;border:1px solid #17222a24;border-radius:999px;padding:.65rem .9rem;font-size:.9rem}.company-cta{color:#fff;background:#20272c;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem)}.company-cta h2{max-width:820px}.company-cta>p:not(.eyebrow){color:#d1d9de;max-width:660px;margin:1.2rem 0 1.7rem;font-size:1rem;line-height:1.8}.project-dialog{width:min(1060px,100vw - 2rem);max-width:none;max-height:min(88vh,820px);color:var(--ink);background:#fff;border:0;border-radius:10px;padding:0;position:fixed;overflow:visible;box-shadow:0 24px 90px #0004}.project-dialog::backdrop{backdrop-filter:blur(4px);background:#0a1116c2}.project-dialog__layout{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);min-height:480px;max-height:min(88vh,820px);display:grid}.project-dialog__media{background:#101820;border-radius:10px 0 0 10px;place-items:center;min-width:0;display:grid;overflow:hidden}.project-dialog__media img,.project-dialog__media video{object-fit:contain;width:100%;height:100%;max-height:min(88vh,820px);display:block}.project-dialog__copy{align-self:center;padding:clamp(1.5rem,4vw,3.5rem)}.project-dialog__copy .eyebrow{margin-bottom:1rem}.project-dialog__copy h3{font:700 clamp(1.7rem, 3vw, 2.8rem)/1.08 var(--font-display);letter-spacing:-.055em;margin:0 0 1rem}.project-dialog__copy>p:not(.eyebrow){color:var(--muted);margin:0;font-size:.9rem;line-height:1.8}.project-dialog__quote{width:fit-content;margin-top:1.5rem}.project-dialog__close{z-index:2;width:42px;height:42px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;font-size:1.6rem;display:grid;position:absolute;top:.8rem;right:.8rem;box-shadow:0 2px 10px #0002}.project-dialog--video .project-dialog__layout{grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr)}.project-dialog--video .project-dialog__media video{aspect-ratio:9/16;object-fit:contain;width:auto;max-width:100%}.about{isolation:isolate;color:#fff;background:#15191d;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(3rem,8vw,8rem);padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem);display:grid;position:relative;overflow:hidden}.about:before{z-index:0;opacity:.26;pointer-events:none;content:"";background:url(/images/about-awning-background.png) 0/cover no-repeat;width:min(66vw,1040px);position:absolute;inset:0 auto 0 0;-webkit-mask-image:linear-gradient(90deg,#000 0% 42%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 42%,#0000 100%)}.about__photo,.about__copy{z-index:1}.about__photo{background:#182027;border-radius:5px 5px 110px;height:clamp(560px,54vw,760px);min-height:0;position:relative;overflow:hidden}.about__photo>img{object-fit:cover;object-position:center 52%;width:100%;height:100%;position:absolute;inset:0}.about__location{color:#fff;backdrop-filter:blur(12px);background:#101820d9;border:1px solid #ffffff35;border-radius:4px;align-items:center;gap:.8rem;width:fit-content;max-width:calc(100% - 2.4rem);padding:.55rem 1rem .55rem .55rem;display:flex;position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem}.about__location>img{object-fit:cover;border-radius:50%;flex:0 0 52px;width:52px;height:52px;position:static}.about__location>span{gap:.25rem;display:grid}.about__location strong{letter-spacing:.13em;font-size:.875rem}.about__location small{color:#ffffffb8;font-size:.875rem}.about__copy .eyebrow{color:#fff}.about__copy h2{max-width:660px}.about__copy>p:not(.eyebrow){color:#d1d9de;max-width:520px;font-size:.88rem;line-height:1.85}.about__cta{gap:1.25rem;width:fit-content;max-width:100%;margin-top:1rem;font-size:.875rem;display:inline-flex}.testimonials{background:#fff;padding-top:clamp(3.5rem,7vw,7rem);padding-bottom:clamp(3.5rem,7vw,7rem)}.testimonials__heading{text-align:center;justify-content:center;margin-bottom:2.2rem}.testimonials__heading>div{justify-items:center;display:grid}.testimonials__heading .eyebrow{justify-content:center}.testimonials__heading h2{max-width:900px}.testimonials__carousel{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:1rem;display:grid}.testimonials__control{border-color:var(--red);color:var(--red);background:0 0;justify-self:center}.testimonials__control:hover,.testimonials__control:focus-visible{border-color:var(--red);color:#fff;background:var(--red)}.testimonials__track{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(33.3333% - .8rem);grid-auto-flow:column;gap:1.2rem;display:grid;overflow-x:auto}.testimonials__track::-webkit-scrollbar{display:none}.testimonial-card{border:1px solid var(--line);scroll-snap-align:start;background:#fff;border-radius:8px;flex-direction:column;min-height:285px;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.testimonial-card__quote,.testimonials__mark{color:var(--red);font:700 4.5rem/.8 Georgia,serif;display:block}.testimonial-card__rating{color:var(--gold);letter-spacing:.12em;margin-bottom:.1rem;font-size:1rem}.testimonial-card blockquote{font:500 clamp(1rem, 1.5vw, 1.3rem)/1.55 var(--font-display);letter-spacing:-.025em;flex:1;margin:1.4rem 0 2rem}.testimonial-card>p{gap:.25rem;margin:0;font-size:.875rem;display:grid}.testimonial-card small{color:var(--muted);font-size:.875rem}.testimonials__empty{border:1px solid var(--line);background:#f7f8f9;border-radius:8px;justify-content:center;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);min-height:220px;padding:clamp(1.5rem,4vw,3rem);display:flex}.testimonials__empty>div{gap:.6rem;display:grid}.testimonials__empty strong{font:650 clamp(1.1rem, 2vw, 1.55rem)/1.3 var(--font-display);letter-spacing:-.03em}.testimonials__empty p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.7}.contact{isolation:isolate;background:radial-gradient(at 12% 18%,#d9272e73,#0000 42%),radial-gradient(at 88% 86%,#3c0c1238,#0000 46%),linear-gradient(125deg,#a8212a 0%,#c32932 54%,#951d26 100%);grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid;position:relative}.contact .eyebrow,.contact__copy h2{color:#fff}.contact__copy h2 em{color:#ffbdc1}.contact__copy>p:not(.eyebrow){color:#f1dfe1;max-width:440px;margin:1rem 0 2rem;font-size:.875rem;line-height:1.75}.contact-channel{color:#fff;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;align-items:center;gap:.85rem;padding:1rem 0;display:flex}.contact-channel__symbol{color:#fff;background:#21845b;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.contact-channel__symbol svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px;height:22px;display:block}.contact-channel__symbol svg path:last-child{fill:currentColor;stroke:none}.contact-channel--instagram .contact-channel__symbol{background:linear-gradient(145deg,#6d3fb4,#d44770 58%,#f0a148)}.contact-channel--instagram .contact-channel__symbol svg path:last-child{fill:currentColor}.contact-channel--instagram .contact-channel__symbol .instagram-icon__dot{fill:currentColor;stroke:none}.contact-channel>span:nth-child(2){gap:.2rem;display:grid}.contact-channel small{color:#f2dfe1;font-size:.875rem}.contact-channel strong{font-size:.875rem}.contact-channel__end{color:#fff;white-space:nowrap;background:#16814f;border-radius:999px;margin-left:auto;padding:.7rem 1rem;font-size:.875rem;font-weight:700;transition:background .2s,transform .2s}.contact-channel:hover .contact-channel__end{background:#116b41;transform:translateY(-1px)}.contact-channel--instagram .contact-channel__end{background:linear-gradient(110deg,#7546b8,#d44770 62%,#e58a46)}.contact-channel--instagram:hover .contact-channel__end{background:linear-gradient(110deg,#6339a1,#c53661 62%,#d87834)}.contact-channel--instagram{border:0;margin-top:.8rem}.contact-channel--instagram .contact-channel__symbol{color:#fff;background:#b72e65;font-size:1.3rem}.contact-location{color:#fff;border-top:1px solid #ffffff40;align-items:center;gap:.85rem;margin-top:.8rem;padding:1rem 0 .65rem;display:flex}.contact-location .contact-channel__symbol{background:#ffffff18}.contact-location .contact-channel__symbol svg path{fill:none;stroke:currentColor;stroke-width:1.8px}.contact-location>span:nth-child(2){gap:.2rem;display:grid}.contact-location small{color:#f2dfe1;font-size:.875rem}.contact-location strong{font-size:.875rem}.quote-form{color:#fff;background:#252b30;border:1px solid #ffffff18;border-radius:8px;align-self:center;padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 22px 60px #23141621}.quote-form__heading{margin-bottom:1.25rem}.quote-form__heading>span{color:#ff6b72;letter-spacing:.1em;font-size:.875rem;font-weight:700}.quote-form__heading h3{font:700 1.45rem var(--font-display);letter-spacing:-.05em;margin:.5rem 0 .3rem}.quote-form__heading p{color:#c2c9ce;margin:0;font-size:.875rem;line-height:1.55}.quote-form label{color:#f4f5f6;gap:.4rem;margin-bottom:.9rem;font-size:.875rem;font-weight:700;display:grid}.quote-form input:not([type=file]),.quote-form select{color:#fff;background:#363d43;border:1px solid #ffffff24;border-radius:4px;outline:none;width:100%;min-height:46px;padding:0 .8rem;font-size:.875rem;font-weight:400}.quote-form input:focus,.quote-form select:focus{border-color:var(--red);box-shadow:0 0 0 2px #cf293133}.quote-form input::placeholder{color:#b9c0c5}.quote-form textarea{color:#fff;resize:vertical;background:#363d43;border:1px solid #ffffff24;border-radius:4px;outline:none;width:100%;min-height:90px;padding:.7rem .8rem;font-size:.875rem;font-weight:400}.quote-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px #cf293133}.quote-form textarea::placeholder{color:#b9c0c5}.field-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.upload-field{cursor:pointer;border:1px dashed #ffffff5c;align-items:center;min-height:63px;padding:.55rem .7rem;position:relative;gap:.7rem!important;display:flex!important}.upload-field input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-field__icon{color:#fff;background:#3b454c;border-radius:50%;place-items:center;width:32px;height:32px;font-size:1.2rem;display:grid}.upload-field>span:nth-of-type(2){gap:.2rem;display:grid}.upload-field strong{font-size:.875rem}.upload-field small{color:#c2c9ce;font-size:.875rem;font-weight:400}.upload-field__arrow{color:#fff;margin-left:auto}.quote-form__submit{width:100%;margin-top:.3rem}.form-status{color:#c2c9ce;margin:.6rem 0 0;font-size:.875rem}.site-footer{padding:2rem var(--pad) 1.4rem;color:#fff;background:#101116;grid-template-columns:1fr 1fr auto;align-items:center;gap:1.5rem;display:grid}.brand--footer .brand__logo{width:44px;height:44px}.brand--footer .brand__name{font-size:.875rem}.site-footer>p{color:#c4c8cc;margin:0;font-size:.875rem}.site-footer nav{flex-wrap:wrap;gap:1.2rem;font-size:.875rem;font-weight:600;display:flex}.site-footer>small{color:#c4c8cc;border-top:1px solid #ffffff2e;grid-column:1/-1;padding-top:1rem;font-size:.875rem}.whatsapp-float{z-index:20;color:#fff;background:#16814f;border-radius:999px;align-items:center;gap:.55rem;min-height:50px;padding:0 1rem;font-size:.875rem;transition:transform .2s;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 9px 25px #17222a33}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float>span{flex:0 0 25px;place-items:center;width:25px;height:25px;display:grid}.whatsapp-float>span svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:25px;height:25px;display:block}.whatsapp-float>span svg path:last-child{fill:currentColor;stroke:none}.whatsapp-float i{font-style:normal}@media (width>=1500px){:root{--pad:max(6vw, calc((100vw - 1320px) / 2))}}@media (width<=900px){:root{--pad:5vw}.hero__image{min-height:540px}.hero h1{font-size:clamp(2.8rem,5.2vw,4.25rem)}.section-heading{gap:2rem}.services-grid{grid-auto-columns:calc(50% - .5rem);gap:1rem}.service-card h3{font-size:1rem}.about{gap:3rem}.about:before{opacity:.17}.about__photo{height:clamp(440px,122vw,600px);min-height:0}.solutions-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.solution-detail-hero__inner{gap:2rem}.solution-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{gap:2.5rem}.company-hero{gap:2rem;min-height:560px}.company-hero__visual{height:clamp(400px,52vw,520px)}.company-process{gap:2.5rem}}@media (width<=680px){html{scroll-padding-top:5rem}.site-header{min-height:72px}.brand__logo{width:45px;height:45px}.brand__name,.brand__name span{font-size:.875rem}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:50%;place-content:center;gap:5px;width:42px;height:42px;display:grid}.menu-toggle span{background:var(--ink);width:17px;height:1.5px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.nav{padding:0 var(--pad);visibility:hidden;opacity:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px)}.nav--open{visibility:visible;opacity:1;padding-bottom:1rem;transform:translateY(0);box-shadow:0 18px 20px #17222a16}.nav>a:not(.nav__cta){border-top:1px solid var(--line);padding:1rem 0}.nav__cta{justify-content:space-between;margin-top:.5rem}.hero{grid-template-columns:minmax(0,1fr);gap:.8rem;padding-bottom:4rem;display:grid}.hero__image{border-radius:5px 5px 5px 65px;min-height:clamp(650px,145vw,780px)}.hero__image>img{object-position:56% center}.hero__shade{background:linear-gradient(90deg,#000000c2 0%,#00000094 48%,#00000047 78%,#00000014 100%)}.hero__content{width:auto;max-width:560px;inset:auto 1.2rem 2rem 1.35rem;transform:none}.hero h1{letter-spacing:-.06em;max-width:100%;font-size:clamp(2rem,8vw,3rem)}.hero__content>p:not(.eyebrow){max-width:560px;font-size:15px}.hero__cta{margin-top:1.1rem;padding-left:1.1rem;padding-right:1.1rem;font-size:.875rem}.section-heading{margin-bottom:2rem;display:block}.section-heading h2,.about h2,.testimonials h2,.contact h2{font-size:clamp(2.6rem,10vw,4rem)}.section-heading__aside{max-width:450px;margin-top:1rem;font-size:.875rem}.services-grid{grid-auto-columns:82%;gap:.8rem}.services-controls{justify-content:flex-end;margin-top:1.5rem}.service-card__image{aspect-ratio:.92}.service-card__body{bottom:.95rem;left:.9rem;right:.9rem}.service-card h3{font-size:1.05rem}.service-card p{font-size:.875rem}.section-heading--portfolio{align-items:end;gap:1rem;display:flex}.section-heading--portfolio h2{font-size:clamp(2.25rem,9vw,3.6rem)}.portfolio-controls{margin:0 0 .2rem}.portfolio-grid{grid-auto-columns:82%;gap:.8rem}.portfolio-card{aspect-ratio:.9}.portfolio-card__open,.portfolio-card__play{width:38px;height:38px}.project-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);overflow-y:auto}.project-dialog__layout,.project-dialog--video .project-dialog__layout{grid-template-columns:1fr;max-height:none}.project-dialog__media{border-radius:10px 10px 0 0;min-height:42vh;max-height:54vh}.project-dialog__media img,.project-dialog__media video{max-height:54vh}.project-dialog__copy{padding:1.4rem}.project-dialog--video .project-dialog__media{min-height:50vh}.project-dialog--video .project-dialog__media video{width:auto;max-width:100%;height:50vh}.about{grid-template-columns:1fr;gap:2rem}.about:before{opacity:.11;background-position:28%;width:100%;-webkit-mask-image:linear-gradient(90deg,#000 0% 22%,#0000 82%);mask-image:linear-gradient(90deg,#000 0% 22%,#0000 82%)}.about__photo{height:clamp(420px,128vw,560px);min-height:0}.about__copy>p:not(.eyebrow){font-size:.875rem}.services-all-link{margin-top:1.2rem}.solutions-directory__grid{grid-template-columns:1fr;gap:.85rem}.solution-tile{aspect-ratio:1.05}.solution-tile__content strong{font-size:1.5rem}.solution-detail-hero__inner{grid-template-columns:1fr;gap:1.8rem;padding-top:3rem;padding-bottom:3rem}.solution-detail-hero h1{font-size:clamp(2.6rem,10vw,4rem)}.solution-detail-hero__frame{border-bottom-right-radius:70px;padding:6px}.solution-detail-hero__image{aspect-ratio:1.05;border-bottom-right-radius:58px}.solution-gallery__heading{gap:.2rem;display:grid}.solution-gallery__grid,.solution-gallery--single .solution-gallery__grid{grid-template-columns:1fr}.solution-gallery__item:nth-child(n+4){display:none}.solution-gallery__item,.solution-gallery--single .solution-gallery__item{aspect-ratio:1.1}.company-hero{grid-template-columns:1fr;gap:2rem;min-height:0;padding-top:3rem;padding-bottom:3rem}.company-hero__copy h1,.company-section-heading h2,.company-intro h2,.company-process h2,.company-cta h2{font-size:clamp(2.55rem,10vw,4rem)}.company-hero__visual{border-bottom-right-radius:72px;height:clamp(380px,105vw,520px)}.company-intro{grid-template-columns:1fr;gap:1.4rem;padding-top:3.5rem;padding-bottom:3.5rem}.company-audiences{padding-top:3.5rem;padding-bottom:3.5rem}.company-audiences__grid{grid-template-columns:1fr;gap:.75rem}.company-audiences__grid article{min-height:0;padding:1.35rem}.company-audiences__grid h3{margin-top:.9rem}.company-process,.company-locations{grid-template-columns:1fr;gap:2rem;padding-top:3.5rem;padding-bottom:3.5rem}.company-locations__areas{border-top:1px solid var(--line);border-left:0;padding:2rem 0 0}.company-cta{padding-top:3.5rem;padding-bottom:3.5rem}.testimonials__carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:.45rem}.testimonials__track{grid-auto-columns:100%;gap:.8rem}.testimonials__empty{min-height:185px}.contact{grid-template-columns:1fr;gap:2.2rem}.quote-form{padding:1.1rem}.field-row{grid-template-columns:1fr;gap:0}.contact-channel__end{font-size:.875rem}.site-footer{grid-template-columns:1fr;gap:1rem;padding-top:1.5rem}.site-footer>p{margin-top:-.5rem}.site-footer nav{gap:.8rem 1.15rem}.whatsapp-float{min-height:49px;bottom:.8rem;right:.8rem}}@media (width<=380px){:root{--pad:1rem}.hero__image{min-height:520px}.hero h1{font-size:2rem}.button{padding:0 .9rem;font-size:.875rem}.contact-channel{flex-wrap:wrap}.contact-channel__end{margin-left:53px}.contact-channel strong{font-size:.875rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.contact-page__intro{background:#fff;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(2rem,4vw,3.5rem)}.contact-page__intro h1{max-width:850px;color:var(--ink);font:750 clamp(2.8rem, 6vw, 5.5rem)/.98 var(--font-display);letter-spacing:-.07em;margin:0}.contact-page__intro h1 em{color:var(--red);font-style:normal}.contact-page__intro>p:last-child{max-width:610px;color:var(--muted);font-size:1rem;line-height:1.75}.admin-shell{--admin-bg:#f3f5f6;--admin-line:#e0e5e8;background:var(--admin-bg);min-height:100vh;color:var(--ink);grid-template-columns:256px minmax(0,1fr);display:grid}.admin-sidebar{border-right:1px solid var(--admin-line);background:#fff;flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.admin-brand{font:800 .875rem/1.05 var(--font-display);letter-spacing:.045em;align-items:center;gap:.7rem;padding:.35rem .6rem 1.7rem;display:flex}.admin-brand img{object-fit:cover;border-radius:50%;width:44px;height:44px}.admin-brand small{color:var(--blue);letter-spacing:.12em;margin-top:.35rem;font-size:.875rem;display:block}.admin-nav{gap:.35rem;display:grid}.admin-nav button,.admin-nav>a,.admin-back{color:#54616a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:.75rem;min-height:45px;padding:0 .8rem;font-size:.875rem;font-weight:600;display:flex}.admin-nav button>span,.admin-nav>a>span{color:#83909a;text-align:center;width:20px;font-size:1.15rem}.admin-nav button b{color:var(--red);background:#cf293114;border-radius:99px;margin-left:auto;padding:.15rem .45rem;font-size:.875rem}.admin-nav button:hover,.admin-nav button.is-active,.admin-nav>a:hover,.admin-nav>a.is-active{color:var(--blue);background:#15518a0d}.admin-nav button.is-active>span,.admin-nav>a.is-active>span{color:var(--blue)}.admin-back{color:var(--blue);margin-top:auto}.admin-main{width:min(100%,1440px);margin:0 auto;padding:0 clamp(1.25rem,4vw,3.8rem) 2rem}.admin-topbar{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:center;min-height:90px;display:flex}.admin-topbar h1{font:750 1.55rem/1.15 var(--font-display);letter-spacing:-.045em;margin:.25rem 0 0}.admin-kicker{color:var(--blue);letter-spacing:.13em;margin:0;font-size:.875rem;font-weight:800}.admin-user{align-items:center;gap:.65rem;font-size:.875rem;font-weight:700;display:flex}.admin-user>i{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:38px;height:38px;font-size:.875rem;font-style:normal;display:grid}.admin-user small{color:#78858d;margin-top:.2rem;font-size:.875rem;font-weight:500;display:block}.admin-preview-notice{color:#69551f;background:#fff9e9;border:1px solid #e3d7b4;border-radius:7px;margin:1.2rem 0 1.5rem;padding:.85rem 1rem;font-size:.875rem;line-height:1.55}.admin-preview-notice span{color:#8a6710;margin-right:.5rem;font-weight:800}.admin-view{animation:.32s both admin-appear;display:none}.admin-view.is-current{display:block}.admin-view[hidden]{display:none}@keyframes admin-appear{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.admin-welcome{color:#fff;background:radial-gradient(at 90% 5%,#32678f 0,#0000 42%),linear-gradient(120deg,#101a22,#173d5d);border-radius:10px;justify-content:space-between;align-items:center;min-height:245px;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.admin-welcome h2{font:750 clamp(2rem, 4.6vw, 3.6rem)/1 var(--font-display);letter-spacing:-.065em;margin:.8rem 0 .55rem}.admin-welcome p:last-child{color:#d6e0e6;max-width:440px;margin:0;font-size:.9rem;line-height:1.6}.admin-welcome .admin-kicker{color:#f1bd4c}.admin-welcome__mark{aspect-ratio:1;color:#ffffff20;width:clamp(100px,17vw,190px);font:800 clamp(2rem, 6vw, 5rem) var(--font-display);border:1px solid #ffffff38;border-radius:50%;place-items:center;display:grid}.admin-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 2rem;display:grid}.admin-stats article{border:1px solid var(--admin-line);background:#fff;border-radius:8px;gap:.35rem;padding:1.25rem;display:grid}.admin-stats article>span{color:#66747c;font-size:.875rem}.admin-stats strong{font:750 2rem/1 var(--font-display)}.admin-stats small{color:#859199;font-size:.875rem}.admin-section-head{justify-content:space-between;align-items:end;gap:1.5rem;margin:2rem 0 1.2rem;display:flex}.admin-section-head h2{font:750 clamp(1.5rem, 3vw, 2.1rem)/1.1 var(--font-display);letter-spacing:-.05em;margin:.35rem 0}.admin-section-head p:last-child{color:#697780;max-width:680px;margin:.45rem 0 0;font-size:.875rem;line-height:1.6}.admin-button{color:#fff;background:var(--red);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:43px;padding:0 1rem;font-size:.875rem;font-weight:750;transition:transform .2s,background .2s;display:inline-flex}.admin-button:hover{background:#b91f28;transform:translateY(-1px)}.admin-button--quiet{border:1px solid var(--admin-line);color:var(--ink);background:#fff}.admin-button--quiet:hover{background:#edf1f3}.admin-shortcuts{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.admin-shortcuts button{border:1px solid var(--admin-line);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:.45rem;min-height:145px;padding:1.1rem;display:grid;position:relative}.admin-shortcuts button:hover{border-color:#9eb5c7;box-shadow:0 10px 25px #17222a0c}.admin-shortcuts button>span{color:var(--red);font-size:.875rem;font-weight:800}.admin-shortcuts strong{font-size:.9rem}.admin-shortcuts small{color:#6f7d85;max-width:235px;font-size:.875rem;line-height:1.5}.admin-shortcuts i{color:var(--blue);font-style:normal;position:absolute;top:1rem;right:1rem}.admin-filterbar{border:1px solid var(--admin-line);background:#fff;border-radius:8px;gap:.8rem;margin-bottom:1rem;padding:1rem;display:flex}.admin-filterbar label,.admin-settings label,.admin-editor__field{color:#4c5a62;flex:1;gap:.4rem;font-size:.875rem;font-weight:700;display:grid}.admin-filterbar input,.admin-filterbar select,.admin-settings input,.admin-settings textarea,.admin-editor input:not([type=checkbox]),.admin-editor textarea,.admin-editor select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #dce2e5;border-radius:5px;outline:0;padding:.65rem .75rem;font-size:.875rem;font-weight:450}.admin-filterbar input:focus,.admin-filterbar select:focus,.admin-settings input:focus,.admin-settings textarea:focus,.admin-editor input:focus,.admin-editor textarea:focus,.admin-editor select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #15518a13}.admin-table-wrap{border:1px solid var(--admin-line);background:#fff;border-radius:8px;overflow:hidden}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.admin-table th{color:#718089;letter-spacing:.05em;text-transform:uppercase;background:#f8f9fa;padding:.8rem;font-size:.875rem}.admin-table td{vertical-align:middle;border-top:1px solid #edf0f1;padding:.85rem .8rem}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{color:#7b878e;margin-top:.2rem}.admin-table td select{border:1px solid var(--admin-line);background:#fff;border-radius:5px;padding:.4rem .5rem;font-size:.875rem}.admin-icon-button{border:1px solid var(--admin-line);color:#74828a;cursor:pointer;background:#fff;border-radius:50%;width:31px;height:31px;font-size:1.2rem}.admin-icon-button:hover{color:var(--red);border-color:#e9b4b7}.admin-empty{color:#64727a;text-align:center;place-content:center;justify-items:center;min-height:220px;padding:2rem;display:grid}.admin-empty[hidden]{display:none}.admin-empty>span{color:#aab6bd;margin-bottom:.5rem;font-size:1.7rem}.admin-empty strong{color:var(--ink);font-size:.9rem}.admin-empty p{max-width:370px;margin:.4rem 0 0;font-size:.875rem;line-height:1.5}.admin-record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.admin-record{border:1px solid var(--admin-line);background:#fff;border-radius:8px;overflow:hidden}.admin-record__media{aspect-ratio:1.65;background:#dce4e8;place-items:center;display:grid;position:relative;overflow:hidden}.admin-record__media>img{object-fit:cover;width:100%;height:100%}.admin-record__media>span:first-child:not(.admin-record__status){color:#8b9ba4;font:800 2rem var(--font-display)}.admin-record__status{color:#6d5555;background:#fff;border-radius:99px;padding:.3rem .5rem;font-size:.875rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.admin-record__status.is-published{color:#18764c;background:#e5f5ed}.admin-record__body{padding:.85rem}.admin-record__body>strong{font-size:.9rem}.admin-record__body>p{color:#697780;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:.35rem 0 .75rem;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.admin-record__body>div{border-top:1px solid #edf0f1;justify-content:space-between;padding-top:.65rem;display:flex}.admin-record__body button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:.875rem;font-weight:700}.admin-record__body button:last-child{color:#a44c51}.admin-settings{gap:1rem;max-width:900px;display:grid}.admin-settings__group{border:1px solid var(--admin-line);background:#fff;border-radius:8px;gap:1rem;padding:1.2rem;display:grid}.admin-settings__group>.admin-kicker{border-bottom:1px solid #edf0f1;padding-bottom:.7rem}.admin-settings__row{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.admin-settings textarea{resize:vertical}.admin-settings label small{color:#7d8990;font-weight:500}.admin-form-status{color:#18764c;margin:0;font-size:.875rem}.admin-footer{border-top:1px solid var(--admin-line);color:#7a878f;margin-top:3rem;padding-top:1rem;font-size:.875rem}.admin-footer span{color:var(--red);padding:0 .3rem}.admin-dialog{width:min(650px,100vw - 1.5rem);max-height:min(90vh,850px);color:var(--ink);background:#fff;border:0;border-radius:10px;padding:0;box-shadow:0 30px 90px #10111655}.admin-dialog::backdrop{backdrop-filter:blur(3px);background:#101116a6}.admin-editor{gap:.95rem;max-height:min(90vh,850px);padding:1.6rem;display:grid;position:relative;overflow:auto}.admin-dialog__close{border:1px solid var(--admin-line);color:#52616a;cursor:pointer;background:#fff;border-radius:50%;width:35px;height:35px;font-size:1.3rem;position:absolute;top:1rem;right:1rem}.admin-editor h2{font:750 1.7rem var(--font-display);letter-spacing:-.05em;margin:-.65rem 0 0}.admin-editor__field textarea{resize:vertical}.admin-editor__field small{color:#79868d;font-size:.875rem;font-weight:450;line-height:1.45}.admin-editor__field--check{align-items:center;gap:.65rem;display:flex}.admin-editor__field--check input{width:18px;height:18px;accent-color:var(--blue)}.admin-editor__actions{border-top:1px solid var(--admin-line);justify-content:end;gap:.65rem;padding-top:.5rem;display:flex}@media (width<=1020px){.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.admin-shell{display:block}.admin-sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--admin-line);width:100%;height:auto;padding:.65rem .8rem;position:sticky}.admin-brand{padding:.2rem .35rem .6rem}.admin-brand img{width:36px;height:36px}.admin-nav{scrollbar-width:none;gap:.35rem;display:flex;overflow-x:auto}.admin-nav button,.admin-nav>a{white-space:nowrap;flex:none;min-height:39px;padding:0 .65rem;font-size:.875rem}.admin-nav button>span,.admin-nav>a>span{display:none}.admin-nav button b{padding:.1rem .35rem}.admin-back{display:none}.admin-main{padding:0 .9rem 1.5rem}.admin-topbar{min-height:74px}.admin-user>span{display:none}.admin-preview-notice{font-size:.875rem}.admin-welcome{min-height:205px}.admin-welcome__mark{opacity:.65;position:absolute;right:-1.3rem}.admin-stats{grid-template-columns:1fr;gap:.55rem}.admin-stats article{grid-template-columns:1fr auto;align-items:center;padding:.8rem .9rem}.admin-stats article>span{grid-column:1}.admin-stats strong{grid-area:1/2/span 2}.admin-stats small{grid-column:1}.admin-shortcuts{grid-template-columns:1fr}.admin-shortcuts button{min-height:120px}.admin-section-head{flex-direction:column;align-items:start;gap:.75rem}.admin-filterbar,.admin-settings__row{grid-template-columns:1fr;display:grid}.admin-table-wrap{overflow-x:auto}.admin-table{min-width:700px}.admin-record-grid{grid-template-columns:1fr}.admin-editor{padding:1.25rem}.contact-page__intro h1{font-size:clamp(2.6rem,12vw,4rem)}}.admin-dialog{width:min(940px,100vw - 1.5rem);max-height:92dvh}.admin-editor{flex-direction:column;gap:0;max-height:92dvh;padding:0;display:flex;overflow:hidden}.admin-editor-header{border-bottom:1px solid var(--admin-line);background:#fff;flex:none;padding:1.3rem 1.5rem 0;position:relative}.admin-editor-header h2{margin:.3rem 2rem 1rem 0}.admin-editor-nav{gap:.4rem;padding:0 0 .85rem;display:flex;overflow:auto}.admin-editor-nav button{border:1px solid var(--admin-line);font:inherit;color:var(--blue);cursor:pointer;background:#f4f7fa;border-radius:20px;flex:none;padding:.5rem .9rem;font-size:.875rem}.admin-editor-nav button:hover,.admin-editor-nav button:focus-visible{background:var(--blue);color:#fff}.admin-editor-content{overscroll-behavior:contain;background:#f3f5f7;flex:1;gap:1.2rem;min-height:0;padding:1.5rem;display:grid;overflow-y:auto}.admin-editor-section{border:1px solid var(--admin-line);background:#fff;border-radius:10px;gap:1rem;padding:1.35rem;scroll-margin-top:1rem;display:grid}.admin-editor-section h3{color:var(--ink);margin:0;font-size:1.25rem}.admin-editor-section header p{color:#556570;margin:.4rem 0 0;font-size:.875rem;line-height:1.5}.admin-editor-footer{border-top:1px solid var(--admin-line);background:#fff;flex:none;padding:.8rem 1.5rem 1.1rem}.admin-editor__actions{border:0;padding:0}.admin-editor-status{color:#24603c;margin:0 0 .5rem;font-size:.875rem;line-height:1.4}.admin-editor-status:empty{display:none}.admin-editor-status.is-error{color:#b31d26;font-weight:600}.admin-cover-preview{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.admin-cover-preview img{aspect-ratio:16/9;object-fit:contain;background:#edf1f3;border-radius:8px;width:min(100%,420px);max-height:240px}.admin-media-empty{color:#52636f;text-align:center;background:#f6f8fa;border:1px dashed #bccad3;border-radius:8px;place-items:center;width:100%;min-height:100px;margin:0;padding:1rem;font-size:.875rem;display:grid}.admin-upload{color:var(--blue);background:#f4f8fc;border:1px dashed #9cbbd2;border-radius:8px;gap:.6rem;padding:1rem;font-size:.875rem;font-weight:700;display:grid}.admin-upload small,.admin-youtube-add small{color:#52636f;font-size:.875rem;font-weight:400}.admin-upload input::file-selector-button{font:inherit;background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:5px;margin-right:.65rem;padding:.65rem .85rem;font-weight:700}.admin-editor input[type=file]{background:0 0;border:0;padding:.4rem}.admin-gallery-count{color:#52636f;margin:0;font-size:.875rem}.admin-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.admin-gallery-grid>.admin-media-empty{grid-column:1/-1}.admin-gallery-item{border:1px solid var(--admin-line);border-radius:8px;gap:.65rem;min-width:0;padding:.7rem;display:grid}.admin-gallery-item img{object-fit:cover;border-radius:5px;width:100%;height:130px}.admin-gallery-item strong{font-size:.875rem}.admin-gallery-actions{gap:.35rem;display:flex}.admin-gallery-actions button{border:1px solid var(--admin-line);min-height:36px;color:var(--blue);cursor:pointer;background:#fff;border-radius:5px;padding:.35rem .6rem;font-size:.875rem}.admin-gallery-actions button:last-child{color:#ae2029;margin-left:auto}.admin-editor button:disabled{opacity:.5;cursor:default}.admin-youtube-add{border-top:1px solid var(--admin-line);gap:.75rem;padding-top:1rem;display:grid}.admin-youtube-add>button{justify-self:start}.admin-editor [hidden]{display:none!important}.project-dialog__media iframe{aspect-ratio:9/16;border:0;width:100%;max-height:80vh}.project-dialog__media [hidden]{display:none!important}.solution-gallery__item iframe{border:0;width:100%;height:100%}@media (width<=700px){.admin-dialog{width:calc(100vw - .75rem)}.admin-editor{padding:0}.admin-editor-content{padding:.75rem}.admin-editor-section{padding:1rem}.admin-editor-header,.admin-editor-footer{padding-left:1rem;padding-right:1rem}.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-gallery-actions{flex-wrap:wrap}.admin-gallery-actions button:last-child{margin-left:0}}@media (width<=380px){.admin-gallery-grid{grid-template-columns:1fr}}@media (width<=680px){.intro{padding-top:2rem;padding-bottom:2.75rem}.intro .section-heading{margin-bottom:1.1rem}.intro .services-controls{margin-top:.75rem}.services-grid{gap:.7rem}.service-card__image{aspect-ratio:.9}.services-all-link{margin-top:.9rem;font-size:.875rem}.portfolio{padding-top:2.75rem;padding-bottom:2.75rem}.section-heading--portfolio{margin-bottom:1.25rem}.portfolio-controls{margin-top:.5rem}.about{gap:1.5rem}.testimonials,.contact{padding-top:2.75rem;padding-bottom:2.75rem}.site-footer{padding-bottom:1.5rem}}.solution-gallery__image-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.solution-gallery__image-button img{transition:transform .35s}.solution-gallery__image-button:hover img,.solution-gallery__image-button:focus-visible img{transform:scale(1.035)}.solution-gallery__image-button:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.solution-gallery__zoom{color:#fff;opacity:0;background:#10111685;border:1px solid #ffffffd9;border-radius:50%;place-items:center;width:40px;height:40px;transition:opacity .2s,background .2s;display:grid;position:absolute;bottom:.8rem;right:.8rem}.solution-gallery__zoom svg{width:20px;height:20px}.solution-gallery__image-button:hover .solution-gallery__zoom,.solution-gallery__image-button:focus-visible .solution-gallery__zoom{opacity:1;background:#101116c9}.solution-gallery-lightbox{background:#101116;border:1px solid #ffffff35;border-radius:10px;width:min(1100px,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);padding:.75rem;position:fixed;overflow:visible;box-shadow:0 24px 90px #0009}.solution-gallery-lightbox::backdrop{backdrop-filter:blur(5px);background:#080c10dc}.solution-gallery-lightbox__image{object-fit:contain;width:100%;max-height:calc(100dvh - 3.5rem);display:block}.solution-gallery-lightbox__close{z-index:1;color:#fff;cursor:pointer;background:#101116b8;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:1.7rem;line-height:1;display:grid;position:absolute;top:.55rem;right:.55rem}@media (hover:none){.solution-gallery__zoom{opacity:1}}@media (width<=680px){.solution-gallery-lightbox{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.4rem}.solution-gallery-lightbox__image{max-height:calc(100dvh - 2rem)}.solution-gallery__zoom{width:38px;height:38px;bottom:.55rem;right:.55rem}}@media (width<=700px){.projects-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.projects-page__grid{grid-template-columns:1fr;gap:.85rem}.projects-page__card{aspect-ratio:1.08}}.projects-page__grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(300px,34vw,460px);align-items:stretch;gap:1.2rem;display:grid}.projects-page__grid>.projects-page__card{aspect-ratio:auto;width:100%;height:100%;min-height:0;display:block}.projects-page__grid>.projects-page__card>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}@media (width<=700px){.projects-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(300px,48vw,440px)}}@media (width<=560px){.projects-page__grid{grid-template-columns:1fr;grid-auto-rows:auto}.projects-page__grid>.projects-page__card{aspect-ratio:1.08;height:auto}}.icon-chevron{flex:none;width:19px;height:19px;display:block}.icon-chevron--previous{transform:rotate(180deg)}.services-control{-webkit-appearance:none;appearance:none;font-size:0}.portfolio-card__play{color:#fff;opacity:.9;background:#10111675;border-color:#ffffffb8;width:46px;height:46px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.portfolio-card__play svg{fill:currentColor;width:17px;height:17px;display:block}.portfolio-card:hover .portfolio-card__play,.portfolio-card:focus-visible .portfolio-card__play{color:#fff;background:#101116a6;border-color:#ffffffd9;transform:translate(-50%,-50%)}.icon-arrow{width:18px;height:18px;display:block}.projects-page__heading>p:last-child{text-align:center;margin:1rem auto 0}.admin-record__body button[data-edit]{color:#fff;background:#15518a;border:1px solid #15518a;border-radius:7px;min-height:38px;padding:.45rem .85rem}.admin-record__body button[data-edit]:hover,.admin-record__body button[data-edit]:focus-visible{background:#0d3f70;border-color:#0d3f70}.solution-editor-page{color:#17222a;background:#eef2f6;min-height:100vh;padding:clamp(1rem,3vw,2.5rem)}.solution-editor-shell{width:min(1050px,100%);margin:0 auto}.solution-editor-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.solution-editor-top>div{gap:.25rem;display:grid}.solution-editor-top .admin-kicker{color:#15518a;letter-spacing:.12em;margin:0;font-weight:800}.solution-editor-top h1{font:750 clamp(1.8rem, 4vw, 2.6rem)/1.1 var(--font-display);letter-spacing:-.05em;margin:0}.solution-editor-links{gap:.65rem;display:flex}.solution-editor-link{color:#15518a;background:#fff;border:1px solid #c8d4df;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:.55rem .9rem;font-weight:700;text-decoration:none;display:inline-flex}.solution-editor-form{gap:1rem;display:grid}.solution-editor-panel{background:#fff;border:1px solid #d5dee7;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #1626330b}.solution-editor-panel__head{border-bottom:1px solid #dce5ed;padding:1rem 1.25rem}.solution-editor-panel__head h2{font:700 1.25rem/1.25 var(--font-display);margin:0}.solution-editor-panel__head p{color:#5b6a77;margin:.35rem 0 0;font-size:.9rem;line-height:1.5}.solution-editor-panel--blue .solution-editor-panel__head{background:#eaf2fa;border-left:5px solid #15518a}.solution-editor-panel--red .solution-editor-panel__head{background:#fff0f0;border-left:5px solid #cf2931}.solution-editor-panel--gold .solution-editor-panel__head{background:#fff8e8;border-left:5px solid #eca91d}.solution-editor-panel--green .solution-editor-panel__head{background:#ebf7f0;border-left:5px solid #25835b}.solution-editor-panel__body{gap:1rem;padding:1.2rem;display:grid}.solution-editor-field{color:#293946;gap:.4rem;font-size:.9rem;font-weight:700;display:grid}.solution-editor-field input,.solution-editor-field textarea{color:#17222a;width:100%;min-height:44px;font:500 .95rem/1.5 var(--font-body);background:#fff;border:1px solid #cbd5df;border-radius:7px;padding:.7rem .8rem}.solution-editor-field textarea{resize:vertical;min-height:110px}.solution-editor-field small{color:#5b6a77;font-size:.875rem;font-weight:500;line-height:1.45}.solution-editor-cover{justify-items:start;gap:.8rem;display:grid}.solution-editor-cover img{aspect-ratio:16/9;object-fit:cover;background:#dce4e8;border-radius:8px;width:min(100%,620px);max-height:330px}.solution-editor-cover input[type=file]{background:#f2f7fc;border:1px dashed #87a9c7;border-radius:7px;max-width:100%;padding:.7rem}.solution-editor-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.solution-editor-gallery-item{background:#f7f9fb;border:1px solid #d8e1e9;border-radius:9px;align-content:start;gap:.7rem;min-width:0;padding:.75rem;display:grid}.solution-editor-gallery-item img{aspect-ratio:1.25;object-fit:cover;background:#dce4e8;border-radius:6px;width:100%}.solution-editor-gallery-item strong{color:#15518a;font-size:.9rem}.solution-editor-gallery-actions{flex-wrap:wrap;gap:.4rem;display:flex}.solution-editor-gallery-actions button{color:#15518a;cursor:pointer;background:#fff;border:1px solid #c5d2df;border-radius:6px;min-height:36px;padding:.4rem .65rem;font-weight:700}.solution-editor-gallery-actions button:last-child{color:#b4232b;margin-left:auto}.solution-editor-check{color:#24543e;align-items:center;gap:.65rem;font-weight:700;display:flex}.solution-editor-check input{accent-color:#25835b;width:20px;height:20px}.solution-editor-actions{backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #d5dee7;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 18px #17222a10}.solution-editor-status{color:#15518a;margin:0;font-size:.9rem;line-height:1.4}.solution-editor-status.is-error{color:#b4232b}.solution-editor-submit{color:#fff;cursor:pointer;background:#15518a;border:0;border-radius:7px;min-height:44px;padding:.65rem 1rem;font-weight:800}.solution-editor-submit:hover{background:#0d3f70}.solution-editor-loading{color:#53636c;text-align:center;padding:1.5rem}@media (width<=700px){.solution-editor-page{padding:.8rem}.solution-editor-top{flex-direction:column;align-items:start}.solution-editor-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-editor-actions{flex-direction:column;align-items:stretch}.solution-editor-submit{width:100%}}@media (width<=420px){.solution-editor-gallery{grid-template-columns:1fr}}
