:root{
            --forest:#183b25;
            --forest-2:#234b2e;
            --leaf:#315f39;
            --cinnamon:#a9794f;
            --cinnamon-dark:#865d3c;
            --cream:#f8f5ee;
            --cream-2:#eee8dc;
            --ink:#1c261f;
            --muted:#6f756e;
            --white:#fff;
            --line:#dfd9cc;
            --shadow:0 22px 50px rgba(24,59,37,.12);
            --radius:22px;
            --serif:"Cormorant Garamond", Georgia, serif;
            --sans:"DM Sans", Arial, sans-serif;
        }

        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:#fbfaf7;
            font-family:var(--sans);
            line-height:1.6;
            overflow-x:hidden;
        }
        img{display:block;max-width:100%}
        a{color:inherit;text-decoration:none}
        button,input,textarea,select{font:inherit}
        .container{width:min(1160px,92%);margin-inline:auto}
        .section{padding:96px 0}
        .eyebrow{
            font-size:.72rem;
            letter-spacing:.26em;
            text-transform:uppercase;
            font-weight:700;
            color:var(--cinnamon);
            margin-bottom:12px;
        }
        .section-title{
            font-family:var(--serif);
            font-size:clamp(2.4rem,4.8vw,4.2rem);
            line-height:.95;
            margin:0;
            color:var(--ink);
            font-weight:700;
        }
        .section-lead{
            color:var(--muted);
            max-width:650px;
            margin:18px 0 0;
        }
        .btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            border:1px solid transparent;
            border-radius:10px;
            padding:13px 20px;
            font-size:.88rem;
            font-weight:700;
            transition:.25s ease;
            cursor:pointer;
        }
        .btn-primary{
            background:var(--forest);
            color:#fff;
        }
        .btn-primary:hover{background:#0f2b19;transform:translateY(-2px)}
        .btn-light{
            background:#fff;
            border-color:#d8d0c2;
            color:var(--forest);
        }
        .btn-light:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
        .btn-cinnamon{
            background:var(--cinnamon);
            color:#fff;
        }
        .btn-cinnamon:hover{background:var(--cinnamon-dark);transform:translateY(-2px)}
        .arrow{font-size:1rem}

        /* Header */
        .site-header{
            position:fixed;
            inset:0 0 auto 0;
            z-index:100;
            padding:14px 0;
            transition:.3s ease;
        }
        .site-header.scrolled{
            background:rgba(251,250,247,.92);
            backdrop-filter:blur(18px);
            box-shadow:0 8px 28px rgba(23,44,30,.08);
        }
        .nav{
            width:min(1260px,94%);
            margin:auto;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:28px;
        }
        .brand img{
            width:180px;
            height:auto;
            mix-blend-mode:multiply;
        }
        .nav-links{
            display:flex;
            align-items:center;
            gap:28px;
            font-size:.78rem;
            font-weight:600;
        }
        .nav-links a{
            position:relative;
            /* color:#28322c; */
        }
        .nav-links a::after{
            content:"";
            position:absolute;
            left:0;right:100%;bottom:-7px;
            height:2px;background:var(--forest);
            transition:.25s;
        }
        .nav-links a:hover::after,
        .nav-links a.active::after{right:0}
        .nav-cta{margin-left:6px}
        .menu-toggle{
            position:relative;
            display:none;
            width:42px;height:42px;border:1px solid #d7d2c7;
            background:#fff;border-radius:10px;
            align-items:center;justify-content:center;
            cursor:pointer;
        }
        .menu-toggle span,.menu-toggle::before,.menu-toggle::after{
            content:"";
            width:19px;height:2px;background:var(--forest);
            display:block;position:absolute;
        }
        .menu-toggle span{opacity:0}
        .menu-toggle::before{transform:translateY(-6px)}
        .menu-toggle::after{transform:translateY(6px)}

        /* Hero Slider */
        .hero-slider{
            min-height:820px;
            position:relative;
            overflow:hidden;
            background:#f7f3eb;
        }

        .hero-slides{
            position:relative;
            width:100%;
            min-height:820px;
        }

        .hero-slide{
            position:absolute;
            inset:0;
            min-height:820px;
            opacity:0;
            visibility:hidden;
            pointer-events:none;
            transform:scale(1.01);
            transition:
                opacity .65s ease,
                visibility .65s ease,
                transform 1s ease;
        }

        .hero-slide.is-active{
            opacity:1;
            visibility:visible;
            pointer-events:auto;
            transform:scale(1);
            z-index:2;
        }

        .hero-bg{
            position:absolute;
            inset:0;
            background-position:center;
            background-size:cover;
            background-repeat:no-repeat;
        }

        .hero-bg{
            background-image:
                linear-gradient(
                    90deg,
                    rgba(247,243,235,.98) 0%,
                    rgba(247,243,235,.92) 30%,
                    rgba(247,243,235,.30) 64%,
                    rgba(247,243,235,.06) 100%
                ),
                var(--hero-image, none);
        }

        .hero-slider::after{
            content:"";
            position:absolute;
            right:-100px;
            bottom:-120px;
            width:520px;
            height:520px;
            background:radial-gradient(circle,rgba(140,99,62,.22),transparent 68%);
            pointer-events:none;
            z-index:3;
        }

        .hero-content{
            width:min(1160px,92%);
            min-height:820px;
            margin:auto;
            position:relative;
            z-index:4;
            display:flex;
            align-items:center;
            padding-top:150px;
            padding-bottom:90px;
        }

        .hero-copy{
            width:min(700px,100%);
        }

        .hero h1,
        .hero .hero-title{
            font-family:var(--serif);
            font-size:clamp(3.6rem,6.4vw,6rem);
            line-height:.84;
            letter-spacing:-.02em;
            margin:0;
            color:#13241a;
            max-width:720px;
        }

        .hero h1 em,
        .hero .hero-title em{
            font-style:normal;
            color:var(--cinnamon);
        }

        .hero p{
            max-width:560px;
            color:#4e564f;
            margin:24px 0 28px;
            font-size:1rem;
        }

        .hero-actions{
            display:flex;
            flex-wrap:wrap;
            gap:12px;
        }

        .hero-note{
            margin-top:25px;
            display:flex;
            align-items:center;
            gap:10px;
            color:#4d564f;
            font-size:.8rem;
        }

        .hero-note::before{
            content:"";
            width:46px;
            height:1px;
            background:var(--cinnamon);
        }

        .hero-tag{
            position:absolute;
            right:7%;
            top:44%;
            color:#f4ede1;
            font-family:var(--serif);
            font-size:1.7rem;
            transform:rotate(-9deg);
            text-align:center;
            text-shadow:0 2px 12px rgba(0,0,0,.22);
            max-width:170px;
        }

        .hero-slider-nav{
            position:absolute;
            left:50%;
            bottom:34px;
            transform:translateX(-50%);
            z-index:8;
            width:min(1160px,92%);
            display:flex;
            align-items:center;
            justify-content:flex-end;
            gap:9px;
        }

        .hero-dots{
            display:flex;
            gap:7px;
            align-items:center;
            padding:7px 9px;
            background:rgba(255,255,255,.82);
            backdrop-filter:blur(10px);
            border:1px solid rgba(32,57,40,.11);
            border-radius:999px;
        }

        .hero-dot{
            width:24px;
            height:5px;
            border:0;
            border-radius:999px;
            background:#cfc7b9;
            cursor:pointer;
            transition:.25s;
            padding:0;
        }

        .hero-dot.is-active{
            width:38px;
            background:var(--forest);
        }

        .hero-arrow{
            width:38px;
            height:38px;
            border-radius:50%;
            border:1px solid rgba(32,57,40,.15);
            background:rgba(255,255,255,.88);
            color:var(--forest);
            cursor:pointer;
            font-weight:700;
            transition:.2s;
        }

        .hero-arrow:hover{
            background:#fff;
            transform:translateY(-2px);
        }

        /* Trust bar */

        .trust-bar{
            position:relative;
            z-index:3;
            margin-top:-1px;
            background:#fff;
            border-top:1px solid rgba(28,38,31,.07);
            border-bottom:1px solid rgba(28,38,31,.07);
        }
        .trust-grid{
            display:grid;
            grid-template-columns:repeat(4,1fr);
        }
        .trust-item{
            min-height:120px;
            display:flex;
            align-items:center;
            gap:14px;
            padding:25px 26px;
            border-right:1px solid var(--line);
        }
        .trust-item:last-child{border-right:0}
        .trust-icon{
            flex:0 0 42px;height:42px;border-radius:50%;
            display:grid;place-items:center;
            background:#edf4ed;color:var(--forest);
            font-size:1.12rem;
        }
        .trust-icon svg{
            width:20px;height:20px;fill:none;stroke:currentColor;
            stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
        }
        .trust-item strong{display:block;font-family:var(--serif);font-size:1.15rem}
        .trust-item span{display:block;color:var(--muted);font-size:.72rem;line-height:1.35}

        /* About */
        .about-grid{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:68px;
            align-items:center;
        }
        .about-visual{
            position:relative;
            min-height:530px;
        }
        .about-main{
            position:absolute;
            inset:0 60px 40px 0;
            border-radius:26px;
            background:
                linear-gradient(180deg,rgba(23,59,37,.05),rgba(23,59,37,.15)),
                var(--about-image, none) center/cover;
            box-shadow:var(--shadow);
        }
        .about-card{
            position:absolute;
            right:0;bottom:0;
            width:230px;
            padding:18px;
            background:#fff;
            border:1px solid #e6dfd2;
            border-radius:18px;
            box-shadow:0 20px 45px rgba(0,0,0,.12);
        }
        .about-card img{
            height:128px;width:100%;object-fit:cover;border-radius:12px;
        }
        .about-card strong{display:block;font-family:var(--serif);font-size:1.35rem;margin-top:12px}
        .about-card span{font-size:.74rem;color:var(--muted)}
        .about-copy p{color:var(--muted);margin:0 0 16px}
        .about-copy .btn{margin-top:12px}

        /* Products */
        .products-section{
            background:linear-gradient(180deg,#f3efe6 0%,#faf8f2 100%);
            position:relative;
        }
        .products-head{
            display:flex;
            justify-content:space-between;
            gap:40px;
            align-items:end;
            margin-bottom:38px;
        }
        .products-head .section-lead{max-width:390px;margin:0}
        .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
        .product-card{
            background:#fff;
            border:1px solid #e6dfd4;
            border-radius:18px;
            overflow:hidden;
            transition:.25s ease;
        }
        .product-card:hover{
            transform:translateY(-7px);
            box-shadow:var(--shadow);
        }
        .product-image{
            height:250px;
            background-position:center;
            background-size:cover;
        }
        .product-content{padding:24px}
        .product-content h3{
            font-family:var(--serif);
            font-size:1.65rem;
            margin:0 0 8px;
        }
        .product-content p{font-size:.82rem;color:var(--muted);margin:0 0 17px}
        .product-meta{
            display:grid;grid-template-columns:1fr 1fr;
            gap:10px;padding:14px;border-radius:13px;background:#f7f4ed;
            margin-bottom:17px;
        }
        .meta-row span{display:block;font-size:.66rem;color:#85877f;text-transform:uppercase;letter-spacing:.08em}
        .meta-row strong{display:block;font-size:.75rem;color:#39443b}
        .product-content .btn{padding:10px 14px;font-size:.76rem}

        /* Why us */
        .why-grid{display:grid;grid-template-columns:1.05fr 1.95fr;gap:70px;align-items:start}
        .why-copy{position:sticky;top:120px}
        .reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
        .reason-card{
            padding:26px;background:#fff;border:1px solid #e5dfd3;border-radius:18px;
            min-height:190px;
        }
        .reason-number{font-family:var(--serif);font-size:1.25rem;color:var(--cinnamon)}
        .reason-card h3{font-family:var(--serif);font-size:1.45rem;margin:22px 0 7px}
        .reason-card p{font-size:.8rem;color:var(--muted);margin:0}

        /* Sourcing */
        .sourcing{
            background:var(--forest);
            color:#fff;
            position:relative;
            overflow:hidden;
        }
        .sourcing::before{
            content:"";
            position:absolute;inset:0;
            background:
                radial-gradient(circle at 80% 20%, rgba(158,116,76,.28),transparent 30%),
                radial-gradient(circle at 10% 80%, rgba(87,137,91,.22),transparent 35%);
        }
        .sourcing .section-title,.sourcing p{color:#fff}
        .sourcing .section-lead{color:rgba(255,255,255,.72)}
        .journey{
            margin-top:44px;
            display:grid;grid-template-columns:repeat(5,1fr);
            gap:12px;position:relative;
        }
        .journey::before{
            content:"";position:absolute;left:8%;right:8%;top:57%;
            border-top:1px dashed rgba(255,255,255,.35);
        }
        .journey-step{position:relative;z-index:2}
        .journey-photo{
            height:125px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
            background-size:cover;background-position:center;
        }
        .journey-step h4{font-family:var(--serif);font-size:1.1rem;margin:14px 0 4px}
        .journey-step p{font-size:.72rem;color:rgba(255,255,255,.62);margin:0}

        /* Partners */
        .partners{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:45px;
            align-items:center;
        }
        .partner-visual{
            min-height:410px;
            border-radius:28px;
            background:
                linear-gradient(120deg,rgba(30,67,40,.18),rgba(30,67,40,.02)),
                var(--partner-image, none) center/cover;
        }
        .partner-copy .quote{
            font-family:var(--serif);
            font-size:clamp(2rem,3.4vw,3.1rem);
            line-height:1.02;
            margin:10px 0 22px;
        }
        .partner-copy p{color:var(--muted)}
        .partner-points{
            margin:24px 0 0;padding:0;list-style:none;
            display:grid;grid-template-columns:1fr 1fr;gap:10px;
        }
        .partner-points li{
            padding:12px 13px;background:#f5f2ea;border-radius:12px;font-size:.75rem;
            color:#465047;
        }

        /* Gallery */
        .gallery-head{
            display:flex;justify-content:space-between;align-items:end;gap:30px;
            margin-bottom:30px;
        }
        .gallery-grid{
            display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:180px;gap:13px;
        }
        .gallery-item{
            border-radius:15px;overflow:hidden;position:relative;background-size:cover;background-position:center;
            border:0;padding:0;width:100%;cursor:zoom-in;background-color:var(--cream-2);
        }
        .gallery-item:focus-visible{outline:3px solid var(--cinnamon);outline-offset:3px}
        .gallery-item::after{
            content:"";position:absolute;inset:0;
            background:linear-gradient(180deg,transparent 45%,rgba(10,28,17,.68));
        }
        .gallery-item span{
            position:absolute;left:15px;bottom:12px;color:#fff;z-index:2;font-size:.73rem;font-weight:600;
        }
        .gallery-item.big{grid-row:span 2}

        /* Quote CTA */
        .quote-band{
            padding:42px 0;
            background:
                linear-gradient(90deg,rgba(23,59,37,.95),rgba(23,59,37,.82)),
                var(--quote-image, none) center/cover;
            color:#fff;
        }
        .quote-band-inner{
            display:flex;align-items:center;justify-content:space-between;gap:25px
        }
        .quote-band h2{font-family:var(--serif);font-size:clamp(2.2rem,4.2vw,3.7rem);line-height:.96;margin:0 0 8px}
        .quote-band p{margin:0;color:rgba(255,255,255,.72)}
        .quote-band .btn{flex:none}

        /* Contact */
        .contact{
            background:#f4f0e8;
        }
        .contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:start}
        .contact-copy p{color:var(--muted)}
        .contact-form{
            background:#fff;border:1px solid #e4ddd1;border-radius:20px;padding:28px;box-shadow:0 16px 40px rgba(25,42,29,.07);
        }
        .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
        .field{margin-bottom:13px}
        .field label{display:block;font-size:.7rem;font-weight:700;color:#4f5851;margin-bottom:6px}
        .field input,.field textarea,.field select{
            width:100%;
            border:1px solid #d9d3c7;
            border-radius:11px;
            background:#fff;
            padding:12px 13px;
            outline:0;
            transition:.2s;
        }
        .field input:focus,.field textarea:focus,.field select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(24,59,37,.08)}
        .field textarea{min-height:120px;resize:vertical}
        .contact-list{display:grid;gap:13px;margin-top:28px}
        .contact-card{
            background:#fff;border:1px solid #e4ddd1;border-radius:16px;padding:16px 18px;
        }
        .contact-card span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cinnamon)}
        .contact-card strong{display:block;margin-top:4px;font-size:.84rem}

        /* Footer */
        footer{
            background:#132d1c;
            color:#fff;
            padding:58px 0 26px;
        }
        .footer-grid{
            display:grid;grid-template-columns:1.6fr 1fr .8fr 1.2fr;gap:42px;
            padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);
        }
        .footer-brand img{width:210px;filter:brightness(0) invert(1);opacity:.97}
        .footer-brand p{color:rgba(255,255,255,.63);font-size:.76rem;max-width:300px;margin:17px 0 0}
        .footer h4{font-family:var(--serif);font-size:1.35rem;margin:0 0 14px}
        .footer-links{display:grid;gap:8px}
        .footer-links a{font-size:.75rem;color:rgba(255,255,255,.67)}
        .footer-links a:hover{color:#fff}
        .footer-bottom{
            padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;
            color:rgba(255,255,255,.48);font-size:.67rem;
        }

        /* Reveal */
        .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
        .reveal.is-visible{opacity:1;transform:none}

        @media (max-width:1050px){
            .nav-links{gap:19px}
            .hero-slider,.hero-slides,.hero-slide,.hero-content{min-height:700px}
            .trust-item{padding-inline:16px}
            .about-grid,.partners{gap:38px}
            .footer-grid{grid-template-columns:1.3fr 1fr 1fr;}.footer-news{display:none}
        }

        @media (max-width:820px){
            .site-header{padding:10px 0}
            .brand img{width:155px}
            .menu-toggle{display:flex}
            .nav-links{
                position:absolute;top:70px;left:4%;right:4%;
                flex-direction:column;align-items:stretch;gap:0;
                background:#fff;border:1px solid #ded8cc;border-radius:16px;
                box-shadow:0 20px 40px rgba(23,45,29,.13);
                padding:10px;opacity:0;visibility:hidden;transform:translateY(-7px);
                transition:.2s;
            }
            .nav-links.open{opacity:1;visibility:visible;transform:none}
            .nav-links a{padding:13px 12px;border-radius:9px}
            .nav-links a:hover{background:#f5f3ed}
            .nav-links a::after{display:none}
            .nav-cta{margin:2px 0 0}
            .nav-cta .btn{width:100%}

            .hero-slider,.hero-slides,.hero-slide,.hero-content{min-height:730px}
            .hero-content{padding-top:120px}
            .hero-bg{background-position:60% center}
            .hero-tag{display:none}
            .hero-bg::after{content:"";position:absolute;inset:0;background:rgba(247,243,235,.8)}
            .trust-grid{grid-template-columns:1fr 1fr}
            .trust-item:nth-child(2){border-right:0}
            .trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
            .about-grid,.partners,.contact-grid{grid-template-columns:1fr}
            .about-visual{min-height:470px}
            .why-grid{grid-template-columns:1fr}
            .why-copy{position:static}
            .journey{grid-template-columns:1fr 1fr}
            .journey::before{display:none}
            .product-grid{grid-template-columns:1fr 1fr}
            .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
            .gallery-item.big{grid-row:span 2}
            .footer-grid{grid-template-columns:1fr 1fr}
        }

        @media (max-width:560px){
            .section{padding:72px 0}
            .hero-slider,.hero-slides,.hero-slide,.hero-content{min-height:880px}
            .hero-content{padding-bottom:110px}
            .hero h1,.hero .hero-title{font-size:3.5rem}
            .hero-actions{flex-direction:column;align-items:stretch}
            .hero-actions .btn{width:100%}
            .trust-grid,.product-grid,.reason-grid,.journey,.field-grid,.partner-points,.footer-grid{grid-template-columns:1fr}
            .trust-item{border-right:0!important}
            .trust-item:not(:last-child){border-bottom:1px solid var(--line)}
            .products-head,.gallery-head,.quote-band-inner,.footer-bottom{display:block}
            .products-head .section-lead{margin-top:16px}
            .about-main{inset:0 28px 35px 0}
            .about-card{width:200px}
            .gallery-grid{grid-template-columns:1fr;grid-auto-rows:185px}
            .gallery-item.big{grid-row:span 1}
            .quote-band .btn{margin-top:22px;width:100%}
        }
        /* Multi-page additions */
        body{background:#fbfaf7}
        img{max-width:100%}
        .topbar{
            background:#173b25;
            color:rgba(255,255,255,.72);
            font-size:.66rem;
            letter-spacing:.04em;
        }
        .topbar-inner{
            width:min(1260px,94%);
            margin:auto;
            min-height:32px;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:20px;
        }
        .site-header{top:32px}
        .nav-cta{margin-left:4px!important}
        .section-head-actions{display:flex;align-items:flex-end;gap:20px}
        .text-link{color:var(--forest);font-size:.77rem;font-weight:700;white-space:nowrap}
        .text-link:hover{text-decoration:underline}
        .products-home-cta{display:flex;justify-content:center;margin-top:28px}
        .product-card-catalog .product-image{
            height:auto;
            aspect-ratio:1.36/1;
            background:#eaf6fb;
            overflow:hidden;
            position:relative;
        }
        .product-card-catalog .product-image img{
            width:100%;
            height:100%;
            object-fit:contain;
            transition:transform .35s ease;
        }
        .product-card-catalog:hover .product-image img{transform:scale(1.045)}
        .product-card-image-link{display:block}
        .product-image-overlay{
            position:absolute;
            left:14px;
            bottom:14px;
            opacity:0;
            transform:translateY(8px);
            transition:.25s;
            background:rgba(24,59,37,.95);
            color:#fff;
            border-radius:999px;
            padding:8px 12px;
            font-size:.67rem;
            font-weight:700;
        }
        .product-card-catalog:hover .product-image-overlay{opacity:1;transform:none}
        .inner-hero{
            min-height:430px;
            display:flex;
            align-items:center;
            position:relative;
            overflow:hidden;
            color:#fff;
            background:
                linear-gradient(90deg,rgba(16,40,25,.92),rgba(16,40,25,.64),rgba(16,40,25,.18)),
                var(--inner-bg, linear-gradient(var(--forest),var(--forest))) center/cover;
        }
        .inner-hero .container{padding-top:120px;padding-bottom:56px}
        .inner-hero h1{
            max-width:800px;
            font-family:var(--serif);
            font-size:clamp(3.1rem,6vw,5.4rem);
            line-height:.92;
            margin:0;
        }
        .inner-hero p{max-width:690px;color:rgba(255,255,255,.78);margin-top:18px}
        .story-grid{
            display:grid;
            grid-template-columns:.9fr 1.1fr;
            gap:70px;
            align-items:start;
        }
        .story-grid p{color:var(--muted)}
        .section-dark-cta{margin-top:30px}
        .product-grid-three{grid-template-columns:repeat(3,1fr)}
        .product-detail-section{background:#fff}
        .product-detail-grid{
            display:grid;
            grid-template-columns:1.08fr .92fr;
            gap:70px;
            align-items:start;
        }
        .product-gallery{
            position:relative;
            background:#eaf6fb;
            border-radius:22px;
            overflow:hidden;
            border:1px solid #dbe5e8;
        }
        .product-gallery-main{
            position:relative;
            aspect-ratio:1.28/1;
            display:flex;
            align-items:center;
            justify-content:center;
            overflow:hidden;
        }
        .product-gallery-main > img{
            width:100%;
            height:100%;
            object-fit:contain;
            cursor:zoom-in;
        }
        .gallery-nav{
            position:absolute;
            top:50%;
            transform:translateY(-50%);
            width:42px;height:42px;border-radius:50%;
            border:1px solid rgba(24,59,37,.15);
            background:rgba(255,255,255,.9);
            color:var(--forest);z-index:3;
            cursor:pointer;font-weight:700;
        }
        .gallery-prev{left:14px}.gallery-next{right:14px}
        .zoom-trigger{
            position:absolute;
            right:16px;
            bottom:16px;
            border:0;
            border-radius:999px;
            padding:10px 14px;
            background:rgba(24,59,37,.95);
            color:#fff;
            cursor:pointer;
            font-size:.68rem;
            font-weight:700;
        }
        .product-thumbs{
            display:flex;
            gap:10px;
            flex-wrap:wrap;
            padding:12px;
            background:#f8fbfc;
            border-top:1px solid #dbe5e8;
        }
        .product-thumb{
            width:76px;
            height:64px;
            padding:3px;
            background:#fff;
            border:1px solid #d4dde0;
            border-radius:9px;
            cursor:pointer;
            overflow:hidden;
        }
        .product-thumb img{
            width:100%;
            height:100%;
            object-fit:contain;
        }
        .product-thumb.is-active{border:2px solid var(--forest)}
        .product-gallery-counter{
            padding:9px 13px;
            font-size:.65rem;
            color:#6e7770;
            background:#f8fbfc;
        }
        .product-detail-copy{position:sticky;top:120px}
        .product-detail-description{color:var(--muted);margin:18px 0 22px}
        .detail-box{
            border:1px solid #e0d9ce;
            border-radius:17px;
            overflow:hidden;
            background:#fff;
        }
        .detail-box-title{
            padding:14px 17px;
            background:#f5f1e8;
            font-size:.7rem;
            letter-spacing:.08em;
            text-transform:uppercase;
            font-weight:700;
            color:#697068;
        }
        .detail-spec{
            display:grid;
            grid-template-columns:18px 1fr;
            gap:6px;
            padding:12px 17px;
            border-top:1px solid #ece6db;
            font-size:.76rem;
            line-height:1.4;
        }
        .detail-spec span{color:var(--cinnamon)}
        .detail-meta{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:10px;
            margin-top:18px;
        }
        .detail-meta > div{
            padding:13px;
            background:#f8f5ef;
            border-radius:12px;
        }
        .detail-meta span{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#8a8d87}
        .detail-meta strong{display:block;font-size:.74rem;margin-top:4px}
        .detail-actions{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-top:22px;
        }
        .product-lightbox{
            position:fixed;
            inset:0;
            display:none;
            align-items:center;
            justify-content:center;
            background:rgba(6,18,10,.94);
            z-index:9999;
            padding:28px;
        }
        .product-lightbox.is-open{display:flex}
        body.modal-open{overflow:hidden}
        .lightbox-stage{
            width:min(92vw,1150px);
            height:min(82vh,820px);
            display:flex;
            align-items:center;
            justify-content:center;
            overflow:hidden;
            background:rgba(255,255,255,.03);
            border-radius:15px;
        }
        .lightbox-stage img{
            max-width:100%;
            max-height:100%;
            object-fit:contain;
            transition:transform .25s ease;
            cursor:zoom-in;
        }
        .lightbox-stage img.zoomed{
            max-width:none;
            max-height:none;
            width:auto;
            height:100%;
            transform:scale(1.45);
            cursor:zoom-out;
        }
        .lightbox-close{
            position:absolute;
            top:18px;right:22px;
            width:44px;height:44px;border-radius:50%;
            background:#fff;border:0;color:var(--forest);
            font-size:1.5rem;cursor:pointer;z-index:5;
        }
        .lightbox-arrow{
            width:48px;height:48px;border:1px solid rgba(255,255,255,.2);
            border-radius:50%;background:rgba(255,255,255,.12);
            color:#fff;cursor:pointer;font-size:1.1rem;z-index:5;
            margin:0 20px;
        }
        .lightbox-caption{
            position:absolute;
            bottom:16px;
            left:50%;
            transform:translateX(-50%);
            color:rgba(255,255,255,.78);
            font-size:.7rem;
        }
        .related-products{margin-top:30px}
        @media (max-width:1050px){
            .topbar-inner{width:94%}
            .product-grid-three{grid-template-columns:repeat(3,1fr)}
            .product-detail-grid{gap:35px}
        }
        @media (max-width:820px){
            .topbar{display:none}
            .site-header{top:0}
            .product-grid-three{grid-template-columns:1fr 1fr}
            .story-grid,.product-detail-grid{grid-template-columns:1fr}
            .product-detail-copy{position:static}
            .detail-meta{grid-template-columns:1fr}
            .inner-hero{min-height:370px}
            .inner-hero h1{font-size:3.6rem}
            .section-head-actions{align-items:flex-start}
        }
        @media (max-width:560px){
            .product-grid-three{grid-template-columns:1fr}
            .inner-hero{min-height:330px}
            .inner-hero h1{font-size:2.9rem}
            .product-actions,.detail-actions{flex-direction:column;align-items:stretch}
            .product-actions .btn,.detail-actions .btn{width:100%}
            .lightbox-arrow{margin:0 7px}
            .lightbox-stage img.zoomed{transform:scale(1.2)}
        }

        /* Header sits above busy hero photos on every page, so it needs its own background */
        .site-header{
            background:rgba(251,250,247,.96);
            backdrop-filter:blur(18px);
            box-shadow:0 8px 28px rgba(23,44,30,.08);
        }
        .nav-links a.active{color:var(--forest)}

        /* Breadcrumb */
        .breadcrumb{
            display:flex;flex-wrap:wrap;gap:8px;
            margin-bottom:18px;
            font-size:.72rem;color:rgba(255,255,255,.7);
        }
        .breadcrumb a:hover{color:#fff;text-decoration:underline}
        .breadcrumb [aria-current]{color:#fff}

        /* Product detail facts */
        .detail-meta{grid-template-columns:repeat(2,1fr);margin-bottom:0}
        .detail-meta dt{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#8a8d87}
        .detail-meta dd{display:block;font-size:.8rem;font-weight:600;margin:4px 0 0}

        @media (max-width:820px){
            .inner-hero .container{padding-top:100px;padding-bottom:44px}
        }
        .product-thumbs[hidden],.product-gallery-counter[hidden],.gallery-nav[hidden],.lightbox-arrow[hidden]{display:none}

        /* Product cards: equal-height cards with aligned buttons */
        .product-card-catalog{display:flex;flex-direction:column}
        .product-card-catalog .product-content{display:flex;flex-direction:column;flex:1}
        .product-card-catalog .product-content p{flex:1}
        .product-card-catalog .product-content .btn{align-self:flex-start}
        .product-content h3{line-height:1.1}
        .product-kicker{
            font-size:.66rem;
            letter-spacing:.18em;
            text-transform:uppercase;
            font-weight:700;
            color:var(--cinnamon);
            margin-bottom:6px;
        }

        /* Inquiry form feedback */
        .form-alert{padding:12px 14px;border-radius:11px;font-size:.82rem;margin-bottom:16px}
        .form-alert-success{background:#edf4ed;color:var(--forest);border:1px solid #cfe1cf}
        .form-alert-error{background:#fbeeea;color:#8a3a22;border:1px solid #f0d2c8}
        .field input.is-invalid{border-color:#c0583a}
        .field-error{display:block;color:#a8462b;font-size:.7rem;margin-top:5px}
        .field-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
        .hero .hero-title{color:#13241a}
