

@font-face { font-family: "Fraunces"; src: url("/SunnyDayz-Cannabis/assets/fonts/fraunces-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("/SunnyDayz-Cannabis/assets/fonts/fraunces-latin-wght-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/SunnyDayz-Cannabis/assets/fonts/poppins-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/SunnyDayz-Cannabis/assets/fonts/poppins-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/SunnyDayz-Cannabis/assets/fonts/poppins-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/SunnyDayz-Cannabis/assets/fonts/poppins-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  margin: 0; min-height: 100vh; overflow-x: clip;
  font-family: var(--font-sans); font-size: var(--step-0); line-height: 1.6; color: var(--ink);
  background-color: var(--clay);
  background-image:
    radial-gradient(1200px 700px at 88% -8%, color-mix(in oklab, var(--sun) 26%, transparent), transparent 60%),
    radial-gradient(900px 620px at -10% 18%, color-mix(in oklab, var(--peach) 30%, transparent), transparent 62%),
    linear-gradient(180deg, var(--clay-hi), var(--clay) 40%, var(--clay-lo));
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: ""; position: fixed; inset: -50%; z-index: 9990; pointer-events: none;
  background-color: var(--ink); opacity: 0.07;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.2 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.2 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: sdz-grain 1.2s steps(4) infinite;
}
img, video, svg { display: block; max-width: 100%; }

svg[aria-hidden="true"] { width: 1.25em; height: 1.25em; flex: none; }
img { height: auto; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: 0.2em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--pine); outline-offset: 3px; border-radius: 8px; box-shadow: 0 0 0 7px color-mix(in oklab, var(--sun) 55%, transparent); }
::selection { background: var(--sun); color: var(--ink); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 10000; padding: 12px 18px; border-radius: var(--radius-pill); background: var(--pine); color: var(--paper); font-weight: 600; text-decoration: none; transition: top 200ms var(--ease-out); }
.skip-link:focus { top: 12px; }

h1, h2, h3, h4, .display { font-family: var(--font-serif); font-weight: 560; line-height: 1.04; letter-spacing: -0.02em; margin: 0 0 0.45em; text-wrap: balance; font-optical-sizing: auto; }
h1, .display-1 { font-size: var(--step-5); }
h2, .display-2 { font-size: var(--step-4); }
h3 { font-size: var(--step-2); line-height: 1.15; }
h4 { font-size: var(--step-1); line-height: 1.2; }
h5, h6 { font-family: var(--font-sans); font-size: var(--step-0); margin: 0 0 0.4em; }
p { margin: 0 0 1em; text-wrap: pretty; }
.eyebrow { display: inline-flex; align-items: center; gap: 0.6em; font-family: var(--font-sans); font-size: var(--step--1); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pine); }
.eyebrow::before { content: ""; width: 0.72em; height: 0.72em; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--sun-pale), var(--sun) 45%, var(--sun-2)); box-shadow: 0 0 0 3px color-mix(in oklab, var(--sun) 35%, transparent); }
.lede { font-size: var(--step-1); color: var(--ink-2); max-width: 60ch; }
.italic-accent { font-style: italic; font-weight: 420; color: var(--pine); }
.muted { color: var(--ink-3); }

.shell { width: min(100% - 2 * var(--gutter), var(--shell)); margin-inline: auto; }
.shell--narrow { width: min(100% - 2 * var(--gutter), 860px); margin-inline: auto; }

.section, .site-main, .site-footer { overflow-x: clip; }
.section { position: relative; padding-block: clamp(56px, 8vw, 120px); isolation: isolate; }
.section--tight { padding-block: clamp(36px, 5vw, 72px); }
.stack > * + * { margin-top: var(--stack, 1rem); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--cluster, 0.75rem); align-items: center; }
.grid { display: grid; gap: var(--grid-gap, clamp(18px, 2.4vw, 32px)); grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-min, 260px)), 1fr)); }
.section-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(24px, 3.5vw, 48px); }
.section-head h2 { margin: 0.2em 0 0; }

.tex-contour { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-color: var(--clay-deep); opacity: 0.55;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='420' viewBox='0 0 640 420' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M-20 330 C80 250 170 300 260 240 S450 150 520 190 S640 150 680 120'/%3E%3Cpath d='M-20 360 C90 280 180 330 270 272 S455 185 530 222 S640 190 680 160'/%3E%3Cpath d='M-20 392 C100 312 190 362 282 306 S462 222 540 256 S640 232 680 204'/%3E%3Cpath d='M-20 296 C70 220 160 268 250 208 S442 114 510 156 S640 108 680 78'/%3E%3Cpath d='M-20 262 C62 190 150 236 240 176 S436 80 500 122 S640 66 680 36'/%3E%3Cpath d='M-20 228 C56 162 140 204 232 146 S430 48 492 90 S640 26 680 -4'/%3E%3Cpath d='M180 120 C230 80 300 90 330 120 S300 190 250 176 S150 160 180 120Z'/%3E%3Cpath d='M205 124 C240 98 290 104 310 126 S292 170 256 162 S185 150 205 124Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='420' viewBox='0 0 640 420' fill='none' stroke='black' stroke-width='1.3'%3E%3Cpath d='M-20 330 C80 250 170 300 260 240 S450 150 520 190 S640 150 680 120'/%3E%3Cpath d='M-20 360 C90 280 180 330 270 272 S455 185 530 222 S640 190 680 160'/%3E%3Cpath d='M-20 392 C100 312 190 362 282 306 S462 222 540 256 S640 232 680 204'/%3E%3Cpath d='M-20 296 C70 220 160 268 250 208 S442 114 510 156 S640 108 680 78'/%3E%3Cpath d='M-20 262 C62 190 150 236 240 176 S436 80 500 122 S640 66 680 36'/%3E%3Cpath d='M-20 228 C56 162 140 204 232 146 S430 48 492 90 S640 26 680 -4'/%3E%3Cpath d='M180 120 C230 80 300 90 330 120 S300 190 250 176 S150 160 180 120Z'/%3E%3Cpath d='M205 124 C240 98 290 104 310 126 S292 170 256 162 S185 150 205 124Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 640px 420px; mask-size: 640px 420px; }
.tex-dots { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0.5;
  background-image: radial-gradient(color-mix(in oklab, var(--clay-shade) 70%, transparent) 1.2px, transparent 1.6px); background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(closest-side, black, transparent); mask-image: radial-gradient(closest-side, black, transparent); }
.sun-orb { position: absolute; z-index: -1; pointer-events: none; width: var(--orb, 420px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 38% 34%, var(--sun-pale) 0 18%, var(--sun) 46%, color-mix(in oklab, var(--sun-2) 80%, transparent) 70%, transparent 72%);
  filter: blur(0.5px); opacity: 0.9; }
.sun-orb--soft { filter: blur(40px); opacity: 0.55; }
.leak { position: absolute; z-index: -1; pointer-events: none; inset: auto; width: 60vw; height: 60vw; max-width: 900px; max-height: 900px; border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in oklab, var(--peach) 55%, transparent), transparent); filter: blur(30px); }
