/* FS Windows · Alpine Blue. Urbanist display headings use the approved 400 weight. */
@font-face {
  font-family: 'Urbanist';
  src: url('/assets/fonts/urbanist-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}
:root {
  --navy: #1b3b50;
  --chrome: var(--action);
  --ink: #1b3b50;
  --muted: #4f6572;
  --blue: #23688e;
  --paper: #f8fbfd;
  --soft: #d9ebf4;
  --line: #c9dce7;
  --action: #23688e;
}
body {font-family:'Urbanist',Arial,sans-serif;font-weight:400;letter-spacing:.006em;color:var(--ink)}
h1,h2,h3,.stat>strong {font-family:'Urbanist',Arial,sans-serif;letter-spacing:-.015em}
h1 {font-weight:400;line-height:1.14;font-size:clamp(43px,5.3vw,74px)}
h2 {font-weight:400;line-height:1.16}
h3 {font-weight:500;line-height:1.22;letter-spacing:-.01em}
.eyebrow {font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--navy)}
.eyebrow>span {width:15px;height:15px;background:none;border:1.5px solid var(--blue);border-radius:3px;position:relative}
.eyebrow>span:after {content:'';position:absolute;inset:3px;border-right:1px solid var(--blue)}
.muted {color:#526e7e}
input:focus-visible,textarea:focus-visible,select:focus-visible {outline-color:var(--action)}
.project-image,.gallery-trigger {background:#e4eef4}
form label>span {color:#526e7e}
p {line-height:1.7}
.button,.header-cta {border-radius:999px;font-weight:600;letter-spacing:.01em;transition:background .2s,color .2s,border-color .2s}
.button {padding:15px 25px;gap:28px;font-size:15px}
.button:hover {transform:none}
.button.primary,.cta .button.light {background:var(--action);color:#fff}
.button.primary:hover,.cta .button.light:hover {background:var(--navy)}
.button.light {background:#fff;color:var(--navy)}
.button.light:hover {background:#e7f2f8}
.button.outline {border-color:#8faab9;color:var(--navy)}
.button.outline:hover {background:var(--navy);border-color:var(--navy);color:white}
.button .icon {width:20px;height:20px}
.text-link {border:0;font-size:15px;font-weight:600;color:var(--navy);gap:16px;padding-bottom:0}
.text-link:hover {text-decoration:underline;text-underline-offset:6px}
.text-link .icon {width:19px;height:19px}
.site-header {background:var(--chrome);border-bottom:0}
/* Render the uploaded artwork unchanged with the selected Glacier colours. */
.brand-filter-defs {position:absolute;pointer-events:none;overflow:hidden}
.brand-logo {filter:url(#glacier-brand);aspect-ratio:1272/268;object-fit:contain}
.brand {width:220px}
@media(max-width:1100px){.brand{width:185px}}
@media(max-width:650px){.brand{width:175px}}
#main-nav>a {font-size:15px;font-weight:500;color:#e8f2f8}
#main-nav>a:after {background:#c2dfef;height:1px}
.header-cta {font-size:13px;border-color:#8eaebe;padding:12px 20px;gap:20px;background:#ffffff08}
.header-cta:hover {background:#fff;color:var(--navy);border-color:#fff}
/* The matching backdrop covers the reserved space during expansion at the top. */
.header-space {height:94px;background:var(--chrome)}
.site-header {position:fixed;left:0;right:0;--header-motion:.28s cubic-bezier(.22,.61,.36,1);transition:height var(--header-motion),background-color .2s ease}
.site-header .brand {position:relative;height:48px;transition:width var(--header-motion)}
.site-header .header-cta {transition:padding var(--header-motion),gap var(--header-motion),background .2s,color .2s,border-color .2s}
.site-header .brand-logo {position:absolute;left:0;top:50%;width:220px;transform:translateY(-50%);transition:opacity .18s ease,visibility .18s}
.brand>.icon-home {position:absolute;left:10px;top:12px;width:24px;height:24px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
.site-header.is-compact {height:62px}
/* Only the background becomes translucent; navigation stays fully opaque. */
.site-header.is-translucent {background:color-mix(in srgb,var(--chrome) 94%,transparent)}
.site-header.is-compact .brand {width:44px}
.site-header.is-compact .brand-logo {opacity:0;visibility:hidden}
.site-header.is-compact .icon-home {opacity:1;visibility:visible}
.site-header.is-compact .brand:hover {color:#72d6ec}
.site-header.is-compact .header-cta {font-size:13px;padding:9px 17px;gap:14px}
@media(max-width:1100px) {.site-header .brand-logo{width:185px}}
@media(max-width:900px) {
  .header-space{height:80px}
  .site-header.is-compact .nav-wrap{gap:16px}
  .site-header.is-compact #main-nav{gap:16px}
  .site-header.is-compact #main-nav>a{font-size:13px}
  .site-header.is-compact .header-cta{font-size:12px;padding:9px 12px;gap:10px}
}
@media(max-width:650px) {
  .header-space{height:72px}
  .site-header .brand-logo{width:175px}
  .site-header #main-nav{top:100%}
  .site-header.is-compact{height:58px}
  .site-header.is-compact .nav-wrap{gap:12px}
  .site-header.is-compact .header-cta{display:flex;margin-left:auto}
  .site-header.is-compact #main-nav{gap:3px}
  .site-header.is-compact #main-nav>a{font-size:22px}
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.site-header .brand,.site-header .brand-logo,.site-header .header-cta,.brand>.icon-home{transition:none}
}
/* Light Alpine Blue hero; retain the existing image, layout and controls. */
.hero {background:var(--soft);color:var(--ink)}
.hero .eyebrow {color:var(--ink)}
.hero-actions .button.light {background:var(--action);color:#fff}
.hero-actions .button.light:hover {background:var(--navy)}
.hero-secondary:hover {color:var(--action)}
.hero-scroll,.hero-project small {color:#344f60}
.tiny-line {background:#688b9f}
.hero-project {border-top-color:#7c9aac}
.hero-controls button {color:var(--ink)}
.hero-controls button:hover {background:var(--navy);color:#fff}
.hero-shade {background:linear-gradient(90deg,#d9ebf4 0%,#d9ebf4fa 22%,#d9ebf4c7 43%,#d9ebf400 74%),linear-gradient(0deg,#d9ebf4fa,transparent 48%)}
.hero h1 {font-size:clamp(62px,6.4vw,92px);font-weight:400;line-height:1.08;letter-spacing:-.02em}
.hero h1 span {color:#23688e}
.hero .eyebrow {font-weight:500;letter-spacing:.13em}
.hero .eyebrow>span {border-color:#23688e}
.hero .eyebrow>span:after {border-color:#23688e}
.hero-content>p:not(.eyebrow) {font-size:18px;line-height:1.65;color:#344f60}
.hero-secondary {font-size:14px;font-weight:500}
.hero-project small,.hero-scroll {letter-spacing:.1em}
.hero-project a {font-size:14px}
.hero-controls button,.lightbox-stage>button,.close-gallery {display:grid;place-items:center;padding:0}
.hero-controls button {width:38px;height:38px;border-color:#7694a6}
.hero-controls button .icon {width:17px;height:17px}
.proof-inner>span {font-size:13px}
.proof-inner>span strong {font-weight:600}
.proof-inner>a {border-color:var(--line);color:var(--navy);transition:background .2s}
.proof-inner>a:hover {background:var(--soft)}
.intro-copy p {font-size:16px}
.stat>strong {font-weight:400}
.stat>strong>span {color:#23688e}
.stat>p {font-size:14px}
.project-caption h3 {font-weight:500;letter-spacing:0}
.project-caption p {font-size:13px}
.project-caption>span {width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--navy);transition:background .2s,color .2s}
.project-caption>span .icon {width:18px;height:18px}
.project-card:hover .project-caption>span {background:var(--navy);color:#fff;border-color:var(--navy)}
.image-arrow {border-radius:50%;color:var(--navy);background:white}
.project-tag {background:#1b3b50e6;border-radius:999px;font-size:11px;padding:5px 13px;letter-spacing:.03em}
.product-number {width:56px;height:56px;display:grid;place-items:center;background:var(--navy);color:white;border-radius:13px;padding:0}
.product-number .icon {width:32px;height:32px;stroke-width:1.2}
.product-card {display:flex;flex-direction:column}
.product-card .product-image {flex-shrink:0}
.product-card h3 {font-weight:400;letter-spacing:0}
.product-card>p {font-size:15px}
.product-card>.text-link {font-size:14px;margin-top:auto}
.heritage {background:#e9f2f7}
.heritage-copy p:not(.eyebrow) {font-size:15px}
.heritage-copy .button {font-size:13px}
.partners h2 {font-weight:400;letter-spacing:-.01em}
.client-logos {border-color:var(--line)}
.client-logo-cell {border-color:var(--line)}
.client-logo-cell:hover {background:#eaf3f8}
.cta {background:#d9ebf4}
.cta h2 {font-weight:400;letter-spacing:-.02em}
.cta p:not(.eyebrow) {color:#3c5d70;font-size:16px}
.cta-email {font-size:14px;border-color:#8caebe}
footer {background:var(--chrome)}
footer h3 {font-family:'Urbanist',Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;color:#d0e0e9}
.footer-brand p {color:#d0e0e9;font-size:13px}
footer .footer-top>div:not(:first-child)>a,footer address {font-size:13px}
.footer-bottom {color:#d0e0e9;font-size:11px}
.footer-bottom>a {display:flex;align-items:center;gap:9px;color:#e8f2f8}
.footer-bottom>a .icon {width:14px;height:14px}
footer a:hover {color:#d9ebf4}
footer .footer-top a {overflow-wrap:anywhere}
.page-heading h1,.project-title-row h1,.product-detail-grid h1 {font-weight:400;letter-spacing:-.02em}
.intro-text {font-size:19px;line-height:1.65}
.filters {gap:7px}
.filter {border-radius:999px;padding:10px 17px;font-size:14px;font-weight:500}
.filter:not(.active):hover {background:#e4eff5}
.search-label {background:#edf5f9;border:1px solid #cadde8;border-radius:999px;padding:9px 14px}
.search-label input {font-size:14px}
.result-count {font-size:13px}
.back-link {display:inline-flex;align-items:center;gap:12px;font-size:14px}
.back-link .icon {width:18px;height:18px}
.back-link:hover {color:var(--action)}
.project-title-row>p {font-size:16px}
.project-facts>div {font-size:14px}
.gallery-trigger>span {border-radius:50%;background:#fffffff0;color:var(--navy)}
/* Equal, compact thumbnails in the product pages' A closer look gallery. */
.material-gallery .photo-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.material-gallery .photo-grid>.gallery-trigger:nth-child(n) {grid-column:auto;aspect-ratio:4/3;min-width:0}
@media(max-width:900px) {.material-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:650px) {.material-gallery .photo-grid{grid-template-columns:1fr;gap:16px}}
.range-column {border-top-color:var(--line)}
.range-column h3 {font-weight:400}
.range-column li {font-size:15px}
.range-column li:before {width:6px;height:6px;top:18px;border-top:1px solid var(--action);border-right:1px solid var(--action);transform:rotate(45deg);background:none}
.spec-note {font-size:13px}
.image-label {background:#1b3b50e6;border-radius:999px;padding:9px 17px}
.expertise-grid article {border-top-color:var(--line)}
.expertise-grid article>.expertise-icon {width:64px;height:64px;display:grid;place-items:center;border-radius:15px;background:var(--navy);color:#fff;margin-bottom:30px}
.expertise-icon .icon {width:36px;height:36px;stroke-width:1.15}
.expertise-grid h3 {font-weight:400}
.expertise-grid p {font-size:15px}
.document-thumb {background:#e9f2f7}
.certificate-card {border-radius:12px;overflow:hidden}
.certificate-card h2 {font-weight:500;letter-spacing:0;margin-bottom:24px}
.certificate-card p,.certificate-card .text-link {font-size:13px}
.archive-label {border-radius:5px}
.contact-icon {width:48px;height:48px;border:0;border-radius:13px;background:var(--navy);color:#fff}
.contact-icon .icon {width:25px;height:25px}
.contact-item h2 {font-weight:500}
.contact-item a:hover {color:var(--action)}
.contact-item p {font-size:13px}
.enquiry-panel {background:#e9f2f7;border-radius:16px}
.enquiry-panel>h2 {font-weight:400}
.enquiry-panel>p {font-size:14px}
form label {font-size:14px;font-weight:500}
form input,form select,form textarea {border-color:#b8d0df;background:white;border-radius:6px;font-size:15px;padding:12px 14px}
form input::placeholder,form textarea::placeholder {color:#5c7280}
.form-note {font-size:12px}
#email-body {font-family:'Urbanist',Arial,sans-serif;font-size:14px;border-radius:6px}
.text-button {display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--navy)}
.text-button .icon {width:17px;height:17px}
.lightbox {background:#122c3cf7}
.lightbox[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.lightbox-stage {height:100%;min-height:0;grid-template-columns:50px minmax(0,1fr) 50px;grid-template-rows:minmax(0,1fr)}
#gallery-image {width:100%;height:100%;min-width:0;min-height:0}
.gallery-count {justify-self:end;margin:12px 0 0;padding:7px 13px;border:1px solid #ffffff26;border-radius:999px;background:#0b202e;color:#fff;font-size:12px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:.04em}
@media(max-width:650px) {.lightbox-stage{grid-template-columns:32px minmax(0,1fr) 32px}.gallery-count{font-size:11px;margin-top:10px;padding:6px 11px}}
.lightbox::backdrop {background:#102735}
.lightbox-stage>button .icon,.close-gallery .icon {width:21px;height:21px}
@media(min-width:1600px) {.hero h1{font-size:100px}}
@media(max-width:1150px) {
  .nav-wrap{gap:24px}#main-nav{gap:24px}.header-cta{padding:11px 17px;font-size:12px;gap:14px}
  .filter{padding:9px 13px}.search-label{width:200px}.product-card>.text-link{font-size:13px}
}
@media(max-width:900px) {
  .header-cta{font-size:0;padding:11px;gap:0}.header-cta .icon{width:20px;height:20px}
  .hero h1{font-size:76px}.hero-shade{background:linear-gradient(90deg,#d9ebf4 0%,#d9ebf4f5 25%,#d9ebf4a6 70%),linear-gradient(0deg,#d9ebf4fa,transparent 52%)}
  .proof-inner>span{font-size:11px}.product-card>p{font-size:14px}.product-card>.text-link{font-size:12px}
  .search-label{width:100%}.range-column li{font-size:14px}.prose p{font-size:16px}.expertise-grid p{font-size:14px}
}
@media(max-width:650px) {
  #main-nav{background:var(--chrome)}
  h1{font-size:43px}h2{font-size:34px}.eyebrow{font-size:10px;letter-spacing:.1em}.eyebrow>span{width:13px;height:13px}
  #main-nav>a{font-size:22px}.hero h1{font-size:clamp(48px,15.5vw,62px);letter-spacing:-.025em}
  .hero-shade{background:linear-gradient(180deg,#d9ebf4 0%,#d9ebf4fa 18%,#d9ebf4e6 56%,#d9ebf4a6 78%,#d9ebf4fa 100%),linear-gradient(90deg,#d9ebf480,transparent)}
  .hero .eyebrow{font-size:10px}.hero-content>p:not(.eyebrow){font-size:16px;line-height:1.65}
  .hero-actions .button{font-size:14px;padding:14px 23px}.hero-secondary{font-size:14px}
  .hero-project a{font-size:12px}.hero-controls button{width:34px;height:34px}
  .proof-inner>span{font-size:11px}.intro-copy p{font-size:16px}.text-link{font-size:14px}
  .stat>p{font-size:12px}.stat>strong{font-weight:400}.project-caption h3{font-size:25px}.project-caption p{font-size:13px}
  .product-number{width:49px;height:49px;border-radius:12px;top:14px;left:14px}.product-number .icon{width:28px;height:28px}
  .product-card>p,.heritage-copy p:not(.eyebrow){font-size:15px}.product-card>.text-link{font-size:14px}
  .heritage-copy .button{font-size:12px;padding:14px 20px}.partners h2{font-size:32px}
  .cta p:not(.eyebrow){font-size:16px}.cta .button{font-size:14px}.footer-brand p{font-size:12px}
  .page-heading h1{font-size:43px}.intro-text{font-size:17px}.filter{font-size:13px;padding:9px 14px}
  .project-facts>div{font-size:13px}.project-title-row>p,.prose p{font-size:16px}
  .product-detail-grid h1{font-size:43px}.product-detail-grid .intro-text{font-size:16px}
  .expertise-grid article>.expertise-icon{width:56px;height:56px;margin-bottom:24px}.expertise-icon .icon{width:31px;height:31px}
  .expertise-grid p{font-size:15px}.contact-icon{width:42px;height:42px}.contact-icon .icon{width:23px;height:23px}
  .enquiry-panel{border-radius:12px}.enquiry-panel>p{font-size:14px}.form-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce) {.button,.header-cta,.project-caption>span{transition:none}}
@media(max-width:650px) {
  .accreditation-logos{gap:14px}
  .accreditation-logos img:nth-child(n){max-width:24%;min-width:0;max-height:28px}
  .hero-controls{flex-shrink:0}
  .hero-controls>span{white-space:nowrap}
}
