
:root{--green:#173f2b;--green2:#2f6845;--sage:#dfe9df;--cream:#f7f4ed;--ink:#17211b;--muted:#657067;--line:#dce3dc;--white:#fff;--max:1180px;--radius:22px;--shadow:0 18px 50px rgba(23,63,43,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green2)}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.8rem,6vw,5.7rem)}h2{font-size:clamp(2rem,4vw,3.7rem)}h3{font-size:1.45rem}p{margin:0 0 18px}.muted{color:var(--muted)}
.topbar{background:var(--green);color:#eaf3ec;font-size:.86rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,227,220,.8)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.logo img{width:150px;height:auto}.nav-links{display:flex;align-items:center;gap:28px;font-weight:700;font-size:.94rem}.nav-links a:hover,.nav-links a.active{color:var(--green2)}.lang{padding:9px 13px;border:1px solid var(--line);border-radius:999px}.menu-btn{display:none;border:0;background:transparent;font-size:1.7rem}
.hero{min-height:760px;display:grid;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(10,34,22,.84),rgba(10,34,22,.18)),url('../images/sage.webp') center/cover}.hero-content{max-width:800px;padding:150px 0 95px}.hero p{font-size:1.18rem;max-width:660px;color:#edf4ee}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:var(--green);color:#fff;font-weight:800;border:1px solid var(--green)}.btn.light{background:#fff;color:var(--green);border-color:#fff}.btn.outline{background:transparent;border-color:rgba(255,255,255,.65)}
.section{padding:105px 0}.section.soft{background:var(--cream)}.section.green{background:var(--green);color:#fff}.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.photo-card img{width:100%;height:530px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.card .num{font-size:2.7rem;font-family:"Cormorant Garamond",Georgia,serif;color:var(--green2);line-height:1}.process{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:38px}.step{padding:23px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px}.step b{display:block;color:#bcd5c3;margin-bottom:8px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.product{min-height:230px;border-radius:18px;padding:24px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;position:relative;overflow:hidden}.product:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,35,22,.88),rgba(10,35,22,.05))}.product div{position:relative;z-index:1}.product small{display:block;opacity:.8}.cert-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center;margin-top:36px}.cert-logo{height:118px;padding:16px;border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;place-items:center}.cert-logo img{max-height:85px;max-width:100%;object-fit:contain}.cta{padding:60px;border-radius:28px;background:linear-gradient(120deg,var(--green),#315e42);color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta h2{font-size:clamp(2rem,4vw,3.2rem);max-width:720px}.page-hero{padding:120px 0 75px;background:var(--cream)}.page-hero p{max-width:760px;font-size:1.08rem}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.feature{padding:22px;border-left:4px solid var(--green2);background:var(--cream)}.timeline{display:grid;gap:18px}.timeline .item{padding:25px 28px;border:1px solid var(--line);border-radius:16px}.timeline b{color:var(--green2)}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cert-card{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff}.cert-card img{height:110px;margin:0 auto 22px;object-fit:contain}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-box{padding:32px;background:var(--cream);border-radius:20px}.form{display:grid;gap:16px}.form input,.form textarea{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:10px;font:inherit}.form textarea{min-height:150px}.footer{background:#102c1e;color:#dce8df;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer img{width:150px;filter:brightness(0) invert(1)}.footer a{display:block;margin:8px 0;color:#dce8df}.copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding-top:22px;font-size:.85rem;color:#aac0b0}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:22px 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-btn{display:block}.hero{min-height:650px}.intro-grid,.split,.contact-grid{grid-template-columns:1fr}.cards,.cert-grid{grid-template-columns:1fr 1fr}.process{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:1fr 1fr}.cert-row{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.photo-card img{height:420px}}
@media(max-width:600px){.container{width:min(100% - 28px,var(--max))}.topbar .container{flex-direction:column;gap:0}.section{padding:75px 0}.hero-content{padding:110px 0 70px}.cards,.cert-grid,.feature-list,.product-grid,.process{grid-template-columns:1fr}.cert-row{grid-template-columns:1fr 1fr}.cta{padding:38px 28px;display:block}.footer-grid{grid-template-columns:1fr}.photo-card img{height:340px}}

/* ===== Animated edition ===== */
body{overflow-x:hidden}
.site-header{transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.site-header.scrolled{box-shadow:0 12px 38px rgba(10,34,22,.12);background:rgba(255,255,255,.98)}
.logo img{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.logo:hover img{transform:scale(1.04) rotate(-1deg)}
.nav-links a{position:relative;transition:color .25s ease,transform .25s ease}
.nav-links a:not(.lang):after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green2);transition:right .3s ease}
.nav-links a:not(.lang):hover:after,.nav-links a.active:not(.lang):after{right:0}
.nav-links a:hover{transform:translateY(-1px)}

.hero{position:relative;isolation:isolate;overflow:hidden;background-position:center;animation:heroZoom 18s ease-in-out infinite alternate}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 78% 28%,rgba(206,231,207,.28),transparent 26%),linear-gradient(120deg,transparent 48%,rgba(255,255,255,.08) 49%,transparent 52%);background-size:auto,220% 100%;animation:heroShimmer 10s linear infinite}
.hero:after{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-140px;bottom:-190px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.02);animation:heroOrb 7s ease-in-out infinite}
.hero-content{position:relative;z-index:2}
.hero .eyebrow,.hero h1,.hero p,.hero .actions{opacity:0;transform:translateY(28px);animation:heroIn .9s cubic-bezier(.2,.8,.2,1) forwards}
.hero h1{animation-delay:.14s}.hero p{animation-delay:.28s}.hero .actions{animation-delay:.42s}.hero .eyebrow{animation-delay:.03s}
@keyframes heroIn{to{opacity:1;transform:none}}
@keyframes heroZoom{from{background-size:100% auto}to{background-size:108% auto}}
@keyframes heroShimmer{from{background-position:center,-220% 0}to{background-position:center,220% 0}}
@keyframes heroOrb{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-24px,-18px,0) scale(1.05)}}

.btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}
.btn:before{content:'';position:absolute;inset:0;transform:translateX(-120%) skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:transform .65s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,63,43,.2)}
.btn:hover:before{transform:translateX(120%) skewX(-18deg)}

.reveal{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.reveal-left{transform:translateX(-50px)}.reveal.reveal-right{transform:translateX(50px)}
.reveal.is-visible{opacity:1;transform:none}
.stagger > .reveal:nth-child(2){transition-delay:.08s}.stagger > .reveal:nth-child(3){transition-delay:.16s}.stagger > .reveal:nth-child(4){transition-delay:.24s}.stagger > .reveal:nth-child(5){transition-delay:.32s}.stagger > .reveal:nth-child(6){transition-delay:.4s}

.photo-card{position:relative;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.photo-card:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-120%);transition:transform .9s ease}
.photo-card:hover{transform:translateY(-8px) rotate(.35deg);box-shadow:0 28px 65px rgba(23,63,43,.2)}
.photo-card:hover:after{transform:translateX(120%)}
.photo-card img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}.photo-card:hover img{transform:scale(1.045)}

.card,.cert-card,.feature,.timeline .item,.contact-box{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}
.card:hover,.cert-card:hover,.timeline .item:hover{transform:translateY(-9px);box-shadow:0 22px 50px rgba(23,63,43,.12);border-color:#b7cbb9}
.card .num{transition:transform .45s ease}.card:hover .num{transform:translateX(6px) scale(1.08)}
.feature:hover{transform:translateX(7px);box-shadow:0 15px 30px rgba(23,63,43,.08)}

.green{position:relative;overflow:hidden}.green:before{content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(255,255,255,.035);right:-180px;top:-220px;animation:floatShape 9s ease-in-out infinite}.green .container{position:relative;z-index:1}
.process{counter-reset:steps}.step{position:relative;overflow:hidden;transition:transform .35s ease,background .35s ease,border-color .35s ease}.step:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:3px;background:#bad8c2;transition:right .6s ease}.step.is-visible:after{right:0}.step:hover{transform:translateY(-7px);background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.35)}
@keyframes floatShape{0%,100%{transform:translate(0,0)}50%{transform:translate(-35px,28px)}}

.product{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;background-size:cover}.product:before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.25);border-radius:18px;transform:scale(.92);opacity:0;z-index:2;transition:transform .45s ease,opacity .45s ease}.product:hover{transform:translateY(-10px);box-shadow:0 25px 55px rgba(23,63,43,.22);background-size:112%}.product:hover:before{transform:scale(.96);opacity:1}.product div{transition:transform .45s ease}.product:hover div{transform:translateY(-6px)}
.cert-logo{transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}.cert-logo img{filter:grayscale(.15);transition:transform .45s ease,filter .45s ease}.cert-logo:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(23,63,43,.12);border-color:#b7cbb9}.cert-logo:hover img{transform:scale(1.08);filter:none}
.cta{position:relative;overflow:hidden}.cta:after{content:'';position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-70px;top:-115px;animation:heroOrb 6s ease-in-out infinite}.cta>*{position:relative;z-index:1}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:var(--sage);right:-100px;top:-190px;opacity:.65;animation:floatShape 8s ease-in-out infinite}
.page-hero .container{position:relative;z-index:1}.page-hero .eyebrow,.page-hero h1,.page-hero p{opacity:0;transform:translateY(25px);animation:heroIn .8s ease forwards}.page-hero h1{animation-delay:.1s}.page-hero p{animation-delay:.22s}

@media(max-width:900px){@keyframes heroZoom{from{background-size:auto 100%}to{background-size:auto 108%}}.nav-links.open{animation:menuDrop .35s ease both}@keyframes menuDrop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Enhanced homepage slideshow */
.hero-slider{position:relative;height:min(760px,82vh);min-height:590px;overflow:hidden;background:#173d2d}
.hero-slider .slides,.hero-slider .slide{position:absolute;inset:0}
.hero-slider .slide{opacity:0;visibility:hidden;background-size:cover;background-position:center;transform:scale(1.05);transition:opacity .85s ease,visibility .85s,transform 7s ease}
.hero-slider .slide.active{opacity:1;visibility:visible;transform:scale(1)}
.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,22,.86) 0%,rgba(11,45,31,.62) 48%,rgba(11,45,31,.18) 100%)}
.hero-slider .hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:38px}
.hero-slider .hero-content>*{opacity:0;transform:translateY(24px)}
.hero-slider .slide.active .hero-content>*{animation:slideContent .75s forwards}
.hero-slider .slide.active .hero-content h1{animation-delay:.12s}.hero-slider .slide.active .hero-content p{animation-delay:.24s}.hero-slider .slide.active .hero-content .actions{animation-delay:.36s}
@keyframes slideContent{to{opacity:1;transform:none}}
.slider-arrow{position:absolute;z-index:5;top:50%;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(13,51,36,.3);color:#fff;font-size:32px;cursor:pointer;backdrop-filter:blur(6px);transition:.25s}
.slider-arrow:hover{background:#fff;color:#1b4b35;transform:scale(1.06)}.slider-arrow.prev{left:24px}.slider-arrow.next{right:24px}
.slider-dots{position:absolute;z-index:5;left:50%;bottom:28px;display:flex;gap:10px;transform:translateX(-50%)}
.slider-dots button{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer;transition:.25s}.slider-dots button.active{width:34px;border-radius:8px;background:#fff}
.slider-progress{position:absolute;z-index:5;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18)}.slider-progress span{display:block;width:0;height:100%;background:#c6d8ab}.hero-slider.running .slider-progress span{animation:sliderProgress 6.5s linear forwards}@keyframes sliderProgress{to{width:100%}}

/* Image-led storytelling sections */
.section-heading{max-width:720px;margin-bottom:34px}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.story-card{position:relative;min-height:340px;margin:0;overflow:hidden;border-radius:20px;background:#183e2d;box-shadow:0 18px 45px rgba(25,60,43,.14)}.story-card.wide{grid-column:span 2;min-height:450px}.story-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.story-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(7,31,22,.88))}.story-card figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff;display:flex;flex-direction:column;gap:5px}.story-card figcaption b{font-size:1.35rem}.story-card figcaption span{color:rgba(255,255,255,.82);max-width:560px}.story-card:hover img{transform:scale(1.055)}
.photo-stack{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:end}.photo-stack img{width:100%;height:430px;object-fit:cover;border-radius:20px}.photo-stack img+img{height:320px;margin-bottom:-38px}
@media(max-width:760px){.hero-slider{min-height:650px;height:82vh}.slider-arrow{width:40px;height:40px}.slider-arrow.prev{left:10px}.slider-arrow.next{right:10px}.hero-slider .hero-content{padding-left:38px;padding-right:38px}.story-grid{grid-template-columns:1fr}.story-card.wide{grid-column:auto;min-height:360px}.story-card{min-height:320px}.photo-stack img,.photo-stack img+img{height:300px;margin:0}.photo-stack{gap:10px}.slider-dots{bottom:20px}}
@media(prefers-reduced-motion:reduce){.hero-slider .slide,.hero-slider .hero-content>*,.slider-progress span{animation:none!important;transition:none!important}.hero-slider .slide.active .hero-content>*{opacity:1;transform:none}}

/* Enhanced grid edition */
.home-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px}.home-photo-grid .product{min-height:330px}.home-photo-grid .product h3{font-size:1.55rem}
.cert-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:36px}.cert-strip .cert-logo{min-width:0;height:125px}
.botanical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.botanical-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(23,63,43,.07);transition:transform .45s ease,box-shadow .45s ease}.botanical-card:hover{transform:translateY(-9px);box-shadow:0 24px 50px rgba(23,63,43,.16)}.botanical-image{height:245px;overflow:hidden}.botanical-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.botanical-card:hover .botanical-image img{transform:scale(1.07)}.botanical-copy{padding:25px}.botanical-copy h3{margin:.2rem 0 .25rem;font-size:1.35rem}.botanical-copy .latin{color:var(--green2);margin:0 0 12px}.botanical-copy p:last-child{font-size:.94rem;color:var(--muted)}
@media(max-width:1050px){.botanical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-strip{overflow-x:auto;grid-template-columns:repeat(6,150px);padding-bottom:10px;scroll-snap-type:x proximity}.cert-strip .cert-logo{scroll-snap-align:start}}
@media(max-width:600px){.home-photo-grid{grid-template-columns:1fr}.home-photo-grid .product{min-height:280px}.botanical-grid{grid-template-columns:1fr}.botanical-image{height:270px}}

/* About Us page video hero */
.about-video-hero{position:relative;min-height:430px;display:flex;align-items:center;padding:100px 0 80px;background:#173d2d;color:#fff;overflow:hidden;isolation:isolate}
.about-video-hero{background:#173d2d url("../images/about-hero-poster.jpg") center/cover no-repeat}.about-video-hero .about-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:0;transition:opacity .35s ease}.about-video-hero.video-playing .about-hero-video{opacity:1}.about-video-play{position:absolute;right:18px;bottom:18px;z-index:3;border:1px solid rgba(255,255,255,.65);background:rgba(8,30,19,.72);color:#fff;border-radius:999px;padding:10px 14px;font:600 13px/1 "DM Sans",sans-serif;display:none;align-items:center;gap:7px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.about-video-play.show{display:flex}.about-video-play span{white-space:nowrap}
.about-video-hero .about-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,19,.82) 0%,rgba(8,30,19,.58) 48%,rgba(8,30,19,.30) 100%);z-index:1;pointer-events:none}
.about-video-hero:after{display:none}
.about-video-hero .container{position:relative;z-index:2}
.about-video-hero .eyebrow{color:#d8e7d8}
.about-video-hero p{color:#eef5ef}
@media(max-width:600px){.about-video-hero{min-height:360px;padding:80px 0 60px}.about-video-hero .about-hero-overlay{background:rgba(8,30,19,.66)}}

/* iOS video diagnostic: use native QuickTime controls so playback can be tested directly. */
.about-video-hero.ios-video-test .about-hero-video{pointer-events:auto;opacity:1}
.about-video-hero.ios-video-test .about-video-play{display:none!important}
