/* V7: Arial, a clear product route and compact print-specific presentation. */
body.brand-system{font-family:Arial,sans-serif;color:#172d46}
body.brand-system h1,body.brand-system h2,body.brand-system h3{letter-spacing:-.025em}
body.brand-system p{line-height:1.65}
body.brand-system .brand-wordmark{width:220px;height:auto;flex:none}
body.brand-system .brand{padding-block:0}
body.brand-system .nav-list{font-size:14px}
body.brand-system .nav-contact{background:#1d4d80;color:#fff;border-radius:5px;padding:11px 17px;font-weight:600}
body.brand-system .nav-contact:hover{background:#172d46;color:#fff}
body.brand-system .nav-contact:focus-visible{outline-offset:4px}
body.brand-system .product-copy h1{font-size:clamp(32px,3.5vw,48px);line-height:1.15}
/* Logical DOM order starts with the product and price route on every device. */
body.brand-system .product-layout{display:grid;grid-template-columns:1.1fr 1fr;grid-template-areas:"gallery summary" "gallery information";column-gap:60px;row-gap:0;align-items:start}
body.brand-system .product-summary{grid-area:summary}
body.brand-system .product-layout>.product-gallery{grid-area:gallery}
body.brand-system .product-information{grid-area:information;min-width:0}
body.brand-system .section-head h2{font-size:30px;line-height:1.2}
body.brand-system :is(.product-card,.category-card,.production-card) h3{font-weight:500;letter-spacing:-.015em}
body.brand-system .footer-intro{max-width:30ch}
body.brand-system .quote-panel .button+.button{margin-top:10px}

body.brand-system.home-page .home-showcase{padding:28px 0 20px}
body.brand-system.home-page .showcase-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:28px}
body.brand-system.home-page .showcase-heading h1{font-size:clamp(27px,2.65vw,36px);line-height:1.18;max-width:29ch;font-weight:600;text-wrap:pretty}
body.brand-system.home-page .showcase-heading-actions{display:flex;align-items:center;gap:18px;flex:none}
body.brand-system.home-page .showcase-heading .text-link{font-size:14px;white-space:nowrap;min-height:44px}
body.brand-system.home-page .showcase-heading .showcase-quote{display:none}
body.brand-system.home-page .showcase-stage,body.brand-system.home-page .showcase-slide{min-height:300px}
body.brand-system.home-page .showcase-slide{grid-template-columns:.8fr 1.2fr;gap:44px}
body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:clamp(34px,3.4vw,47px);font-weight:400;line-height:1.12;max-width:13ch}
body.brand-system.home-page .showcase-copy p{font-size:17px;line-height:1.6;min-height:82px;margin-top:18px;max-width:37ch}
body.brand-system.home-page .showcase-copy .actions{margin-top:18px}
body.brand-system.home-page .showcase-copy .button{min-height:40px;padding:8px 13px;font-size:13px;gap:10px}
body.brand-system.home-page .showcase-copy .button .action-direction{width:18px;height:18px}
body.brand-system.home-page .showcase-visual{height:300px;border-radius:8px}
/* WCAG 2.2.2: the compact icon has a full 44px pointer/keyboard target and an explicit name. */
body.brand-system.home-page .showcase-controls{display:flex;align-items:center;gap:12px;margin-top:16px}
body.brand-system.home-page .showcase-choices{flex:1;min-width:0}
body.brand-system.home-page .showcase-choice{font-size:14px;min-height:44px;padding:10px 6px}
body.brand-system.home-page .showcase-pause{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:#1d4d80;font:600 16px/1 Arial,sans-serif}
body.brand-system.home-page .showcase-pause:hover{background:#eef4f8}
body.brand-system.home-page .showcase-pause:focus-visible{outline-offset:2px}
body.brand-system.home-page .showcase-slide.is-active .showcase-copy{animation:none}
body.brand-system.home-page .showcase-slide.is-active .showcase-visual{animation:none}

body.brand-system.home-page :is(.home-categories,.home-catalogue,.home-production){padding:38px 0 44px}
body.brand-system.home-page .section-head{margin-bottom:25px;gap:20px}
body.brand-system.home-page .section-head h2{font-size:29px;font-weight:500}
body.brand-system.home-page .section-head>.text-link{font-size:14px;min-height:44px;white-space:nowrap}
body.brand-system.home-page :is(.category-grid,.product-grid,.production-grid){column-gap:28px;row-gap:30px}
body.brand-system.home-page :is(.category-card,.product-card,.production-card) h3{font-size:20px;line-height:1.3;margin-top:13px}
body.brand-system.home-page :is(.category-card,.production-card) p{font-size:14px;line-height:1.6;margin-top:7px}
body.brand-system.home-page .category-photo{aspect-ratio:1.5}
body.brand-system.home-page .pvc-strip{margin-top:28px;padding-block:20px;gap:26px}
body.brand-system.home-page .pvc-strip-copy strong{font-size:29px}
body.brand-system.home-page .pvc-strip-photo{height:125px}
body.brand-system.home-page .home-catalogue .catalogue-strip{padding:0;background:none;border:0}

body.brand-system.home-page .home-references{padding:22px 0;border-block:1px solid #d6e0e8;background:#f7f9fb}
body.brand-system.home-page .reference-strip{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:25px;align-items:center}
body.brand-system.home-page .reference-intro h2{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.015em}
body.brand-system.home-page .reference-intro p{font-size:12px;line-height:1.5;color:#4b6177;margin-top:6px}
body.brand-system.home-page .reference-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
body.brand-system.home-page .reference-card{height:54px;display:grid;place-items:center}
body.brand-system.home-page .reference-card img{width:88px;height:46px;max-width:100%;object-fit:contain}
body.brand-system.home-page .reference-strip>.text-link{font-size:13px;border:0;padding:0;min-height:44px}

body.brand-system.home-page .bridge-packaging .wrap{grid-template-columns:1fr 1fr;min-height:250px;gap:55px}
body.brand-system.home-page .bridge-photo{margin:0;align-self:center;overflow:hidden;border-radius:8px}
body.brand-system.home-page .bridge-photo>img{height:225px;object-fit:cover;object-position:50% 50%;mix-blend-mode:normal}
body.brand-system.home-page .bridge-copy{padding-block:25px}
body.brand-system.home-page .bridge-copy h2{font-size:34px;line-height:1.15;max-width:18ch}
body.brand-system.home-page .bridge-copy p{font-size:15px;margin-top:14px}
body.brand-system.home-page .bridge-copy .text-link{min-height:44px;margin-top:12px}
body.brand-system.home-page .production-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:0}
body.brand-system.home-page .production-heading p{font-size:15px;color:#4b6177;max-width:60ch;margin-top:10px}
body.brand-system.home-page .production-heading .text-link{font-size:14px;min-height:44px;margin-top:4px}
body.brand-system.home-page .home-cmy-emblem{width:110px;height:110px;flex:none}
body.brand-system.home-page .home-cmy-emblem>.cmy-heritage-mark{width:110px;height:110px}
body.brand-system.home-page .trust-process{margin:0;padding:32px 0}
body.brand-system.home-page .trust-process-top h2{font-size:29px;line-height:1.2}
body.brand-system.home-page .trust-process-steps{margin-top:22px}
body.brand-system.home-page .contact-band{padding-block:32px}
body.brand-system.home-page .contact-band h2{font-size:32px;line-height:1.2}

@media(max-width:1000px){
 body.brand-system .product-layout{column-gap:32px}
 body.brand-system.home-page .showcase-slide{gap:28px}
 body.brand-system.home-page .reference-strip{grid-template-columns:170px minmax(0,1fr);gap:15px 25px}
 body.brand-system.home-page .reference-strip>.text-link{grid-column:1/-1;justify-self:end;min-height:28px}
 body.brand-system.home-page .reference-card img{width:74px}
}
@media(max-width:850px){
 body.brand-system .product-layout{grid-template-columns:1fr;grid-template-areas:"summary" "gallery" "information";row-gap:25px}
 body.brand-system .product-information .product-uses{margin-top:0}
 body.brand-system .site-nav .nav-contact{display:flex;align-items:center;justify-content:center;margin-top:8px;min-height:44px}
 body.brand-system.home-page .showcase-heading{gap:18px}
 body.brand-system.home-page .showcase-heading h1{font-size:29px}
 body.brand-system.home-page .showcase-heading .showcase-quote{display:inline-flex}
 body.brand-system.home-page .showcase-heading{flex-wrap:wrap}
 body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:35px}
 body.brand-system.home-page .showcase-copy p{font-size:16px}
 body.brand-system.home-page .showcase-visual{height:285px}
}
@media(max-width:600px){
 body.brand-system .brand-wordmark{width:min(200px,calc(100vw - 140px))}
 body.brand-system .header-inner{min-height:76px}
 body.brand-system .section-head h2{font-size:26px}
 body.brand-system.home-page .home-showcase{padding:22px 0 12px}
 body.brand-system.home-page .showcase-heading{display:block;margin-bottom:23px}
 body.brand-system.home-page .showcase-heading h1{font-size:27px;line-height:1.2;max-width:25ch}
 body.brand-system.home-page .showcase-heading-actions{gap:18px;margin-top:6px;flex-wrap:wrap}
 body.brand-system.home-page .showcase-heading .text-link{display:inline-flex;min-height:44px;font-size:13px}
 body.brand-system.home-page .showcase-stage,body.brand-system.home-page .showcase-slide{min-height:0}
 body.brand-system.home-page .showcase-slide{display:flex;gap:17px}
 body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:29px;max-width:none}
 body.brand-system.home-page .showcase-copy p{font-size:15px;line-height:1.55;min-height:48px;margin-top:10px;max-width:42ch}
 body.brand-system.home-page .showcase-copy .actions{margin-top:11px}
 body.brand-system.home-page .showcase-copy .button{font-size:12px;min-height:38px;padding:7px 11px}
 body.brand-system.home-page .showcase-visual{height:190px}
 body.brand-system.home-page .showcase-controls{gap:6px;margin-top:10px;align-items:start}
 body.brand-system.home-page .showcase-choices{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:2px}
 body.brand-system.home-page .showcase-choice{font-size:12px;line-height:1.3;min-height:38px;padding:8px 5px;border-bottom-width:2px}
 body.brand-system.home-page .showcase-pause{font-size:14px}
 body.brand-system.home-page :is(.home-categories,.home-catalogue,.home-production){padding:27px 0 32px}
 body.brand-system.home-page .section-head{gap:12px;margin-bottom:20px;align-items:center}
 body.brand-system.home-page .section-head h2{font-size:24px;line-height:1.2}
 body.brand-system.home-page .section-head>.text-link{font-size:12px;min-height:36px}
 body.brand-system.home-page :is(.category-grid,.product-grid,.production-grid){column-gap:18px;row-gap:26px}
 body.brand-system.home-page :is(.category-card,.product-card,.production-card) h3{font-size:18px;line-height:1.3;margin-top:10px}
 body.brand-system.home-page :is(.category-card,.production-card) p{font-size:14px;line-height:1.55;margin-top:7px}
 body.brand-system.home-page .category-photo{aspect-ratio:1.45}
 body.brand-system.home-page .pvc-strip{padding-block:18px;gap:16px 12px;margin-top:24px}
 body.brand-system.home-page .pvc-strip-copy strong{font-size:24px}
 body.brand-system.home-page .pvc-strip-photo{height:auto}
 body.brand-system.home-page .home-references{padding:20px 0}
 body.brand-system.home-page .reference-strip{grid-template-columns:1fr;gap:12px}
 body.brand-system.home-page .reference-intro h2{font-size:18px}
 body.brand-system.home-page .reference-intro p{font-size:13px}
 body.brand-system.home-page .reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}
 body.brand-system.home-page .reference-card{height:45px}
 body.brand-system.home-page .reference-card img{width:92px;height:43px}
 body.brand-system.home-page .reference-strip>.text-link{grid-column:auto;justify-self:start;min-height:32px}
 body.brand-system.home-page .bridge-packaging .wrap{grid-template-columns:1fr;gap:0;padding-block:0 22px}
 body.brand-system.home-page .bridge-copy{grid-row:1;padding:24px 0 14px}
 body.brand-system.home-page .bridge-copy h2{font-size:28px;max-width:20ch}
 body.brand-system.home-page .bridge-copy p{font-size:14px;margin-top:12px}
 body.brand-system.home-page .bridge-photo{grid-row:2}
 body.brand-system.home-page .bridge-photo>img{height:200px}
 body.brand-system.home-page .production-heading{align-items:start;gap:12px}
 body.brand-system.home-page .production-heading p{font-size:14px;margin-top:8px}
 body.brand-system.home-page .production-heading .text-link{font-size:13px}
 body.brand-system.home-page .home-cmy-emblem,body.brand-system.home-page .home-cmy-emblem>.cmy-heritage-mark{width:66px;height:66px}
 body.brand-system.home-page .trust-process{padding:26px 0}
 body.brand-system.home-page .trust-process-top{align-items:start;gap:14px}
 body.brand-system.home-page .trust-process-top h2{font-size:25px;line-height:1.2}
 body.brand-system.home-page .trust-process-top>.text-link{font-size:13px}
 body.brand-system.home-page .trust-process-steps{margin-top:20px}
 body.brand-system.home-page .contact-band{padding-block:28px}
 body.brand-system.home-page .contact-band h2{font-size:28px}
 body.brand-system .site-footer{padding-top:34px}
}
/* WCAG 2.3.3: respect reduced motion across V7's decorative and navigation effects. */
@media(prefers-reduced-motion:reduce){body.brand-system *,body.brand-system *::before,body.brand-system *::after{scroll-behavior:auto;animation:none!important;transition:none!important}}

/* 15 October: Arial, smaller full logos, and a framed slider inside the existing layout. */
body.brand-system{
 --heading-1:clamp(30px,3.3vw,42px);
 --heading-2:clamp(24px,2.35vw,30px);
 font-family:Arial,sans-serif;
}
body.brand-system .site-header .brand-wordmark{width:180px}
body.brand-system .site-footer .brand-wordmark{width:160px}
body.brand-system h1,
body.brand-system .page-heading h1,
body.brand-system .product-copy h1,
body.brand-system .about-story h1{
 font-size:var(--heading-1);line-height:1.15;letter-spacing:-.025em;
}
body.brand-system .section-head h2,
body.brand-system.home-page .section-head h2,
body.brand-system.home-page .trust-process-top h2,
body.brand-system .contact-band h2,
body.brand-system.home-page .contact-band h2,
body.brand-system .related-section h2,
body.brand-system .quote-panel h2,
body.brand-system .about-story h2{
 font-size:var(--heading-2);line-height:1.2;letter-spacing:-.02em;
}
body.brand-system :is(.product-card,.category-card,.production-card) h3,
body.brand-system.home-page :is(.product-card,.category-card,.production-card) h3{
 font-size:20px;line-height:1.3;letter-spacing:-.015em;
}
body.brand-system :is(.product-card,.category-card,.production-card) p,
body.brand-system.home-page :is(.product-card,.category-card,.production-card) p{
 font-size:14px;line-height:1.6;
}
body.brand-system .intro{font-size:17px;line-height:1.65}
body.brand-system .product-copy>.intro{font-size:16px;line-height:1.7}
body.brand-system .about-story .about-prose{font-size:16px;line-height:1.75}
body.brand-system.home-page .showcase-heading h1{font-size:clamp(26px,2.5vw,32px);line-height:1.2}
body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:clamp(30px,3.2vw,40px);line-height:1.15}
body.brand-system.home-page .showcase-copy p{font-size:16px;line-height:1.6}
@media(max-width:600px){
 body.brand-system .site-header .brand-wordmark{width:min(160px,calc(100vw - 140px))}
 body.brand-system .site-footer .brand-wordmark{width:150px}
 body.brand-system :is(.product-card,.category-card,.production-card) h3,
 body.brand-system.home-page :is(.product-card,.category-card,.production-card) h3{font-size:18px}
 body.brand-system :is(.product-card,.category-card,.production-card) p,
 body.brand-system.home-page :is(.product-card,.category-card,.production-card) p{font-size:13px}
 body.brand-system .intro{font-size:16px}
 body.brand-system.home-page .showcase-heading h1{font-size:26px}
 body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:28px}
 body.brand-system.home-page .showcase-copy p{font-size:15px}
}

/* Selected refinement 2: gentle depth on the existing photos and controls. */
body.brand-system{
 --refinement-blue:#245577;--pale:#eff5f8;--line:#cddce5;--muted:#4b6177;
 --gold:#d8b86a;--gold-line:#af862e;background-color:#fff;
}
body.brand-system :is(.page-heading,.about-opening){background-color:#f4f8fb}
body.brand-system :is(.category-photo,.product-photo,.product-gallery-main,.bridge-photo),
body.brand-system .production-grid .production-card .catalog-image-frame,
body.brand-system :is(.production-card>a>img,.method-intro>figure>img,.equipment-grid img){
 border-radius:12px;box-shadow:0 0 0 1px #dce7ee,0 4px 16px rgb(23 45 70 / .045);
}
body.brand-system.home-page :is(.home-references,.bridge-packaging,.trust-process){background-color:#eff5f8;border-color:#cddce5}
body.brand-system .catalogue-tools{background-color:#f7fafc;border-color:#cddce5;border-radius:8px;box-shadow:inset 0 0 0 1px #e2ebf0;padding-inline:16px}
body.brand-system :is(.field input,.field select,.field textarea){background-color:#fff;border-color:#8094a3;border-radius:8px}
body.brand-system .category-jumps a{background-color:#fff;border-color:#cddce5;border-radius:6px}
body.brand-system .category-jumps a[aria-current=page]{background-color:#245577;border-color:#245577;color:#fff}
body.brand-system .button:not(.secondary),body.brand-system .nav-contact{background-color:#245577;border-color:#245577;color:#fff;border-radius:6px}
body.brand-system .button.secondary{background-color:#fff;border-color:#cddce5;color:#245577;border-radius:6px}
body.brand-system :is(.text-link,.product-actions .price){color:#245577}
body.brand-system :is(.button:not(.secondary),.nav-contact):hover{background-color:#172d46}
body.brand-system .button.secondary:hover{background-color:#eff5f8;border-color:#245577}
body.brand-system.home-page .pvc-strip{background-color:#fff;box-shadow:none}
body.brand-system .contact-band .button{background-color:var(--gold);border-color:var(--gold);color:#172d46}
body.brand-system .contact-band .button:hover{background-color:#e5cc90;border-color:#e5cc90;color:#172d46}
body.brand-system :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#245577}
body.brand-system .contact-band .button:focus-visible{outline-color:#fff}

/* Reference opening: white navigation, concise company band, one shared slider panel. */
body.brand-system .nav-list>li>a[aria-current=page]{color:#172d46;box-shadow:inset 0 -2px var(--gold-line)}
body.brand-system .nav-group>summary:has(+.nav-panel a[aria-current=page]){box-shadow:inset 0 -2px var(--gold-line)}
body.brand-system.home-page .home-showcase{background:#fff;padding:32px 0 20px}
body.brand-system.home-page .showcase-shell{width:min(calc(100% - var(--gutter)*2),var(--max));padding:0;background:#f3f4f6;border:1px solid #dce3ea;border-radius:20px;box-shadow:0 6px 24px rgb(23 45 70 / .035)}
body.brand-system.home-page .showcase-stage{padding:36px 38px 30px;min-height:426px}
body.brand-system.home-page .showcase-slide{grid-template-columns:.8fr 1.2fr;gap:42px;min-height:360px}
body.brand-system.home-page .showcase-copy{padding:8px 0}
body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:clamp(34px,3.75vw,52px);font-weight:400;line-height:1.12;letter-spacing:-.025em}
body.brand-system.home-page .showcase-copy p{font-size:17px;line-height:1.65;min-height:0;margin-top:26px;max-width:35ch}
body.brand-system.home-page .showcase-copy .actions{margin-top:30px}
body.brand-system.home-page .showcase-visual{height:360px;border-radius:14px;box-shadow:0 0 0 1px rgb(23 45 70 / .035),0 4px 16px rgb(23 45 70 / .035)}
body.brand-system.home-page .showcase-controls{gap:10px;margin:0;padding:0 12px 0 24px;border-top:1px solid #dce3ea;border-radius:0 0 20px 20px}
body.brand-system.home-page .showcase-choices{border:0}
body.brand-system.home-page .showcase-choice{font-size:14px;min-height:58px;padding:14px 8px;background:transparent;border-bottom-width:3px}
body.brand-system.home-page .showcase-choice:hover{background:#e9edf1;color:#172d46}
body.brand-system.home-page .showcase-choice[aria-pressed=true]{background:transparent;color:#172d46;border-bottom-color:var(--gold-line);font-weight:700}
body.brand-system.home-page .showcase-pause{color:#245577}
body.brand-system.home-page .showcase-pause:hover{background:#e5ebf0}

@media(max-width:1150px){
 body.brand-system.home-page .showcase-stage{padding:28px;min-height:376px}
 body.brand-system.home-page .showcase-slide{gap:30px;min-height:320px}
 body.brand-system.home-page .showcase-visual{height:320px}
 body.brand-system.home-page .showcase-copy p{font-size:16px;margin-top:20px}
}
@media(max-width:850px){
 body.brand-system.home-page .showcase-stage{padding:24px;min-height:348px}
 body.brand-system.home-page .showcase-slide{grid-template-columns:.85fr 1.15fr;gap:24px;min-height:300px}
 body.brand-system.home-page .showcase-visual{height:300px}
 body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:34px}
 body.brand-system.home-page .showcase-copy p{font-size:15px}
 body.brand-system.home-page .showcase-copy .actions{margin-top:22px}
 body.brand-system.home-page .showcase-controls{padding-inline:10px;gap:4px}
 body.brand-system.home-page .showcase-choice{font-size:13px;padding-inline:4px;min-height:54px}
}
@media(max-width:600px){
 body.brand-system.home-page .home-showcase{padding:20px 0 12px}
 body.brand-system.home-page .showcase-shell{border-radius:16px}
 body.brand-system.home-page .showcase-stage{padding:22px 18px 18px;min-height:0}
 body.brand-system.home-page .showcase-slide{grid-template-columns:1fr;gap:22px;min-height:0}
 body.brand-system.home-page .showcase-copy{padding:0}
 body.brand-system.home-page .showcase-copy :is(h1,h2){font-size:30px;max-width:none}
 body.brand-system.home-page .showcase-copy p{font-size:15px;line-height:1.6;margin-top:12px;max-width:36ch}
 body.brand-system.home-page .showcase-copy .actions{margin-top:16px}
 body.brand-system.home-page .showcase-visual{height:220px;border-radius:11px}
 body.brand-system.home-page .showcase-controls{padding:0 7px;gap:2px;border-radius:0 0 16px 16px}
 body.brand-system.home-page .showcase-choice{font-size:11px;line-height:1.3;min-height:50px;padding:9px 2px}
 body.brand-system.home-page .showcase-pause{width:44px;min-width:44px;min-height:44px;height:44px;font-size:14px}
 body.brand-system .catalogue-tools{padding-inline:12px}
}
@media(max-width:360px){
 body.brand-system.home-page .showcase-copy p{min-height:72px}
}

/* Sitewide polish: preserve card typography while giving list pages their correct H2 level. */
body.brand-system :is(.product-card,.production-card) h2{
 display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
 font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.015em;
 margin-top:16px;text-wrap:pretty;
}
body.brand-system :is(.product-main,.production-card>a):is(:hover,:focus-visible) h2{text-decoration:underline;text-underline-offset:5px}
body.brand-system .nav-group.is-current>summary{box-shadow:inset 0 -2px var(--gold-line)}
body.brand-system .nav-panel a[aria-current=page]{background:#eff5f8;color:#172d46;font-weight:600}
body.brand-system .nav-list .nav-contact[aria-current=page]{color:#fff;box-shadow:inset 0 -3px var(--gold)}
body.brand-system .site-header{background:#fff}
/* Corporate links start at the top, as selected after the footer mark removal. */
body.brand-system .site-footer .footer-company-links{padding-top:0;align-self:start}
body.brand-system .contact-layout{padding-top:32px}
body.brand-system .category-page-heading+.catalogue-layout,
body.brand-system .listing-content{padding-top:32px}
body.brand-system .contact-layout>section>h2{font-size:var(--heading-2);line-height:1.2;letter-spacing:-.02em}
body.brand-system .contact-details h3{font-size:15px;line-height:1.4;letter-spacing:0;font-weight:600;margin-bottom:5px}
/* WCAG 2.5.8: make the small footer links comfortable to tap without changing the columns. */
body.brand-system .site-footer .footer-col li a,
body.brand-system .footer-bottom a{display:inline-flex;align-items:center;min-height:32px}
/* Reveal enhanced submission only after its handler is installed. Native contact stays available. */
body.brand-system .quote-panel form{display:none}
body.brand-system .quote-panel form.is-ready{display:block}
body.brand-system .quote-panel:has(form.is-ready) .quote-direct{display:none}
body.brand-system .quote-direct{margin-top:18px;font-size:15px;line-height:1.65}
body.brand-system #quote-context{scroll-margin-top:20px}
body.brand-system .form-status:empty{display:none}
body.brand-system #mail-fallback{min-height:44px;align-items:center}
body.brand-system #mail-fallback:not([hidden]){display:inline-flex}
@media(max-width:600px){
 body.brand-system :is(.product-card,.production-card) h2{font-size:18px;gap:8px;margin-top:13px}
 body.brand-system .contact-layout{padding-top:26px}
 body.brand-system .category-page-heading+.catalogue-layout,
 body.brand-system .listing-content{padding-top:26px}
 body.brand-system .site-footer .footer-col li a{font-size:13px}
}

/* 15 October, approved PVC 1 and focused homepage refinements. */
body.brand-system.home-page .pvc-strip{
 grid-template-columns:minmax(200px,1fr) minmax(0,480px);gap:44px;
 padding-block:16px;align-items:center;
}
body.brand-system.home-page .pvc-strip-copy strong{font-size:26px}
body.brand-system.home-page .pvc-strip-copy{position:relative;padding-top:17px}
body.brand-system.home-page .pvc-strip-copy::before{content:"";position:absolute;top:0;left:0;width:40px;height:3px;background:var(--gold-line)}
body.brand-system.home-page .pvc-strip-cta{display:inline-flex;align-items:center;gap:13px;margin-top:14px;font-size:14px;line-height:1.5;font-weight:600;color:#245577}
body.brand-system.home-page .pvc-strip-cta>span:first-child{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
body.brand-system.home-page .pvc-strip-cta>.action-direction{width:24px;height:24px;flex:none}
body.brand-system.home-page .pvc-strip:hover .pvc-strip-cta>span:first-child{text-decoration-thickness:2px}
body.brand-system.home-page .pvc-strip-families{gap:16px;width:min(100%,480px);justify-self:end}
body.brand-system.home-page .pvc-strip-photo{height:auto;aspect-ratio:1;border-radius:9px}
body.brand-system.home-page .pvc-strip-label{font-size:14px;color:#486581}
body.brand-system.home-page .showcase-shell{background-color:#fafdff;border-color:#dce8f0}
body.brand-system.home-page .showcase-controls{border-top-color:#dce8f0}
body.brand-system.home-page .showcase-choice:hover{background-color:#eaf3fb}

body.brand-system.home-page .home-production .production-heading{padding-block:12px 18px;gap:44px;margin-bottom:32px}
body.brand-system.home-page .production-heading>div:first-child{min-width:0}
body.brand-system.home-page .home-production .production-heading .home-cmy-emblem,
body.brand-system.home-page .home-production .production-heading .home-cmy-emblem>.cmy-heritage-mark{width:165px;height:165px;flex:none}

body.brand-system.home-page .trust-process{padding-block:36px}
body.brand-system.home-page .trust-process>.wrap{padding-block:0}
body.brand-system.home-page .trust-process-top{
 padding:22px 26px;background:#fff;border:1px solid #dce3ea;border-left:3px solid var(--gold-line);
 border-radius:12px;box-shadow:0 4px 16px rgb(23 45 70 / .035);gap:28px;
}
body.brand-system.home-page .trust-process-top h2{min-width:0;max-width:none;font-size:24px;line-height:1.25}
body.brand-system.home-page .trust-process-top>.text-link{flex:none;min-height:44px}
body.brand-system.home-page .trust-process-steps{margin-top:30px}

/* Make room for larger marks rather than clipping them inside the former rail. */
body.brand-system.home-page .reference-strip{
 grid-template-columns:190px minmax(0,1fr);grid-template-areas:"intro logos" "link logos";
 gap:3px 25px;align-items:center;
}
body.brand-system.home-page .reference-intro{grid-area:intro;align-self:end}
body.brand-system.home-page .reference-rail{grid-area:logos}
body.brand-system.home-page .reference-strip>.text-link{grid-area:link;justify-self:start;align-self:start;min-height:32px}
body.brand-system.home-page .home-references .reference-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
body.brand-system.home-page .home-references .reference-card{height:81px}
body.brand-system.home-page .home-references .reference-card img{width:132px;height:69px;object-fit:contain}

/* Gold grows from the left across every category, product and method title. */
body.brand-system :is(.category-card>a,.product-main,.production-card>a):is(:hover,:focus-visible) :is(h2,h3){text-decoration:none}
body.brand-system :is(.category-card,.product-card,.production-card) :is(h2,h3)>span:first-child{
 background-image:linear-gradient(var(--gold-line),var(--gold-line));
 background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;
 padding-bottom:4px;margin-bottom:-4px;
 transition:background-size .46s cubic-bezier(.2,.85,.25,1.18);
}
body.brand-system :is(.category-card>a,.product-main,.production-card>a):is(:hover,:focus-visible) :is(h2,h3)>span:first-child{background-size:100% 2px}

@media(max-width:1115px){
 body.brand-system.home-page .home-references .reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px){
 body.brand-system.home-page .reference-strip{grid-template-columns:170px minmax(0,1fr);column-gap:25px}
 body.brand-system.home-page .home-references .reference-card img{width:111px}
}
@media(max-width:850px){
 body.brand-system.home-page .pvc-strip{grid-template-columns:minmax(180px,1fr) minmax(0,380px);gap:24px}
 body.brand-system.home-page .pvc-strip-copy strong{font-size:24px}
 body.brand-system.home-page .pvc-strip-families{gap:12px}
 body.brand-system.home-page .pvc-strip-cta{font-size:13px;gap:8px}
 body.brand-system.home-page .trust-process-top{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
 body.brand-system.home-page .trust-process-top>.text-link{margin-top:0}
}
@media(max-width:600px){
 body.brand-system.home-page .pvc-strip{grid-template-columns:1fr;gap:16px;padding-block:16px}
 body.brand-system.home-page .pvc-strip-copy{padding-top:14px}
 body.brand-system.home-page .pvc-strip-copy strong{font-size:22px;max-width:none}
 body.brand-system.home-page .pvc-strip-cta{margin-top:13px;gap:10px}
 body.brand-system.home-page .pvc-strip-families{gap:8px;width:min(100%,300px)}
 body.brand-system.home-page .pvc-strip-photo{border-radius:7px}
 body.brand-system.home-page .pvc-strip-label{font-size:13px}
 body.brand-system.home-page .home-production .production-heading{gap:16px;padding-block:12px 18px;margin-bottom:28px}
 body.brand-system.home-page .home-production .production-heading .home-cmy-emblem,
 body.brand-system.home-page .home-production .production-heading .home-cmy-emblem>.cmy-heritage-mark{width:99px;height:99px}
 body.brand-system.home-page .trust-process{padding-block:28px}
 body.brand-system.home-page .trust-process-top{padding:18px 16px;gap:10px}
 body.brand-system.home-page .trust-process-top h2{font-size:22px}
 body.brand-system.home-page .trust-process-steps{margin-top:26px}
 body.brand-system.home-page .reference-strip{grid-template-columns:1fr;grid-template-areas:"intro" "logos" "link";gap:14px}
 body.brand-system.home-page .reference-intro{align-self:auto}
 body.brand-system.home-page .home-references .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
 body.brand-system.home-page .home-references .reference-card{height:67.5px}
 body.brand-system.home-page .home-references .reference-card img{width:min(138px,calc((100vw - var(--gutter)*2 - 40px)/2));height:64.5px}
}

/* WCAG 2.5.8 / 2.4.7: generous native target, visible focus and no idle animation. */
html{scroll-padding-bottom:88px}
body.brand-system .whatsapp-float{
 position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;
 display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #167343;
 background:#167343;color:#fff;box-shadow:0 2px 9px rgb(23 45 70 / .10);text-decoration:none;
 animation:none;transition:none;transform:none;
}
body.brand-system .whatsapp-float svg{display:block;width:28px;height:28px;fill:currentColor;stroke:none;animation:none;transition:none;transform:none}
body.brand-system .whatsapp-float:hover{background:#105c35;color:#fff;border-color:#105c35}
/* Dual focus ring remains visible against both pale pages and the navy band. */
body.brand-system .whatsapp-float:focus-visible{outline:2px solid #167343;outline-offset:4px;box-shadow:0 0 0 5px #fff}
body.brand-system .footer-bottom{padding-inline-end:80px}
body.brand-system :is(a,button,input,select,textarea,summary){scroll-margin-bottom:88px}
/* Keep form controls clear of the fixed shortcut while entering a request. */
body.brand-system:has(#quote-form:focus-within) .whatsapp-float{display:none}
@media(max-width:600px){
 body.brand-system .whatsapp-float{width:44px;height:44px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 body.brand-system .whatsapp-float svg{width:26px;height:26px}
 body.brand-system .footer-bottom{padding-inline-end:64px}
 body.brand-system.is-footer-visible .whatsapp-float{display:none}
}
@media(prefers-reduced-motion:reduce){body.brand-system .whatsapp-float{transition:none}}
