* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 85px
}

body {
    margin: 0;
    font-family: 'DM Sans', sans-serif;
    color: #202a35;
    line-height: 1.7
}

h1,
h2,
h3,
.navbar-brand {
    font-family: 'Manrope', sans-serif
}

h2 {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.12;
    margin: 14px 0 22px
}

.navbar {
    background: #172a28f5;
    padding: 13px 0;
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 24px #101e1c22
}

.navbar-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 17px;
    letter-spacing: .06em;
    line-height: 1.2
}

.navbar-logo {
    display: block;
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.navbar-brand b {
    color: #f3a34a
}

.navbar-brand small {
    display: block;
    font-family: 'DM Sans';
    font-size: 9px;
    letter-spacing: .17em;
    color: #c5d0c9;
    margin-top: 5px
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 2px solid #f3a34a;
    color: #f3a34a;
    font-size: 26px;
    font-weight: 800
}

.nav-link {
    color: #e7eeea !important;
    font-weight: 500;
    font-size: 14px
}

.nav-link:hover {
    color: #f3a34a !important
}

.btn {
    border-radius: 4px;
    font-weight: 700;
    padding: 12px 19px
}

.btn-orange {
    background: #f2a34a;
    color: #172a28;
    border: 1px solid #f2a34a
}

.btn-orange:hover {
    background: #ffc06e;
    color: #172a28;
    border-color: #ffc06e
}

.btn-orange span {
    margin-left: 12px
}

.hero {
    position: relative;
    min-height: 760px;
    padding: 180px 0 0;
    color: white;
    background: #172a28 url('images/wooden-pallets.png') center/cover no-repeat
}

.hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 34, 31, .97) 0%, rgba(15, 34, 31, .89) 45%, rgba(15, 34, 31, .45) 100%), linear-gradient(0deg, rgba(15, 34, 31, .6), transparent 50%)
}

.hero-content {
    position: relative;
    z-index: 1
}

.eyebrow,
.section-kicker {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    color: #c37c2b
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #f4b66b
}

.eyebrow span {
    width: 27px;
    height: 2px;
    background: #f4b66b
}

.hero h1 {
    font-size: clamp(3rem, 7vw, 5.9rem);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -.06em;
    margin: 25px 0
}

.hero h1 em {
    font-style: normal;
    color: #f4ad59
}

.hero-content>p {
    max-width: 580px;
    color: #d2dcd7;
    font-size: 17px
}

.hero-stats {
    display: flex;
    gap: 55px;
    margin-top: 68px;
    padding: 24px 0;
    border-top: 1px solid #ffffff35;
    max-width: 760px
}

.hero-stats div {
    display: flex;
    flex-direction: column
}

.hero-stats strong {
    font: 700 23px Manrope;
    color: #fff
}

.hero-stats span {
    font-size: 12px;
    color: #c5d0c9
}

.hero-caption {
    position: absolute;
    right: 3%;
    bottom: 35px;
    writing-mode: vertical-rl;
    letter-spacing: .18em;
    font-size: 9px;
    color: #ffffffb0
}

.section-pad {
    padding: 105px 0
}

.lead-copy {
    font-size: 19px;
    font-weight: 600;
    color: #35443f
}

.section-pad p {
    color: #68756f
}

.image-stack {
    position: relative;
    padding: 0 30px 40px 0
}

.main-photo {
    width: 100%;
    height: 440px;
    object-fit: cover;
    background: #e5e7e2;
    border-radius: 3px
}

.experience-card {
    position: absolute;
    bottom: 4px;
    left: -10px;
    background: #f2a34a;
    padding: 20px 26px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #182a27;
    box-shadow: 0 12px 30px #172a2820
}

.experience-card b {
    font: 800 40px Manrope
}

.experience-card span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4
}

.image-label {
    position: absolute;
    right: 0;
    bottom: 85px;
    writing-mode: vertical-rl;
    letter-spacing: .13em;
    font-size: 9px;
    color: #69756f
}

.text-link {
    color: #b76f20;
    text-decoration: none;
    font-weight: 800;
    border-bottom: 1px solid #d8a05f;
    padding-bottom: 6px
}

.text-link span {
    padding-left: 15px
}

.products-section {
    background: #f4f5f1
}

.section-head p {
    max-width: 550px;
    margin: auto
}

.product-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e5e8e2;
    transition: transform .25s, box-shadow .25s
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px #1b30251a
}

.product-image {
    height: 235px;
    background: #e9ece7;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
    transition: transform .4s
}

.product-card:hover img {
    transform: scale(1.04)
}

.product-info {
    padding: 24px
}

.product-number {
    font-size: 10px;
    letter-spacing: .16em;
    font-weight: 800;
    color: #b9782d
}

.product-info h3 {
    font-size: 21px;
    font-weight: 800;
    margin: 9px 0
}

.product-info p {
    font-size: 14px;
    min-height: 48px;
    margin-bottom: 17px
}

.tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px
}

.tag-row span {
    font-size: 10px;
    color: #53625b;
    border: 1px solid #dce2dc;
    padding: 4px 8px;
    border-radius: 2px
}

.heat-treatment {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #f2a34a;
    padding: 25px 30px
}

.heat-icon {
    font-size: 36px;
    color: #20332d
}

.heat-treatment .section-kicker {
    color: #5e4429
}

.heat-treatment h3 {
    font-size: 21px;
    font-weight: 800;
    margin: 5px 0
}

.heat-treatment p {
    margin: 0;
    color: #594c3b;
    font-size: 13px
}

.heat-treatment .btn {
    white-space: nowrap
}

.strength-section {
    background: #172a28;
    color: white
}

.strength-section h2 {
    color: white
}

.muted-light {
    color: #c1cdc6 !important;
    max-width: 380px
}

.strength-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 30px
}

.strength-item {
    padding: 22px 0;
    border-top: 1px solid #ffffff30
}

.strength-item>span {
    color: #f2a34a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em
}

.strength-item h3 {
    font-size: 19px;
    font-weight: 700;
    margin: 10px 0 5px
}

.strength-item p {
    font-size: 13px;
    color: #c1cdc6;
    margin: 0
}

.fact-strip {
    background: #f2a34a;
    padding: 35px 0
}

.fact-strip .col-6 {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #182a272e;
    padding-left: 30px
}

.fact-strip .col-6:last-child {
    border: 0
}

.fact-strip span {
    font-size: 10px;
    letter-spacing: .15em;
    font-weight: 800;
    color: #6b4c2c
}

.fact-strip strong {
    font: 800 clamp(15px, 2vw, 21px) Manrope;
    color: #1d302a;
    margin-top: 5px
}

.contact-section h2 {
    margin-bottom: 20px
}

.contact-person {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 28px
}

.person-icon {
    width: 48px;
    height: 48px;
    background: #eaf0e9;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #385449;
    font-weight: 800
}

.contact-person strong,
.contact-person span {
    display: block
}

.contact-person span {
    font-size: 12px;
    color: #78847d
}

.contact-panel {
    background: #f5f6f2;
    padding: 30px 35px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px
}

.contact-block {
    display: flex;
    gap: 14px
}

.contact-symbol {
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    background: #f2a34a;
    display: grid;
    place-items: center;
    color: #20332d;
    border-radius: 50%;
    font-size: 19px
}

.contact-block h3 {
    font-size: 15px;
    font-weight: 800;
    margin: 4px 0 8px
}

.contact-block p {
    font-size: 12px;
    line-height: 1.8;
    margin: 0
}

.contact-block a {
    color: #526159;
    text-decoration: none
}

.contact-block a:hover {
    color: #b76f20
}

footer {
    background: #10211f;
    color: #c5d0c9;
    padding: 25px 0;
    font-size: 12px
}

footer .footer-brand {
    font: 800 17px Manrope;
    letter-spacing: .06em;
    color: white;
    text-decoration: none
}

footer .footer-brand b {
    color: #f2a34a
}

@media(max-width:767px) {
    .hero {
        min-height: 740px;
        padding-top: 150px
    }

    .hero-stats {
        gap: 22px;
        margin-top: 48px
    }

    .hero-stats strong {
        font-size: 18px
    }

    .hero-stats span {
        font-size: 10px
    }

    .hero-caption {
        display: none
    }

    .section-pad {
        padding: 72px 0
    }

    .main-photo {
        height: 330px
    }

    .image-stack {
        padding-left: 10px
    }

    .experience-card {
        left: 0
    }

    .heat-treatment {
        align-items: flex-start;
        flex-wrap: wrap
    }

    .heat-treatment .btn {
        margin-left: 0 !important
    }

    .contact-panel {
        grid-template-columns: 1fr;
        padding: 25px
    }

    .fact-strip .col-6:nth-child(2) {
        border-right: 0
    }

    .fact-strip .col-6 {
        padding-left: 15px
    }

    .strength-grid {
        gap: 0 18px
    }

    .strength-item h3 {
        font-size: 16px
    }
}

@media(max-width:420px) {
    .hero h1 {
        font-size: 2.75rem
    }

    .hero-stats {
        gap: 14px
    }

    .hero-stats strong {
        font-size: 16px
    }

    .hero-stats span {
        max-width: 90px
    }

    .product-image {
        height: 205px
    }

    .contact-panel {
        padding: 20px
    }

    .navbar-brand {
        font-size: 14px
    }

    .brand-mark {
        width: 36px;
        height: 36px
    }
}

/* Mission and vision cards in the About section */
.mission-vision {
    max-width: 760px
}

.purpose-card {
    height: 100%;
    padding: 20px 18px;
    background: #f5f6f2;
    border: 1px solid #e3e7e0;
    border-top: 3px solid #f2a34a
}

.purpose-icon {
    display: inline-grid;
    place-items: center;
    width: 35px;
    height: 35px;
    background: #f2a34a;
    color: #1d302a;
    font-size: 22px;
    margin-bottom: 10px
}

.purpose-card h3 {
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #20332d
}

.purpose-card p {
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
    color: #68756f
}

/* Four-column footer inspired by the supplied reference */
.site-footer {
    background: #232a32;
    color: #b9c1ca;
    padding: 70px 0 0;
    font-size: 14px
}

.footer-main {
    padding-bottom: 55px
}

.site-footer h3 {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 28px;
    letter-spacing: -.02em
}

.site-footer p {
    max-width: 250px;
    color: #c0c7d0;
    line-height: 1.8;
    margin: 0 0 18px
}

.footer-learn {
    display: inline-block;
    padding: 8px 15px;
    background: #d6d8ae;
    color: #20252b;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700
}

.footer-learn:hover {
    background: #e6e8c3;
    color: #20252b
}

.footer-links,
.footer-contact {
    padding: 0;
    margin: 0;
    list-style: none
}

.footer-links li {
    margin: 0 0 12px
}

.footer-links a {
    color: #aeb7c1;
    text-decoration: none;
    font-size: 14px;
    display: flex;
    gap: 12px;
    align-items: baseline
}

.footer-links a:first-letter {
    font-size: 22px
}

.footer-links a span {
    transition: color .2s
}

.footer-links a:hover,
.footer-contact a:hover {
    color: #fff
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    margin-bottom: 18px;
    color: #c0c7d0;
    line-height: 1.65
}

.footer-symbol {
    flex: 0 0 22px;
    color: #f1f3f5;
    font-size: 19px;
    line-height: 1.2
}

.footer-contact a {
    color: #c0c7d0;
    text-decoration: none
}

.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 24px
}

.footer-social a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #39414b;
    color: #d0d5db;
    text-decoration: none;
    font-size: 17px;
    font-weight: 700;
    transition: background .2s, color .2s
}

.footer-social a:hover {
    background: #d6d8ae;
    color: #232a32
}

.footer-bottom {
    border-top: 1px solid #ffffff13;
    text-align: center;
    padding: 23px 0;
    color: #c0c7d0;
    font-size: 13px
}

.footer-bottom span {
    margin-left: 8px;
    color: #aeb7c1
}

@media(max-width:991px) {
    .site-footer {
        padding-top: 55px
    }

    .site-footer h3 {
        margin-bottom: 20px
    }

    .footer-main {
        padding-bottom: 35px
    }
}

@media(max-width:575px) {
    .site-footer {
        padding-top: 45px
    }

    .footer-main {
        padding-bottom: 25px
    }

    .site-footer h3 {
        font-size: 18px
    }

    .footer-bottom {
        line-height: 1.8
    }

    .footer-bottom span {
        display: block;
        margin-left: 0
    }

    .purpose-card {
        padding: 17px
    }
}

/* Hero image carousel directly below the navigation */
.hero-slider {
    position: relative;
    min-height: 760px;
    margin-top: 0;
    background: #172a28;
    color: #fff;
    overflow: hidden
}

.hero-slider .carousel-inner,
.hero-slider .carousel-item {
    height: 760px
}

.hero-slider .carousel-item>img {
    height: 100%;
    object-fit: cover;
    object-position: center
}

.hero-slider .hero-shade {
    z-index: 0;
    pointer-events: none;
    background: rgba(15, 34, 31, 0.75);
    transition: background-color 0.4s ease;
}

/* Hover effect
.hero-slider:hover .hero-shade {
    background-color: rgba(24, 65, 52, 0.90);
} */

.hero-slider .hero-content {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 175px;
    pointer-events: none
}

.hero-slider .hero-content a {
    pointer-events: auto
}

.hero-slider .hero-caption {
    z-index: 2
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
    z-index: 3;
    width: 8%;
    opacity: .8
}

.hero-slider .carousel-indicators {
    z-index: 4;
    margin-bottom: 25px
}

.hero-slider .carousel-indicators [data-bs-target] {
    width: 28px;
    height: 4px;
    border: 0;
    border-radius: 3px
}

.contact-form-panel {
    background: #f5f6f2;
    padding: 32px 35px;
    border: 1px solid #e5e8e2
}

.form-heading {
    font-size: 28px;
    font-weight: 800;
    margin: 8px 0 22px;
    color: #202a35
}

.contact-form-panel .form-label {
    font-size: 13px;
    font-weight: 700;
    color: #35443f;
    margin-bottom: 7px
}

.contact-form-panel .form-control {
    border: 1px solid #d9dfd8;
    border-radius: 3px;
    padding: 12px 13px;
    background: #fff;
    color: #202a35;
    font: 14px 'DM Sans', sans-serif
}

.contact-form-panel .form-control:focus {
    border-color: #d9953f;
    box-shadow: 0 0 0 .2rem #f2a34a30
}

.contact-form-panel textarea {
    resize: vertical
}

.form-note {
    font-size: 12px;
    color: #78847d
}

.contact-details-mini {
    border-top: 1px solid #dfe4dd;
    margin-top: 25px;
    padding-top: 20px
}

.contact-details-mini p {
    font-size: 12px;
    margin-bottom: 8px;
    line-height: 1.7
}

.contact-details-mini a {
    color: #526159;
    text-decoration: none
}

.contact-details-mini a:hover {
    color: #b76f20
}

@media(max-width:767px) {

    .hero-slider,
    .hero-slider .carousel-inner,
    .hero-slider .carousel-item {
        min-height: 740px;
        height: 740px
    }

    .hero-slider .hero-content {
        padding-top: 145px;
        width: 86%
    }

    .hero-slider .hero-stats {
        gap: 22px;
        margin-top: 48px
    }

    .hero-slider .hero-stats strong {
        font-size: 18px
    }

    .hero-slider .hero-stats span {
        font-size: 10px
    }

    .hero-slider .hero-caption {
        display: none
    }

    .hero-slider .carousel-control-prev,
    .hero-slider .carousel-control-next {
        width: 10%
    }

    .contact-form-panel {
        padding: 24px 20px
    }
}

@media(max-width:420px) {
    .hero-slider .hero-content {
        padding-top: 135px
    }

    .hero-slider .hero-stats {
        gap: 14px
    }

    .hero-slider .hero-stats strong {
        font-size: 16px
    }

    .hero-slider .hero-stats span {
        max-width: 90px
    }
}

/* Contact information cards */
.contact-info-card {
    height: 100%;
    min-height: 190px;
    padding: 23px 20px;
    background: #f5f6f2;
    border: 1px solid #e5e8e2;
    border-top: 3px solid #f2a34a;
    overflow-wrap: anywhere
}

.contact-info-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    background: #f2a34a;
    color: #20332d;
    border-radius: 50%;
    font-size: 21px
}

.contact-info-card h3 {
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 10px;
    color: #202a35
}

.contact-info-card p {
    font-size: 12px;
    line-height: 1.85;
    margin: 0;
    color: #68756f
}

.contact-info-card a {
    color: #526159;
    text-decoration: none
}

.contact-info-card a:hover {
    color: #b76f20;
    text-decoration: underline
}

.contact-form-panel {
    border-radius: 3px
}

.contact-section .contact-person {
    margin-top: 20px
}

.contact-section .lead-copy {
    max-width: 540px
}

@media(max-width:767px) {
    .contact-info-card {
        min-height: 0;
        padding: 20px
    }

    .contact-section .lead-copy {
        font-size: 16px
    }
}


/* About page title banner inspired by the supplied reference image */
.about-page-hero {
    position: relative;
    min-height: 360px;
    margin-top: 0;
    padding: 118px 0 48px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #172a28 url('images/wooden-pallets.png') center 46%/cover no-repeat
}

.about-page-hero-shade {
    position: absolute;
    inset: 0;
    background: rgba(15, 34, 31, 0.75);
    transition: background-color 0.4s ease;
}

.about-page-hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px
}

.about-page-hero h1 {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2rem, 3vw, 2.55rem);
    font-weight: 800;
    letter-spacing: -.035em;
    margin: 0;
    color: #fff
}

.about-breadcrumb {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    color: #fff
}

.about-breadcrumb a {
    color: #f2a34a;
    text-decoration: none
}

.about-breadcrumb a:hover {
    color: #ffc06e
}

.about-breadcrumb span[aria-hidden="true"] {
    font-size: 23px;
    color: #f2a34a;
    line-height: 1
}

@media(max-width:767px) {
    .about-page-hero {
        min-height: 245px;
        padding: 112px 0 35px
    }

    .about-page-hero-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px
    }

    .about-breadcrumb {
        font-size: 13px
    }
}

@media (max-width: 575.98px) {
    .navbar-logo { width: 62px; height: 62px; }
    .navbar { padding: 7px 0; }
}
