/* One presentation layer for portfolio, services and information pages. No extra fonts. */
:root{--frs-heading:var(--e-global-typography-primary-font-family,"Plus Jakarta Sans",Arial,sans-serif);--frs-body:var(--e-global-typography-text-font-family,"Manrope",Arial,sans-serif);--frs-navy:#07152f;--frs-blue:#6edfdf;--frs-soft:#effcfc;--frs-shell:1240px}
body :is(.frs-project,.frs-service-page,.frs-info-page){font-family:var(--frs-body);color:var(--frs-navy);background:#fff}
body :is(.frs-project__shell,.frs-service-page__shell,.frs-info-page__shell){width:min(1240px,calc(100% - 48px));margin-inline:auto}
body :is(.frs-project__hero,.frs-service-page__hero,.frs-info-page__hero){padding:clamp(150px,13vw,190px) 0 64px;background:linear-gradient(138deg,#6edfdf 0%,#b9f2f2 74%,#effcfc 100%);color:#07152f}
body :is(.frs-project__hero,.frs-service-page__hero,.frs-info-page__hero)::before,body :is(.frs-project__hero,.frs-service-page__hero,.frs-info-page__hero)::after{display:none}
body :is(.frs-project__title,.frs-service-page__hero h1,.frs-info-page h1){max-width:1050px;font-family:var(--frs-heading)!important;font-size:clamp(40px,5.5vw,72px)!important;font-weight:600!important;line-height:1.1!important;letter-spacing:-.035em!important;color:#07152f!important;margin:18px 0 20px!important;text-shadow:none;overflow-wrap:break-word;text-wrap:balance}
body :is(.frs-project__tagline,.frs-service-page__subtitle,.frs-info-page__lead){max-width:780px;font-family:var(--frs-body);font-size:clamp(18px,1.7vw,23px)!important;font-weight:400!important;line-height:1.6!important;color:#17364b!important;margin:0!important}
body :is(.frs-project__eyebrow,.frs-service-page__eyebrow,.frs-info-page__eyebrow,.frs-service-page__kicker){font-size:12px!important;font-weight:600!important;line-height:1.4;letter-spacing:.1em!important;color:#075966!important}
body :is(.frs-project,.frs-service-page,.frs-info-page) h2{font-family:var(--frs-heading)!important;font-size:clamp(28px,3.5vw,46px)!important;line-height:1.15!important;font-weight:600!important;letter-spacing:-.025em!important}
body :is(.frs-project__prose,.frs-service-page__copy,.frs-info-page p,.frs-service-page__panel p,.frs-service-page__panel li){font-family:var(--frs-body);line-height:1.65;font-weight:400}
body :is(.frs-process article,.frs-contact-flow__card,.frs-contact-direct>div,.frs-service-page__panel,.frs-service-page__cta,.frs-info-page__hero-image){border:1px solid #c3dcdc;border-radius:24px;box-shadow:none}
body :is(.frs-info-page__button,.frs-service-page__button,.frs-contact-form button,.frs-contact-form__contact){min-height:48px;font-family:var(--frs-heading);font-weight:600!important;font-size:16px;line-height:1.4;border-radius:999px}
body .frs-contact-form legend{font-weight:600;font-size:clamp(25px,3vw,36px)}
body .frs-process article:nth-child(even) :is(h2,p){color:#fff!important}
body .frs-info-page__cta h2{color:#fff!important}
.frs-service-image{margin:0 0 64px;overflow:hidden;border-radius:24px;background:#effcfc;aspect-ratio:16/9}
.frs-service-image img{display:block;width:100%;height:100%;object-fit:cover}
.frs-service-page__process-image{margin-top:24px;aspect-ratio:4/3;overflow:hidden;border-radius:18px}
.frs-service-page__process-image img{display:block;width:100%;height:100%;object-fit:cover}
/* Same responsive carousel on every page. More cards, restrained maximum width. */
body .frs-portfolio--carousel.frs-portfolio--wide{width:min(1440px,calc(100vw - 64px));max-width:none;margin-left:50%;margin-right:0;transform:translateX(-50%)}
body .frs-portfolio--carousel .frs-portfolio__track{display:flex;gap:24px;scroll-padding:0;overscroll-behavior-x:contain}
body .frs-portfolio--carousel .frs-card{flex:0 0 calc((100% - 72px)/4);min-width:0}
body .frs-portfolio--carousel .frs-card__title{font-size:clamp(18px,1.3vw,22px);font-weight:600}
body .frs-portfolio--carousel .frs-portfolio__controls{position:static;display:flex;width:fit-content;max-width:100%;align-items:center;justify-content:center;gap:12px;margin:24px auto 0;padding:0;transform:none}
body .frs-portfolio--carousel .frs-portfolio__arrow{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;border-radius:50%;line-height:0;box-shadow:none}
body .frs-portfolio--carousel .frs-portfolio__arrow svg{display:block;width:22px;height:22px;margin:0;transform:none}
body .frs-portfolio--no-scroll .frs-portfolio__controls{visibility:hidden;display:flex}
@media(min-width:1600px){body .frs-portfolio--carousel .frs-card{flex-basis:calc((100% - 96px)/5)}}
@media(min-width:768px) and (max-width:1024px){body .frs-portfolio--carousel .frs-card{flex-basis:calc((100% - 24px)/2)}}
/* Override the observed Elementor glass widget, which hides the menu parent. */
body .elementor-location-header .elementor-element.elementor-element-fa85414:not(.elementor-sticky__spacer){overflow:visible!important;isolation:auto!important;background:#f5fdfd!important;border:1px solid #b8d7d9!important;box-shadow:0 6px 20px rgba(7,21,47,.1)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;align-items:center;gap:24px}
body .elementor-location-header .elementor-element-fa85414::before{display:none!important}
body .elementor-location-header .elementor-element-fa85414>.elementor-element-5923f068{display:flex!important;flex-direction:row;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;gap:24px}
body .elementor-location-header .jkit-menu>li>a{color:#07152f!important;font-family:var(--frs-heading);font-size:15px!important;font-weight:600!important;padding:14px 12px!important;text-decoration:none}
body .elementor-location-header .jkit-menu .sub-menu{background:#fff!important;border:1px solid #c3dcdc;border-radius:16px;box-shadow:0 10px 24px rgba(7,21,47,.12);padding:8px}
body .elementor-location-header .jkit-menu .sub-menu a{color:#07152f!important;padding:12px 16px!important;font-size:15px!important;line-height:1.45}
body .elementor-location-header .jkit-menu a:hover,body .elementor-location-header .jkit-menu a:focus-visible{background:#effcfc!important;color:#07152f!important;border-radius:10px}
.frs-jeg-contact,.frs-submenu-toggle{display:none}
.frs-jeg-host[hidden]{display:none!important}
@media(min-width:1025px){.elementor-location-header .jkit-menu li:focus-within>.sub-menu{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}.elementor-location-header .jkit-hamburger-menu{display:none!important}}
@media(max-width:1024px){
 body .elementor-location-header .elementor-element-fa85414>.elementor-element-5923f068{width:auto!important;flex:0 0 auto!important;margin-left:auto!important}
 body .elementor-location-header .elementor-element-fa85414 .elementor-widget-button{display:none!important}
 body .elementor-location-header .elementor-element-fa85414 .elementor-widget-jkit_nav_menu{display:block!important;width:auto!important}
 body .elementor-location-header .jkit-hamburger-menu{display:grid!important;place-items:center;width:48px!important;height:48px!important;min-width:48px;padding:13px!important;border:0!important;border-radius:50%!important;background:#6edfdf!important;color:#000!important;visibility:visible!important;opacity:1!important}
 body .elementor-location-header .jkit-hamburger-menu svg{display:block;width:22px!important;height:22px!important;fill:#000!important}
 .frs-jeg-host{position:fixed!important;inset:0!important;z-index:999999!important;font-family:var(--frs-body);color:#07152f}
 .frs-jeg-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(7,21,47,.45)}
 body .frs-jeg-host .jkit-menu-wrapper{position:absolute!important;inset:0 0 0 auto!important;display:flex!important;flex-direction:column!important;width:min(380px,88vw)!important;max-width:100%!important;height:100%!important;height:100dvh!important;padding:24px 24px calc(24px + env(safe-area-inset-bottom))!important;margin:0!important;background:#fff!important;overflow:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;box-sizing:border-box;box-shadow:-8px 0 30px rgba(7,21,47,.12)}
 body .frs-jeg-host .jkit-nav-identity-panel{position:static!important;order:-1;display:flex!important;justify-content:space-between;align-items:center;gap:20px;margin:0 0 32px;padding:0!important}
 body .frs-jeg-host .jkit-nav-logo img{display:block;width:150px;height:45px;object-fit:contain}
 body .frs-jeg-host .jkit-close-menu{display:grid!important;place-items:center;flex:0 0 44px;width:44px!important;height:44px!important;padding:12px!important;border:1px solid #c3dcdc!important;border-radius:50%!important;background:#effcfc!important;color:#07152f!important}
 body .frs-jeg-host .jkit-close-menu svg{width:18px;height:18px;fill:currentColor}
 body .frs-jeg-host .jkit-menu-container{height:auto!important;overflow:visible!important;padding:0!important}
 body .frs-jeg-host .jkit-menu{display:block!important;padding:0!important;margin:0!important;list-style:none}
 body .frs-jeg-host .jkit-menu>li{position:relative;border-bottom:1px solid #deebeb;list-style:none}
 body .frs-jeg-host .jkit-menu a{display:block!important;padding:16px 48px 16px 0!important;color:#07152f!important;font-family:var(--frs-heading);font-size:21px!important;font-weight:500;line-height:1.4;text-decoration:none}
 body .frs-jeg-host .jkit-menu a>svg,body .frs-jeg-host .jkit-menu a>i{display:none!important}
 body .frs-jeg-host .frs-submenu-toggle{position:absolute;right:0;top:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#effcfc;color:#07152f;font-size:24px}
 body .frs-jeg-host .sub-menu{position:static!important;display:none!important;width:100%!important;min-width:0!important;padding:0 0 12px 12px!important;margin:0!important;background:#fff!important;list-style:none;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important}
 body .frs-jeg-host .sub-menu.dropdown-open{display:block!important}
 body .frs-jeg-host .sub-menu a{padding:12px 0!important;font-size:16px!important}
 body .frs-jeg-host .frs-jeg-contact{display:grid;gap:14px;margin-top:auto;padding-top:36px;overflow-wrap:anywhere}
 .frs-jeg-contact p{margin:0;font-weight:600;font-size:17px;color:#07152f}
 .frs-jeg-contact a{color:#075966;font-size:16px;text-decoration:underline;text-underline-offset:3px}
 .frs-jeg-contact small{color:#3f5c61;font-size:14px}
 .frs-jeg-contact .frs-jeg-audit{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 20px;border-radius:999px;background:#6edfdf;color:#07152f;font-weight:600;text-decoration:none}
 body.frs-navigation-open .frs-project__mobile-audit{visibility:hidden}
}
@media(max-width:767px){
 body :is(.frs-project__shell,.frs-service-page__shell,.frs-info-page__shell){width:calc(100% - 36px)}
 body :is(.frs-project__hero,.frs-service-page__hero,.frs-info-page__hero){padding:142px 0 40px}
 body :is(.frs-project__title,.frs-service-page__hero h1,.frs-info-page h1){font-size:clamp(32px,8.7vw,42px)!important;line-height:1.12!important}
 body :is(.frs-project__tagline,.frs-service-page__subtitle,.frs-info-page__lead){font-size:18px!important}
 body :is(.frs-project,.frs-service-page,.frs-info-page){padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 body .frs-portfolio--carousel.frs-portfolio--wide{width:calc(100vw - 36px)}
 body .frs-portfolio--carousel .frs-portfolio__track{gap:16px}
 body .frs-portfolio--carousel .frs-card{flex-basis:82%}
 body .frs-contact-flow__intro{position:static}
 body .frs-contact-flow__card{padding:26px 20px;min-height:540px}
 body .frs-project__mobile-audit{z-index:90}
 .frs-service-image{margin-bottom:40px}
}
:is(.frs-jeg-host,.elementor-location-header) :is(a,button):focus-visible{outline:3px solid #096a73!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){.frs-jeg-host *,.frs-portfolio *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.frs-jeg-audit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(forced-colors:active){.frs-jeg-host .jkit-menu-wrapper,.frs-jeg-audit,.jkit-hamburger-menu{border:1px solid ButtonText!important}.frs-jeg-backdrop{background:Canvas}.frs-jeg-host :focus-visible{outline-color:Highlight!important}}
/* v2.6.1: remove the empty control row above related projects. */
body .frs-service-page__work > .frs-portfolio--carousel{width:min(1240px,calc(100% - 48px));margin:28px auto 0;padding:0;transform:none}
body .frs-portfolio--carousel.frs-portfolio--no-intro{display:flex;flex-direction:column}
body .frs-portfolio--no-intro > .frs-portfolio__header{order:2;margin:0}
body .frs-portfolio--no-intro > .frs-portfolio__track{order:1}
body .frs-portfolio--no-intro .frs-portfolio__controls{margin-top:16px}
body .frs-service-page__work .frs-portfolio__track{padding-inline:0}
@media(max-width:767px){body .frs-service-page__work > .frs-portfolio--carousel{width:calc(100% - 36px);margin-top:24px}}
@keyframes frs-menu-enter{from{translate:100% 0;opacity:0}to{translate:0 0;opacity:1}}
@keyframes frs-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:1024px) and (prefers-reduced-motion:no-preference){
 body .frs-jeg-host:not([hidden]) .jkit-menu-wrapper{animation:frs-menu-enter 240ms cubic-bezier(.2,.8,.2,1) both}
 .frs-jeg-host:not([hidden]) .frs-jeg-backdrop{animation:frs-backdrop-enter 200ms ease both}
}
@media(min-width:1025px){
 body .elementor-location-header .jkit-menu>li>.sub-menu{width:320px!important;max-width:calc(100vw - 48px);padding:10px!important;border:1px solid #b8d7d9!important;border-top:3px solid #6edfdf!important;border-radius:18px!important;background:#faffff!important;box-shadow:0 16px 36px rgba(7,21,47,.14)!important}
 body .elementor-location-header .jkit-menu .sub-menu li{margin:0;list-style:none}
 body .elementor-location-header .jkit-menu .sub-menu a{display:flex!important;align-items:center;min-height:48px;padding:12px 16px!important;border-radius:10px;font-weight:500!important;white-space:normal;transition:background-color 160ms ease,color 160ms ease}
 body .elementor-location-header .jkit-menu .sub-menu a:hover,body .elementor-location-header .jkit-menu .sub-menu a:focus-visible{background:#d9f7f7!important;color:#07152f!important}
}
.frs-directory-body{padding-block:48px 72px}
.frs-directory-body>p{max-width:760px}
.frs-directory-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}
.frs-directory-services article{padding:28px;border:1px solid #c3dcdc;border-radius:24px;background:#effcfc}
body .frs-directory-services h2{font-size:clamp(24px,2.5vw,32px)!important}
.frs-directory-services a{color:#075966;text-underline-offset:4px}
.frs-directory-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:24px 0}
.frs-directory-filter label{display:grid;gap:8px;font-weight:600}
.frs-directory-filter select{max-width:100%;min-height:48px;padding:10px 16px;border:1px solid #8daeb3;border-radius:12px;background:#fff;color:#07152f}
.frs-directory-filter button{min-height:48px;padding:12px 24px;border:0;border-radius:999px;background:#6edfdf;color:#07152f;font-weight:600}
.frs-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.frs-directory-grid .frs-card{width:auto;min-width:0}
.frs-directory-grid .frs-card__media{aspect-ratio:4/5!important}
.frs-directory-results.frs-portfolio{padding:12px 0 32px;width:100%;margin:0;transform:none}
.frs-directory-pagination{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.frs-directory-pagination .page-numbers{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #8daeb3;border-radius:10px;color:#07152f}
.frs-directory-pagination .current{background:#6edfdf}
@media(max-width:1024px){.frs-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.frs-directory-services,.frs-directory-grid{grid-template-columns:1fr}.frs-directory-filter label{width:100%}}

/* v2.6.2: wider homepage portfolio on desktop only. */
@media(min-width:1025px){
 body.home .frs-portfolio--carousel.frs-portfolio--wide{width:min(1680px,calc(100vw - 64px))}
 body.home .frs-portfolio--carousel .frs-portfolio__track{gap:24px}
 body.home .frs-portfolio--carousel .frs-card{flex-basis:calc((100% - 72px)/4)}
}
@media(min-width:1600px){body.home .frs-portfolio--carousel .frs-card{flex-basis:calc((100% - 96px)/5)}}
/* Launch polish: each submenu control is anchored to its own link row. */
@media(max-width:1024px){
 body .frs-jeg-host .jkit-menu > li.menu-item-has-children{position:relative!important}
 body .frs-jeg-host .frs-submenu-toggle{position:absolute!important;inset:8px 0 auto auto!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:44px;min-height:44px;line-height:1!important;margin:0!important;box-sizing:border-box!important;transform:none!important;float:none!important}
}
body :is(.frs-project__mobile-audit,.frs-jeg-audit,.frs-audit-trigger,.frs-info-page__button,.frs-service-page__button){align-items:center}
body :is(.frs-project__mobile-audit,.frs-jeg-audit) svg{display:block;flex-shrink:0;margin:0;width:20px;height:20px}
body .elementor-button-content-wrapper{align-items:center}
body .elementor-button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
body .elementor-button-icon svg{display:block;width:1em;height:1em}
.frs-reviews{max-width:1240px;margin:0 auto;padding:64px 24px;color:#07152f;font-family:var(--frs-body)}
.frs-reviews__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:14px;color:#075966}
.frs-reviews h2{font-family:var(--frs-heading);font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 32px}
.frs-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.frs-reviews__card{margin:0;padding:28px;border:1px solid #c3dcdc;border-radius:20px;background:#fff;overflow-wrap:anywhere}
.frs-reviews blockquote{margin:0 0 24px;padding:0;border:0;font-size:18px;line-height:1.7;color:#07152f}
.frs-reviews figcaption{display:grid;gap:6px;font-size:15px}.frs-reviews a{color:#075966;text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.frs-reviews__grid{grid-template-columns:1fr}.frs-reviews{padding:40px 20px}}
/* Editable Elementor footer and compact project controls. */
body .frs-native-footer .elementor-widget-text-editor a{color:#d3e9eb;text-decoration:underline;text-underline-offset:4px}
body .frs-native-footer .elementor-widget-text-editor a:hover{color:#6edfdf}
body .frs-native-footer a:focus-visible{outline:2px solid #6edfdf;outline-offset:4px}
body .frs-native-footer .elementor-button:focus-visible{outline-color:#fff}
body .frs-project__mobile-audit[data-frs-footer-hidden]{visibility:hidden!important;pointer-events:none!important}
@media(max-width:767px){
 body .frs-project__nav{flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between;gap:12px}
 body .frs-project__nav a{white-space:nowrap;flex:0 1 auto;min-width:0;font-size:clamp(12px,3.4vw,15px);gap:6px;min-height:44px}
 body .frs-project__nav a span{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
}
/* Keep the mobile identity visible while service links expand downward. */
@media(max-width:1024px){
 body .frs-jeg-host .jkit-menu-wrapper{justify-content:flex-start!important;align-items:stretch!important}
 body .frs-jeg-host .jkit-menu-container,body .frs-jeg-host .frs-jeg-contact{flex:0 0 auto!important}
 body .frs-jeg-host .jkit-nav-identity-panel{position:sticky!important;top:-24px!important;flex:0 0 auto!important;z-index:3;background:#fff;padding:12px 0!important;margin-top:-12px;min-height:68px}
}
/* Consistent breathing room before the shared footer, without stacked CTA reserves. */
body :is(.frs-info-page__cta,.frs-service-page__cta){margin-bottom:40px}
body .frs-project__nav{padding-bottom:32px}
@media(max-width:767px){
 body :is(.frs-project,.frs-service-page,.frs-info-page){padding-bottom:0}
 body :is(.frs-info-page__cta,.frs-service-page__cta){margin-bottom:28px}
 body .frs-native-footer .e-con{padding:0;--padding-left:0px;--padding-right:0px}
 body .frs-native-footer .elementor-widget{text-align:left}
 body.home .frs-native-home-section:last-child{--padding-bottom:32px}
}
body .frs-contact-direct{padding-bottom:40px}
@media(max-width:767px){body .frs-contact-direct{padding-bottom:28px}}
/* Empty native photo slots stay editable without leaving a blank half-page. */
body:not(.elementor-editor-active) .frs-home-story .e-con:has(> .elementor-widget-image):not(:has(img)){display:none}
body:not(.elementor-editor-active) .frs-home-story .e-con:has(> .e-con > .elementor-widget-image):not(:has(img)) > .e-con:has(.elementor-widget-heading){width:100%;max-width:850px}
@media(min-width:768px) and (max-width:1024px){.frs-home-story .e-con:has(> .frs-story-step){flex-wrap:wrap}.frs-home-story .frs-story-step{width:calc(50% - 12px)}}
@media(min-width:1025px){body .elementor-location-header .frs-submenu-toggle{display:none!important}}
/* Legal documents follow the same readable, responsive site styles. */
body .frs-legal-page{padding:160px 24px 48px!important;color:#07152f;font-family:Manrope,sans-serif}
body .frs-legal-page h1{font-size:44px!important;line-height:1.15!important;color:#07152f!important}
body .frs-legal-page h2{font-size:25px!important;line-height:1.3!important;color:#07152f!important;letter-spacing:0!important}
body main:has(#cmplz-document){max-width:948px;padding:160px 24px 48px;margin:0 auto}
body #cmplz-document{max-width:none;font-family:Manrope,sans-serif;color:#07152f;font-size:16px;line-height:1.7}
body main:has(#cmplz-document) h1{font-family:Manrope,sans-serif;font-size:44px;line-height:1.15;color:#07152f}
body #cmplz-document h2{font-size:25px;line-height:1.3;margin:32px 0 16px;color:#07152f;letter-spacing:0}
body .cmplz-cookiebanner{font-family:Manrope,sans-serif!important;background:#f6fdfd!important;color:#07152f!important;border:1px solid #b8d7d9!important;border-radius:22px!important;box-shadow:0 12px 40px #07152f24!important}
body .cmplz-cookiebanner .cmplz-title{font-size:19px!important;font-weight:700!important;color:#07152f!important}
body .cmplz-cookiebanner .cmplz-message{font-size:14px!important;line-height:1.65!important;color:#3f5c61!important}
body .cmplz-cookiebanner .cmplz-btn{min-height:46px!important;border-radius:24px!important;font-family:inherit!important;font-weight:600!important;padding:12px 16px!important}
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-accept,.cmplz-deny){background:#6edfdf!important;border:1px solid #6edfdf!important;color:#07152f!important}
body .cmplz-cookiebanner .cmplz-btn:is(.cmplz-view-preferences,.cmplz-save-preferences){background:white!important;border:1px solid #8daeb3!important;color:#07152f!important}
body .cmplz-cookiebanner a{color:#155561!important;text-decoration:underline!important}
body .cmplz-cookiebanner :is(button,a):focus-visible{outline:3px solid #07152f!important;outline-offset:3px!important}
body .cmplz-cookiebanner .cmplz-close{display:grid!important;place-items:center!important;min-width:44px;min-height:44px;padding:12px!important;border-radius:50%;color:#07152f!important}
body .cmplz-manage-consent{font-family:Manrope,sans-serif!important}
@media(max-width:767px){body .frs-legal-page,body main:has(#cmplz-document){padding:140px 20px 32px!important}body .frs-legal-page h1,body main:has(#cmplz-document) h1{font-size:34px!important}}

/* Keep image-overlay project headings readable over the directory cards. */
body .frs-directory-results.frs-portfolio .frs-card__title{color:#fff!important}

/* Homepage lower sections share the established heading and spacing scale. */
body.home .frs-home-story .elementor-heading-title{font-family:var(--frs-heading)!important;font-weight:600!important;letter-spacing:-.025em!important;color:#07152f;line-height:1.15!important}
body.home .frs-home-story h2.elementor-heading-title{font-size:clamp(30px,3.7vw,52px)!important}
body.home .frs-home-story h3.elementor-heading-title{font-size:clamp(22px,1.65vw,25px)!important;min-height:2.3em}
body.home .frs-home-story .elementor-widget-text-editor{font-family:var(--frs-body);font-size:17px;line-height:1.65}
body.home .frs-home-story > .e-con-inner{padding-block:48px;gap:24px}
body.home .frs-home-story > .e-con-inner > .elementor-widget-heading,
body.home .frs-home-story > .e-con-inner > .elementor-widget-text-editor{max-width:900px;margin-inline:auto;text-align:center}
body.home .frs-home-story .e-con:not(.frs-story-step){--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
body.home .frs-home-story .frs-story-step{gap:16px;text-align:left}
body.home .frs-home-story .e-con:has(> .frs-story-step){margin-block:8px 24px;gap:24px}
body:not(.elementor-editor-active).home .frs-home-story .e-con > .e-con:not(:has(.elementor-widget)){display:none}
body:not(.elementor-editor-active).home .frs-home-story .e-con:has(> .e-con:not(:has(.elementor-widget))) > .e-con:has(.elementor-widget-heading){width:100%;max-width:900px;margin-inline:auto;text-align:center;align-items:center}
body.home .elementor-element-8a62d0d > .e-con-inner{padding-bottom:0}
body.home .elementor-element-8a62d0d .frs-portfolio{padding-bottom:28px}
body.home .elementor-element-73025d6:not(:has(.frs-reviews)){display:none}
body.home .frs-home-story .elementor-widget-html{margin:0;min-height:0}
body .frs-native-footer > .e-con-inner{padding-block:48px;gap:20px}
body .frs-native-footer .elementor-heading-title{font-family:var(--frs-heading)!important}
@media(max-width:767px){
 body.home .frs-home-story > .e-con-inner{padding-block:32px;gap:20px}
 body.home .frs-home-story h2.elementor-heading-title{font-size:30px!important}
 body.home .frs-home-story h3.elementor-heading-title{min-height:0}
 body.home .elementor-element-8a62d0d .frs-portfolio{padding-bottom:20px}
 body .frs-native-footer > .e-con-inner{padding-block:32px}
}

body:not(.elementor-editor-active).home .frs-home-story :is(.elementor-element-1ea2bb57,.elementor-element-6648327c):not(:has(img)) > .e-con:has(.elementor-widget-heading){width:100%!important;max-width:900px;margin-inline:auto;text-align:center;align-items:center}
body.home .frs-home-story :is(.elementor-element-1ea2bb57,.elementor-element-6648327c):not(:has(img)) .elementor-widget{width:100%;text-align:center}

/* Keep the mobile audit CTA clear; consent remains editable from the footer. */
@media(max-width:767px){body #cmplz-manage-consent{display:none!important}}

/* Equal outer breathing room around the homepage portfolio carousel. */
body.home .elementor-element-8a62d0d .frs-portfolio{padding-top:48px;padding-bottom:48px}
body.home .elementor-element-8a62d0d .frs-portfolio__track{padding-block:0}
@media(max-width:767px){body.home .elementor-element-8a62d0d .frs-portfolio{padding-top:32px;padding-bottom:32px}}
