/* Roll&Go /vending-machines/ — clean rebuild */
.vending-page{
  --vm-paper:#fffdf8;
  --vm-bg:#f6f3ea;
  --vm-cream:#eee8da;
  --vm-ink:#141414;
  --vm-muted:#555852;
  --vm-line:#d8d1c4;
  --vm-yellow:#f2ee00;
  --vm-black:#111;
  --vm-shadow:0 18px 45px rgba(20,20,20,.09);
  --vm-shadow-sm:0 9px 24px rgba(20,20,20,.06);
}

.vending-page .container{width:min(1120px,calc(100% - 44px))}
.vending-page .site-header .container,
.vending-page .site-footer .container{width:min(1180px,calc(100% - 44px))}
.vending-page main{overflow:hidden}
.vending-page h1,.vending-page h2,.vending-page h3{color:var(--vm-ink)}

.vm2-section{padding:74px 0}
.vm2-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:#686b65;font-size:.88rem;font-weight:760}
.vm2-breadcrumb a{text-decoration:underline;text-underline-offset:3px}

/* HERO */
.vm2-hero{position:relative;padding:56px 0 0;background:linear-gradient(180deg,#fbf8ef 0%,#f6f3ea 100%)}
.vm2-hero::after{content:"";position:absolute;right:-130px;top:-120px;width:360px;height:360px;border-radius:50%;background:var(--vm-yellow);opacity:.14;pointer-events:none}
.vm2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:58px;align-items:center}
.vm2-hero-copy{min-width:0}
.vm2-hero h1{font-size:clamp(3.4rem,2.3rem + 3.9vw,5.65rem);line-height:.92;letter-spacing:-.067em;margin:0;font-weight:1000;max-width:10.8ch}
.vm2-hero h1 span{display:block;width:max-content;max-width:100%;margin-top:.11em;padding:.01em .12em .07em;background:var(--vm-yellow)}
.vm2-lead{max-width:59ch;margin:24px 0 0;font-size:clamp(1.06rem,1rem + .23vw,1.2rem);line-height:1.72;color:#3f423d}
.vm2-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}
.vm2-trust{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 0;padding:0;list-style:none}
.vm2-trust li{padding:8px 11px;border:1px solid #d5cec0;border-radius:999px;background:rgba(255,255,255,.78);font-size:.86rem;font-weight:850;color:#41433f}
.vm2-hero-media{position:relative;width:100%;max-width:395px;justify-self:end}
.vm2-hero-card{margin:0;padding:12px;border-radius:28px;background:#111;box-shadow:var(--vm-shadow);transform:rotate(.5deg)}
.vm2-hero-card img{width:100%;height:455px;object-fit:cover;object-position:center 43%;border-radius:19px;background:#fff}
.vm2-hero-badge{position:absolute;left:-21px;bottom:25px;max-width:225px;padding:13px 15px;border:2px solid #111;border-radius:15px;background:var(--vm-yellow);box-shadow:var(--vm-shadow-sm);line-height:1.2}
.vm2-hero-badge strong{display:block;font-weight:950}
.vm2-hero-badge span{display:block;margin-top:4px;font-size:.79rem;font-weight:800;color:#353535}
.vm2-sector-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:54px;border:1px solid var(--vm-line);border-bottom:0;border-radius:18px 18px 0 0;overflow:hidden;background:var(--vm-line)}
.vm2-sector-strip span{display:flex;align-items:center;justify-content:center;min-height:72px;padding:15px;background:rgba(255,253,248,.95);font-size:.92rem;font-weight:900;text-align:center}

/* GENERIC SECTION HEAD */
.vm2-section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:52px;align-items:end;margin-bottom:34px}
.vm2-section-head h2,.vm2-fit h2,.vm2-food h2,.vm2-assessment h2,.vm2-faq h2,.vm2-final h2{margin:0;font-size:clamp(2.25rem,1.65rem + 1.8vw,3.6rem);line-height:1.02;letter-spacing:-.052em;font-weight:950}
.vm2-section-head h2 span{display:block}
.vm2-section-head>p{margin:0;color:var(--vm-muted);font-size:1.07rem;line-height:1.72;max-width:65ch}

/* MANAGED SERVICE */
.vm2-service{background:var(--vm-paper)}
.vm2-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vm2-service-grid article{min-height:198px;padding:20px;border:1px solid var(--vm-line);border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(20,20,20,.035)}
.vm2-service-grid article>span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:25px;border-radius:50%;background:var(--vm-yellow);border:1px solid #d5d100;font-size:.74rem;font-weight:950}
.vm2-service-grid h3{margin:0 0 9px;font-size:1.15rem;line-height:1.17}
.vm2-service-grid p{margin:0;color:var(--vm-muted);font-size:.98rem;line-height:1.62}
.vm2-responsibility{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:14px;padding:19px 22px;border-radius:17px;background:var(--vm-yellow);border:1px solid #dcd700}
.vm2-responsibility strong{font-size:1.04rem;line-height:1.4}
.vm2-responsibility span{font-size:.92rem;font-weight:800;color:#444;white-space:nowrap}

/* SITE FIT */
.vm2-fit{background:var(--vm-cream)}
.vm2-fit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}
.vm2-fit-copy>p:not(.eyebrow){margin:19px 0 0;color:var(--vm-muted);font-size:1.06rem;line-height:1.72;max-width:54ch}
.vm2-fit-copy .btn{margin-top:25px}
.vm2-fit-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--vm-line);border-radius:24px;background:rgba(255,255,255,.45)}
.vm2-fit-card>div{min-height:126px;padding:17px;border-radius:15px;background:var(--vm-paper);border:1px solid var(--vm-line)}
.vm2-fit-card strong{display:block;margin-bottom:7px;font-size:1rem}
.vm2-fit-card span{display:block;color:var(--vm-muted);font-size:.92rem;line-height:1.56}

/* FOOD + SAFETY */
.vm2-food{background:var(--vm-paper)}
.vm2-food-grid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:58px;align-items:center}
.vm2-video-wrap{justify-self:center;width:205px;padding:8px;border-radius:27px;background:#111;box-shadow:var(--vm-shadow-sm)}
.vm2-video-wrap video{display:block;width:100%;aspect-ratio:360/560;object-fit:cover;border-radius:20px;background:#111}
.vm2-video-wrap>span{display:block;padding:9px 7px 4px;color:#f1f1f1;font-size:.75rem;font-weight:800;text-align:center}
.vm2-food-copy>p:not(.eyebrow){margin:18px 0 0;color:var(--vm-muted);font-size:1.06rem;line-height:1.72;max-width:68ch}
.vm2-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.vm2-tags span{padding:8px 11px;border-radius:999px;background:var(--vm-yellow);border:1px solid #d7d300;font-size:.86rem;font-weight:900}
.vm2-safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.vm2-safety-grid article{padding:16px;border-radius:15px;background:#171717;border:1px solid #2d2d2d}
.vm2-safety-grid strong{display:block;margin-bottom:6px;color:var(--vm-yellow);font-size:.96rem}
.vm2-safety-grid span{display:block;color:#e1e1e1;font-size:.9rem;line-height:1.52}
.vm2-food-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:21px}
.vm2-food-links>span{color:#777972;font-size:.85rem}

/* PROOF */
.vm2-proof{background:#f0eadc}
.vm2-section-head-proof{margin-bottom:27px}
.vm2-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vm2-proof-card{overflow:hidden;border:1px solid var(--vm-line);border-radius:22px;background:var(--vm-paper);box-shadow:var(--vm-shadow-sm)}
.vm2-proof-card figure{margin:0;background:#ddd;overflow:hidden}
.vm2-proof-card figure img{display:block;width:100%;height:250px;object-fit:cover}
.vm2-proof-card:first-child figure img{object-position:center 50%}
.vm2-proof-card:last-child figure img{object-position:center 47%}
.vm2-proof-body{display:grid;grid-template-columns:76px 1fr;gap:15px;align-items:center;padding:18px}
.vm2-proof-logo{display:grid;place-items:center;height:64px;padding:9px;border:1px solid #ece8de;border-radius:12px;background:#fff}
.vm2-proof-logo img{max-width:100%;max-height:45px;object-fit:contain}
.vm2-proof-body h3{margin:0 0 6px;font-size:1.08rem;line-height:1.25}
.vm2-proof-body p{margin:0;color:var(--vm-muted);font-size:.95rem;line-height:1.58}

/* ASSESSMENT */
.vm2-assessment{background:#f6f3ea}
.vm2-assessment-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}
.vm2-assessment-copy{padding-top:10px}
.vm2-assessment-copy>p:not(.eyebrow){margin:18px 0 0;color:var(--vm-muted);font-size:1.05rem;line-height:1.7;max-width:51ch}
.vm2-assessment-copy ol{display:grid;gap:10px;margin:23px 0 0;padding:0;list-style:none}
.vm2-assessment-copy li{display:flex;align-items:center;gap:10px;color:#41433f;font-weight:760}
.vm2-assessment-copy li b{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--vm-yellow);font-size:.75rem}
.vm2-contact{display:grid;gap:4px;margin-top:24px;padding-top:18px;border-top:1px solid var(--vm-line)}
.vm2-contact span{font-size:.9rem;font-weight:850}
.vm2-contact a{width:max-content;text-decoration:underline;text-underline-offset:3px;font-size:.92rem}
.vm2-form{border-radius:22px;padding:25px}

/* FAQ */
.vm2-faq{background:var(--vm-paper)}
.vm2-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:start}
.vm2-faq-copy>p:not(.eyebrow){margin:17px 0 23px;color:var(--vm-muted);line-height:1.68}
.vm2-faq-list{max-width:none;margin:0}
.vm2-faq-list details{border-radius:14px}
.vm2-faq-list summary{padding:17px 34px 17px 0;font-size:.98rem}
.vm2-faq-list details p{font-size:.95rem}

/* FINAL CTA */
.vm2-final{padding:58px 0;background:var(--vm-yellow)}
.vm2-final-inner{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center}
.vm2-final h2{max-width:14ch}
.vm2-final p:not(.eyebrow){margin:11px 0 0;color:#41433e;font-weight:700}
.vm2-final .eyebrow{background:rgba(255,255,255,.65);border-color:rgba(20,20,20,.16)}
.vm2-final-actions{display:grid;gap:9px;min-width:300px}
.vm2-wholesale-link{text-align:center;font-size:.86rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-top:2px}

@media (max-width:1080px){
  .vm2-hero-grid{grid-template-columns:minmax(0,1fr) 340px;gap:40px}
  .vm2-hero-card img{height:425px}
  .vm2-service-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:980px){
  .vending-page .container{width:min(900px,calc(100% - 36px))}
  .vm2-section{padding:62px 0}
  .vm2-hero{padding-top:46px}
  .vm2-hero-grid,.vm2-fit-grid,.vm2-food-grid,.vm2-assessment-grid,.vm2-faq-grid,.vm2-final-inner{grid-template-columns:1fr}
  .vm2-hero-grid{gap:34px}
  .vm2-hero-media{justify-self:center;max-width:430px}
  .vm2-hero-card img{height:430px}
  .vm2-section-head{grid-template-columns:1fr;gap:15px}
  .vm2-sector-strip{grid-template-columns:1fr 1fr}
  .vm2-sector-strip span{min-height:60px}
  .vm2-fit-copy .btn{margin-bottom:4px}
  .vm2-food-grid{gap:30px}
  .vm2-video-wrap{width:190px}
  .vm2-proof-card figure img{height:220px}
  .vm2-faq-copy .btn{display:none}
  .vm2-final-actions{min-width:0;max-width:420px}
}

@media (max-width:680px){
  .vending-page .container,
  .vending-page .site-header .container,
  .vending-page .site-footer .container{width:min(100% - 24px,1120px)}
  .vm2-section{padding:52px 0}
  .vm2-hero{padding-top:40px}
  .vm2-hero h1{font-size:clamp(2.8rem,12.5vw,4.25rem)}
  .vm2-lead{font-size:1.03rem}
  .vm2-actions .btn{width:100%}
  .vm2-hero-media{max-width:360px}
  .vm2-hero-card{padding:9px;border-radius:22px;transform:none}
  .vm2-hero-card img{height:380px;border-radius:15px}
  .vm2-hero-badge{position:static;max-width:none;margin-top:10px}
  .vm2-sector-strip{grid-template-columns:1fr;margin-top:40px;border-radius:16px 16px 0 0}
  .vm2-sector-strip span{min-height:51px}
  .vm2-section-head h2,.vm2-fit h2,.vm2-food h2,.vm2-assessment h2,.vm2-faq h2,.vm2-final h2{font-size:clamp(2.1rem,9vw,3rem)}
  .vm2-service-grid,.vm2-fit-card,.vm2-safety-grid,.vm2-proof-grid{grid-template-columns:1fr}
  .vm2-service-grid article{min-height:0}
  .vm2-responsibility{align-items:flex-start;flex-direction:column;gap:6px}
  .vm2-responsibility span{white-space:normal}
  .vm2-fit-card>div{min-height:0}
  .vm2-food-grid{gap:26px}
  .vm2-video-wrap{width:170px}
  .vm2-proof-card figure img{height:210px}
  .vm2-proof-body{grid-template-columns:66px 1fr;padding:15px}
  .vm2-proof-logo{height:58px}
  .vm2-form{padding:20px}
  .vm2-final{padding:50px 0}
  .vm2-final-actions .btn{width:100%}
}

@media (max-width:420px){
  .vm2-hero-card img{height:340px}
  .vm2-trust{display:grid;grid-template-columns:1fr}
  .vm2-trust li{text-align:center}
  .vm2-proof-card figure img{height:185px}
  .vm2-proof-body{grid-template-columns:1fr}
  .vm2-proof-logo{width:82px}
}

@media (prefers-reduced-motion:reduce){
  .vm2-hero-card{transform:none}
}
