/* ============================================================
   Ennovity — shared foundation
   Design tokens, base type, buttons, header + footer.
   Loaded on every page before the page-specific stylesheet.
   ============================================================ */
:root{
  --beige:#EBE4D4;--green-deep:#0E4A38;--hero-bg:#0D5A41;--green:#10805C;--mint:#4FE0A0;--bone:#F4F3EE;
  --honey:#B57A16;--honey-soft:rgba(224,162,60,.18);
  --on-dark:rgba(244,243,238,.96);--muted:rgba(244,243,238,.66);
  --glass:rgba(244,243,238,.08);--glass-line:rgba(244,243,238,.2);
  --ink-soft:#52605A;--surface-l:#FCFBF7;--line-l:#E0D9C8;
  /* product-card scoped */
  --c-ink:#15241D;--c-muted:#8A938C;--c-line:#EFF1ED;
  --g-soft:rgba(16,128,92,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{max-width:100%}
body{margin:0;background:var(--beige);color:var(--green-deep);
  font-family:"Inter",system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;padding:28px}
img{max-width:100%;display:block}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;
  padding:15px 26px;border-radius:999px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease}
.btn.primary{background:var(--mint);color:#07140E;box-shadow:0 8px 24px rgba(79,224,160,.3)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(79,224,160,.45)}
.btn.ghost{background:transparent;color:var(--on-dark);border-color:var(--glass-line)}
.btn.ghost:hover{border-color:var(--mint);color:var(--mint)}
.btn svg{transition:transform .2s}
.btn.ghost:hover svg{transform:translateX(4px)}

/* ---- eyebrow ---- */
.eyebrow-l{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 16px}
.eyebrow-l::before{content:"";width:22px;height:2px;background:var(--green)}

/* ---- header (sticky frosted glass) ---- */
.site-header{position:sticky;top:12px;z-index:200;margin:0 0 22px;padding:9px 18px;border-radius:18px;
  border:1px solid transparent;
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease, -webkit-backdrop-filter .3s ease, backdrop-filter .3s ease}
.site-header.scrolled{
  background:rgba(244,243,238,.62);
  -webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);
  border-color:rgba(255,255,255,.5);
  box-shadow:0 10px 30px rgba(14,74,56,.1), inset 0 1px 0 rgba(255,255,255,.6)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;color:var(--green-deep);text-decoration:none}
.brand .logo{height:30px;width:auto;display:block}
/* animated ennovity wordmark — the red "o" drops in above the "e" then rolls into place */
.logo-o{transform-box:fill-box;transform-origin:center;animation:logo-o-roll 3.5s .2s infinite}
@keyframes logo-o-roll{
  0%{transform:translate(-301px,-300px) rotate(0);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}
  17.14%{transform:translate(-301px,0px) rotate(0);animation-timing-function:cubic-bezier(.22,.61,.36,1)}
  42.86%{transform:translate(0px,0px) rotate(300deg)}
  100%{transform:translate(0px,0px) rotate(300deg)}
}
@media (prefers-reduced-motion:reduce){.logo-o{animation:none}}
.nav-links{display:flex;gap:30px}
.nav-links a{font-size:15px;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--green)}
.nav-cta{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font-weight:600;font-size:14px;padding:11px 20px;border-radius:999px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,128,92,.32)}

/* ---- mobile nav (hamburger + panel) ---- */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;
  border:none;background:transparent;cursor:pointer;padding:0;flex:none}
.nav-toggle span{display:block;width:22px;height:2px;margin:0 auto;background:var(--green-deep);border-radius:2px;
  transition:transform .25s ease,opacity .2s ease}
.nav-panel{display:none}

/* ---- footer ---- */
.site-footer{margin:44px 0 0;border-radius:28px;padding:50px 44px 28px;color:var(--on-dark);overflow:hidden;
  background:var(--hero-bg);box-shadow:0 30px 66px rgba(6,30,22,.3)}
.foot-top{display:grid;grid-template-columns:1.3fr 2fr;gap:44px}
.foot-brand .brand-lg{color:#EAF4EC;margin-bottom:16px;line-height:0}
.foot-brand .brand-lg .logo{height:34px;width:auto;display:block}
.foot-brand p{color:rgba(220,236,224,.72);font-size:15px;margin:0 0 22px;max-width:32ch;line-height:1.5}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.foot-cols h5{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;color:#EAF4EC;margin:0 0 14px;letter-spacing:.02em}
.foot-cols a{display:block;font-size:14px;color:rgba(220,236,224,.72);text-decoration:none;padding:5px 0;transition:color .2s}
.foot-cols a:hover{color:var(--mint)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  margin-top:38px;padding-top:20px;border-top:1px solid rgba(200,240,220,.14);font-size:13px;color:rgba(220,236,224,.62)}
.foot-bottom .flinks a{color:rgba(220,236,224,.62);text-decoration:none;margin-left:18px}
.foot-bottom .flinks a:hover{color:var(--mint)}

@media (max-width:760px){
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:flex}
  .site-header{padding:9px 8px 9px 14px}
  .nav-panel{display:block;overflow:hidden;max-height:0;opacity:0;
    transition:max-height .32s ease,opacity .25s ease,margin-top .32s ease}
  .nav-panel a{display:block;padding:13px 6px;font-size:16px;font-weight:600;color:var(--green-deep);
    text-decoration:none;border-top:1px solid var(--line-l)}
  .nav-panel a:first-child{border-top:0}
  .nav-panel .btn{border-top:0;margin-top:14px;justify-content:center;color:#07140E}
  .site-header.menu-open{background:rgba(244,243,238,.92);
    -webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);
    border-color:rgba(255,255,255,.5);box-shadow:0 12px 30px rgba(14,74,56,.12)}
  .site-header.menu-open .nav-panel{max-height:360px;opacity:1;margin-top:6px;padding-bottom:6px}
  .site-header.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.menu-open .nav-toggle span:nth-child(2){opacity:0}
  .site-header.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .foot-top{grid-template-columns:1fr;gap:30px}
  .foot-cols{grid-template-columns:1fr 1fr}
  .site-footer{padding:40px 24px 24px}
}
@media (max-width:560px){
  body{padding:14px}
  .foot-cols{grid-template-columns:1fr;gap:18px}
  .site-footer{padding:34px 20px 22px;border-radius:22px}
}

