/* Content adaptations only; source geometry is retained in reference.css and index.html. */
html{--font-display-family:"display","Arial",sans-serif;--font-mono-family:"mono",monospace;--font-diatype-family:"diatype","Arial",sans-serif;scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font-family:var(--font-display);background:#fff;overflow-x:clip}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}
:focus-visible{outline:2px solid #83253B;outline-offset:5px}main{overflow-x:clip}::selection{color:#fff;background:#83253B}
.brand-word{display:flex;height:100%;align-items:center;font-size:36px;font-weight:700;letter-spacing:-.065em;line-height:1}
.footer-brand{display:block;font-size:22rem;font-weight:500;line-height:.8;letter-spacing:-.06em;color:#171717}

.product-card-name{white-space:normal!important;line-height:1.2;max-width:100%}
.product-marquee{display:flex;position:absolute;inset-block:0;align-items:center;width:max-content;gap:6rem;animation:marquee 50s linear infinite}
.marquee-set{display:flex;gap:6rem;align-items:center}.marquee-set span{font-size:2.4rem;font-weight:500;letter-spacing:-.04em;white-space:nowrap;text-transform:uppercase}
@keyframes marquee{to{transform:translateX(-33.333%)}}
header[data-scroll-state="true"]{height:32px!important}
header[data-scroll-state="true"] .brand-word{font-size:25px}
header[data-scroll-state="true"]>a.split-cta{height:26px}
.nav-overlay{visibility:hidden}
.nav-overlay[data-open="true"]{visibility:visible;opacity:1!important;transform:translateY(0)!important;translate:0 0!important;pointer-events:auto!important}
#menu-backdrop.is-open{opacity:1;pointer-events:auto}
#desktop-products-menu a{max-width:65rem;font-size:7.5rem!important;line-height:.8!important;font-weight:500;letter-spacing:-.04em}
#mobile-products-menu a[data-product]{font-size:3.625rem;line-height:.8;letter-spacing:-.04em;font-weight:500;text-transform:uppercase}
#desktop-products-menu [style*="top:37.03125rem"]{top:auto!important;bottom:1.5rem}

.split-cta [aria-hidden="true"]{pointer-events:none}
[data-slide-track]{transition:transform 700ms cubic-bezier(.16,1,.3,1)!important}
[data-note-title],[data-note-copy],[data-note-caption]{transition:opacity .45s ease}
[data-newsletter]{position:relative;flex-wrap:wrap}
[data-newsletter] input{flex-basis:65%;width:0}
.form-status{display:block;flex-basis:100%;font:12px/1.3 var(--font-mono);color:#83253b}
.footer-link{max-width:44rem}.footer-link span{white-space:normal}
[data-product-card] img:is([src$="product-3.webp"],[src$="product-4.webp"],[src$="product-6.webp"]){object-fit:contain;background:#ededed}
/* Default visible without JavaScript; scroll animation is progressive enhancement. */
.js-ready [data-reveal]{opacity:0;transform:translate3d(6rem,2rem,0);transition:transform 850ms cubic-bezier(.16,1,.3,1),opacity 700ms ease}
.js-ready [data-reveal].revealed{opacity:1;transform:none}
dialog{border:0;padding:0;color:#171717;background:#f2f2f2;width:min(1050px,calc(100% - 40px));max-height:90dvh;overflow:auto;margin:auto;box-shadow:0 16px 80px #0003}
dialog::backdrop{background:#171717b3;backdrop-filter:blur(5px)}
.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid #bbb}
.dialog-toolbar button{font:12px var(--font-mono);background:transparent;border:0}.dialog-toolbar .type-mono{font-size:12px}
.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px}
.dialog-grid>img{width:100%;height:100%;max-height:650px;object-fit:contain;background:#e0e0e0}
.dialog-grid h2,.info-content h2{font-size:42px;line-height:.95;font-weight:500;letter-spacing:-.04em;margin:16px 0}
.dialog-eyebrow{font-size:11px;color:#727272}
#dialog-copy,.info-content p{font-size:16px;line-height:1.4;margin:16px 0}
#enquiry-form{display:grid;gap:14px;margin-top:24px}#enquiry-form label{font:11px/1.3 var(--font-mono);display:grid;gap:8px}
#enquiry-form input,#enquiry-form textarea,#enquiry-form select{width:100%;padding:12px;background:#fff;border:1px solid #bbb;border-radius:0;font:14px/1.4 var(--font-display)}
.enquiry-submit{display:flex;justify-content:space-between;gap:15px;background:#83253B;color:#fff;border:0;min-height:52px;padding:18px;font:12px var(--font-mono)}
.enquiry-disclosure,#enquiry-status{font:12px/1.4 var(--font-mono);color:#727272}.info-content{padding:24px;max-width:700px}
@media(min-width:768px){#desktop-products-menu>div{height:100%}#desktop-products-menu a[data-product="induction"]{max-width:85rem}#our-process{height:101rem!important}}
@media(max-width:767px){
 html{font-size:16px!important}.brand-word{font-size:25px}header[data-scroll-state="true"]{height:56px!important}
 .product-marquee,.marquee-set{gap:2.5rem}.marquee-set span{font-size:1.5rem}
 .home-hero h1{left:-.3rem!important;width:24.5rem!important;font-size:3.25rem!important}
 .footer-brand{font-size:5.8rem}.footer-link{max-width:100%}
 #desktop-products-menu{display:none!important}
 .dialog-grid{grid-template-columns:1fr;padding:16px;gap:16px}.dialog-grid>img{max-height:180px}.dialog-grid h2{font-size:34px}.dialog-toolbar{padding:16px}.dialog-toolbar .type-mono{font-size:10px}dialog{width:calc(100% - 24px);max-height:94dvh}
 #mobile-main-menu>div,#mobile-products-menu>div{max-width:calc(100% - 2rem)}
 .home-hero{max-width:none!important}
 #services [data-product-card] .product-card-name{max-width:14rem;white-space:normal!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-ready [data-reveal]{opacity:1;transform:none}}

[data-progress-text] span{transition:color 180ms linear}

@media(max-width:767px){.has-feedback{height:auto!important;min-height:16.0625rem;padding-bottom:1.5rem!important}}

/* Shared navigation includes Services and Careers immediately after Who We Are. */
.site-primary-nav ul{gap:1.25rem;white-space:nowrap}
@media(min-width:768px) and (max-width:1100px){.site-primary-nav ul{gap:.75rem}.site-primary-nav a,.site-primary-nav button{font-size:10px!important}}
