
:root{--primary:#082B49;--secondary:#0B5E8E;--accent:#C9922E;--text:#2B333A;--light:#fff;--dark:#061D33;--gray:#F7F9FA}*{box-sizing:border-box}html{margin:0;scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:var(--text);font-size:16px;line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:10px;top:10px;background:#fff;color:#000;z-index:10000;padding:8px 12px}.elementor-container{width:1140px;max-width:calc(100% - 40px);margin-left:auto;margin-right:auto}.site-header{position:absolute;top:0;left:0;right:0;z-index:999;color:#fff}.header-container{width:1180px;max-width:calc(100% - 36px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;min-height:156px;padding:18px 0}.site-logo img{width:150px;height:150px;border-radius:50%;object-fit:cover}.desktop-navigation{flex:1;display:flex;justify-content:center}.primary-menu{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;padding:0;margin:0}.menu-item{position:relative}.menu-link,.has-submenu>.menu-link{display:flex;align-items:center;padding:18px 13px;font-size:13px;font-weight:600;color:#fff;line-height:1.2;text-transform:none;transition:color .2s}.menu-link:hover,.menu-link.active,.current-menu-item>.menu-link{color:var(--accent)}.submenu-toggle{display:none}.has-submenu>.menu-link:after{content:'▾';font-size:10px;margin-left:8px}.sub-menu{position:absolute;top:100%;left:0;min-width:210px;list-style:none;padding:8px 0;margin:0;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:1000}.has-submenu:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.sub-menu a{display:block;color:#1b1b1b;font-size:13px;padding:11px 18px;background:#fff}.sub-menu a:hover,.sub-menu a.active{background:#f2f2f2;color:var(--secondary)}.header-right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.language-switcher{display:flex;align-items:center;justify-content:center;gap:7px}.language-switcher a{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:12px;line-height:1}.language-switcher img{width:24px;height:24px}.header-cta,.elementor-button{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:3px;padding:14px 28px;font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:all .25s}.header-cta{padding:13px 21px;white-space:nowrap}.header-cta:hover,.elementor-button:hover{background:#e0a400;color:#fff}.menu-toggle{display:none;background:transparent;border:0;width:40px;height:34px;flex-direction:column;gap:6px;justify-content:center;padding:0}.menu-toggle span{display:block;width:30px;height:3px;background:#fff}.mobile-navigation{display:none}.google-translate-hidden{position:absolute!important;left:-9999px!important;top:-9999px!important;height:1px!important;width:1px!important;overflow:hidden!important}.goog-te-banner-frame,.skiptranslate iframe{display:none!important}body{top:0!important}.hero-section{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:#072c49;color:#fff}.elementor-background-video-container{position:absolute;inset:0;overflow:hidden;z-index:0}.elementor-background-video-container iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.77vh;transform:translate(-50%,-50%);border:0}.elementor-background-overlay{position:absolute;inset:0;background:rgba(0,35,66,.56);z-index:1}.hero-content{position:relative;z-index:2;width:1140px;max-width:calc(100% - 40px);margin:0 auto;padding-top:70px}.hero-content h1{max-width:850px;margin:0 0 34px;color:#fff;font-size:54px;line-height:1.13;font-weight:700;letter-spacing:0}.hero-button{font-size:16px;padding:17px 31px}.text-image-section{padding:100px 0 96px;background:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.text-image-section.reverse .text-col{order:2}.text-image-section.reverse .image-col{order:1}.text-col h3{margin:0 0 10px;font-size:23px;color:#1e1e1e;font-weight:600}.text-col h6,.contact-page-section h6{margin:0 0 20px;color:var(--secondary);font-size:16px;font-weight:700;text-transform:none;letter-spacing:0}.text-col p{margin:0 0 18px;color:#333}.text-col ul{margin:12px 0 18px;padding-left:22px}.text-button{margin-top:10px}.image-col img{width:100%;height:auto}.blue-cta{padding:90px 0;background:#075285;text-align:center;color:#fff}.blue-cta h2{max-width:1050px;margin:0 auto 36px;font-size:42px;line-height:1.23;font-weight:600;color:#fff}.secondary-button{background:var(--accent)}.form-section{padding:90px 0;background:#fff}.narrow{max-width:760px}.form-section h2,.contact-page-section h2{margin:0 0 35px;text-align:left;color:#1f1f1f;font-size:34px;line-height:1.25;font-weight:600}.contact-form{display:grid;gap:17px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d9d9d9;border-radius:0;background:#fff;color:#333;padding:14px 16px;font:inherit;line-height:1.4}.contact-form textarea{resize:vertical;min-height:142px}.contact-form button{justify-self:start;padding:15px 34px}.site-footer{position:relative;padding:75px 0 30px;background:url('assets/sea-sunset-with-a-lonely-boat.jpg') center center/cover no-repeat;color:#fff}.footer-overlay{position:absolute;inset:0;background:rgba(0,39,70,.82)}.footer-container{position:relative;z-index:1;width:1140px;max-width:calc(100% - 40px);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:70px;align-items:start}.footer-logo img{width:145px;height:auto}.footer-column h4{margin:0 0 18px;color:#fff;font-size:20px;font-weight:600}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin:0 0 8px;color:#fff;font-size:15px}.footer-column a{color:#fff}.footer-submenu{margin:6px 0 0 16px!important}.footer-submenu li{margin-bottom:3px}.footer-bottom{position:relative;z-index:1;width:1140px;max-width:calc(100% - 40px);margin:48px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.35);display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:14px}.footer-bottom p{margin:0}.projects-section{padding:96px 0 110px;background:#fff}.projects-section h3{margin:0 0 18px;text-align:center;font-size:25px;font-weight:600}.projects-section h2{max-width:980px;margin:0 auto 55px;text-align:center;color:#222;font-size:36px;line-height:1.28;font-weight:600}.project-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 auto 54px;max-width:1140px}.project-gallery-item{display:block;position:relative;overflow:hidden;background:#f1f1f1;aspect-ratio:1/1}.project-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.project-gallery-item:hover img{transform:scale(1.04)}
.project-logo{display:flex;justify-content:center;min-height:220px;align-items:center}.project-logo img{width:260px}.contact-page-section{padding:92px 0 96px;background:#fff}.contact-page-section>.elementor-container>h2:first-child{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin:55px 0 70px}.contact-image img{width:100%;height:auto}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact-details h4{margin:0 0 8px;font-size:19px;color:#222}.contact-details p{margin:0}.legal-section{padding:90px 0}.legal-section h2{font-size:34px;margin:0 0 20px}.cookie-box{position:fixed;left:24px;bottom:24px;width:420px;max-width:calc(100% - 48px);z-index:3000;background:#fff;color:#222;box-shadow:0 8px 32px rgba(0,0,0,.28);border-radius:4px;display:none}.cookie-box.show{display:block}.cookie-inner{padding:22px}.cookie-inner h3{margin:0 0 10px;font-size:20px}.cookie-inner p{font-size:13px;line-height:1.5;margin:0 0 16px}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}.cookie-actions button{border:0;background:#083f69;color:#fff;padding:10px 13px;border-radius:3px;cursor:pointer}.cookie-actions button:nth-child(2){background:#555}.cookie-actions button:nth-child(3){background:#eee;color:#222}@media(max-width:1024px){.desktop-navigation{display:none}.menu-toggle{display:flex}.site-header{background:rgba(0,45,78,.85)}.header-container{min-height:140px}.site-logo img{width:126px;height:126px}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;color:#222;box-shadow:0 10px 26px rgba(0,0,0,.16);padding:10px 0 18px}.mobile-navigation.open{display:block}.mobile-navigation .primary-menu{display:block;width:calc(100% - 36px);margin:0 auto}.mobile-navigation .menu-link{color:#222;padding:13px 4px;border-bottom:1px solid #eee}.mobile-navigation .has-submenu>.menu-link:after{content:''}.mobile-navigation .submenu-toggle{display:block;position:absolute;top:8px;right:0;width:36px;height:36px;background:transparent;border:0}.mobile-navigation .submenu-toggle:after{content:'+';font-size:24px;color:#222}.mobile-navigation .has-submenu.open .submenu-toggle:after{content:'–'}.mobile-navigation .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;padding-left:18px}.mobile-navigation .has-submenu.open .sub-menu{display:block}.mobile-extras{width:calc(100% - 36px);margin:18px auto 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}.mobile-navigation .language-switcher a{color:#222}.mobile-navigation .language-switcher{justify-content:flex-start}.mobile-navigation .header-cta{display:inline-flex}.header-right>.language-switcher,.header-right>.header-cta{display:none}.hero-content h1{font-size:44px}.two-col,.contact-layout{grid-template-columns:1fr;gap:40px}.text-image-section.reverse .text-col,.text-image-section.reverse .image-col{order:initial}.footer-container{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;text-align:left}.blue-cta h2{font-size:34px}.project-gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.elementor-container,.hero-content,.footer-container,.footer-bottom{max-width:calc(100% - 30px)}.hero-section{min-height:650px}.hero-content h1{font-size:34px;line-height:1.18}.text-image-section,.form-section,.projects-section,.contact-page-section,.legal-section{padding:65px 0}.blue-cta{padding:65px 0}.blue-cta h2,.projects-section h2{font-size:28px}.form-section h2,.contact-page-section h2{font-size:29px}.contact-details{grid-template-columns:1fr}.header-container{max-width:calc(100% - 28px)}.project-gallery{grid-template-columns:repeat(2,1fr);gap:8px}}

/* Final fidelity pass: closer to original Schilpo/Elementor visual rhythm */
.header-container{min-height:164px;width:1200px;max-width:calc(100% - 42px);align-items:center;gap:24px;}
.site-logo{flex:0 0 auto;}
.site-logo img{width:168px;height:168px;border-radius:50%;object-fit:cover;}
.desktop-navigation{order:2;flex:1;justify-content:center;align-self:center;}
.header-right{order:3;min-width:158px;gap:12px;align-items:center;}
.header-right>.language-switcher{order:1;}
.header-right>.header-cta{order:2;}
.language-switcher a{font-size:13px;font-weight:400;}
.menu-link,.has-submenu>.menu-link{font-size:14px;font-weight:600;padding:18px 12px;}
.header-cta,.elementor-button{border-radius:2px;background:#fcb900;color:#fff;box-shadow:none;font-weight:600;}
.header-cta{padding:15px 22px;font-size:15px;}
.elementor-button{padding:15px 30px;}
.hero-content h1{font-size:55px;line-height:1.12;font-weight:700;}
.text-col h3{font-size:24px;line-height:1.2;}
.text-col h6,.contact-page-section h6{font-size:15px;color:#006da8;}
.contact-form{gap:8px;}
.contact-form label{font-size:16px;line-height:1.25;color:#333;margin:7px 0 0;}
.contact-form input,.contact-form textarea{border:1px solid #d5d5d5;border-radius:0;padding:12px 14px;font-size:15px;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:transparent;}
.project-gallery{grid-template-columns:repeat(5,1fr);gap:10px;}
.project-gallery-item{border-radius:0;box-shadow:none;}
.cookie-box{width:640px;max-width:calc(100% - 40px);left:20px;bottom:20px;border-radius:0;box-shadow:0 4px 30px rgba(0,0,0,.28);}
.cookie-inner{padding:26px 28px;max-height:78vh;overflow:auto;}
.cookie-inner h3{font-size:22px;font-weight:600;margin-bottom:12px;}
.cookie-inner p{font-size:14px;line-height:1.55;}
.cookie-categories{margin:16px 0 18px;border-top:1px solid #e7e7e7;}
.cookie-category{padding:12px 0;border-bottom:1px solid #e7e7e7;}
.cookie-category strong{display:block;font-size:14px;margin-bottom:5px;}
.cookie-category span{display:block;font-size:12px;line-height:1.45;color:#444;}
.cookie-actions{gap:10px;}
.cookie-actions button{background:#003e6b;border-radius:2px;font-size:13px;padding:10px 14px;}
.cookie-actions button:nth-child(2){background:#555;}
.cookie-actions button:nth-child(3){background:#eee;color:#222;}
.cookie-actions button:nth-child(4){background:#fcb900;color:#fff;}
@media(max-width:1024px){.header-container{min-height:142px}.site-logo img{width:132px;height:132px}.header-right{min-width:auto}.menu-toggle{order:3}.mobile-navigation .language-switcher{margin-bottom:2px}.mobile-extras{gap:13px}.project-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.site-logo img{width:118px;height:118px}.header-container{min-height:132px}.project-gallery{grid-template-columns:repeat(2,1fr)}}

.manage-consent{position:fixed;right:18px;bottom:18px;z-index:2999;background:#003e6b;color:#fff;font-size:12px;padding:8px 10px;border-radius:2px;display:none}.cookies-set .manage-consent{display:inline-block}


/* Requested fidelity fixes: homepage hero, CTA background, bootservice effects, nav placement, project media lightbox */
@media (min-width:1025px){
  .header-container{align-items:flex-start;min-height:164px;padding-top:12px;}
  .desktop-navigation{align-self:flex-start;padding-top:38px;}
  .header-right{align-self:flex-start;padding-top:22px;}
  .menu-link,.has-submenu>.menu-link{font-size:15px;line-height:1.15;padding:15px 11px;}
}
.hero-section .hero-content{padding-top:112px;}
.hero-section .hero-content h1{max-width:980px;font-size:52px;line-height:1.12;font-weight:700;margin-bottom:32px;}
@media (max-width:1024px){.hero-section .hero-content{padding-top:86px}.hero-section .hero-content h1{font-size:43px;max-width:870px}}
@media (max-width:767px){.hero-section .hero-content{padding-top:58px}.hero-section .hero-content h1{font-size:34px;line-height:1.16}}

body.home .blue-cta,
#index-page .blue-cta,
main .blue-cta{
  position:relative;
  background-image:linear-gradient(rgba(0,62,107,.78),rgba(0,62,107,.78)),url('assets/beautiful-yacht-wooden-deck-boat-nose.jpg');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.blue-cta .elementor-container{position:relative;z-index:1;}

/* Elementor-like visual treatment for the first Bootservice section */
main > .text-image-section:first-of-type .two-col{align-items:center;}
main > .text-image-section:first-of-type .text-col,
main > .text-image-section:first-of-type .image-col{animation:schilpoFadeUp .75s ease both;}
main > .text-image-section:first-of-type .image-col{animation-delay:.12s;}
main > .text-image-section:first-of-type .image-col img{transition:transform .35s ease, filter .35s ease;}
main > .text-image-section:first-of-type .image-col:hover img{transform:scale(1.025);filter:saturate(1.05);}
@keyframes schilpoFadeUp{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media (prefers-reduced-motion:reduce){main > .text-image-section:first-of-type .text-col,main > .text-image-section:first-of-type .image-col{animation:none}main > .text-image-section:first-of-type .image-col:hover img{transform:none}}

.project-gallery-item{cursor:zoom-in;}
.project-gallery-item video{width:100%;height:100%;object-fit:cover;display:block;}
.project-gallery-item.is-video::after{content:'▶';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,62,107,.86);color:#fff;font-size:22px;line-height:1;padding-left:4px;box-shadow:0 4px 15px rgba(0,0,0,.28);}
.project-lightbox{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:34px;}
.project-lightbox.open{display:flex;}
.project-lightbox__content{position:relative;max-width:min(1120px,94vw);max-height:90vh;}
.project-lightbox__content img,.project-lightbox__content video{display:block;max-width:100%;max-height:90vh;width:auto;height:auto;background:#000;}
.project-lightbox__content iframe{display:block;width:min(1120px,94vw);height:min(630px,52vw);max-height:86vh;border:0;background:#000;}
.project-lightbox__close{position:absolute;right:18px;top:14px;z-index:2;border:0;background:rgba(255,255,255,.94);color:#111;width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;}
.project-lightbox__caption{position:absolute;left:0;right:0;bottom:-32px;color:#fff;text-align:center;font-size:13px;}
@media(max-width:767px){.project-lightbox{padding:18px}.project-lightbox__close{right:10px;top:10px}.project-lightbox__content iframe{height:56vw}}


/* Requested update: original-style reveal effects + larger 3-column project media grid */
@media (min-width:1025px){
  .project-gallery{
    grid-template-columns:repeat(3,1fr) !important;
    gap:22px !important;
    max-width:1140px;
    margin-top:4px;
  }
}
.project-gallery-item{
  aspect-ratio:4/3;
  overflow:hidden;
  transform:translateY(32px) scale(.94);
  opacity:0;
  transition:opacity .72s ease, transform .72s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
  will-change:transform,opacity;
}
.project-gallery-item.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.project-gallery-item img,
.project-gallery-item video{
  transform:scale(1.02);
  transition:transform .45s ease, filter .45s ease;
}
.project-gallery-item:hover img,
.project-gallery-item:hover video{
  transform:scale(1.09);
  filter:saturate(1.08) contrast(1.02);
}
.project-gallery-item.is-video::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(0,0,0,.16);
  pointer-events:none;
}
.project-gallery-item.is-video::after{
  z-index:2;
}
@media(max-width:1024px){.project-gallery{grid-template-columns:repeat(3,1fr) !important;gap:14px !important}}
@media(max-width:767px){.project-gallery{grid-template-columns:1fr !important;gap:16px !important}.project-gallery-item{aspect-ratio:4/3}}

/* Elementor-style entrance effect used on the original custom aluminium section */
.text-image-section .text-col,
.text-image-section .image-col,
.blue-cta .elementor-container,
.projects-section .elementor-container > h3,
.projects-section .elementor-container > h2{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .72s ease, transform .72s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
.text-image-section .image-col{transition-delay:.12s;}
.text-image-section.is-visible .text-col,
.text-image-section.is-visible .image-col,
.blue-cta.is-visible .elementor-container,
.projects-section.is-visible .elementor-container > h3,
.projects-section.is-visible .elementor-container > h2{
  opacity:1;
  transform:translateY(0);
}
.text-image-section .image-col img{
  transition:transform .45s ease, filter .45s ease;
}
.text-image-section .image-col:hover img{
  transform:scale(1.025);
  filter:saturate(1.05);
}
@media (prefers-reduced-motion:reduce){
  .project-gallery-item,
  .text-image-section .text-col,
  .text-image-section .image-col,
  .blue-cta .elementor-container,
  .projects-section .elementor-container > h3,
  .projects-section .elementor-container > h2{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}


/* Text/layout exactness pass */
.text-col li{margin:0 0 13px;color:#333;}
.text-col li strong{font-weight:700;}
.legal-section h3{font-size:24px;line-height:1.35;margin:0 0 18px;color:#222;font-weight:600;}
.legal-section p{margin:0 0 18px;color:#333;}
.cookie-management,.cookie-titles{margin:12px 0 14px;padding-left:22px;font-size:13px;line-height:1.45;}
.cookie-management li,.cookie-titles li{margin:0 0 4px;}

/* 1:1 text/layout fidelity update */
.contact-form{display:block;}
.contact-form .form-field{display:block;margin:0 0 12px;}
.contact-form .form-field label{display:block;margin:0 0 6px;font-size:16px;line-height:1.25;color:#333;}
.contact-form .form-field input,
.contact-form .form-field textarea{display:block;width:100%;}
.footer-column > ul + ul{margin-top:18px;}
.text-image-section.reverse .image-col{order:1;}
.text-image-section.reverse .text-col{order:2;}
@media(max-width:1024px){.text-image-section.reverse .image-col,.text-image-section.reverse .text-col{order:initial;}}
/* Hidden original-order duplicate header elements for faithful parsed structure without altering visible layout */
.original-pre-language,.desktop-navigation-clone,.original-footer-duplicate{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}


/* Footer banner fidelity update: match original Schilpo Boats footer more closely */
.site-footer{
  position:relative;
  padding:92px 0 34px;
  background-image:url('assets/sea-sunset-with-a-lonely-boat.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  color:#fff;
  overflow:hidden;
}
.footer-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,49,86,.76);
}
.footer-container{
  position:relative;
  z-index:1;
  width:1140px;
  max-width:calc(100% - 40px);
  margin:0 auto;
  display:grid;
  grid-template-columns:33.333% 33.333% 33.333%;
  gap:0;
  align-items:flex-start;
}
.footer-logo{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
}
.footer-logo img{
  width:260px;
  max-width:100%;
  height:auto;
}
.footer-column{
  padding-top:16px;
}
.footer-column h4{
  margin:0 0 20px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  font-weight:600;
}
.footer-column li{
  margin:0 0 8px;
  color:#fff;
  font-size:15px;
  line-height:1.7;
}
.footer-column a{
  color:#fff;
}
.footer-column a:hover{
  color:#fcb900;
}
.footer-submenu{
  margin:4px 0 0 18px!important;
}
.original-footer-duplicate{
  display:block!important;
  margin-top:10px!important;
}
.footer-bottom{
  position:relative;
  z-index:1;
  width:1140px;
  max-width:calc(100% - 40px);
  margin:54px auto 0;
  padding-top:0;
  border-top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#fff;
  font-size:14px;
  line-height:1.6;
}
.footer-bottom a{
  color:#fff;
}
.footer-bottom a:hover{
  color:#fcb900;
}
@media(max-width:1024px){
  .site-footer{padding:72px 0 32px;}
  .footer-container{grid-template-columns:1fr;gap:32px;}
  .footer-logo img{width:230px;}
  .footer-column{padding-top:0;}
  .footer-bottom{margin-top:38px;flex-direction:column;align-items:flex-start;text-align:left;}
}
@media(max-width:767px){
  .site-footer{padding:60px 0 28px;background-position:center center;}
  .footer-logo img{width:210px;}
}


/* Bootservice page exactness patch */
.contact-form .form-field label{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;margin:0 0 6px!important;color:#333!important;font-size:16px!important;line-height:1.25!important;}
.contact-form .form-field{display:block!important;margin:0 0 12px!important;}
.contact-form input,.contact-form textarea{display:block!important;}
.text-col p + p{margin-top:0;}

/* On-page kunststof teakdek colour overview - replaces missing external PDF page */
.color-overview-section{
  padding:72px 0 76px;
  background:#fff;
}
.color-overview-heading{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.color-overview-heading h3{
  margin:0 0 12px;
  color:#05264f;
  font-size:32px;
  line-height:1.2;
  font-weight:600;
}
.color-overview-heading p{
  margin:0;
  color:#333;
  font-size:17px;
  line-height:1.7;
}
 .color-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  align-items:start;
}
.color-card{
  appearance:none;
  border:0;
  background:#fff;
  padding:0 0 18px;
  cursor:pointer;
  text-align:center;
  box-shadow:none;
  transition:transform .45s ease, opacity .45s ease;
  opacity:0;
  transform:translateY(38px) scale(.96);
}
.color-card.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.color-card:hover,
.color-card:focus-visible{
  transform:translateY(-6px) scale(1.025);
  outline:none;
}
.color-swatch-image{
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  background:#ececec;
}
.color-name{
  display:block;
  margin-top:18px;
  font-size:36px;
  line-height:1.1;
  font-weight:400;
  color:#202020;
}
.color-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:rgba(0,0,0,.86);
}
.color-lightbox.open{display:flex;}
.color-lightbox__content{
  width:min(920px,calc(100vw - 64px));
  background:#fff;
  padding:36px 36px 30px;
  text-align:center;
  position:relative;
}
.color-lightbox__image{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto 24px;
  border-radius:22px;
}
.color-lightbox__title{
  margin:0;
  color:#202020;
  font-size:48px;
  line-height:1.1;
  font-weight:400;
}
.color-lightbox__close{
  position:absolute;
  right:18px;
  top:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#fcb900;
  color:#05264f;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
@media(max-width:900px){
  .color-gallery{grid-template-columns:repeat(2,1fr);gap:24px;}
  .color-name{font-size:30px;}
}
@media(max-width:620px){
  .color-overview-section{padding:54px 0;}
  .color-gallery{grid-template-columns:1fr;}
  .color-name{font-size:28px;}
  .color-lightbox{padding:18px;}
  .color-lightbox__content{width:calc(100vw - 36px);padding:28px 18px 24px;}
  .color-lightbox__title{font-size:34px;}
}


/* Final homepage fidelity pass: closer original spacing/links and GitHub clean URL support */
.visually-hidden-original{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important;}
.language-switcher{gap:8px;}
.language-switcher a + a{margin-left:0;}
@media (min-width:1025px){
  .site-header{position:absolute;}
  .header-container{width:1180px;max-width:calc(100% - 36px);min-height:156px;padding-top:18px;align-items:center;}
  .site-logo img{width:150px;height:150px;}
  .desktop-navigation{padding-top:0;align-self:center;}
  .header-right{padding-top:0;align-self:center;gap:10px;}
  .menu-link,.has-submenu>.menu-link{font-size:14px;padding:18px 12px;line-height:1.2;}
  .header-cta{font-size:15px;padding:13px 21px;}
}
.hero-section{min-height:760px;}
.hero-section .hero-content{padding-top:70px;}
.hero-section .hero-content h1{max-width:850px;font-size:54px;line-height:1.13;font-weight:700;margin-bottom:34px;}
.text-image-section{padding:100px 0 96px;}
.two-col{gap:70px;}
.text-col h3{font-size:23px;margin-bottom:10px;}
.text-col h6{font-size:16px;margin-bottom:20px;color:#006da8;}
.text-col p{line-height:1.7;}
.blue-cta{padding:90px 0;}
.blue-cta h2{font-size:42px;line-height:1.23;margin-bottom:36px;}
.form-section{padding:90px 0;}
.site-footer{padding:75px 0 30px;}
.footer-overlay{background:rgba(0,39,70,.82);}
.footer-container{grid-template-columns:1.2fr 1fr 1.2fr;gap:70px;}
.footer-logo img{width:145px;}
.footer-bottom{margin-top:48px;padding-top:22px;}
@media(max-width:1024px){
  .hero-section .hero-content{padding-top:70px;}
  .hero-section .hero-content h1{font-size:44px;max-width:850px;}
  .header-container{min-height:140px;align-items:center;}
  .site-logo img{width:126px;height:126px;}
  .footer-container{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:767px){
  .hero-section{min-height:650px;}
  .hero-section .hero-content{padding-top:58px;}
  .hero-section .hero-content h1{font-size:34px;line-height:1.18;}
}

/* Gold accent update requested: make yellow/gold the dominant colour for headings, titles and buttons */
:root{
  --accent:#fcb900;
  --accent-hover:#e0a400;
}

/* Main page titles and section titles */
h1,
h2,
h3,
h4,
h5,
h6,
.text-col h3,
.text-col h6,
.contact-page-section h6,
.form-section h2,
.contact-page-section h2,
.projects-section h2,
.projects-section h3,
.legal-section h2,
.footer-column h4{
  color:var(--accent) !important;
}

/* Keep text readable on gold buttons */
.header-cta,
.elementor-button,
.hero-button,
.secondary-button,
.text-button,
.contact-form button,
.cookie-actions button:first-child{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#ffffff !important;
}

.header-cta:hover,
.elementor-button:hover,
.hero-button:hover,
.secondary-button:hover,
.text-button:hover,
.contact-form button:hover,
.cookie-actions button:first-child:hover{
  background:var(--accent-hover) !important;
  border-color:var(--accent-hover) !important;
  color:#ffffff !important;
}

/* Header/navigation gold emphasis */
.menu-link:hover,
.menu-link.active,
.current-menu-item > .menu-link,
.mobile-navigation .menu-link:hover,
.mobile-navigation .menu-link.active{
  color:var(--accent) !important;
}

/* Footer titles and links keep the gold brand accent */
.site-footer .footer-column h4,
.site-footer a:hover,
.footer-bottom a:hover{
  color:var(--accent) !important;
}


/* Custom achtergrond voor kunststof teakdek CTA */
.blue-cta-maritime{
  position:relative;
  background:url('/assets/cta-maritime-background.png') center center/cover no-repeat !important;
  overflow:hidden;
}
.blue-cta-maritime::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(6,43,78,.42);
}
.blue-cta-maritime .elementor-container{
  position:relative;
  z-index:1;
}


/* UX conversion improvements */
.hero-subheadline{max-width:720px;margin:-18px 0 34px;color:#fff;font-size:21px;line-height:1.55;font-weight:400;}
.trust-bar-section{background:#f7f7f7;padding:26px 0;border-bottom:1px solid #ececec;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.trust-grid div{background:#fff;padding:18px 20px;border-left:4px solid var(--accent);box-shadow:0 8px 22px rgba(0,0,0,.05);}
.trust-grid strong{display:block;color:#1e1e1e;font-size:17px;line-height:1.25;margin-bottom:5px;}
.trust-grid span{display:block;color:#555;font-size:14px;line-height:1.45;}
.section-heading{text-align:center;max-width:840px;margin:0 auto 44px;}
.section-heading h3{margin:0 0 10px;color:var(--accent);font-size:18px;font-weight:700;}
.section-heading h2{margin:0;color:#1e1e1e;font-size:38px;line-height:1.25;font-weight:650;}
.service-overview-section,.service-detail-section,.tag-section,.partner-section,.custom-process-section,.build-options-section,.faq-section,.home-project-preview,.projects-cta-section{padding:86px 0;background:#fff;}
.service-overview-section,.why-choose-section,.partner-section,.build-options-section,.home-project-preview{background:#f7f7f7;}
.service-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.service-card-grid.four{grid-template-columns:repeat(4,1fr);}
.service-card{background:#fff;padding:28px 24px;min-height:210px;box-shadow:0 10px 28px rgba(0,0,0,.08);border-top:4px solid var(--accent);display:flex;flex-direction:column;}
.service-card h4{margin:0 0 12px;color:#1e1e1e;font-size:21px;line-height:1.25;font-weight:650;}
.service-card p{margin:0 0 18px;color:#444;font-size:15px;line-height:1.65;}
.service-card a{margin-top:auto;color:#003e6b;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.why-choose-section{padding:88px 0;}
.two-col.compact{gap:60px;}
.why-choose-section h2{margin:0 0 18px;font-size:38px;line-height:1.25;color:#1e1e1e;}
.proof-list{display:grid;gap:16px;}
.proof-list div{background:#fff;padding:24px;border-left:4px solid var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.proof-list strong{display:block;font-size:19px;color:#1e1e1e;margin-bottom:4px;}
.proof-list span{color:#555;}
.preview-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.preview-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.centered-action{text-align:center;margin-top:36px;}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:process;}
.process-grid.five{grid-template-columns:repeat(5,1fr);}
.process-grid div{background:#fff;padding:26px 22px;box-shadow:0 10px 28px rgba(0,0,0,.07);}
.process-grid span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;margin-bottom:16px;}
.process-grid strong{display:block;font-size:19px;color:#1e1e1e;margin-bottom:8px;}
.process-grid p{margin:0;color:#555;font-size:15px;line-height:1.6;}
.tag-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.tag-grid span,.use-case-grid div{background:#fff;border:1px solid #e7e7e7;padding:16px 22px;box-shadow:0 8px 20px rgba(0,0,0,.05);font-weight:650;color:#1e1e1e;}
.partner-box{background:#fff;padding:34px 38px;text-align:center;box-shadow:0 10px 28px rgba(0,0,0,.08);border-top:4px solid var(--accent);max-width:820px;margin:0 auto 28px;}
.partner-box h3{margin:0 0 12px;color:#1e1e1e;font-size:26px;line-height:1.25;}
.partner-box p{margin:0 0 10px;color:#444;}
.partner-box a{color:#003e6b;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.use-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;}
.faq-grid{max-width:900px;margin:0 auto;display:grid;gap:14px;}
.faq-grid details{background:#fff;border:1px solid #e5e5e5;padding:20px 24px;box-shadow:0 8px 20px rgba(0,0,0,.04);}
.faq-grid summary{cursor:pointer;font-weight:700;color:#1e1e1e;font-size:18px;}
.faq-grid p{margin:12px 0 0;color:#444;}
.projects-subtext{max-width:760px;margin:-34px auto 44px;text-align:center;color:#444;font-size:17px;line-height:1.7;}
.project-gallery-item .project-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;padding:34px 12px 12px;font-size:14px;font-weight:650;opacity:0;transition:opacity .25s;}
.project-gallery-item:hover .project-caption{opacity:1;}
.projects-cta-section{text-align:center;background:#f7f7f7;}
.projects-cta-section h2{margin:0 0 24px;color:#1e1e1e;font-size:36px;line-height:1.25;}
.contact-intro{max-width:760px;margin:-20px auto 44px;text-align:center;color:#444;font-size:18px;line-height:1.7;}
.form-note{margin:12px 0 0;color:#555;font-size:15px;line-height:1.5;}
.footer-brand-text{margin:18px 0 0;max-width:300px;color:#fff;font-size:15px;line-height:1.6;}
@media(max-width:1100px){.service-card-grid,.service-card-grid.four,.process-grid,.process-grid.five{grid-template-columns:repeat(2,1fr)}.trust-grid,.use-case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.hero-subheadline{font-size:18px;margin-top:-14px}.trust-grid,.service-card-grid,.service-card-grid.four,.process-grid,.process-grid.five,.use-case-grid,.preview-gallery{grid-template-columns:1fr}.section-heading h2,.why-choose-section h2,.projects-cta-section h2{font-size:28px}.service-overview-section,.service-detail-section,.tag-section,.partner-section,.custom-process-section,.build-options-section,.faq-section,.home-project-preview,.projects-cta-section{padding:62px 0}.elementor-button,.header-cta{min-height:48px}.form-section .elementor-button,.blue-cta .elementor-button,.centered-action .elementor-button,.projects-cta-section .elementor-button{width:100%;text-align:center}.contact-details a[href^="tel"]{display:block;padding:14px 16px;background:#f7f7f7;border-left:4px solid var(--accent);font-weight:700}.project-gallery-item .project-caption{opacity:1;font-size:12px}}


/* SEO / LLM findability sections */
.direct-answer-section{padding:54px 0;background:#fff;}
.direct-answer-block{max-width:920px;margin:0 auto;padding:28px 32px;border-left:5px solid var(--accent);background:#f7f7f7;}
.direct-answer-block h2{margin:0 0 10px;font-size:30px;line-height:1.25;color:#1f1f1f;}
.direct-answer-block p{margin:0;color:#333;font-size:17px;line-height:1.7;}
.business-facts-section{padding:78px 0;background:#f7f7f7;}
.business-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.business-facts-grid div{background:#fff;padding:24px 22px;box-shadow:0 8px 22px rgba(0,0,0,.05);border-top:4px solid var(--accent);}
.business-facts-grid strong{display:block;margin-bottom:8px;color:#1f1f1f;font-size:18px;}
.business-facts-grid span{display:block;color:#444;font-size:15px;line-height:1.55;}
.business-facts-grid a{color:var(--primary);font-weight:600;}
@media(max-width:1024px){.business-facts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.direct-answer-section{padding:38px 0}.direct-answer-block{padding:24px 22px}.direct-answer-block h2{font-size:24px}.business-facts-grid{grid-template-columns:1fr}.business-facts-section{padding:54px 0}}


/* ==========================================================
   Final typography + text colour system
   Implements the website-wide typography audit without changing layout structure.
   ========================================================== */
:root{
  --font-body: Roboto, Arial, Helvetica, sans-serif;

  --color-navy:#05264f;
  --color-deep-navy:#061d33;
  --color-blue:#006da8;
  --color-gold:#fcb900;
  --color-gold-dark:#d99b00;
  --color-text:#2c3338;
  --color-muted:#66717c;
  --color-white:#ffffff;
  --color-footer-text:rgba(255,255,255,.92);

  --fs-hero:clamp(40px,5vw,56px);
  --fs-h1:clamp(36px,4.4vw,52px);
  --fs-h2:clamp(30px,3.2vw,42px);
  --fs-h3:24px;
  --fs-body:16.5px;
  --fs-small:14px;
  --fs-nav:14px;
  --fs-button:15px;

  --lh-heading:1.18;
  --lh-body:1.72;
}

html,body{
  font-family:var(--font-body);
}

body,
p,
li{
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--color-text);
}

p{margin:0 0 18px;}

h1,h2,h3,h4,h5,h6{
  letter-spacing:-.015em;
  line-height:var(--lh-heading);
}

.hero-content h1{
  font-size:var(--fs-hero)!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  color:var(--color-white)!important;
  max-width:820px!important;
  margin:0 0 28px!important;
}

.hero-subheadline{
  max-width:720px;
  margin:-10px 0 34px!important;
  color:rgba(255,255,255,.94)!important;
  font-size:21px!important;
  line-height:1.55!important;
  font-weight:400!important;
}

.hero-section:not(:has(.hero-subheadline)) .hero-content h1{
  margin-bottom:34px!important;
}

main h1:not(.hero-content h1),
.legal-section h1,
.contact-page-section h1{
  font-size:var(--fs-h1);
  font-weight:700;
  line-height:var(--lh-heading);
  letter-spacing:-.02em;
  color:var(--color-navy);
  margin:0 0 28px;
}

h2,
.section-heading h2,
.why-choose-section h2,
.form-section h2,
.contact-page-section h2,
.projects-cta-section h2,
.direct-answer-block h2,
.projects-section h2{
  font-size:var(--fs-h2)!important;
  font-weight:600!important;
  line-height:1.22!important;
  letter-spacing:-.015em!important;
  color:var(--color-navy)!important;
  margin-top:0;
}

.blue-cta h2,
.dark-section h2,
.hero-content h2{
  color:var(--color-white)!important;
}

.text-col h3,
.projects-section h3,
.section-heading h3,
.section-label{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  color:var(--color-gold)!important;
  margin:0 0 12px!important;
}

.text-col h6,
.contact-page-section h6{
  display:block!important;
  font-size:clamp(28px,3vw,38px)!important;
  font-weight:600!important;
  line-height:1.25!important;
  letter-spacing:-.015em!important;
  color:var(--color-navy)!important;
  margin:0 0 22px!important;
}

.text-col p,
.text-col li,
.service-card p,
.process-grid p,
.partner-box p,
.faq-grid p,
.direct-answer-block p,
.business-facts-grid span{
  color:var(--color-text)!important;
}

.text-col p{
  max-width:680px;
}

.menu-link,
.has-submenu>.menu-link{
  font-size:var(--fs-nav)!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  color:var(--color-white)!important;
}

.menu-link:hover,
.menu-link.active,
.current-menu-item>.menu-link,
.has-submenu:hover>.menu-link{
  color:var(--color-gold)!important;
}

.sub-menu a{
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.35!important;
  color:#1f2933!important;
}

.sub-menu a:hover,
.sub-menu a.active{
  color:var(--color-blue)!important;
}

.elementor-button,
.header-cta,
button[type="submit"]{
  font-size:var(--fs-button)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  color:var(--color-white)!important;
  background:var(--color-gold)!important;
  border-radius:3px!important;
}

.elementor-button:hover,
.header-cta:hover,
button[type="submit"]:hover{
  background:var(--color-gold-dark)!important;
  color:var(--color-white)!important;
}

.contact-form label{
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.3!important;
  color:var(--color-text)!important;
  margin-bottom:6px!important;
}

.contact-form input,
.contact-form textarea{
  font-size:16px!important;
  line-height:1.45!important;
  color:#1f2933!important;
}

.projects-subtext,
.contact-intro,
.form-note,
.trust-grid span,
.proof-list span{
  color:var(--color-muted)!important;
}

.color-name{
  font-size:clamp(24px,3vw,34px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  color:#202020!important;
}

.project-caption,
.project-gallery-item .project-caption{
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

.footer-column h4{
  font-size:20px!important;
  font-weight:600!important;
  line-height:1.25!important;
  color:var(--color-white)!important;
}

.footer-column li,
.footer-column a,
.footer-bottom,
.footer-brand-text{
  font-size:15px!important;
  line-height:1.65!important;
  color:var(--color-footer-text)!important;
}

.footer-column a:hover,
.footer-bottom a:hover{
  color:var(--color-gold)!important;
}

.cookie-inner,
.cookie-inner p,
.cookie-category span{
  font-size:13px!important;
  line-height:1.5!important;
}

@media(max-width:1024px){
  :root{
    --fs-hero:clamp(36px,6vw,46px);
    --fs-h1:clamp(34px,5vw,44px);
    --fs-h2:clamp(28px,4vw,36px);
    --fs-body:16px;
  }
  .mobile-navigation .menu-link{
    color:#222!important;
  }
  .mobile-navigation .menu-link:hover,
  .mobile-navigation .menu-link.active{
    color:var(--color-gold)!important;
  }
}

@media(max-width:767px){
  :root{
    --fs-hero:clamp(30px,9vw,38px);
    --fs-h1:clamp(30px,8vw,36px);
    --fs-h2:clamp(26px,7vw,32px);
    --fs-h3:22px;
    --fs-body:16px;
    --fs-nav:16px;
    --fs-button:15px;
  }
  body,p,li{
    line-height:1.68;
  }
  .hero-content h1{
    max-width:100%!important;
    margin-bottom:22px!important;
  }
  .hero-subheadline{
    font-size:18px!important;
    line-height:1.55!important;
    margin:-6px 0 26px!important;
  }
  .elementor-button,
  .header-cta,
  button[type="submit"]{
    min-height:46px;
  }
  .project-gallery-item .project-caption{
    font-size:12px!important;
  }
}

/* ==========================================================
   Final Premium Marine Brass colour system
   Applied after typography system to replace the brighter yellow
   with a calmer maritime brass direction.
   ========================================================== */
:root{
  --primary:#082B49;
  --secondary:#123D5A;
  --accent:#C9922E;
  --accent-hover:#A9731F;
  --text:#2B333A;
  --light:#FFFFFF;
  --dark:#061D33;
  --gray:#F7F8F9;
  --color-navy:#082B49;
  --color-navy-soft:#123D5A;
  --color-deep-navy:#061D33;
  --color-blue:#0B5E8E;
  --color-link:#0B5E8E;
  --color-brass:#C9922E;
  --color-brass-hover:#A9731F;
  --color-gold:#C9922E;
  --color-gold-dark:#A9731F;
  --color-text:#2B333A;
  --color-muted:#6B747C;
  --color-white:#FFFFFF;
  --color-footer-text:rgba(255,255,255,.88);
  --color-border:#D9DEE3;
  --color-disabled-bg:#D7DCE0;
  --color-disabled-text:#7A838B;
}

body,
p,
li{
  color:var(--color-text);
}

h1,
h2,
h3,
h4,
.text-col h6,
.form-section h2,
.projects-section h2,
.contact-page-section h2,
.section-heading h2,
.why-choose-section h2,
.projects-cta-section h2,
.faq-section h2,
.business-facts-section h2{
  color:var(--color-navy)!important;
}

.hero-content h1,
.hero-content p,
.hero-subheadline,
.blue-cta h2,
.blue-cta p,
.dark-section h1,
.dark-section h2,
.dark-section p,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4{
  color:var(--color-white)!important;
}

.text-col h3,
.section-label,
.eyebrow,
.section-heading h3,
.projects-section h3,
.color-overview-heading h3{
  color:var(--color-brass)!important;
}

/* Keep colour/product names readable rather than decorative. */
.color-name,
.project-caption,
.caption,
.small-text,
.helper-text{
  color:var(--color-muted)!important;
}

/* Links */
a{
  color:inherit;
}
.text-col a:not(.elementor-button),
.legal-section a,
.contact-details a,
.faq-section a{
  color:var(--color-link)!important;
}
.text-col a:not(.elementor-button):hover,
.legal-section a:hover,
.contact-details a:hover,
.faq-section a:hover{
  color:var(--color-brass)!important;
}

/* Navigation over hero/dark header */
.menu-link,
.has-submenu>.menu-link,
.language-switcher a{
  color:var(--color-white)!important;
}
.menu-link:hover,
.menu-link.active,
.current-menu-item>.menu-link,
.language-switcher a:hover{
  color:var(--color-brass)!important;
}
.sub-menu a{
  color:#1F2933!important;
}
.sub-menu a:hover,
.sub-menu a.active{
  color:var(--color-navy)!important;
  background:#F4F6F7!important;
}

/* Primary buttons: warmer brass instead of bright yellow. */
.elementor-button,
.header-cta,
button[type="submit"],
.btn-primary,
.cookie-actions button:nth-child(4){
  background:var(--color-brass)!important;
  border:1px solid var(--color-brass)!important;
  color:var(--color-white)!important;
}
.elementor-button:hover,
.header-cta:hover,
button[type="submit"]:hover,
.btn-primary:hover,
.cookie-actions button:nth-child(4):hover{
  background:var(--color-brass-hover)!important;
  border-color:var(--color-brass-hover)!important;
  color:var(--color-white)!important;
}

/* Secondary/outline button option. Existing buttons with these classes become calmer. */
.btn-secondary,
.secondary-outline{
  background:transparent!important;
  color:var(--color-navy)!important;
  border:1px solid var(--color-navy)!important;
}
.btn-secondary:hover,
.secondary-outline:hover{
  background:var(--color-navy)!important;
  color:var(--color-white)!important;
  border-color:var(--color-navy)!important;
}
.blue-cta .btn-secondary,
.dark-section .btn-secondary,
.blue-cta .secondary-outline,
.dark-section .secondary-outline{
  background:transparent!important;
  color:var(--color-white)!important;
  border-color:rgba(255,255,255,.75)!important;
}
.blue-cta .btn-secondary:hover,
.dark-section .btn-secondary:hover,
.blue-cta .secondary-outline:hover,
.dark-section .secondary-outline:hover{
  background:var(--color-white)!important;
  color:var(--color-navy)!important;
  border-color:var(--color-white)!important;
}

/* Accent details */
.trust-grid div,
.service-card,
.proof-list div,
.partner-box,
.direct-answer-block,
.business-facts-grid div,
.contact-details a[href^="tel"]{
  border-color:var(--color-brass)!important;
}
.process-grid span{
  background:var(--color-brass)!important;
  color:var(--color-white)!important;
}

/* Footer */
.footer-column h4{
  color:var(--color-white)!important;
}
.footer-column li,
.footer-column a,
.footer-bottom,
.footer-bottom a{
  color:var(--color-footer-text)!important;
}
.footer-column a:hover,
.footer-bottom a:hover{
  color:var(--color-brass)!important;
}

/* Forms and cookie banner */
.contact-form label{
  color:var(--color-text)!important;
}
.contact-form input,
.contact-form textarea{
  color:#1F2933!important;
  border-color:var(--color-border)!important;
}
.cookie-actions button{
  background:var(--color-navy)!important;
  color:var(--color-white)!important;
}
.cookie-actions button:nth-child(2),
.cookie-actions button:nth-child(3){
  background:#EEF1F3!important;
  color:var(--color-text)!important;
}
.cookie-actions button:hover{
  filter:brightness(.94);
}

button:disabled,
.btn-disabled{
  background:var(--color-disabled-bg)!important;
  color:var(--color-disabled-text)!important;
  border-color:var(--color-disabled-bg)!important;
  cursor:not-allowed;
}

@media(max-width:767px){
  .menu-link,
  .has-submenu>.menu-link{
    color:#1F2933!important;
  }
  .mobile-navigation .language-switcher a{
    color:#1F2933!important;
  }
  .mobile-navigation .menu-link:hover,
  .mobile-navigation .menu-link.active,
  .mobile-navigation .language-switcher a:hover{
    color:var(--color-brass)!important;
  }
}


/* Strategic website improvement implementation */
:root{
  --color-navy:#082B49;
  --color-navy-soft:#123D5A;
  --color-deep-navy:#061D33;
  --color-brass:#C9922E;
  --color-brass-hover:#A9731F;
  --color-text:#2B333A;
  --color-muted:#6B747C;
  --color-link:#0B5E8E;
  --color-panel:#F7F9FA;
}
.hero-content .hero-secondary-button{margin-left:14px;background:transparent!important;border:1px solid rgba(255,255,255,.8)!important;color:#fff!important;}
.hero-content .hero-secondary-button:hover{background:#fff!important;color:var(--color-navy)!important;border-color:#fff!important;}
.homepage-process-section,.local-service-area-section,.case-study-section,.contact-service-area-section{padding:86px 0;background:#fff;}
.homepage-process-section,.case-study-section{background:var(--color-panel);}
.section-heading p,.projects-intro,.contact-intro{max-width:800px;margin:0 auto 32px;text-align:center;color:var(--color-muted);font-size:17px;line-height:1.7;}
.local-service-area-section .text-col p,.contact-service-area-section .text-col p{font-size:17px;line-height:1.75;}
.case-study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.case-study-grid article{background:#fff;border-top:4px solid var(--color-brass);box-shadow:0 10px 28px rgba(0,0,0,.07);padding:28px 24px;}
.case-study-grid h4{margin:0 0 12px;color:var(--color-navy);font-size:22px;line-height:1.25;}
.case-study-grid p{margin:0 0 10px;color:var(--color-text);font-size:15px;line-height:1.65;}
.service-card-grid.four{grid-template-columns:repeat(4,1fr);}
.service-card h4,.process-grid strong,.contact-details h4{color:var(--color-navy)!important;}
.service-card p,.process-grid p{color:var(--color-text)!important;}
.service-card a{color:var(--color-link)!important;}
.service-card a:hover{color:var(--color-brass)!important;}
.proof-list a{color:var(--color-link);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.contact-form select{width:100%;border:1px solid #d5d5d5;border-radius:0;background:#fff;color:var(--color-text);padding:12px 14px;font:inherit;line-height:1.4;}
.contact-form .form-field label{color:var(--color-text)!important;font-weight:600;}
.original-footer-duplicate{display:none!important;}
.mobile-sticky-cta{display:none;}
.footer-brand-text{color:rgba(255,255,255,.9);max-width:280px;margin-top:16px;line-height:1.65;}
.cookie-inner h3{color:var(--color-navy)!important;}
.cookie-actions button{background:var(--color-navy)!important;color:#fff!important;}
.cookie-actions button:hover{background:var(--color-brass-hover)!important;}
.cookie-actions button:nth-child(2),.cookie-actions button:nth-child(3){background:#E9EDF0!important;color:var(--color-text)!important;}
@media(max-width:1100px){.case-study-grid,.service-card-grid.four{grid-template-columns:repeat(2,1fr);} }
@media(max-width:767px){
  body{padding-bottom:64px;}
  .hero-content .hero-secondary-button{display:block;margin:12px 0 0;text-align:center;width:100%;}
  .hero-button{width:100%;text-align:center;}
  .homepage-process-section,.local-service-area-section,.case-study-section,.contact-service-area-section{padding:62px 0;}
  .case-study-grid,.service-card-grid.four{grid-template-columns:1fr;}
  .mobile-sticky-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:5000;box-shadow:0 -8px 24px rgba(0,0,0,.18);}
  .mobile-sticky-cta a{display:flex;align-items:center;justify-content:center;min-height:58px;font-size:15px;font-weight:800;line-height:1;text-align:center;}
  .mobile-sticky-cta a:first-child{background:var(--color-navy);color:#fff;}
  .mobile-sticky-cta a:last-child{background:var(--color-brass);color:#fff;}
  .section-heading p,.projects-intro,.contact-intro{text-align:left;font-size:16px;margin-bottom:24px;}
}


/* Google Business Profile + testimonials update */
.testimonials-section {
  background: #f7f9fb;
  padding: 80px 0;
}
.testimonials-section .section-heading p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  color: var(--color-muted, #6B747C);
}
.testimonial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 24px;
  margin-top: 34px;
}
.testimonial-card {
  background: #ffffff;
  border: 1px solid rgba(8,43,73,.12);
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 12px 28px rgba(6,29,51,.08);
}
.testimonial-stars {
  color: var(--color-brass, #C9922E);
  font-size: 22px;
  letter-spacing: .08em;
  line-height: 1;
  margin-bottom: 18px;
}
.testimonial-card blockquote {
  margin: 0 0 18px;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.35;
  color: var(--color-navy, #082B49);
  font-weight: 600;
}
.testimonial-source {
  margin: 0;
  color: var(--color-muted, #6B747C);
  font-size: 15px;
}
.testimonial-cta-card h4 {
  margin: 0 0 12px;
  color: var(--color-navy, #082B49);
}
.testimonial-cta-card p {
  color: var(--color-text, #2B333A);
  margin-bottom: 22px;
}
.google-profile-section {
  background: #ffffff;
  padding: 64px 0;
  text-align: center;
}
.google-profile-section p {
  max-width: 680px;
  margin: 0 auto 24px;
  color: var(--color-text, #2B333A);
}
@media (max-width: 767px) {
  .testimonials-section {
    padding: 56px 0;
  }
  .testimonial-grid {
    grid-template-columns: 1fr;
  }
  .testimonial-card {
    padding: 24px;
  }
}


/* ==========================================================
   Final UX/UI audit implementation patch
   Purpose: tighten visual consistency, responsiveness, accessibility,
   colour hierarchy and maintainability without redesigning the brand.
   ========================================================== */
:root{
  --primary:#082B49;
  --secondary:#0B5E8E;
  --accent:#C9922E;
  --accent-hover:#A9731F;
  --text:#2B333A;
  --muted:#6B747C;
  --panel:#F7F9FA;
  --border:#D9DEE3;
  --white:#FFFFFF;
  --shadow-soft:0 12px 30px rgba(6,29,51,.08);
  --radius-card:12px;
  --fs-hero:clamp(34px,4.8vw,56px);
  --fs-h2:clamp(28px,3vw,42px);
  --fs-h3:clamp(20px,2vw,25px);
  --fs-body:clamp(16px,1.1vw,17px);
}
html{scroll-padding-top:110px;}
body{color:var(--text)!important;font-size:var(--fs-body);line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.project-gallery-item:focus-visible,.color-card:focus-visible{outline:3px solid rgba(201,146,46,.55)!important;outline-offset:3px!important;}
.elementor-container{max-width:min(1140px,calc(100% - 40px));}
.site-header{isolation:isolate;}
@media(min-width:1025px){
  .header-container{min-height:136px!important;align-items:flex-start!important;padding-top:14px!important;}
  .site-logo img{width:126px!important;height:126px!important;}
  .desktop-navigation{padding-top:30px!important;}
  .header-right{padding-top:18px!important;}
  .menu-link,.has-submenu>.menu-link{font-size:14px!important;padding:14px 10px!important;}
}
.hero-section{min-height:clamp(620px,70vh,740px)!important;}
.hero-content{padding-top:clamp(84px,10vw,120px)!important;}
.hero-content h1{font-size:var(--fs-hero)!important;line-height:1.1!important;max-width:900px!important;letter-spacing:-.025em!important;text-wrap:balance;}
.hero-subheadline{max-width:760px!important;color:rgba(255,255,255,.92)!important;}
.hero-content .elementor-button{margin-top:4px;}
h1,h2,h3,h4,h5,h6{color:var(--primary);text-wrap:balance;}
.section-heading{text-align:center;max-width:920px;margin:0 auto 34px;}
.section-heading h3,.text-col h3,.projects-section h3{color:var(--accent)!important;font-size:14px!important;letter-spacing:.075em!important;text-transform:uppercase!important;}
.section-heading h2,.why-choose-section h2,.projects-section h2,.form-section h2,.contact-page-section h2,.blue-cta h2{font-size:var(--fs-h2)!important;line-height:1.18!important;letter-spacing:-.02em!important;}
.text-col h6,.contact-page-section h6{font-size:clamp(28px,3vw,38px)!important;color:var(--primary)!important;}
p,li{color:var(--text);}
.text-col p,.direct-answer-block p,.section-heading p,.projects-intro,.contact-intro{max-width:720px;}
.elementor-button,.header-cta,button[type="submit"],.btn-primary,.cookie-actions button[data-cookie="accept"],.cookie-actions button[data-cookie="save"]{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important;border-radius:4px!important;font-weight:750!important;box-shadow:0 7px 18px rgba(169,115,31,.18);}
.elementor-button:hover,.header-cta:hover,button[type="submit"]:hover,.btn-primary:hover,.cookie-actions button[data-cookie="accept"]:hover,.cookie-actions button[data-cookie="save"]:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important;transform:translateY(-1px);}
.hero-content .hero-secondary-button{box-shadow:none!important;}
.text-col a:not(.elementor-button),.service-card a,.partner-box a,.proof-list a,.footer-bottom a{color:var(--secondary);text-decoration-thickness:1px;text-underline-offset:4px;}
.text-col a:not(.elementor-button):hover,.service-card a:hover,.partner-box a:hover,.proof-list a:hover{color:var(--accent)!important;}
.trust-bar-section,.business-facts-section,.service-overview-section,.homepage-process-section,.case-study-section,.testimonials-section{background:var(--panel)!important;}
.text-image-section,.why-choose-section,.local-service-area-section,.contact-service-area-section,.faq-section{background:#fff;}
.text-image-section,.service-overview-section,.why-choose-section,.homepage-process-section,.local-service-area-section,.home-project-preview,.service-detail-section,.tag-section,.partner-section,.custom-process-section,.build-options-section,.faq-section,.case-study-section,.testimonials-section{padding-top:clamp(64px,7vw,96px)!important;padding-bottom:clamp(64px,7vw,96px)!important;}
.service-card,.process-grid div,.business-facts-grid div,.direct-answer-block,.partner-box,.faq-grid details,.testimonial-card,.case-study-grid article{border-radius:var(--radius-card)!important;box-shadow:var(--shadow-soft)!important;border-color:rgba(8,43,73,.12)!important;}
.service-card,.business-facts-grid div,.partner-box,.case-study-grid article,.proof-list div{border-top-color:var(--accent)!important;border-left-color:var(--accent)!important;}
.service-card{min-height:230px;transition:transform .22s ease,box-shadow .22s ease;}
.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(6,29,51,.12)!important;}
.process-grid span{background:var(--accent)!important;}
.project-gallery{gap:18px!important;}
.project-gallery-item{border-radius:12px!important;box-shadow:var(--shadow-soft);background:#E9EEF2;}
.project-gallery-item .project-caption{opacity:1!important;background:linear-gradient(180deg,rgba(6,29,51,0),rgba(6,29,51,.78))!important;color:#fff!important;padding:42px 14px 14px!important;font-size:14px!important;letter-spacing:.01em;}
.preview-gallery img,.image-col img{border-radius:10px;box-shadow:0 10px 28px rgba(6,29,51,.08);}
.color-card{border-radius:12px!important;box-shadow:var(--shadow-soft)!important;}
.color-name{color:var(--primary)!important;}
.contact-details{align-items:start;}
.contact-details a[href^="tel"],.contact-details a[href^="mailto"]{color:var(--secondary)!important;font-weight:700;}
.contact-form input,.contact-form textarea,.contact-form select{border:1px solid var(--border)!important;border-radius:4px!important;min-height:48px;}
.contact-form textarea{min-height:150px;}
.form-note{color:var(--muted)!important;}
.site-footer{padding-top:78px!important;}
.footer-overlay{background:rgba(6,29,51,.84)!important;}
.footer-column li,.footer-column a,.footer-bottom,.footer-bottom a,.footer-brand-text{color:rgba(255,255,255,.88)!important;}
.footer-column a:hover,.footer-bottom a:hover{color:var(--accent)!important;}
.cookie-box{border-radius:12px!important;border:1px solid rgba(8,43,73,.12);box-shadow:0 14px 42px rgba(6,29,51,.20)!important;}
.cookie-inner h3{color:var(--primary)!important;}
.cookie-inner p,.cookie-category span{color:var(--text)!important;}
.cookie-category strong{color:var(--primary)!important;}
.cookie-actions button{border-radius:4px!important;font-weight:700!important;}
.cookie-actions button[data-cookie="reject"]{background:#EEF1F3!important;color:var(--text)!important;border:1px solid var(--border)!important;}
.mobile-sticky-cta a:first-child{background:var(--primary)!important;color:#fff!important;}
.mobile-sticky-cta a:last-child{background:var(--accent)!important;color:#fff!important;}
@media(max-width:1024px){
  .site-header{background:rgba(6,29,51,.88)!important;backdrop-filter:blur(8px);}
  .header-container{min-height:112px!important;}
  .site-logo img{width:96px!important;height:96px!important;}
  .mobile-navigation{max-height:calc(100vh - 112px);overflow:auto;}
  .mobile-navigation .menu-link{font-size:16px!important;padding:14px 4px!important;}
  .hero-section{min-height:620px!important;}
  .two-col,.contact-layout{gap:34px!important;}
  .service-card-grid,.service-card-grid.four,.process-grid,.process-grid.five,.business-facts-grid,.case-study-grid,.testimonial-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:767px){
  .elementor-container{max-width:calc(100% - 30px);}
  .header-container{max-width:calc(100% - 28px);min-height:92px!important;}
  .site-logo img{width:78px!important;height:78px!important;}
  .hero-section{min-height:570px!important;}
  .hero-content{max-width:calc(100% - 30px)!important;padding-top:76px!important;}
  .hero-content h1{font-size:clamp(31px,9vw,40px)!important;line-height:1.13!important;margin-bottom:20px!important;}
  .hero-subheadline{font-size:17px!important;line-height:1.55!important;margin:-4px 0 24px!important;}
  .hero-button,.hero-content .hero-secondary-button,.elementor-button,button[type="submit"]{width:100%;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center;}
  .hero-content .hero-secondary-button{margin-left:0!important;}
  .service-card-grid,.service-card-grid.four,.process-grid,.process-grid.five,.business-facts-grid,.case-study-grid,.testimonial-grid,.contact-details{grid-template-columns:1fr!important;}
  .project-gallery{grid-template-columns:1fr!important;gap:16px!important;}
  .project-gallery-item{aspect-ratio:4/3;}
  .project-gallery-item .project-caption{font-size:13px!important;}
  .footer-container{grid-template-columns:1fr!important;gap:34px!important;}
  .footer-bottom{display:block;text-align:left;}
  .footer-bottom p + p{margin-top:10px;}
  .cookie-box{left:12px!important;right:12px!important;bottom:76px!important;width:auto!important;max-width:none!important;}
  .cookie-inner{padding:18px!important;max-height:60vh!important;}
  .cookie-actions{display:grid!important;grid-template-columns:1fr!important;}
}


/* Final polish add-ons: professional contact icons, footer service expander, CTA arrows, back-to-top */
.contact-line{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px!important;line-height:1.55;}
.contact-icon,.detail-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(201,146,46,.14);color:var(--accent);font-size:13px;font-weight:800;line-height:1;margin-top:1px;}
.footer-contact .contact-icon{background:rgba(255,255,255,.10);color:var(--accent);}
.contact-line a{text-decoration:none;}
.contact-line a:hover{text-decoration:underline;text-underline-offset:4px;}
.inline-icon-link{display:inline-flex;align-items:center;gap:7px;}
.business-contact-inline{display:flex!important;gap:14px;flex-wrap:wrap;align-items:center;}
.inline-icon-link span{color:var(--accent);font-weight:800;}
.contact-detail-card{position:relative;padding:22px 22px 22px 58px;border:1px solid rgba(8,43,73,.12);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft);min-height:118px;}
.contact-detail-card .detail-icon{position:absolute;left:20px;top:22px;width:28px;height:28px;}
.contact-detail-card h4{margin-bottom:7px!important;color:var(--primary)!important;}
.contact-detail-card p{font-size:15px;line-height:1.55;}
.footer-service-details{margin:0;}
.footer-service-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:rgba(255,255,255,.88);cursor:pointer;list-style:none;min-height:30px;border-radius:4px;padding:0 2px;transition:color .2s ease;}
.footer-service-details summary::-webkit-details-marker{display:none;}
.footer-service-details summary:hover,.footer-service-details summary:focus-visible{color:var(--accent);}
.footer-chevron{font-size:11px;transition:transform .2s ease;color:var(--accent);}
.footer-service-details[open] .footer-chevron{transform:rotate(180deg);}
.footer-service-details .footer-submenu{margin:8px 0 0 18px!important;padding:0 0 2px 12px!important;border-left:1px solid rgba(201,146,46,.34);}
.footer-service-details .footer-submenu li{margin-bottom:5px!important;}
.footer-service-details .footer-submenu a{font-size:14px!important;}
.footer-quote-link a{display:inline-flex!important;align-items:center;gap:8px;margin-top:8px;padding:9px 14px;border:1px solid rgba(201,146,46,.72);border-radius:4px;color:#fff!important;background:rgba(201,146,46,.14);font-weight:700;}
.footer-quote-link a:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;text-decoration:none!important;}
.footer-quote-link a::after{content:'→';font-size:13px;transition:transform .2s ease;}
.footer-quote-link a:hover::after{transform:translateX(3px);}
.elementor-button:not(.hero-secondary-button)::after,.header-cta::after,button[type="submit"]::after{content:'→';display:inline-block;margin-left:9px;font-size:.95em;transition:transform .2s ease;}
.elementor-button:not(.hero-secondary-button):hover::after,.header-cta:hover::after,button[type="submit"]:hover::after{transform:translateX(3px);}
.hero-secondary-button::after,.secondary-outline-on-dark::after{content:'↗';display:inline-block;margin-left:9px;font-size:.9em;transition:transform .2s ease;}
.hero-secondary-button:hover::after,.secondary-outline-on-dark:hover::after{transform:translate(2px,-2px);}
.back-to-top{position:fixed;right:18px;bottom:92px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(8,43,73,.16);background:#fff;color:var(--primary);box-shadow:0 10px 24px rgba(6,29,51,.16);z-index:2500;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .2s ease,color .2s ease;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--primary);color:#fff;}
.mobile-sticky-cta a{gap:7px;}
@media(max-width:767px){
  .contact-line{gap:9px;margin-bottom:12px!important;}
  .contact-icon{width:26px;height:26px;}
  .business-contact-inline{display:grid!important;grid-template-columns:1fr;gap:8px;}
  .contact-detail-card{padding:20px 18px 20px 56px;min-height:auto;}
  .footer-service-details summary{min-height:38px;font-size:16px;}
  .footer-service-details .footer-submenu a{display:block;padding:4px 0;font-size:15px!important;}
  .back-to-top{right:14px;bottom:116px;width:40px;height:40px;}
}


/* Final requested polish patch: trust blocks, homepage projects, galleries and contact order */
.trust-bar-section{
  padding:34px 0;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fa 100%);
  border-bottom:1px solid rgba(8,43,73,.08);
}
.trust-grid.trust-grid-polished{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.trust-grid-polished > div{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:14px;
  align-items:center;
  min-height:96px;
  padding:22px 20px;
  background:#ffffff;
  border:1px solid rgba(8,43,73,.10);
  border-radius:14px;
  box-shadow:0 10px 26px rgba(6,29,51,.06);
}
.trust-grid-polished .trust-icon{
  grid-row:1 / span 2;
  width:40px;
  height:40px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(201,146,46,.12);
  color:var(--accent);
  font-size:18px;
  font-weight:700;
  line-height:1;
}
.trust-grid-polished strong{
  margin:0 0 3px!important;
  color:var(--primary)!important;
  font-size:17px!important;
  line-height:1.25!important;
}
.trust-grid-polished span:not(.trust-icon){
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.home-project-preview .preview-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.home-project-preview .preview-gallery img,
.preview-gallery-image{
  width:100%;
  height:clamp(220px,24vw,315px);
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
  border-radius:14px;
  box-shadow:0 14px 34px rgba(6,29,51,.12);
  background:#eef2f4;
}
.two-col.single-col{
  grid-template-columns:minmax(0,780px);
  justify-content:center;
}
.two-col.single-col > .text-col{
  order:initial!important;
}
.color-card{
  padding:14px!important;
}
.color-card .color-swatch-image{
  margin:0!important;
}
.project-gallery-item .project-caption{display:none!important;}
.project-gallery-item{
  border-radius:10px;
}
.contact-form-panel{
  max-width:820px;
  margin:38px auto 58px;
  padding:34px;
  background:#fff;
  border:1px solid rgba(8,43,73,.10);
  border-radius:16px;
  box-shadow:0 16px 40px rgba(6,29,51,.08);
}
.contact-form-panel h6{
  margin:0 0 8px!important;
  color:var(--accent)!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contact-form-panel h2{
  margin:0 0 24px!important;
  color:var(--primary)!important;
  font-size:clamp(28px,3vw,36px)!important;
}
.contact-details-heading{
  max-width:820px;
  margin:10px auto 26px!important;
  color:var(--primary)!important;
  font-size:clamp(26px,3vw,34px)!important;
  text-align:left!important;
}
.contact-page-section .contact-layout{
  margin-top:0!important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:transparent!important;}
@media(max-width:1024px){
  .trust-grid.trust-grid-polished{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-project-preview .preview-gallery{gap:16px;}
  .home-project-preview .preview-gallery img{height:240px;}
}
@media(max-width:767px){
  .trust-bar-section{padding:24px 0;}
  .trust-grid.trust-grid-polished{grid-template-columns:1fr;gap:12px;}
  .trust-grid-polished > div{min-height:84px;padding:18px 16px;border-radius:12px;}
  .trust-grid-polished .trust-icon{width:36px;height:36px;font-size:16px;}
  .home-project-preview .preview-gallery{grid-template-columns:1fr;gap:14px;}
  .home-project-preview .preview-gallery img{height:auto;aspect-ratio:4/3;border-radius:12px;}
  .contact-form-panel{padding:24px 18px;margin:30px auto 42px;border-radius:14px;}
  .contact-details-heading{margin:4px auto 20px!important;}
}


/* Final approved polish fixes: cleaner icons, semantic project labels, and trust facts */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.contact-line{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
}
.contact-icon,.detail-icon{
  margin-right:0!important;
  flex:0 0 24px!important;
}
.contact-detail-card p,
.contact-line a,
.contact-line span:not(.contact-icon){
  overflow-wrap:anywhere;
}
.business-facts-grid div{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.business-facts-grid div:hover{
  transform:translateY(-2px);
  border-color:rgba(201,146,46,.38);
  box-shadow:0 14px 34px rgba(8,43,73,.10);
}
.project-gallery-item[data-project-category]::after{
  content:attr(data-project-category);
  position:absolute;
  left:10px;
  bottom:10px;
  max-width:calc(100% - 20px);
  padding:5px 8px;
  border-radius:999px;
  background:rgba(6,29,51,.78);
  color:#fff;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.01em;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.project-gallery-item:hover::after,
.project-gallery-item:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:767px){
  .project-gallery-item[data-project-category]::after{display:none;}
  .contact-line{gap:10px!important;}
}


/* Final AI search visibility / local SEO content blocks */
.ai-search-section {
  background: #f7f9fa;
  padding: clamp(48px, 6vw, 76px) 0;
}
.ai-search-section .section-heading {
  max-width: 900px;
}
.ai-search-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.ai-search-card-grid article {
  background: #fff;
  border: 1px solid var(--border, #D9DEE3);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(8,43,73,.08);
}
.ai-search-card-grid h4 {
  margin: 0 0 8px;
  color: var(--primary, #082B49);
}
.ai-search-card-grid p {
  margin: 0;
  color: var(--text, #2B333A);
}
.contact-entity-section {
  background: #fff;
}
@media (max-width: 900px) {
  .ai-search-card-grid { grid-template-columns: 1fr; }
}
