.disp-hero{background:radial-gradient(circle at 88% 12%,#184c32 0%,transparent 45%),linear-gradient(120deg,#071a15,#102b22);color:white;padding:clamp(85px,10vw,150px) 7%}.disp-inner{max-width:1000px}.disp-hero h1{font-size:clamp(42px,6.8vw,90px);line-height:1.04;letter-spacing:-.055em;margin:20px 0}.disp-hero h1 em{color:#56cf12;font-style:normal}.disp-hero h2{font-size:clamp(21px,2.6vw,34px);color:#d4f5df;margin:20px 0}.disp-hero p{max-width:760px;line-height:1.7;font-size:18px}.disp-hero .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.disp-fine{font-size:12px!important;opacity:.78;line-height:1.6!important;margin-top:22px}.disp-section{padding:85px 7%;}.disp-section>h2{max-width:950px;font-size:clamp(32px,4vw,56px);line-height:1.12}.disp-section>h2 span{color:#2b9f26}.disp-lead{max-width:860px;font-size:19px;line-height:1.65}.disp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.disp-card{border:1px solid #dce7df;border-radius:20px;padding:32px;background:#fff;box-shadow:0 10px 35px #102b220d}.disp-card h3{font-size:24px}.disp-card p,.disp-steps p{line-height:1.65}.disp-icon{display:inline-block;color:#2b9f26;font-size:25px;font-weight:800}.disp-band{background:#0c261b;color:#fff;padding:75px 7%;display:grid;grid-template-columns:2fr 1fr;gap:65px;align-items:center}.disp-band h2{font-size:clamp(32px,4vw,52px);line-height:1.15}.disp-band p{line-height:1.7;max-width:780px}.disp-stat{border:1px solid #5b9872;border-radius:22px;padding:35px;text-align:center}.disp-stat strong{display:block;color:#56cf12;font-size:clamp(60px,8vw,105px)}.disp-stat span{display:block;line-height:1.5}.disp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:40px 0}.disp-steps>div{padding:25px;border-left:4px solid #2b9f26;background:#f1f8f3;border-radius:0 12px 12px 0}.disp-steps b{font-size:22px}.disp-compliance{padding:22px 26px;background:#f2f6f2;border-radius:12px;font-size:14px;line-height:1.65;max-width:1100px}.disp-contact{scroll-margin-top:85px}.disp-contact form small{font-size:12px;line-height:1.5}@media(max-width:800px){.disp-grid,.disp-steps,.disp-band{grid-template-columns:1fr}.disp-hero{padding:80px 6%}.disp-section,.disp-band{padding:60px 6%}.disp-band{gap:25px}.disp-hero .button{max-width:100%;white-space:normal;text-align:center}}
/* V8.14: FAQ state indicators */
.disp-faq .faq-list{max-width:960px;margin:2rem auto 0;display:grid;gap:12px}
.disp-faq details{border:1px solid rgba(128,170,145,.35);border-radius:12px;padding:0 20px;background:rgba(255,255,255,.035)}
.disp-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;font-weight:700;list-style:none}
.disp-faq summary::-webkit-details-marker{display:none}
.disp-faq .faq-arrow{flex:none;width:11px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;margin-right:5px}
.disp-faq details[open] .faq-arrow{transform:rotate(225deg)}
.disp-faq details p{padding:0 0 20px;margin:0;line-height:1.65}
.disp-faq summary:focus-visible{outline:2px solid #56cf12;outline-offset:4px}

/* V8.15: restore approved dispensary hero artwork */
.disp-hero{background-image:linear-gradient(90deg,rgba(7,26,21,.96) 0%,rgba(7,26,21,.91) 45%,rgba(7,26,21,.58) 75%,rgba(7,26,21,.30) 100%),url("assets/dispensary-hero.webp");background-position:center,center;background-size:cover;background-repeat:no-repeat}
@media(max-width:800px){.disp-hero{background-image:linear-gradient(90deg,rgba(7,26,21,.91),rgba(7,26,21,.72)),url("assets/dispensary-hero.webp");background-position:center,center;background-size:cover}}

/* V8.16 desktop-first split hero, matching the main landing page's two-column approach */
.disp-hero{background:radial-gradient(circle at 90% 10%,#184c32,transparent 48%),linear-gradient(120deg,#071a15,#102b22);padding:clamp(65px,7vw,105px) 7%}
.disp-inner{max-width:1380px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);align-items:center;gap:clamp(28px,5vw,75px)}
.disp-hero-copy{min-width:0}.disp-hero h1{font-size:clamp(37px,4.35vw,67px);line-height:1.07;letter-spacing:-.04em}.disp-hero h2{font-size:clamp(19px,1.85vw,27px)}
.disp-hero p{font-size:clamp(16px,1.15vw,18px)}.disp-hero-visual{margin:0;min-width:0}.disp-hero-visual img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:20px;box-shadow:0 24px 65px #0005}.disp-hero-visual figcaption{font-size:12px;color:#d4e6da;margin-top:10px;text-align:center}
.disp-stat strong{font-size:clamp(27px,3vw,43px);overflow-wrap:anywhere}.disp-reading a{color:#176c3b}.disp-reading a:hover{text-decoration:underline}
@media(max-width:900px){.disp-inner{grid-template-columns:1fr;gap:35px}.disp-hero-visual{max-width:580px;width:100%;margin:auto}.disp-hero{padding:70px 6%}.disp-hero h1{font-size:clamp(36px,7vw,58px)}}
@media(max-width:550px){.disp-hero h1{font-size:clamp(32px,9vw,44px)}.disp-hero-visual img{max-height:none}.disp-grid{grid-template-columns:1fr}}

/* V8.17: desktop hero inspired by the approved new visual; real accessible HTML text */
.disp-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#071b15 0%,#0c2019 68%,#172c21 100%);padding:clamp(45px,5vw,80px) 4.2% 65px}
.disp-inner{max-width:1660px;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(20px,3vw,54px);align-items:center}
.disp-hero-copy{position:relative;z-index:1}
.disp-hero .eyebrow{color:#56cf12;letter-spacing:.17em;font-size:clamp(12px,1.1vw,17px);font-weight:800}
.disp-hero h1{font-size:clamp(39px,4.1vw,70px);line-height:1.035;letter-spacing:-.035em;margin:20px 0 22px;font-weight:900}
.disp-hero h1 em{display:block;color:#56cf12}
.disp-hero h2{font-size:clamp(18px,1.65vw,26px);line-height:1.22;color:#fff;font-weight:850;margin:0 0 17px}
.disp-hero-copy>p:not(.disp-fine){font-size:clamp(16px,1.15vw,19px);line-height:1.5;color:#e7f0e9;max-width:670px}
.disp-hero .hero-actions{margin-top:28px}.disp-hero .button.primary{background:#56cf12;color:#10251b;border-color:#56cf12;border-radius:14px;font-size:clamp(14px,1.2vw,19px);font-weight:850;padding:20px 26px;text-align:center;white-space:normal}
.disp-hero-visual{align-self:stretch;display:flex;align-items:center;min-height:510px;overflow:hidden;border-radius:18px;box-shadow:0 20px 65px #0006}
.disp-hero-visual img{width:100%;height:100%;max-height:720px;min-height:510px;object-fit:cover;object-position:57% center;border-radius:0;box-shadow:none}
.disp-fine{max-width:650px}
@media(max-width:900px){.disp-hero{padding:60px 6%}.disp-inner{grid-template-columns:1fr}.disp-hero-visual{max-width:100%;min-height:0;aspect-ratio:1.5}.disp-hero-visual img{min-height:0;max-height:none;object-position:center 45%}.disp-hero h1{font-size:clamp(36px,6vw,58px)}}
@media(max-width:550px){.disp-hero{padding:48px 5%}.disp-hero h1{font-size:clamp(32px,9vw,44px)}.disp-hero-visual{aspect-ratio:4/3}.disp-hero .button.primary{width:100%}}

/* V8.18: clean photographic asset; no embedded marketing copy or cropped letters. */
.disp-hero-visual img{object-position:center center}

/* V8.19: balanced desktop sections, alternating backgrounds, and accessible article cards.
   Scoped to the dispensary page; the approved hero and main landing page are unchanged. */
@media(min-width:901px){
 .disp-section{padding:clamp(55px,5vw,76px) max(5%,calc((100% - 1320px)/2));}
 .disp-section>.eyebrow{display:block;text-align:center;margin-bottom:13px}
 .disp-section>h2{max-width:1100px;margin:0 auto 16px;text-align:center}
 .disp-section>.disp-lead{max-width:950px;margin:0 auto;text-align:center}
 .disp-grid,.disp-steps{max-width:1320px;margin:30px auto 0;gap:22px}
 .disp-band{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:clamp(30px,5vw,75px);padding:clamp(55px,5vw,76px) max(5%,calc((100% - 1320px)/2));}
 .disp-faq .faq-list{max-width:1080px;margin:25px auto 0}
 .disp-contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,70px);padding:clamp(55px,5vw,76px) max(5%,calc((100% - 1320px)/2));align-items:start}
 .disp-contact .contact-copy{max-width:520px;justify-self:end}
 .disp-contact form{width:100%;max-width:720px;justify-self:start}
}
.disp-problem{background:#f0f5ef}
.disp-problem .disp-card{height:100%;border-color:#d2e2d4}
.disp-band{background:linear-gradient(115deg,#092016,#123a27);}
.disp-band .disp-stat{background:#193f2c;border-color:#478c5b}
.disp-plan{background:#fff}
.disp-plan .disp-steps>div{background:#eaf4eb;border-left-color:#2b9f26;border-radius:12px;padding:28px}
.disp-plan .disp-compliance{margin:26px auto 0;max-width:1200px}
.disp-faq{background:#f0f5ef}
.disp-faq details{background:#fff;border-color:#d3e2d4}
.disp-reading{background:#102b22;color:#fff}
.disp-reading>h2 span{color:#56cf12}
.disp-reading .disp-lead{color:#d9e8df}
.disp-reading .disp-card{display:flex;flex-direction:column;min-height:255px;background:#f8fbf6;color:#15251b;border:1px solid #d8e7d9;padding:28px}
.disp-reading .disp-card h3{margin:13px 0 8px;font-size:clamp(20px,1.65vw,25px);line-height:1.3}
.disp-reading .disp-card p{margin:0 0 20px;color:#4c5b50}
.disp-article-label{font-size:11px;font-weight:900;letter-spacing:.13em;color:#287b39}
.disp-reading .disp-read-link{margin-top:auto;font-size:13px;font-weight:900;color:#176c3b;text-transform:uppercase}
.disp-reading .disp-resource-more{text-align:center;margin:27px 0 0}
.disp-reading .disp-resource-more a{display:inline-block;color:#56cf12;font-weight:900;border-bottom:1px solid #56cf12;padding-bottom:5px}
.disp-contact{background:#56cf12;color:#102b22}
.disp-contact .contact-copy p{color:#27432e}
.disp-contact .contact-direct a{color:#103c20}
.disp-contact form{box-shadow:0 16px 42px #102b2229;border-color:#d9e8d1}
.disp-contact form .button.primary{background:linear-gradient(135deg,var(--green),#70b817);color:#fff}
@media(max-width:900px){.disp-section{padding:54px 6%}.disp-section>.eyebrow{display:block;text-align:center}.disp-section>h2,.disp-section>.disp-lead{text-align:center;margin-left:auto;margin-right:auto}.disp-grid,.disp-steps{margin-top:26px}.disp-band{padding:55px 6%}.disp-contact{padding:55px 6%}.disp-reading .disp-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.disp-faq .faq-arrow{transition:none}}

/* V8.21: Shared homepage brand tokens for dispensary page */
:root{--green:#56cf12;--green2:#2b9f26}
.disp-hero .button.primary,.disp-contact{background:var(--green)}
.disp-hero h1 em,.disp-hero .eyebrow,.disp-reading>h2 span,.disp-reading .disp-resource-more a{color:var(--green)}
.disp-reading .disp-resource-more a{border-bottom-color:var(--green)}
.disp-faq summary:focus-visible{outline-color:var(--green)}

/* V8.25: Match the homepage contact section; override earlier green dispensary rules. */
.disp-contact{background:#f5f7f4;color:#111}
.disp-contact .contact-copy p{color:#596159}
.disp-contact .contact-direct a{color:#2d791d}
.disp-contact form{border-color:#dce1dc;box-shadow:0 5px 18px rgba(0,0,0,.04)}
.disp-contact form .button.primary{background:linear-gradient(135deg,var(--green),#70b817);color:#fff}

/* V8.42: countertop cashless focus and dedicated ATM feature. */
.disp-hero h1{font-size:clamp(36px,4.3vw,66px);line-height:1.04}.disp-hero-visual img{object-fit:cover;object-position:center;aspect-ratio:1/1;width:100%;height:auto}.disp-atm-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px;align-items:center;padding:60px 6%;background:#f4f6f1}.disp-atm-section figure{margin:0}.disp-atm-section img{display:block;width:100%;height:auto;border-radius:14px}.disp-atm-section figcaption{font-size:11px;color:#666;margin-top:9px}.disp-atm-section h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12;margin:14px 0 20px}.disp-atm-section h2 span{color:#2b8b16}.disp-atm-section p{font-size:17px;line-height:1.7;color:#4d564b}.disp-atm-section ul{list-style:none;padding:0;margin:24px 0}.disp-atm-section li{padding:9px 0;font-size:16px}.disp-atm-section li:before{content:'✓';color:#2b9f26;font-weight:900;margin-right:12px}.disp-atm-section .disp-fine{font-size:11px;margin-top:15px}@media(max-width:800px){.disp-atm-section{grid-template-columns:1fr;gap:26px;padding:38px 6%}.disp-atm-section p{font-size:15px}}

/* V8.42: supplied Point-of-Banking terminal photo. */
.disp-pob-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:60px 6%;background:#fff}.disp-pob-section figure{margin:0}.disp-pob-section img{display:block;width:100%;height:auto;object-fit:contain;max-width:560px;margin:auto}.disp-pob-section figcaption{text-align:center;font-size:11px;color:#666;margin-top:12px}.disp-pob-section h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12;margin:14px 0 20px}.disp-pob-section h2 span{color:#2b8b16}.disp-pob-section p{font-size:17px;line-height:1.7;color:#4d564b}.disp-pob-section ul{list-style:none;padding:0;margin:24px 0}.disp-pob-section li{padding:9px 0;font-size:16px}.disp-pob-section li:before{content:'✓';color:#2b9f26;font-weight:900;margin-right:12px}.disp-pob-section .disp-fine{font-size:11px;margin-top:15px}@media(max-width:800px){.disp-pob-section{grid-template-columns:1fr;gap:26px;padding:38px 6%}.disp-pob-section p{font-size:15px}}

/* Approved checkmark benefits: heading with supporting sentence below. */
.disp-pob-section .disp-approved-benefits li{position:relative;padding:10px 0 10px 28px;line-height:1.55}.disp-pob-section .disp-approved-benefits li:before{position:absolute;left:0;top:10px;margin:0}.disp-approved-benefits strong,.disp-approved-benefits li>span{display:block}.disp-approved-benefits li>span{margin-top:4px;color:#4d564b}

/* V8.47: revised buying-power section; all rules scoped to this section. */
.disp-buying-power{background:#f0f5ef;color:#111}
.disp-buying-power .bp-wrap{max-width:1320px;margin:auto}
.disp-buying-power .bp-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center}
.disp-buying-power .eyebrow{color:#2b8b16;font-size:12px;font-weight:800;letter-spacing:.12em}
.disp-buying-power h2{font-size:clamp(28px,3.1vw,44px);line-height:1.12;letter-spacing:-.025em;margin:16px 0 22px}
.disp-buying-power h2 span{color:#2b8b16}
.disp-buying-power p{font-size:17px;line-height:1.6;color:#4d564b;margin:0 0 20px}
.disp-buying-power .bp-intro{font-size:clamp(19px,1.65vw,23px);line-height:1.4;color:#111;font-weight:700;max-width:600px}
.disp-buying-power ul{list-style:none;padding:0;margin:24px 0 0}
.disp-buying-power li{position:relative;padding:7px 0 7px 28px;font-size:16px;line-height:1.5}
.disp-buying-power li:before{content:'✓';position:absolute;left:0;color:#2b9f26;font-weight:900}
.disp-buying-power .bp-stat{background:#fff;border:1px solid #d2e2d4;border-radius:14px;padding:30px;text-align:center}
.disp-buying-power .bp-stat>strong{display:block;color:#2b9f26;font-size:clamp(76px,8vw,112px);line-height:1;letter-spacing:-.065em}
.disp-buying-power .bp-stat h3{font-size:18px;line-height:1.3;margin:18px 0}
.disp-buying-power .bp-stat p{font-size:15px;margin-bottom:16px}
.disp-buying-power a{color:#176c3b;text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:700;line-height:1.5}
.disp-buying-power a:focus-visible{outline:2px solid #2b9f26;outline-offset:4px}
.disp-buying-power small{display:block;font-size:11px;color:#596159;line-height:1.5;margin-top:10px}
.disp-buying-power .bp-preferences{display:grid;grid-template-columns:1.8fr repeat(3,minmax(0,1fr));gap:24px;align-items:center;border-top:1px solid #d2e2d4;margin-top:36px;padding-top:28px}
.disp-buying-power .bp-preferences h3{font-size:19px;line-height:1.25;margin:0 0 10px}
.disp-buying-power .bp-preferences p{font-size:14px;margin:0 0 8px}
.disp-buying-power .bp-percent{text-align:center}
.disp-buying-power .bp-percent strong{display:block;color:#2b9f26;font-size:clamp(34px,4vw,52px);line-height:1.1}
.disp-buying-power .bp-percent span{display:block;font-size:15px;font-weight:700;margin-top:9px}
@media(max-width:800px){.disp-buying-power .bp-main{grid-template-columns:1fr}.disp-buying-power .bp-stat{max-width:480px;width:100%;margin:auto}.disp-buying-power .bp-preferences{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.disp-buying-power .bp-preferences>div:first-child{grid-column:1/-1}.disp-buying-power h2{font-size:clamp(28px,5.4vw,40px)}}

.disp-buying-power .bp-quotes{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.disp-buying-power blockquote{margin:0;padding:4px 0 4px 18px;border-left:3px solid #56cf12}.disp-buying-power blockquote p{font-size:15px;color:#4d564b;margin:0 0 8px}.disp-buying-power cite{font-style:normal}@media(max-width:800px){.disp-buying-power .bp-quotes{grid-template-columns:1fr;gap:20px}}

/* Preview refinement: read the statistic as one statement. */
.disp-buying-power .bp-stat{padding:36px 30px;text-align:left;border:0;border-left:4px solid #56cf12;border-radius:0;background:transparent}
.disp-buying-power .bp-stat .bp-stat-intro{font-size:23px;font-weight:700;margin:0 0 12px;line-height:1.25}
.disp-buying-power .bp-stat-value{display:flex;align-items:baseline;gap:16px;margin-bottom:14px;white-space:nowrap}
.disp-buying-power .bp-stat-value strong{font-size:clamp(76px,7.6vw,110px);line-height:1;letter-spacing:-.065em;color:#2b9f26}
.disp-buying-power .bp-stat-value span{font-size:clamp(30px,3vw,42px);font-weight:700;line-height:1;color:#2b9f26}
.disp-buying-power .bp-stat .bp-stat-summary{font-size:22px;line-height:1.45;color:#111;margin:0 0 24px}
@media(max-width:800px){.disp-buying-power .bp-stat{padding:24px 0 24px 22px}.disp-buying-power .bp-stat .bp-stat-summary{font-size:20px}.disp-buying-power .bp-stat-value{gap:12px}}

/* Preview: prominent Federal Reserve quotations. */
.disp-buying-power .bp-quotes{gap:28px;margin-top:36px;align-items:stretch}
.disp-buying-power .bp-quotes blockquote{background:#fff;border-left:4px solid #56cf12;padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.disp-buying-power .bp-quotes blockquote p{font-size:clamp(20px,1.8vw,25px);font-weight:700;line-height:1.4;color:#111;margin:0}
.disp-buying-power .bp-quotes cite a{font-size:14px;line-height:1.5}
@media(max-width:800px){.disp-buying-power .bp-quotes{gap:20px;margin-top:30px}.disp-buying-power .bp-quotes blockquote{padding:22px 20px}.disp-buying-power .bp-quotes blockquote p{font-size:21px}}

.disp-buying-power .bp-quotes .bp-source-summary{background:#fff;border-left:4px solid #56cf12;padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.disp-buying-power .bp-quotes .bp-source-summary p{font-size:clamp(20px,1.8vw,25px);font-weight:700;line-height:1.4;color:#111;margin:0}
.disp-buying-power .bp-quotes .bp-source-summary a{font-size:14px;line-height:1.5}
@media(max-width:800px){.disp-buying-power .bp-quotes .bp-source-summary{padding:22px 20px}.disp-buying-power .bp-quotes .bp-source-summary p{font-size:21px}}

/* V8.50: compact payment preferences below the research quotes. */
.disp-buying-power .bp-preferences{margin-top:24px;padding-top:20px;gap:18px;grid-template-columns:1.8fr repeat(3,minmax(0,1fr))}
.disp-buying-power .bp-preferences h3{font-size:15px;line-height:1.3;margin-bottom:6px}
.disp-buying-power .bp-preferences p{font-size:12px;line-height:1.5;margin-bottom:5px}
.disp-buying-power .bp-preferences a{font-size:12px}
.disp-buying-power .bp-percent strong{font-size:32px}
.disp-buying-power .bp-percent span{font-size:12px;margin-top:5px}
@media(max-width:800px){.disp-buying-power .bp-preferences{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.disp-buying-power .bp-percent strong{font-size:28px}}

/* V8.52: center and tighten the payment-preference row. */
.disp-buying-power .bp-preferences{max-width:820px;margin-left:auto;margin-right:auto;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));column-gap:22px}
@media(max-width:800px){.disp-buying-power .bp-preferences{max-width:520px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.disp-buying-power .bp-preferences>div:first-child{text-align:center}}
