/* ═══════════════════════════════════════════════════════════════════════
   Magic Flames — base layer
   Design tokens, resets, typography and the handful of bespoke animations.
   Utility classes are generated on top of this into src/styles.css by
   scripts/build-css.mjs. Edit this file; never edit styles.css by hand.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* Brand — sampled from the master logo vector */
  --color-crimson: #ff0050;
  --color-crimson-600: #e00046;
  --color-crimson-400: #ff3d77;
  --color-crimson-50: #fff0f4;
  --color-cyan: #00f7ef;
  --color-cyan-600: #00c9c3;
  --color-cyan-50: #e8fffe;

  /* Neutrals, tuned for a white page */
  --color-ink: #16161a;
  --color-ink-2: #52525e;
  --color-ink-3: #8a8a99;
  --color-line: #e8e8ee;
  --color-paper: #f7f7f9;

  /* Type */
  --font-display: "Chakra Petch", "Oxanium", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  color-scheme: light;
}

/* ── Reset ──────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: var(--color-line); }
* { margin: 0; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-family: var(--font-sans);
  line-height: 1.5;
  tab-size: 4;
}

body {
  font-family: var(--font-sans);
  color: var(--color-ink);
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  min-height: 100%;
}

h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; font-family: var(--font-display); letter-spacing: -0.01em; }
p, ul, ol, dl, dd, figure, blockquote, fieldset, legend { margin: 0; padding: 0; }
ul, ol { list-style: none; }
ul[class*="list-disc"], ol[class*="list-decimal"] { list-style-position: outside; }
li { list-style: inherit; }
a { color: inherit; text-decoration: inherit; }
img, svg, video, canvas, picture { display: block; max-width: 100%; height: auto; }
video { height: auto; }
button, input, select, textarea, optgroup { font: inherit; color: inherit; margin: 0; padding: 0; background: transparent; }
button, [type="button"], [type="submit"] { cursor: pointer; -webkit-appearance: button; touch-action: manipulation; }
a, button, [role="button"], label, summary { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
button:disabled { cursor: default; }
textarea { resize: vertical; }
table { border-collapse: collapse; text-indent: 0; border-color: inherit; }
th { font-weight: inherit; text-align: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
strong, b { font-weight: 600; }
[hidden] { display: none !important; }
[x-cloak] { display: none !important; }

input, select, textarea {
  /* 16px minimum. Anything smaller makes iOS Safari zoom the page on focus,
     which then leaves the user pinched in on a half-visible form. */
  font-size: 16px;
}

select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%238a8a99' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3.5 5.5 7 9l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

::selection { background: var(--color-crimson); color: #fff; }

:focus-visible {
  outline: 2px solid var(--color-crimson);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── Bespoke utilities ──────────────────────────────────────────────── */

/* Scroll reveal. Elements start offset and are released by the observer in
   site.js. If JavaScript never runs, .no-js below keeps everything visible. */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal.is-in { opacity: 1; transform: none; }
html:not(.js-ready) .reveal { opacity: 1; transform: none; }

/* The one piece of brand flourish: a slow colour sweep. */
.flame-sweep {
  background-image: linear-gradient(
    100deg,
    var(--color-crimson) 0%,
    var(--color-crimson) 22%,
    var(--color-cyan) 52%,
    var(--color-crimson) 82%,
    var(--color-crimson) 100%
  );
  background-size: 220% 100%;
  animation: flame-sweep 7s linear infinite;
}
@keyframes flame-sweep {
  from { background-position: 180% 0; }
  to   { background-position: -20% 0; }
}

.text-flame {
  background-image: linear-gradient(96deg, var(--color-crimson) 8%, #ff3d77 40%, #0e8f8b 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.marquee-track { animation: marquee 34s linear infinite; }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Header. Solid white, never translucent: a see-through header over a photo
   or a heading is the fastest way to make a site look broken on a phone. */
[data-header] {
  padding-top: env(safe-area-inset-top, 0px);
}
[data-header].is-stuck {
  box-shadow: 0 1px 0 0 rgb(22 22 26 / 0.07), 0 10px 28px -22px rgb(22 22 26 / 0.45);
}

/* Sticky mobile buy bar */
.buybar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 45;
  padding: 0.7rem 1rem calc(0.7rem + env(safe-area-inset-bottom, 0px));
  background: rgb(255 255 255 / 0.94);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--color-line);
  transform: translateY(115%);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.buybar.is-in { transform: translateY(0); }
@media (min-width: 768px) { .buybar { display: none; } }

/* Cart drawer sizing that survives mobile browser chrome */
[data-cart-panel] {
  height: 100vh;
  height: 100dvh;
  overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
[data-cart-body] { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* Skip link */
.skip-link {
  position: absolute;
  left: 1rem;
  top: -3.5rem;
  z-index: 60;
  border-radius: 9999px;
  background: var(--color-ink);
  color: #fff;
  padding: 0.65rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  transition: top 0.18s ease;
}
.skip-link:focus { top: 0.75rem; }

/* Gradient helper used by bg-gradient-to-r */
[class*="bg-gradient-to-"] { --tw-from: transparent; --tw-to: transparent; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none; }
  .flame-sweep, .marquee-track { animation: none; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}


/* ═══ Generated utilities — do not edit by hand ═══
   358 base rules, 83 responsive rules
   Regenerate with: node scripts/build-css.mjs                      */

.-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem;}
.-my-1\.5{margin-top:-0.375rem;margin-bottom:-0.375rem;}
.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem;}
.-my-2\.5{margin-top:-0.625rem;margin-bottom:-0.625rem;}
.-right-0\.5{right:-0.125rem;}
.-top-0\.5{top:-0.125rem;}
.-top-2\.5{top:-0.625rem;}
.-top-28{top:-7rem;}
.-top-32{top:-8rem;}
.-translate-x-1\/2{transform:translateX(-50%);}
.absolute{position:absolute;}
.active\:scale-\[0\.99\]:active{transform:scale(0.99);}
.align-middle{vertical-align:middle;}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.aspect-4\/3{aspect-ratio:4 / 3;}
.aspect-square{aspect-ratio:1 / 1;}
.backdrop-blur-sm{backdrop-filter:blur(4px);}
.bg-\[\#16a34a\]{background-color:#16a34a;}
.bg-\[\#2563eb\]{background-color:#2563eb;}
.bg-\[\#7c3aed\]{background-color:#7c3aed;}
.bg-\[radial-gradient\(ellipse_at_center\,rgba\(255\,0\,80\,0\.06\)\,rgba\(0\,247\,239\,0\.05\)_45\%\,transparent_70\%\)\]{background-image:radial-gradient(ellipse at center,rgba(255,0,80,0.06),rgba(0,247,239,0.05) 45%,transparent 70%);}
.bg-\[radial-gradient\(ellipse_at_center\,rgba\(255\,0\,80\,0\.07\)\,rgba\(0\,247\,239\,0\.05\)_45\%\,transparent_70\%\)\]{background-image:radial-gradient(ellipse at center,rgba(255,0,80,0.07),rgba(0,247,239,0.05) 45%,transparent 70%);}
.bg-crimson{background-color:#ff0050;}
.bg-crimson-50{background-color:#fff0f4;}
.bg-crimson-50\/40{background-color:rgb(255 240 244 / 0.4);}
.bg-crimson\/15{background-color:rgb(255 0 80 / 0.15);}
.bg-cyan{background-color:#00f7ef;}
.bg-cyan-50{background-color:#e8fffe;}
.bg-ink{background-color:#16161a;}
.bg-ink\/10{background-color:rgb(22 22 26 / 0.1);}
.bg-ink\/40{background-color:rgb(22 22 26 / 0.4);}
.bg-paper{background-color:#f7f7f9;}
.bg-white{background-color:#ffffff;}
.block{display:block;}
.blur-2xl{filter:blur(40px);}
.border{border-width:1px;border-style:solid;}
.border-2{border-width:2px;border-style:solid;}
.border-b{border-bottom-width:1px;border-style:solid;}
.border-crimson{border-color:#ff0050;}
.border-crimson\/25{border-color:rgb(255 0 80 / 0.25);}
.border-ink{border-color:#16161a;}
.border-ink\/15{border-color:rgb(22 22 26 / 0.15);}
.border-ink\/25{border-color:rgb(22 22 26 / 0.25);}
.border-line{border-color:#e8e8ee;}
.border-separate{border-collapse:separate;}
.border-spacing-0{border-spacing:0;}
.border-t{border-top-width:1px;border-style:solid;}
.border-y{border-top-width:1px;border-bottom-width:1px;border-style:solid;}
.cursor-not-allowed{cursor:not-allowed;}
.cursor-pointer{cursor:pointer;}
.decoration-2{text-decoration-thickness:2px;}
.decoration-crimson{text-decoration-color:#ff0050;}
.disabled\:cursor-wait:disabled{cursor:wait;}
.disabled\:opacity-70:disabled{opacity:0.7;}
.divide-line > :not([hidden]) ~ :not([hidden]){border-color:#e8e8ee;}
.divide-y > :not([hidden]) ~ :not([hidden]){border-top-width:1px;border-top-style:solid;}
.drop-shadow-\[0_18px_36px_rgba\(22\,22\,26\,0\.16\)\]{filter:drop-shadow(0 18px 36px rgba(22,22,26,0.16));}
.duration-200{transition-duration:200ms;}
.duration-300{transition-duration:300ms;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-auto{flex:1 1 auto;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.focus\:border-crimson:focus{border-color:#ff0050;}
.font-bold{font-weight:700;}
.font-display{font-family:var(--font-display);}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.gap-1{gap:0.25rem;}
.gap-1\.5{gap:0.375rem;}
.gap-10{gap:2.5rem;}
.gap-12{gap:3rem;}
.gap-2{gap:0.5rem;}
.gap-2\.5{gap:0.625rem;}
.gap-3{gap:0.75rem;}
.gap-3\.5{gap:0.875rem;}
.gap-4{gap:1rem;}
.gap-5{gap:1.25rem;}
.gap-6{gap:1.5rem;}
.gap-x-3{column-gap:0.75rem;}
.gap-y-1{row-gap:0.25rem;}
.grid{display:grid;}
.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.group:hover .group-hover\:translate-x-1{transform:translateX(0.25rem);}
.h-1\.5{height:0.375rem;}
.h-11{height:2.75rem;}
.h-12{height:3rem;}
.h-14{height:3.5rem;}
.h-2\.5{height:0.625rem;}
.h-20{height:5rem;}
.h-3\.5{height:0.875rem;}
.h-32{height:8rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-60{height:15rem;}
.h-7{height:1.75rem;}
.h-8{height:2rem;}
.h-9{height:2.25rem;}
.h-\[18px\]{height:18px;}
.h-\[21px\]{height:21px;}
.h-\[360px\]{height:360px;}
.h-\[420px\]{height:420px;}
.h-full{height:100%;}
.hidden{display:none;}
.hover\:-translate-y-0\.5:hover{transform:translateY(-0.125rem);}
.hover\:-translate-y-1:hover{transform:translateY(-0.25rem);}
.hover\:bg-crimson-600:hover{background-color:#e00046;}
.hover\:bg-paper:hover{background-color:#f7f7f9;}
.hover\:bg-white\/90:hover{background-color:rgb(255 255 255 / 0.9);}
.hover\:border-ink\/20:hover{border-color:rgb(22 22 26 / 0.2);}
.hover\:border-ink\/30:hover{border-color:rgb(22 22 26 / 0.3);}
.hover\:ring-ink\/25:hover{--tw-ring-color:rgb(22 22 26 / 0.25);}
.hover\:shadow-\[0_10px_30px_-14px_rgba\(22\,22\,26\,0\.2\)\]:hover{box-shadow:0 10px 30px -14px rgba(22,22,26,0.2);}
.hover\:shadow-\[0_12px_40px_-16px_rgba\(22\,22\,26\,0\.2\)\]:hover{box-shadow:0 12px 40px -16px rgba(22,22,26,0.2);}
.hover\:shadow-\[0_20px_50px_-20px_rgba\(22\,22\,26\,0\.25\)\]:hover{box-shadow:0 20px 50px -20px rgba(22,22,26,0.25);}
.hover\:shadow-crimson\/25:hover{--tw-shadow-color:rgb(255 0 80 / 0.25);}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);}
.hover\:text-crimson:hover{color:#ff0050;}
.hover\:text-ink:hover{color:#16161a;}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-0{top:0;right:0;bottom:0;left:0;}
.inset-x-0{left:0;right:0;}
.inset-y-0{top:0;bottom:0;}
.items-baseline{align-items:baseline;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.leading-\[1\.04\]{line-height:1.04;}
.leading-\[1\.06\]{line-height:1.06;}
.leading-\[1\.08\]{line-height:1.08;}
.leading-none{line-height:1;}
.leading-relaxed{line-height:1.625;}
.leading-tight{line-height:1.25;}
.left-1\/2{left:50%;}
.list-decimal{list-style-type:decimal;}
.list-disc{list-style-type:disc;}
.max-h-full{max-height:100%;}
.max-w-2xl{max-width:42rem;}
.max-w-3xl{max-width:48rem;}
.max-w-4xl{max-width:56rem;}
.max-w-5xl{max-width:64rem;}
.max-w-7xl{max-width:80rem;}
.max-w-full{max-width:100%;}
.max-w-lg{max-width:32rem;}
.max-w-md{max-width:28rem;}
.max-w-sm{max-width:24rem;}
.max-w-xl{max-width:36rem;}
.mb-4{margin-bottom:1rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-7{margin-bottom:1.75rem;}
.min-h-full{min-height:100%;}
.min-w-0{min-width:0px;}
.min-w-\[18px\]{min-width:18px;}
.min-w-\[560px\]{min-width:560px;}
.ml-1{margin-left:0.25rem;}
.ml-auto{margin-left:auto;}
.mt-0\.5{margin-top:0.125rem;}
.mt-1{margin-top:0.25rem;}
.mt-10{margin-top:2.5rem;}
.mt-12{margin-top:3rem;}
.mt-14{margin-top:3.5rem;}
.mt-2{margin-top:0.5rem;}
.mt-2\.5{margin-top:0.625rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mt-7{margin-top:1.75rem;}
.mt-8{margin-top:2rem;}
.mt-9{margin-top:2.25rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.object-contain{object-fit:contain;}
.object-cover{object-fit:cover;}
.opacity-20{opacity:0.2;}
.opacity-90{opacity:0.9;}
.order-1{order:1;}
.order-2{order:2;}
.outline-none{outline:2px solid transparent;outline-offset:2px;}
.overflow-hidden{overflow:hidden;}
.overflow-x-auto{overflow-x:auto;}
.overflow-y-auto{overflow-y:auto;}
.p-2{padding:0.5rem;}
.p-4{padding:1rem;}
.p-5{padding:1.25rem;}
.p-6{padding:1.5rem;}
.p-7{padding:1.75rem;}
.p-8{padding:2rem;}
.pb-10{padding-bottom:2.5rem;}
.pb-12{padding-bottom:3rem;}
.pb-16{padding-bottom:4rem;}
.pb-2{padding-bottom:0.5rem;}
.pb-20{padding-bottom:5rem;}
.pb-5{padding-bottom:1.25rem;}
.pb-8{padding-bottom:2rem;}
.pl-3{padding-left:0.75rem;}
.pl-5{padding-left:1.25rem;}
.placeholder\:text-ink-3::placeholder{color:#8a8a99;}
.pointer-events-none{pointer-events:none;}
.pr-1{padding-right:0.25rem;}
.pr-3{padding-right:0.75rem;}
.pr-4{padding-right:1rem;}
.pt-10{padding-top:2.5rem;}
.pt-14{padding-top:3.5rem;}
.pt-2{padding-top:0.5rem;}
.pt-6{padding-top:1.5rem;}
.pt-7{padding-top:1.75rem;}
.pt-8{padding-top:2rem;}
.pt-9{padding-top:2.25rem;}
.px-1{padding-left:0.25rem;padding-right:0.25rem;}
.px-2{padding-left:0.5rem;padding-right:0.5rem;}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem;}
.px-3{padding-left:0.75rem;padding-right:0.75rem;}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.px-5{padding-left:1.25rem;padding-right:1.25rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.px-7{padding-left:1.75rem;padding-right:1.75rem;}
.px-8{padding-left:2rem;padding-right:2rem;}
.px-9{padding-left:2.25rem;padding-right:2.25rem;}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.py-20{padding-top:5rem;padding-bottom:5rem;}
.py-24{padding-top:6rem;padding-bottom:6rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.py-4\.5{padding-top:1.125rem;padding-bottom:1.125rem;}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}
.py-8{padding-top:2rem;padding-bottom:2rem;}
.relative{position:relative;}
.resize-y{resize:vertical;}
.right-0{right:0px;}
.right-4{right:1rem;}
.ring-1{box-shadow:0 0 0 1px var(--tw-ring-color, rgb(0 0 0 / 0.08));}
.ring-2{box-shadow:0 0 0 2px var(--tw-ring-color, rgb(0 0 0 / 0.08));}
.ring-black\/5{--tw-ring-color:rgb(0 0 0 / 0.05);}
.ring-crimson{--tw-ring-color:#ff0050;}
.ring-line{--tw-ring-color:#e8e8ee;}
.rounded-2xl{border-radius:1rem;}
.rounded-3xl{border-radius:1.5rem;}
.rounded-\[26px\]{border-radius:26px;}
.rounded-\[28px\]{border-radius:28px;}
.rounded-full{border-radius:9999px;}
.rounded-sm{border-radius:0.125rem;}
.rounded-xl{border-radius:0.75rem;}
.scale-0{transform:scale(0);}
.scale-100{transform:scale(1);}
.scroll-mt-24{scroll-margin-top:6rem;}
.scroll-mt-28{scroll-margin-top:7rem;}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);}
.shadow-\[0_20px_60px_-24px_rgba\(255\,0\,80\,0\.45\)\]{box-shadow:0 20px 60px -24px rgba(255,0,80,0.45);}
.shadow-\[0_24px_70px_-24px_rgba\(22\,22\,26\,0\.35\)\]{box-shadow:0 24px 70px -24px rgba(22,22,26,0.35);}
.shadow-\[0_24px_70px_-28px_rgba\(22\,22\,26\,0\.4\)\]{box-shadow:0 24px 70px -28px rgba(22,22,26,0.4);}
.shadow-crimson\/20{--tw-shadow-color:rgb(255 0 80 / 0.2);}
.shadow-crimson\/25{--tw-shadow-color:rgb(255 0 80 / 0.25);}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);}
.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);}
.shrink-0{flex-shrink:0;}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.space-y-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}
.space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.625rem;}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.875rem;}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem;}
.space-y-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.sticky{position:sticky;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-\[\#047c78\]{font-size:#047c78;}
.text-\[11\.5px\]{font-size:11.5px;}
.text-\[11px\]{font-size:11px;}
.text-\[12\.5px\]{font-size:12.5px;}
.text-\[12px\]{font-size:12px;}
.text-\[13\.5px\]{font-size:13.5px;}
.text-\[13px\]{font-size:13px;}
.text-\[14\.5px\]{font-size:14.5px;}
.text-\[14px\]{font-size:14px;}
.text-\[15\.5px\]{font-size:15.5px;}
.text-\[15px\]{font-size:15px;}
.text-\[16\.5px\]{font-size:16.5px;}
.text-\[16px\]{font-size:16px;}
.text-\[17px\]{font-size:17px;}
.text-\[19px\]{font-size:19px;}
.text-\[22px\]{font-size:22px;}
.text-\[30px\]{font-size:30px;}
.text-\[32px\]{font-size:32px;}
.text-\[34px\]{font-size:34px;}
.text-\[36px\]{font-size:36px;}
.text-\[38px\]{font-size:38px;}
.text-\[40px\]{font-size:40px;}
.text-\[44px\]{font-size:44px;}
.text-center{text-align:center;}
.text-crimson{color:#ff0050;}
.text-crimson\/25{color:rgb(255 0 80 / 0.25);}
.text-cyan{color:#00f7ef;}
.text-ink{color:#16161a;}
.text-ink-2{color:#52525e;}
.text-ink-3{color:#8a8a99;}
.text-left{text-align:left;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-right{text-align:right;}
.text-white{color:#ffffff;}
.text-white\/70{color:rgb(255 255 255 / 0.7);}
.text-white\/75{color:rgb(255 255 255 / 0.75);}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.top-0{top:0px;}
.top-full{top:100%;}
.tracking-\[0\.14em\]{letter-spacing:0.14em;}
.tracking-\[0\.16em\]{letter-spacing:0.16em;}
.tracking-\[0\.18em\]{letter-spacing:0.18em;}
.tracking-\[0\.2em\]{letter-spacing:0.2em;}
.tracking-tight{letter-spacing:-0.025em;}
.tracking-wide{letter-spacing:0.025em;}
.tracking-wider{letter-spacing:0.05em;}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.underline{text-decoration-line:underline;}
.underline-offset-2{text-underline-offset:2px;}
.underline-offset-4{text-underline-offset:4px;}
.uppercase{text-transform:uppercase;}
.w-1\.5{width:0.375rem;}
.w-11{width:2.75rem;}
.w-12{width:3rem;}
.w-14{width:3.5rem;}
.w-2\.5{width:0.625rem;}
.w-3\.5{width:0.875rem;}
.w-4{width:1rem;}
.w-5{width:1.25rem;}
.w-52{width:13rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-\[21px\]{width:21px;}
.w-\[720px\]{width:720px;}
.w-\[820px\]{width:820px;}
.w-auto{width:auto;}
.w-fit{width:fit-content;}
.w-full{width:100%;}
.w-max{width:max-content;}
.w-screen{width:100vw;}
.whitespace-nowrap{white-space:nowrap;}
.z-40{z-index:40;}
.z-50{z-index:50;}

@media (min-width: 640px){
.sm\:absolute{position:absolute;}
.sm\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-from), var(--tw-via, transparent), var(--tw-to));}
.sm\:block{display:block;}
.sm\:flex-row{flex-direction:row;}
.sm\:from-ink{--tw-from:#16161a;}
.sm\:gap-10{gap:2.5rem;}
.sm\:gap-3{gap:0.75rem;}
.sm\:gap-4{gap:1rem;}
.sm\:gap-6{gap:1.5rem;}
.sm\:gap-8{gap:2rem;}
.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.sm\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.sm\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr;}
.sm\:h-44{height:11rem;}
.sm\:h-full{height:100%;}
.sm\:inline-block{display:inline-block;}
.sm\:inset-0{top:0;right:0;bottom:0;left:0;}
.sm\:items-baseline{align-items:baseline;}
.sm\:items-center{align-items:center;}
.sm\:justify-between{justify-content:space-between;}
.sm\:mt-12{margin-top:3rem;}
.sm\:mt-16{margin-top:4rem;}
.sm\:mt-9{margin-top:2.25rem;}
.sm\:p-12{padding:3rem;}
.sm\:p-7{padding:1.75rem;}
.sm\:p-8{padding:2rem;}
.sm\:p-9{padding:2.25rem;}
.sm\:pb-20{padding-bottom:5rem;}
.sm\:pb-24{padding-bottom:6rem;}
.sm\:pl-10{padding-left:2.5rem;}
.sm\:pt-12{padding-top:3rem;}
.sm\:pt-20{padding-top:5rem;}
.sm\:pt-8{padding-top:2rem;}
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.sm\:py-24{padding-top:6rem;padding-bottom:6rem;}
.sm\:py-28{padding-top:7rem;padding-bottom:7rem;}
.sm\:py-32{padding-top:8rem;padding-bottom:8rem;}
.sm\:py-4{padding-top:1rem;padding-bottom:1rem;}
.sm\:rounded-\[30px\]{border-radius:30px;}
.sm\:rounded-\[32px\]{border-radius:32px;}
.sm\:rounded-\[34px\]{border-radius:34px;}
.sm\:rounded-\[36px\]{border-radius:36px;}
.sm\:text-6xl{font-size:3.75rem;line-height:1;}
.sm\:text-\[17px\]{font-size:17px;}
.sm\:text-\[40px\]{font-size:40px;}
.sm\:text-\[42px\]{font-size:42px;}
.sm\:text-\[44px\]{font-size:44px;}
.sm\:text-\[46px\]{font-size:46px;}
.sm\:text-\[48px\]{font-size:48px;}
.sm\:text-\[52px\]{font-size:52px;}
.sm\:text-\[54px\]{font-size:54px;}
.sm\:text-\[58px\]{font-size:58px;}
.sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.sm\:text-right{text-align:right;}
.sm\:to-transparent{--tw-to:transparent;}
.sm\:via-ink\/85{--tw-via:rgb(22 22 26 / 0.85);}
.sm\:w-64{width:16rem;}
.sm\:w-auto{width:auto;}
.sm\:w-full{width:100%;}
}

@media (min-width: 768px){
.md\:flex{display:flex;}
.md\:gap-8{gap:2rem;}
.md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.md\:hidden{display:none;}
}

@media (min-width: 1024px){
.lg\:-mt-4{margin-top:-1rem;}
.lg\:col-span-2{grid-column:span 2 / span 2;}
.lg\:gap-16{gap:4rem;}
.lg\:gap-20{gap:5rem;}
.lg\:gap-7{gap:1.75rem;}
.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr;}
.lg\:grid-cols-\[1fr_1\.15fr\]{grid-template-columns:1fr 1.15fr;}
.lg\:mb-4{margin-bottom:1rem;}
.lg\:order-1{order:1;}
.lg\:order-2{order:2;}
.lg\:px-8{padding-left:2rem;padding-right:2rem;}
.lg\:self-start{align-self:flex-start;}
.lg\:sticky{position:sticky;}
.lg\:text-\[72px\]{font-size:72px;}
.lg\:top-28{top:7rem;}
}
