/* site-theme.css — Vivant Medical Marijuana (Tampa, FL).
   Палитра взята из родного снимка 2023: шалфей #cfd5bf + мята #8ce99a + зелёный #2f9e44
   + синий-акцент #1c7ed6 + почти-чёрный #141414 + крем #e2cb9e.
   Визуальный язык: светлый/воздушный, квадратные формы, мятные акценты, шрифт Poppins. */
:root{
  --grn:#2f9e44;--grn-d:#237a34;--mint:#8ce99a;--mint-s:#b6f0bf;
  --sage:#cfd5bf;--sage-l:#eef1ea;--sage-t:#f6f8f3;
  --blue:#1c7ed6;--blue-d:#1565ad;--cream:#e2cb9e;
  --ink:#141414;--ink-s:#3a3f36;--muted:#636e5e;--line:#dde3d4;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{margin:0;font-family:"Poppins","Segoe UI",Roboto,Arial,sans-serif;color:var(--ink-s);line-height:1.7;background:#fff;min-height:100vh;display:flex;flex-direction:column;font-size:16px;}
main{flex:1 0 auto;}
h1,h2,h3,h4{font-family:"Poppins","Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.22;font-weight:700;letter-spacing:-.01em;}
a{color:var(--blue);}
img{max-width:100%;height:auto;}
.vm-wrap{max-width:1150px;margin:0 auto;padding:0 20px;}
.vm-wrap-n{max-width:820px;margin:0 auto;padding:0 20px;}

/* ── header ── */
.vm-top{background:var(--ink);color:#c9d1be;font-size:13.5px;}
.vm-top .vm-wrap{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center;justify-content:flex-end;padding:8px 20px;}
.vm-top a{color:#fff;text-decoration:none;font-weight:600;}
.vm-top .fa{color:var(--mint);margin-right:6px;}
.vm-nav{background:#fff;border-bottom:3px solid var(--mint);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(20,20,20,.05);}
.vm-nav .vm-wrap{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding:13px 20px;}
.vm-logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:21px;color:var(--ink);letter-spacing:-.02em;}
.vm-logo .mark{width:42px;height:42px;border-radius:12px;background:var(--grn);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto;box-shadow:0 4px 12px rgba(47,158,68,.3);}
.vm-logo small{display:block;font-size:10.5px;letter-spacing:2.5px;color:var(--grn);font-weight:600;text-transform:uppercase;}
.vm-menu{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center;list-style:none;margin:0;padding:0;}
.vm-menu a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;position:relative;padding:4px 0;}
.vm-menu a:hover{color:var(--grn);}
.vm-menu a:not(.vm-cta):after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--mint);transition:width .18s;}
.vm-menu a:not(.vm-cta):hover:after{width:100%;}
.vm-menu .vm-cta{background:var(--grn);color:#fff!important;padding:10px 20px;border-radius:8px;font-weight:600;}
.vm-menu .vm-cta:hover{background:var(--grn-d);}

/* ── buttons (squared, not pills) ── */
.vm-btn{display:inline-block;background:var(--grn);color:#fff!important;padding:14px 30px;border-radius:8px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-size:16px;transition:.16s;box-shadow:0 6px 18px rgba(47,158,68,.26);}
.vm-btn:hover{background:var(--grn-d);transform:translateY(-2px);}
.vm-btn.alt{background:var(--blue);box-shadow:0 6px 18px rgba(28,126,214,.26);}
.vm-btn.alt:hover{background:var(--blue-d);}
.vm-btn.ghost{background:transparent;border:2px solid var(--ink);color:var(--ink)!important;box-shadow:none;}
.vm-btn.ghost:hover{background:var(--ink);color:#fff!important;}
.vm-btn.mint{background:var(--mint);color:var(--ink)!important;box-shadow:0 6px 18px rgba(140,233,154,.4);}
.vm-btn.mint:hover{background:var(--mint-s);}

/* ── hero (light sage, mint accent — родной вайб) ── */
.vm-hero{background:var(--sage);color:var(--ink);padding:88px 20px 92px;position:relative;overflow:hidden;text-align:left;}
.vm-hero .vm-wrap{position:relative;z-index:2;max-width:1150px;}
.vm-hero:before{content:"";position:absolute;right:-120px;top:-120px;width:460px;height:460px;border-radius:50%;background:var(--mint);opacity:.45;}
.vm-hero:after{content:"\f06c";font-family:FontAwesome;position:absolute;right:40px;bottom:-30px;font-size:260px;color:var(--grn);opacity:.1;line-height:1;}
.vm-hero .tag{display:inline-block;background:#fff;color:var(--grn);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:30px;margin-bottom:18px;box-shadow:0 3px 10px rgba(20,20,20,.08);}
.vm-hero h1{color:var(--ink);margin:0 0 14px;font-size:50px;max-width:760px;line-height:1.08;}
.vm-hero h1 .hl{color:var(--grn);}
.vm-hero .sub{font-size:20px;color:var(--ink);margin:0 0 10px;font-weight:600;}
.vm-hero p{max-width:620px;margin:0 0 30px;color:var(--ink-s);font-size:17.5px;}
.vm-hero .vm-btn{margin:6px 12px 6px 0;}

/* ── sections ── */
.vm-sec{padding:76px 0;}
.vm-sec.tint{background:var(--sage-l);}
.vm-sec.dark{background:var(--ink);color:#cdd5c2;}
.vm-sec.dark h2{color:#fff;}
.vm-sec.dark .vm-eyebrow{color:var(--mint);}
.vm-eyebrow{text-align:center;color:var(--grn);font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:12.5px;margin-bottom:10px;}
.vm-eyebrow:after{content:"";display:block;width:46px;height:3px;background:var(--mint);margin:10px auto 0;border-radius:2px;}
.vm-sec h2{text-align:center;font-size:34px;margin:0 0 16px;}
.vm-lead{text-align:center;color:var(--muted);max-width:760px;margin:0 auto 46px;font-size:17px;}
.vm-sec p{color:var(--ink-s);}

/* steps — mint squares */
.vm-steps{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));counter-reset:s;}
.vm-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 24px 26px;position:relative;transition:.16s;}
.vm-step:hover{border-color:var(--mint);box-shadow:0 12px 30px rgba(47,158,68,.1);transform:translateY(-3px);}
.vm-step:before{counter-increment:s;content:"0" counter(s);position:absolute;top:22px;right:24px;font-size:34px;font-weight:800;color:var(--sage);line-height:1;}
.vm-step .si{width:52px;height:52px;border-radius:14px;background:var(--mint);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:16px;}
.vm-step h3{margin:0 0 8px;font-size:18px;}
.vm-step p{margin:0;color:var(--muted);font-size:14.5px;}

/* conditions grid */
.vm-conds{display:grid;gap:12px 18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));list-style:none;padding:0;margin:0 auto;max-width:1000px;}
.vm-conds li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px;font-weight:500;color:var(--ink);font-size:15px;transition:.14s;}
.vm-conds li:hover{border-color:var(--mint);background:var(--sage-t);}
.vm-conds li .fa{color:var(--grn);background:var(--mint-s);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:0 0 auto;}

/* about split */
.vm-split{display:flex;flex-wrap:wrap;gap:46px;align-items:center;}
.vm-split>div{flex:1 1 320px;}
.vm-figure{background:var(--ink);border-radius:20px;min-height:310px;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:40px;position:relative;overflow:hidden;}
.vm-figure:before{content:"";position:absolute;left:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:var(--grn);opacity:.35;}
.vm-figure>div{position:relative;z-index:2;}
.vm-figure .fa{font-size:84px;color:var(--mint);}
.vm-figure .nm{font-size:23px;font-weight:700;margin-top:16px;}
.vm-figure .rl{color:var(--sage);font-size:14px;}

/* cards (blog) — squared, mint top-accent */
.vm-grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.vm-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.16s;}
.vm-card:hover{border-color:var(--mint);box-shadow:0 16px 36px rgba(20,20,20,.1);transform:translateY(-4px);}
.vm-card .top{background:var(--sage-l);height:96px;display:flex;align-items:center;justify-content:center;color:var(--grn);font-size:38px;border-bottom:3px solid var(--mint);}
.vm-card .bd{padding:24px;display:flex;flex-direction:column;flex:1 0 auto;}
.vm-card h3{margin:0 0 10px;font-size:18px;line-height:1.32;}
.vm-card h3 a{color:var(--ink);text-decoration:none;}
.vm-card h3 a:hover{color:var(--grn);}
.vm-card p{color:var(--muted);margin:0 0 16px;flex:1 0 auto;font-size:14.5px;}
.vm-card .more{color:var(--grn);font-weight:600;text-decoration:none;align-self:flex-start;}
.vm-card .more:hover{color:var(--blue);}

/* article */
.vm-article{padding:52px 0 72px;}
.vm-crumb{color:var(--muted);font-size:13.5px;margin:0 0 12px;}
.vm-crumb a{color:var(--grn);text-decoration:none;}
.vm-article h1{font-size:35px;margin:0 0 8px;}
.vm-article .meta{color:var(--muted);font-size:13.5px;margin:0 0 28px;border-bottom:2px solid var(--sage-l);padding-bottom:20px;}
.vm-body p{font-size:16.5px;margin:0 0 18px;color:var(--ink-s);}
.vm-body h2,.vm-body h3{margin:32px 0 12px;}
.vm-body ul{margin:0 0 18px;padding-left:4px;list-style:none;}
.vm-body li{margin:8px 0;padding-left:28px;position:relative;}
.vm-body li:before{content:"\f00c";font-family:FontAwesome;position:absolute;left:0;top:2px;color:var(--grn);font-size:13px;}
.vm-qa{color:var(--grn);}
.vm-cta-box{background:var(--sage);border-radius:16px;padding:36px;text-align:center;margin:44px 0 0;position:relative;overflow:hidden;}
.vm-cta-box:before{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:var(--mint);opacity:.4;}
.vm-cta-box>*{position:relative;z-index:2;}
.vm-cta-box h3{margin:0 0 8px;font-size:24px;}
.vm-cta-box p{margin:0 0 20px;color:var(--ink-s);}
.vm-cta-box .vm-btn{margin:5px;}

/* contact */
.vm-contact{display:flex;flex-wrap:wrap;gap:36px;}
.vm-contact>div{flex:1 1 360px;}
.vm-cinfo{list-style:none;padding:0;margin:0;}
.vm-cinfo li{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;font-size:16px;}
.vm-cinfo .ic{width:46px;height:46px;border-radius:12px;background:var(--mint);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto;}
.vm-cinfo b{display:block;color:var(--ink);font-weight:600;}
.vm-contact iframe{width:100%;height:280px;border:0;border-radius:14px;margin-top:10px;filter:grayscale(.15);}
.vm-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;}
.vm-form label{display:block;font-weight:600;margin:12px 0 5px;color:var(--ink);font-size:14.5px;}
.vm-form input,.vm-form select,.vm-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit;background:var(--sage-t);}
.vm-form input:focus,.vm-form textarea:focus{outline:none;border-color:var(--grn);background:#fff;}
.vm-form .note{font-size:12.5px;color:var(--muted);margin-top:10px;}
.vm-row{display:flex;gap:16px;flex-wrap:wrap;}
.vm-row>div{flex:1 1 200px;}

/* footer — near-black */
.vm-footer{background:var(--ink);color:#aab59c;padding:58px 20px 24px;flex-shrink:0;}
.vm-footer .cols{max-width:1150px;margin:0 auto;display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;}
.vm-footer h4{color:#fff;margin:0 0 15px;font-size:17px;display:flex;align-items:center;gap:8px;}
.vm-footer a{color:#aab59c;text-decoration:none;}.vm-footer a:hover{color:var(--mint);}
.vm-fcol{flex:1 1 220px;}
.vm-footer ul{list-style:none;padding:0;margin:0;}.vm-footer li{margin-bottom:10px;}
.vm-fcol .fa{color:var(--mint);width:20px;}
.vm-social a{display:inline-flex;width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.07);align-items:center;justify-content:center;margin-right:9px;color:#fff;transition:.15s;}
.vm-social a:hover{background:var(--grn);color:#fff;}
.vm-copy{max-width:1150px;margin:32px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#7b8670;text-align:center;}
.vm-disc{font-size:12px;color:#5f6a55;max-width:1150px;margin:12px auto 0;text-align:center;line-height:1.65;}

@media(max-width:760px){
  .vm-hero{padding:60px 20px;text-align:center;}
  .vm-hero h1{font-size:34px;}.vm-hero .vm-btn{margin:6px;}
  .vm-sec h2{font-size:27px;}.vm-sec{padding:54px 0;}
  .vm-top .vm-wrap{justify-content:center;}
}
