/* Flaiw landers v2, shared frame for the static comps.
   Tokens are the site's (app/assets/css/design-system.css); structure is the lander's own.
   Each page sets its colour world per section through --ga/--gb (ground) and the
   .warm / .pale text mode (cream with the on-colour halo / ink green). */

@font-face { font-family: 'ED Nimpkish'; src: url('fonts/ED-Nimpkish-Regular.woff2') format('woff2'); font-weight: 400; font-display: block; }
@font-face { font-family: 'Inter'; src: url('fonts/Inter-Variable-Roman-Latin.woff2') format('woff2'); font-weight: 100 900; font-display: block;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; src: url('fonts/Inter-Variable-Roman-LatinExt.woff2') format('woff2'); font-weight: 100 900; font-display: block;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --wave-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2880' height='50' viewBox='0 0 2880 50' preserveAspectRatio='xMidYMax meet'%3E%3Cpath d='M0 4C43.7 4 76.3 37 120 37C163.7 37 196.3 4 240 4C283.7 4 316.3 37 360 37C403.7 37 436.3 4 480 4C523.7 4 556.3 37 600 37C643.7 37 676.3 4 720 4C763.7 4 796.3 37 840 37C883.7 37 916.3 4 960 4C1003.7 4 1036.3 37 1080 37C1123.7 37 1156.3 4 1200 4C1243.7 4 1276.3 37 1320 37C1363.7 37 1396.3 4 1440 4C1483.7 4 1516.3 37 1560 37C1603.7 37 1636.3 4 1680 4C1723.7 4 1756.3 37 1800 37C1843.7 37 1876.3 4 1920 4C1963.7 4 1996.3 37 2040 37C2083.7 37 2116.3 4 2160 4C2203.7 4 2236.3 37 2280 37C2323.7 37 2356.3 4 2400 4C2443.7 4 2476.3 37 2520 37C2563.7 37 2596.3 4 2640 4C2683.7 4 2716.3 37 2760 37C2803.7 37 2836.3 4 2880 4V50H0Z'/%3E%3C/svg%3E");
  --wave-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='180' viewBox='0 0 44 180'%3E%3Cpath d='M44 0H22C4 22 4 68 22 90C40 112 40 158 22 180H44Z'/%3E%3C/svg%3E");
  --logo-url: url("data:image/svg+xml,%3Csvg width='154' height='72' viewBox='0 0 154 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M1.92999 71.2C1.25999 71.2 0.769961 70.97 0.459961 70.5C0.149961 70.09 0 69.51 0 68.79C0 67.7 0.0799805 66.51 0.22998 65.21L5.94995 17.51C6.66995 11.49 8.81 7.08 12.37 4.28C15.98 1.43 20.51 0 25.98 0C28.45 0 30.59 0.31 32.4 0.93C34.26 1.5 35.67 2.28 36.65 3.26C37.68 4.19 38.2 5.26 38.2 6.45C38.2 7.23 38.1 8.24 37.89 9.48C37.74 10.72 37.58 11.94 37.43 13.14L34.65 32.9C34.13 36.63 33.72 40.37 33.41 44.1C33.1 47.78 32.87 51.49 32.71 55.23H27.3C26.42 55.23 25.73 54.71 25.21 53.67C24.69 52.58 24.44 51.31 24.44 49.86C24.44 48.1 24.57 45.97 24.83 43.48C25.09 40.94 25.37 38.45 25.68 36.01L28.85 10.72C29 9.53 28.7 8.57 27.92 7.84C27.2 7.11 26.25 6.6 25.06 6.28C23.93 5.97 22.79 5.81 21.66 5.81C19.86 5.81 18.49 6.22 17.56 7.05C16.63 7.83 15.96 8.92 15.55 10.32C15.19 11.72 14.91 13.38 14.7 15.3L12.15 37.94C11.79 41 11.48 44.11 11.22 47.28C10.96 50.39 10.7 53.3 10.45 55.99C10.3 57.29 9.87996 58.79 9.20996 60.5C8.58996 62.21 7.81995 63.87 6.88995 65.48C5.95995 67.14 5.05999 68.49 4.17999 69.53C3.29999 70.62 2.56 71.16 1.94 71.16L1.92999 71.2ZM1.53998 22.65C1.17998 22.65 0.919958 22.52 0.769958 22.26C0.619959 22 0.590002 21.69 0.690002 21.33L1.22998 19.85C1.63998 18.81 2.02995 18.11 2.38995 17.75C2.79995 17.39 3.80996 17.21 5.39996 17.21H23.18C23.85 17.21 24.06 17.62 23.8 18.45C23.28 19.9 22.74 20.97 22.18 21.64C21.61 22.31 20.5599 22.65 19.0099 22.65H1.53998Z' fill='currentColor'/%3E %3Cpath d='M49.79 55.4C46.9 55.4 44.84 54.23 43.61 51.9C42.37 49.51 41.75 46.19 41.75 41.94C41.75 38.15 42.29 34.68 43.37 31.51C44.5 28.35 46.02 25.62 47.93 23.34C49.84 21.01 52.05 19.22 54.58 17.97C57.1 16.67 59.78 16.02 62.62 16.02C64.84 16.02 66.85 16.33 68.65 16.95C70.51 17.52 72.08 18.12 73.37 18.74L71.1299 26.91C69.7399 25.98 68.17 25.12 66.41 24.34C64.71 23.56 63.11 22.97 61.62 22.55C60.18 22.08 59.09 21.85 58.37 21.85C56.93 21.85 55.59 22.58 54.35 24.03C53.16 25.43 52.21 27.4 51.49 29.94C50.82 32.43 50.49 35.31 50.49 38.58C50.49 41.59 50.7 43.87 51.11 45.43C51.57 46.99 52.3 47.76 53.27 47.76C53.94 47.76 55.07 47.01 56.67 45.5C58.27 43.94 60.2 41.38 62.47 37.8C64.74 34.22 67.13 29.37 69.66 23.25L71.8199 30.18C69.0399 36.4 66.38 41.36 63.86 45.04C61.33 48.72 58.91 51.37 56.59 52.98C54.27 54.59 52 55.39 49.79 55.39V55.4ZM68.2599 54.94C67.2299 54.94 66.61 54.45 66.4 53.46C66.19 52.42 66.09 51.33 66.09 50.19C66.09 49.31 66.19 48.22 66.4 46.92C66.66 45.62 66.97 44.22 67.33 42.72C67.69 41.22 68.08 39.74 68.49 38.28L70.19 32.44L67.95 30.42L69.81 18.67C71.46 18.41 72.9 18.07 74.14 17.66C75.43 17.25 76.48 16.88 77.31 16.57C78.19 16.26 78.8 16.1 79.17 16.1C79.74 16.1 80.02 16.41 80.02 17.03C80.02 17.29 79.68 18.4 79.02 20.38C78.4 22.3 77.71 24.76 76.93 27.77C76.21 30.78 75.67 34.05 75.31 37.57L73.69 54.92H68.28L68.2599 54.94Z' fill='currentColor'/%3E %3Cpath d='M86.4396 55.4001C85.5596 55.4001 84.9996 54.9101 84.7396 53.9201C84.4796 52.8801 84.3496 51.8201 84.3496 50.7301C84.3496 48.8601 84.4296 47.2001 84.5796 45.7501C84.7896 44.3001 84.9896 42.6901 85.1996 40.9301L87.9796 15.9501H93.3896C94.4196 15.9501 95.0896 16.5201 95.3996 17.6601C95.7096 18.8001 95.8596 20.1001 95.8596 21.5501C95.8596 22.2801 95.8096 23.0501 95.7096 23.8801C95.6096 24.6601 95.4496 25.8801 95.2496 27.5401L93.7796 40.2201C93.4696 42.9201 93.1896 45.1701 92.9296 46.9901C92.6696 48.8101 92.4696 50.3601 92.3096 51.6601C92.1496 52.9601 91.9996 54.2001 91.8496 55.3901H86.4396V55.4001ZM93.2396 11.5201C91.7996 11.5201 90.5296 11.0301 89.4496 10.0401C88.4196 9.05008 87.8996 7.76008 87.8996 6.15008C87.8996 4.23008 88.5196 2.75008 89.7596 1.71008C90.9996 0.620079 92.4096 0.0800781 94.0096 0.0800781C95.4996 0.0800781 96.7396 0.520078 97.7196 1.40008C98.7496 2.28008 99.2696 3.60008 99.2696 5.37008C99.2696 7.14008 98.6796 8.61008 97.4896 9.81008C96.2996 10.9501 94.8896 11.5201 93.2396 11.5201Z' fill='currentColor'/%3E %3Cpath d='M134.09 55.3999C131.72 55.3999 129.89 54.5399 128.6 52.8299C127.31 51.1199 126.67 48.8399 126.67 45.9799C126.62 45.1499 126.57 44.2899 126.52 43.4099C126.52 42.5299 126.6 40.9999 126.75 38.8199L124.89 38.7399L124.58 29.8699C124.53 29.0399 124.4 28.1099 124.19 27.0699C124.04 25.9799 123.83 24.9699 123.57 24.0399C123.31 23.0499 123.05 22.2999 122.8 21.7799C122.44 20.9999 122.13 20.4799 121.87 20.2199C121.61 19.9099 121.48 19.5499 121.48 19.1299C121.48 18.7099 121.76 18.3299 122.33 17.9599C122.9 17.5999 123.62 17.2599 124.49 16.9499C125.37 16.6399 126.27 16.4099 127.2 16.2499C128.13 16.0399 128.95 15.9399 129.67 15.9399C130.44 15.9399 131.14 16.4099 131.76 17.3399C132.38 18.2199 132.82 20.1899 133.07 23.2499L135 43.7899C135.1 44.9299 135.33 45.8599 135.7 46.5899C136.06 47.2599 136.52 47.5999 137.09 47.5999C138.64 47.5999 139.95 46.6699 141.03 44.7999C142.16 42.9299 143.01 40.5199 143.58 37.5599C144.15 34.5999 144.43 31.4599 144.43 28.1499C144.43 26.0199 144.15 24.4399 143.58 23.3999C143.06 22.3599 142.81 21.5099 142.81 20.8299C142.81 20.3599 143.12 19.8399 143.74 19.2699C144.36 18.6999 145.11 18.1499 145.98 17.6399C146.86 17.1199 147.73 16.7099 148.61 16.3999C149.54 16.0899 150.26 15.9299 150.77 15.9299C151.49 15.9299 152.14 16.1599 152.7 16.6299C153.27 17.0399 153.55 17.9999 153.55 19.5099C153.55 24.7999 152.93 29.6499 151.69 34.0599C150.5 38.4199 148.91 42.1999 146.9 45.4199C144.94 48.5799 142.83 51.0499 140.56 52.8099C138.34 54.5199 136.18 55.3799 134.07 55.3799L134.09 55.3999ZM113.53 55.3999C110.85 55.3999 108.92 54.3899 107.73 52.3699C106.6 50.3499 105.82 47.3599 105.41 43.4199L104.02 28.3999C103.92 27.2099 103.74 26.0099 103.48 24.8199C103.22 23.5799 102.91 22.5899 102.55 21.8599C102.19 21.1299 101.88 20.6399 101.62 20.3799C101.36 20.0699 101.23 19.7099 101.23 19.2899C101.23 18.8699 101.51 18.4899 102.08 18.1199C102.65 17.6999 103.37 17.3399 104.24 17.0299C105.12 16.6699 106.02 16.4099 106.95 16.2499C107.88 16.0399 108.7 15.9399 109.42 15.9399C110.09 15.9399 110.71 16.4299 111.28 17.4199C111.85 18.4099 112.26 20.3499 112.52 23.2599L114.22 40.8399C114.43 42.9099 114.74 44.5699 115.15 45.8199C115.56 47.0099 116.23 47.6099 117.16 47.6099C117.93 47.6099 118.89 47.0699 120.02 45.9799C121.2 44.8399 122.26 42.9699 123.19 40.3799C124.12 37.7899 124.58 34.2799 124.58 29.8799L127.83 36.1799C127.31 41.1099 126.28 44.9699 124.74 47.7699C123.19 50.5699 121.42 52.5399 119.41 53.6799C117.4 54.8199 115.44 55.3899 113.53 55.3899V55.3999Z' fill='currentColor'/%3E %3C/svg%3E");
  --cream: #fff3e0;
  --surface: #fffaf2;
  --ink: #1b4332;
  --ink-soft: rgba(27, 67, 50, .76);
  --red: #ff5e3a;
  --red-fill: #f05a3a;
  --red-text: #b8321a;
  --orange: #fc992b;
  --yellow: #ffcc00;
  --pink: #ffaef7;
  --pink-vivid: #ff97e5;
  --blue: #93dbff;
  --line: rgba(27, 67, 50, .14);
  --font-display: 'ED Nimpkish', 'Archivo Narrow', system-ui, sans-serif;
  --font-sans: Inter, system-ui, sans-serif;
  --fs-hero: clamp(3.25rem, 11vw, 9rem);
  --fs-sec: clamp(2.25rem, 6vw, 5rem);
  --gutter: clamp(20px, 5vw, 40px);
  --content: 1240px;
  --section-y: clamp(72px, 9vw, 136px);
  --r-card: 28px;
  --r-sm: 14px;
  --shadow-card: 7px 10px 24px rgba(127, 15, 15, .16);
  --shadow-pop: 7px 14px 34px rgba(127, 15, 15, .28);
  --shadow-sticker: 0 5px 8px rgba(127, 15, 15, .2);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  /* on-colour text: cream with the site's warm halo, a step stronger so
     small text holds on the orange end of a ground */
  --halo: 0 0 1px rgba(96, 16, 4, .75), 0 1px 2px rgba(96, 16, 4, .62), 0 0 3px rgba(96, 16, 4, .4), 0 1px 14px rgba(140, 35, 10, .22);
  --halo-display: 0 1px 0 rgba(120, 22, 6, .32), 0 0 2px rgba(120, 22, 6, .3), 0 4px 18px rgba(120, 28, 6, .26);
}
@media (max-width: 699px) { :root { --r-card: 24px; } }
@media (min-width: 1600px) { :root { --content: 1320px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; }
body { font-family: var(--font-sans); font-size: 17px; line-height: 1.55; color: var(--ink); background: var(--page-end, var(--red)); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
@media (min-width: 900px) { body { font-size: 18px; } }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; }
a { color: inherit; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: 400; }
.wrap { width: min(100% - 2 * var(--gutter), var(--content)); margin-inline: auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── Ground and text mode ─────────────────────────────────────────── */
.band { position: relative; background: linear-gradient(180deg, var(--ga) 0%, var(--gb) 100%); }
.warm { --on: var(--cream); --on-shadow: var(--halo); --on-display-shadow: var(--halo-display); --on-soft: var(--cream); }
.pale { --on: var(--ink); --on-shadow: none; --on-display-shadow: none; --on-soft: var(--ink-soft); }
.on { color: var(--on); text-shadow: var(--on-shadow); }
.on-d { color: var(--on); text-shadow: var(--on-display-shadow); }

/* ── Display type: lowercase = condensed caps, a capital = script swash ── */
.d { font-family: var(--font-display); font-weight: 400; line-height: .9; letter-spacing: -.005em; }
.d-hero { font-size: var(--fs-hero); }
.d-sec { font-size: var(--fs-sec); line-height: .92; text-wrap: balance; }
.d .ln { display: block; white-space: nowrap; }
.lead { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.5; }
.eyebrow { font: 650 15px/1.3 var(--font-sans); letter-spacing: 0; }

/* ── Buttons (the site's control vocabulary) ──────────────────────── */
.btn { --btn-bg: var(--red-fill); --btn-fg: var(--cream); --btn-border: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: .45em; min-height: 48px; padding: 3px 26px 0;
  border: 2px solid var(--btn-border); border-radius: 999px; background: var(--btn-bg); color: var(--btn-fg);
  font-family: var(--font-display); font-size: 19px; font-weight: 400; line-height: 1; letter-spacing: .01em; text-transform: lowercase;
  text-decoration: none; white-space: nowrap; cursor: pointer; text-shadow: none;
  transition: transform .45s var(--ease-spring), box-shadow .3s var(--ease-out), background-color .15s, color .15s; }
.btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.btn:active { transform: scale(.96); transition-duration: .08s; }
@media (hover: hover) { .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(127, 15, 15, .2); } }
.btn-lg { min-height: 58px; padding: 4px 36px 0; font-size: 24px; }
.btn-sm { min-height: 44px; padding: 3px 18px 0; font-size: 18px; }
.btn-block { display: flex; width: 100%; }
.btn-cream { --btn-bg: var(--cream); --btn-fg: var(--red-fill); box-shadow: 0 8px 22px rgba(127, 15, 15, .22); }
.btn-primary { --btn-bg: var(--red-fill); --btn-fg: var(--cream); }
.btn-outline { --btn-bg: transparent; --btn-fg: currentColor; --btn-border: currentColor; }
.btn svg { width: 1em; height: 1em; margin-top: -3px; flex: none; }

/* ── Header: transparent, on the page's own colour, scrolls away ─── */
.lh { position: absolute; inset: 0 0 auto; z-index: 20; }
.lh-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 76px; }
.lh-logo { grid-column: 2; display: block; width: 92px; height: 43px; background: var(--logo, var(--cream)); -webkit-mask: var(--logo-url) center / contain no-repeat; mask: var(--logo-url) center / contain no-repeat; filter: drop-shadow(0 2px 6px rgba(120, 25, 6, var(--logo-shadow, .18))); }
.lh-right { grid-column: 3; justify-self: end; display: flex; gap: 10px; align-items: center; }
.lh-pick { text-shadow: none; }
.lh-pick.btn-outline { --btn-fg: var(--on); --btn-border: var(--on); }
@media (min-width: 900px) { .lh-in { height: 96px; } .lh-logo { width: 124px; height: 58px; } }
@media (max-width: 520px) { .lh-in { height: 64px; } .lh-logo { width: 72px; height: 34px; } .lh-pick { font-size: 14px; padding-inline: 11px; letter-spacing: 0; } }

.cart-pill { position: fixed; top: 14px; right: max(14px, calc(50% - 640px)); z-index: 60; display: none; align-items: center; gap: 8px;
  min-height: 44px; padding: 3px 16px 0 14px; border-radius: 999px; background: var(--cream); color: var(--ink);
  font: 400 19px/1 var(--font-display); text-transform: lowercase; border: 0; box-shadow: 0 8px 24px rgba(80, 20, 5, .25); cursor: pointer; }
.cart-pill[data-on] { display: inline-flex; animation: pop .5s var(--ease-spring) both; }
.cart-pill svg { width: 20px; height: 20px; margin-top: -3px; }
.cart-pill b { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 2px 6px 0; border-radius: 999px; background: var(--red-fill); color: var(--cream); font: 750 13px/1 var(--font-sans); }

/* ── Price + CTA + trust line ─────────────────────────────────────── */
.buy { display: grid; gap: 14px; }
.buy-price { display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; row-gap: 4px; }
.price { font-family: var(--font-sans); font-weight: 800; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.buy-price .price { font-size: clamp(2.375rem, 4vw, 3.25rem); }
.buy-was { display: inline-flex; align-items: center; gap: 10px; font-size: 17px; }
.buy-was s { opacity: .86; font-weight: 500; white-space: nowrap; }
.pill-sale { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px 2px; border-radius: 999px; background: var(--red-text); color: var(--cream); font: 750 14px/1 var(--font-sans); text-shadow: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pale .pill-sale, .pill-sale.on-pale { background: var(--red-text); }
.buy-unit { flex-basis: 100%; font-size: 15px; font-weight: 550; }
.buy-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.buy-alt { font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; white-space: nowrap; }
.trust { display: flex; flex-wrap: wrap; gap: 2px 18px; font-size: 14.5px; font-weight: 600; line-height: 1.5; }
.trust span { white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.trust span::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: var(--on-shadow, none); flex: none; }
@media (max-width: 699px) {
  .buy-cta .btn { width: 100%; }
  .buy-cta { justify-content: center; }
  .trust { justify-content: center; font-size: 13.5px; gap: 2px 14px; }
}


/* On warm grounds the whole buy block is a cream ticket: no small cream text on orange (coordinator, contrast). */
.warm .buy { background: var(--surface); color: var(--ink); text-shadow: none; border-radius: 26px; box-shadow: var(--shadow-pop); padding: clamp(18px, 2vw, 24px) clamp(18px, 2.2vw, 28px) clamp(16px, 1.8vw, 22px); }
.warm .buy .price { color: var(--ink); }
.warm .buy .buy-was s { opacity: 1; color: var(--ink-soft); }
.warm .buy .buy-unit { color: var(--ink-soft); }
.warm .buy .btn-cream { --btn-bg: var(--red-fill); --btn-fg: var(--cream); box-shadow: none; }
.warm .buy .buy-alt { color: var(--red-text); }
.warm .buy .trust span::before { background: var(--red-fill); box-shadow: none; }
.warm .buy .trust { color: var(--ink); }
/* Small labels on colour sit on cream pills. */
.warm .eyebrow { display: inline-block; padding: 6px 13px 5px; border-radius: 999px; background: var(--surface); color: var(--ink); text-shadow: none; box-shadow: 0 4px 12px rgba(110, 25, 8, .18); }
.warm .lh-pick.btn-outline { --btn-bg: var(--cream); --btn-fg: var(--red-text); --btn-border: transparent; box-shadow: 0 4px 14px rgba(110, 20, 5, .2); }
.note-card-on { display: block; width: fit-content; max-width: 100%; padding: 12px 16px; border-radius: 16px; background: rgba(255, 250, 242, .95); color: var(--ink) !important; text-shadow: none !important; box-shadow: 0 4px 14px rgba(110, 25, 8, .15); }
.lead-card { display: block; width: fit-content; max-width: 100%; padding: 16px 20px; border-radius: 20px; background: var(--surface); color: var(--ink) !important; text-shadow: none !important; box-shadow: var(--shadow-card); }
.hero-lead { font-size: 18px; }
@media (min-width: 900px) { .hero-lead { font-size: clamp(20px, 1.65vw, 22px); } }
.draft { display: inline-block; margin: 0 8px 6px 0; padding: 2px 9px 1px; border-radius: 999px; border: 1.5px dashed var(--red-text); color: var(--red-text); font: 700 12px/1.4 var(--font-sans); text-transform: none; vertical-align: middle; }

@media (max-width: 699px) {
  .warm .buy { padding: 14px 16px 14px; gap: 10px; border-radius: 22px; }
  .buy-price .price { font-size: 2.25rem; }
  .buy-unit { font-size: 13.5px; white-space: nowrap; }
  .buy-cta { gap: 6px; }
  .buy-cta .btn-lg { min-height: 54px; }
  .buy-alt { padding: 4px 0; }
  .trust { gap: 0 12px; font-size: 13px; line-height: 1.55; }
}

/* ── Stickers ──────────────────────────────────────────────────────── */
.stk { display: block; filter: drop-shadow(0 5px 8px rgba(127, 15, 15, .2)); }
.stk-fig { display: grid; justify-items: center; gap: 8px; margin: 0; text-align: center; }
.stk-fig figcaption { font-size: 15px; font-weight: 650; line-height: 1.3; }
@keyframes pop { 0% { transform: scale(.4) rotate(var(--r0, -12deg)); opacity: 0; } 60% { opacity: 1; } 100% { transform: scale(1) rotate(var(--r, 0deg)); opacity: 1; } }
@keyframes settle { 0% { transform: translateY(-28px) rotate(var(--r0, 0deg)); opacity: 0; } 100% { transform: translateY(0) rotate(var(--r, 0deg)); opacity: 1; } }
.pop { animation: pop .7s var(--ease-spring) both; animation-delay: var(--dl, .2s); transform: rotate(var(--r, 0deg)); }
.settle { animation: settle 1s var(--ease-out) both; animation-delay: var(--dl, 0s); transform: rotate(var(--r, 0deg)); }
@media (prefers-reduced-motion: reduce) { .pop, .settle, .cart-pill[data-on] { animation: none !important; } }

/* ── Cards ─────────────────────────────────────────────────────────── */
.card { border-radius: var(--r-card); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-card); text-shadow: none; }
.card h3, .card .h-card { color: var(--red); }

/* ── Offer: Vyber si balení ───────────────────────────────────────── */
.offer { padding-block: var(--section-y) clamp(56px, 7vw, 96px); }
.offer-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 40px; margin-bottom: clamp(28px, 4vw, 56px); }
.offer-head p { max-width: 34ch; }
.packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); align-items: end; }
.pk { position: relative; display: grid; grid-template-rows: auto 1fr; }
.pk-vis { position: relative; height: clamp(210px, 21vw, 290px); display: grid; place-items: end center; margin-bottom: -46px; z-index: 2; pointer-events: none; }
.pk-vis img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 16px 18px rgba(90, 20, 5, .28)); }
.pk-tag { position: absolute; z-index: 3; top: 6px; left: 14px; }
.pk-body { border-radius: var(--r-card); background: var(--surface); box-shadow: var(--shadow-card); padding: 62px clamp(18px, 2vw, 28px) clamp(18px, 2vw, 26px); display: grid; gap: 14px; align-content: start; color: var(--ink); text-shadow: none; }
.pk[data-sel] .pk-body { box-shadow: 0 0 0 3px var(--sel-ring, var(--red-fill)), var(--shadow-pop); }
.pk-name { font: 400 clamp(1.75rem, 2.4vw, 2.25rem)/.95 var(--font-display); color: var(--red-text); }
.pk-sub { font-size: 15px; color: var(--ink-soft); line-height: 1.4; }
.pk-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.pk-price .price { font-size: clamp(1.75rem, 2.6vw, 2.25rem); color: var(--ink); }
.pk-price s { font-size: 15px; color: var(--ink-soft); white-space: nowrap; }
.pk-price .pill-sale { align-self: center; }
.pk-unit { flex-basis: 100%; font-size: 14px; color: var(--ink-soft); }
.pk-badge { position: absolute; z-index: 4; top: clamp(150px, 15vw, 210px); right: 14px; padding: 5px 12px 4px; border-radius: 999px; background: var(--red-text); color: var(--cream); font: 750 13px/1.1 var(--font-sans); box-shadow: 0 4px 10px rgba(120, 20, 5, .25); transform: rotate(3deg); }
.offer-trust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 28px; margin-top: clamp(26px, 3vw, 40px); padding: 16px clamp(18px, 2vw, 28px); border-radius: 999px; background: rgba(255, 250, 242, .94); color: var(--ink); box-shadow: var(--shadow-card); text-shadow: none; }
.offer-trust ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; font-size: 15px; font-weight: 600; }
.offer-trust li { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.offer-trust li svg { width: 20px; height: 20px; flex: none; stroke: var(--red-text); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.paymarks { display: inline-flex; align-items: center; gap: 6px; }
.paymarks span { display: inline-grid; place-items: center; height: 26px; min-width: 40px; padding: 0 6px; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.paymarks img { height: 15px; width: auto; }
.label-link { border: 0; background: none; padding: 6px 0; font: 650 15px/1.3 var(--font-sans); color: var(--red-text); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; white-space: nowrap; }
@media (max-width: 899px) {
  .packs { grid-template-columns: 1fr 1fr; gap: 14px 12px; }
  .pk-mix { grid-column: 1 / -1; }
  .pk-vis { height: 150px; margin-bottom: -34px; }
  .pk-mix .pk-vis { height: 210px; margin-bottom: -44px; }
  .pk-body { padding: 44px 14px 14px; gap: 10px; }
  .pk-mix .pk-body { padding: 56px 20px 20px; }
  .pk:not(.pk-mix) .pk-name { font-size: 1.5rem; }
  .pk:not(.pk-mix) .pk-sub { display: none; }
  .pk:not(.pk-mix) .pk-price .price { font-size: 1.625rem; }
  .pk:not(.pk-mix) .btn { font-size: 18px; padding-inline: 10px; }
  .pk-badge { top: 150px; }
  .offer-trust { border-radius: 24px; justify-content: center; }
  .offer-trust ul { justify-content: center; gap: 10px 18px; font-size: 14px; }
}

/* ── FAQ: three questions, cream cards on the page colour ─────────── */
.faq { padding-block: clamp(40px, 6vw, 88px) var(--section-y); }
.faq-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 4vw, 72px); align-items: start; }
.faq-list { display: grid; gap: 14px; }
.faq details { border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-card); text-shadow: none; }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 18px 26px; cursor: pointer; list-style: none; font: 400 clamp(1.5rem, 2.4vw, 2.125rem)/1 var(--font-display); color: var(--red); }
.faq summary::-webkit-details-marker { display: none; }
.faq details > div { padding: 0 26px 24px; font-size: 17px; line-height: 1.55; max-width: 62ch; }
.acc { position: relative; flex: none; width: 44px; height: 44px; border: 2px solid currentColor; border-radius: 50%; transition: transform .35s var(--ease-out); }
.acc::before, .acc::after { content: ''; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; margin: -1px 0 0 -8px; border-radius: 2px; background: currentColor; transition: transform .35s var(--ease-spring); }
.acc::after { transform: rotate(90deg); }
details[open] .acc { transform: rotate(180deg); }
details[open] .acc::after { transform: rotate(0); }
.faq-side { display: grid; gap: clamp(20px, 3vw, 40px); align-content: start; justify-items: start; }
.faq-stk { width: clamp(150px, 15vw, 210px); --r: -7deg; transform: rotate(-7deg); margin-left: 8px; }
@media (max-width: 899px) { .faq-side { grid-template-columns: 1fr auto; align-items: end; } .faq-stk { width: 96px; margin: 0; } }
@media (max-width: 899px) { .faq-grid { grid-template-columns: 1fr; } .faq summary { padding: 16px 16px 14px 20px; } .faq details > div { padding: 0 20px 20px; } }

/* ── Footer: short legal footer on the page's last colour ─────────── */
.lf { padding-block: 40px 44px; font-size: 14px; line-height: 1.5; }
.lf-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; padding-bottom: 22px; border-bottom: 1px solid color-mix(in srgb, var(--on) 32%, transparent); }
.lf-logo { width: 84px; height: 40px; background: var(--on); -webkit-mask: var(--logo-url) center / contain no-repeat; mask: var(--logo-url) center / contain no-repeat; }
.lf nav { display: flex; flex-wrap: wrap; gap: 8px 22px; font-weight: 600; }
.lf nav a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.lf-bot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-top: 20px; font-weight: 550; }
@media (max-width: 699px) { .lf-top, .lf-bot { justify-content: center; text-align: center; } .lf nav { justify-content: center; gap: 6px 16px; } }

/* ── Sheet (label data) and cart drawer ───────────────────────────── */
.scrim { position: fixed; inset: 0; z-index: 80; background: rgba(42, 29, 23, .45); display: none; }
.scrim[data-on] { display: block; }
.sheet { position: fixed; z-index: 90; left: 50%; bottom: 0; width: min(100%, 860px); max-height: 88vh; overflow: auto; transform: translateX(-50%);
  border-radius: 28px 28px 0 0; background: var(--surface); color: var(--ink); padding: 26px clamp(20px, 3vw, 36px) 32px; display: none; box-shadow: 0 -10px 40px rgba(60, 15, 5, .3); }
.sheet[data-on] { display: block; }
.sheet h2 { font: 400 clamp(2rem, 4vw, 2.75rem)/.95 var(--font-display); color: var(--red); margin-bottom: 18px; }
.sheet-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.sheet h3 { font: 750 18px/1.3 var(--font-sans); margin-bottom: 8px; }
.sheet p { font-size: 15px; line-height: 1.5; margin-bottom: 12px; }
.sheet table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sheet th, .sheet td { text-align: left; padding: 6px 0; border-bottom: 1px solid var(--line); }
.sheet td + td, .sheet th + th { text-align: right; padding-left: 8px; white-space: nowrap; }
.sheet .x { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: none; cursor: pointer; font-size: 22px; line-height: 1; color: var(--ink); }
@media (max-width: 699px) { .sheet-cols { grid-template-columns: 1fr; } }

.drawer { position: fixed; z-index: 90; top: 0; right: 0; bottom: 0; width: min(100%, 420px); background: var(--surface); color: var(--ink); display: none; flex-direction: column; box-shadow: -10px 0 40px rgba(60, 15, 5, .3); }
.drawer[data-on] { display: flex; }
.drawer header { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.drawer header strong { font: 400 34px/1 var(--font-display); color: var(--red); }
.drawer .x { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: none; cursor: pointer; font-size: 22px; color: var(--ink); }
.drawer ul { list-style: none; margin: 0; padding: 8px 22px; flex: 1; overflow: auto; }
.drawer li { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.drawer li img { width: 64px; height: 64px; object-fit: contain; }
.drawer li b { display: block; font-size: 16px; }
.drawer .ship { margin: 0 22px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 201, 74, .28); font-size: 14px; font-weight: 600; }
.drawer footer { padding: 18px 22px 24px; display: grid; gap: 12px; }
.drawer .sum { display: flex; justify-content: space-between; font-weight: 700; font-size: 18px; }

/* grain overlay helper (Radost) */
.grain::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: var(--grain, .22); mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .18 0 0 0 0 .2 0 0 0 1.1 -.35'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"); }
