/* Homepage refinements stay isolated from catalogue and inner-page layouts. */
.home #content {
    --muted:#626961;
}

/* Keep the headline, buying routes and company statistic in separate columns. */
.home .hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
    align-items:center;
    gap:60px;
    height:auto;
    min-height:760px;
    padding:170px var(--pad) 150px;
}
.home .hero::after {
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,#111d17d9,#101b1666),linear-gradient(0deg,#101611b3,#10161115 70%);
}
.home .hero-video {
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    object-fit:cover;
    pointer-events:none;
    opacity:0;
    transition:opacity .5s ease;
}
.home .hero.has-hero-video .hero-video { opacity:1; }
.home .hero-video-toggle {
    position:absolute;
    right:calc(var(--pad) + 12px);
    top:82px;
    z-index:5;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
}
.home .hero-video-toggle::before {
    content:'';
    box-sizing:content-box;
    width:6px;
    height:14px;
    border-inline:3px solid currentColor;
}
.home .hero-video-toggle[data-paused="true"]::before {
    width:0;
    height:0;
    border:7px solid transparent;
    border-right:0;
    border-left:11px solid currentColor;
}
.home .hero-video-toggle[hidden] { display:none; }
.home .hero-video-toggle:hover { background:#ffffff14; }
.home .hero-video-toggle:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(min-width:993px) {
    .home .hero-video-toggle { top:112px; }
}
@media(prefers-reduced-motion:reduce) {
    .home .hero .hero-video,
    .home .hero .hero-video-toggle { display:none; }
}
.home .hero-copy {
    min-width:0;
    width:auto;
    max-width:960px;
}
.home .hero-copy .hero-kicker {
    margin-bottom:22px;
    color:#e5eae5;
    font-size:11px;
    font-weight:500;
    line-height:1.5;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.home .hero #hero-title {
    font-size:clamp(42px,5.2vw,76px);
    line-height:1.04;
    text-wrap:balance;
    margin-bottom:26px;
}
.home .hero-copy .hero-description {
    max-width:640px;
    color:#e5eae5;
    font-size:17px;
    line-height:1.65;
    text-transform:none;
}
.home .hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}
.home .hero .hero-actions .button {
    justify-content:space-between;
    min-height:55px;
    margin:0;
    padding:17px 22px;
    border:1px solid transparent;
    color:#fff;
}
.home .hero .hero-actions .button:hover,
.home .hero .hero-actions .button:focus-visible {
    background:#fff;
    color:var(--ink);
}
.home .hero .hero-actions .hero-quote-button {
    background:transparent;
    border-color:#ffffff80;
    color:#fff;
}
.home .hero .hero-actions .hero-quote-button:hover,
.home .hero .hero-actions .hero-quote-button:focus-visible {
    border-color:#fff;
    background:#fff;
    color:var(--ink);
}
.home .hero-product-links {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px 22px;
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid #ffffff26;
}
@media(min-width:901px) {
    .home .hero-product-links { border-top:0; }
}
.home .hero-product-links a {
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:4px 0;
    color:#e5eae5;
    font-size:11px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.home .hero-product-links a:hover,
.home .hero-product-links a:focus-visible {
    color:#fff;
    text-decoration:underline;
    text-underline-offset:4px;
}
.home .hero-stat {
    position:relative;
    inset:auto;
    justify-self:end;
    width:100%;
    max-width:320px;
    min-width:0;
    padding:28px;
}
.home .hero-stat strong {
    font-size:clamp(60px,6.5vw,94px);
}
.home .hero-stat>span {
    max-width:230px;
    padding-right:12px;
    line-height:1.45;
}

/* Shared spacing gives the materials story a steadier reading rhythm. */
.home #content>.section:not(.about) {
    padding-block:clamp(72px,6.8vw,104px);
}
.home .materials-heading>div:last-child,
.home .category-section-heading>div:last-child {
    max-width:440px;
}
.home .featured-body>p:not(.eyebrow) {
    font-size:14px;
}
.home a.featured-card {
    height:100%;
    text-decoration:none;
}
.home a.featured-card:hover h3,
.home a.featured-card:hover .text-link,
.home a.featured-card:focus-visible h3,
.home a.featured-card:focus-visible .text-link {
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:4px;
}
.home a.featured-card:focus-visible {
    outline:3px solid var(--yellow);
    outline-offset:5px;
}

/* The shared quote/contact form retains Fluent Forms' native validation and markup. */
.home #contact {
    background-color:#172324;
}
.home #contact::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:#10191ad9;
}
.home #contact>div {
    position:relative;
    z-index:1;
}
.home #contact .contact-copy h2 {
    max-width:650px;
}
.home #contact .contact-details p {
    color:#e0e6e1;
    line-height:1.65;
}
.home #contact .contact-details a {
    color:#ff9e98;
    text-decoration:underline;
    text-underline-offset:4px;
}
.home #contact .rfq-preparation {
    max-width:480px;
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid #ffffff40;
}
.home #contact .rfq-preparation>p {
    color:#d5ded7;
    font-size:11px;
    font-weight:500;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.home #contact .rfq-preparation ul {
    display:flex;
    flex-wrap:wrap;
    gap:9px 23px;
    margin:12px 0 0;
    padding:0;
    list-style:none;
}
.home #contact .rfq-preparation li {
    color:#fff;
    font-size:13px;
}
.home #contact .rfq-preparation li::before {
    content:'+';
    margin-right:8px;
    color:#ff9e98;
}
.home #contact .contact-form--fluent .fluentform .ff-el-input--label label {
    color:#fff;
    font-size:12px;
    line-height:1.5;
    letter-spacing:.025em;
}
.home #contact .contact-form--fluent .fluentform .ff-el-form-control {
    background:#ffffff12;
    border-color:#ffffff65;
    color:#fff;
}
.home #contact .contact-form--fluent .fluentform .ff-el-form-control::placeholder {
    color:#d1dbd3;
}
.home #contact .contact-form--fluent .ff-el-form-control option {
    color:var(--ink);
    background:#fff;
}
.home #contact .contact-form--fluent .ff-el-input--content .ff-el-help-message,
.home #contact .contact-form--fluent .ff-el-input--content .ff-el-help-text {
    color:#d1dbd3;
    font-size:12px;
    line-height:1.5;
}
.home #contact .contact-form--fluent .ff-el-is-error .text-danger {
    color:#ffd3cc;
    font-size:12px;
}

@media(max-width:1100px) {
    .home .hero {
        gap:40px;
    }
    .home .hero-stat {
        padding:24px;
    }
}
@media(max-width:900px) {
    .home .hero {
        grid-template-columns:minmax(0,1fr);
        align-items:start;
        gap:32px;
        min-height:0;
        padding-top:155px;
        padding-bottom:145px;
    }
    .home .hero-copy {
        max-width:760px;
    }
    .home .hero #hero-title {
        font-size:clamp(42px,6.5vw,62px);
    }
    .home .hero-stat {
        display:flex;
        align-items:center;
        gap:24px;
        justify-self:start;
        width:300px;
        max-width:100%;
        min-height:0;
        padding:22px;
    }
    .home .hero-stat strong {
        flex-shrink:0;
        font-size:60px;
        margin:0;
    }
    .home .hero-stat>span {
        font-size:11px;
        padding-right:12px;
    }
    .home .hero-stat i {
        width:25px;
        height:25px;
    }
    .home .hero-stat i::before {
        right:25px;
        bottom:25px;
        width:14px;
        height:14px;
    }
    .home #content>.section:not(.about) {
        padding-block:64px;
    }
    .home #contact {
        grid-template-columns:minmax(0,1fr);
        gap:38px;
    }
    .home #contact .contact-details {
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding-top:30px;
    }
}
@media(max-width:600px) {
    .home .hero {
        gap:28px;
        min-height:0;
        padding-top:130px;
        padding-bottom:90px;
    }
    .home .hero-copy .hero-kicker {
        font-size:10px;
        margin-bottom:18px;
    }
    .home .hero #hero-title {
        font-size:clamp(35px,8.3vw,47px);
        margin-bottom:22px;
    }
    .home .hero-copy .hero-description {
        font-size:16px;
        line-height:1.6;
    }
    .home .hero-actions {
        gap:10px;
        margin-top:25px;
    }
    .home .hero .hero-actions .button {
        flex:1 1 170px;
        padding:17px 19px;
    }
    .home .hero-product-links {
        gap:8px 18px;
        margin-top:24px;
        padding-top:14px;
    }
    .home .hero-product-links a {
        font-size:10px;
    }
    .home .hero-stat {
        width:270px;
        gap:20px;
        padding:20px;
    }
    .home .hero-stat strong {
        font-size:50px;
        letter-spacing:-2px;
    }
    .home #content>.section:not(.about) {
        padding-block:56px;
    }
    .home #contact .rfq-preparation {
        margin-top:25px;
    }
    .home #contact .contact-details {
        gap:22px;
    }
}
