:root{color-scheme:light;--blue:#215498;--ink:#26303c;--muted:#58626e;--line:#dce1e6;--pale:#f4f6f8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--blue)}
a:focus-visible{outline:3px solid #215498;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;top:8px;left:8px;z-index:10;padding:12px;background:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-notice{margin:0;padding:8px 20px;background:var(--blue);color:#fff;font-size:.875rem;line-height:1.5;text-align:center}
.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.brand{display:block;width:244px;flex-shrink:0;aspect-ratio:2360 / 620;overflow:hidden}
nav{display:flex;align-items:center;gap:32px}
.header-phone{font-size:1rem;text-decoration:none;font-weight:600;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 25px;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;font-size:1rem;font-weight:600;line-height:1.5;transition:background .16s ease}
.button:hover{background:#193f72;color:#fff}
.button:focus-visible{outline-offset:4px}
.button.small{min-height:46px;padding:10px 20px;font-size:.9375rem}
.hero-band{--muted:#edf3fb;background:var(--blue);color:#fff}
.hero-band h1,.hero-band .eyebrow{color:#fff}
.hero-band .button{background:#fff;border-color:#fff;color:var(--blue)}
.hero-band .button:hover{background:#e8f0fa;border-color:#e8f0fa;color:var(--blue)}
.hero-band a:focus-visible{outline-color:#fff}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:580px;align-items:center}
.hero-copy{padding:64px 56px 64px max(48px,calc((100vw - 1240px)/2))}
.eyebrow{margin:0 0 24px;font-size:clamp(1.125rem,1.5vw,1.25rem);font-weight:600;color:var(--blue)}
.hero-copy>.email-note{font-size:.875rem;line-height:1.6;margin:15px 0 0;max-width:385px;color:var(--muted)}
h1{margin:0 0 26px;font-size:clamp(2.5rem,4.6vw,4.125rem);line-height:1.08;letter-spacing:-.045em;font-weight:600;color:var(--blue)}
.hero-description{max-width:420px;margin:0 0 30px;font-size:1.125rem;line-height:1.65;color:var(--muted)}
.hero-description p{margin:0}
.hero-description p+p{margin-top:16px}
.hero-image{position:relative;align-self:stretch;min-width:0;overflow:hidden;background:#26303c}
.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
/* Certification is a distinct proof point between the introduction and material range. */
.quality{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:64px;padding-block:36px;border-bottom:1px solid var(--blue)}
.quality .quality-label{margin:0 0 12px;font-size:.875rem;line-height:1.5;letter-spacing:.035em;font-weight:600;color:var(--muted)}
.standards{display:flex;flex-direction:column;gap:7px;margin:0;color:var(--blue)}
.standard-primary{font-size:clamp(2rem,3vw,2.625rem);line-height:1.1;letter-spacing:-.025em;font-weight:600}
.standard-secondary{font-size:1.25rem;line-height:1.4;font-weight:500}
.quality-evidence{justify-self:start}
.quality-evidence p{margin:0 0 17px;font-size:1rem;line-height:1.5;color:var(--ink)}
.certificate-button{min-height:48px;padding:11px 20px;background:transparent;color:var(--blue)}
.certificate-button:hover{background:var(--blue);color:#fff}
.file-type{margin-left:7px;font-size:.8125rem;font-weight:400;color:inherit}
h2{margin:0 0 18px;font-size:clamp(1.875rem,2.5vw,2.25rem);line-height:1.2;letter-spacing:-.025em;font-weight:600;color:var(--ink)}
/* The material range provides the visual structure of this compact section. */
.materials{background:#f3f5f7;border-bottom:1px solid #dce3eb}
.materials-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);grid-template-areas:"intro range" "note range";column-gap:80px;row-gap:24px;align-content:start;padding-block:52px}
.materials-intro{grid-area:intro;align-self:start}
.materials-intro h2{color:var(--blue);margin-bottom:16px}
.forms{margin:0;color:var(--muted);font-size:1rem;word-spacing:.12em}
.material-list{grid-area:range;list-style:none;margin:0;padding:0;border-top:1px solid #a7b9ce;align-self:start}
.material-list li{border-bottom:1px solid #cbd5e0;padding:11px 0 12px;font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.35;letter-spacing:-.015em;font-weight:500;color:var(--blue)}
.supply-note{grid-area:note;align-self:start;margin:0;max-width:350px;font-size:1rem;line-height:1.65;color:var(--muted)}
.contact{--ink:#fff;--muted:#edf3fb;--line:#7898c2;background:var(--blue);color:#fff;border-block:1px solid var(--blue)}
.contact a:hover{color:#fff}
.contact a:focus-visible{outline-color:#fff}
.contact .button{background:#fff;border-color:#fff;color:var(--blue)}
.contact .button:hover{background:#e8f0fa;border-color:#e8f0fa;color:var(--blue)}
.contact .contact-direct a{color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:64px;padding-block:55px}
.contact-intro>p{margin:0 0 17px;color:var(--muted);font-size:1rem}
.quote-requirements{margin:0 0 25px;padding-left:20px;font-size:1rem}
.quote-requirements li{margin-bottom:5px;padding-left:2px}
.contact-intro>p.email-note{font-size:.875rem;line-height:1.6;margin:15px 0 0;max-width:385px}
.contact-details{border-left:1px solid var(--line);padding-left:48px;display:grid;grid-template-columns:1fr;gap:25px;align-content:start}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.contact-direct a{font-size:clamp(1.125rem,1.65vw,1.5rem);font-weight:500;line-height:1.6;color:var(--blue);text-decoration:none;overflow-wrap:anywhere;max-width:100%}
.contact-direct a:hover{text-decoration:underline}
h3{font-size:.875rem;line-height:1.5;font-weight:600;margin:0 0 6px}
.office-hours p,address{font-size:1rem;font-style:normal;margin:0;color:var(--muted)}
.map-link{display:inline-block;margin-top:10px;font-size:.875rem}
.footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:27px}
.footer p{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.8}
.company-details strong{color:var(--ink);font-weight:600}
.footer-note{text-align:right}
@media(min-width:1600px){.hero{min-height:610px}.hero-copy{padding-right:72px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{min-height:100px}.brand{width:220px}.hero{min-height:520px}.hero-copy{padding:56px 36px 56px 32px}.materials-inner{column-gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.contact-grid{gap:40px}.quality{column-gap:40px}.contact-details{padding-left:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:91px;gap:15px}.brand{width:180px}nav{gap:0}.header-phone{display:none}.button.small{font-size:.875rem;padding:10px 13px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 20px}.eyebrow{margin-bottom:20px}h1{font-size:clamp(2.625rem,8.4vw,4rem);margin-bottom:22px}.hero-description{max-width:490px;font-size:1.0625rem;margin-bottom:25px}.hero-image{aspect-ratio:1.2}.quality{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:30px}.standard-primary{font-size:2.25rem}.standard-secondary{font-size:1.125rem}.quality-evidence p{font-size:.9375rem;margin-bottom:14px}.materials-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "range" "note";gap:26px;padding-block:40px}.material-list li{font-size:1.25rem;padding-block:11px}.supply-note{max-width:490px;font-size:.9375rem}.contact-grid{grid-template-columns:1fr;gap:35px;padding-block:40px}.contact-details{border-left:0;border-top:1px solid var(--line);padding:27px 0 0;gap:23px}.contact-direct a{font-size:1.25rem}.contact-intro>p.email-note{max-width:430px}.footer{align-items:flex-start;padding-block:24px}.footer-note{max-width:150px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.header{flex-wrap:wrap;gap:14px;padding-block:17px}.brand{width:161px}.button.small{padding:9px 11px;font-size:.8125rem;min-height:44px}h1{font-size:2.5rem;letter-spacing:-.05em}.footer{flex-direction:column;gap:14px}.footer-note{text-align:left;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
