.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* GYK compat v2 */
body .elementor.elementor.elementor :where(.elementor-element){--gap:inherit}
body .elementor.elementor.elementor :where(.e-div-block-base){border-radius:0;height:auto;min-height:auto;min-width:auto;overflow:visible;position:static;width:auto;z-index:auto;margin:0;padding:0;max-width:none;display:block;gap:normal;flex:initial;transition:none;--gap:inherit}
body .elementor.elementor.elementor :where(a.e-div-block-base){display:inline}
body .elementor.elementor.elementor .elementor-widget-html, body .elementor.elementor.elementor .elementor-widget-html > .elementor-widget-container{display:contents}
body .elementor.elementor.elementor :where(.e-heading-base, .e-paragraph-base){margin:0}
body .elementor.elementor.elementor :where(.e-image-base){display:inline;max-width:100%}
body .elementor.elementor.elementor :where(.e-button-base){text-align:inherit;padding:0;border-radius:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;display:inline;box-shadow:none;min-width:0;width:auto;height:auto;transition:none}
body .elementor.elementor.elementor :where(.has-dot)::after{content:".";color:var(--accent)}
body .elementor.elementor.elementor :where([data-reveal~="lines"] > span:nth-child(2)){--i:1}
body .elementor.elementor.elementor :where([data-reveal~="lines"] > span:nth-child(3)){--i:2}
body .elementor.elementor.elementor :where([data-reveal~="lines"] > span:nth-child(4)){--i:3}
body .elementor.elementor.elementor ::before,body .elementor.elementor.elementor ::after{box-sizing: border-box;}
body .elementor.elementor.elementor img,body .elementor.elementor.elementor svg,body .elementor.elementor.elementor video,body .elementor.elementor.elementor picture{display: block; max-width: 100%; height: auto;}
body .elementor.elementor.elementor a{color: inherit; text-decoration: none;}
body .elementor.elementor.elementor button{font: inherit; color: inherit; background: none; border: 0px; padding: 0px; cursor: pointer;}
body .elementor.elementor.elementor h1,body .elementor.elementor.elementor h2,body .elementor.elementor.elementor h3,body .elementor.elementor.elementor h4,body .elementor.elementor.elementor h5,body .elementor.elementor.elementor h6,body .elementor.elementor.elementor p,body .elementor.elementor.elementor figure,body .elementor.elementor.elementor blockquote,body .elementor.elementor.elementor dl,body .elementor.elementor.elementor dd,body .elementor.elementor.elementor ul,body .elementor.elementor.elementor ol{margin: 0px;}
body .elementor.elementor.elementor ul[class],body .elementor.elementor.elementor ol[class]{list-style: none; padding: 0px;}
body .elementor.elementor.elementor ::selection{background: var(--accent); color: var(--accent-ink);}
body .elementor.elementor.elementor :focus-visible{outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px;}
body .elementor.elementor.elementor .screen-reader-text,body .elementor.elementor.elementor .sr-only{width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; position: absolute !important;}
body .elementor.elementor.elementor .gyk-container{width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter);}
body .elementor.elementor.elementor .section{padding-block: var(--section); position: relative;}
body .elementor.elementor.elementor .section--light{background: var(--surface);}
body .elementor.elementor.elementor .section--accent{--foreground: #fff; --muted: rgba(255,255,255,.78); --border: rgba(255,255,255,.28); --accent: #fff; --accent-ink: var(--accent-deep); background: var(--accent-deep); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .display,body .elementor.elementor.elementor .section-head__title,body .elementor.elementor.elementor h1,body .elementor.elementor.elementor h2{font-family: var(--font-display); font-weight: 700; line-height: 1; letter-spacing: -0.035em; text-wrap: balance;}
body .elementor.elementor.elementor h1{font-size: var(--fs-h1);}
body .elementor.elementor.elementor h2{font-size: var(--fs-h2);}
body .elementor.elementor.elementor h3{font-family: var(--font-display); font-size: var(--fs-h3); font-weight: 650; line-height: 1.12; letter-spacing: -0.02em;}
body .elementor.elementor.elementor .lead{font-size: var(--fs-lead); line-height: 1.5; max-width: 44ch; text-wrap: pretty;}
body .elementor.elementor.elementor .muted{color: var(--muted);}
body .elementor.elementor.elementor .eyebrow{display: flex; align-items: center; gap: 0.6em; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--foreground); line-height: 1.4;}
body .elementor.elementor.elementor .eyebrow::before{content: "//"; color: var(--accent); letter-spacing: 0px;}
body .elementor.elementor.elementor :is(.eyebrow__num,.eyebrow > span:first-child){color: var(--muted);}
body .elementor.elementor.elementor :is(.dot,[data-reveal] > span > span > span){color: var(--accent);}
body .elementor.elementor.elementor .btn{--btn-bg: var(--foreground); --btn-fg: var(--background); position: relative; display: inline-flex; align-items: center; gap: 0.9em; height: 3.5rem; padding: 0px 0.5rem 0px 1.6rem; border-radius: 999px; background: var(--btn-bg); color: var(--btn-fg); font-weight: 600; font-size: 0.98rem; overflow: hidden; isolation: isolate; transition: color .45s var(--ease-out);}
body .elementor.elementor.elementor .btn::before{content: ""; position: absolute; inset: 0px; z-index: -1; background: var(--accent); border-radius: inherit; transform: scaleX(0); transform-origin: right center; transition: transform .6s var(--ease-out);}
body .elementor.elementor.elementor .btn:hover::before,body .elementor.elementor.elementor .btn:focus-visible::before{transform: scaleX(1); transform-origin: left center;}
body .elementor.elementor.elementor .btn:hover,body .elementor.elementor.elementor .btn:focus-visible{color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .btn .icon{box-sizing: content-box; width: 1.1em; height: 1.1em; padding: 0.7rem; border-radius: 50%; background: var(--btn-fg); color: var(--btn-bg); transition: transform .5s var(--ease-out),background .45s,color .45s;}
body .elementor.elementor.elementor .btn:hover .icon{transform: rotate(-45deg); background: rgb(255, 255, 255); color: var(--accent);}
body .elementor.elementor.elementor .btn--ghost{--btn-bg: transparent; --btn-fg: var(--foreground); box-shadow: inset 0 0 0 1px var(--border);}
body .elementor.elementor.elementor .btn--ghost .icon{background: var(--foreground); color: var(--background);}
body .elementor.elementor.elementor .btn--accent{--btn-bg: var(--accent); --btn-fg: #fff;}
body .elementor.elementor.elementor .btn--accent .icon{background: rgb(255, 255, 255); color: var(--accent);}
body .elementor.elementor.elementor .btn--accent::before{background: var(--foreground);}
body .elementor.elementor.elementor .btn:not(:has(.icon)){padding-right: 1.6rem;}
body .elementor.elementor.elementor .nav__list{display: flex; gap: 0.25rem; list-style: none; margin: 0px; padding: 0.35rem; border-radius: 999px; background: var(--surface);}
body .elementor.elementor.elementor .nav__link{display: inline-block; padding: 0.55rem 1.1rem; border-radius: 999px; font-size: 0.92rem; font-weight: 500; transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .nav__link:hover,body .elementor.elementor.elementor .current-menu-item > .nav__link,body .elementor.elementor.elementor .nav__link[aria-current]{background: var(--background); color: var(--accent);}
body .elementor.elementor.elementor .header-cta{display: none;}
body .elementor.elementor.elementor .header-cta .btn{height: 3rem; font-size: 0.9rem; padding-left: 1.3rem;}
body .elementor.elementor.elementor .header-cta .btn .icon{padding: 0.55rem;}
body .elementor.elementor.elementor .header-cta .btn__dot{display: none;}
body .elementor.elementor.elementor .menu-toggle{display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; height: 2.9rem; padding: 0px 1.1rem; border-radius: 999px; background: var(--foreground); color: var(--background); font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;}
body .elementor.elementor.elementor .menu-toggle__bars{position: relative; width: 18px; height: 8px;}
body .elementor.elementor.elementor .menu-toggle__bars::before,body .elementor.elementor.elementor .menu-toggle__bars::after{content: ""; position: absolute; left: 0px; right: 0px; height: 1.5px; background: currentcolor; transition: transform .5s var(--ease-out),top .5s var(--ease-out);}
body .elementor.elementor.elementor .menu-toggle__bars::before{top: 0px;}
body .elementor.elementor.elementor .menu-toggle__bars::after{top: 6.5px;}
.menu-open body .elementor.elementor.elementor .menu-toggle__bars::before{top: 3.25px; transform: rotate(45deg);}
.menu-open body .elementor.elementor.elementor .menu-toggle__bars::after{top: 3.25px; transform: rotate(-45deg);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .header-cta{display: block;}
body .elementor.elementor.elementor .menu-toggle{display: none;}
}
body .elementor.elementor.elementor .hero{position: relative; padding-top: calc(var(--header-h) + clamp(32px,6vw,96px)); padding-bottom: clamp(40px, 5vw, 80px); overflow: hidden; isolation: isolate;}
body .elementor.elementor.elementor .hero__top{display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: clamp(24px, 3vw, 48px);}
body .elementor.elementor.elementor .hero__since{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);}
body .elementor.elementor.elementor .hero__title{font-size: var(--fs-hero); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; text-transform: uppercase; margin-left: -0.04em;}
body .elementor.elementor.elementor .hero__title :is(.line,[data-reveal] > span){display: block;}
body .elementor.elementor.elementor .hero__title :is(.line,[data-reveal] > span) + :is(.line,[data-reveal] > span){padding-left: clamp(0px, 14vw, 320px);}
body .elementor.elementor.elementor .hero__heart{position: absolute; z-index: -1; color: var(--accent); width: clamp(150px, 17vw, 300px); right: calc(var(--gutter) + 1vw); top: calc(var(--header-h) + clamp(150px,17vw,290px)); transform: rotate(-6deg);}
body .elementor.elementor.elementor .hero__bottom{display: grid; gap: clamp(24px, 3vw, 40px); margin-top: clamp(32px, 5vw, 72px); padding-top: clamp(24px, 3vw, 40px); border-top: 1px solid var(--border); align-items: center;}
body .elementor.elementor.elementor .hero__text{font-size: var(--fs-lead); line-height: 1.5; max-width: 36ch; color: var(--muted);}
body .elementor.elementor.elementor .hero__actions{display: flex; flex-wrap: wrap; gap: 0.75rem;}
body .elementor.elementor.elementor .hero__badge{display: none; position: relative; width: 132px; height: 132px; border-radius: 50%; background: var(--accent); color: rgb(255, 255, 255); place-items: center; justify-self: end;}
body .elementor.elementor.elementor .hero__badge svg.badge-text{position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); animation: 14s linear 0s infinite normal none running spin; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; fill: currentcolor;}
body .elementor.elementor.elementor .hero__badge .icon{width: 30px; height: 30px; transform: rotate(-45deg); transition: transform .5s var(--ease-out);}
body .elementor.elementor.elementor .hero__badge:hover .icon{transform: rotate(0deg);}
body .elementor.elementor.elementor .hero__media{display: block; position: relative; margin-top: clamp(32px, 4vw, 56px); width: 100%; aspect-ratio: 21 / 9; border-radius: var(--radius); overflow: hidden; background: var(--surface);}
body .elementor.elementor.elementor .hero__media img,body .elementor.elementor.elementor .hero__media video{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover;}
body .elementor.elementor.elementor .hero__media-label{position: absolute; left: 16px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.8rem; border-radius: 999px; background: rgba(255, 255, 255, 0.9); font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--foreground);}
body .elementor.elementor.elementor .hero__media-label::before{content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); animation: pulse 1.8s var(--ease-io) infinite;}
body .elementor.elementor.elementor .hero__scroll{display: none;}
@media (min-width: 768px){
body .elementor.elementor.elementor .hero__bottom{grid-template-columns: 1fr auto auto;}
body .elementor.elementor.elementor .hero__badge{display: grid;}
}
@media (max-width: 599px){
body .elementor.elementor.elementor .hero__title{font-size: clamp(2.6rem, 12.2vw, 4.6rem);}
body .elementor.elementor.elementor .hero__since{display: none;}
body .elementor.elementor.elementor .hero__heart{width: 104px; top: calc(var(--header-h) + 18px);}
body .elementor.elementor.elementor .hero__media{aspect-ratio: 4 / 3;}
}
body .elementor.elementor.elementor ::view-transition-old(root),body .elementor.elementor.elementor ::view-transition-new(root){animation-duration: 0.45s; animation-timing-function: var(--ease-out);}
.js body .elementor.elementor.elementor [data-reveal]{opacity: 0; transform: translateY(28px); transition-property: ; transition-duration: ; transition-timing-function: ; transition-behavior: ; transition-delay: var(--delay,0s);}
.js body .elementor.elementor.elementor [data-reveal].is-in{opacity: 1; transform: none;}
.js body .elementor.elementor.elementor [data-reveal="lines"]{opacity: 1; transform: none;}
.js body .elementor.elementor.elementor [data-reveal="lines"] :is(.line,[data-reveal] > span){display: block; overflow: hidden; padding-bottom: 0.08em; margin-bottom: -0.08em;}
.js body .elementor.elementor.elementor [data-reveal="lines"] :is(.line,[data-reveal] > span) > span{display: block; transform: translateY(108%); transition-property: ; transition-duration: ; transition-timing-function: ; transition-behavior: ; transition-delay: calc(var(--i,0) * .08s + var(--delay,0s));}
.js body .elementor.elementor.elementor [data-reveal="lines"].is-in :is(.line,[data-reveal] > span) > span{transform: none;}
.js body .elementor.elementor.elementor [data-reveal="clip"]{opacity: 1; transform: none; clip-path: inset(10% 10% 10% 10% round var(--radius)); transition: clip-path 1.3s var(--ease-out);}
.js body .elementor.elementor.elementor [data-reveal="clip"].is-in{clip-path: inset(0 0 0 0 round var(--radius));}
body .elementor.elementor.elementor .mask-art{display: block; aspect-ratio: 322 / 284; background: currentcolor; mask: var(--mask) center/contain no-repeat;}
@media (prefers-reduced-motion: reduce){
body .elementor.elementor.elementor ::before,body .elementor.elementor.elementor ::after{animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; transition-delay: 0s !important;}
.js body .elementor.elementor.elementor [data-reveal],.js body .elementor.elementor.elementor [data-reveal] :is(.line,[data-reveal] > span) > span{opacity: 1 !important; transform: none !important; clip-path: none !important;}
}
body .elementor.elementor.elementor .link-arrow{display: inline-flex; align-items: center; gap: 0.5em; font-weight: 600; white-space: nowrap; background: linear-gradient(currentcolor, currentcolor) left bottom / 0px 1.5px no-repeat; padding-bottom: 3px; transition: background-size .5s var(--ease-out),color .3s;}
body .elementor.elementor.elementor .link-arrow:hover{background-size: 100% 1.5px; color: var(--accent);}
body .elementor.elementor.elementor .link-arrow .icon{width: 1.05em; height: 1.05em; transition: transform .5s var(--ease-out);}
body .elementor.elementor.elementor .link-arrow:hover .icon{transform: translateX(4px);}
body .elementor.elementor.elementor .prose a,body .elementor.elementor.elementor .entry-content a{text-decoration-line: underline; text-decoration-style: initial; text-decoration-thickness: 1px; text-underline-offset: 0.2em; text-decoration-color: var(--accent);}
body .elementor.elementor.elementor .section-head{display: grid; gap: 1.25rem; margin-bottom: clamp(40px, 5vw, 80px);}
body .elementor.elementor.elementor .section-head__title{font-size: var(--fs-h2); max-width: 18ch;}
@media (min-width: 768px){
body .elementor.elementor.elementor .section-head{grid-template-columns: 1fr auto; align-items: end; column-gap: 3rem;}
body .elementor.elementor.elementor .section-head .eyebrow{grid-column: 1 / -1;}
}
body .elementor.elementor.elementor .menu-open{overflow: hidden;}
body .elementor.elementor.elementor .mobile-cta{position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 80; display: flex; gap: 8px; transform: translateY(140%); transition: transform .6s var(--ease-out);}
body .elementor.elementor.elementor .mobile-cta.is-visible{transform: none;}
body .elementor.elementor.elementor .mobile-cta .btn{flex: 1 1 0%; justify-content: center; height: 3.25rem; padding: 0px 1.25rem; box-shadow: rgba(224, 32, 79, 0.28) 0px 10px 30px;}
body .elementor.elementor.elementor .mobile-cta .btn--wa{flex: 0 0 3.25rem; padding: 0px; justify-content: center; background: rgb(37, 211, 102); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.12) 0px 10px 30px;}
body .elementor.elementor.elementor .mobile-cta .btn--wa .icon{width: 22px; height: 22px; padding: 0px; background: none; color: rgb(255, 255, 255);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .mobile-cta{display: none;}
}
body .elementor.elementor.elementor .ribbons{position: relative; height: clamp(150px, 16vw, 230px); overflow: hidden; margin-block: clamp(8px, 2vw, 24px);}
body .elementor.elementor.elementor .ribbon{position: absolute; left: -5%; right: -5%; top: 50%; display: flex; overflow: hidden; padding-block: clamp(14px, 1.6vw, 22px); font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + 1.4vw, 2.4rem); font-weight: 700; letter-spacing: -0.02em; text-transform: uppercase; white-space: nowrap;}
body .elementor.elementor.elementor .ribbon--accent{background: var(--accent); color: rgb(255, 255, 255); transform: translateY(-50%) rotate(-3deg); z-index: 2;}
body .elementor.elementor.elementor .ribbon--paper{background: var(--surface); color: var(--foreground); transform: translateY(-50%) rotate(3deg); box-shadow: inset 0 0 0 1px var(--border);}
body .elementor.elementor.elementor .ribbon__track{display: flex; flex-shrink: 0; align-items: center; gap: clamp(20px, 2.4vw, 40px); padding-right: clamp(20px, 2.4vw, 40px); animation: 38s linear 0s infinite normal none running marquee;}
body .elementor.elementor.elementor .ribbon--paper .ribbon__track{animation-direction: reverse; animation-duration: 44s;}
body .elementor.elementor.elementor .ribbon__star{font-size: 0.7em; opacity: 0.8;}
body .elementor.elementor.elementor .logos{padding-block: clamp(56px, 7vw, 110px);}
body .elementor.elementor.elementor .logos__title{margin-bottom: clamp(24px, 3vw, 40px);}
body .elementor.elementor.elementor .marquee{--gap: clamp(12px,1.2vw,20px); display: flex; overflow: hidden; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 6%, rgb(0, 0, 0) 94%, transparent);}
body .elementor.elementor.elementor .marquee__track{display: flex; flex-shrink: 0; align-items: center; gap: var(--gap); padding-right: var(--gap); min-width: 100%; animation: marquee var(--marquee-dur,55s) linear infinite;}
body .elementor.elementor.elementor .marquee:hover .marquee__track{animation-play-state: paused;}
body .elementor.elementor.elementor .marquee__item{flex-shrink: 0; display: flex; align-items: center; justify-content: center; height: clamp(72px, 7vw, 104px); padding: 0px clamp(24px, 2.6vw, 44px); border-radius: 999px; background: var(--surface);}
body .elementor.elementor.elementor .marquee__item img{height: 44%; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: 0.7; transition: opacity 0.4s, filter 0.4s;}
body .elementor.elementor.elementor .marquee__item:hover img{opacity: 1; filter: none;}
body .elementor.elementor.elementor .marquee__item--text{font-family: var(--font-display); font-size: clamp(1.05rem, 1rem + 0.5vw, 1.4rem); font-weight: 700; letter-spacing: -0.02em; color: var(--foreground); transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .marquee__item--text:hover{background: var(--accent); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .marquee__sep{display: none;}
body .elementor.elementor.elementor .svc-layout{display: grid; gap: clamp(32px, 5vw, 80px);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .svc-layout{grid-template-columns: 5fr 7fr; align-items: start;}
body .elementor.elementor.elementor .svc-layout__head{position: sticky; top: calc(var(--header-h) + 32px);}
}
body .elementor.elementor.elementor .svc-layout__head{display: grid; gap: 1.4rem; justify-items: start;}
body .elementor.elementor.elementor .svc-layout__head .section-head__title{font-size: clamp(2.2rem, 1rem + 3.2vw, 4.6rem);}
body .elementor.elementor.elementor .svc-layout__text{color: var(--muted); max-width: 40ch;}
body .elementor.elementor.elementor .svc-cards{display: grid; gap: clamp(12px, 1.2vw, 18px); counter-reset: s 0;}
body .elementor.elementor.elementor .svc-card__link{display: grid; grid-template-columns: auto 1fr auto; gap: clamp(16px, 2vw, 32px); align-items: start; padding: clamp(22px, 2.4vw, 36px); border-radius: var(--radius); background: var(--surface); transition: background .45s var(--ease-out),color .45s,transform .45s var(--ease-out);}
body .elementor.elementor.elementor .svc-card__num{font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.1em; color: var(--accent); padding-top: 0.55rem;}
body .elementor.elementor.elementor .svc-card__body{display: grid; gap: 0.7rem;}
body .elementor.elementor.elementor .svc-card__title{font-size: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); font-weight: 700; letter-spacing: -0.035em; line-height: 1.02;}
body .elementor.elementor.elementor .svc-card__desc{color: var(--muted); max-width: 52ch; transition: color 0.45s;}
body .elementor.elementor.elementor .svc-card__tags{display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.3rem;}
body .elementor.elementor.elementor .svc-card__tags span{padding: 0.3rem 0.75rem; border-radius: 999px; background: var(--background); font-size: 0.8rem; transition: background 0.45s, color 0.45s;}
body .elementor.elementor.elementor .svc-card__arrow{display: grid; place-items: center; width: clamp(46px, 4vw, 60px); aspect-ratio: 1 / 1; border-radius: 50%; background: var(--background); transition: transform .6s var(--ease-out),background .45s,color .45s;}
body .elementor.elementor.elementor .svc-card__arrow .icon{width: 40%; height: 40%;}
body .elementor.elementor.elementor .svc-card__link:hover{background: var(--accent); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .svc-card__link:hover .svc-card__desc,body .elementor.elementor.elementor .svc-card__link:hover .svc-card__num{color: rgba(255, 255, 255, 0.85);}
body .elementor.elementor.elementor .svc-card__link:hover .svc-card__tags span{background: rgba(255, 255, 255, 0.16);}
body .elementor.elementor.elementor .svc-card__link:hover .svc-card__arrow{background: rgb(255, 255, 255); color: var(--accent); transform: rotate(45deg);}
body .elementor.elementor.elementor .services-list{list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--border);}
body .elementor.elementor.elementor .service-row{position: relative; border-bottom: 1px solid var(--border);}
body .elementor.elementor.elementor .service-row__link{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(16px, 3vw, 48px); padding: clamp(20px, 2.4vw, 34px) 0px; transition: padding .6s var(--ease-out),color .3s;}
body .elementor.elementor.elementor .service-row__num{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; color: var(--accent); min-width: 2.5ch;}
body .elementor.elementor.elementor .service-row__title{font-family: var(--font-display); font-size: clamp(1.9rem, 1rem + 3vw, 4.25rem); font-weight: 700; line-height: 1; letter-spacing: -0.04em;}
body .elementor.elementor.elementor .service-row__desc{display: none; max-width: 32ch; font-size: 0.95rem; color: var(--muted); line-height: 1.5;}
body .elementor.elementor.elementor .service-row__arrow{display: grid; place-items: center; width: clamp(44px, 4vw, 60px); aspect-ratio: 1 / 1; border-radius: 50%; background: var(--surface); transition: background .4s,color .4s,transform .6s var(--ease-out);}
body .elementor.elementor.elementor .service-row__arrow .icon{width: 40%; height: 40%;}
body .elementor.elementor.elementor .service-row:hover .service-row__link{color: var(--accent); padding-left: clamp(0px, 1.5vw, 24px);}
body .elementor.elementor.elementor .service-row:hover .service-row__arrow{background: var(--accent); color: rgb(255, 255, 255); transform: rotate(-45deg);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .service-row__link{grid-template-columns: 5ch 1fr minmax(0px, 32ch) auto;}
body .elementor.elementor.elementor .service-row__desc{display: block;}
}
body .elementor.elementor.elementor .services-preview{position: fixed; top: 0px; left: 0px; z-index: 5; width: clamp(240px, 20vw, 340px); aspect-ratio: 4 / 5; border-radius: var(--radius); pointer-events: none; overflow: hidden; opacity: 0; transition: opacity 0.4s; will-change: transform;}
body .elementor.elementor.elementor .services-preview.is-active{opacity: 1;}
body .elementor.elementor.elementor .services-preview img{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.35s;}
body .elementor.elementor.elementor .services-preview img.is-current{opacity: 1;}
@media (hover: none), (max-width: 1023px){
body .elementor.elementor.elementor .services-preview{display: none;}
}
body .elementor.elementor.elementor .work-grid{display: grid; gap: clamp(40px,5vw,80px) var(--gap);}
@media (min-width: 768px){
body .elementor.elementor.elementor .work-grid{grid-template-columns: repeat(12, 1fr); align-items: start;}
body .elementor.elementor.elementor .work-grid > .project-card:nth-child(4n+1){grid-column: 1 / span 7;}
body .elementor.elementor.elementor .work-grid > .project-card:nth-child(4n+2){grid-column: 8 / span 5; margin-top: clamp(80px, 10vw, 180px);}
body .elementor.elementor.elementor .work-grid > .project-card:nth-child(4n+3){grid-column: 1 / span 5; margin-top: clamp(-120px, -6vw, -40px);}
body .elementor.elementor.elementor .work-grid > .project-card:nth-child(4n+4){grid-column: 6 / span 7; margin-top: clamp(40px, 6vw, 110px);}
}
body .elementor.elementor.elementor .project-card{position: relative; display: block;}
body .elementor.elementor.elementor .project-card__media{position: relative; overflow: hidden; border-radius: var(--radius); background: var(--surface); aspect-ratio: 16 / 11; container-type: inline-size;}
body .elementor.elementor.elementor .project-card--portrait .project-card__media{aspect-ratio: 4 / 5;}
body .elementor.elementor.elementor .project-card__placeholder{position: absolute; inset: 0px; display: flex; align-items: flex-end; padding: clamp(18px, 2vw, 30px); background: linear-gradient(135deg,var(--surface),#ECE8E1); color: var(--foreground); font-family: var(--font-display); font-size: clamp(1.5rem, 10cqi, 4.5rem); font-weight: 800; line-height: 0.92; letter-spacing: -0.045em; overflow-wrap: anywhere; transition: transform 1.4s var(--ease-out);}
body .elementor.elementor.elementor .project-card__placeholder::before{content: ""; position: absolute; top: clamp(18px, 2vw, 30px); right: clamp(18px, 2vw, 30px); width: 12px; height: 12px; border-radius: 50%; background: var(--accent);}
body .elementor.elementor.elementor .project-card:hover .project-card__placeholder,body .elementor.elementor.elementor .post-card:hover .project-card__placeholder{transform: scale(1.03);}
body .elementor.elementor.elementor .project-card__placeholder.tone-2{background: var(--accent-soft); color: var(--accent-deep);}
body .elementor.elementor.elementor .project-card__placeholder.tone-3{background: var(--graphite); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .project-card__placeholder.tone-4{background: linear-gradient(135deg, rgb(237, 231, 221), rgb(227, 219, 206)); color: var(--foreground);}
body .elementor.elementor.elementor .project-card__placeholder.tone-2::before,body .elementor.elementor.elementor .project-card__placeholder.tone-3::before{background: rgb(255, 255, 255);}
body .elementor.elementor.elementor .post-card__media{position: relative; container-type: inline-size;}
body .elementor.elementor.elementor .post-card__placeholder{font-size: clamp(1.3rem, 9cqi, 2.6rem);}
body .elementor.elementor.elementor .project-card__media img{width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out);}
body .elementor.elementor.elementor .project-card:hover .project-card__media img{transform: scale(1.06);}
body .elementor.elementor.elementor .project-card__body{display: grid; grid-template-columns: 1fr auto; gap: 0.5rem 1rem; padding-top: 1.1rem;}
body .elementor.elementor.elementor .project-card__client{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);}
body .elementor.elementor.elementor .project-card__year{font-family: var(--font-mono); font-size: var(--fs-mono); color: var(--muted); text-align: right;}
body .elementor.elementor.elementor .project-card__title{grid-column: 1 / -1; font-size: clamp(1.35rem, 1rem + 1vw, 2rem); font-weight: 700; letter-spacing: -0.03em; transition: color 0.3s;}
body .elementor.elementor.elementor .project-card__title a::after{content: ""; position: absolute; inset: 0px; z-index: 1;}
body .elementor.elementor.elementor .project-card:hover .project-card__title{color: var(--accent);}
body .elementor.elementor.elementor .project-card__tags{grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0px; padding: 0px;}
body .elementor.elementor.elementor .project-card__tags li{padding: 0.3rem 0.75rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--border); font-size: 0.8rem; color: var(--muted);}
body .elementor.elementor.elementor .work__more{display: flex; justify-content: center; margin-top: clamp(56px, 7vw, 110px);}
body .elementor.elementor.elementor .showreel{padding-block: 0 var(--section);}
body .elementor.elementor.elementor .showreel .gyk-container{max-width: var(--max);}
body .elementor.elementor.elementor .showreel__frame{position: relative; display: block; width: calc(100% - 2 * var(--gutter)); max-width: calc(var(--max) - 2 * var(--gutter)); margin-inline: auto; aspect-ratio: 16 / 9; max-height: 88svh; border-radius: var(--radius); overflow: hidden; background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .showreel__frame img,body .elementor.elementor.elementor .showreel__frame video,body .elementor.elementor.elementor .showreel__frame iframe{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; border: 0px;}
body .elementor.elementor.elementor .showreel__frame img{transition: transform 1.6s var(--ease-out);}
body .elementor.elementor.elementor .showreel__frame:hover img{transform: scale(1.03);}
body .elementor.elementor.elementor .showreel__overlay{position: absolute; inset: 0px; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(20px, 4vw, 56px); background: linear-gradient(rgba(0, 0, 0, 0.3), transparent 40%, rgba(0, 0, 0, 0.4)); transition: opacity 0.5s;}
body .elementor.elementor.elementor .showreel__title{font-family: var(--font-display); font-size: var(--fs-h1); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; text-transform: uppercase; text-align: left;}
body .elementor.elementor.elementor .showreel__play{align-self: flex-end; display: inline-flex; align-items: center; gap: 1rem; font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase;}
body .elementor.elementor.elementor .showreel__play-btn{display: grid; place-items: center; width: clamp(72px, 8vw, 120px); aspect-ratio: 1 / 1; border-radius: 50%; background: var(--accent); color: rgb(255, 255, 255); transition: transform .6s var(--ease-out);}
body .elementor.elementor.elementor .showreel__play-btn .icon{width: 30%; height: 30%; margin-left: 6%;}
body .elementor.elementor.elementor .showreel__frame:hover .showreel__play-btn{transform: scale(1.08);}
body .elementor.elementor.elementor .showreel.is-playing .showreel__overlay{opacity: 0; pointer-events: none;}
body .elementor.elementor.elementor .about__grid{display: grid; gap: clamp(40px, 6vw, 96px);}
body .elementor.elementor.elementor .about__title{font-size: clamp(2rem, 1rem + 3vw, 4.4rem); max-width: 22ch;}
body .elementor.elementor.elementor .about__body{display: grid; gap: 1.5rem; align-content: start;}
body .elementor.elementor.elementor .about__heart{width: clamp(120px, 11vw, 180px); color: var(--accent); margin-bottom: 0.5rem;}
body .elementor.elementor.elementor .about__body .lead{color: var(--muted);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .about__grid{grid-template-columns: 7fr 5fr; align-items: end;}
}
body .elementor.elementor.elementor .stats{display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(12px, 1.2vw, 18px); margin-top: clamp(56px, 7vw, 110px);}
body .elementor.elementor.elementor .stat{display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 0.75rem; padding: clamp(22px, 2.4vw, 36px); border-radius: var(--radius); background: var(--background);}
body .elementor.elementor.elementor .section:not(.section--light) .stat{background: var(--surface);}
body .elementor.elementor.elementor .stat__value{display: block; margin: 0px; font-family: var(--font-display); font-size: clamp(3rem, 1rem + 5vw, 7.5rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; font-variant-numeric: tabular-nums;}
body .elementor.elementor.elementor .stat:nth-child(2) .stat__value{color: var(--accent);}
body .elementor.elementor.elementor .stat__label{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);}
@media (min-width: 768px){
body .elementor.elementor.elementor .stats{grid-template-columns: repeat(4, 1fr);}
}
body .elementor.elementor.elementor .capabilities__list{display: flex; flex-wrap: wrap; gap: 0.1em 0.45em; list-style: none; margin: 0px; padding: 0px; font-family: var(--font-display); font-size: clamp(2rem, 1rem + 3.6vw, 5.5rem); font-weight: 800; line-height: 1.02; letter-spacing: -0.045em;}
body .elementor.elementor.elementor .capabilities__list li{display: inline-flex; align-items: baseline; gap: 0.45em;}
body .elementor.elementor.elementor .capabilities__list li:not(:last-child)::after{content: "/"; color: var(--accent); font-weight: 400;}
body .elementor.elementor.elementor .capabilities__list .is-dim{color: rgb(185, 182, 177);}
body .elementor.elementor.elementor .capabilities__list a{background: linear-gradient(var(--accent),var(--accent)) left 92%/0 .08em no-repeat; transition: background-size .6s var(--ease-out),color .3s;}
body .elementor.elementor.elementor .capabilities__list a:hover{color: var(--accent); background-size: 100% 0.08em;}
body .elementor.elementor.elementor .quotes{position: relative;}
body .elementor.elementor.elementor .quote{display: grid; gap: clamp(28px, 4vw, 56px);}
body .elementor.elementor.elementor .quote[hidden]{display: none;}
body .elementor.elementor.elementor .quote__mark{font-family: var(--font-display); font-size: clamp(6rem, 14vw, 14rem); line-height: 0.6; color: var(--accent); height: 0.45em;}
body .elementor.elementor.elementor .quote__text{font-family: var(--font-display); font-size: clamp(1.6rem, 1rem + 2.3vw, 3.5rem); font-weight: 600; line-height: 1.14; letter-spacing: -0.03em; max-width: 30ch; text-wrap: balance;}
body .elementor.elementor.elementor .quote__author{display: flex; align-items: center; gap: 1rem; font-style: normal;}
body .elementor.elementor.elementor .quote__logo{width: 56px; height: 56px; border-radius: 50%; background: rgb(255, 255, 255); display: grid; place-items: center; overflow: hidden; padding: 8px; box-shadow: inset 0 0 0 1px var(--border);}
body .elementor.elementor.elementor .quote__logo img{max-height: 100%; width: auto; object-fit: contain;}
body .elementor.elementor.elementor .quote__name{display: block; font-weight: 600; font-style: normal;}
body .elementor.elementor.elementor .quote__role{display: block; font-size: 0.9rem; color: var(--muted);}
body .elementor.elementor.elementor .quotes__nav{display: flex; gap: 0.5rem; margin-top: clamp(32px, 4vw, 56px);}
body .elementor.elementor.elementor .quotes__btn{display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--background); transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .quotes__btn:hover{background: var(--accent); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .quotes__btn .icon{width: 20px; height: 20px;}
body .elementor.elementor.elementor .quotes__btn--prev .icon{transform: rotate(180deg);}
body .elementor.elementor.elementor .quotes__count{margin-left: auto; align-self: center; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; color: var(--muted);}
body .elementor.elementor.elementor .faq__list{display: grid; gap: clamp(10px, 1vw, 14px);}
body .elementor.elementor.elementor .faq__item{border-radius: var(--radius); background: var(--surface); transition: background 0.4s;}
body .elementor.elementor.elementor .section--light .faq__item{background: var(--background);}
body .elementor.elementor.elementor .faq__item[open]{background: var(--foreground); color: var(--background);}
body .elementor.elementor.elementor .faq__q{display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: clamp(18px, 2vw, 26px) clamp(20px, 2.2vw, 32px); cursor: pointer; list-style: none;}
body .elementor.elementor.elementor .faq__q::-webkit-details-marker{display: none;}
body .elementor.elementor.elementor .faq__q h3{font-size: clamp(1.05rem, 1rem + 0.5vw, 1.35rem); font-weight: 650;}
body .elementor.elementor.elementor .faq__icon{flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--background); color: var(--foreground); transition: transform .5s var(--ease-out),background .3s,color .3s;}
body .elementor.elementor.elementor .faq__icon .icon{width: 18px; height: 18px;}
body .elementor.elementor.elementor .faq__item[open] .faq__icon{transform: rotate(45deg); background: var(--accent); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .faq__a{padding: 0px clamp(20px, 2.2vw, 32px) clamp(20px, 2.2vw, 28px); max-width: 64ch; opacity: 0.78; font-size: 1.02rem;}
body .elementor.elementor.elementor .posts-grid{display: grid; gap: clamp(40px,4vw,56px) var(--gap);}
@media (min-width: 768px){
body .elementor.elementor.elementor .posts-grid{grid-template-columns: repeat(3, 1fr);}
}
body .elementor.elementor.elementor .post-card{position: relative; display: grid; gap: 1rem; align-content: start;}
body .elementor.elementor.elementor .post-card__media{overflow: hidden; aspect-ratio: 4 / 3; position: relative; border-radius: var(--radius); background: var(--surface);}
body .elementor.elementor.elementor .post-card__media img{width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out);}
body .elementor.elementor.elementor .post-card:hover .post-card__media img{transform: scale(1.05);}
body .elementor.elementor.elementor .post-card__meta{display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.9rem; font-size: 0.82rem; color: var(--muted);}
body .elementor.elementor.elementor .post-card__cat{position: relative; z-index: 2; padding: 0.28rem 0.7rem; border-radius: 999px; background: var(--accent-soft); color: var(--accent-deep); font-weight: 600;}
body .elementor.elementor.elementor .post-card__title{font-size: clamp(1.25rem, 1rem + 0.7vw, 1.65rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.025em; transition: color 0.3s;}
body .elementor.elementor.elementor .post-card__title a::after{content: ""; position: absolute; inset: 0px; z-index: 1;}
body .elementor.elementor.elementor .post-card:hover .post-card__title{color: var(--accent);}
body .elementor.elementor.elementor .final-cta{position: relative; overflow: hidden; margin-inline: clamp(8px, 1.2vw, 20px); border-radius: calc(var(--radius) * 1.4); padding-block: clamp(100px, 13vw, 220px); isolation: isolate;}
body .elementor.elementor.elementor .final-cta__g{position: absolute; z-index: -1; right: -3vw; top: 50%; height: 135%; width: auto; transform: translateY(-50%) rotate(-4deg); color: rgba(255, 255, 255, 0.3); stroke-width: 1.2px;}
body .elementor.elementor.elementor .final-cta__title{font-family: var(--font-display); font-size: clamp(2.6rem, 1rem + 6vw, 9rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; max-width: 14ch;}
body .elementor.elementor.elementor .final-cta__actions{display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: clamp(40px, 5vw, 72px);}
body .elementor.elementor.elementor .final-cta .btn{--btn-bg: #fff; --btn-fg: var(--accent-deep); height: 4.25rem; font-size: 1.05rem;}
body .elementor.elementor.elementor .final-cta .btn .icon{background: var(--accent-deep); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .final-cta .btn::before{background: var(--ink);}
body .elementor.elementor.elementor .final-cta .btn:hover{color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .final-cta__mail{font-size: clamp(1.1rem, 1rem + 0.5vw, 1.4rem);}
body .elementor.elementor.elementor .offices{display: grid; gap: 1.5rem;}
@media (min-width: 480px){
body .elementor.elementor.elementor .offices{grid-template-columns: repeat(2, 1fr);}
}
body .elementor.elementor.elementor .office__name{font-weight: 600; margin-bottom: 0.25rem;}
body .elementor.elementor.elementor .office__name small{font-weight: 400; color: var(--muted); margin-left: 0.4em;}
body .elementor.elementor.elementor .office address{font-style: normal; font-size: 0.9rem; color: var(--muted); line-height: 1.5;}
body .elementor.elementor.elementor .socials{display: flex; gap: 0.5rem; list-style: none; margin: 1.5rem 0px 0px; padding: 0px;}
body .elementor.elementor.elementor .socials a{display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--surface); transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .socials a:hover{background: var(--accent); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .socials .icon{width: 18px; height: 18px;}
body .elementor.elementor.elementor .consent{position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 150; max-width: 520px; padding: 22px; border-radius: var(--radius); background: rgb(255, 255, 255); color: var(--foreground); box-shadow: rgba(0, 0, 0, 0.14) 0px 20px 60px; display: grid; gap: 14px; font-size: 0.9rem; line-height: 1.5;}
body .elementor.elementor.elementor .consent[hidden]{display: none;}
body .elementor.elementor.elementor .consent__actions{display: flex; flex-wrap: wrap; gap: 8px;}
body .elementor.elementor.elementor .consent .btn{height: 2.75rem; font-size: 0.9rem; padding: 0px 1.25rem;}
@media (min-width: 768px){
body .elementor.elementor.elementor .consent{left: 24px; bottom: 24px;}
}
@media (max-width: 767px){
body .elementor.elementor.elementor .svc-card__tags{display: none;}
body .elementor.elementor.elementor .svc-card__link{grid-template-columns: 1fr auto; gap: 12px;}
body .elementor.elementor.elementor .svc-card__num{grid-column: 1 / -1; padding-top: 0px;}
body .elementor.elementor.elementor .link-arrow{min-height: 44px;}
body .elementor.elementor.elementor .hero__top .eyebrow{max-width: 70%;}
}
@media (min-width: 1024px){
body .elementor.elementor.elementor .about__grid{align-items: start;}
body .elementor.elementor.elementor .about__title{position: sticky; top: calc(var(--header-h) + 40px);}
}
.js body .elementor.elementor.elementor [data-reveal="lines"] :is(.line,[data-reveal] > span){padding-top: 0.1em; margin-top: -0.1em;}
body .elementor.elementor.elementor .hero__media img{transition: transform 1.6s var(--ease-out);}
body .elementor.elementor.elementor .hero__media:hover img{transform: scale(1.025);}
body .elementor.elementor.elementor .project-card__media::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 55%, rgba(14, 14, 16, 0.22)); opacity: 0; transition: opacity .6s var(--ease-out); pointer-events: none;}
body .elementor.elementor.elementor .project-card:hover .project-card__media::after{opacity: 1;}
body .elementor.elementor.elementor .marquee__item--text{background: transparent; box-shadow: inset 0 0 0 1px var(--border);}
body .elementor.elementor.elementor .marquee__item--text:hover{box-shadow: none;}
body .elementor.elementor.elementor .section--accent :focus-visible,body .elementor.elementor.elementor .project-card__media:focus-visible{outline-color: rgb(255, 255, 255);}
@media (max-width: 599px){
body .elementor.elementor.elementor .hero__top .eyebrow{max-width: 62%;}
body .elementor.elementor.elementor .hero__heart{width: 84px; top: calc(var(--header-h) + 22px);}
}
@media (min-width: 600px) and (max-width: 767px){
body .elementor.elementor.elementor .posts-grid{grid-template-columns: repeat(2, 1fr);}
}
body .elementor.elementor.elementor .page-hero{padding-top: calc(var(--header-h) + clamp(48px,7vw,120px)); padding-bottom: clamp(40px, 5vw, 80px);}
body .elementor.elementor.elementor .page-hero__title{font-size: var(--fs-h1); font-weight: 800; line-height: 0.92; letter-spacing: -0.05em; max-width: 16ch; margin-top: 1.5rem;}
body .elementor.elementor.elementor .page-hero__lead{margin-top: clamp(20px, 3vw, 40px);}
body .elementor.elementor.elementor .section--tight{padding-block: clamp(56px, 8vw, 120px);}
body .elementor.elementor.elementor .breadcrumbs ol{display: flex; flex-wrap: wrap; gap: 0.25rem 0.6rem; list-style: none; margin: 0px; padding: 0px; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);}
body .elementor.elementor.elementor .breadcrumbs li + li::before{content: "/"; margin-right: 0.6rem; color: var(--accent);}
body .elementor.elementor.elementor .breadcrumbs a:hover{color: var(--foreground);}
body .elementor.elementor.elementor .prose{max-width: 760px;}
body .elementor.elementor.elementor .prose > * + *{margin-top: 1.25em;}
body .elementor.elementor.elementor .prose h2{font-size: clamp(1.75rem, 1rem + 2vw, 2.75rem); margin-top: 2em; line-height: 1.05;}
body .elementor.elementor.elementor .prose h3{margin-top: 1.75em;}
body .elementor.elementor.elementor .prose p,body .elementor.elementor.elementor .prose li{color: rgb(42, 42, 44);}
body .elementor.elementor.elementor .prose ul,body .elementor.elementor.elementor .prose ol{padding-left: 1.2em;}
body .elementor.elementor.elementor .prose li + li{margin-top: 0.4em;}
body .elementor.elementor.elementor .prose blockquote{border-left: 2px solid var(--accent); padding-left: 1.25em; font-family: var(--font-display); font-size: var(--fs-lead); line-height: 1.35;}
body .elementor.elementor.elementor .prose img,body .elementor.elementor.elementor .prose figure{max-width: 100%; height: auto;}
body .elementor.elementor.elementor .prose .alignwide{max-width: min(1200px, 90vw); margin-inline: auto;}
body .elementor.elementor.elementor .prose .alignfull{width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw);}
body .elementor.elementor.elementor .prose figcaption{font-size: 0.85rem; color: var(--muted); margin-top: 0.5em;}
body .elementor.elementor.elementor .prose hr{border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--border); margin-block: 3em;}
body .elementor.elementor.elementor .pagination{display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: clamp(48px, 6vw, 80px);}
body .elementor.elementor.elementor .page-numbers{display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0px 1rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--border); font-family: var(--font-mono); font-size: 0.8rem;}
body .elementor.elementor.elementor .page-numbers.current,body .elementor.elementor.elementor .page-numbers:hover{background: var(--foreground); color: var(--background);}
body .elementor.elementor.elementor .search-form{display: flex; gap: 0.5rem;}
body .elementor.elementor.elementor .search-form label{flex: 1 1 0%;}
body .elementor.elementor.elementor .search-field{width: 100%; height: 3.5rem; padding: 0px 1.25rem; border-radius: 999px; border: 1px solid var(--border); background: transparent; color: inherit; font: inherit;}
body .elementor.elementor.elementor .search-submit{height: 3.5rem; padding: 0px 1.5rem; border-radius: 999px; background: var(--foreground); color: var(--background); font-weight: 600; border: 0px; cursor: pointer;}
body .elementor.elementor.elementor .contact-form{display: grid; gap: 1.5rem;}
@media (min-width: 768px){
body .elementor.elementor.elementor .contact-form{grid-template-columns: 1fr 1fr;}
body .elementor.elementor.elementor .field--full,body .elementor.elementor.elementor .field--chips,body .elementor.elementor.elementor .form-foot{grid-column: 1 / -1;}
}
body .elementor.elementor.elementor .field{display: grid; gap: 0.5rem; border: 0px; margin: 0px; padding: 0px; min-width: 0px;}
body .elementor.elementor.elementor .field label,body .elementor.elementor.elementor .field legend{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); padding: 0px;}
body .elementor.elementor.elementor .field input[type="text"],body .elementor.elementor.elementor .field input[type="email"],body .elementor.elementor.elementor .field input[type="tel"],body .elementor.elementor.elementor .field textarea{width: 100%; padding: 0.9rem 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--border); background: transparent; color: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 1.15rem; border-radius: 0px; transition: border-color 0.3s;}
body .elementor.elementor.elementor .field input:focus,body .elementor.elementor.elementor .field textarea:focus{outline: none; border-bottom-color: var(--accent);}
body .elementor.elementor.elementor .field textarea{resize: vertical; min-height: 140px;}
body .elementor.elementor.elementor .chips{display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem;}
body .elementor.elementor.elementor .chip{position: relative; cursor: pointer;}
body .elementor.elementor.elementor .chip input{position: absolute; opacity: 0; inset: 0px; cursor: pointer;}
body .elementor.elementor.elementor .chip span{display: inline-flex; align-items: center; height: 2.6rem; padding: 0px 1.1rem; border-radius: 999px; background: var(--background); box-shadow: inset 0 0 0 1px var(--border); font-size: 0.95rem; transition: background 0.25s, color 0.25s, box-shadow 0.25s;}
body .elementor.elementor.elementor .chip input:checked + span{background: var(--accent); color: rgb(255, 255, 255); box-shadow: none;}
body .elementor.elementor.elementor .chip input:focus-visible + span{outline: 2px solid var(--accent); outline-offset: 2px;}
body .elementor.elementor.elementor .field--check label{display: flex; gap: 0.75rem; align-items: flex-start; text-transform: none; letter-spacing: 0px; font-family: var(--font-body); font-size: 0.9rem; color: var(--muted);}
body .elementor.elementor.elementor .field--check input{margin-top: 0.2rem; accent-color: var(--accent); width: 18px; height: 18px;}
body .elementor.elementor.elementor .field--check a{color: var(--foreground); text-decoration: underline;}
body .elementor.elementor.elementor .form-foot{display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem;}
body .elementor.elementor.elementor .form-status{font-size: 0.95rem;}
body .elementor.elementor.elementor .form-status.is-error{color: rgb(255, 107, 129);}
body .elementor.elementor.elementor .hp{width: 1px; height: 1px; overflow: hidden; position: absolute !important; left: -9999px !important;}
body .elementor.elementor.elementor .service-hero{position: relative; overflow: hidden;}
body .elementor.elementor.elementor .service-hero__num{position: absolute; right: calc(var(--gutter) - .06em); top: calc(var(--header-h) + 1rem); font-family: var(--font-display); font-size: clamp(8rem, 24vw, 26rem); font-weight: 800; font-stretch: 125%; line-height: 0.8; letter-spacing: -0.06em; color: transparent; -webkit-text-stroke: 1px rgba(14, 14, 16, 0.1); pointer-events: none; user-select: none;}
body .elementor.elementor.elementor .service-hero__answer{max-width: 52ch; margin-top: clamp(24px, 3vw, 40px); color: var(--foreground); position: relative;}
body .elementor.elementor.elementor .facts__list{display: grid; gap: clamp(10px, 1vw, 16px);}
body .elementor.elementor.elementor .fact{display: grid; gap: 0.5rem; align-content: start; padding: clamp(20px, 2vw, 28px); border-radius: var(--radius); background: var(--surface);}
body .elementor.elementor.elementor .fact dt{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent);}
body .elementor.elementor.elementor .fact dd{margin: 0px; font-size: 1.05rem; line-height: 1.55; max-width: 48ch;}
@media (min-width: 768px){
body .elementor.elementor.elementor .facts__list{grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1200px){
body .elementor.elementor.elementor .facts__list{grid-template-columns: repeat(4, 1fr);}
}
body .elementor.elementor.elementor .split__grid{display: grid; gap: 1.5rem;}
@media (min-width: 1024px){
body .elementor.elementor.elementor .split__grid{grid-template-columns: 3fr 9fr; gap: var(--gap);}
body .elementor.elementor.elementor .split__grid > .eyebrow{padding-top: 0.9rem; align-self: start;}
}
body .elementor.elementor.elementor .split__title{font-size: clamp(2rem, 1rem + 3vw, 4.25rem); max-width: 18ch; margin-bottom: clamp(24px, 3vw, 48px);}
body .elementor.elementor.elementor .split__lead{max-width: 48ch;}
body .elementor.elementor.elementor .split .prose{margin-top: 2rem;}
body .elementor.elementor.elementor .caps__list{list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--border); columns: 1;}
body .elementor.elementor.elementor .caps__list li{display: flex; align-items: baseline; gap: 1.25rem; padding: 1.1rem 0px; border-bottom: 1px solid var(--border); font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + 1.1vw, 2rem); font-weight: 650; letter-spacing: -0.03em; break-inside: avoid;}
body .elementor.elementor.elementor .caps__num{font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 400; letter-spacing: 0.14em; color: var(--accent); min-width: 2.5ch;}
@media (min-width: 768px){
body .elementor.elementor.elementor .caps__list{columns: 2; column-gap: var(--gap);}
}
body .elementor.elementor.elementor .process__list{list-style: none; margin: clamp(24px, 4vw, 56px) 0px 0px; padding: 0px; display: grid; gap: var(--gap); counter-reset: p 0;}
@media (min-width: 768px){
body .elementor.elementor.elementor .process__list{grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1200px){
body .elementor.elementor.elementor .process__list{grid-template-columns: repeat(4, 1fr);}
}
body .elementor.elementor.elementor .process__step{position: relative; padding: clamp(22px, 2.4vw, 34px); border-radius: var(--radius); background: var(--surface); overflow: hidden;}
body .elementor.elementor.elementor .process__step::before{content: ""; position: absolute; top: -1px; left: 0px; width: 0px; height: 1px; background: var(--accent); transition: width 1.2s var(--ease-out) .2s;}
body .elementor.elementor.elementor .process__step.is-in::before,.no-js body .elementor.elementor.elementor .process__step::before{width: 100%;}
body .elementor.elementor.elementor .process__num{display: block; font-family: var(--font-display); font-size: clamp(3rem, 1rem + 4vw, 5.5rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; color: var(--accent); margin-bottom: 1.25rem;}
body .elementor.elementor.elementor .process__title{margin-bottom: 0.6rem;}
body .elementor.elementor.elementor .process__text{color: var(--muted); font-size: 0.98rem; max-width: 34ch;}
body .elementor.elementor.elementor .why__list{list-style: none; margin: clamp(24px, 4vw, 56px) 0px 0px; padding: 0px; display: grid; gap: clamp(32px,4vw,56px) var(--gap);}
@media (min-width: 768px){
body .elementor.elementor.elementor .why__list{grid-template-columns: repeat(3, 1fr);}
}
body .elementor.elementor.elementor .why__item{padding: clamp(22px, 2.4vw, 34px); border-radius: var(--radius); background: var(--surface);}
body .elementor.elementor.elementor .section--light .why__item{background: var(--background);}
body .elementor.elementor.elementor .why__title{margin-bottom: 0.75rem; color: var(--foreground);}
body .elementor.elementor.elementor .why__item p{color: var(--muted);}
body .elementor.elementor.elementor .work-grid--pair{margin-top: 0px;}
body .elementor.elementor.elementor .others{border-top: 1px solid var(--border);}
body .elementor.elementor.elementor .others__list{list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 0.5rem;}
body .elementor.elementor.elementor .others__list a{display: inline-flex; align-items: center; height: 2.75rem; padding: 0px 1.2rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--border); font-size: 0.95rem; transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .others__list a:hover{background: var(--foreground); color: var(--background);}
body .elementor.elementor.elementor .filters{display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: clamp(32px, 4vw, 56px);}
body .elementor.elementor.elementor .filter{display: inline-flex; align-items: center; gap: 0.35rem; height: 2.6rem; padding: 0px 1.1rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--border); font-size: 0.92rem; transition: background 0.3s, color 0.3s;}
body .elementor.elementor.elementor .filter sup{font-family: var(--font-mono); font-size: 0.65rem; color: var(--muted); top: -0.3em;}
body .elementor.elementor.elementor .filter:hover,body .elementor.elementor.elementor .filter.is-active{background: var(--foreground); color: var(--background);}
body .elementor.elementor.elementor .filter.is-active sup,body .elementor.elementor.elementor .filter:hover sup{color: inherit;}
body .elementor.elementor.elementor .filter--industry{box-shadow: transparent 0px 0px 0px 1px inset; color: var(--muted);}
body .elementor.elementor.elementor .posts-grid--2{grid-template-columns: 1fr;}
@media (min-width: 768px){
body .elementor.elementor.elementor .posts-grid--2{grid-template-columns: repeat(2, 1fr);}
}
body .elementor.elementor.elementor .case-hero{border-bottom: 0px; padding-bottom: clamp(32px, 4vw, 64px);}
body .elementor.elementor.elementor .case-hero__client{margin-top: 1.5rem;}
body .elementor.elementor.elementor .case-hero__title{max-width: 18ch;}
body .elementor.elementor.elementor .case-cover{position: relative; margin: 0px auto; max-width: calc(var(--max) - 2 * var(--gutter)); border-radius: var(--radius); aspect-ratio: 16 / 8; max-height: 88svh; width: 100%; overflow: hidden; background: var(--surface); container-type: inline-size;}
body .elementor.elementor.elementor .case-cover img{width: 100%; height: 100%; object-fit: cover;}
body .elementor.elementor.elementor .case-cover .project-card__placeholder{font-size: clamp(3rem, 12cqi, 12rem); padding: var(--gutter);}
body .elementor.elementor.elementor .case-intro__grid{display: grid; gap: clamp(32px, 5vw, 80px);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .case-intro__grid{grid-template-columns: 4fr 8fr;}
}
body .elementor.elementor.elementor .case-meta{display: grid; gap: 0px; border-top: 1px solid var(--border); align-content: start;}
body .elementor.elementor.elementor .case-meta > div{display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: 1rem 0px; border-bottom: 1px solid var(--border);}
body .elementor.elementor.elementor .case-meta dt{font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding-top: 0.2rem;}
body .elementor.elementor.elementor .case-meta dd{margin: 0px;}
body .elementor.elementor.elementor .case-meta a{background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;}
body .elementor.elementor.elementor .case-meta a:hover{color: var(--case-accent,var(--accent));}
body .elementor.elementor.elementor .case-meta__list{list-style: none; margin: 0px; padding: 0px; display: grid; gap: 0.3rem;}
body .elementor.elementor.elementor .case-intro__summary{font-family: var(--font-display); font-size: clamp(1.5rem, 1rem + 1.9vw, 3rem); font-weight: 600; font-stretch: 104%; line-height: 1.15; letter-spacing: -0.02em; text-wrap: pretty;}
body .elementor.elementor.elementor .case-chapter{padding-block: clamp(32px, 4vw, 56px); border-top: 1px solid var(--border);}
body .elementor.elementor.elementor .case-chapter__title{font-size: clamp(1.75rem, 1rem + 2vw, 3rem); margin-bottom: 1.25rem;}
body .elementor.elementor.elementor .case-chapter__text{max-width: 62ch; color: var(--foreground); font-size: 1.08rem;}
body .elementor.elementor.elementor .case-chapter__text p + p{margin-top: 1em;}
body .elementor.elementor.elementor .case-gallery__grid{display: grid; gap: var(--gap);}
@media (min-width: 768px){
body .elementor.elementor.elementor .case-gallery__grid{grid-template-columns: repeat(2, 1fr);}
body .elementor.elementor.elementor .case-gallery__item:nth-child(3n+1){grid-column: 1 / -1;}
}
body .elementor.elementor.elementor .case-gallery__item{margin: 0px; overflow: hidden; border-radius: var(--radius); background: var(--surface);}
body .elementor.elementor.elementor .case-gallery__item img{width: 100%; height: auto;}
body .elementor.elementor.elementor .case-gallery__item figcaption{padding: 0.75rem 0px; font-size: 0.85rem; color: var(--muted);}
body .elementor.elementor.elementor .case-video{padding-block: var(--section) 0;}
body .elementor.elementor.elementor .case-outcome__text{max-width: 56ch;}
body .elementor.elementor.elementor .case-results{margin-top: clamp(40px, 5vw, 72px);}
body .elementor.elementor.elementor .case-next{border-top: 1px solid var(--border);}
body .elementor.elementor.elementor .case-next__link{display: block; padding-block: clamp(64px, 10vw, 160px); transition: background .5s var(--ease-out),color .5s;}
body .elementor.elementor.elementor .case-next__link:hover{background: var(--case-accent,var(--accent)); color: rgb(255, 255, 255);}
body .elementor.elementor.elementor .case-next__link .gyk-container{display: grid; gap: 1rem;}
body .elementor.elementor.elementor .case-next__title{font-family: var(--font-display); font-size: var(--fs-h1); font-weight: 800; line-height: 0.92; letter-spacing: -0.05em; max-width: 18ch;}
body .elementor.elementor.elementor .about-hero{position: relative; overflow: hidden;}
body .elementor.elementor.elementor .about-hero__heart{position: absolute; right: var(--gutter); bottom: clamp(24px, 4vw, 64px); width: clamp(140px, 22vw, 360px); color: var(--accent); transform: rotate(-6deg);}
@media (max-width: 767px){
body .elementor.elementor.elementor .about-hero__heart{position: relative; right: auto; bottom: auto; margin: 2rem 0 0 var(--gutter);}
}
body .elementor.elementor.elementor .about-story{display: grid; gap: 1.25rem; max-width: 62ch;}
body .elementor.elementor.elementor .about-story p:not(.lead){color: var(--muted); font-size: 1.05rem;}
body .elementor.elementor.elementor .philosophy{position: relative; overflow: hidden; margin-inline: clamp(8px, 1.2vw, 20px); border-radius: calc(var(--radius) * 1.4); padding-block: clamp(120px, 16vw, 240px); isolation: isolate;}
body .elementor.elementor.elementor .philosophy__text{font-family: var(--font-display); font-size: clamp(2.6rem, 1rem + 7vw, 10rem); font-weight: 800; line-height: 0.88; letter-spacing: -0.055em;}
body .elementor.elementor.elementor .team__grid{list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(28px,3vw,48px) var(--gap);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .team__grid{grid-template-columns: repeat(4, 1fr);}
}
body .elementor.elementor.elementor .member{position: relative;}
body .elementor.elementor.elementor .member__photo{aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); background: var(--surface); margin-bottom: 1rem;}
body .elementor.elementor.elementor .member__photo img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .6s,transform 1.2s var(--ease-out);}
body .elementor.elementor.elementor .member:hover .member__photo img{filter: none; transform: scale(1.04);}
body .elementor.elementor.elementor .member__name{font-size: clamp(1.1rem, 1rem + 0.5vw, 1.4rem);}
body .elementor.elementor.elementor .member__role{color: var(--muted); font-size: 0.9rem; margin-top: 0.2rem;}
body .elementor.elementor.elementor .member__link{position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgb(255, 255, 255); color: rgb(11, 11, 11);}
body .elementor.elementor.elementor .member__link .icon{width: 16px; height: 16px;}
@media (min-width: 768px){
body .elementor.elementor.elementor .why__list--4{grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1200px){
body .elementor.elementor.elementor .why__list--4{grid-template-columns: repeat(4, 1fr);}
}
body .elementor.elementor.elementor .timeline__list{list-style: none; margin: 0px; padding: 0px; border-top: 1px solid var(--border);}
body .elementor.elementor.elementor .timeline__item{display: grid; grid-template-columns: minmax(5rem, 9rem) 1fr; gap: 1.5rem; align-items: baseline; padding: 1.5rem 0px; border-bottom: 1px solid var(--border);}
body .elementor.elementor.elementor .timeline__year{font-family: var(--font-display); font-size: clamp(1.75rem, 1rem + 2vw, 3rem); font-weight: 800; letter-spacing: -0.04em; color: var(--accent);}
body .elementor.elementor.elementor .timeline__item p{font-size: 1.1rem; max-width: 52ch;}
body .elementor.elementor.elementor .contact-hero__direct{display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2.5rem; margin-top: clamp(32px, 4vw, 56px);}
body .elementor.elementor.elementor .contact-big{font-family: var(--font-display); font-size: clamp(1.4rem, 1rem + 1.8vw, 2.75rem); font-weight: 700; font-stretch: 110%; letter-spacing: -0.02em; background: linear-gradient(var(--accent),var(--accent)) left bottom/0 2px no-repeat; transition: background-size .6s var(--ease-out),color .3s;}
body .elementor.elementor.elementor .contact-big:hover{background-size: 100% 2px; color: var(--accent);}
body .elementor.elementor.elementor .contact-note{margin-top: 1.5rem; color: var(--muted); max-width: 28ch;}
body .elementor.elementor.elementor .office-cards{display: grid; gap: var(--gap);}
@media (min-width: 768px){
body .elementor.elementor.elementor .office-cards{grid-template-columns: repeat(3, 1fr);}
}
body .elementor.elementor.elementor .office-card{display: grid; gap: 0.9rem; align-content: start; padding: clamp(24px, 3vw, 40px); border-radius: var(--radius); background: var(--surface);}
body .elementor.elementor.elementor .office-card__name{font-size: clamp(2rem, 1rem + 2.4vw, 3.5rem); font-weight: 800; letter-spacing: -0.045em;}
body .elementor.elementor.elementor .office-card address{font-style: normal; color: var(--muted); line-height: 1.55;}
body .elementor.elementor.elementor .post-hero__meta{display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: 1.5rem; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);}
body .elementor.elementor.elementor .post-hero__meta a{color: var(--accent);}
body .elementor.elementor.elementor .post-cover{margin: 0px; aspect-ratio: 16 / 8; overflow: hidden; background: var(--surface);}
body .elementor.elementor.elementor .post-cover img{width: 100%; height: 100%; object-fit: cover;}
body .elementor.elementor.elementor .post-body{display: grid; gap: clamp(32px, 5vw, 80px);}
@media (min-width: 1024px){
body .elementor.elementor.elementor .post-body{grid-template-columns: 3fr 9fr;}
}
body .elementor.elementor.elementor .post-aside{display: grid; gap: 1.5rem; align-content: start;}
@media (min-width: 1024px){
body .elementor.elementor.elementor .post-aside{position: sticky; top: calc(var(--header-h) + 24px);}
}
body .elementor.elementor.elementor .post-aside__box{padding: 1.1rem 1.25rem; border-radius: 16px; background: var(--surface); font-size: 0.92rem; color: var(--muted);}
body .elementor.elementor.elementor .post-aside__box strong{display: block; color: var(--foreground); margin-bottom: 0.25rem; font-size: 1rem;}
body .elementor.elementor.elementor .read-progress{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 120; height: 2px; background: var(--accent); transform-origin: 0px 50%; transform: scaleX(0);}
@supports (animation-timeline:scroll()){
body .elementor.elementor.elementor .read-progress{animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: grow; animation-range: normal; animation-timeline: scroll(root);}
}
body .elementor.elementor.elementor .pillar-box{margin-top: 3rem; padding: clamp(24px, 3vw, 40px); border-radius: var(--radius); background: var(--accent-soft); display: grid; gap: 1rem;}
body .elementor.elementor.elementor .pillar-box p{color: var(--muted);}
body .elementor.elementor.elementor .field .chip{font-family: var(--font-body); font-size: 0.95rem; letter-spacing: 0px; text-transform: none; color: var(--foreground);}
body .elementor.elementor.elementor .page-hero__pillar{display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-top: 1.5rem; color: var(--muted);}
.elementor-editor-active body .elementor.elementor.elementor [data-reveal], .elementor-editor-active body .elementor.elementor.elementor [data-reveal] > span > span{opacity:1!important;transform:none!important;clip-path:none!important}/* End custom CSS */