
:root{
  --color-bg:#0b0f0c;
  --color-bg-alt:#0e1310;
  --color-surface:#131a15;
  --color-surface-alt:#182019;
  --color-surface-light:#f5f1e6;
  --color-surface-light-alt:#ece5d4;
  --color-border:rgba(255,255,255,0.08);
  --color-border-light:rgba(20,25,20,0.1);
  --color-text:#e9ede4;
  --color-text-muted:#a5b0a2;
  --color-text-dark:#1c231b;
  --color-text-dark-muted:#54594d;

  --color-primary:#8fd15a;
  --color-primary-dim:#6bb838;
  --color-secondary:#e8a33d;
  --color-teal:#5fb8ae;

  --font-heading:'Instrument Sans', sans-serif;
  --font-body:'Instrument Sans', sans-serif;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --radius-xl:34px;
  --radius-pill:999px;

  --space-xs:.5rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2.5rem;
  --space-xl:4.5rem;
  --space-2xl:6.5rem;
  --space-3xl:9rem;

  --shadow-sm:0 1px 3px rgba(0,0,0,.35);
  --shadow-md:0 6px 22px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.3);
  --shadow-lg:0 26px 70px -16px rgba(0,0,0,.6), 0 6px 20px rgba(0,0,0,.4);

  --glow-primary:0 0 0 1px rgba(143,209,90,.18), 0 10px 34px -8px rgba(143,209,90,.4), 0 2px 10px rgba(0,0,0,.4);
  --glow-secondary:0 0 0 1px rgba(232,163,61,.18), 0 10px 34px -8px rgba(232,163,61,.4), 0 2px 10px rgba(0,0,0,.4);
  --glow-teal:0 0 0 1px rgba(95,184,174,.18), 0 10px 34px -8px rgba(95,184,174,.4), 0 2px 10px rgba(0,0,0,.4);

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.7,0,.84,0);
  --transition:.35s var(--ease-out);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.12;margin:0;color:var(--color-text);}
p{margin:0;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
section{position:relative;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);}
.reveal.visible{opacity:1;transform:translateY(0);}


.global-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.9rem;
  border-radius:var(--radius-pill);
  font-weight:600;font-size:.95rem;
  border:1px solid transparent;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
  white-space:nowrap;
  min-height:44px;
}
.global-btn-primary{
  background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dim));
  color:#0c130d;
  box-shadow:var(--glow-primary);
}
.global-btn-primary:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(143,209,90,.3),0 16px 46px -8px rgba(143,209,90,.55);}
.global-btn-ghost{
  background:transparent;
  color:var(--color-text);
  border:1px solid var(--color-border);
}
.global-btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-3px);}


.global-strip{
  height:6px;
  width:100%;
  background:repeating-linear-gradient(90deg,var(--color-primary) 0 24px, transparent 24px 48px, var(--color-secondary) 48px 72px, transparent 72px 96px);
  opacity:.5;
}
.global-strip-alt{
  background:repeating-linear-gradient(90deg,var(--color-teal) 0 20px, transparent 20px 40px, var(--color-primary) 40px 60px, transparent 60px 80px);
}


.global-header{
  position:fixed;top:0;left:0;width:100%;
  z-index:500;
  background:rgba(11,15,12,.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--color-border);
  transform:translateY(-100%);
  transition:transform .5s var(--ease-out);
}
.global-header.nav-visible{transform:translateY(0);}
.global-header-inner{
  max-width:1240px;margin:0 auto;
  padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:center;
  gap:2rem;
  flex-wrap:wrap;
  position:relative;
}
.global-logo{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--font-heading);font-weight:700;font-size:1.1rem;
  letter-spacing:-.01em;
}
.global-hamburger{
  display:none;
  background:transparent;border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  color:var(--color-text);width:44px;height:44px;
  align-items:center;justify-content:center;
  font-size:1.1rem;
  position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);
  transition:border-color var(--transition), color var(--transition);
}
.global-hamburger:hover{border-color:var(--color-primary);color:var(--color-primary);}
.global-nav{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;}
.global-nav-link{
  font-size:.92rem;font-weight:500;color:var(--color-text-muted);
  position:relative;padding:.3rem 0;
  transition:color var(--transition);
}
.global-nav-link::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:linear-gradient(90deg,var(--color-primary),var(--color-teal));
  transition:width var(--transition);
}
.global-nav-link:hover,.global-nav-link.is-active{color:var(--color-text);}
.global-nav-link:hover::after,.global-nav-link.is-active::after{width:100%;}

.global-nav-sentinel{position:absolute;bottom:0;left:0;width:1px;height:1px;}


.global-mobile-tabbar{
  position:fixed;bottom:0;left:0;width:100%;
  display:none;
  z-index:600;
  background:rgba(14,19,16,.97);
  backdrop-filter:blur(16px);
  border-top:1px solid var(--color-border);
  padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));
  transform:translateY(100%);
  transition:transform .45s var(--ease-out);
  box-shadow:0 -12px 40px rgba(0,0,0,.5);
}
.global-mobile-tabbar.is-open{transform:translateY(0);}
.global-tab-item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;
  padding:.55rem .25rem;border-radius:var(--radius-md);
  font-size:.68rem;font-weight:600;color:var(--color-text-muted);
  transition:color var(--transition), background var(--transition);
  min-height:44px;justify-content:center;
}
.global-tab-item i{font-size:1.05rem;}
.global-tab-item.is-active{color:var(--color-primary);background:rgba(143,209,90,.1);}
.global-tab-item:hover{color:var(--color-primary);}


.global-floating-contact{
  position:fixed;right:1.4rem;bottom:1.4rem;
  z-index:700;
  display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;
}
.global-floating-contact-toggle{
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(135deg,var(--color-primary),var(--color-teal));
  color:#0b120c;border:none;font-size:1.3rem;
  box-shadow:var(--glow-primary);
  transition:transform var(--transition), box-shadow var(--transition);
}
.global-floating-contact-toggle:hover{transform:scale(1.08) rotate(6deg);}
.global-floating-contact-options{
  display:flex;flex-direction:column;gap:.6rem;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.global-floating-contact.is-open .global-floating-contact-options{opacity:1;visibility:visible;transform:translateY(0);}
.global-floating-contact-option{
  display:flex;align-items:center;gap:.6rem;
  background:var(--color-surface-alt);
  border:1px solid var(--color-border);
  padding:.7rem 1.1rem;border-radius:var(--radius-pill);
  font-size:.85rem;font-weight:600;color:var(--color-text);
  box-shadow:var(--shadow-md);
  transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);
  white-space:nowrap;
}
.global-floating-contact-option i{color:var(--color-primary);}
.global-floating-contact-option:hover{border-color:var(--color-primary);box-shadow:var(--glow-primary);transform:translateX(-4px);}


.global-cookie-consent{position:fixed;right:1.4rem;bottom:6.6rem;z-index:750;}
.global-cookie-bell{
  width:52px;height:52px;border-radius:50%;
  background:var(--color-surface-alt);border:1px solid var(--color-border);
  color:var(--color-secondary);font-size:1.2rem;position:relative;
  box-shadow:var(--shadow-md);
  transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
.global-cookie-bell:hover{box-shadow:var(--glow-secondary);transform:scale(1.06);border-color:var(--color-secondary);}
.global-cookie-badge{
  position:absolute;top:2px;right:2px;width:11px;height:11px;border-radius:50%;
  background:var(--color-secondary);border:2px solid var(--color-bg);
}
.global-cookie-badge.is-hidden{display:none;}
.global-cookie-panel{
  position:absolute;bottom:66px;right:0;width:320px;max-width:88vw;
  background:var(--color-surface-alt);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:1.4rem;
  box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);
  transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.global-cookie-consent.is-open .global-cookie-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.global-cookie-panel h3{font-size:1.05rem;margin-bottom:.5rem;}
.global-cookie-panel > p{font-size:.82rem;color:var(--color-text-muted);margin-bottom:1rem;}
.global-cookie-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem 0;border-top:1px solid var(--color-border);
}
.global-cookie-row div{display:flex;flex-direction:column;gap:.15rem;}
.global-cookie-row strong{font-size:.85rem;}
.global-cookie-row span{font-size:.72rem;color:var(--color-text-muted);}
.global-cookie-switch{position:relative;width:42px;height:24px;flex-shrink:0;}
.global-cookie-switch input{opacity:0;width:0;height:0;}
.global-cookie-switch span{
  position:absolute;inset:0;background:rgba(255,255,255,.12);border-radius:var(--radius-pill);
  transition:background var(--transition);
}
.global-cookie-switch span::before{
  content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#e9ede4;transition:transform var(--transition);
}
.global-cookie-switch input:checked + span{background:var(--color-primary);}
.global-cookie-switch input:checked + span::before{transform:translateX(18px);}
.global-cookie-actions{display:flex;gap:.6rem;margin-top:1rem;}
.global-cookie-actions .global-btn{flex:1;padding:.7rem 1rem;font-size:.82rem;}


.global-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding-top:var(--space-2xl);}
.global-footer-inner{
  max-width:1240px;margin:0 auto;padding:0 1.5rem var(--space-xl);
  display:grid;grid-template-columns:1fr;gap:var(--space-xl);
}
.global-footer-cta h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:.8rem;}
.global-footer-cta p{color:var(--color-text-muted);margin-bottom:1.5rem;max-width:38ch;}
.global-footer-form{display:flex;gap:.7rem;flex-wrap:wrap;}
.global-footer-form input{
  flex:1;min-width:200px;padding:.9rem 1.2rem;border-radius:var(--radius-pill);
  border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);
  font-size:.9rem;
}
.global-footer-form input:focus{outline:none;border-color:var(--color-primary);}
.global-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.global-footer-col h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:1rem;}
.global-footer-col a,.global-footer-col p{display:block;font-size:.9rem;color:var(--color-text-muted);margin-bottom:.6rem;transition:color var(--transition);}
.global-footer-col a:hover{color:var(--color-primary);}
.global-footer-bottom{border-top:1px solid var(--color-border);padding:1.5rem;text-align:center;}
.global-footer-bottom p{font-size:.78rem;color:var(--color-text-muted);}


.home-hero{background:radial-gradient(circle at 20% 0%,#152018 0%, var(--color-bg) 55%);padding:8rem 1.5rem 5rem;}
.home-hero-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.home-hero-eyebrow{color:var(--color-primary);font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;}
.home-hero-title{font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:-.02em;margin-bottom:1.4rem;}
.home-hero-text{color:var(--color-text-muted);font-size:1.05rem;max-width:56ch;margin-bottom:2rem;}
.home-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.home-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.home-hero-stat{display:flex;flex-direction:column;gap:.2rem;border-left:2px solid var(--color-primary);padding-left:.9rem;}
.home-hero-stat-num{font-family:var(--font-heading);font-size:1.9rem;font-weight:700;}
.home-hero-stat-label{font-size:.78rem;color:var(--color-text-muted);}
.home-hero-media{position:relative;}
.home-hero-img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  border:1px solid var(--color-border);
}
.home-hero-floatcard{
  position:absolute;left:-1.2rem;bottom:1.6rem;
  background:var(--color-surface-alt);
  border:1px solid var(--color-border);
  padding:1rem 1.3rem;border-radius:var(--radius-lg);
  display:flex;align-items:center;gap:.8rem;
  box-shadow:var(--glow-primary);
  max-width:230px;
}
.home-hero-floatcard i{font-size:1.4rem;color:var(--color-primary);}
.home-hero-floatcard strong{display:block;font-size:.85rem;}
.home-hero-floatcard span{font-size:.75rem;color:var(--color-text-muted);}


.home-intro{background:var(--color-surface-light);padding:var(--space-2xl) 1.5rem;color:var(--color-text-dark);}
.home-intro-inner{max-width:820px;margin:0 auto;text-align:center;}
.home-intro-title{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:1.6rem;color:var(--color-text-dark);}
.home-intro-text{color:var(--color-text-dark-muted);font-size:1.02rem;margin-bottom:1.2rem;}


.home-features{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.home-features-inner{max-width:1240px;margin:0 auto;}
.home-features-title{font-size:clamp(1.9rem,4vw,2.7rem);text-align:center;margin-bottom:.8rem;}
.home-features-sub{text-align:center;color:var(--color-text-muted);max-width:52ch;margin:0 auto 3rem;}
.home-features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
.home-feature-card{
  background:linear-gradient(160deg,var(--color-surface),var(--color-surface-alt));
  border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:2rem;box-shadow:var(--shadow-md);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.home-feature-card:hover{transform:translateY(-6px);border-color:rgba(143,209,90,.35);box-shadow:var(--glow-primary);}
.home-feature-icon{
  width:52px;height:52px;border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:1.2rem;
}
.home-feature-icon-primary{background:rgba(143,209,90,.14);color:var(--color-primary);}
.home-feature-icon-secondary{background:rgba(232,163,61,.14);color:var(--color-secondary);}
.home-feature-icon-teal{background:rgba(95,184,174,.14);color:var(--color-teal);}
.home-feature-card h3{font-size:1.15rem;margin-bottom:.7rem;}
.home-feature-card p{color:var(--color-text-muted);font-size:.92rem;}


.home-process{background:var(--color-surface-light);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.home-process-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:start;}
.home-process-title{font-size:clamp(1.9rem,4vw,2.7rem);color:var(--color-text-dark);margin-bottom:.6rem;}
.home-process-sub{color:var(--color-text-dark-muted);margin-bottom:2rem;max-width:48ch;}
.home-process-list{display:flex;flex-direction:column;gap:1.8rem;}
.home-process-list li{display:flex;gap:1.2rem;}
.home-process-num{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--color-primary-dim);flex-shrink:0;}
.home-process-list h3{font-size:1.1rem;margin-bottom:.4rem;color:var(--color-text-dark);}
.home-process-list p{color:var(--color-text-dark-muted);font-size:.94rem;}
.home-process-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;}


.home-materials{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.home-materials-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.home-materials-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--glow-secondary);aspect-ratio:1/1;object-fit:cover;}
.home-materials-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;}
.home-materials-text p{color:var(--color-text-muted);margin-bottom:1.2rem;}
.home-materials-img-secondary{width:100%;border-radius:var(--radius-lg);margin-top:1rem;box-shadow:var(--shadow-md);aspect-ratio:16/9;object-fit:cover;}


.home-calendar{background:var(--color-surface-light-alt);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.home-calendar-inner{max-width:1100px;margin:0 auto;text-align:center;}
.home-calendar-title{font-size:clamp(1.9rem,4vw,2.7rem);color:var(--color-text-dark);margin-bottom:.8rem;}
.home-calendar-sub{color:var(--color-text-dark-muted);max-width:62ch;margin:0 auto 2.5rem;}
.home-calendar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;text-align:left;margin-bottom:2.5rem;}
.home-calendar-card{background:#fff;border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);}
.home-calendar-card h3{color:var(--color-primary-dim);margin-bottom:.5rem;font-size:1.1rem;}
.home-calendar-card p{color:var(--color-text-dark-muted);font-size:.9rem;}
.home-calendar-img{width:100%;max-width:900px;margin:0 auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:16/9;object-fit:cover;}


.home-compost{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.home-compost-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.home-compost-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--glow-teal);aspect-ratio:4/3;object-fit:cover;}
.home-compost-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;}
.home-compost-text p{color:var(--color-text-muted);margin-bottom:1.2rem;}


.home-organize{background:var(--color-surface-light);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.home-organize-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.home-organize-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;color:var(--color-text-dark);}
.home-organize-text p{color:var(--color-text-dark-muted);margin-bottom:1.2rem;}
.home-organize-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;}
.home-organize-img-inline{width:100%;border-radius:var(--radius-lg);margin-top:1rem;aspect-ratio:16/9;object-fit:cover;box-shadow:var(--shadow-md);}


.home-faq{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.home-faq-inner{max-width:1100px;margin:0 auto;}
.home-faq-title{text-align:center;font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:3rem;}
.home-faq-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;}
.home-faq-card{
  background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);
  overflow:hidden;transition:box-shadow var(--transition), border-color var(--transition);
}
.home-faq-card.is-open{box-shadow:var(--glow-primary);border-color:rgba(143,209,90,.3);}
.home-faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:none;color:var(--color-text);padding:1.3rem 1.5rem;
  font-size:.98rem;font-weight:600;text-align:left;
}
.home-faq-question i{color:var(--color-primary);transition:transform var(--transition);}
.home-faq-card.is-open .home-faq-question i{transform:rotate(45deg);}
.home-faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out), padding var(--transition);padding:0 1.5rem;}
.home-faq-card.is-open .home-faq-answer{max-height:300px;padding:0 1.5rem 1.4rem;}
.home-faq-answer p{color:var(--color-text-muted);font-size:.9rem;}


.home-cta-strip{background:linear-gradient(135deg,#111812,#182119);padding:var(--space-xl) 1.5rem;text-align:center;}
.home-cta-strip-inner{max-width:640px;margin:0 auto;}
.home-cta-strip h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1rem;}
.home-cta-strip p{color:var(--color-text-muted);margin-bottom:1.8rem;}


.why-hero{background:radial-gradient(circle at 80% 0%,#182018 0%, var(--color-bg) 55%);padding:8rem 1.5rem 4rem;}
.why-hero-inner{max-width:820px;margin:0 auto;text-align:center;}
.why-hero-eyebrow{color:var(--color-primary);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;}
.why-hero-title{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.4rem;}
.why-hero-text{color:var(--color-text-muted);font-size:1.05rem;}

.why-context{background:var(--color-surface-light);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.why-context-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.why-context-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;}
.why-context-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;color:var(--color-text-dark);}
.why-context-text p{color:var(--color-text-dark-muted);margin-bottom:1.2rem;}

.why-design{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.why-design-inner{max-width:1100px;margin:0 auto;text-align:center;}
.why-design-inner h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:1rem;}
.why-design-intro{color:var(--color-text-muted);max-width:60ch;margin:0 auto 2.5rem;}
.why-design-grid{display:grid;grid-template-columns:1fr;gap:1.4rem;text-align:left;margin-bottom:2rem;}
.why-design-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-md);transition:box-shadow var(--transition), transform var(--transition);}
.why-design-card:hover{box-shadow:var(--glow-teal);transform:translateY(-4px);}
.why-design-card h3{margin-bottom:.6rem;color:var(--color-teal);}
.why-design-card p{color:var(--color-text-muted);font-size:.92rem;}
.why-design-note{color:var(--color-text-muted);font-size:.9rem;max-width:64ch;margin:0 auto;font-style:italic;}

.why-materials{background:var(--color-surface-light-alt);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.why-materials-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.why-materials-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;color:var(--color-text-dark);}
.why-materials-text p{color:var(--color-text-dark-muted);margin-bottom:1.2rem;}
.why-materials-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;}

.why-governance{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.why-governance-inner{max-width:1000px;margin:0 auto;}
.why-governance-inner h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:1.2rem;}
.why-governance-inner p{color:var(--color-text-muted);margin-bottom:1.4rem;}
.why-governance-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-top:1.5rem;}
.why-governance-row{display:grid;grid-template-columns:1fr;gap:.4rem;padding:1rem 1.4rem;border-bottom:1px solid var(--color-border);}
.why-governance-row:last-child{border-bottom:none;}
.why-governance-row-head{background:var(--color-surface-alt);font-weight:700;color:var(--color-primary);}
.why-governance-row span:first-child{font-weight:600;}
.why-governance-row span{font-size:.88rem;color:var(--color-text-muted);}
.why-governance-row-head span{color:var(--color-primary);}


.reserve-hero{background:radial-gradient(circle at 20% 0%,#1a1e14 0%, var(--color-bg) 55%);padding:8rem 1.5rem 5rem;}
.reserve-hero-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.reserve-hero-eyebrow{color:var(--color-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;}
.reserve-hero-title{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.2rem;}
.reserve-hero-desc{color:var(--color-text-muted);margin-bottom:2rem;max-width:54ch;}
.reserve-hero-media{position:relative;}
.reserve-hero-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;border:1px solid var(--color-border);}
.reserve-hero-floatcard{
  position:absolute;right:-1rem;bottom:1.6rem;
  background:var(--color-surface-alt);border:1px solid var(--color-border);
  padding:1rem 1.3rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:.8rem;
  box-shadow:var(--glow-secondary);max-width:230px;
}
.reserve-hero-floatcard i{font-size:1.4rem;color:var(--color-secondary);}
.reserve-hero-floatcard strong{display:block;font-size:.85rem;}
.reserve-hero-floatcard span{font-size:.75rem;color:var(--color-text-muted);}

.reserve-steps{background:var(--color-surface-light);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.reserve-steps-inner{max-width:1100px;margin:0 auto;}
.reserve-steps-inner h2{font-size:clamp(1.9rem,4vw,2.6rem);text-align:center;margin-bottom:2.5rem;color:var(--color-text-dark);}
.reserve-steps-grid{display:grid;grid-template-columns:1fr;gap:1.4rem;}
.reserve-step-card{background:#fff;border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);}
.reserve-step-num{font-family:var(--font-heading);font-weight:700;font-size:1.6rem;color:var(--color-primary-dim);display:block;margin-bottom:.6rem;}
.reserve-step-card h3{margin-bottom:.5rem;color:var(--color-text-dark);}
.reserve-step-card p{color:var(--color-text-dark-muted);font-size:.9rem;}

.reserve-requirements{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.reserve-requirements-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.reserve-requirements-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.4rem;}
.reserve-requirements-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.4rem;}
.reserve-requirements-list li{display:flex;gap:.8rem;color:var(--color-text-muted);font-size:.92rem;align-items:flex-start;}
.reserve-requirements-list i{color:var(--color-primary);margin-top:.2rem;}
.reserve-requirements-note{color:var(--color-text-muted);font-style:italic;font-size:.9rem;}
.reserve-requirements-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--glow-primary);aspect-ratio:4/3;object-fit:cover;}

.reserve-schedule{background:var(--color-surface-light-alt);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.reserve-schedule-inner{max-width:820px;margin:0 auto;text-align:center;}
.reserve-schedule-inner h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:1.4rem;color:var(--color-text-dark);}
.reserve-schedule-inner p{color:var(--color-text-dark-muted);margin-bottom:1.2rem;}


.contact-hero{background:radial-gradient(circle at 80% 0%,#151a13 0%, var(--color-bg) 55%);padding:8rem 1.5rem 4rem;}
.contact-hero-inner{max-width:760px;margin:0 auto;text-align:center;}
.contact-hero-eyebrow{color:var(--color-teal);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;}
.contact-hero-title{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:1.2rem;}
.contact-hero-text{color:var(--color-text-muted);}

.contact-office{background:var(--color-surface-light);color:var(--color-text-dark);padding:var(--space-2xl) 1.5rem;}
.contact-office-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.contact-office-img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:4/3;object-fit:cover;}
.contact-office-text h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:1.2rem;color:var(--color-text-dark);}
.contact-office-text p{color:var(--color-text-dark-muted);margin-bottom:1.2rem;}

.contact-form-section{background:var(--color-bg);padding:var(--space-2xl) 1.5rem;}
.contact-form-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.5rem;}
.contact-form-col h2{font-size:clamp(1.8rem,3.5vw,2.3rem);margin-bottom:.6rem;}
.contact-form-sub{color:var(--color-text-muted);margin-bottom:1.8rem;font-size:.92rem;}
.contact-accordion-item{
  background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);
  margin-bottom:1rem;overflow:hidden;transition:box-shadow var(--transition), border-color var(--transition);
}
.contact-accordion-item.is-open{box-shadow:var(--glow-teal);border-color:rgba(95,184,174,.35);}
.contact-accordion-header{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:none;color:var(--color-text);padding:1.1rem 1.3rem;font-weight:600;font-size:.95rem;
}
.contact-accordion-header i:first-child{color:var(--color-teal);margin-right:.5rem;}
.contact-accordion-header i.fa-chevron-down{transition:transform var(--transition);color:var(--color-text-muted);}
.contact-accordion-item.is-open .contact-accordion-header i.fa-chevron-down{transform:rotate(180deg);}
.contact-accordion-body{max-height:0;overflow:hidden;transition:max-height .45s var(--ease-out), padding var(--transition);padding:0 1.3rem;display:flex;flex-direction:column;gap:.9rem;}
.contact-accordion-item.is-open .contact-accordion-body{max-height:500px;padding:0 1.3rem 1.3rem;}
.contact-form label{font-size:.82rem;color:var(--color-text-muted);}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{
  width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);
  border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);
  font-family:inherit;font-size:.92rem;resize:vertical;
  transition:border-color var(--transition);
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-teal);}
.contact-checkbox-label{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;color:var(--color-text-muted);}
.contact-checkbox-label input{margin-top:.2rem;width:18px;height:18px;flex-shrink:0;}
.contact-checkbox-label a{color:var(--color-primary);text-decoration:underline;}
.contact-form-submit{width:100%;margin-top:.5rem;}
.contact-info-col{display:flex;flex-direction:column;gap:1.5rem;}
.contact-info-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-md);}
.contact-info-card h3{margin-bottom:1rem;font-size:1.05rem;}
.contact-info-card p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:.7rem;display:flex;align-items:center;gap:.6rem;}
.contact-info-card i{color:var(--color-primary);}
.contact-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-md);}


.thanks-hero{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:9rem 1.5rem 4rem;background:radial-gradient(circle at 50% 20%,#151d15 0%, var(--color-bg) 60%);}
.thanks-hero-inner{max-width:520px;text-align:center;}
.thanks-check{margin:0 auto 2rem;display:block;}
.thanks-check-circle{stroke:var(--color-primary);stroke-dasharray:340;stroke-dashoffset:340;animation:thanksCircle 1s var(--ease-out) forwards;}
.thanks-check-mark{stroke:var(--color-primary);stroke-dasharray:70;stroke-dashoffset:70;stroke-linecap:round;stroke-linejoin:round;animation:thanksMark .5s var(--ease-out) .9s forwards;}
@keyframes thanksCircle{to{stroke-dashoffset:0;}}
@keyframes thanksMark{to{stroke-dashoffset:0;}}
.thanks-title{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:1rem;opacity:0;animation:thanksFade .6s var(--ease-out) 1.3s forwards;}
.thanks-text{color:var(--color-text-muted);margin-bottom:2rem;opacity:0;animation:thanksFade .6s var(--ease-out) 1.5s forwards;}
.thanks-hero-inner .global-btn{opacity:0;animation:thanksFade .6s var(--ease-out) 1.7s forwards;}
@keyframes thanksFade{to{opacity:1;}}


.privacy-page,.terms-page,.cookies-page{padding:8rem 1.5rem var(--space-2xl);max-width:1240px;margin:0 auto;}
.privacy-header,.terms-header,.cookies-header{margin-bottom:3rem;}
.privacy-header h1,.terms-header h1,.cookies-header h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.6rem;}
.privacy-header p,.terms-header p,.cookies-header p{color:var(--color-text-muted);font-size:.9rem;}
.privacy-layout,.terms-layout,.cookies-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;}
.privacy-sidebar,.terms-sidebar,.cookies-sidebar{align-self:start;}
.privacy-sidebar nav,.terms-sidebar nav,.cookies-sidebar nav{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:100px;}
.privacy-sidebar a,.terms-sidebar a,.cookies-sidebar a{
  padding:.6rem .9rem;border-radius:var(--radius-sm);font-size:.86rem;color:var(--color-text-muted);
  transition:background var(--transition), color var(--transition);
  border-left:2px solid transparent;
}
.privacy-sidebar a:hover,.terms-sidebar a:hover,.cookies-sidebar a:hover{color:var(--color-primary);background:rgba(143,209,90,.08);border-left-color:var(--color-primary);}
.privacy-content section,.terms-content section,.cookies-block{
  padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border);
}
.privacy-content section:last-child,.terms-content section:last-child,.cookies-block:last-child{border-bottom:none;}
.privacy-content h2,.terms-content h2,.cookies-block h2{font-size:1.3rem;margin-bottom:.9rem;color:var(--color-primary);}
.privacy-content p,.terms-content p,.cookies-block p{color:var(--color-text-muted);font-size:.94rem;margin-bottom:.6rem;}


@media(min-width:640px){
  .home-calendar-grid{grid-template-columns:repeat(4,1fr);}
  .home-faq-grid{grid-template-columns:repeat(2,1fr);}
  .global-footer-form input{min-width:240px;}
}

@media(min-width:768px){
  .home-hero-inner,.why-context-inner,.why-materials-inner,.home-materials-inner,.home-compost-inner,.home-organize-inner,.reserve-hero-inner,.reserve-requirements-inner,.contact-office-inner,.home-process-inner{
    grid-template-columns:1fr 1fr;
  }
  .home-hero-inner{grid-template-columns:45% 55%;}
  .reserve-hero-inner{grid-template-columns:50% 50%;}
  .home-hero-stats{grid-template-columns:repeat(4,1fr);}
  .why-design-grid{grid-template-columns:repeat(2,1fr);}
  .reserve-steps-grid{grid-template-columns:repeat(2,1fr);}
  .why-governance-row{grid-template-columns:1fr 1.4fr 1.4fr;}
  .home-features-grid{grid-template-columns:repeat(2,1fr);}
  .privacy-layout,.terms-layout,.cookies-layout{grid-template-columns:240px 1fr;}
  .contact-form-inner{grid-template-columns:1.4fr 1fr;}
}

@media(min-width:1024px){
  .home-features-grid{grid-template-columns:repeat(3,1fr);}
  .reserve-steps-grid{grid-template-columns:repeat(4,1fr);}
  .global-footer-inner{grid-template-columns:1fr 1.3fr;}
}

@media(max-width:1023px){
  .global-nav{display:none;}
  .global-hamburger{display:flex;}
  .global-mobile-tabbar{display:flex;}
  body{padding-bottom:0;}
  .global-header-inner{justify-content:center;}
}

@media(min-width:1024px){
  .global-hamburger{display:none;}
  .global-mobile-tabbar{display:none;}
}

@media(max-width:767px){
  .home-hero-floatcard,.reserve-hero-floatcard{position:static;margin-top:1rem;max-width:100%;}
  .global-floating-contact{right:1rem;bottom:5.4rem;}
  .global-cookie-consent{right:1rem;bottom:.9rem;}
}