/* Future Facade: scoped, mobile-first repair. No Unicode arrow glyphs. */
.ff-redesign { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.ff-redesign a:focus-visible,.ff-redesign button:focus-visible,.ff-redesign summary:focus-visible,.ff-redesign input:focus-visible,.ff-redesign textarea:focus-visible,.ff-redesign select:focus-visible { outline:3px solid #96701e;outline-offset:4px; }
.ff-redesign .ff-arrow,.ff-redesign .ff-has-arrow .elementor-button-content-wrapper::after {
 content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M6 5h13v13' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M6 5h13v13' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ff-redesign .ff-has-arrow .elementor-button-content-wrapper {display:flex;align-items:center;justify-content:center;gap:12px;}
.ff-redesign .ff-has-arrow .elementor-button-text {min-width:0;}
.ff-redesign .ff-svg-arrow {width:20px;height:20px;flex:0 0 20px;display:inline-block;vertical-align:middle;}
.ff-redesign .ff-mobile-nav-widget {display:none!important;position:static!important;}
.ff-redesign .ff-mobile-nav-widget>.elementor-widget-container {position:static!important;}
.ff-redesign .ff-hero-caption {padding-right:155px;min-height:100px;}
.ff-redesign .ff-hero-caption-link .elementor-button {display:inline-flex;align-items:center;}
.ff-redesign .ff-hero-caption-link .elementor-button-content-wrapper {gap:8px;}
.ff-redesign .ff-mobile-menu {position:static;}
.ff-redesign .ff-mobile-menu summary {list-style:none;cursor:pointer;min-height:46px;display:flex;align-items:center;gap:9px;color:var(--ff-ink);font-size:14px;font-weight:700;padding:6px 8px;border:1px solid var(--ff-line);border-radius:3px;background:transparent;-webkit-tap-highlight-color:transparent;}
.ff-redesign .ff-mobile-menu summary::-webkit-details-marker {display:none;}
.ff-redesign .ff-mobile-menu summary::marker {content:"";}
.ff-redesign .ff-menu-icon {display:block;width:24px;height:24px;}
.ff-redesign .ff-mobile-panel {position:absolute;left:0;right:0;top:100%;z-index:60;padding:10px max(20px,env(safe-area-inset-left)) 24px;background:var(--ff-paper);border-bottom:1px solid var(--ff-line);box-shadow:0 18px 25px rgba(38,43,40,.1);max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow:auto;}
.ff-redesign .ff-mobile-panel a {min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 4px;border-bottom:1px solid var(--ff-line);font-size:18px;font-weight:600;color:var(--ff-ink);line-height:1.5;}
.ff-redesign .ff-mobile-panel .ff-mobile-quote {padding:13px 17px;margin-top:18px;background:var(--ff-yellow);border:0;font-size:16px;}
.ff-redesign .ff-native-form {width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:0;}
.ff-redesign .ff-native-form .ff-field {display:flex;flex-direction:column;gap:7px;min-width:0;}
.ff-redesign .ff-native-form .ff-full {grid-column:1/-1;}
.ff-redesign .ff-native-form label {color:var(--ff-ink);font-size:13px;line-height:1.5;font-weight:600;}
.ff-redesign .ff-native-form input:not([type=checkbox]),.ff-redesign .ff-native-form select,.ff-redesign .ff-native-form textarea {width:100%;min-width:0;max-width:100%;min-height:48px;padding:11px 12px;border:1px solid #c5c9c0;border-radius:2px;background:#fff;color:var(--ff-ink);font:inherit;font-size:16px;line-height:1.5;box-shadow:none;}
.ff-redesign .ff-native-form textarea {min-height:130px;resize:vertical;}
.ff-redesign .ff-native-form .ff-consent {display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.65;}
.ff-redesign .ff-consent input {flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:#262b28;}
.ff-redesign .ff-submit {background:var(--ff-ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:50px;border:0;border-radius:2px;padding:14px 18px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;}
.ff-redesign .ff-submit:disabled {opacity:.6;cursor:wait;}
.ff-redesign .ff-form-status {grid-column:1/-1;margin:0;padding:15px;border:1px solid var(--ff-line);background:#fff;font-size:14px;line-height:1.6;}
.ff-redesign .ff-form-status[hidden] {display:none;}
.ff-redesign .ff-honeypot {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.ff-redesign .ff-privacy-link {color:var(--ff-ink);text-decoration:underline;}
.ff-redesign .ff-ref-main {display:block;width:100%;}
.ff-redesign .ff-reference-content {font-size:16px;line-height:1.85;min-width:0;overflow-wrap:anywhere;}
.ff-redesign .ff-reference-content p {margin:0 0 20px;}
.ff-redesign .ff-reference-content h2,.ff-redesign .ff-reference-content h3 {font-family:inherit;color:var(--ff-ink);line-height:1.3;letter-spacing:-.5px;}
.ff-redesign .ff-reference-content .elementor {max-width:100%;}
.ff-redesign .ff-reference-content img {max-width:100%;height:auto;}
.ff-redesign .ff-reference-content ul {padding-left:22px;}
.ff-redesign .ff-ref-heading {font-size:clamp(36px,5vw,64px);font-weight:600;letter-spacing:-2px;line-height:1.12;margin:0 0 28px;color:var(--ff-ink);overflow-wrap:anywhere;}
.ff-redesign .ff-ref-cover {width:100%;height:510px;object-fit:cover;border-radius:2px;margin:0;}
.ff-redesign .ff-ref-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 0 60px;}
.ff-redesign .ff-ref-gallery a {display:block;min-width:0;}
.ff-redesign .ff-ref-gallery img {width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px;}
.ff-redesign .ff-ref-navigation {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:28px 0 50px;border-top:1px solid var(--ff-line);}
.ff-redesign .ff-ref-navigation a {display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:72px;color:var(--ff-ink);font-weight:600;font-size:16px;}
.ff-redesign .ff-ref-navigation small {font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ff-muted);}
.ff-redesign .ff-ref-navigation .ff-next {align-items:flex-end;text-align:right;}
.ff-redesign .ff-ref-aside {background:#ebe8de;border:1px solid #d8dbd2;padding:32px;align-self:start;display:flex;flex-direction:column;gap:20px;}
.ff-redesign .ff-ref-aside h3 {font-family:inherit;font-size:25px;line-height:1.25;margin:0;}
.ff-redesign .ff-ref-cta {display:inline-flex;align-items:center;justify-content:center;gap:15px;background:var(--ff-yellow);color:var(--ff-ink);padding:15px 18px;min-height:48px;font-weight:700;font-size:14px;}
.ff-redesign .ff-ref-crumbs {display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px;margin-bottom:30px;color:var(--ff-muted);}
.ff-redesign .ff-ref-crumbs a {color:var(--ff-ink);}
.ff-redesign .ff-ref-intro {padding:38px 0 0;}
.ff-redesign .ff-ref-story {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:60px;padding:60px 0;}
.ff-redesign .ff-ref-gallery-title {font-family:inherit;font-size:30px;letter-spacing:-1px;line-height:1.3;margin:0 0 24px;}
.ff-redesign .ff-ref-header-row {display:flex;align-items:center;gap:30px;min-height:100px;}
.ff-redesign .ff-ref-header-row>a {display:block;width:170px;flex:0 0 170px;}
.ff-redesign .ff-ref-desktop-nav {display:flex;align-items:center;gap:30px;margin-left:auto;}
.ff-redesign .ff-ref-desktop-nav a {font-size:13px;font-weight:600;color:var(--ff-ink);}
.ff-redesign .ff-ref-header-quote {width:auto!important;flex:0 0 auto!important;padding:13px 18px;background:var(--ff-ink);color:#fff;display:flex!important;align-items:center;gap:12px;font-size:12px;font-weight:700;}
.ff-redesign .ff-ref-footer {background:var(--ff-dark);color:var(--ff-paper);padding:55px 0 0;}
.ff-redesign .ff-ref-footer-grid {display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:35px;padding-bottom:38px;}
.ff-redesign .ff-ref-footer-grid>div {display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;}
.ff-redesign .ff-ref-footer img {width:160px;height:auto;}
.ff-redesign .ff-ref-footer h3 {font-family:inherit;font-size:15px;color:#fff;line-height:1.5;margin:0;}
.ff-redesign .ff-ref-footer a,.ff-redesign .ff-ref-footer p {color:#e4e6de;font-size:13px;line-height:1.8;overflow-wrap:anywhere;}
.ff-redesign .ff-ref-footer .ff-ref-footer-phone {font-size:22px;color:#fff;}
.ff-redesign .ff-ref-footer-bottom {display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:22px 0;border-top:1px solid #485047;color:#bbc1b5;font-size:11px;}
.ff-redesign .ff-footer a {overflow-wrap:anywhere;}
.ff-redesign .ff-skip {position:absolute;top:-100px;left:20px;padding:12px 18px;background:var(--ff-yellow);z-index:9999;color:var(--ff-ink);}
.ff-redesign .ff-skip:focus {top:10px;}
@media(max-width:900px) {
 .ff-redesign .ff-nav,.ff-redesign .ff-header-cta,.ff-redesign .ff-ref-desktop-nav,.ff-redesign .ff-ref-header-quote {display:none!important;}
 .ff-redesign .ff-mobile-nav-widget {display:block!important;flex:0 0 auto!important;width:auto!important;margin-left:auto!important;order:5;}
 .ff-redesign .ff-header-row,.ff-redesign .ff-ref-header-row {position:static!important;min-height:80px!important;flex-direction:row!important;flex-wrap:nowrap!important;padding:14px 0!important;gap:12px!important;align-items:center!important;}
 .ff-redesign .ff-header {z-index:50;overflow:visible!important;}
 .ff-redesign .ff-logo,.ff-redesign .ff-logo img,.ff-redesign .ff-ref-header-row>a:first-child {width:137px!important;flex-basis:137px!important;max-width:137px!important;}
 .ff-redesign .ff-ref-story {gap:32px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);}
 .ff-redesign .ff-ref-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px) {
 .ff-redesign .ff-wrap {width:calc(100% - 40px)!important;max-width:100%!important;}
 .ff-redesign .ff-section {padding:52px 0!important;}
 .ff-redesign .ff-hero {padding:24px 0 32px!important;}
 .ff-redesign .ff-hero-grid {grid-template-columns:minmax(0,1fr)!important;gap:30px!important;}
 .ff-redesign .ff-hero-title h1.elementor-heading-title {font-size:clamp(46px,12.7vw,64px)!important;letter-spacing:-2.5px!important;line-height:1.06!important;}
 .ff-redesign .ff-hero-description,.ff-redesign .ff-contact-intro,.ff-redesign .ff-card-summary,.ff-redesign .ff-page-description {font-size:16px!important;line-height:1.75!important;max-width:100%!important;}
 .ff-redesign .ff-hero-footnote {font-size:10px!important;letter-spacing:.8px!important;}
 .ff-redesign .ff-eyebrow {font-size:10px!important;letter-spacing:1.2px!important;}
 .ff-redesign .ff-hero-actions {gap:12px!important;flex-wrap:wrap!important;align-items:stretch!important;}
 .ff-redesign .ff-hero-actions .elementor-button {min-height:48px!important;padding:13px 16px!important;font-size:14px!important;display:flex!important;align-items:center;justify-content:center;}
 .ff-redesign .ff-hero-actions .ff-text-link .elementor-button {padding-left:4px!important;padding-right:4px!important;}
 .ff-redesign .ff-hero-photo {min-height:0!important;overflow:visible!important;background:transparent!important;padding-bottom:0!important;}
 .ff-redesign .ff-hero-image {position:relative!important;inset:auto!important;height:auto!important;}
 .ff-redesign .ff-hero-image img {height:360px!important;width:100%!important;object-fit:cover!important;}
 .ff-redesign .ff-hero-caption {position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:calc(100% - 24px)!important;margin:-52px 12px 0!important;padding:20px!important;gap:5px!important;background:#fff!important;box-shadow:0 8px 24px rgba(38,43,40,.05);z-index:2;}
 .ff-redesign .ff-hero-caption h3.elementor-heading-title {font-size:24px!important;}
 .ff-redesign .ff-hero-caption .elementor-widget-text-editor:not(.ff-eyebrow) {font-size:14px!important;}
 .ff-redesign .ff-hero-caption-link {position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;margin-top:12px!important;}
 .ff-redesign .ff-hero-caption-link .elementor-button {font-size:14px!important;padding:12px 16px!important;min-height:46px!important;width:100%!important;justify-content:space-between!important;line-height:1.5!important;}
 .ff-redesign .ff-hero-caption-link .elementor-button-content-wrapper {width:100%;justify-content:space-between!important;}
 .ff-redesign .ff-service-strip {grid-template-columns:minmax(0,1fr)!important;}
 .ff-redesign .ff-service-strip-link {padding:0!important;}
 .ff-redesign .ff-service-strip-link+.ff-service-strip-link {border-left:0!important;border-top:1px solid var(--ff-line)!important;}
 .ff-redesign .ff-service-strip-link .elementor-button {display:flex;min-height:70px;font-size:20px!important;padding:18px 0!important;}
 .ff-redesign .ff-service-strip-link .elementor-button-content-wrapper {width:100%;justify-content:space-between!important;}
 .ff-redesign .ff-project-toolbar {gap:15px;flex-wrap:wrap;}
 .ff-redesign .ff-text-link .elementor-button {font-size:14px!important;}
 .ff-redesign .ff-project-grid,.ff-redesign .ff-reference-grid {grid-template-columns:minmax(0,1fr)!important;}
 .ff-redesign .ff-card-summary {min-height:0!important;}
 .ff-redesign .ff-card-meta,.ff-redesign .ff-tag {font-size:12px!important;}
 .ff-redesign .ff-card-title .elementor-heading-title {font-size:25px!important;}
 .ff-redesign .ff-services-copy>.elementor-widget-text-editor:not(.ff-eyebrow),.ff-redesign .ff-service-row-copy>.elementor-widget-text-editor,.ff-redesign .ff-company-story-copy>.elementor-widget-text-editor:not(.ff-eyebrow),.ff-redesign .ff-about-copy>.elementor-widget-text-editor:not(.ff-eyebrow),.ff-redesign .ff-service-hero-copy>.elementor-widget-text-editor:not(.ff-eyebrow) {font-size:16px!important;line-height:1.75!important;}
 .ff-redesign .ff-accordion .elementor-tab-content,.ff-redesign .ff-scope-list li,.ff-redesign .ff-list li {font-size:15px!important;}
 .ff-redesign .ff-contact-link .elementor-button {font-size:15px!important;line-height:1.6;overflow-wrap:anywhere;white-space:normal;}
 .ff-redesign .ff-contact-person {gap:15px!important;}
 .ff-redesign .ff-contact-person-copy {min-width:0!important;}
 .ff-redesign .ff-other-contacts {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
 .ff-redesign .ff-quote-panel {padding:24px 18px!important;}
 .ff-redesign .ff-native-form {grid-template-columns:minmax(0,1fr);gap:18px;}
 .ff-redesign .ff-native-form label {font-size:14px;}
 .ff-redesign .ff-form-note {font-size:12px!important;line-height:1.7;}
 .ff-redesign .ff-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 20px!important;}
 .ff-redesign .ff-footer-col {min-width:0!important;}
 .ff-redesign .ff-footer-col .elementor-widget-text-editor,.ff-redesign .ff-footer-link .elementor-button {font-size:13px!important;line-height:1.8!important;}
 .ff-redesign .ff-footer-bottom .elementor-widget-text-editor {font-size:11px!important;}
 .ff-redesign .ff-footer-phone .elementor-button {font-size:25px!important;}
 .ff-redesign .ff-ref-intro {padding-top:24px;}
 .ff-redesign .ff-ref-heading {font-size:clamp(33px,9vw,43px);letter-spacing:-1.6px;margin-bottom:22px;}
 .ff-redesign .ff-ref-crumbs {font-size:12px;margin-bottom:25px;gap:9px;}
 .ff-redesign .ff-ref-cover {height:310px;}
 .ff-redesign .ff-ref-story {grid-template-columns:minmax(0,1fr);gap:30px;padding:35px 0;}
 .ff-redesign .ff-reference-content {font-size:16px;line-height:1.8;}
 .ff-redesign .ff-ref-aside {padding:24px;gap:18px;}
 .ff-redesign .ff-ref-gallery {grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:36px;}
 .ff-redesign .ff-ref-gallery-title {font-size:27px;}
 .ff-redesign .ff-ref-navigation {gap:18px;padding-bottom:36px;}
 .ff-redesign .ff-ref-navigation a {font-size:14px;}
 .ff-redesign .ff-ref-footer {padding-top:38px;}
 .ff-redesign .ff-ref-footer-grid {gap:30px 20px;}
 .ff-redesign .ff-ref-footer-grid>div:first-child,.ff-redesign .ff-ref-footer-grid>div:last-child {grid-column:1/-1;}
}
@media(max-width:360px) {
 .ff-redesign .ff-wrap {width:calc(100% - 32px)!important;}
 .ff-redesign .ff-logo,.ff-redesign .ff-logo img,.ff-redesign .ff-ref-header-row>a:first-child {width:122px!important;max-width:122px!important;flex-basis:122px!important;}
 .ff-redesign .ff-other-contacts {grid-template-columns:minmax(0,1fr)!important;}
 .ff-redesign .ff-hero-actions>.elementor-widget {width:100%!important;}
 .ff-redesign .ff-footer-grid,.ff-redesign .ff-ref-footer-grid {grid-template-columns:minmax(0,1fr)!important;}
 .ff-redesign .ff-contact-person {flex-wrap:wrap!important;}
}
@media(prefers-reduced-motion:reduce) {.ff-redesign *{animation:none!important;transition:none!important;}}
