:root {
  --blue: #005596;
  --blue-deep: #003d70;
  --red: #ef3125;
  --yellow: #ffd100;
  --ink: #0b1f3a;
  --ink-soft: #233954;
  --muted: #617084;
  --line: #d9e0e7;
  --paper: #f3f5f6;
  --white: #fff;
  --success: #16a36b;
  --shadow: 0 24px 70px rgba(11, 31, 58, .12);
  --container: 1240px;
}

* { box-sizing: border-box; letter-spacing: 0 !important; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; background: var(--white); color: var(--ink); font-family: Inter, Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.is-locked { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Manrope, Inter, sans-serif; font-weight: 700; line-height: 1.1; }
h1 { font-size: clamp(2.5rem, 4.25vw, 4.6rem); }
h2 { font-size: clamp(1.85rem, 3vw, 3.15rem); }
h3 { font-size: 1.22rem; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 112px 0; }
.section--light { background: var(--paper); }
.section--ink { background: var(--ink); color: var(--white); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; transform: translateY(-180%); padding: 10px 16px; background: var(--yellow); color: var(--ink); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.kicker { margin-bottom: 18px; color: var(--blue); font-size: .83rem; font-weight: 700; }
.kicker::before { content: ''; display: inline-block; width: 26px; height: 3px; margin: 0 10px 3px 0; background: var(--red); }
.text-link { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid currentColor; color: var(--blue); font-weight: 700; line-height: 1.8; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.text-link--light { color: var(--white); }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; padding: 14px 22px; background: transparent; font-weight: 700; line-height: 1.2; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--brand { background: var(--red); color: var(--white); }
.button--brand:hover { background: #d8261c; }
.button--ink { background: var(--ink); color: var(--white); }
.button--ink:hover { background: var(--blue); }
.button--light { background: var(--white); color: var(--ink); }
.button--light:hover { background: var(--yellow); }
.button--outline { border-color: rgba(255,255,255,.5); color: var(--white); }
.button--outline:hover { border-color: var(--white); background: var(--white); color: var(--ink); }
.button--outline-dark { border-color: var(--ink); color: var(--ink); }
.button--outline-dark:hover { background: var(--ink); color: var(--white); }
.button--small { min-height: 42px; padding: 10px 16px; font-size: .87rem; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(22,163,107,.14); }

.utility-bar { background: var(--ink); color: rgba(255,255,255,.76); font-size: .77rem; }
.utility-bar__inner { display: flex; min-height: 37px; align-items: center; justify-content: space-between; gap: 24px; }
.utility-bar p { margin: 0; }
.utility-bar__links { display: flex; gap: 22px; }
.utility-bar a:hover { color: var(--white); }
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(11,31,58,.08); background: rgba(255,255,255,.96); backdrop-filter: blur(18px); }
.site-header__inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 28px; }
.site-logo { width: 270px; max-width: 28%; }
.site-logo img { width: 100%; height: auto; aspect-ratio: 5 / 1; object-fit: contain; }
.header-nav { display: flex; align-items: center; gap: 30px; }
.primary-nav { display: flex; align-items: center; gap: 26px; }
.primary-nav a { position: relative; padding: 31px 0 27px; color: #34465b; font-size: .88rem; font-weight: 600; }
.primary-nav a::after { content: ''; position: absolute; right: 0; bottom: 19px; left: 0; height: 3px; transform: scaleX(0); transform-origin: left; background: var(--red); transition: transform .2s ease; }
.primary-nav a:hover, .primary-nav a.is-active { color: var(--ink); }
.primary-nav a:hover::after, .primary-nav a.is-active::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 16px; }
.language-link { color: var(--blue); font-size: .84rem; font-weight: 700; }
.menu-button { display: none; border: 0; background: transparent; }

.home-hero { position: relative; overflow: hidden; background: var(--blue); color: var(--white); }
.hero-animate { opacity: 0; transform: translateY(24px); animation: hero-copy-in .8s cubic-bezier(.22,1,.36,1) forwards; }
.hero-animate--1 { animation-delay: .08s; }
.hero-animate--2 { animation-delay: .2s; }
.hero-animate--3 { animation-delay: .34s; }
.hero-animate--4 { animation-delay: .48s; }
.hero-animate--5 { animation-delay: .62s; }
.hero-spray { position: absolute; z-index: 2; top: 31%; left: 44%; width: 300px; height: 110px; transform: rotate(-8deg); opacity: .7; pointer-events: none; }
.hero-spray::before { content: ''; position: absolute; inset: 20px 0 0; clip-path: polygon(0 45%, 100% 0, 100% 100%); background: linear-gradient(90deg, rgba(255,213,0,.5), rgba(255,255,255,.18) 35%, transparent 78%); filter: blur(7px); animation: spray-mist 3.2s ease-in-out infinite; }
.hero-spray span { position: absolute; left: 7%; width: 5px; height: 5px; border-radius: 50%; background: rgba(255,225,85,.9); box-shadow: 45px -18px rgba(255,255,255,.55), 92px 11px rgba(255,255,255,.35), 138px -9px rgba(255,213,0,.25); animation: spray-particle 2.6s ease-out infinite; }
.hero-spray span:nth-child(1) { top: 38%; animation-delay: 0s; }
.hero-spray span:nth-child(2) { top: 50%; animation-delay: .45s; }
.hero-spray span:nth-child(3) { top: 61%; animation-delay: .9s; }
.hero-spray span:nth-child(4) { top: 31%; animation-delay: 1.35s; }
.hero-spray span:nth-child(5) { top: 70%; animation-delay: 1.8s; }
.home-hero__grid { display: grid; min-height: clamp(570px, calc(100svh - 123px), 650px); grid-template-columns: .94fr 1.06fr; align-items: stretch; }
.home-hero__copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 56px 58px 54px 0; }
.home-hero .kicker { color: var(--white); }
.home-hero .kicker::before { background: var(--yellow); }
.home-hero h1 { max-width: 680px; margin-bottom: 22px; font-size: clamp(2.75rem, 3.85vw, 4.05rem); line-height: 1.06; text-wrap: balance; }
.home-hero__lead { max-width: 650px; margin-bottom: 28px; color: rgba(255,255,255,.86); font-size: clamp(1rem, 1.25vw, 1.16rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-trust { display: grid; margin-top: 38px; border-top: 1px solid rgba(255,255,255,.26); grid-template-columns: repeat(3, 1fr); }
.hero-trust div { padding: 18px 14px 0 0; }
.hero-trust strong, .hero-trust span { display: block; }
.hero-trust strong { margin-bottom: 3px; font-size: .88rem; }
.hero-trust span { color: rgba(255,255,255,.65); font-size: .75rem; }
.home-hero__visual { position: absolute; z-index: 0; inset: 0; width: 100%; min-height: 100%; margin: 0; }
.home-hero__visual::before { content: ''; position: absolute; z-index: 1; inset: 0; width: 100%; background: linear-gradient(90deg, #005596 0%, #005596 31%, rgba(0,85,150,.96) 40%, rgba(0,85,150,.75) 52%, rgba(0,85,150,.32) 66%, transparent 80%); }
.home-hero__visual::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(5,25,49,.04) 55%, rgba(5,25,49,.22) 100%); pointer-events: none; }
.home-hero__visual img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 72% center; animation: hero-image-drift 16s ease-in-out infinite alternate; }
.hero-visual__card { position: absolute; z-index: 2; right: 24px; bottom: 24px; display: flex; width: min(360px, calc(100% - 48px)); gap: 18px; padding: 22px; background: rgba(11,31,58,.92); }
.hero-visual__card span { color: var(--yellow); font: 700 1.2rem Manrope, sans-serif; }
.hero-visual__card p { margin: 0; color: rgba(255,255,255,.84); font-size: .9rem; }
.brand-proof { border-bottom: 1px solid var(--line); background: var(--white); }
.brand-proof__inner { display: flex; min-height: 96px; align-items: center; justify-content: space-between; gap: 40px; }
.brand-proof p { max-width: 620px; margin: 0; color: var(--muted); font-size: .9rem; }
.brand-proof__line { display: flex; align-items: center; gap: 16px; color: var(--ink-soft); font-family: Manrope, sans-serif; font-size: .82rem; }
.brand-proof__line span { width: 18px; height: 2px; background: var(--red); }

.section-intro { max-width: 780px; margin-bottom: 50px; }
.section-intro h2 { margin-bottom: 0; }
.section-intro--split { display: grid; max-width: none; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; }
.section-intro--split > p, .section-intro--split > div:last-child p { color: var(--muted); }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--line); background: var(--white); transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-card__image { position: relative; overflow: hidden; aspect-ratio: 1/1; border-bottom: 1px solid var(--line); background: #fff; }
.product-card__image::after { content: ''; position: absolute; right: 0; bottom: 0; width: 52px; height: 5px; background: linear-gradient(90deg, var(--yellow) 0 33%, var(--red) 33% 66%, var(--blue) 66%); }
.product-card__image img { width: 100%; height: 100%; padding: 28px; object-fit: contain; transition: transform .35s ease; }
.product-card:hover .product-card__image img { transform: scale(1.035); }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.product-card__category { margin-bottom: 10px; color: var(--blue); font-size: .72rem; font-weight: 700; }
.product-card h3 { margin-bottom: 12px; font-size: 1.18rem; }
.product-card h3 a:hover { color: var(--blue); }
.product-card__body > p:not(.product-card__category) { flex: 1; margin-bottom: 24px; color: var(--muted); font-size: .86rem; }
.product-card__actions { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.product-card__actions .text-link { font-size: .79rem; }
.quote-add { border: 0; border-bottom: 1px solid var(--line); padding: 3px 0; background: transparent; color: var(--muted); font-size: .76rem; font-weight: 700; }
.quote-add:hover, .quote-add.is-added { border-color: var(--red); color: var(--red); }

.home-videos { overflow: hidden; background: var(--ink); color: var(--white); }
.home-videos .kicker { color: var(--white); }
.home-videos .kicker::before { background: var(--yellow); }
.home-videos .section-intro--split > div:last-child p { color: rgba(255,255,255,.66); }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: start; gap: 20px; }
.video-card { min-width: 0; border: 1px solid rgba(255,255,255,.17); background: #102a49; }
.video-card__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #07172a; }
.video-card.is-instagram { width: 100%; max-width: 420px; justify-self: center; }
.video-card.is-instagram .video-card__media { aspect-ratio: 4/5; }
.video-card__media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-card.is-youtube .video-card__media iframe { pointer-events: none; }
.video-placeholder { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; gap: 15px; background: radial-gradient(circle at 70% 25%, rgba(0,85,150,.65), transparent 38%), linear-gradient(135deg, #102e50, #061426); }
.play-mark { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--yellow); font-size: 1.15rem; text-indent: 3px; }
.video-placeholder small { color: rgba(255,255,255,.6); font-weight: 600; }
.video-card__body { display: grid; min-height: 116px; grid-template-columns: 42px 1fr; gap: 16px; padding: 23px; }
.video-card__body > span { color: var(--yellow); font: 700 .9rem Manrope, sans-serif; }
.video-card__body h3 { margin: 0; font-size: 1.08rem; }

.experience-section { background: var(--white); }
.experience-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 86px; align-items: center; }
.experience-image { position: relative; }
.experience-image::before { content: ''; position: absolute; z-index: 1; top: -18px; right: -18px; width: 42%; height: 42%; border-top: 6px solid var(--yellow); border-right: 6px solid var(--yellow); }
.experience-image img { position: relative; z-index: 2; min-height: 590px; object-fit: cover; }
.experience-image__label { position: absolute; z-index: 3; right: -24px; bottom: 26px; padding: 20px 24px; background: var(--blue); color: var(--white); }
.experience-image__label span, .experience-image__label strong { display: block; }
.experience-image__label span { color: rgba(255,255,255,.7); font-size: .7rem; }
.experience-copy h2 { margin-bottom: 24px; }
.large-copy { color: var(--muted); font-size: 1.12rem; }
.feature-list { margin: 36px 0; border-top: 1px solid var(--line); }
.feature-list > div { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.feature-list > div > span { color: var(--red); font: 700 .85rem Manrope, sans-serif; }
.feature-list h3 { margin-bottom: 6px; font-size: 1.02rem; }
.feature-list p { margin: 0; color: var(--muted); font-size: .88rem; }
.sales-path { background: var(--blue); color: var(--white); }
.sales-path .kicker { color: var(--white); }
.sales-path .kicker::before { background: var(--yellow); }
.sales-path .section-intro--split > p { color: rgba(255,255,255,.72); }
.sales-steps { display: grid; border-top: 1px solid rgba(255,255,255,.25); grid-template-columns: repeat(4, 1fr); }
.sales-steps article { min-height: 250px; padding: 32px 28px; border-right: 1px solid rgba(255,255,255,.25); }
.sales-steps article:last-child { border-right: 0; }
.sales-steps span { color: var(--yellow); font: 700 1.1rem Manrope, sans-serif; }
.sales-steps h3 { margin: 58px 0 12px; }
.sales-steps p { margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; }
.guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.guide-card { min-height: 330px; border-top: 4px solid var(--blue); padding: 30px; background: var(--white); box-shadow: 0 16px 45px rgba(11,31,58,.07); }
.guide-card > span { color: var(--red); font: 700 1.1rem Manrope, sans-serif; }
.guide-card > p:first-of-type { margin: 34px 0 10px; color: var(--blue); font-size: .75rem; font-weight: 700; }
.guide-card h3 { margin-bottom: 14px; font-size: 1.38rem; }
.guide-card h3 a:hover { color: var(--blue); }
.guide-card > p:last-of-type { color: var(--muted); font-size: .9rem; }

.page-hero { overflow: hidden; padding: 105px 0 90px; background: var(--ink); color: var(--white); }
.page-hero__grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 110px; align-items: end; }
.page-hero h1 { max-width: 840px; margin: 0; font-size: clamp(2.55rem, 4.15vw, 4.25rem); }
.page-hero .kicker { color: var(--white); }
.page-hero .kicker::before { background: var(--yellow); }
.page-hero__grid > p { margin: 0; color: rgba(255,255,255,.7); font-size: 1.05rem; }
.page-hero--catalogue { background: linear-gradient(120deg, var(--ink), var(--blue-deep)); }
.page-hero--about { background: linear-gradient(120deg, var(--blue-deep), var(--blue)); }
.page-hero--contact { background: linear-gradient(120deg, var(--ink), #12345b); }
.page-hero--guides { background: linear-gradient(120deg, #12345b, var(--blue)); }
.catalogue-tools { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.product-search { display: flex; width: 320px; min-width: 240px; align-items: center; gap: 12px; border-bottom: 2px solid var(--ink); padding: 10px 0; }
.product-search svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-search input { width: 100%; border: 0; outline: 0; background: transparent; }
.category-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.category-filters button { border: 1px solid var(--line); padding: 9px 14px; background: var(--white); color: var(--muted); font-size: .78rem; font-weight: 700; }
.category-filters button:hover, .category-filters button.is-active { border-color: var(--blue); background: var(--blue); color: var(--white); }
.catalogue-count { margin: 34px 0 20px; color: var(--muted); font-size: .86rem; }
.catalogue-count strong { color: var(--ink); }
.empty-results { margin: 50px 0; text-align: center; }
.system-help { padding: 92px 0; background: var(--yellow); }
.system-help__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: center; }
.system-help__grid h2 { margin: 0; }
.system-help__grid > div:last-child p { margin-bottom: 24px; color: #384451; }

.product-detail { padding: 74px 0 96px; background: var(--paper); }
.product-detail__grid { display: grid; grid-template-columns: 1fr .9fr; gap: 90px; align-items: center; }
.product-detail__visual { position: relative; min-height: 580px; border: 1px solid var(--line); background: var(--white); }
.product-detail__visual img { width: 100%; height: 580px; padding: 55px; object-fit: contain; }
.product-detail__index { position: absolute; top: 20px; left: 22px; color: var(--muted); font-size: .7rem; }
.back-link { display: inline-block; margin-bottom: 38px; color: var(--blue); font-size: .85rem; font-weight: 700; }
.product-detail__copy h1 { margin-bottom: 22px; font-size: clamp(2.35rem, 3.8vw, 3.9rem); }
.product-detail__lead { color: var(--ink-soft); font-size: 1.2rem; }
.product-detail__copy > p:last-of-type { color: var(--muted); }
.stock-note { margin: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; color: var(--muted); font-size: .84rem; }
.product-detail__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.product-use-grid { display: grid; grid-template-columns: .8fr 1fr .9fr; gap: 70px; align-items: start; }
.product-use-grid h2 { margin: 0; }
.product-use-grid ul { margin: 0; padding: 0; list-style: none; }
.product-use-grid li { display: grid; grid-template-columns: 26px 1fr; gap: 10px; border-bottom: 1px solid var(--line); padding: 14px 0; }
.product-use-grid li span { color: var(--success); font-weight: 700; }
.technical-note { border-left: 5px solid var(--yellow); padding: 24px; background: var(--paper); }
.technical-note h3 { margin-bottom: 8px; }
.technical-note p { margin: 0; color: var(--muted); font-size: .88rem; }
.product-help { padding: 80px 0; background: var(--blue); color: var(--white); }
.product-help__inner { display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.product-help__inner > div { max-width: 800px; }
.product-help h2 { margin-bottom: 16px; }
.product-help p:not(.kicker) { margin: 0; color: rgba(255,255,255,.74); }
.product-help .kicker { color: var(--white); }
.product-help .kicker::before { background: var(--yellow); }

.service-feature { padding: 110px 0; }
.service-feature__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 86px; align-items: center; }
.service-feature__image img { min-height: 590px; object-fit: cover; }
.service-feature__copy { position: relative; }
.service-number { position: absolute; top: -100px; right: 0; color: #e8edf1; font: 800 9rem/1 Manrope, sans-serif; }
.service-feature__copy > *:not(.service-number) { position: relative; }
.service-feature__copy > p:not(.kicker) { color: var(--muted); }
.check-list { margin: 28px 0 34px; padding: 0; list-style: none; }
.check-list li { border-top: 1px solid var(--line); padding: 14px 0; font-weight: 600; }
.check-list li::before { content: '✓'; margin-right: 12px; color: var(--success); }
.service-cards { display: grid; grid-template-columns: repeat(4, 1fr); }
.service-cards article { min-height: 430px; border-right: 1px solid rgba(255,255,255,.18); padding: 22px 28px 30px; }
.service-cards article:first-child { padding-left: 0; }
.service-cards article:last-child { border-right: 0; padding-right: 0; }
.service-cards article > span { color: var(--yellow); font: 700 1.1rem Manrope, sans-serif; }
.service-cards h2 { margin: 90px 0 20px; font-size: 2rem; }
.service-cards p { color: rgba(255,255,255,.68); }
.service-process__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 110px; }
.service-process__grid ol { margin: 0; padding: 0; list-style: none; }
.service-process__grid li { display: grid; grid-template-columns: 54px 1fr; gap: 22px; border-top: 1px solid var(--line); padding: 26px 0; }
.service-process__grid li > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--blue); color: var(--white); font-weight: 700; }
.service-process__grid li h3 { margin-bottom: 8px; }
.service-process__grid li p { margin: 0; color: var(--muted); }

.about-story { padding: 110px 0; }
.about-story__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: center; }
.about-story__image img { min-height: 600px; object-fit: cover; }
.about-story__copy > p:not(.kicker) { color: var(--muted); font-size: 1.02rem; }
.values-section { background: var(--paper); }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.value-grid article { min-height: 270px; padding: 28px; background: var(--white); }
.value-grid article > span { color: var(--red); font-weight: 700; }
.value-grid h3 { margin: 72px 0 12px; }
.value-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.brand-relationship { padding: 100px 0; background: var(--yellow); }
.brand-relationship__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }
.brand-relationship__mark { max-width: 520px; padding: 24px 28px; background: var(--white); box-shadow: var(--shadow); }
.brand-relationship__mark img { width: 100%; height: auto; aspect-ratio: 5 / 1; object-fit: contain; }
.brand-relationship__grid > div:last-child p:not(.kicker) { color: #394652; }

.contact-section { padding: 110px 0; }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; }
.contact-details h2 { margin-bottom: 36px; }
.contact-cards { border-top: 1px solid var(--line); }
.contact-cards article { padding: 22px 0; border-bottom: 1px solid var(--line); }
.contact-cards span { display: block; margin-bottom: 7px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.contact-cards a { display: block; color: var(--blue); font-weight: 700; }
.contact-cards p { margin: 0 0 7px; color: var(--ink-soft); }
.enquiry-panel { padding: 46px; background: var(--paper); }
.enquiry-panel__heading { display: grid; grid-template-columns: 52px 1fr; gap: 18px; margin-bottom: 32px; }
.enquiry-panel__heading > span { color: var(--red); font: 700 1.15rem Manrope, sans-serif; }
.enquiry-panel__heading h2 { margin-bottom: 8px; font-size: 2rem; }
.enquiry-panel__heading p { margin: 0; color: var(--muted); font-size: .88rem; }
.enquiry-form { display: grid; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.enquiry-form label:not(.consent-check) { display: grid; gap: 8px; }
.enquiry-form label > span { font-size: .78rem; font-weight: 700; }
.enquiry-form input:not([type='checkbox']), .enquiry-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 13px 14px; outline: 0; background: var(--white); }
.enquiry-form input:focus, .enquiry-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,85,150,.1); }
.consent-check { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; color: var(--muted); font-size: .76rem; }
.consent-check input { margin-top: 4px; }
.enquiry-form .button { justify-self: start; }
.form-message { margin: 0; font-size: .84rem; font-weight: 600; }
.form-message.is-error { color: #b42318; }
.form-message.is-success { color: #067647; }
.contact-quick { padding: 90px 0; background: var(--blue); color: var(--white); }
.contact-quick__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.contact-quick .kicker { color: var(--white); }
.contact-quick .kicker::before { background: var(--yellow); }
.contact-quick__grid ul { margin: 0; padding: 0; list-style: none; }
.contact-quick__grid li { display: grid; grid-template-columns: 44px 1fr; border-top: 1px solid rgba(255,255,255,.22); padding: 14px 0; }
.contact-quick__grid li span { color: var(--yellow); font-weight: 700; }

.guide-list { border-top: 1px solid var(--line); }
.guide-list__item { display: grid; grid-template-columns: 100px 1fr 62px; gap: 36px; align-items: center; border-bottom: 1px solid var(--line); padding: 48px 8px; }
.guide-list__number { color: var(--red); font: 700 1.3rem Manrope, sans-serif; }
.guide-list__item h2 { margin-bottom: 14px; font-size: clamp(1.7rem, 3vw, 2.8rem); }
.guide-list__item h2 a:hover { color: var(--blue); }
.guide-list__item p:not(.kicker) { max-width: 760px; margin: 0; color: var(--muted); }
.circle-link { display: grid; width: 56px; height: 56px; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font-size: 1.35rem; }
.circle-link:hover { border-color: var(--red); background: var(--red); color: var(--white); }
.guide-question { padding: 86px 0; background: var(--yellow); }
.guide-question__inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.guide-question__inner > div { max-width: 820px; }
.article-header { padding: 100px 0 80px; background: linear-gradient(120deg, var(--ink), var(--blue-deep)); color: var(--white); }
.article-header__inner { max-width: 940px; }
.article-header .back-link, .article-header .kicker { color: rgba(255,255,255,.76); }
.article-header .kicker::before { background: var(--yellow); }
.article-header h1 { margin-bottom: 26px; }
.article-header__inner > p:last-child { max-width: 740px; color: rgba(255,255,255,.74); font-size: 1.12rem; }
.article-layout { display: grid; grid-template-columns: 280px 1fr; gap: 90px; padding-top: 90px; padding-bottom: 110px; }
.article-layout aside { position: sticky; top: 120px; align-self: start; border-left: 3px solid var(--yellow); padding-left: 24px; }
.article-layout aside > span { display: block; margin-bottom: 16px; font-weight: 700; }
.article-layout aside ol { margin: 0; padding-left: 19px; color: var(--muted); font-size: .85rem; }
.article-layout aside li { margin-bottom: 10px; }
.article-layout aside a:hover { color: var(--blue); }
.article-body { max-width: 760px; }
.article-body > section { scroll-margin-top: 120px; margin-bottom: 62px; }
.article-body > section > span { color: var(--red); font: 700 1rem Manrope, sans-serif; }
.article-body h2 { margin: 14px 0 18px; font-size: 2.25rem; }
.article-body p { color: var(--muted); font-size: 1.05rem; line-height: 1.8; }
.article-note { margin-top: 70px; border-left: 6px solid var(--yellow); padding: 34px; background: var(--paper); }
.article-note h2 { margin-top: 0; }
.legal-page { padding: 105px 0 120px; }
.legal-page__inner { max-width: 800px; }
.legal-page h1 { margin-bottom: 26px; }
.legal-lead { margin-bottom: 60px; color: var(--ink-soft); font-size: 1.25rem; }
.legal-page section { border-top: 1px solid var(--line); padding: 34px 0; }
.legal-page section h2 { font-size: 1.55rem; }
.legal-page section p { margin: 0; color: var(--muted); }
.legal-page section a { color: var(--blue); font-weight: 700; }
.not-found { padding: 120px 0; background: var(--paper); text-align: center; }
.not-found__inner { max-width: 820px; }
.not-found__inner > span { display: block; color: var(--line); font: 800 clamp(7rem, 20vw, 14rem)/.8 Manrope, sans-serif; }
.not-found h1 { margin: 30px 0 20px; }
.not-found__inner > p:not(.kicker) { color: var(--muted); }
.not-found__inner > div { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }

.footer-cta { padding: 78px 0; background: var(--red); color: var(--white); }
.footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.footer-cta__inner > div { max-width: 850px; }
.footer-cta h2 { margin: 0; font-size: clamp(1.9rem, 3.1vw, 3.05rem); }
.footer-cta .kicker { color: var(--white); }
.footer-cta .kicker::before { background: var(--yellow); }
.site-footer { background: #061426; color: var(--white); }
.footer-main { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; padding-top: 85px; padding-bottom: 62px; }
.footer-logo-panel { width: min(100%, 360px); padding: 15px 18px; background: var(--white); }
.footer-logo-panel img { width: 100%; height: auto; aspect-ratio: 5 / 1; object-fit: contain; }
.footer-brand > p { max-width: 470px; margin: 25px 0; color: rgba(255,255,255,.6); font-size: .9rem; }
.footer-contact-line { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-contact-line a { color: var(--white); font-weight: 700; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; }
.footer-links h3 { margin-bottom: 20px; color: var(--yellow); font-size: .86rem; }
.footer-links a, .footer-links p { display: block; margin: 0 0 10px; color: rgba(255,255,255,.65); font-size: .83rem; }
.footer-links a:hover { color: var(--white); }
.footer-map { font-weight: 700; }
.newsletter-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); padding-top: 38px; padding-bottom: 38px; }
.newsletter-panel h3 { margin-bottom: 8px; font-size: 1.18rem; }
.newsletter-panel p { margin: 0; color: rgba(255,255,255,.56); font-size: .82rem; }
.newsletter-form__row { display: grid; grid-template-columns: 1fr auto; }
.newsletter-form input { min-width: 0; border: 1px solid rgba(255,255,255,.24); border-right: 0; padding: 14px 16px; outline: 0; background: rgba(255,255,255,.06); color: var(--white); }
.newsletter-form input::placeholder { color: rgba(255,255,255,.45); }
.newsletter-form input:focus { border-color: var(--yellow); }
.newsletter-form button { border: 0; padding: 12px 20px; background: var(--yellow); color: var(--ink); font-weight: 700; }
.newsletter-form small { display: block; margin-top: 8px; color: rgba(255,255,255,.42); font-size: .68rem; }
.newsletter-form .form-message { margin-top: 6px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 25px; padding-bottom: 25px; color: rgba(255,255,255,.48); font-size: .72rem; }
.footer-bottom p { margin: 0; }
.footer-bottom > div { display: flex; gap: 18px; }
.footer-bottom a:hover { color: var(--white); }

.reveal-item { opacity: 0; transform: translateY(34px); transition: opacity .75s ease var(--reveal-delay, 0ms), transform .75s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms); }
.reveal-item.is-visible { opacity: 1; transform: none; }
.product-card, .guide-card, .service-cards article { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.product-card:hover, .guide-card:hover { transform: translateY(-7px); box-shadow: 0 22px 48px rgba(11,31,58,.14); }
.service-cards article:hover { transform: translateY(-5px); border-color: rgba(255,213,0,.65); }

@keyframes hero-copy-in { to { opacity: 1; transform: none; } }
@keyframes hero-image-drift { from { transform: scale(1.01); } to { transform: scale(1.055); } }
@keyframes spray-mist { 0%, 100% { opacity: .35; transform: scaleX(.78); } 50% { opacity: .78; transform: scaleX(1.06); } }
@keyframes spray-particle { 0% { opacity: 0; transform: translate(0,0) scale(.6); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(205px,-12px) scale(1.35); } }

.quote-trigger { position: fixed; z-index: 90; right: 22px; bottom: 20px; display: flex; align-items: center; gap: 10px; border: 0; padding: 12px 14px 12px 18px; background: var(--ink); color: var(--white); box-shadow: 0 10px 35px rgba(11,31,58,.28); font-size: .82rem; font-weight: 700; }
.quote-trigger b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--ink); }
.quote-drawer { position: fixed; z-index: 500; top: 0; right: 0; bottom: 0; width: min(460px, 100%); transform: translateX(105%); overflow-y: auto; padding: 30px; background: var(--white); box-shadow: -30px 0 80px rgba(11,31,58,.2); transition: transform .3s ease; }
.quote-drawer.is-open { transform: translateX(0); }
.quote-drawer__header { display: flex; align-items: start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding-bottom: 22px; }
.quote-drawer__header .kicker { margin-bottom: 8px; }
.quote-drawer__header h2 { margin: 0; font-size: 1.75rem; }
.quote-drawer__header button { border: 0; background: transparent; font-size: 2rem; line-height: 1; }
.quote-drawer__items { display: grid; gap: 1px; margin-top: 24px; background: var(--line); }
.quote-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px; background: var(--paper); }
.quote-item span { font-weight: 700; }
.quote-item button { border: 0; background: transparent; color: var(--red); font-size: .75rem; font-weight: 700; }
.quote-drawer__empty { padding: 48px 0; color: var(--muted); text-align: center; }
.quote-drawer__send { width: 100%; margin-top: 24px; }
.drawer-scrim { position: fixed; z-index: 450; inset: 0; visibility: hidden; opacity: 0; background: rgba(6,20,38,.62); transition: opacity .3s ease, visibility .3s ease; }
.drawer-scrim.is-open { visibility: visible; opacity: 1; }

@media (max-width: 1120px) {
  .site-logo { width: 230px; }
  .header-nav { gap: 18px; }
  .primary-nav { gap: 16px; }
  .primary-nav a { font-size: .8rem; }
  .home-hero__grid { min-height: 590px; }
  .home-hero__copy { padding-right: 38px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-grid--featured .product-card:nth-child(n+7) { display: none; }
  .service-cards { grid-template-columns: repeat(2, 1fr); }
  .service-cards article { min-height: 340px; border-bottom: 1px solid rgba(255,255,255,.18); }
}

@media (max-width: 900px) {
  .section { padding: 82px 0; }
  .utility-bar__links a:last-child { display: none; }
  .site-header__inner { min-height: 76px; }
  .site-logo { max-width: none; width: min(280px, calc(100% - 90px)); }
  .menu-button { display: grid; width: 46px; height: 46px; place-content: center; gap: 5px; }
  .menu-button span { display: block; width: 23px; height: 2px; background: var(--ink); }
  .menu-button b { position: absolute; width: 1px; height: 1px; overflow: hidden; }
  .header-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; border-top: 1px solid var(--line); padding: 22px 24px 28px; background: var(--white); box-shadow: 0 25px 35px rgba(11,31,58,.12); }
  .header-nav.is-open { display: block; }
  .primary-nav { display: grid; gap: 0; }
  .primary-nav a { border-bottom: 1px solid var(--line); padding: 13px 0; font-size: .94rem; }
  .primary-nav a::after { display: none; }
  .header-actions { margin-top: 20px; justify-content: space-between; }
  .home-hero { position: relative; background: var(--blue-deep); }
  .home-hero__grid { position: relative; width: 100%; min-height: 650px; grid-template-columns: 1fr; }
  .home-hero__copy { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; padding: 64px 0 50px; }
  .home-hero__visual { position: absolute; z-index: 0; inset: 0; width: auto; min-height: 0; margin-left: 0; }
  .home-hero__visual::before { inset: 0; width: auto; background: linear-gradient(90deg, rgba(0,49,91,.97) 0%, rgba(0,61,112,.9) 58%, rgba(0,61,112,.58) 100%); }
  .home-hero__visual::after { background: linear-gradient(180deg, rgba(3,22,44,.14), rgba(3,22,44,.58)); }
  .home-hero__visual img { width: 100%; height: 100%; opacity: .72; object-position: 66% center; }
  .hero-spray { top: 27%; left: 35%; transform: rotate(-5deg) scale(.78); transform-origin: left center; opacity: .45; }
  .hero-visual__card { display: none; }
  .brand-proof__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 24px 0; }
  .section-intro--split, .page-hero__grid, .system-help__grid, .experience-grid, .product-detail__grid, .service-feature__grid, .service-process__grid, .about-story__grid, .brand-relationship__grid, .contact-grid, .contact-quick__grid { grid-template-columns: 1fr; gap: 42px; }
  .page-hero { padding: 78px 0 70px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience-image img, .about-story__image img, .service-feature__image img { min-height: 460px; }
  .sales-steps { grid-template-columns: repeat(2, 1fr); }
  .sales-steps article { border-bottom: 1px solid rgba(255,255,255,.25); }
  .guide-grid { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: 1fr; }
  .catalogue-tools { align-items: stretch; flex-direction: column; }
  .product-search { width: 100%; }
  .category-filters { justify-content: flex-start; }
  .product-detail__visual, .product-detail__visual img { min-height: 480px; height: 480px; }
  .product-use-grid { grid-template-columns: 1fr; gap: 36px; }
  .service-cards { grid-template-columns: 1fr; }
  .service-cards article, .service-cards article:first-child, .service-cards article:last-child { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); padding: 32px 0; }
  .service-cards article:last-child { border-bottom: 0; }
  .service-cards h2 { margin-top: 30px; }
  .value-grid { grid-template-columns: repeat(2, 1fr); }
  .article-layout { grid-template-columns: 1fr; gap: 45px; }
  .article-layout aside { position: static; }
  .footer-main, .newsletter-panel { grid-template-columns: 1fr; gap: 45px; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 68px 0; }
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.85rem; }
  .utility-bar__inner { justify-content: center; text-align: center; }
  .utility-bar { font-size: .7rem; }
  .utility-bar__links { display: none; }
  .site-logo { width: min(225px, calc(100% - 68px)); }
  .home-hero__grid { min-height: 620px; }
  .home-hero__copy { width: calc(100% - 32px); padding: 52px 0 38px; }
  .home-hero h1 { margin-bottom: 18px; font-size: clamp(2rem, 10vw, 2.35rem); line-height: 1.07; }
  .home-hero__lead { margin-bottom: 24px; font-size: .98rem; line-height: 1.55; }
  .hero-actions { display: grid; }
  .hero-trust { margin-top: 30px; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .hero-trust div { padding: 13px 4px 0 0; }
  .hero-trust strong { font-size: .72rem; line-height: 1.35; }
  .hero-trust span { font-size: .63rem; line-height: 1.35; }
  .brand-proof__line { flex-wrap: wrap; }
  .product-grid, .product-grid--three { grid-template-columns: 1fr; }
  .product-grid--featured .product-card:nth-child(n+5) { display: none; }
  .experience-image img, .about-story__image img, .service-feature__image img { min-height: 370px; }
  .experience-image__label { right: -8px; }
  .sales-steps { grid-template-columns: 1fr; }
  .sales-steps article { min-height: 220px; border-right: 0; }
  .page-hero h1 { font-size: 2.55rem; }
  .category-filters { flex-wrap: nowrap; margin-right: -16px; padding-right: 16px; overflow-x: auto; }
  .category-filters button { flex: 0 0 auto; }
  .product-detail { padding: 42px 0 68px; }
  .product-detail__visual, .product-detail__visual img { min-height: 340px; height: 340px; }
  .product-detail__visual img { padding: 38px; }
  .product-detail__actions { display: grid; }
  .product-help__inner, .footer-cta__inner, .guide-question__inner { align-items: flex-start; flex-direction: column; }
  .value-grid { grid-template-columns: 1fr; }
  .service-number { top: -50px; font-size: 6rem; }
  .enquiry-panel { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; }
  .guide-list__item { grid-template-columns: 50px 1fr; gap: 16px; }
  .guide-list__item .circle-link { display: none; }
  .article-header { padding: 68px 0; }
  .article-header h1 { font-size: 2.5rem; }
  .article-layout { padding-top: 58px; padding-bottom: 75px; }
  .article-body h2 { font-size: 1.75rem; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .newsletter-form__row { grid-template-columns: 1fr; gap: 8px; }
  .newsletter-form input { border-right: 1px solid rgba(255,255,255,.24); }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .quote-trigger { right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .hero-animate, .reveal-item { opacity: 1; transform: none; }
}
