
/* Allofit LLC – Site Styles */
:root{
  --bg:#0b3d2e; --bg-soft:#0f4d3b; --ink:#0b1a15; --muted:#6c8078;
  --brand:#2d8059; --brand-2:#4c7c4a; --paper:#faf7f0; --white:#f5faf5;
  --shadow: 0 10px 30px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Helvetica Neue",sans-serif;line-height:1.6}
h1,h2,h3{font-family:Merriweather,Georgia,serif;line-height:1.25;margin:0 0 .5rem}
h1{font-size:clamp(2.4rem, 3.6vw, 3.6rem)}
h2{font-size:clamp(1.8rem, 2.8vw, 2.4rem)} h3{font-size:1.25rem}
p{margin:.75rem 0} a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{width:min(1100px, 92vw);margin-inline:auto;padding:2rem 0}
.section{padding:5rem 0;position:relative} .section.soft{background:linear-gradient(180deg,#ffffff, #f3f7f3)}

.site-header{position:sticky;top:0;background:#ffffffcc;backdrop-filter:blur(8px);box-shadow:var(--shadow);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem;font-weight:800;color:var(--ink)}
.brand-logo{height:44px;width:auto;border-radius:.4rem;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.brand-name{letter-spacing:.5px}
.nav-toggle{display:none}
.menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:.75rem 1rem;border-radius:.5rem}
.menu a:hover{background:#f2f7f2}
@media (max-width:860px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;background:#f2f7f2;border:1px solid #e3ece3;border-radius:.5rem;padding:.6rem .8rem}
  .menu{display:none;position:absolute;right:1rem;top:64px;background:white;border:1px solid #e3ece3;border-radius:.75rem;padding:.5rem;box-shadow:var(--shadow);flex-direction:column}
  .menu.open{display:flex}
}

.bg-hero{background-image:url('../img/hero-home-1920x1200.jpg');background-size:cover;background-position:center;color:var(--white)}
.bg-microgreens{background-image:url('../img/bg-microgreens-1920x1080.jpg');background-size:cover;background-position:center}
.bg-mushrooms{background-image:url('../img/bg-mushrooms-1920x1080.jpg');background-size:cover;background-position:center}
.bg-sustainability{background-image:url('../img/bg-sustainability-1920x1080.jpg');background-size:cover;background-position:center}
.pattern:before{content:"";position:absolute;inset:0;background-image:url('../img/pattern-leaves-512.png');background-size:512px 512px;opacity:.25;pointer-events:none}

.hero{min-height:72vh;display:grid;place-items:center;text-align:center}
.hero-inner{padding-block:6rem}
.hero .tagline{font-size:1.2rem;max-width:900px;margin-inline:auto;color:#f0f6f0}
.hero-ctas{display:flex;justify-content:center;gap:1rem;margin:1.25rem 0 1.75rem}
.hero-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;filter:drop-shadow(0 10px 20px rgba(0,0,0,.2))}
.hero-badges img{width:140px;height:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:.75rem;padding:.8rem 1.1rem;font-weight:700;box-shadow:var(--shadow)}
.btn-primary{background:var(--brand);color:white}
.btn-ghost{background:transparent;border-color:#cfe2d6;color:white}
.btn-ghost:hover{background:rgba(255,255,255,.15)}

.split{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.grid.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.grid.cards.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid.cards,.grid.cards.three{grid-template-columns:1fr}}

.card{background:white;border:1px solid #e6efe6;border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow)}
.keyfacts{margin:0;padding:0;list-style:none}
.keyfacts li{padding:.4rem 0;border-bottom:1px dashed #e6efe6}
.keyfacts li:last-child{border:0}

.bullets{padding-left:1.2rem}
.checklist{padding-left:1.2rem}
.checklist li{margin:.4rem 0}

.steps{counter-reset:step;display:grid;gap:1rem;padding-left:0}
.steps li{list-style:none;position:relative;padding-left:3rem;background:white;border:1px solid #e6efe6;border-radius:1rem;padding:1rem 1rem 1rem 3.25rem;box-shadow:var(--shadow)}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:1rem;top:1rem;background:var(--brand);color:white;width:2rem;height:2rem;border-radius:.5rem;display:grid;place-items:center;font-weight:800}

.table-wrap{overflow:auto;background:white;border:1px solid #e6efe6;border-radius:1rem}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:1rem;border-bottom:1px solid #edf4ed;text-align:left}
.table th{background:#f7fbf7}

.lead{font-weight:600}
.contact-list{list-style:none;margin:0;padding:0}
.contact-list li{padding:.4rem 0}
.cta-row{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}

.map iframe{width:100%;height:360px;border:0;border-radius:1rem;box-shadow:var(--shadow)}

.faq details{background:white;border:1px solid #e6efe6;border-radius:.75rem;padding:1rem;margin:.6rem 0;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;font-weight:700}

.site-footer{padding:2rem 0;background:#0e241d;color:#cfe2d6;text-align:center}

.small{font-size:.9rem} .muted{color:#6c8078} .aka{font-size:.85rem;color:#44675b}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:0;top:0;width:auto;height:auto;background:black;color:white;padding:.5rem;z-index:1000}
