/*
 * Weierken visual system 1.1
 * Editorial B2B layout inspired by premium outdoor manufacturing sites.
 * Product data, taxonomies and RFQ behaviour remain owned by WordPress.
 */
:root {
    --we-ink: #12231c;
    --we-forest: #174c39;
    --we-forest-2: #24644c;
    --we-moss: #a8bd91;
    --we-sand: #f2eee5;
    --we-paper: #fbfaf7;
    --we-orange: #e9933a;
    --we-line: rgba(18, 35, 28, .16);
    --we-white-line: rgba(255, 255, 255, .19);
    --we-wrap: min(1320px, calc(100% - 72px));
    --we-radius: 2px;
}

body {
    color: var(--we-ink);
    background: var(--we-paper);
    font-family: "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.wrap { width: var(--we-wrap); }
h1, h2, h3 { color: var(--we-ink); font-weight: 620; letter-spacing: -.035em; }
h2 { font-size: clamp(2.55rem, 4.7vw, 5rem); line-height: 1.02; }
p { color: #647069; }
.section { padding: clamp(88px, 9vw, 144px) 0; }
.section-label, .eyebrow, .micro, .hero-kicker {
    color: var(--we-forest-2);
    font-size: .69rem;
    font-weight: 750;
    letter-spacing: .17em;
}
.section-heading { margin-bottom: 58px; }
.split-heading { grid-template-columns: minmax(0, 1.18fr) minmax(280px, .56fr); gap: clamp(48px, 8vw, 126px); }
.split-heading > div:last-child { padding-bottom: 2px; }
.text-link { color: var(--we-forest); border-color: rgba(23, 76, 57, .28); }
.text-link span, .btn span { font-size: 1.02em; }
.reveal { transition-delay: var(--reveal-delay, 0ms); }

/* Top bar and navigation */
.utility-bar { background: #0e2019; }
.utility-inner { min-height: 38px; }
.utility-message { display: flex; align-items: center; gap: 9px; margin: 0; color: rgba(255, 255, 255, .68); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.utility-dot { width: 6px; height: 6px; background: #b9d18f; border-radius: 50%; box-shadow: 0 0 0 5px rgba(185, 209, 143, .1); }
.utility-contact { gap: 22px; color: rgba(255, 255, 255, .75); }
.utility-contact > span { color: rgba(255, 255, 255, .56); }
.utility-inner em { color: #c6d9b3; }
.site-header { background: rgba(251, 250, 247, .94); border-bottom-color: rgba(18, 35, 28, .09); }
.site-header.scrolled { box-shadow: 0 12px 40px rgba(10, 30, 21, .09); }
.nav-wrap { height: 82px; }
.brand-logo { height: 39px; }
.primary-nav { gap: clamp(16px, 1.7vw, 28px); color: #26332e; font-size: .77rem; }
.primary-nav > a:not(.nav-cta) { padding: 31px 0; }
.primary-nav > a:not(.nav-cta)::after { bottom: 23px; background: var(--we-orange); }
.nav-cta { position: relative; padding: 13px 20px; color: #fff; background: var(--we-forest); border-radius: var(--we-radius); overflow: hidden; }
.nav-cta::before { content: ""; position: absolute; inset: 0; background: var(--we-orange); transform: translateY(102%); transition: transform .25s ease; }
.nav-cta:hover::before { transform: translateY(0); }
.nav-cta { isolation: isolate; }
.nav-cta::before { z-index: -1; }

/* Hero */
.we-hero {
    --hero-shift: 0px;
    min-height: min(820px, calc(100svh - 120px));
    align-items: stretch;
    background: var(--we-ink);
}
.we-hero .home-hero-media {
    background-image: url('/assets/images/cooler-collection.webp');
    background-position: 58% calc(50% + var(--hero-shift));
    transform: scale(1.045);
    transition: background-position .08s linear;
}
.we-hero .home-hero-shade {
    background:
        linear-gradient(90deg, rgba(7, 20, 15, .92) 0%, rgba(7, 20, 15, .73) 36%, rgba(7, 20, 15, .18) 66%, rgba(7, 20, 15, .03) 100%),
        linear-gradient(0deg, rgba(7, 20, 15, .62), transparent 54%);
}
.we-hero .home-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 80px;
    align-items: center;
    padding: clamp(90px, 11vw, 150px) 0 clamp(110px, 12vw, 165px);
}
.hero-copy-block { max-width: 790px; }
.hero-kicker { display: flex; align-items: center; gap: 12px; color: #dce7d5; }
.hero-kicker span { width: 32px; height: 1px; background: var(--we-orange); }
.we-hero h1 { max-width: 790px; margin: 0 0 27px; color: #fff; font-size: clamp(3.65rem, 6.7vw, 7rem); font-weight: 570; line-height: .98; letter-spacing: -.052em; text-wrap: balance; }
.we-hero .hero-summary { max-width: 635px; margin-bottom: 0; color: rgba(255, 255, 255, .78); font-size: clamp(1rem, 1.25vw, 1.17rem); line-height: 1.7; }
.we-hero .hero-actions { margin-top: 36px; }
.btn { min-height: 53px; padding: 0 24px; border-radius: var(--we-radius); font-size: .77rem; letter-spacing: .03em; }
.btn-primary { color: #fff; background: var(--we-orange); }
.btn-primary:hover { background: #f1a552; }
.btn-ghost { border-color: rgba(255, 255, 255, .46); background: rgba(9, 29, 21, .16); }
.btn-dark { color: #fff; background: var(--we-ink); }
.hero-rail { display: grid; grid-template-columns: 24px 1fr; gap: 18px 13px; align-self: end; margin-bottom: 3px; padding: 26px 0 4px 25px; border-left: 1px solid rgba(255, 255, 255, .32); }
.hero-rail span { color: var(--we-orange); font-size: .62rem; font-weight: 700; }
.hero-rail p { margin: 0; color: rgba(255, 255, 255, .76); font-size: .74rem; line-height: 1.35; }
.hero-scroll { position: absolute; z-index: 3; left: max(36px, calc((100vw - 1320px) / 2)); bottom: 31px; display: flex; align-items: center; gap: 13px; color: rgba(255, 255, 255, .62); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll span { position: relative; width: 42px; height: 1px; overflow: hidden; background: rgba(255, 255, 255, .32); }
.hero-scroll span::after { content: ""; position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: we-scroll-line 2.4s ease-in-out infinite; }
@keyframes we-scroll-line { 50% { transform: translateX(100%); } 100% { transform: translateX(100%); } }

/* Fact band */
.we-facts { background: #fff; }
.we-facts .fact-row { border-left: 1px solid var(--we-line); }
.we-facts .fact-row > div { padding: 34px clamp(22px, 3.2vw, 48px); border-color: var(--we-line); }
.we-facts .fact-row > div:first-child { padding-left: clamp(22px, 3.2vw, 48px); }
.we-facts .fact-row strong { color: var(--we-forest); font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 620; letter-spacing: -.035em; }
.we-facts .fact-row span { margin-top: 6px; font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.we-facts .source-note { padding: 10px 0 12px; }

/* Collections */
.we-collections { background: var(--we-paper); }
.we-collections .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.we-collections .category-card { position: relative; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.we-collections .category-image { aspect-ratio: 16 / 10; }
.we-collections .category-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9, 26, 19, .21), transparent 45%); pointer-events: none; }
.we-collections .category-image img { transition-duration: .7s; }
.we-collections .category-copy { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; align-items: end; padding: 30px 32px 34px; border: 1px solid var(--we-line); border-top: 0; }
.we-collections .category-copy .micro { grid-column: 1 / -1; }
.we-collections .category-copy h3 { margin: 0; font-size: clamp(2rem, 3.1vw, 3.2rem); }
.we-collections .category-copy p:not(.micro) { grid-column: 1; max-width: 520px; min-height: 0; margin: 6px 0 0; }
.we-collections .category-copy .text-link { grid-column: 2; grid-row: 2 / 4; align-self: end; white-space: nowrap; }

/* Real factory story */
.we-factory-story { overflow: hidden; background: var(--we-sand); }
.factory-story-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .78fr); gap: clamp(70px, 9vw, 142px); align-items: center; }
.factory-collage { position: relative; display: grid; grid-template-columns: 1.18fr .68fr; gap: 18px; align-items: end; min-height: 640px; }
.factory-collage figure { margin: 0; }
.factory-collage img { object-fit: cover; filter: saturate(.9) contrast(1.02); }
.factory-photo-main img { height: 620px; }
.factory-photo-detail { margin-bottom: 58px !important; }
.factory-photo-detail img { height: 340px; }
.factory-collage figcaption { padding-top: 10px; color: #737e77; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.factory-year { position: absolute; right: -38px; bottom: 15px; display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; align-items: center; width: 172px; padding: 18px; color: #fff; background: var(--we-forest); line-height: 1; }
.factory-year strong { color: #fff; font-size: 1.12rem; font-weight: 650; }
.factory-year small { color: rgba(255, 255, 255, .66); font-size: .55rem; font-weight: 500; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; }
.factory-story-copy h2 { margin-bottom: 27px; }
.factory-lede { font-size: 1.02rem; line-height: 1.8; }
.factory-points { margin: 34px 0 35px; }
.factory-points > div { display: grid; grid-template-columns: 130px 1fr; gap: 25px; padding: 18px 0; border-top: 1px solid var(--we-line); }
.factory-points > div:last-child { border-bottom: 1px solid var(--we-line); }
.factory-points dt { font-size: .81rem; font-weight: 700; }
.factory-points dd { margin: 0; color: #69736d; font-size: .82rem; }

/* OEM, ODM and custom routes */
.we-routes { color: #fff; background: var(--we-ink); }
.we-routes .section-label { color: #b7cba7; }
.we-routes .sourcing-route-head { grid-template-columns: 1.1fr .57fr; gap: clamp(50px, 9vw, 135px); }
.we-routes .sourcing-route-head h2 { max-width: 830px; font-size: clamp(2.7rem, 5vw, 5.2rem); }
.we-routes .sourcing-route-grid { border-color: var(--we-white-line); }
.we-routes .sourcing-route-grid article { min-height: 330px; padding: 37px 38px 36px; border-color: var(--we-white-line); }
.we-routes .sourcing-route-grid article:first-child { padding-left: 0; }
.we-routes .sourcing-route-grid article:last-child { padding-right: 0; }
.we-routes .sourcing-route-grid article > span { color: var(--we-orange); }
.we-routes .sourcing-route-grid h3 { max-width: 300px; margin-top: 44px; font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.08; }
.we-routes .sourcing-route-grid p { min-height: 91px; }

/* Use cases */
.we-use-cases { background: #fff; }
.we-use-cases .scene-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.we-use-cases .category-card { border: 0; border-radius: 0; box-shadow: none; }
.we-use-cases .category-image { aspect-ratio: 4 / 5; background: #eef1ec; }
.we-use-cases .category-image img { padding: 0; object-fit: cover; }
.we-use-cases .category-copy { padding: 22px 4px 0; }
.we-use-cases .category-copy h3 { font-size: 1.34rem; }
.we-use-cases .category-copy p:not(.micro) { min-height: 90px; font-size: .79rem; }

/* Process */
.we-process { color: #fff; background: #173d2e; }
.process-heading { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 62px; }
.process-heading h2 { max-width: 820px; margin: 0; color: #fff; }
.we-process .section-label { color: #b7cba7; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--we-white-line); border-bottom: 1px solid var(--we-white-line); }
.process-steps article { min-height: 225px; padding: 31px 30px 31px; border-right: 1px solid var(--we-white-line); }
.process-steps article:first-child { padding-left: 0; }
.process-steps article:last-child { padding-right: 0; border-right: 0; }
.process-steps span { display: block; margin-bottom: 58px; color: var(--we-orange); font-size: .7rem; }
.process-steps h3 { margin-bottom: 9px; color: #fff; font-size: 1.5rem; }
.process-steps p { margin: 0; color: rgba(255, 255, 255, .62); font-size: .8rem; }

/* Product cards */
.we-selected-products { background: var(--we-paper); }
.we-selected-products .product-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
.we-selected-products .product-card { border: 0; border-radius: 0; background: #fff; box-shadow: 0 1px 0 rgba(18, 35, 28, .06); }
.we-selected-products .product-image { aspect-ratio: 5 / 4; background: #eff1ed; }
.we-selected-products .product-image img { padding: 22px; background: #eff1ed; }
.we-selected-products .product-copy { padding: 26px 27px 30px; border: 1px solid var(--we-line); border-top: 0; }
.we-selected-products .product-copy h3 { min-height: 58px; font-size: 1.28rem; line-height: 1.18; }
.we-selected-products .product-copy p:not(.micro) { min-height: 86px; font-size: .82rem; }

/* FAQ and RFQ */
.we-home-faq { background: #fff; }
.we-home-faq .faq-layout { grid-template-columns: .67fr 1.23fr; }
.we-home-faq .buyer-faq-list { border-color: var(--we-line); }
.we-home-faq .buyer-faq-list summary { padding: 28px 50px 28px 0; font-size: 1.02rem; }
.we-home-faq .buyer-faq-list p { padding-bottom: 28px; }
.rfq-section { color: #fff; background: var(--we-forest); }
.rfq-section.compact { padding: clamp(90px, 9vw, 132px) 0; }
.rfq-grid { grid-template-columns: .72fr 1.1fr; gap: clamp(65px, 9vw, 138px); }
.rfq-intro h2 { color: #fff; font-size: clamp(2.8rem, 4.5vw, 4.8rem); }
.rfq-form { padding: clamp(25px, 3.1vw, 43px); border-radius: 0; box-shadow: 0 24px 60px rgba(4, 18, 12, .18); }
.rfq-form input:not([type="checkbox"]), .rfq-form select, .rfq-form textarea { border-radius: 0; background: #fbfbf8; }

/* Footer */
.site-footer { padding: 0 0 20px; background: #0c1914; }
.footer-statement { display: grid; grid-template-columns: 1fr minmax(340px, 1.25fr) auto; gap: 40px; align-items: end; padding: 78px 0 72px; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.footer-statement p { margin: 0; color: #9fb39f; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-statement h2 { margin: 0; color: #fff; font-size: clamp(2.3rem, 4vw, 4.25rem); }
.footer-grid { padding-top: 70px; }
.site-footer .brand-logo { height: 34px; }

/* Generic page polish keeps the rest of the site visually connected. */
.page-hero { background: var(--we-sand); }
.page-hero:not(.has-image) { border-bottom: 1px solid var(--we-line); }
.page-hero h1, .product-hero-copy h1 { letter-spacing: -.05em; }
.product-card, .article-grid article, .values-grid article, .quality-grid article { border-radius: 0; }
.catalog-filter-button, .catalog-type-select select { border-radius: 0; }

@media (max-width: 1120px) {
    :root { --we-wrap: min(100% - 48px, 1040px); }
    .primary-nav { gap: 15px; font-size: .7rem; }
    .we-hero .home-hero-content { grid-template-columns: minmax(0, 1fr) 190px; gap: 45px; }
    .we-hero h1 { font-size: clamp(3.4rem, 6.6vw, 6rem); }
    .factory-story-grid { gap: 70px; }
    .factory-collage { min-height: 530px; }
    .factory-photo-main img { height: 520px; }
    .factory-photo-detail img { height: 285px; }
    .factory-year { right: -24px; }
    .we-use-cases .scene-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
}

@media (max-width: 860px) {
    :root { --we-wrap: min(100% - 34px, 720px); }
    .utility-message { display: none; }
    .utility-contact { width: 100%; justify-content: space-between; }
    .utility-contact > span { display: none; }
    .nav-wrap { height: 74px; }
    .primary-nav { inset: 112px 0 auto; background: var(--we-paper); }
    .primary-nav.open { max-height: calc(100svh - 112px); }
    .primary-nav > a:not(.nav-cta) { padding: 18px 24px; }
    .we-hero { min-height: 770px; }
    .we-hero .home-hero-media { background-position: 64% center; }
    .we-hero .home-hero-shade { background: linear-gradient(90deg, rgba(7, 20, 15, .92), rgba(7, 20, 15, .55)); }
    .we-hero .home-hero-content { grid-template-columns: 1fr; align-content: center; gap: 45px; padding: 96px 0 130px; }
    .hero-rail { display: none; }
    .hero-scroll { left: 17px; bottom: 25px; }
    .we-facts .fact-row { grid-template-columns: repeat(2, 1fr); }
    .we-facts .fact-row > div:nth-child(2) { border-right: 0; }
    .we-facts .fact-row > div:nth-child(n+3) { border-top: 1px solid var(--we-line); }
    .we-collections .category-copy { grid-template-columns: 1fr; }
    .we-collections .category-copy .text-link { grid-column: 1; grid-row: auto; }
    .factory-story-grid { grid-template-columns: 1fr; }
    .factory-collage { width: min(100%, 680px); }
    .factory-year { right: 10px; }
    .we-routes .sourcing-route-head, .we-home-faq .faq-layout, .rfq-grid { grid-template-columns: 1fr; }
    .we-routes .sourcing-route-grid article { min-height: 0; padding: 32px 0; }
    .we-routes .sourcing-route-grid h3 { margin-top: 20px; }
    .process-heading { display: grid; }
    .process-steps { grid-template-columns: repeat(2, 1fr); }
    .process-steps article:nth-child(2) { border-right: 0; }
    .process-steps article:nth-child(n+3) { border-top: 1px solid var(--we-white-line); }
    .process-steps article:nth-child(3) { padding-left: 0; }
    .we-selected-products .product-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-statement { grid-template-columns: 1fr; align-items: start; }
    .footer-statement .btn { justify-self: start; }
}

@media (max-width: 580px) {
    :root { --we-wrap: calc(100% - 28px); }
    h2 { font-size: clamp(2.25rem, 11vw, 3.2rem); }
    .section { padding: 78px 0; }
    .split-heading { grid-template-columns: 1fr; gap: 22px; }
    .utility-contact { justify-content: center; }
    .utility-contact a:last-of-type { display: none; }
    .we-hero { min-height: 690px; }
    .we-hero .home-hero-media { background-position: 67% center; }
    .we-hero .home-hero-shade { background: linear-gradient(90deg, rgba(6, 18, 13, .94), rgba(6, 18, 13, .58)), linear-gradient(0deg, rgba(6, 18, 13, .55), transparent); }
    .we-hero .home-hero-content { padding: 74px 0 105px; }
    .we-hero h1 { font-size: clamp(3rem, 14.5vw, 4.25rem); }
    .we-hero .hero-summary { font-size: .94rem; }
    .we-hero .hero-actions { align-items: stretch; flex-direction: column; }
    .we-hero .hero-actions .btn { width: 100%; }
    .we-facts .fact-row > div { padding: 24px 17px; }
    .we-facts .fact-row > div:first-child { padding-left: 17px; }
    .we-facts .fact-row strong { font-size: 1.25rem; }
    .we-facts .fact-row span { font-size: .61rem; }
    .we-collections .category-grid { grid-template-columns: 1fr; }
    .we-collections .category-copy { padding: 24px 22px 27px; }
    .factory-collage { grid-template-columns: 1fr .72fr; min-height: 390px; gap: 9px; }
    .factory-photo-main img { height: 390px; }
    .factory-photo-detail { margin-bottom: 36px !important; }
    .factory-photo-detail img { height: 210px; }
    .factory-year { right: 0; bottom: -13px; width: 130px; padding: 14px; }
    .factory-story-copy { padding-top: 20px; }
    .factory-points > div { grid-template-columns: 1fr; gap: 6px; }
    .we-use-cases .scene-grid { grid-template-columns: 1fr 1fr; gap: 18px 10px; }
    .we-use-cases .category-copy { padding-top: 15px; }
    .we-use-cases .category-copy h3 { font-size: 1.04rem; }
    .we-use-cases .category-copy p:not(.micro), .we-use-cases .category-copy .text-link { display: none; }
    .process-steps { grid-template-columns: 1fr; }
    .process-steps article, .process-steps article:first-child, .process-steps article:nth-child(3) { display: grid; grid-template-columns: 45px 1fr; gap: 12px; min-height: 0; padding: 25px 0; border-right: 0; border-top: 1px solid var(--we-white-line); }
    .process-steps article:first-child { border-top: 0; }
    .process-steps span { margin: 4px 0 0; }
    .we-selected-products .product-grid { grid-template-columns: 1fr; }
    .we-selected-products .product-copy h3, .we-selected-products .product-copy p:not(.micro) { min-height: 0; }
    .footer-statement { padding: 62px 0; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-scroll span::after { animation: none; }
    .we-hero .home-hero-media { background-position-y: center; }
}
