/* A presentation layer only: no changes to live customer or restaurant flows. */
.hero{position:relative;padding-top:76px;padding-bottom:84px}
.hero-copy h1{letter-spacing:-.065em}
.hero-visual{background:radial-gradient(ellipse at 80% 20%,#dbf99b66,transparent 65%),#e4eddb;border-radius:36px}
.hero-visual .preview-chart span{transform-origin:bottom;animation:chart-grow 1.2s ease both}
.hero-visual .preview-chart span:nth-child(2n){animation-delay:.15s}
@keyframes chart-grow{from{transform:scaleY(.12)}to{transform:scaleY(1)}}
.network-story,.visit-lab{padding-block:90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.network-story h2,.visit-lab h2{font:800 clamp(32px,4vw,52px)/1.08 Manrope,system-ui,sans-serif;letter-spacing:-.055em;margin:20px 0}
.network-story h2 em,.visit-lab h2 em{font-style:normal;color:#678849}
.network-story p,.visit-lab p{color:#63766b;font-size:16px;line-height:1.8}
.network-story .button{margin-top:16px}
.network-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.network-story-grid article{padding:28px;border:1px solid #dbe4d6;border-radius:20px;background:#fff;transition:transform .25s,box-shadow .25s}
.network-story-grid article:hover{transform:translateY(-5px);box-shadow:0 20px 35px #1234210c}
.network-story-grid article>span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#617d4d}
.network-story-grid h3{font-size:23px;line-height:1.2;letter-spacing:-.035em;margin:18px 0 12px}
.network-story-grid p{font-size:14px;margin:0}
.visit-lab{border-top:1px solid #dbe4d6;border-bottom:1px solid #dbe4d6}
.lab-card{padding:40px;background:#123b2b;color:#edf7dc;border-radius:28px;box-shadow:12px 12px 0 #e2ead6;transform:rotate(1deg);transition:background .35s,transform .35s}
.lab-card-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;margin-bottom:32px}
.lab-card>strong{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}
.lab-stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}
.lab-stamps span{aspect-ratio:1;border:1px dashed #bad29360;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#b7cd9d}
.lab-stamps .earned{background:#dcfa80;color:#173524;border-style:solid;animation:stamp-in .3s ease both}
@keyframes stamp-in{from{transform:scale(.85)}to{transform:scale(1)}}
.lab-card p{color:#edffd3;min-height:58px;margin-bottom:12px}.lab-card small{color:#b8cbaa;font-size:12px}
.lab-card.is-complete{background:#27583a;transform:rotate(0deg)}
.lab-reset{border:0;background:transparent;padding:16px;color:#36513d;text-decoration:underline;text-underline-offset:4px}
#simulateVisit:disabled{opacity:.75;cursor:default}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #839e50;outline-offset:5px}
.feature-card:hover,.campaign-preview:hover{box-shadow:0 18px 40px #1438240d}
@media(max-width:900px){.network-story,.visit-lab{grid-template-columns:1fr;gap:32px;padding-block:56px}.lab-card{max-width:560px;width:calc(100% - 12px);justify-self:center}.hero{padding-block:48px}}
@media(max-width:540px){.network-story-grid{grid-template-columns:1fr}.network-story-grid article{padding:24px}.lab-card{padding:26px}.lab-stamps{gap:10px}.lab-stamps span{font-size:25px}.lab-reset{display:block}.hero-visual{border-radius:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
