:root{
  --forest:#2f3a28;
  --forest-2:#28321f;
  --khaki:#d8c9a3;
  --ember:#e2622a;
  --off:#f4f1e8;
  --muted:#b9b29c;
  --line:rgba(216,201,163,.18);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--forest);
  color:var(--off);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,h4{line-height:1.12;font-weight:700;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}

/* buttons */
.btn{display:inline-block;padding:13px 26px;border-radius:4px;font-weight:600;font-size:.94rem;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--ember);color:#fff}
.btn-accent:hover{background:#f4763b}
.btn-ghost{border-color:var(--khaki);color:var(--off)}
.btn-ghost:hover{background:rgba(216,201,163,.12)}
.btn-line{border-color:var(--ember);color:var(--ember);padding:10px 20px;font-size:.86rem}
.btn-line:hover{background:var(--ember);color:#fff}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(40,50,31,.72);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .3s ease}
.nav.scrolled{background:rgba(40,50,31,.96)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.16em;font-size:1.04rem}
.mark{width:18px;height:18px;background:var(--ember);clip-path:polygon(50% 0,100% 100%,0 100%);display:inline-block}
.links{display:flex;gap:30px}
.links a{font-size:.92rem;color:var(--khaki);transition:color .2s}
.links a:hover{color:var(--off)}
@media(max-width:860px){.links{display:none}}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;animation:slowzoom 22s ease-in-out infinite alternate}
@keyframes slowzoom{from{transform:scale(1.05)}to{transform:scale(1.16)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(105deg,rgba(40,50,31,.92) 0%,rgba(40,50,31,.72) 42%,rgba(40,50,31,.30) 100%)}
.hero-inner{position:relative;max-width:760px;padding-top:40px;padding-bottom:40px}
.eyebrow{color:var(--ember);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;margin-bottom:18px}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.1rem);margin-bottom:20px}
.lead{font-size:1.12rem;color:#e7e3d6;max-width:600px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.badges{display:flex;gap:14px;flex-wrap:wrap}
.badges span{font-size:.78rem;letter-spacing:.05em;color:var(--khaki);border:1px solid var(--line);padding:7px 14px;border-radius:30px}

/* marquee */
.marquee{background:var(--ember);overflow:hidden;border-top:1px solid rgba(0,0,0,.15);border-bottom:1px solid rgba(0,0,0,.15)}
.marquee-track{display:flex;gap:48px;white-space:nowrap;padding:13px 0;width:max-content;animation:scroll 26s linear infinite}
.marquee-track span{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:#fff}
.marquee-track span::after{content:"\2022";margin-left:48px;color:rgba(255,255,255,.55)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* sections */
.section{padding:96px 0}
.section.alt{background:var(--forest-2)}
.kicker{color:var(--ember);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;margin-bottom:12px}
.section h2,.film h2,.cta h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:38px;max-width:760px}
.grid{display:grid;gap:22px}
.cat-grid{grid-template-columns:repeat(3,1fr)}
.feat-grid{grid-template-columns:repeat(3,1fr)}
.why-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.cat-grid,.feat-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cat-grid,.feat-grid,.why-grid{grid-template-columns:1fr}}

/* cards */
.card{background:#36412c;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .3s ease,border-color .3s ease}
.card:hover{transform:translateY(-4px);border-color:var(--ember)}
.zoom{overflow:hidden}
.zoom img{transition:transform .6s ease}
.card:hover .zoom img{transform:scale(1.08)}
.cat .zoom{height:230px}
.cat h3{margin:16px 18px 4px;font-size:1.18rem}
.cat p{margin:0 18px 18px;color:var(--muted);font-size:.9rem}
.feat .zoom{height:240px}
.feat-body{padding:20px}
.feat-body h3{font-size:1.25rem;margin-bottom:6px}
.spec{color:var(--muted);font-size:.9rem;margin-bottom:16px}

/* why */
.why{background:#36412c;border:1px solid var(--line);border-radius:8px;padding:26px;border-top:3px solid var(--ember)}
.why h3{font-size:1.2rem;margin-bottom:10px}
.why p{color:var(--muted);font-size:.94rem}

/* film */
.film{padding:96px 0;background:var(--forest-2)}
.film-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
@media(max-width:860px){.film-grid{grid-template-columns:1fr}}
.film-copy p{color:#d6d1c0;margin-bottom:24px;max-width:480px}
.film-media{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.4)}
.film-media video{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.film-media::after{content:"";position:absolute;inset:0;background:rgba(40,50,31,.42)}
.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:rgba(226,98,42,.92);z-index:2}
.play::before{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent}
.play::after{content:"";position:absolute;inset:-14px;border:2px solid rgba(255,255,255,.4);border-radius:50%;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.5);opacity:0}}
.film-tag{position:absolute;top:16px;left:16px;z-index:2;background:rgba(0,0,0,.5);color:var(--off);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:4px}

/* stats */
.stats{padding:78px 0;background:var(--forest)}
.stat-grid{grid-template-columns:repeat(4,1fr);text-align:center}
@media(max-width:680px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
.stat{display:flex;flex-direction:column;align-items:center}
.stat .num,.stat .suf{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:800;color:var(--ember);letter-spacing:-.03em;line-height:1}
.stat .suf{margin-left:-2px}
.stat .num+.suf{display:inline}
.stat p{color:var(--khaki);font-size:.92rem;margin-top:10px;letter-spacing:.04em}

/* certs */
.cert-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:560px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
.cert{background:#36412c;border:1px solid var(--line);border-radius:8px;padding:34px 20px;text-align:center;font-weight:700;letter-spacing:.08em;font-size:1.2rem;color:var(--khaki);transition:transform .3s,color .3s}
.cert:hover{transform:translateY(-4px);color:var(--off)}

/* cta */
.cta{padding:96px 0;background:linear-gradient(120deg,var(--forest-2),#3a472d);text-align:center}
.cta-inner{max-width:640px;margin:0 auto}
.cta p{color:#d6d1c0;margin:14px 0 28px}

/* footer */
footer{background:var(--forest-2);padding:64px 0 28px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-note{color:var(--muted);font-size:.9rem;margin-top:14px;max-width:280px}
footer h4{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:14px}
footer p{color:var(--khaki);font-size:.92rem;margin-bottom:6px}
footer p a:hover{color:var(--off)}
.foot-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
