:root {
    --ink: #17201d;
    --muted: #68736d;
    --paper: #f7f6f2;
    --white: #ffffff;
    --green: #2f6554;
    --green-dark: #1f493c;
    --coral: #c9664f;
    --line: #dfe3df;
    --shadow: 0 18px 50px rgba(23, 32, 29, 0.12);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    line-height: 1.65;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

.siteHeader {
    min-height: 70px;
    padding: 0 5vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 20;
}

.brand { font-size: 20px; font-weight: 800; letter-spacing: 0; }
.siteNav { display: flex; align-items: center; gap: 24px; font-size: 14px; }
.siteNav a:hover { color: var(--coral); }
.cartLink { font-weight: 700; }

.hero {
    min-height: 74vh;
    max-height: 820px;
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #29332f;
}

.heroImage, .heroShade { position: absolute; inset: 0; width: 100%; height: 100%; }
.heroImage { object-fit: cover; }
.heroShade { background: linear-gradient(90deg, rgba(18, 27, 23, .78), rgba(18, 27, 23, .2) 70%); }

.heroContent {
    position: relative;
    width: min(760px, 92vw);
    padding: 80px 5vw 72px;
    color: var(--white);
}

.eyebrow { margin: 0 0 12px; color: var(--coral); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.hero .eyebrow { color: #f3baaa; }
h1, h2, h3, p { letter-spacing: 0; }
h1 { margin: 0; font-size: clamp(48px, 7vw, 92px); line-height: 1; }
h2 { margin: 0; font-size: clamp(30px, 4vw, 52px); line-height: 1.15; }
.heroCopy { max-width: 620px; margin: 24px 0 30px; font-size: 18px; }
.heroActions { display: flex; flex-wrap: wrap; gap: 12px; }

.button, button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    border: 0;
    border-radius: 4px;
    padding: 13px 20px;
    font-weight: 750;
    cursor: pointer;
}

.button.primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--green); color: var(--white); }
.button.primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--green-dark); color: var(--white); }
.button.ghost { color: var(--white); border: 1px solid rgba(255,255,255,.72); }

.stats { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 42px; }
.stats span { display: grid; font-size: 12px; color: rgba(255,255,255,.78); }
.stats strong { font-size: 17px; color: var(--white); }

.section { width: min(1180px, 90vw); margin: 0 auto; padding: 90px 0; }
.intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; }
.intro > p { margin: 0; color: var(--muted); font-size: 17px; }
.sectionHeading { margin-bottom: 34px; }

.productGrid, .reviewGrid, .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.productCard, .reviewGrid article, .woocommerce ul.products li.product {
    margin: 0 !important;
    width: auto !important;
    padding: 24px;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 6px;
}

.productCard h3, .reviewGrid h3 { margin-top: 0; }
.productCard p, .reviewGrid p { color: var(--muted); }
.productCard span { font-weight: 750; color: var(--green); }
.woocommerce ul.products li.product img { border-radius: 4px; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .price { color: var(--coral); font-weight: 800; }

.band { padding: 28px 5vw; background: var(--green-dark); color: var(--white); }
.proofGrid { width: min(1180px, 100%); margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.proofGrid div { display: flex; align-items: center; gap: 10px; }
.proofGrid span { color: #8ed1b8; font-weight: 900; }

.siteFooter {
    padding: 48px 5vw;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    background: #101714;
    color: var(--white);
}
.siteFooter p { margin: 8px 0 0; color: #aeb9b4; }
.siteFooter a { color: #f3baaa; font-weight: 700; }

.woocommerce main, .woocommerce-page main, .site-main, article.page {
    width: min(1180px, 90vw);
    margin: 0 auto;
    padding: 64px 0;
}
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--green); background: var(--white); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--green); }

@media (max-width: 820px) {
    .siteHeader { padding: 0 20px; }
    .siteNav { gap: 12px; }
    .hero { min-height: 680px; }
    .heroContent { padding: 70px 24px 52px; }
    .intro { grid-template-columns: 1fr; gap: 24px; }
    .productGrid, .reviewGrid, .woocommerce ul.products { grid-template-columns: 1fr; }
    .proofGrid { grid-template-columns: 1fr 1fr; }
    .woocommerce div.product { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .siteHeader { min-height: 62px; }
    .siteNav > a:not(.cartLink) { display: none; }
    .heroActions { display: grid; }
    .button { text-align: center; }
    .stats { gap: 18px; }
    .section { padding: 64px 0; }
    .proofGrid { grid-template-columns: 1fr; }
    .siteFooter { flex-direction: column; }
}
