
:root{--fortinox-blue:#7bc4e6;--fortinox-blue-dark:#176d91;--fortinox-blue-soft:#d4eaf5;--fortinox-ink:#263238;--fortinox-muted:#667085;--fortinox-surface:#f7fbfd;--fortinox-border:#dbe8ee}*{box-sizing:border-box}body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--fortinox-ink);line-height:1.65;background:#fff}h1,h2,h3,h4,.navbar-brand{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;letter-spacing:-.025em}p{color:#475467}a{color:var(--fortinox-blue-dark);text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:2000;background:#fff;padding:.75rem;border:2px solid var(--fortinox-blue-dark)}.top-strip{background:#172832;color:#fff}.top-strip a,.top-strip span{color:#fff}.navbar .nav-link{font-size:17px;letter-spacing:.5px;text-transform:uppercase;font-weight:500;color:#263238}.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--fortinox-blue-dark)}.btn-primary{--bs-btn-bg:var(--fortinox-blue-dark);--bs-btn-border-color:var(--fortinox-blue-dark);--bs-btn-hover-bg:#0e506e;--bs-btn-hover-border-color:#0e506e}.btn-whatsapp{--bs-btn-bg:#25d366;--bs-btn-border-color:#25d366;--bs-btn-color:#073b1a;--bs-btn-hover-bg:#1ebe5d;--bs-btn-hover-border-color:#1ebe5d;--bs-btn-hover-color:#062f15;--bs-btn-focus-shadow-rgb:37,211,102}.btn-outline-primary{--bs-btn-color:var(--fortinox-blue-dark);--bs-btn-border-color:var(--fortinox-blue-dark);--bs-btn-hover-bg:var(--fortinox-blue-dark);--bs-btn-hover-border-color:var(--fortinox-blue-dark)}.section{padding:5rem 0}.section-soft{background:linear-gradient(180deg,var(--fortinox-surface),#fff)}.narrow{max-width:920px}.hero{position:relative;overflow:hidden;background:#172832}.hero .hero-bg{position:absolute;inset:0}.hero .hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.58)}.min-vh-60{min-height:40.5vh}.hero-list{list-style:none;padding:0;margin:1.5rem 0 0;font-size:1.25rem}.hero-list li{margin:.4rem 0}.hero-list li:before,.check-list li:before{content:"✓";color:var(--fortinox-blue);font-weight:800;margin-right:.55rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:800;color:var(--fortinox-blue-dark);margin-bottom:.6rem}.hero .eyebrow{color:#d4eaf5}.page-hero{padding:5rem 0;background:linear-gradient(135deg,var(--fortinox-blue-soft),#fff);border-bottom:1px solid var(--fortinox-border)}.page-hero h1{max-width:900px;font-weight:800}.feature-card,.quote-card,.project-card,.gallery-card,.contact-card{border:1px solid var(--fortinox-border);border-radius:1.25rem;background:#fff;box-shadow:0 18px 45px rgba(23,109,145,.08);transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover,.project-card:hover,.gallery-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(23,109,145,.14)}.feature-card{padding:2rem}.feature-icon{max-width:120px;height:auto;margin-bottom:1rem}.feature-icon.lloyds-cert-logo,.feature-icon.exilator-logo{max-width:min(100%,442px);display:block}.feature-icon.exilator-logo{margin-left:auto;margin-right:auto}.intro-copy p{text-align:justify;text-justify:inter-word}@media (min-width:992px){.intro-copy{padding-right:4.5rem}}.check-list{list-style:none;padding-left:0}.quote-card{padding:1.5rem;height:100%;margin:0}.quote-card p{font-family:Georgia,"Times New Roman",serif;font-style:italic}.quote-card footer{font-weight:700}.quote-card span{display:block;color:var(--fortinox-muted);font-weight:500}.avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;margin-bottom:1rem}.gallery-card{display:block;position:relative;overflow:hidden;color:var(--fortinox-ink);height:100%;padding:.65rem .65rem 0}.gallery-card picture{display:block}.gallery-card img{aspect-ratio:3/2;object-fit:cover;border-radius:.9rem;width:100%}.gallery-card span{position:absolute;top:1.05rem;left:1.05rem;background:rgba(23,40,50,.92);color:#fff;border-radius:999px;padding:.55rem 1rem;font-size:1.02rem;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.22)}.gallery-card strong{display:block;padding:.85rem .35rem 1rem}.project-card{overflow:hidden;height:100%}.project-card img{aspect-ratio:3/2;object-fit:cover}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem}.map-embed iframe{display:block}.contact-card{padding:2rem;position:sticky;top:7rem}.contact-form .form-label{font-weight:700;width:100%}.footer{background:#172832;color:#d9e7ed}.footer p,.footer a,.footer li{color:#d9e7ed}.footer h2{color:#fff}.legal-copy h2{margin-top:2rem;font-size:1.45rem}.legal-copy p,.legal-copy li{color:#344054}.site-search{min-width:230px}@media (max-width:991px){.section{padding:3.5rem 0}.hero .display-4{font-size:2.5rem}.min-vh-60{min-height:39.6vh}.site-search{min-width:0}.navbar-brand img{width:160px;height:auto}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

.map-frame{display:block;width:100%;border:0}

.language-flag{width:30px;height:20px;object-fit:cover;border-radius:.2rem}.language-link{display:inline-flex;align-items:center}.service-inline-img{max-width:560px;width:100%;height:auto}.fabrication-prop-img{height:auto;object-fit:cover}.exilator-copy p{text-align:justify;text-justify:inter-word}

.map-local-panel{background:linear-gradient(135deg,var(--fortinox-blue-soft),#fff);border-bottom:1px solid var(--fortinox-border)}.local-map-card{max-width:760px;background:#fff;border:1px solid var(--fortinox-border);border-radius:1.25rem;padding:2rem;box-shadow:0 18px 45px rgba(23,109,145,.08)}.location-map-card{max-width:1100px}.location-map-embed{background:#dbe8ee;margin-bottom:1.5rem}.location-map-embed .map-frame{height:430px}.location-map-copy{max-width:760px}.chain-hero .row{justify-content:flex-end}.chain-hero .hero-bg img{filter:none;object-position:center}.chain-hero h1,.chain-hero .lead{color:#333;text-shadow:0 1px 8px rgba(255,255,255,.7)}.chain-hero h1{font-weight:500!important}.chain-hero .lead{font-weight:400}.chain-hero .chain-hero-cta{color:#333;border-color:#555;background:rgba(255,255,255,.58);font-weight:500}.chain-hero .chain-hero-cta:hover,.chain-hero .chain-hero-cta:focus{color:#fff;background:#555;border-color:#555}.chain-service-list{margin:1.5rem 0}.chain-service-list dt{font-weight:700;color:var(--fortinox-ink);margin-top:1rem}.chain-service-list dd{color:#475467;margin-left:0}.chain-spec-card{padding:1.5rem}.chain-spec-card .table{font-size:.92rem}.chain-spec-card th{color:var(--fortinox-ink)}.top-contact{display:inline-flex;align-items:center;gap:.4rem}.top-contact:hover{text-decoration:underline}.top-icon{display:inline-flex;align-items:center}.top-icon svg{display:block}.footer-whatsapp,.footer-whatsapp:link,.footer-whatsapp:visited,.footer-whatsapp:hover,.footer-whatsapp:focus,.footer-whatsapp:active{color:#25d366!important;font-weight:600}.footer-whatsapp:hover,.footer-whatsapp:focus{text-decoration:underline}.whatsapp-icon{display:inline-block;vertical-align:-.15em;margin-right:.35rem;flex:0 0 auto}.footer-whatsapp,.btn-whatsapp,.chain-hero-cta{display:inline-flex;align-items:center;gap:.25rem}.footer-whatsapp{font-size:1.2rem}.footer-whatsapp .whatsapp-icon{width:24px;height:24px;margin-right:.25rem}.mobile-nav-whatsapp{display:none;color:#25d366;text-decoration:none;border:2px solid #25d366;border-radius:.5rem;align-items:center;justify-content:center;background:#fff}.mobile-nav-whatsapp:hover,.mobile-nav-whatsapp:focus{color:#1ebe5d;text-decoration:none}

/* Mobile/tablet responsive refinements - desktop >=992px unchanged */
@media (max-width:991.98px){
  body{overflow-x:hidden;font-size:17px;line-height:1.68}
  p,li,dd,address,.form-control,.form-select{font-size:1rem}
  .section{padding:3rem 0}
  .page-hero{padding:3.25rem 0}
  .page-hero h1{font-size:clamp(2rem,5.8vw,2.75rem);line-height:1.12}
  .navbar{--bs-navbar-padding-y:.75rem}
  .navbar-brand{padding:.35rem 0}
  .navbar-brand img{width:180px;height:auto}
  .navbar-toggler{min-width:68px;min-height:62px;padding:.85rem .95rem;border-width:2px}
  .navbar-toggler-icon{width:2.15em;height:2.15em}
  .navbar .nav-link{padding:.425rem 0;font-size:18px}
  .site-search{width:100%}
  .site-search .input-group{width:100%}
  .site-search .form-control,.site-search .btn{font-size:1rem;min-height:44px}
  .intro-copy{padding-right:0}
  .contact-card{position:static;top:auto;margin-top:1rem}
  .filter-bar .btn{min-height:44px;padding:.6rem .85rem;font-size:1rem}
  .gallery-card span{top:1rem;left:1rem;font-size:1rem;padding:.5rem .9rem}
  .gallery-card strong{font-size:1.05rem}
  .feature-card,.quote-card,.contact-card{padding:1.5rem}
  .service-inline-img{max-width:100%}
  .chain-spec-card{padding:1rem}
}
@media (max-width:767.98px){
  body{font-size:18px;line-height:1.7}
  .container{--bs-gutter-x:1rem}
  p,li,dd,address,.form-control,.form-select{font-size:1.05rem}
  h2,.h2{font-size:clamp(1.6rem,7vw,2rem);line-height:1.18}
  h3,.h3{font-size:1.35rem;line-height:1.22}
  .section{padding:2.5rem 0}
  .page-hero{padding:2.75rem 0}
  .hero .container{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  .hero .display-4{font-size:clamp(2.15rem,10vw,2.7rem);line-height:1.08}
  .hero-list{font-size:1.15rem;margin-top:1rem}
  .min-vh-60{min-height:34vh}
  .btn-lg{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:1.08rem}
  .mobile-nav-whatsapp{display:inline-flex;width:68px;height:62px;margin-left:auto;margin-right:.5rem}
  .mobile-nav-whatsapp svg{width:2.15em;height:2.15em}
  .navbar-toggler{min-width:60px;min-height:54px;padding:.65rem .75rem}
  .navbar-toggler-icon{width:1.85em;height:1.85em}
  .filter-bar{gap:.6rem}
  .filter-bar .btn{flex:1 1 calc(50% - .6rem)}
  .gallery-card img,.project-card img{aspect-ratio:3/2;width:100%;height:auto}
  main > .section:last-child{padding-bottom:1rem}
  .footer{margin-top:0!important}
  .footer .container{padding-top:2rem!important;padding-bottom:2.5rem!important}
  .footer h2{margin-top:.5rem;font-size:1.35rem}
  .footer p,.footer li,.footer a{font-size:1.05rem}
  .footer-whatsapp{min-height:44px;align-items:center;font-size:1.25rem}
}
@media (max-width:420px){
  body{font-size:18px}
  .navbar .container{--bs-gutter-x:.5rem}
  main .container,.footer .container{--bs-gutter-x:1.25rem}
  .row{--bs-gutter-x:.75rem}
  .filter-bar .btn{flex-basis:100%}
  .navbar-brand{margin-right:0;padding:.2rem 0}
  .navbar-brand img{width:clamp(205px,64vw,215px);height:auto}
  .mobile-nav-whatsapp{display:none}
  .navbar-toggler{min-width:68px;min-height:62px;padding:.85rem .95rem}
  .navbar-toggler-icon{width:2.15em;height:2.15em}
  .feature-card,.quote-card,.contact-card{padding:.85rem}
}
/* Chrome/Android mobile rendering tends to look smaller than Firefox on the same CSS pixels. */
@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width:767.98px){
  body{font-size:19px}
  p,li,dd,address,.form-control,.form-select{font-size:1.12rem;line-height:1.72}
  .hero .display-4{font-size:clamp(2.35rem,10.8vw,2.95rem)}
  .hero-list{font-size:1.22rem}
  .btn-lg{font-size:1.14rem}
  .navbar .nav-link{font-size:19px}
}
/* Chrome mobile: show header WhatsApp on narrow-but-not-smallest screens. */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-width:361px) and (max-width:420px){
  .mobile-nav-whatsapp{display:inline-flex;width:62px;height:58px;margin-left:auto;margin-right:.35rem}
  .mobile-nav-whatsapp svg{width:2em;height:2em}
  .navbar-brand img{width:clamp(190px,55vw,205px)}
  .navbar-toggler{min-width:58px;min-height:54px;padding:.65rem .7rem}
  .navbar-toggler-icon{width:1.85em;height:1.85em}
}
/* Tablet / next larger collapsed-nav breakpoint: keep WhatsApp beside hamburger. */
@media (min-width:768px) and (max-width:991.98px){
  .mobile-nav-whatsapp{display:inline-flex;width:68px;height:62px;margin-left:auto;margin-right:.5rem}
  .mobile-nav-whatsapp svg{width:2.15em;height:2.15em}
  .navbar-toggler{min-width:60px;min-height:54px;padding:.65rem .75rem}
  .navbar-toggler-icon{width:1.85em;height:1.85em}
}
/* Firefox mobile renders larger than Chrome here, so trim only Firefox mobile sizing. */
@supports (-moz-appearance:none){
  @media (max-width:767.98px){
    body{font-size:15px;line-height:1.52}
    p,li,dd,address,.form-control,.form-select{font-size:.9rem;line-height:1.54}
    .hero .display-4{font-size:clamp(1.72rem,8vw,2.1rem)}
    .hero-list{font-size:.92rem}
    .btn-lg{font-size:.94rem;min-height:42px}
    .navbar .nav-link{font-size:15px}
    .footer p,.footer li,.footer a{font-size:.9rem}
  }
  @media (max-width:420px){
    body{font-size:15px}
    .navbar-brand img{width:clamp(170px,53vw,180px)}
    .navbar-toggler{min-width:54px;min-height:50px;padding:.55rem .65rem}
    .navbar-toggler-icon{width:1.7em;height:1.7em}
  }
}

