demo.sessions.ca

Sessions Cannabis demo builds — independent versions, each at its own /vN/ path.

Pick a version to view it. Every deploy adds a new /vN/ folder; older versions stay browsable.

v232026-05-21LATEST
Strain marquee — premium refinement (drop rainbow + dot artifacts) Previous strain ticker reads cluttered: 9 different colored pills each with a glow box-shadow that creates a tiny dark "black dot" artifact below + colored dot inside each pill. v23 strips it to a refined single-palette chip strip: hairline 1px border at rgba(13,13,11,0.16), no glow shadows, no inner colored dot, 11px uppercase text with 0.18em letter-spacing (wider tracking = premium), slower scroll speed 50 → 28, edge fade enabled (LogoLoop fadeOut prop, color matches the new #FAF7F0 cream section bg so the fade is invisible past the edge — pills appear to gently dissolve in/out), section padding 24 → 32 for breathing room. Aesthetic now matches Aesop / Cuyana premium retail strip aesthetic instead of crypto-startup-rainbow.
What's new vs v22: HomeSections.jsx swapped StrainIcon (9-color rainbow with glow) → PremiumChip (single neutral palette). TRUST_LOGOS simplified — removed the per-strain color prop entirely. TrustStrip section: bg rgba(255,255,255,0.78)#FAF7F0 (cream), border tokens hardcoded to #F0EFEC, LogoLoop props: speed 50→28, logoHeight 36→32, gap 28→20, added fadeOut + fadeOutColor="#FAF7F0", removed scaleOnHover (was distracting on premium chips).
v222026-05-21ARCHIVE
Trust strip rewrite — animated counters, new copy, no more hero echo User flagged the secondary fold for repeating the hero's "Your Next Sesh Starts Here" headline and cramming all stats into one comma-separated line. v22 rewrites it as a proper trust strip: new headline "Backed by Ontario. Built for community." (distinct from the hero's brand-vibe tagline), sub-tagline emphasizing transparency + community, 4 large animated count-up counters (48+ locations, 132K+ SKUs, 4.7★ rating, 6 yrs serving Ontario) in hero orange #F78D1E to visually tie the two folds together, FIND A STORE CTA preserved. Counters use IntersectionObserver — they sit at 0 until scrolled into view, then tick up over 1.4s with easeOutCubic easing for a punchy stop. Hero H1 stays "YOUR NEXT Sesh STARTS HERE" untouched, so the two folds no longer say the same thing.
What's new vs v21: Hero.jsx imports React hooks (useEffect, useRef, useState), adds inline AnimatedCounter component (Intersection Observer + requestAnimationFrame easing). Secondary JSX restructured: removed secondaryText+secondarySubhead, added secondaryHeader + statRow (4 stat blocks). Style block reorganized: secondaryHeading shrunk from 48px → 28px to make room for stats; added statNum (40px hero orange) and statLabel (11px uppercase). Container maxWidth bumped 1640 → 1920 to align with header. No Featured Categories or Hero-image changes.
v212026-05-21ARCHIVE
Featured Categories — Sophie's real BW SVGs + warm chocolate bg (premium contrast to hero) Replaces the AI-rendered categories-3d/ clay PNGs with Sophie's real hand-illustrated BW SVGs delivered today as Sessions Cannabis (7) (28 SVGs: 14 categories × 2 variants). Used the BW variant — each SVG has a white circle baked in as the tile bg + black-stroke line icon inside — matches Sophie's reference exactly. All 9 app categories mapped: Flower, Edibles, Pre Rolls, Concentrates, Vaporizers, Oils & Capsules (Capsules-bw.svg), Topicals, Accessories, Merchandise (Apparel-bw.svg). Section bg changed from pure black #0D0D0B to warm chocolate #2A1812 — echoes the wooden ROOTED IN COMMUNITY medallion in the hero, premium aesthetic, distinct from hero's #F78D1E orange (no two adjacent folds are the same color now). Added "Shop By Category" title (matches Sophie's reference). Hover state: tile lifts -4px with orange drop-shadow glow + label flips to hero orange — visually ties the two folds together.
What's new vs v20: SophieHome.jsx cats[] swapped to categories-sophie/*-bw.svg (Sophie's flat-line icons). ch3_section.background: #0D0D0B#2A1812. ch3_tileCard: cream bg + borderRadius removed (Sophie's SVG already has the white circle — wrapper not needed). Added ch3_title for "Shop By Category" heading + hover styles via inline <style> tag. No Hero changes; v20's logo-alignment fix preserved verbatim.
v202026-05-21ARCHIVE
Hero text alignment fix — text now aligns with header logo at wide viewports User audit at viewport 2560 caught three different left-anchors: header logo at x=456 (header uses maxWidth:1920, padding:0 140), hero text at x=140 (leftInner pinned to section edge), secondary fold at x=596 (uses maxWidth:1640). v20 wraps leftInner in a new contentContainer styled exactly like the header's container — maxWidth:1920, margin:0 auto, display:flex, alignItems:center. At viewport 2560, hero text now starts at x=460 — aligns with logo's x=456 to within 4px. At viewport 1920 or narrower, no change vs v19 (container fills viewport, text at x=140).
What's new vs v19: Hero.jsx adds S.contentContainer style + wraps S.leftInner inside it. No image, asset, or diagonal-position changes — v19's transparent collage + viewport-scaled diagonal preserved verbatim. Pure text-alignment patch.
v192026-05-21ARCHIVE
Hero proportion fix — transparent collage, CSS-driven orange panel + diagonal, viewport-scaled Fixes v18 wide-viewport regression. v18 right-anchored the 1920×600 baked image and bled section bg to fill the left gutter — but the diagonal was BAKED INTO THE IMAGE at fixed pixel offsets, so at viewports >1920px the diagonal drifted in viewport-percentage terms (50% at 2174 instead of Sophie's spec ~44%). v19 separates the concerns: the orange panel + diagonal are now CSS (section's #F78D1E bg shows through transparent area of the collage PNG), and the collage scales responsively with viewport width. Result: diagonal stays at the SAME viewport percentages at every viewport (top 55.8%, bottom 41.5%). Generated Banner_collage_only.png from the dark Banner_left_cleared.png using Python/PIL color-distance masking (hard tolerance 20 for pure orange, soft tolerance 40 for AA edge preservation). Diagonal coords pixel-verified pre/post: identical (1071,0) → (796,599).
What's new vs v18: New asset public/figma/sessions-assets/Banner_collage_only.png (1,314,111 bytes — 49.8% transparent, 1.4% AA edge, 48.8% opaque collage). Hero.jsx swapped BANNER_BGBANNER_COLLAGE. S.split dropped fixed height: 600. S.bannerImg changed from native 1920×600 position:absolute right:0 to width:100% height:auto display:block — image now scales proportionally with viewport. S.contentOverlay stays position:absolute inset:0 so text grows/shrinks with the image. All text styles (60px H1, 80px "Sesh", 16px subhead, 32px gap, 140/140 padding, #E65325 SHOP NOW pill) carried forward from v18. Section bg #F78D1E unchanged (still the dark orange you explicitly requested at v17).
v182026-05-21ARCHIVE
Hero in-frame fix — banner at native 1920×600, right-anchored, orange gutter left Fixes "it's not in the frame" feedback from v17. v17 was using object-fit: cover which at viewports wider than 1920px scaled the cleaned banner up by ~1.35× and cropped roughly 107px off the top and bottom of the collage — the marigolds at the bottom edge and the monarch butterflies at the top edge were getting clipped out of frame. v18 stops scaling the image entirely: it now stays at its NATIVE 1920×600 dimensions, anchored to the right edge of the section. At viewports > 1920 the left gutter fills seamlessly with the section's #F78D1E background (the same orange as the image's left half). At viewports ≤ 1920 the image's left side clips harmlessly (it's solid orange = same as bg). Result: full collage — medallion, leaves, marigolds, monarch butterflies — visible at every viewport without cropping.
What's new vs v17: Hero.jsx two-style change. S.bannerImg switched from {position:'absolute', inset:0, width:'100%', height:'100%', objectFit:'cover', objectPosition:'right center'} to {position:'absolute', right:0, top:0, width:1920, height:600, display:'block', zIndex:0} — no more responsive scaling. S.shell.background and S.split.background also pinned to #F78D1E (matching the image's baked-in orange) so the left gutter blends edge-to-edge. Cleaned banner asset itself unchanged from v17 (still Banner_left_cleared.png, 1,134,864 bytes). Text overlay padding 140/140, gap 32, "Sesh" Pacifico italic — all preserved from v17.
v172026-05-21ARCHIVE
Dark orange banner swap — #F78D1E per request Asset-only swap. Studio re-edited the cleaned banner with the deeper #F78D1E (247, 141, 30) orange instead of the pale #FBB35D, then fixed a thin pale-strip artifact at the diagonal edge with a per-row mask following the diagonal. New file delivered Windows → Studio → MBP via Tailscale at 03:23 EDT, replaces the prior cleaned banner in place. Hero code unchanged. Pixel verification at left-edge coord (100, 300): rgb(247, 141, 30) = #F78D1E exactly.
What's new vs v16: One byte swap — public/figma/sessions-assets/Banner_left_cleared.png contents replaced (1,150,498 → 1,134,864 bytes). Filename, code reference, dimensions (1920×600), and everything else unchanged. No Hero.jsx edits. Pale-strip diagonal artifact from Studio's first cleaning pass also fixed in this version (Studio narrowed 20,325 pale-orange leak pixels to 15 via per-row mask following the diagonal).
v162026-05-21ARCHIVE
Hero with Studio-cleaned banner — full collage visible (butterflies + medallion + leaves) Uses Banner_left_cleared.png — Studio (via Windows Photoshop/Python) removed the original baked-in left text and filled it with orange #FBB35D matching the diagonal. Image is 1920×600 native, dropped into Hero as full-bleed bg. React text overlay (H1 / subhead / CTA) sits on top of the orange portion. React-side clip-path orange panel removed (orange is in the image now), eliminating any visual misalignment between React polygon and image diagonal at non-1920 viewports. Result: monarch butterflies, marigolds, cannabis leaves, and the "ROOTED IN COMMUNITY • ELEVATED CANNABIS & CONNECTION" wooden medallion are all clearly visible for the first time.
What's new vs v15: BANNER_BGBanner_left_cleared.png (1.1 MB, 1920×600, delivered from Windows → Studio → MBP via Tailscale at 03:12 EDT). React S.leftPanel with clip-path: polygon(...) replaced by simple S.contentOverlay (no clip, just centered absolute layer). Text overlay padding kept at 140/140, gap at 32, "Sesh" word still in Pacifico italic. Original Banner.png untouched on disk for any future fold that needs the unmodified version.
v152026-05-21ARCHIVE
Hero regression fix — keep v14 color/padding/gap, drop the max-width centering v14 introduced max-width: 1920px + margin: 0 auto on the Hero container to prevent the right-side collage from cropping at wider viewports. Side effect: on viewports > 1920px the auto-centering left a ~316px margin on each side, and the surrounding shell's #FBB35D bg wasn't reliably filling the gutter (parent constraint upstream clipped it). Visible result: white dead-zone on the left, photo overflowing on the right. v15 drops the max-width and lets the section bleed full-width like v13 did. All v14 spec wins kept (#FBB35D color, 140/140 padding, 32px gap).
What's new vs v14: Two lines removed from Hero.jsx S.split: maxWidth: 1920 and margin: '0 auto'. Section now bleeds edge-to-edge at all viewport widths. JS readout confirms marginLeft: 0px, marginRight: 0px, width: 2166px at viewport 2174. Background still #FBB35D. Padding still 140/140. Gap still 32px. Mild collage cropping at ultra-wide viewports accepted — same trade-off as v13, but with v14's correct color and spacing.
v142026-05-21ARCHIVE
Hero tightened to Sophie's exact Figma spec Pixel-perfect compliance with the side-pane spec Ravi pulled from Figma. Background switched from #F78D1E (too saturated) to Sophie's official #FBB35D (her flat-gradient color). Left-panel internal padding pinned to 140px both sides. Vertical gap between H1 / subheadline / CTA pinned to 32px. Container constrained to max-width: 1920px with auto margins so the collage on the right doesn't crop at wider viewports — marigolds, butterflies, and wooden seal now all visible.
What's new vs v13: Four-value diff against Sophie's side-pane spec. shell + split + leftPanel.background all → #FBB35D (was #F78D1E, a more saturated mid-orange). leftInner.paddingLeft / paddingRight140px fixed (was 6% ≈ 115px on the left + 24px on the right — both wrong). leftInner.gap32px (was 28px). split.maxWidth: 1920px added with margin: 0 auto so on viewports > 1920px the container centers rather than stretching and cropping the right-side collage. Hero structure + diagonal clip + Pacifico "Sesh" + copy hierarchy from v13 unchanged.
v132026-05-21ARCHIVE
Hero rewrite — split layout, real Figma structure, "Sesh" script font All 4 front-fold audit findings fixed in one rewrite. Hero is now the actual Figma design: left 55% orange flat panel with H1 "YOUR NEXT Sesh STARTS HERE" (Pacifico script for the "Sesh" word per Sophie's Yokoneya entry), subheadline "ROOTED IN COMMUNITY…", SHOP NOW pill. Right 45% Banner.png with diagonal clip-path edge. No dark scrim — orange is opaque flat color, doesn't need one. Banner AR mismatch resolved by giving the photo its own column instead of stretching it full-width.
What's new vs v12: Hero.jsx completely rewritten. Old: single full-bleed Banner.png + 0.70→0.10 dark scrim + subheadline-as-H1 (wrong copy hierarchy). New: clip-path: polygon(0 0, 60% 0, 48% 100%, 0 100%) orange panel layered on top of full-width banner image, creating a diagonal edge between the two columns. Pacifico script font added to global.css for the "Sesh" word treatment (Yokoneya fallback chain). Subheadline properly demoted to <p>, H1 reserved for the real primary tagline at 60/64/Bold. SHOP NOW pill switched to darker SESH-orange #E65325 for contrast against the panel. bgScrim style removed entirely. Per-store rebind (v9), Sophie's PNG benefit icons + Map Icon (v10), fold-10 AI overlay removal + unicode escape fix (v11), and pinned 60/48/32 type scale (v12) all carry forward.
v122026-05-20ARCHIVE
Sophie's Typography pinned — H1/H2/H3 at exact spec sizes Reads Typography.png from Sophie's PNG Assets folder and pins H1 (60px Bold), H2 (48px Bold), H3 (32px Regular), Body (16px), Caption (12px) at fixed pixel sizes. No more ad-hoc clamp(). Eight key heading style objects updated to Sophie's master scale.
What's new vs v11: CSS variables --sc-h1-size: 60px, --sc-h2-size: 48px, --sc-h3-size: 32px + utility classes (.sc-h1 / .sc-h2 / .sc-h3) added to src/styles/global.css. Updated headings: Hero tagline (60/60/Bold), ch10_leftHeading "Nobody beats our freshness" (60/60/Bold), swHeading "Storewide Deals at <store>" (48/48/Bold), ch12_title "Check Out Our Everyday Deals" (48/48/Bold), ch13_handle "@startyoursesh" (48/48/Bold), ch14_title "Our Blog" (48/48/Bold), ch15_headline "48+ Stores Across Canada" (48/48/Bold), ch16_heading "A more rewarding way to shop" (48/48/Bold), swCardTitle "25% & 30% off" (32/40/Bold). Font family stack Brother 1816, Poppins, system-ui (Brother fonts gracefully fall back to Poppins). Still deferred to v13: Sophie's 9 hand-illustrated category icons (Figma /v1/images API still rate-limited 429 — retry needed).
v112026-05-20ARCHIVE
Design-audit fixes — overlay scrims, dropped AI overlays, unicode escape Addresses 4 of 10 flaws from the Claude Sonnet 4.6 design audit (F-03, F-05/06/07, F-09, F-10). Hero text scrim strengthened for legibility. Three AI product-photo overlays removed from fold 10 cards (wrong asset type per design brief). Unicode escape replaced with real apostrophe. Card scrim added to the two PromoTrio white-text cards.
What's new vs v10: Hero linear-gradient deepened from 0.45→0.0 to 0.70→0.10 on the left edge. New ch10_cardScrim style (diagonal dark gradient, 55%→25%→transparent) on the two right-column PromoTrio cards. Left freshness card scrim omitted (text is #000000 on yellow Sophie BG — scrim would hurt contrast). ’s JSX-literal escape in Instagram + Everyday-Deals sections replaced with real apostrophe. AI product overlays at /figma/8d60d4da…, /figma/9cc194e4…, /figma/dc6995ef… removed. Not fixed (needs Sophie): F-01 banner illustration vs photo, F-02 banner AR (1254×922 → 1732×600), F-04 img-1.png wide strip used as tall card, F-08 promo banner low-res.
v102026-05-20ARCHIVE
Sophie's real assets — benefit icons, Map Icon, 9th Merchandise tile, fold-10 fixes Replaces colored-dot placeholders, synthetic SVG map, and broken fold-10 image refs with Sophie's official PNG/SVG assets from "Sessions Website PNG/SVG Assets" folders. Per-store rebind from v9 carried forward.
What's new vs v9: 6 Sophie PNG benefit icons (Exclusive Savings / Customized Offers / Birthday Discount / Annual Gift / Sesh Gear / Gift Cards) replace colored dots in folds 9 + 16. Sophie's Map Icon.png replaces the inline synthetic SVG blob in fold 15. Fold 10 PromoTrio: broken /figma/<hash>.png BG refs (3 of 6) switched to working /v10/figma/three-col/img-N.png. Fold 3: 9th Merchandise tile added (was missing). Sessions Rewards Logo no longer used as recursive BG that bled across panels.
v92026-05-20ARCHIVE
Per-store rebind — picker drives the page Header / Hero / Footer / StorewideDeals / StoreMapCTA bind to selectedStore. Switching picker swaps brand logo, CRSA license, hours, store name, and active-deal text. (Still uses placeholder benefit icons + synthetic SVG map — fixed in v10.)
Superseded by v10 for the asset cleanup. Per-store rebind logic identical.
v82026-05-19ARCHIVE
Sophie home page rebuild — Figma-faithful folds AI 3D claymorphism category icons · banner-bg hero · 6-benefit Rewards strip · footer with Ontario badge. CRSA #1382440 hardcoded across all stores.
Superseded by v9 for the per-store rebind. Kept browsable for design comparison.
v2Windows premiumARCHIVE
Claymorphism premium variant 3D category renders · GLB models · static mirror from the Windows build pipeline.
Sessions Cannabis · Cannabis Retailer · License per store (see the v9 footer for the current store's CRSA) · ONTARIO AUTHORIZED CANNABIS RETAILER
Deploy convention: each new version → new /vN/ folder. No redirects. No subdomains. One demo.sessions.ca, many folders.