@import url("design/dark-surfaces.css?v=2");
/* FireStop Original — shared semantic tokens and component rules. */
:root{--ink:#292929;--muted:#666666;--mutedGround:#5E5E5E;--paper:#FFFFFF;--ground:#F5F5F5;--line:#DDDDDD;--nav:#2B2B2B;--nav2:#353535;--accent:#B53A32;--hover:#8F2C27;--pressed:#74231F;--soft:#FFF0ED;--success:#1E6B55;--successSoft:#E9F6EF;--control:#808080;--focus:#176D91;--disabled:#E7E7E7;--disabledText:#686868;--error:#A12622;--errorSoft:#FFF0ED;--warning:#865400;--warningSoft:#FFF5DA;--info:#175C87;--infoSoft:#EDF5FC;--footer:#242424;--red:var(--accent);--red-dark:var(--hover);--white:var(--paper);--radius-control:8px;--radius-card:8px;--radius-panel:8px;--font:Montserrat,Arial,sans-serif}
body{font-weight:400;font-family:var(--font);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.625}
body main h1{font-size:55px;line-height:64px;font-weight:700;letter-spacing:-.03em}
body main h2{font-size:39px;line-height:48px;font-weight:700;letter-spacing:-.02em}
body main h3{font-size:23px;line-height:32px;font-weight:600;letter-spacing:-.01em}
body main h4{font-size:19px;line-height:28px;font-weight:600}
body main p{font-size:15px;line-height:26px;font-weight:400}
body .nav-link{font-size:13px;line-height:20px;font-weight:600}
body .nav-link[aria-current]{font-weight:600;color:var(--accent)}
body .contact a{font-weight:700}
body :is(.callback,.home-primary,.home-secondary,.solution-button,.services-page .btn,.enquiry-submit,.directions){min-height:52px;border-radius:var(--radius-control);padding:12px 24px;font:600 15px/22px var(--font);text-transform:none;letter-spacing:0;transition:background .16s,color .16s,border-color .16s}
body :is(.callback,.home-primary,.solution-button,.services-page .btn,.enquiry-submit){background:var(--accent);color:var(--paper);border:1px solid var(--accent)}
body :is(.callback,.home-primary,.solution-button,.services-page .btn,.enquiry-submit):hover{background:var(--hover);border-color:var(--hover)}
body :is(.callback,.home-primary,.solution-button,.services-page .btn,.enquiry-submit):active{background:var(--pressed);border-color:var(--pressed)}
body :is(.home-secondary,.directions){background:var(--paper);color:var(--ink);border:1px solid var(--control)}
body :is(.home-secondary,.directions):hover{background:var(--ground);border-color:var(--ink);color:var(--ink)}
body :is(.home-secondary,.directions):active{background:var(--line)}
body .header .callback{min-height:44px;border-radius:8px;padding:10px 16px;font-size:13px}
body :is(.whatsapp,.menu-toggle){min-width:44px;min-height:44px;border-radius:8px}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea){border:1px solid var(--control);border-radius:var(--radius-control);min-height:52px;font:400 15px/24px var(--font);color:var(--ink);background-color:var(--paper);padding:12px var(--field-padding-right,14px) 12px var(--field-padding-left,14px)}
/* Reserve space for leading field icons and inset dropdown chevrons. */
body .enquiry-field input{--field-padding-left:56px}
body select:not([multiple]):not([size]):not(.phone-country select){--field-padding-right:44px;appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23292929' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}
body input::placeholder,body textarea::placeholder{color:var(--muted);opacity:1}
body :is(input,select,textarea)[aria-invalid=true]{border-color:var(--error)}
body :is(button,input,select,textarea):disabled{background:var(--disabled);border-color:var(--disabled);color:var(--disabledText);cursor:not-allowed;opacity:1}
body [aria-busy=true]{cursor:progress}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
body :is(.home-hero,.home-turnkey,.site-footer) :focus-visible{outline-color:#B9CAD2}
body :is(.service-card,.services-page .card,.home-product,.home-solutions>a,.project-card,.article-card,.trust-card,.quiz-choice,.solution-zones>div,.article-flow>li,.article-diagram>div,.product-photo,.product-quote,.product-price-card,.product-overview,.product-section,.product-help,.office-card){border-radius:var(--radius-card);box-shadow:none}
body :is(.service-card,.services-page .card,.home-product,.home-solutions>a,.solution-zones>div,.article-flow>li,.article-diagram>div,.office-card){background:var(--ground)}
body :is(.service-card-accent,.solution-note,.article-note,.service-caution-panel){background:var(--soft)}
body :is(.quiz-shell,.solution-request,.service-request,.contact-form-section,.article-cta,dialog){border-radius:var(--radius-panel)}
body :is(.quiz-form,.solution-form,.enquiry-form){border-radius:var(--radius-card)}
body :is(.dropdown,.language-list,dialog){box-shadow:0 12px 32px rgb(18 35 44 / 8%)}
body :is(.document-preview,.article-banner,.article-toc,.solution-scheme,.solution-table,.article-table,.product-table,.office-map){border-radius:var(--radius-card)}
body :is(.service-card,.office-card,.home-product,.solution-zones,.article-flow,.quiz-aside) p{color:var(--mutedGround)}
body .home-turnkey{background:var(--dark-gradient);color:var(--paper)}
body .home-turnkey p,body .home-hero-benefits{color:#D8E3E7}
body .home-turnkey :is(.home-eyebrow,.turnkey-number){color:#B9CAD2}
body .home-hero{background-color:var(--nav)}
body .home-hero h1{font-size:55px;line-height:64px;max-width:900px}
body .home-hero h1>span{white-space:normal}
body .home-hero-copy{width:65%;max-width:900px}
body .site-footer{background:var(--dark-gradient-footer);color:#D8E3E7}
body .site-footer :is(p,small,.footer-address,.footer-bottom,.link-unavailable){color:#B9CAD2}
body .site-footer h2{color:var(--paper)}
body .site-footer a:hover{color:var(--paper)}
body .cookie-notice{background:var(--ground);border:1px solid var(--line);border-radius:8px}
body .cookie-accept{background:transparent;color:var(--ink);border-color:var(--control)}
body .cookie-accept:hover{background:var(--line);border-color:var(--ink)}
body .cookie-notice a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 30%,transparent)}
body .cookie-notice a:hover{color:var(--hover);text-decoration-color:currentColor}
body .home-section{margin-top:96px;margin-bottom:96px}
body :is(.home-eyebrow,.product-eyebrow){font-size:11px;line-height:18px;font-weight:600;letter-spacing:.08em}
body .service-icon{width:48px;height:48px;border-radius:12px;background:var(--soft);color:var(--accent);box-shadow:none}
body .service-icon svg{width:24px;height:24px;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .product-eyebrow{background:var(--soft);color:var(--accent);border-radius:8px;padding:6px 10px}
body .product-quote .product-service-list{box-shadow:none;border:1px solid var(--line);border-radius:16px}
body :is(.product-application,.product-sticky nav,.product-sidebar,.article-sidebar ul,.solution-sidebar ul,.article-note,.solution-note){border-radius:16px}
body :is(.product-tabs,.city-tabs) button{min-height:44px;font-weight:600}
body .product-tabs button{border-radius:8px}
body .product-tabs button[aria-selected=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}
@media(max-width:1000px){body .home-hero-copy{width:100%;max-width:none}body main h1{font-size:41px;line-height:50px}body .home-hero h1{font-size:33px;line-height:40px}}
@media(max-width:700px){body main h1{font-size:33px;line-height:40px}body main h2{font-size:27px;line-height:34px}body main h3{font-size:21px;line-height:30px}body main h4{font-size:17px;line-height:26px}body .nav-link{font-size:15px;line-height:24px}body .home-section{margin-block:56px}body .home-hero-copy{width:100%}body :is(.callback,.home-primary,.home-secondary,.solution-button){max-width:100%;white-space:normal}body .header .callback{font-size:11px;padding-inline:12px}body .home-hero h1{font-size:33px;line-height:40px}}
@media(prefers-reduced-motion:reduce){body *{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:1001px){body .home-hero{min-height:760px}}
@media(min-width:1401px){body .home-hero h1{width:max-content;max-width:none}body .home-hero h1>span{white-space:nowrap}}
/* Minimum spacing between navigation and the first-screen heading. */
body .home-hero-inner{padding-top:80px}
body .home-hero .home-hero-subtitle{max-width:660px;margin:0;color:#D8E3E7;font-size:19px;line-height:30px;font-weight:400}
@media(max-width:700px){body .home-hero .home-hero-subtitle{font-size:17px;line-height:28px}}
.home-hero-badge{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;padding:8px 16px;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:rgba(27,27,27,.8);color:#ededed;font:600 11px/18px Montserrat,Arial,sans-serif;letter-spacing:.04em}
.home-hero-badge span{font-size:17px;color:#bdbdbd}
.home-hero h1 .fx-ember{display:inline;color:#ffd9a0;animation:fx-ember 1.7s ease-in-out infinite alternate}
@keyframes fx-ember{
  0%{text-shadow:0 -2px 6px #ffab40,0 -6px 14px #ff6d00,0 -12px 28px #dd2c00,0 -20px 44px rgba(213,0,0,.55)}
  100%{text-shadow:0 -3px 8px #ffc46b,0 -9px 20px #ff8f1f,0 -18px 38px #ff3d00,0 -30px 60px rgba(213,0,0,.8)}
}
@media(prefers-reduced-motion:reduce){.home-hero h1 .fx-ember{animation:none;text-shadow:0 -2px 6px #ffab40,0 -6px 14px #ff6d00,0 -12px 28px rgba(221,44,0,.55)}}
@media(max-width:600px){.home-hero-badge{gap:8px;padding:8px 10px;font-size:11px;letter-spacing:0}}

/* Explicit navigation scale on every viewport. */
body .nav-link,body .nav-link[aria-current]{font-size:13px;font-weight:700}
body .dropdown a,body .dropdown .link-unavailable,body .language-list>li>a,body .language-list>li>span{font-size:15px;line-height:23px}
/* Atuin variant 3: outer bars collapse; the doubled middle bar forms a cross. */
body .menu-toggle{position:relative;padding:0;flex:none}
body .menu-toggle span{position:absolute;display:block;left:10px;width:22px;height:3px;border-radius:3px;background:currentColor;transform:rotate(0);transition:top .25s ease-in-out,left .25s ease-in-out,width .25s ease-in-out,transform .25s ease-in-out}
body .menu-toggle span:nth-child(1){top:13px}
body .menu-toggle span:nth-child(2),body .menu-toggle span:nth-child(3){top:20px}
body .menu-toggle span:nth-child(4){top:27px}
body .menu-toggle[aria-expanded=true] span:nth-child(1),body .menu-toggle[aria-expanded=true] span:nth-child(4){top:20px;left:21px;width:0;transform:rotate(0)}
body .menu-toggle[aria-expanded=true] span:nth-child(2){transform:rotate(45deg)}
body .menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
@media(prefers-reduced-motion:reduce){body .menu-toggle span{transition:none}}
.home-hero-badge{text-transform:uppercase}
:root{--equipment-gradient:linear-gradient(180deg,#080606 0%,#230302 40%,#660500 100%)}
body .home-product.home-product{background:var(--equipment-gradient);color:#fff;border-color:rgba(255,255,255,.15)}
body .home-product h3{color:#fff}
body .home-product p{color:#e1d6d4}
body .home-product .home-eyebrow{color:#cbb8b5}
body .home-product .home-card-link{color:#fff}
body .home-product img{mix-blend-mode:normal}
body .home-product:hover{border-color:#b8756c}
body .home-product:focus-visible{outline-color:#fff;outline-offset:-6px}
body .home-hero h1{margin-bottom:40px}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
body .home-hero-actions .home-secondary{background:rgba(255,255,255,.04);border:1px solid #A9BBC4;color:#fff}
body .home-hero-actions .home-secondary:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
body .home-hero-actions .home-secondary:active{background:rgba(255,255,255,.2)}
@media(max-width:600px){.home-hero-actions{flex-direction:column;align-items:stretch}}
.home-hero-badge .home-hero-flag{display:block;width:24px;height:18px;flex:0 0 24px;object-fit:contain}
/* Keep desktop dropdown labels on one line and retain arrows for upcoming sections. */
body .dropdown .link-unavailable{flex-direction:row;align-items:center;justify-content:space-between;gap:28px}
body .dropdown .link-unavailable::after{content:'';display:block;flex:none;width:16px;height:16px;background:var(--muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M5 5v9h14m-5-5 5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat}
@media(min-width:901px){body .dropdown{max-width:none;width:max-content}body .dropdown a,body .dropdown .link-unavailable{white-space:nowrap}}
body .dropdown .link-unavailable{border-radius:6px;transition:background .15s,color .15s}
body .dropdown .link-unavailable:hover{color:var(--ink);background:var(--ground)}
body .dropdown .link-unavailable:hover::after{background:var(--red)}
.hero-trust{display:flex;align-items:center;gap:24px;margin-top:40px;max-width:690px;padding-bottom:24px}
body .hero-trust-label{display:block;position:relative;flex:0 0 auto;margin:0;padding-left:18px;color:#bac2c5;font-size:13px;line-height:21px}
.hero-trust-label i{position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:#29c76f}
.hero-trust-slider{overflow:hidden;min-width:0;flex:1;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hero-trust-track{display:flex;width:max-content;animation:hero-trust-slide 54s linear infinite}
.hero-trust-group{display:flex;align-items:center;gap:24px;padding-right:24px}
.hero-trust-group img{display:block;object-fit:contain;width:90px;height:32px;filter:grayscale(1) brightness(0) invert(1);opacity:.7}
.hero-trust-slider:hover .hero-trust-track,.hero-trust-slider:focus .hero-trust-track{animation-play-state:paused}
@keyframes hero-trust-slide{to{transform:translateX(-50%)}}
@media(max-width:600px){.hero-trust{align-items:flex-start;flex-direction:column;gap:16px}.hero-trust-slider{width:100%;flex:auto}}
@media(prefers-reduced-motion:reduce){.hero-trust-track{animation:none}.hero-trust-slider{overflow-x:auto}.hero-trust-group[aria-hidden]{display:none}}
.copy-email{display:grid;place-items:center;flex:none;width:24px;height:28px;padding:2px;border:0;background:transparent;color:var(--accent);cursor:pointer}.copy-email svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.copy-email:hover{color:var(--accentHover)}.copy-email:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.copy-email.is-copied{color:#29a365}
body .copy-email.is-copied:disabled{background:transparent;border-color:transparent;color:#29a365;cursor:default}
body dialog.callback-dialog{border-radius:8px;padding:40px 32px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}
.callback-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}
body .callback-dialog #callback-title{text-align:left;font-size:25px;font-weight:600;margin:0 0 12px}
.callback-dialog #callback-description{text-align:left;font-size:15px;line-height:23px;margin:0 0 28px}
.callback-dialog form>label{font-size:13px;font-weight:600}
.callback-dialog form>input{border-radius:8px;font-size:15px}
.callback-consents{display:grid;gap:14px;margin:6px 0 14px}
.callback-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:21px;font-weight:400;color:var(--muted)}
.callback-consent input{appearance:auto;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:var(--accent)}
.callback-consent a{color:var(--accent)}
.callback-dialog form>.callback{border-radius:8px;min-height:46px;font-size:15px;font-weight:600}
.callback-mail-note{text-align:center;font-size:11px}
.callback-divider{display:flex;align-items:center;gap:14px;margin:24px 0 20px;color:var(--muted);font-size:13px}
.callback-divider::before,.callback-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.callback-channels{display:flex;justify-content:center;gap:16px}
body .callback-channel{display:grid;place-items:center;width:48px;height:42px;border:1px solid var(--line);border-radius:8px;background:none;text-decoration:none;color:var(--ink)}
.callback-channel svg{width:23px;height:23px}.callback-channel:hover{background:var(--ground)}
@media(max-width:480px){body dialog.callback-dialog{padding:36px 22px 24px}}
body .cookie-notice{width:490px;background:var(--nav);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 28px #0003}
body .cookie-notice-inner.container{gap:20px;padding:20px 24px}
body .cookie-notice p{color:#fff;font-size:13px;line-height:21px}
body .cookie-notice a{color:#fff;text-decoration-color:rgba(255,255,255,.45)}
body .cookie-notice a:hover{color:#fff;text-decoration-color:#fff}
body .cookie-accept{align-self:stretch;min-width:56px;padding:0 0 0 20px;border:0;border-left:1px solid rgba(255,255,255,.5);border-radius:0;background:transparent;color:#fff}
body .cookie-accept:hover{background:transparent;border-color:#fff;color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:520px){body .cookie-notice-inner.container{padding:16px;gap:12px}body .cookie-notice p{font-size:11px;line-height:18px}body .cookie-accept{min-width:40px;padding-left:12px}}
/* Text links: Pekov's thin translucent bottom border. */
body :is(main,article,dialog,.prose,.cookie-notice) :is(p,.callback-consent) a:not([role="button"]){color:#0060a0;text-decoration:none;border-bottom:1px solid rgba(0,96,160,.15);transition:color .2s ease-out,border-color .2s ease-out}
body :is(main,article,dialog,.prose,.cookie-notice) :is(p,.callback-consent) a:not([role="button"]):visited{color:#0060a0;border-bottom-color:rgba(0,96,160,.15)}
body :is(main,article,dialog,.prose,.cookie-notice) :is(p,.callback-consent) a:not([role="button"]):is(:hover,:focus-visible){color:#b03000;border-bottom-color:rgba(176,48,0,.15);transition:none}
body .cookie-notice .cookie-notice-inner p a:not([role="button"]),body .cookie-notice .cookie-notice-inner p a:not([role="button"]):visited{color:#fff;border-bottom:0;text-decoration:underline;text-decoration-color:rgba(255,255,255,.65);text-decoration-thickness:1px;text-underline-offset:3px}
body .cookie-notice .cookie-notice-inner p a:not([role="button"]):is(:hover,:focus-visible){color:#fff;border-bottom:0;text-decoration-color:#fff}
.callback-phone{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;min-width:0}
.callback-phone select{width:145px;min-width:0;flex:0 0 145px;border:1px solid var(--line);border-radius:8px;padding:10px 8px;background:#fff;color:var(--ink);font:500 13px Montserrat,Arial,sans-serif}
.callback-dialog .callback-phone input{flex:1;width:0;min-width:0;margin:0;border-radius:8px;padding:14px 10px;font-size:15px}
@media(max-width:420px){.callback-phone{flex-wrap:wrap}.callback-phone select{width:100%;flex-basis:100%}.callback-dialog .callback-phone input{width:100%;flex-basis:100%}}
body .callback-consent input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:20px;height:20px;flex:0 0 20px;border:1px solid var(--control);border-radius:4px;background:#fff;cursor:pointer}
body .callback-consent input[type="checkbox"]::before{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg);visibility:hidden}
body .callback-consent input[type="checkbox"]:checked{background:var(--accent);border-color:var(--accent)}
body .callback-consent input[type="checkbox"]:checked::before{visibility:visible}
body .callback-consent input[type="checkbox"]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body .callback-dialog .callback-phone{display:flex;flex-wrap:nowrap;gap:0;border:1px solid var(--control);border-radius:8px;background:#fff}
.callback-phone .phone-country{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 62px;color:var(--muted)}
.phone-country img{display:block;width:22px;height:16px;object-fit:cover}
body .callback-phone .phone-country select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}
body .callback-dialog .callback-phone input{width:0;flex:1;min-width:0;border:0;background:transparent;box-shadow:none;outline:none;padding-left:0}
body .callback-dialog .callback-phone:focus-within{outline:2px solid var(--focus);outline-offset:3px}
body .callback-dialog .callback-phone{position:relative}
body .phone-country select[hidden]{display:none}
.phone-country-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;border:0;border-radius:7px 0 0 7px;background:transparent;cursor:pointer;color:var(--muted)}
.phone-country-toggle:hover{background:var(--ground)}
.phone-country-menu{position:absolute;left:-1px;top:calc(100% + 6px);z-index:5;width:100%;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px #12232c26}
.phone-country-menu[hidden]{display:none}
.phone-country-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:4px;background:#fff;color:var(--ink);font:400 13px Montserrat,Arial,sans-serif;text-align:left;cursor:pointer}
.phone-country-option:hover,.phone-country-option:focus-visible{background:var(--ground)}
.phone-country-option img{width:22px;height:16px;object-fit:cover}.phone-country-option small{margin-left:auto;font-size:13px}
.phone-country-menu{max-height:220px;overflow-y:auto;overscroll-behavior:contain}
body .callback-dialog .callback-phone #phone{border:0;border-radius:0 7px 7px 0;background:transparent;box-shadow:none;outline:none;margin:0;padding:12px 14px 12px 0;min-width:0;width:0;flex:1}body .callback-dialog .callback-phone #phone:focus-visible{outline:none;box-shadow:none}
body .callback-dialog .close{display:grid;place-items:center;right:10px;top:8px;width:36px;height:36px;padding:0;font-size:35px;line-height:1;font-weight:400;color:var(--muted);transition:color .15s}body .callback-dialog .close:hover,body .callback-dialog .close:focus-visible{color:var(--ink)}
/* Form focus thickens the existing border without an outer ring or layout shift. */
body .callback-dialog #name:focus{outline:none;box-shadow:none;border:2px solid var(--ink);padding:11px 13px}
body .callback-dialog .callback-phone:focus-within{outline:none;box-shadow:none;border:2px solid var(--ink)}
body .callback-dialog .callback-phone:focus-within #phone{min-height:50px;padding-top:11px;padding-bottom:11px;padding-right:13px}
body .callback-dialog .callback-phone:focus-within .phone-country{flex-basis:61px}
body .callback-dialog .callback-phone #phone:focus{outline:none;box-shadow:none;border:0}
body :is(main,dialog,.cookie-notice) :is(button,.button,.btn,.home-primary,.home-secondary,.solution-button,.enquiry-submit,.directions):not(:where(.close,.phone-country-toggle,.phone-country-option,.copy-email,.menu-toggle,.nav-link,.nav-expand,.language-toggle)){font-size:17px}
/* Dimensional red submit button inspired by Launch UI. */
body .header .callback,body .home-hero .home-primary,body .callback-dialog form>.callback{background:linear-gradient(180deg,#d45349 0%,#bd4036 48%,#a52f28 100%);border:1px solid #972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -2px 0 rgba(92,18,13,.22),0 2px 3px rgba(75,20,15,.16);text-shadow:0 1px 1px rgba(70,10,8,.2);transition:filter .15s,box-shadow .15s,transform .15s}
body .header .callback:hover,body .home-hero .home-primary:hover,body .callback-dialog form>.callback:hover{background:linear-gradient(180deg,#df5c51 0%,#c6473c 48%,#af352d 100%);border-color:#972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -2px 0 rgba(92,18,13,.22),0 3px 7px rgba(75,20,15,.2)}
body .header .callback:active,body .home-hero .home-primary:active,body .callback-dialog form>.callback:active{background:linear-gradient(180deg,#a52f28,#bd4036);box-shadow:inset 0 2px 4px rgba(70,10,8,.25);transform:translateY(1px)}
/* Subtle header action depth. */
body .header .callback{background:linear-gradient(180deg,#bf443b,#b53a32);border-color:#a7352e;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);text-shadow:none}
body .header .callback:hover{background:linear-gradient(180deg,#b43b32,#a8332b);border-color:#9c3029;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
body .header .callback:active{background:#a8332b;box-shadow:inset 0 1px 2px rgba(70,10,8,.12);transform:none}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.audience-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:var(--ground);border:1px solid var(--line);border-radius:8px}
.audience-card h3{margin:0 0 24px;font-size:25px;line-height:33px;font-weight:600;color:var(--ink)}
body .audience-card .audience-for{margin:0 0 12px;color:var(--ink);font-size:17px;line-height:25px;font-weight:600}
.audience-card p{margin:0 0 28px;color:var(--mutedGround);font-size:15px;line-height:25px;max-width:540px}
body .audience-card>a{display:inline-flex;gap:12px;align-items:center;margin-top:auto;font-size:15px;line-height:23px;color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(181,58,50,.15);transition:color .2s,border-color .2s}
body .audience-card>a:hover{color:var(--hover);border-color:var(--hover)}
.audience-card>a span{font-size:19px}
@media(max-width:700px){.audience-grid{grid-template-columns:1fr;gap:16px}.audience-card{padding:24px}.audience-card h3{margin-bottom:18px}}
/* Corporate red highlight fades down from the card's top edge. */
.audience-card{position:relative;isolation:isolate;overflow:hidden}
.audience-card::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(202,0,1,.0275) 0%,rgba(202,0,1,.009) 30%,rgba(202,0,1,0) 65%);opacity:0;transition:opacity .3s ease}
.audience-card::after{content:'';position:absolute;top:0;left:16px;right:16px;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#CA0001 20%,#CA0001 80%,transparent);opacity:0;transition:opacity .3s ease}
.audience-card:hover::before,.audience-card:hover::after,.audience-card:focus-within::before,.audience-card:focus-within::after{opacity:1}
@media(prefers-reduced-motion:reduce){.audience-card::before,.audience-card::after{transition:none}}
/* Four upright audience cards, matching the supplied layout. */
.audience-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.audience-card{padding:28px 24px;min-height:380px;background:var(--paper)}
body .audience-card .audience-category{margin:0 0 22px;font-size:11px;line-height:17px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#CA0001}
.audience-card h3{margin:0 0 14px;font-size:19px;line-height:25px;font-weight:700}
.audience-card p{font-size:15px;line-height:25px;margin-bottom:28px}
body .audience-card>a{display:block;font-size:15px;line-height:23px;font-weight:600;border-bottom:0}
.audience-card>a span{white-space:nowrap}
@media(max-width:1100px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card{min-height:340px}}
@media(max-width:600px){.audience-grid{grid-template-columns:1fr}.audience-card{min-height:0}.audience-card>a{margin-top:8px}}
body .audience-card>a{display:inline;color:#0060a0;border-bottom:1px solid rgba(0,96,160,.15);text-decoration:none;font-weight:500;transition:color .2s ease-out,border-color .2s ease-out}
body .audience-card>a:visited{color:#0060a0;border-bottom-color:rgba(0,96,160,.15)}
body .audience-card>a:is(:hover,:focus-visible){color:#b03000;border-bottom-color:rgba(176,48,0,.15);transition:none}
body .dropdown .link-unavailable{color:var(--ink)}body .dropdown .link-unavailable::after{background:var(--muted)}
.audience-link-arrow{display:inline-block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;vertical-align:-2px;margin-left:4px}
body .audience-card .audience-category{display:flex;align-items:center;gap:10px}.audience-category-icon{display:block;flex:none;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Audience card hover: border highlight only; link follows card hover. */
.audience-card::before{display:block}
body .audience-card:hover>a,body .audience-card:focus-within>a{color:var(--accent);border-bottom-color:rgba(181,58,50,.15)}
@media(min-width:1101px){.home-audiences .home-section-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-audiences .home-section-head>div{grid-column:1 / 4}.home-audiences .home-section-head>p{grid-column:4;max-width:none;width:100%;margin:0}}
.audience-card{min-height:0}.audience-card>p:not(.audience-category){margin-bottom:20px}@media(min-width:601px){.audience-card{min-height:0}}

/* Current palette: Soft Charcoal, source edition 03. Text link rules stay intact. */
:root{--ink:#292929;--muted:#666666;--mutedGround:#5E5E5E;--paper:#FFFFFF;--ground:#F5F5F5;--line:#DDDDDD;--nav:#2B2B2B;--nav2:#353535;--accent:#B53A32;--hover:#8F2C27;--pressed:#74231F;--soft:#FFF0ED;--success:#1E6B55;--successSoft:#E9F6EF;--control:#808080;--disabled:#E7E7E7;--disabledText:#686868;--error:#A12622;--errorSoft:#FFF0ED;--warning:#865400;--warningSoft:#FFF5DA;--info:#175C87;--infoSoft:#EDF5FC;--footer:#242424;--secondaryHover:#FFE2DD;--secondaryPressed:#F8D1CA;--onDark:#E6E6E6;--mutedDark:#C2C2C2;--dark-base:#2B2B2B;--dark-gradient:linear-gradient(115deg,#2B2B2B,#353535);--dark-gradient-footer:linear-gradient(115deg,#242424,#2B2B2B)}
body .home-hero .home-hero-subtitle,body .home-turnkey p{color:var(--onDark)}
body .home-turnkey :is(.home-eyebrow,.turnkey-number),body .site-footer :is(p,small,.footer-address,.footer-bottom,.link-unavailable),body .hero-trust-label{color:var(--mutedDark)}
body .header .callback,body .home-hero .home-primary,body .callback-dialog form>.callback{background:var(--accent);border-color:var(--accent);box-shadow:none;text-shadow:none}
body .header .callback:hover,body .home-hero .home-primary:hover,body .callback-dialog form>.callback:hover{background:var(--hover);border-color:var(--hover);box-shadow:none}
body .header .callback:active,body .home-hero .home-primary:active,body .callback-dialog form>.callback:active{background:var(--pressed);border-color:var(--pressed);box-shadow:none;transform:none}
body .home-secondary,body .home-hero-actions .home-secondary,body .directions{background:var(--soft);color:var(--accent);border:1px solid var(--accent)}
body .home-secondary:hover,body .home-hero-actions .home-secondary:hover,body .directions:hover{background:var(--secondaryHover);color:var(--hover);border-color:var(--hover)}
body .home-secondary:active,body .home-hero-actions .home-secondary:active,body .directions:active{background:var(--secondaryPressed);color:var(--pressed);border-color:var(--pressed)}body .home-section-head>p{color:var(--muted)}body .home-turnkey .home-section-head>p{color:var(--mutedDark)}
/* Preserve the agreed hero catalog button independently of theme changes. */
body .home-hero-actions .home-secondary{background:rgba(255,255,255,.04);border:1px solid #A9BBC4;color:#fff}
body .home-hero-actions .home-secondary:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
body .home-hero-actions .home-secondary:active{background:rgba(255,255,255,.2);border-color:#fff;color:#fff}
/* Homepage surface rhythm: white / soft grey / charcoal. */
main.home-page{background:var(--paper)}
.home-page .home-surface-band{background:var(--ground);padding-block:80px}
body .home-page .home-surface-band>.home-section{margin-top:0;margin-bottom:0}
.home-page .home-surface-band .document-card{background:var(--paper)}
@media(max-width:700px){.home-page .home-surface-band{padding-block:48px}}
/* Footer uses the darkest neutral from the supplied design guide. */
body .site-footer{background:#181818;color:#C2C2C2;--footer:#181818}
body .site-footer a,body .site-footer a:visited,body .site-footer .link-unavailable{color:#C2C2C2}
body .site-footer a:hover,body .site-footer a:focus-visible{color:#FFFFFF}
body .site-footer :is(p,small,.footer-address,.footer-bottom){color:#C2C2C2}
body .site-footer h2{color:#FFFFFF}
.footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
body .site-footer .footer-actions .whatsapp{margin:0;width:44px;height:44px;min-height:44px;flex:none}
body .site-footer .footer-consultation{height:44px;min-height:44px;padding:0 16px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font:600 17px/22px var(--font);cursor:pointer;transition:background .16s,border-color .16s}
body .site-footer .footer-consultation:hover{background:var(--hover);border-color:var(--hover)}
body .site-footer .footer-consultation:active{background:var(--pressed);border-color:var(--pressed)}
body .site-footer .footer-legal :is(a,.link-unavailable){transition:color .15s}body .site-footer .footer-legal :is(a,.link-unavailable):hover,body .site-footer .footer-legal a:focus-visible{color:#fff}
body .site-footer .footer-consultation{background:rgba(255,255,255,.04);border:1px solid #A9BBC4;border-radius:8px;color:#fff}
body .site-footer .footer-consultation:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
body .site-footer .footer-consultation:active{background:rgba(255,255,255,.2);border-color:#fff;color:#fff}
body .site-footer .footer-actions .whatsapp{border-radius:8px}
body .header .header-actions .whatsapp,body .header .header-actions .callback{border-radius:8px}
/* Hero primary: restore the approved dimensional treatment. */
body .home-hero .home-primary{background:linear-gradient(180deg,#d45349 0%,#bd4036 48%,#a52f28 100%);border:1px solid #972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -2px 0 rgba(92,18,13,.22),0 2px 3px rgba(75,20,15,.16);text-shadow:0 1px 1px rgba(70,10,8,.2);transition:background .15s,box-shadow .15s,transform .15s}
body .home-hero .home-primary:hover{background:linear-gradient(180deg,#df5c51 0%,#c6473c 48%,#af352d 100%);border-color:#972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -2px 0 rgba(92,18,13,.22),0 3px 7px rgba(75,20,15,.2)}
body .home-hero .home-primary:active{background:linear-gradient(180deg,#a52f28,#bd4036);box-shadow:inset 0 2px 4px rgba(70,10,8,.25);transform:translateY(1px)}
/* Header callback follows Soft Charcoal secondary-button states. */
body .header .header-actions .callback{background:var(--soft);color:var(--accent);border:1px solid rgba(181,58,50,.25);box-shadow:none;text-shadow:none}
body .header .header-actions .callback:hover{background:var(--secondaryHover);color:var(--hover);border-color:var(--hover);box-shadow:none}
body .header .header-actions .callback:active{background:var(--secondaryPressed);color:var(--pressed);border-color:var(--pressed);box-shadow:none;transform:none}
body .site-footer .footer-consultation{background:transparent;font-size:13px}body .site-footer .footer-consultation:hover{background:rgba(255,255,255,.12)}
/* Match language dropdown corners to the navigation dropdowns. */
body .language-list{border-radius:12px}
body .language-list>li>a,body .language-list>li>span{border-radius:6px}
/* Submenu labels use the same ink token as section headings. */
body .header .dropdown :is(a,a:visited,.link-unavailable),body .header .dropdown :is(a,.link-unavailable):is(:hover,:focus-visible){color:var(--ink)}
/* Secondary copy: Montserrat Medium; preserve sizes, colors and heading weights. */
body main p:not(.home-eyebrow):not(.product-eyebrow):not(.audience-category),body .home-hero .home-hero-subtitle,body .tagline,body .contact small,body main figcaption,body main small,body .hero-trust-label,body .callback-dialog #callback-description,body .callback-consent,body .site-footer :is(p,small,.footer-address,.footer-bottom),body .cookie-notice p{font-weight:500}
body .home-audiences .home-section-head{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}body .home-audiences .home-section-head>p{max-width:none;width:100%;margin:0}
/* Section subtitles have a dedicated type size. */
body .home-section-head>p{font-size:21px;line-height:1.5;font-weight:500}

/* Isometric audience illustrations, matching the supplied visual references. */
.audience-illustration{display:block;width:104px;height:104px;object-fit:contain;margin:0 0 20px}

/* Equipment: 436 px intro, 120 px separation, 16 px product grid. */
body .equipment-section{display:grid;grid-template-columns:436px minmax(0,1fr);column-gap:120px;align-items:start}
.equipment-intro h2{margin:0 0 24px}body .equipment-intro>p{margin:0 0 32px;color:var(--muted);font-size:21px;line-height:1.5;font-weight:500}
body .equipment-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid var(--accent);border-radius:8px;background:var(--soft);color:var(--accent);font-size:17px;line-height:22px;font-weight:600;text-decoration:none;transition:background .16s,color .16s}
body .equipment-secondary:hover{background:var(--secondaryHover);color:var(--hover);border-color:var(--hover)}
.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body .equipment-card{position:relative;display:block;min-width:0;min-height:300px;padding:24px;border:1px solid transparent;border-radius:8px;overflow:hidden;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:0 2px 5px rgba(41,41,41,.025),0 12px 32px rgba(41,41,41,.045);transition:border-color .2s}
body .equipment-card:visited{color:var(--ink)}body .equipment-card:hover{border-color:#CA0001;color:var(--ink)}
.equipment-copy{position:relative;z-index:1;pointer-events:none}body .equipment-card h3{font-size:19px;line-height:25px;margin:0 0 8px;color:var(--ink)}body .equipment-card p{font-size:13px;line-height:21px;margin:0;color:var(--muted)}
.equipment-card dl{display:grid;gap:20px;margin:24px 0 0}.equipment-card dt{font-size:21px;font-weight:500;line-height:1.3}.equipment-card dd{font-size:11px;margin:4px 0 0;color:var(--muted)}
.equipment-card img{position:absolute;right:-42px;bottom:-12px;width:60%;height:205px;object-fit:contain;pointer-events:none}
.equipment-card-wide{grid-column:1/-1}body .equipment-card-wide{min-height:270px}.equipment-card-wide .equipment-copy{max-width:60%}.equipment-card-wide img{width:35%;height:300px;right:-10px;bottom:-55px}body .equipment-card .equipment-detail{font-size:15px;line-height:25px;max-width:300px;margin-top:20px}.equipment-link{display:inline-block;margin-top:24px;color:#0060A0;border-bottom:1px solid rgba(0,96,160,.15);font-size:15px;font-weight:500}
@media(max-width:1250px){body .equipment-section{grid-template-columns:340px minmax(0,1fr);column-gap:48px}.equipment-card img{width:52%;right:-30px}.equipment-card-wide img{width:35%;right:-10px}}
@media(max-width:1000px){body .equipment-section{grid-template-columns:1fr;gap:32px}.equipment-intro{max-width:600px}.equipment-card img{width:55%;right:-25px}.equipment-card-wide img{width:30%;right:0}}
@media(max-width:600px){.equipment-grid{grid-template-columns:1fr}.equipment-card-wide{grid-column:auto}body .equipment-card{min-height:285px}.equipment-card img{width:50%;right:-10px}.equipment-card-wide img{width:40%}.equipment-card-wide .equipment-copy{max-width:65%}}

body .equipment-section{align-items:stretch}.equipment-intro{display:flex;flex-direction:column;align-items:flex-start}.equipment-certificates{display:flex;gap:24px;margin-top:auto;padding-top:40px;width:100%}
body .equipment-certificate{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:140px;padding:0;border:0;background:transparent;color:var(--muted);font:500 13px/20px var(--font);text-align:left;cursor:zoom-in}
.certificate-thumb{position:relative;display:block;width:140px;height:198px}.certificate-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:white;box-shadow:0 3px 14px rgba(41,41,41,.06)}
.certificate-zoom{position:absolute;inset:0;display:grid;place-items:center;background:rgba(17,17,17,.72);color:white;opacity:0;transition:opacity .2s}.certificate-zoom svg{width:32px;height:32px}.equipment-certificate:hover .certificate-zoom,.equipment-certificate:focus-visible .certificate-zoom{opacity:1}
body .certificate-viewer{width:min(850px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:48px 16px 16px;border:0;border-radius:8px;background:var(--paper);overflow:auto}body .certificate-viewer::backdrop{background:rgba(17,17,17,.85)}.certificate-viewer img{display:block;width:100%;height:auto}.certificate-viewer-close{position:absolute;right:10px;top:6px;width:36px;height:36px;border:0;background:transparent;color:var(--ink);font-size:29px;line-height:1}.certificate-viewer h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(prefers-reduced-motion:reduce){.certificate-zoom{transition:none}}

/* Reuse the homepage document-card presentation and full certificate captions. */
body .equipment-certificates.home-certificates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body .equipment-certificates .equipment-certificate{width:100%;padding:20px;display:flex;align-items:center;justify-content:center;border:0;background:var(--ground);border-radius:16px}
body .equipment-certificates .document-paper img{height:100%;margin:0;filter:none}
body .equipment-certificates .certificate-zoom{color:#fff}
body .equipment-certificates .document-card h3{font-size:15px;line-height:1.55;font-weight:600;margin:24px 0 0}
body .equipment-certificates .document-card h3 span{display:block;font-size:11px;font-weight:500;line-height:1.55;margin-top:4px;color:var(--muted)}

body .equipment-certificates .equipment-certificate{padding:0;background:transparent;border-radius:0}
body .equipment-certificates .document-card{background:transparent}
body .equipment-certificates .document-paper::after{display:none}
body .equipment-certificates .equipment-certificate-caption{margin:12px 0 0;font-size:11px;line-height:1.55;font-weight:500;color:var(--muted)}
/* Compact certificates without card backings; retain the lifted-paper shadow. */
body .home-page .home-surface-band .equipment-certificates .document-card{background:transparent}
body .equipment-certificates.home-certificates{grid-template-columns:repeat(2,156px);gap:24px}
body .equipment-certificates .document-paper::after{display:block}
body .equipment-certificates .equipment-certificate-caption{background:transparent}
@media(max-width:360px){body .equipment-certificates.home-certificates{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}

/* Eco ceiling module: flush-right cutout and upward menu arrow. */
body .equipment-card-eco{min-height:330px;padding:24px 24px 58px;transition:background .2s,border-color .2s}
body .equipment-card-eco .equipment-copy{max-width:100%}
body .equipment-card-eco h3{font-size:19px;line-height:25px;text-transform:uppercase;max-width:100%}
body .equipment-card-eco .equipment-subtitle{font-size:15px;line-height:23px;max-width:80%}
body .equipment-card-eco .equipment-description{font-size:15px;line-height:23px;color:var(--ink);max-width:70%;margin-top:24px}
body .equipment-card-eco .equipment-warranty{display:flex;gap:9px;align-items:center;font-size:15px;line-height:23px;color:#CA0001;margin-top:24px}
.equipment-warranty::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor;flex:none}
body .equipment-card-eco img{width:auto;height:85%;max-width:42%;object-fit:contain;object-position:right center;right:0;bottom:5%;}
.equipment-card-arrow{position:absolute;left:24px;bottom:22px;width:24px;height:24px;color:var(--ink);transition:color .2s}
body .equipment-card-eco:hover,body .equipment-card-eco:focus-visible{background:var(--paper);border-color:#CA0001}
.equipment-card-eco:hover .equipment-card-arrow,.equipment-card-eco:focus-visible .equipment-card-arrow{color:#CA0001}
@media(prefers-reduced-motion:reduce){body .equipment-card-eco,.equipment-card-arrow{transition:none}}
/* Compact Eco card height. */
body .equipment-card-eco{height:250px;min-height:250px;align-self:start;padding:18px 20px 40px}
body .equipment-card-eco h3{margin-bottom:4px;font-weight:700}
body .equipment-card-eco .equipment-description{margin-top:12px;font-size:13px;line-height:18px}
body .equipment-card-eco .equipment-warranty{margin-top:12px;font-size:13px;line-height:20px}
.equipment-card-eco .equipment-card-arrow{left:20px;bottom:12px;width:20px;height:20px}

/* Reveal the detail label while the arrow smoothly moves right. */
.equipment-card-more{position:absolute;left:20px;bottom:12px;display:flex;align-items:center;color:#CA0001;font-size:13px;font-weight:500;line-height:20px}
.equipment-card-more-label{display:block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .25s ease,opacity .2s ease,margin-right .25s ease;margin-right:0}
.equipment-card-eco .equipment-card-more .equipment-card-arrow{position:static;display:block;flex:none;width:20px;height:20px}
.equipment-card-eco:is(:hover,:focus-visible) .equipment-card-more-label{max-width:110px;opacity:1;margin-right:8px}
@media(prefers-reduced-motion:reduce){.equipment-card-more-label{transition:none}}

/* Equipment composition: introductory row and two full-width product columns. */
body .equipment-section{display:block}
.equipment-heading{display:grid;grid-template-columns:minmax(0,1fr) 410px;align-items:start;gap:48px;margin-bottom:56px}
.equipment-heading .equipment-intro{max-width:none}
body .equipment-heading .equipment-intro>p{margin:0;font-size:21px;line-height:1.5}
.equipment-heading .equipment-intro>p>span{display:block}
.equipment-downloads{border:1px solid var(--line);border-radius:8px;padding:8px 16px;background:transparent}
body .equipment-download{display:flex;align-items:center;gap:14px;padding:14px 0;color:var(--ink);text-decoration:none;border:0}
body .equipment-download+.equipment-download{border-top:1px solid var(--line)}
.equipment-pdf-icon{width:32px;height:40px;flex:none}.equipment-document-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.equipment-document-info strong{font-size:15px;line-height:21px;font-weight:600}.equipment-document-number{font-size:11px;line-height:17px;overflow-wrap:anywhere;color:var(--muted)}.equipment-document-info small{font-size:11px;line-height:17px;color:var(--muted)}.equipment-download-icon{width:22px;height:22px;flex:none;color:var(--muted);transition:color .2s}body .equipment-download:hover .equipment-download-icon{color:#CA0001}
.equipment-section .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
body .equipment-section .equipment-card{height:300px;min-height:300px}
body .equipment-card-eco .equipment-description{font-size:15px;line-height:21px;max-width:68%}
body .equipment-card-eco img{height:100%;max-width:36%;bottom:0;right:0}
@media(max-width:1200px){.equipment-heading{grid-template-columns:minmax(0,1fr) 360px;gap:32px}.equipment-heading .equipment-intro>p>span{display:inline}.equipment-heading .equipment-intro>p>span+span::before{content:" "}}
@media(max-width:900px){.equipment-heading{grid-template-columns:1fr;gap:28px;margin-bottom:32px}.equipment-downloads{max-width:480px;width:100%}.equipment-section .equipment-grid{grid-template-columns:1fr}body .equipment-card-eco .equipment-description{max-width:65%}}
@media(max-width:480px){body .equipment-card-eco .equipment-description{font-size:13px;line-height:18px}}
/* Align the certificate frame with the introductory text block. */
.equipment-heading{align-items:stretch}
.equipment-heading .equipment-downloads{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch}
.equipment-heading .equipment-download{flex:1}
@media(max-width:900px){.equipment-heading .equipment-downloads{align-self:start}}
/* Match visible text edges rather than the extra space within line boxes. */
@media(min-width:901px){.equipment-heading .equipment-downloads{margin-top:8px;margin-bottom:8px;min-height:0;padding-block:0}.equipment-heading .equipment-download{padding-block:8px;min-height:0}}

/* Shared module-card typography and 30 px content insets. */
body .equipment-section .equipment-card{padding:30px 30px 50px}
body .equipment-section .equipment-card h3{font-size:21px;line-height:27px;font-weight:700;text-transform:uppercase;margin:0 0 8px}
body .equipment-section .equipment-card .equipment-subtitle{font-size:15px;line-height:23px;color:var(--muted);margin:0}
.equipment-specs{list-style:none;padding:0;margin:32px 0 0;max-width:80%;font-size:15px;line-height:23px;font-weight:500;color:var(--ink)}
.equipment-specs li{position:relative;padding-left:22px}.equipment-specs li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:1px;background:#CA0001}
.equipment-card-eco .equipment-card-more{left:30px;bottom:30px}
@media(max-width:480px){.equipment-specs{max-width:85%;margin-top:20px}.equipment-specs li{padding-left:16px}}
.equipment-specs .equipment-spec-warranty{color:#CA0001}

/* Compact certificate image-preview rows. */
body .equipment-download{width:100%;background:transparent;text-align:left;font-family:var(--font);cursor:zoom-in}
.equipment-heading .equipment-downloads{justify-self:end;width:340px;max-width:100%}
.equipment-download .equipment-document-info{flex:1}
@media(max-width:900px){.equipment-heading .equipment-downloads{justify-self:start}}
body .equipment-card-pro img{width:auto;height:100%;max-width:36%;object-fit:contain;object-position:right center;right:0;bottom:0}

/* Pro mirrors the Eco detail-link interaction. */
.equipment-card-pro .equipment-card-more{left:30px;bottom:30px}
.equipment-card-pro .equipment-card-more .equipment-card-arrow{position:static;display:block;flex:none;width:20px;height:20px}
.equipment-card-pro:is(:hover,:focus-visible) .equipment-card-more-label{max-width:110px;opacity:1;margin-right:8px}
.equipment-card-pro:is(:hover,:focus-visible) .equipment-card-arrow{color:#CA0001}
/* Overlap the inner border so product cutouts meet the outer card edge. */
body .equipment-section .equipment-card img{right:0}

/* Overlay border avoids reserving a white strip beside the image. */
body .equipment-section .equipment-card{border:0}
.equipment-section .equipment-card::after{content:"";position:absolute;inset:0;border:1px solid #CA0001;border-radius:inherit;pointer-events:none;opacity:0;z-index:2;transition:opacity .2s}
.equipment-section .equipment-card:is(:hover,:focus-visible)::after{opacity:1}
@media(prefers-reduced-motion:reduce){.equipment-section .equipment-card::after{transition:none}}
body .equipment-section .equipment-card img[src="assets/products/floor-eco-card.png"]{top:24px;bottom:auto}
/* Preserve native resolution of the floor-module PNG. */
body .equipment-section .equipment-card img[src="assets/products/floor-eco-card.png"]{width:171px;height:287px}

/* Original PDF, with native page navigation and zoom. */
body .certificate-viewer{width:min(1100px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:44px 0 0;overflow:hidden;background:var(--paper)}
.certificate-pdf{display:block;width:100%;height:100%;border:0;background:var(--ground)}

/* Arolax-inspired service rows, using FireStop typography and palette. */
body .home-service-list{background:#111111;background-image:none;color:#fff;padding:80px 0}
body .home-service-list h2{max-width:760px;margin:0 0 64px;color:#fff}
body .home-service-list .service-row{display:grid;grid-template-columns:48px 140px minmax(220px,1fr) minmax(260px,1.4fr) 64px;align-items:center;gap:24px;min-height:148px;padding:36px 0;border:0;border-top:1px solid #353535;background:transparent;color:#fff;text-decoration:none;transition:background-color .4s ease}
body .home-service-list .service-row:last-child{border-bottom:1px solid #353535}
.service-row-number{font-size:15px;font-weight:600;color:#E6E6E6}
.service-row-image{display:block;height:68px;border-radius:999px;overflow:hidden;background:#292929}.service-row-image img{display:block;width:100%;height:100%;object-fit:cover}
body .home-service-list .service-row h3{font-size:25px;line-height:1.2;font-weight:500;margin:0;color:#fff}
body .home-service-list .service-row p{font-size:15px;line-height:25px;font-weight:500;color:#C2C2C2;margin:0}
.service-row-arrow{display:grid;place-items:center;width:64px;height:64px;border:1px solid #484848;border-radius:50%;color:#fff;transition:background-color .5s,color .5s,border-color .5s}.service-row-arrow svg{width:24px;height:24px}
body .home-service-list .service-row:is(:hover,:focus-visible){padding-left:0;padding-right:0;background:#242424;color:#fff}
.service-row:is(:hover,:focus-visible) .service-row-arrow{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:1200px){body .home-service-list .service-row{grid-template-columns:32px 110px minmax(170px,1fr) minmax(210px,1.2fr) 56px;gap:18px}.service-row-arrow{width:56px;height:56px}body .home-service-list .service-row h3{font-size:25px}}
@media(max-width:900px){body .home-service-list .service-row{grid-template-columns:32px 100px 1fr 48px;gap:16px;padding:28px 0}.service-row p{grid-column:2/4}.service-row-arrow{grid-column:4;grid-row:1/3;width:48px;height:48px}body .home-service-list .service-row:is(:hover,:focus-visible){padding-left:0;padding-right:0}}
@media(max-width:600px){body .home-service-list{padding:48px 0}body .home-service-list h2{margin-bottom:32px}body .home-service-list .service-row{grid-template-columns:28px 1fr 44px;gap:16px}.service-row-image{grid-column:2;height:64px;width:140px;max-width:100%}body .home-service-list .service-row h3{grid-column:2;font-size:25px}.service-row p{grid-column:2}.service-row-arrow{grid-column:3;grid-row:1/4;width:44px;height:44px}.service-row-number{align-self:start;padding-top:20px}body .home-service-list .service-row:is(:hover,:focus-visible){padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){body .home-service-list .service-row,.service-row-arrow{transition:none}}

/* Graphite Vanta Fog sits behind the service content. */
body .home-service-list{position:relative;isolation:isolate;overflow:hidden;background:#111111}
.services-fog{position:absolute;inset:0;z-index:-1;pointer-events:none;background:#111111}
.home-service-list>.container{position:relative;z-index:1}
body .home-service-list .service-row:is(:hover,:focus-visible){background:rgba(36,36,36,.8)}
body .home-service-list h2{max-width:1000px;margin:0 auto 64px;text-align:center}.home-service-list .service-row-arrow{border-radius:4px}@media(max-width:600px){body .home-service-list h2{margin-bottom:32px}}
/* Join the equipment surface directly to the dark services section. */
body .home-page .home-surface-band + .home-service-list{margin-top:0}

/* Project carousel: existing card dimensions with a subtle active-slide emphasis. */
.project-carousel-head{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:32px;margin-bottom:32px}.project-carousel-head h2{margin:0}body .project-carousel-head>p{font-size:21px;line-height:1.5;color:var(--muted);text-align:center;margin:0}.project-carousel-actions{display:flex;flex-direction:column;gap:16px;align-items:flex-end}
body .project-all{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid rgba(181,58,50,.25);border-radius:8px;background:var(--soft);color:var(--accent);font-size:13px;line-height:22px;font-weight:600;text-decoration:none}body .project-all:hover{background:var(--secondaryHover);color:var(--hover)}
.project-carousel-controls{display:flex;gap:12px}.project-carousel-controls button{width:52px;height:52px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--paper);font-size:23px;transition:background .2s,color .2s}.project-carousel-controls button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.project-carousel-controls button:disabled{opacity:.4}
.project-slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px 0;align-items:flex-start}.project-slider::-webkit-scrollbar{display:none}.project-slide{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;transform:scale(.97);transform-origin:center center;transition:transform .3s ease}.project-slide.is-active{transform:scale(1)}
@media(max-width:1100px){.project-carousel-head{grid-template-columns:1fr 1fr}.project-carousel-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}
@media(max-width:700px){.project-carousel-head{grid-template-columns:1fr;gap:24px}body .project-carousel-head>p{text-align:left}.project-slide{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.project-slide,}

body .home-project-carousel .project-card{border-radius:8px}
/* Project heading and equally tall controls on one row. */
.project-carousel-head{display:flex;justify-content:space-between;align-items:center;gap:24px}
.project-carousel-head h2{white-space:nowrap}
.project-carousel-actions{display:flex;flex-direction:row;align-items:center;gap:16px;flex:none}
.project-carousel-controls{gap:12px}
.project-carousel-controls button{width:44px;height:44px}
@media(max-width:1100px){.project-carousel-head{flex-wrap:wrap}.project-carousel-actions{justify-content:flex-start}}
@media(max-width:700px){.project-carousel-head h2{white-space:normal}}
/* Identical project-card typography on the homepage and project listing. */
body .project-card h3{font-size:19px;line-height:1.4;font-weight:500;margin:0 0 22px;letter-spacing:-.3px}
body .project-card .project-category{font-size:13px;line-height:1.6;font-weight:500;margin:0 0 10px}
/* City badges use the dark graphite surface. */
body .project-card .project-image>span{background:var(--nav);color:#fff}
/* Project disclosure hover matches the module warranty accent. */
body .project-card summary:is(:hover,:focus-visible),body .project-card summary:is(:hover,:focus-visible) span{color:#CA0001}
body .project-card summary span{color:#CA0001}
body .project-card:is(:hover,:focus-within) summary{color:#CA0001}

.project-carousel-controls .project-control-arrow{display:block;width:18px;height:20px;margin:auto}.project-next .project-control-arrow{transform:rotate(180deg)}

/* Six major projects in a static grid. */
.project-showcase-head{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:40px}.project-showcase-head h2{margin:0;flex:1}.project-showcase-head .project-all{flex:none;margin-left:auto}
.project-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}body .home-project-showcase .project-card{border-radius:8px}
@media(max-width:1000px){.project-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:600px){.project-showcase-grid{grid-template-columns:1fr}.project-showcase-head{flex-wrap:wrap;gap:24px}.project-showcase-head h2{flex-basis:100%}}

/* Subtle technical backdrop behind the first Eco module. */
.equipment-card-eco-backdrop::before{content:"";position:absolute;inset:0;background:url("assets/products/eco-card-hover-bg.png") right center/auto 100% no-repeat;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:0}
.equipment-card-eco-backdrop:is(:hover,:focus-visible)::before{opacity:.6}
body .equipment-section .equipment-card-eco-backdrop img{z-index:1}
.equipment-card-eco-backdrop .equipment-copy,.equipment-card-eco-backdrop .equipment-card-more{z-index:2}
@media(prefers-reduced-motion:reduce){.equipment-card-eco-backdrop::before{transition:none}}

.equipment-card-floor-backdrop::before{content:"";position:absolute;inset:0;background:url("assets/products/floor-card-hover-bg.png") right center/auto 100% no-repeat;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:0}
.equipment-card-floor-backdrop:is(:hover,:focus-visible)::before{opacity:.6}
body .equipment-section .equipment-card-floor-backdrop img{z-index:1}
.equipment-card-floor-backdrop .equipment-copy,.equipment-card-floor-backdrop .equipment-card-more{z-index:2}
@media(prefers-reduced-motion:reduce){.equipment-card-floor-backdrop::before{transition:none}}
.equipment-card-pro-backdrop::before{content:"";position:absolute;inset:0;background:url("assets/products/pro-card-hover-bg.png") right center/auto 100% no-repeat;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:0}
.equipment-card-pro-backdrop:is(:hover,:focus-visible)::before{opacity:.21}
body .equipment-section .equipment-card-pro-backdrop img{z-index:1}
.equipment-card-pro-backdrop .equipment-copy,.equipment-card-pro-backdrop .equipment-card-more{z-index:2}
@media(prefers-reduced-motion:reduce){.equipment-card-pro-backdrop::before{transition:none}}

.equipment-card-gases .equipment-specs{max-width:100%}
.equipment-card-gases .equipment-card-more{left:30px;bottom:30px}
.equipment-card-gases .equipment-card-more .equipment-card-arrow{position:static;display:block;width:20px;height:20px;flex:none}
.equipment-card-gases:is(:hover,:focus-visible) .equipment-card-more-label{max-width:110px;opacity:1;margin-right:8px}
.equipment-card-gases:is(:hover,:focus-visible) .equipment-card-arrow{color:#CA0001}
/* Dropdown items: Medium weight and warranty-red hover. */
body .header .dropdown :is(a,.link-unavailable){font-weight:500}
body .header .dropdown :is(a,.link-unavailable):is(:hover,:focus-visible){color:#CA0001}
body .header .dropdown a:is(:hover,:focus-visible) .arrow{color:#CA0001}
body .header .dropdown .link-unavailable:hover::after{background:#CA0001}
.equipment-card-gases .equipment-availability{color:var(--muted)}
/* Dropdown hover uses the header secondary-button surface. */
body .header .dropdown :is(a,.link-unavailable):is(:hover,:focus-visible),body .header .language-list>li>:is(a,span):is(:hover,:focus-visible){background:var(--soft)}
/* Factory metrics: staggered horizontal bands and a standalone experience figure. */
body .home-page .factory-stats{padding-top:80px;padding-bottom:90px}
body .factory-stats h2{font-size:39px;line-height:1.23;font-weight:700;max-width:680px;margin:0 0 76px 24%;letter-spacing:-.025em}
.factory-stats-layout{display:grid;grid-template-columns:minmax(0,2.65fr) minmax(0,1fr);gap:7%;align-items:start}
.factory-metrics{display:grid;gap:24px}
.factory-metric{display:grid;grid-template-columns:25% minmax(0,1fr);gap:20px;align-items:center;--offset:0%;--delay:0ms}
.factory-metric>p{font-size:15px;line-height:1.4;font-weight:500;color:var(--ink);margin:0}
.factory-track{height:50px;position:relative;background:linear-gradient(to right,transparent 0%,transparent 68.5%,var(--ground) 68.5%,var(--ground) 100%)}
.factory-fill{position:absolute;left:var(--offset);right:31.5%;height:100%;display:flex;align-items:center;padding:0 20px;isolation:isolate}
.factory-fill:before{content:"";position:absolute;inset:0;background:#CA0001;z-index:-1;transform-origin:right;transition:transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay)}
.factory-fill strong{font-size:19px;line-height:1;font-weight:500;color:#fff;white-space:nowrap;transition:opacity .55s,transform .55s;transition-delay:calc(var(--delay) + 300ms)}
.factory-experience-number{display:flex;align-items:flex-start;gap:8px;color:var(--ink)}
.factory-experience-number strong{font-size:clamp(120px,15vw,220px);line-height:.85;letter-spacing:-.075em;font-weight:700}
.factory-experience-number>span{font-size:27px;line-height:1.2;font-weight:500;padding-top:4px}
.factory-experience>p{font-size:21px;line-height:1.35;font-weight:500;color:var(--muted);margin:40px 0 0}
.factory-stats.is-pending .factory-fill:before{transform:scaleX(0)}
.factory-stats.is-pending .factory-fill strong{opacity:0;transform:translateX(12px)}
.factory-experience{transition:opacity .8s,transform .8s;transition-delay:350ms}
.factory-stats.is-pending .factory-experience{opacity:0;transform:translateY(20px)}
@media(max-width:1000px){.factory-stats-layout{gap:32px;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr)}.factory-metric{grid-template-columns:27% minmax(0,1fr);gap:12px}.factory-metric>p{font-size:13px}.factory-fill{padding:0 12px}.factory-fill strong{font-size:17px}.factory-experience-number strong{font-size:140px}.factory-experience-number>span{font-size:21px}.factory-experience>p{font-size:18px}}
@media(max-width:700px){body .home-page .factory-stats{padding-top:48px;padding-bottom:56px}body .factory-stats h2{font-size:27px;margin:0 0 40px}.factory-stats-layout{grid-template-columns:1fr;gap:40px}.factory-experience{display:flex;align-items:center;gap:32px}.factory-experience>p{margin:0}.factory-metric{grid-template-columns:29% minmax(0,1fr)}.factory-metrics{gap:18px}.factory-fill strong{font-size:15px}.factory-fill{padding:0 10px}.factory-experience-number strong{font-size:120px}.factory-experience-number>span{font-size:19px}}
@media(prefers-reduced-motion:reduce){.factory-fill:before,.factory-fill strong,.factory-experience{transition:none!important}}
/* ShinyText treatment for the footer wordmark. */
body .site-footer .footer-name{font-weight:700;color:#b5b5b5;width:fit-content;background-image:linear-gradient(120deg,#b5b5b5 40%,#fff 50%,#b5b5b5 60%);background-size:250% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:footer-text-shine 2s linear infinite}
@keyframes footer-text-shine{from{background-position:100% 50%}to{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){body .site-footer .footer-name{animation:none;background:none;-webkit-text-fill-color:#b5b5b5}}
@media(forced-colors:active){body .site-footer .footer-name{background:none;-webkit-text-fill-color:CanvasText;animation:none}}
.equipment-card-gases::before{content:"";position:absolute;inset:0;background:url("assets/products/gases-card-hover-bg.png") right center/auto 100% no-repeat;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:0}
.equipment-card-gases:is(:hover,:focus-visible)::before{opacity:.21}
.equipment-card-gases .equipment-copy,.equipment-card-gases .equipment-card-more{z-index:2}
@media(prefers-reduced-motion:reduce){.equipment-card-gases::before{transition:none}}
/* Full-width project carousel with navigation beneath the cards. */
body .home-page .home-project-carousel{width:100%;max-width:none;overflow:hidden}
.home-project-carousel .project-slider{--slide-width:420px;display:flex;gap:32px;padding:20px max(20px,calc((100% - var(--slide-width))/2));scroll-padding-inline:max(20px,calc((100% - var(--slide-width))/2));width:100%;box-sizing:border-box;align-items:flex-start}
.home-project-carousel .project-slide{flex:0 0 var(--slide-width);scroll-snap-align:center;transform:scale(.94);transition:transform .55s cubic-bezier(.22,1,.36,1);transform-origin:center}
.home-project-carousel .project-slide.is-active{transform:scale(1)}
.project-bottom-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:20px 3.5% 0}
.project-bottom-controls button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--ink);font:500 15px/1.4 var(--font);cursor:pointer;transition:color .2s}
.project-bottom-controls .project-prev{justify-self:start}.project-bottom-controls .project-next{justify-self:end}
.project-bottom-controls button:hover:not(:disabled){color:#CA0001}.project-bottom-controls button:disabled{opacity:.35;cursor:default}.project-bottom-controls button span{font-size:24px;line-height:1}
@media(max-width:600px){.home-project-carousel .project-slider{--slide-width:calc(100vw - 64px);gap:16px}.project-bottom-controls{gap:10px;padding:16px 20px 0;grid-template-columns:1fr 1fr}.project-bottom-controls .project-all{grid-row:2;grid-column:1/-1;justify-self:center}.project-bottom-controls .project-next{grid-column:2;grid-row:1}.project-bottom-controls button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.home-project-carousel .project-slide{transition:none}}
/* Fill the viewport from the first slide; align navigation with the site grid. */
.home-project-carousel .project-slider{padding:20px 0;scroll-padding-inline:0}
.home-project-carousel .project-showcase-head h2{text-align:center}
body .project-bottom-controls{padding:20px 0 0}
body .project-bottom-controls button,body .project-bottom-controls .project-all{font-size:17px}
body .project-bottom-controls button,body .project-bottom-controls button:disabled,body .project-bottom-controls button:hover,body .project-bottom-controls button:focus{background:transparent;box-shadow:none}
/* Three visible project cards within the site container. */
.home-project-carousel .project-slider{--slide-width:calc((100% - 64px)/3);padding:20px 0;scroll-padding-inline:0}
@media(max-width:1000px){.home-project-carousel .project-slider{--slide-width:calc((100% - 32px)/2)}}
@media(max-width:600px){.home-project-carousel .project-slider{--slide-width:100%;gap:16px}}
.project-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:2px auto 8px}
.project-pagination button{display:block;width:24px;height:24px;padding:10px 0;border:0;background:transparent;cursor:pointer;box-shadow:none}
.project-pagination button::before{content:"";display:block;height:3px;border-radius:2px;background:var(--line);transition:background .2s}
.project-pagination button.is-current::before,.project-pagination button:hover::before{background:#CA0001}
.project-pagination button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.project-pagination[hidden]{display:none}
body .projects-page .project-card{border-radius:8px}
/* Shared 8px corners for cards and content panels across all pages. */
body :is(.solution-card,.solution-scheme,.solution-note,.solution-cost,.solution-request,.solution-lead-capture,.solution-table,.solution-sidebar ul,.article-sidebar ul,.article-banner,.article-toc,.article-note,.article-author,.service-request,.service-file-field,.company-timeline,.company-details,.service-caution-panel,.services-page .tw,.services-page .ticks,.services-page .steps .s){border-radius:8px}
body :is(.company-story-row figure img,.company-production-video,.solution-photo img){border-radius:8px}
body .contacts-page .directions{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid rgba(181,58,50,.25);border-radius:8px;background:var(--soft);color:var(--accent);font:600 13px/22px var(--font);text-decoration:none;box-shadow:none}
body .contacts-page .directions:hover:not(:disabled){background:var(--secondaryHover);color:var(--hover);border-color:var(--hover)}
body .contacts-page .directions:active:not(:disabled){background:var(--secondaryPressed);color:var(--pressed)}
body .contacts-page .directions:disabled{background:var(--soft);color:var(--accent);opacity:.5;cursor:not-allowed}
/* Rounded outer white panels, including their overhang beyond the content grid. */
body .contacts-white-panel{background:transparent;box-shadow:none;border-radius:8px;isolation:isolate}
body .contacts-white-panel::before{content:"";position:absolute;inset:0 -60px;background:#fff;border-radius:8px;z-index:-1;pointer-events:none}
@media(max-width:560px){body .contacts-white-panel::before{inset-inline:-12px}}
body .document-actions a,body .document-actions a:visited{color:#0060A0;font-weight:500;border-bottom:1px solid rgba(0,96,160,.15);text-decoration:none}
body .document-actions a:hover{color:#0060A0;border-bottom-color:#0060A0}
/* Form submission buttons match the homepage primary action. */
body form button[type="submit"],body form input[type="submit"]{min-height:52px;padding:12px 24px;border-radius:8px;font:600 17px/22px var(--font);color:#fff;background:linear-gradient(180deg,#d45349 0%,#bd4036 48%,#a52f28 100%);border:1px solid #972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -2px 0 rgba(92,18,13,.22),0 2px 3px rgba(75,20,15,.16);text-shadow:0 1px 1px rgba(70,10,8,.2);cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}
body form button[type="submit"]:hover:not(:disabled),body form input[type="submit"]:hover:not(:disabled){background:linear-gradient(180deg,#df5c51 0%,#c6473c 48%,#af352d 100%);border-color:#972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -2px 0 rgba(92,18,13,.22),0 3px 7px rgba(75,20,15,.2)}
body form button[type="submit"]:active:not(:disabled),body form input[type="submit"]:active:not(:disabled){background:linear-gradient(180deg,#a52f28,#bd4036);box-shadow:inset 0 2px 4px rgba(70,10,8,.25);transform:translateY(1px)}
body form button[type="submit"]:disabled,body form input[type="submit"]:disabled{opacity:.5;cursor:not-allowed}
/* Fields use a graphite focus border, without an additional coloured ring. */
body :is(input,select,textarea):is(:focus,:focus-visible){outline:none!important;box-shadow:none!important;border-color:var(--ink)!important}
body .callback-dialog .callback-phone:focus-within{outline:none!important;box-shadow:none!important;border-color:var(--ink)!important}
@media(forced-colors:active){body :is(input,select,textarea):focus-visible{outline:1px solid CanvasText!important;outline-offset:2px}}
/* Solution hero CTAs match the homepage primary button. */
body .solutions-page .solution-hero-cta{min-height:52px;padding:12px 24px;border-radius:8px;font:600 17px/22px var(--font);color:#fff!important;background:linear-gradient(180deg,#d45349 0%,#bd4036 48%,#a52f28 100%);border:1px solid #972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -2px 0 rgba(92,18,13,.22),0 2px 3px rgba(75,20,15,.16);text-shadow:0 1px 1px rgba(70,10,8,.2);transition:background .15s,box-shadow .15s,transform .15s}
body .solutions-page .solution-hero-cta:hover{background:linear-gradient(180deg,#df5c51 0%,#c6473c 48%,#af352d 100%);border-color:#972b24;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -2px 0 rgba(92,18,13,.22),0 3px 7px rgba(75,20,15,.2)}
body .solutions-page .solution-hero-cta:active{background:linear-gradient(180deg,#a52f28,#bd4036);box-shadow:inset 0 2px 4px rgba(70,10,8,.25);transform:translateY(1px)}
body .equipment-section .equipment-card-gases img{width:166px;height:259px;max-width:none;object-fit:contain;object-position:right center;right:0;top:20px;bottom:auto;transform:none;filter:none;z-index:1}
