/* ============ THEME-INDEPENDENT ============ */
:root { --radius: 18px; --maxw: 1140px; --dot: #f08c4a; }

/* ============ LIGHT (default + explicit) — kiwi FRUIT / green / Fraunces ============ */
:root, :root[data-theme="light"] {
  --bg: #f6f8f1; --surface: #ffffff; --surface-2: #f0f4e8;
  --ink: #19241b; --ink-soft: #4a5a4c; --line: #e2e8d7;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --accent: #5e9a2e; --accent-bright: #7dbb43; --accent-deep: #3f6d1f;
  --skin: #c39a5e; --seed: #23261d;
  --ambient: radial-gradient(ellipse 75% 45% at 50% -12%, rgba(94,154,46,0.06) 0%, transparent 55%);
  --header-bg: color-mix(in srgb, #f6f8f1 82%, transparent);
  --eyebrow-glyph: "🥝  "; --eyebrow-fg: #3f6d1f; --eyebrow-bg: #f0f4e8; --eyebrow-border: transparent;
  --hl-style: italic; --hl-glow: none;
  --hero-glow: drop-shadow(0 18px 40px rgba(63,109,31,0.22)); --hero-halo: transparent;
  --card-bg: #ffffff; --card-blur: none; --card-border: #e2e8d7;
  --card-topline: transparent; --card-hover-border: #b9d39a; --card-hover-shadow: 24px 24px 60px rgba(35,45,30,0.10);
  --thumb-bg: #f0f4e8; --thumb-fg: #5e9a2e; --thumb-border: transparent;
  --tag: #c39a5e; --kicker: #5e9a2e;
  --btn-primary-bg: #5e9a2e; --btn-primary-bg-hover: #7dbb43; --btn-primary-fg: #ffffff; --btn-primary-shadow: 0 8px 20px -8px #5e9a2e;
  --btn-ghost-bg: transparent; --btn-ghost-fg: #19241b; --btn-ghost-border: #e2e8d7;
  --how-bg: #f0f4e8; --how-border: transparent; --step-glow: none;
  --wordmark-accent: inherit; --wordmark-glow: none;
  --toggle-bg: #ffffff; --focus: #7dbb43; --mark-glow: none;
  --panel-bg: #ffffff; --panel-shadow: 0 24px 60px -20px rgba(35,45,30,0.22);
}

/* ============ DARK — neon kiwi BIRD / cyan / Inter / glass+glow ============ */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #1a1b26; --surface: #1c241a; --surface-2: #222c1f;
    --ink: #c0caf5; --ink-soft: #9aa5ce; --line: rgba(157,165,206,0.14);
    --font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --accent: #5dd9e8; --accent-bright: #7dcfff; --accent-deep: #3d9ca8;
    --skin: #d0aa6e; --seed: #d8e0cc;
    --ambient: radial-gradient(ellipse 70% 50% at 50% -10%, rgba(93,217,232,0.10) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 85% 20%, rgba(187,154,247,0.06) 0%, transparent 50%), linear-gradient(180deg, #1a1b26 0%, #16161e 100%);
    --header-bg: rgba(26,27,38,0.72);
    --eyebrow-glyph: "◆  "; --eyebrow-fg: #5dd9e8; --eyebrow-bg: rgba(93,217,232,0.08); --eyebrow-border: rgba(93,217,232,0.18);
    --hl-style: normal; --hl-glow: 0 0 26px rgba(93,217,232,0.5);
    --hero-glow: drop-shadow(0 0 30px rgba(93,217,232,0.4)); --hero-halo: radial-gradient(circle, rgba(93,217,232,0.18) 0%, transparent 70%);
    --card-bg: rgba(36,40,59,0.35); --card-blur: blur(12px); --card-border: rgba(157,165,206,0.14);
    --card-topline: linear-gradient(90deg, transparent, rgba(93,217,232,0.6), transparent); --card-hover-border: rgba(93,217,232,0.35); --card-hover-shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
    --thumb-bg: rgba(93,217,232,0.1); --thumb-fg: #5dd9e8; --thumb-border: rgba(93,217,232,0.16);
    --tag: #bb9af7; --kicker: #5dd9e8;
    --btn-primary-bg: #5dd9e8; --btn-primary-bg-hover: #7dcfff; --btn-primary-fg: #0b1a1f; --btn-primary-shadow: 0 0 0 1px rgba(93,217,232,0.4), 0 10px 30px -8px rgba(93,217,232,0.55);
    --btn-ghost-bg: rgba(36,40,59,0.4); --btn-ghost-fg: #c0caf5; --btn-ghost-border: rgba(157,165,206,0.14);
    --how-bg: rgba(36,40,59,0.18); --how-border: rgba(157,165,206,0.14); --step-glow: 0 0 16px rgba(93,217,232,0.18) inset;
    --wordmark-accent: #5dd9e8; --wordmark-glow: 0 0 18px rgba(93,217,232,0.55);
    --toggle-bg: rgba(36,40,59,0.6); --focus: #7dcfff; --mark-glow: drop-shadow(0 0 5px rgba(93,217,232,0.7));
    --panel-bg: #1e2130; --panel-shadow: 0 24px 60px -18px rgba(0,0,0,0.7);
  }
}
:root[data-theme="dark"] {
  --bg: #1a1b26; --surface: #1c241a; --surface-2: #222c1f;
  --ink: #c0caf5; --ink-soft: #9aa5ce; --line: rgba(157,165,206,0.14);
  --font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --accent: #5dd9e8; --accent-bright: #7dcfff; --accent-deep: #3d9ca8;
  --skin: #d0aa6e; --seed: #d8e0cc;
  --ambient: radial-gradient(ellipse 70% 50% at 50% -10%, rgba(93,217,232,0.10) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 85% 20%, rgba(187,154,247,0.06) 0%, transparent 50%), linear-gradient(180deg, #1a1b26 0%, #16161e 100%);
  --header-bg: rgba(26,27,38,0.72);
  --eyebrow-glyph: "◆  "; --eyebrow-fg: #5dd9e8; --eyebrow-bg: rgba(93,217,232,0.08); --eyebrow-border: rgba(93,217,232,0.18);
  --hl-style: normal; --hl-glow: 0 0 26px rgba(93,217,232,0.5);
  --hero-glow: drop-shadow(0 0 30px rgba(93,217,232,0.4)); --hero-halo: radial-gradient(circle, rgba(93,217,232,0.18) 0%, transparent 70%);
  --card-bg: rgba(36,40,59,0.35); --card-blur: blur(12px); --card-border: rgba(157,165,206,0.14);
  --card-topline: linear-gradient(90deg, transparent, rgba(93,217,232,0.6), transparent); --card-hover-border: rgba(93,217,232,0.35); --card-hover-shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  --thumb-bg: rgba(93,217,232,0.1); --thumb-fg: #5dd9e8; --thumb-border: rgba(93,217,232,0.16);
  --tag: #bb9af7; --kicker: #5dd9e8;
  --btn-primary-bg: #5dd9e8; --btn-primary-bg-hover: #7dcfff; --btn-primary-fg: #0b1a1f; --btn-primary-shadow: 0 0 0 1px rgba(93,217,232,0.4), 0 10px 30px -8px rgba(93,217,232,0.55);
  --btn-ghost-bg: rgba(36,40,59,0.4); --btn-ghost-fg: #c0caf5; --btn-ghost-border: rgba(157,165,206,0.14);
  --how-bg: rgba(36,40,59,0.18); --how-border: rgba(157,165,206,0.14); --step-glow: 0 0 16px rgba(93,217,232,0.18) inset;
  --wordmark-accent: #5dd9e8; --wordmark-glow: 0 0 18px rgba(93,217,232,0.55);
  --toggle-bg: rgba(36,40,59,0.6); --focus: #7dcfff; --mark-glow: drop-shadow(0 0 5px rgba(93,217,232,0.7));
  --panel-bg: #1e2130; --panel-shadow: 0 24px 60px -18px rgba(0,0,0,0.7);
}

/* ============ ASSET SWAP (fruit vs bird) ============ */
.hero-bird { display: none; }
.hero-slice { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hero-bird { display: block; }
  :root:not([data-theme="light"]) .hero-slice { display: none; }
}
:root[data-theme="dark"] .hero-bird { display: block; }
:root[data-theme="dark"] .hero-slice { display: none; }

/* ============ BASE ============ */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; min-height: 100vh; background: var(--bg); color: var(--ink);
  font-family: var(--font-body); font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: var(--ambient); }
h1, h2, h3 { margin: 0; line-height: 1.06; letter-spacing: -0.02em; color: var(--ink); text-wrap: balance; font-family: var(--font-display); }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
::selection { background: color-mix(in srgb, var(--accent) 28%, transparent); }

/* header */
header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--line);
  background: var(--header-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 88px; }
.brand { display: flex; align-items: center; gap: 11px; font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -0.02em; color: var(--ink); }
.brand b { font-weight: 800; color: var(--wordmark-accent); text-shadow: var(--wordmark-glow); }
.dot-wrap { position: relative; display: inline-block; }
.dot { color: var(--dot); }
.nav-bird { position: absolute; left: 5px; bottom: 4.5px; width: 52px; height: 52px; background: var(--accent);
  -webkit-mask: url(kiwi-mark.svg) center / contain no-repeat; mask: url(kiwi-mark.svg) center / contain no-repeat;
  filter: var(--mark-glow); transform: scaleX(-1); pointer-events: none; }
.nav-right { display: flex; align-items: center; gap: 22px; }
.nav-link { color: var(--ink-soft); font-weight: 700; font-size: 15px; transition: color .2s; background: none; border: 0; cursor: pointer; font-family: inherit; }
.nav-link:hover, .nav-link[aria-expanded="true"] { color: var(--accent); }

/* nav dropdown ("Digital Products") */
.has-dropdown { position: relative; }
.dd-toggle { display: inline-flex; align-items: center; gap: 6px; }
.dd-toggle .chev { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-1px); transition: transform .2s; }
.has-dropdown[data-open="true"] .dd-toggle .chev { transform: rotate(-135deg) translateY(-1px); }
.dropdown-panel {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(-6px);
  min-width: 320px; background: var(--panel-bg); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: var(--panel-shadow); padding: 12px; opacity: 0; visibility: hidden; transition: opacity .18s ease, transform .18s ease; z-index: 40;
}
.has-dropdown[data-open="true"] .dropdown-panel { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.dd-cat { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--kicker); padding: 8px 10px 4px; }
.dd-item { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 11px; transition: background .15s; }
.dd-item:hover { background: var(--surface-2); }
.dd-ico { width: 34px; height: 34px; flex: none; border-radius: 9px; display: grid; place-items: center; background: var(--thumb-bg); color: var(--thumb-fg); border: 1px solid var(--thumb-border); }
.dd-name { font-weight: 700; font-size: 15px; color: var(--ink); }
.dd-desc { font-size: 12.5px; color: var(--ink-soft); }
.dd-price { margin-left: auto; font-weight: 800; font-size: 14px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.dd-all { display: block; text-align: center; margin-top: 6px; padding: 10px; font-weight: 800; font-size: 14px; color: var(--accent); border-top: 1px solid var(--line); }

.toggle { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--toggle-bg);
  color: var(--ink); cursor: pointer; display: grid; place-items: center; font-size: 17px; transition: border-color .2s, transform .2s; }
.toggle:hover { border-color: var(--accent); transform: rotate(-12deg); }

/* buttons */
.btn { display: inline-flex; align-items: center; gap: 9px; justify-content: center; font-family: var(--font-body); font-weight: 800; font-size: 16px;
  padding: 13px 22px; border-radius: 999px; border: 1.5px solid transparent; cursor: pointer;
  transition: transform .15s ease, box-shadow .25s ease, background .2s, border-color .2s; }
.btn-primary { background: var(--btn-primary-bg); color: var(--btn-primary-fg); box-shadow: var(--btn-primary-shadow); }
.btn-primary:hover { background: var(--btn-primary-bg-hover); transform: translateY(-2px); }
.btn-ghost { background: var(--btn-ghost-bg); color: var(--btn-ghost-fg); border-color: var(--btn-ghost-border); }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn:focus-visible, .toggle:focus-visible, .nav-link:focus-visible, a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

/* hero */
.hero { position: relative; padding: 88px 0 74px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 30px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--eyebrow-fg); background: var(--eyebrow-bg); border: 1px solid var(--eyebrow-border); padding: 7px 15px; border-radius: 999px; margin-bottom: 24px; }
.eyebrow::before { content: var(--eyebrow-glyph); }
.hero h1 { font-size: clamp(38px, 6vw, 64px); font-weight: 600; }
.hero h1 .hl { color: var(--accent); font-style: var(--hl-style); text-shadow: var(--hl-glow); }
.hero p.lede { font-size: clamp(17px, 2.2vw, 21px); color: var(--ink-soft); max-width: 31ch; margin: 23px 0 33px; }
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-art { position: relative; display: grid; place-items: center; min-height: 340px; }
.hero-art::after { content: ""; position: absolute; width: 60%; height: 60%; border-radius: 50%; background: var(--hero-halo); filter: blur(20px); z-index: -1; }
.kiwi-slice { width: min(360px, 78%); height: auto; filter: var(--hero-glow); }
.hero-bird { width: min(600px, 124%); height: auto; filter: var(--hero-glow); transform: scaleX(-1); animation: floaty 7s ease-in-out infinite; }
@keyframes floaty { 0%,100% { transform: scaleX(-1) translateY(0); } 50% { transform: scaleX(-1) translateY(-12px); } }

/* sections */
section { padding: 74px 0; }
.sec-head { max-width: 44ch; margin-bottom: 44px; }
.kicker { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: 0.13em; color: var(--kicker); margin-bottom: 12px; }
.sec-head h2 { font-size: clamp(28px, 4vw, 41px); font-weight: 600; }
.sec-head p { color: var(--ink-soft); margin: 14px 0 0; }

/* product cards */
.products { display: grid; grid-template-columns: repeat(2, 1fr); gap: 21px; }
.card { position: relative; overflow: hidden; background: var(--card-bg); backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur);
  border: 1px solid var(--card-border); border-radius: var(--radius); padding: 26px; display: flex; flex-direction: column; gap: 14px;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--card-topline); opacity: 0; transition: opacity .25s; }
.card:hover { transform: translateY(-5px); border-color: var(--card-hover-border); box-shadow: var(--card-hover-shadow); }
.card:hover::before { opacity: 1; }
.card-top { display: flex; align-items: center; justify-content: space-between; }
.thumb { width: 55px; height: 55px; border-radius: 14px; display: grid; place-items: center; background: var(--thumb-bg); color: var(--thumb-fg); border: 1px solid var(--thumb-border); }
.tag { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; color: var(--tag); }
.card h3 { font-size: 22px; font-weight: 600; }
.card p { color: var(--ink-soft); font-size: 15px; margin: 0; flex: 1; }
.card-buy { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--line); }
.price { font-family: var(--font-display); font-weight: 700; font-size: 25px; font-variant-numeric: tabular-nums; }
.price span { font-size: 13px; color: var(--ink-soft); font-family: var(--font-body); font-weight: 700; }

/* how */
.how { background: var(--how-bg); border-top: 1px solid var(--how-border); border-bottom: 1px solid var(--how-border); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.step .n { display: inline-grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; border: 1.5px solid var(--accent);
  color: var(--accent); font-weight: 800; font-size: 15px; margin-bottom: 16px; font-variant-numeric: tabular-nums; box-shadow: var(--step-glow); font-family: var(--font-display); }
.step h3 { font-size: 20px; font-weight: 600; margin-bottom: 8px; }
.step p { color: var(--ink-soft); margin: 0; font-size: 15px; }

footer { border-top: 1px solid var(--line); padding: 44px 0; }
.foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; color: var(--ink-soft); font-size: 14px; }
.note { font-size: 13px; color: var(--ink-soft); text-align: center; margin-top: 26px; opacity: .85; }

/* ============ PRODUCT PAGE ============ */
.breadcrumb { padding: 26px 0 0; font-size: 13.5px; color: var(--ink-soft); font-weight: 700; }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb .sep { opacity: .5; margin: 0 8px; }
.pdp { padding: 34px 0 20px; }
.pdp-grid { display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 46px; align-items: start; }
.pdp-visual { position: relative; }
.sheet {
  background: var(--surface); border: 1px solid var(--card-border); border-radius: var(--radius);
  box-shadow: var(--card-hover-shadow); overflow: hidden; backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur);
}
.sheet-bar { display: flex; align-items: center; gap: 6px; padding: 12px 15px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.sheet-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--line); }
.sheet-title { margin-left: 8px; font-size: 12.5px; font-weight: 700; color: var(--ink-soft); }
.sheet-body { padding: 18px; }
.pdp-info .tag { display: inline-block; margin-bottom: 14px; }
.pdp-info h1 { font-size: clamp(30px, 4.4vw, 46px); font-weight: 600; }
.pdp-info .summary { font-size: clamp(16px, 2vw, 19px); color: var(--ink-soft); margin: 16px 0 24px; }
.pdp-price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 22px; }
.pdp-price .amt { font-family: var(--font-display); font-weight: 700; font-size: 40px; font-variant-numeric: tabular-nums; color: var(--ink); }
.pdp-price .unit { color: var(--ink-soft); font-weight: 700; }
.pdp-cta { display: flex; gap: 13px; flex-wrap: wrap; align-items: center; }
.pdp-reassure { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; font-size: 13.5px; color: var(--ink-soft); }
.pdp-reassure span { display: inline-flex; align-items: center; gap: 7px; }
.pdp-reassure svg { color: var(--accent); flex: none; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.feature { display: flex; gap: 13px; align-items: flex-start; }
.feature .fico { width: 40px; height: 40px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--thumb-bg); color: var(--thumb-fg); border: 1px solid var(--thumb-border); }
.feature h4 { margin: 2px 0 3px; font-size: 16px; font-weight: 700; font-family: var(--font-body); color: var(--ink); }
.feature p { margin: 0; font-size: 14px; color: var(--ink-soft); }
.includes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 26px; }
.includes li { display: flex; gap: 11px; align-items: flex-start; font-size: 15.5px; color: var(--ink); }
.includes li svg { color: var(--accent); flex: none; margin-top: 3px; }
.buynote { font-size: 13px; color: var(--ink-soft); margin-top: 16px; min-height: 1.2em; }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero-bird { animation: none; }
  * { scroll-behavior: auto; }
}
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; } .hero-art { order: -1; min-height: 220px; }
  .kiwi-slice { width: 200px; } .hero-bird { width: 260px; }
  .products { grid-template-columns: 1fr; } .steps { grid-template-columns: 1fr; gap: 22px; }
  .hero { padding: 52px 0 38px; }
  .pdp-grid { grid-template-columns: 1fr; gap: 30px; }
  .feature-grid, .includes { grid-template-columns: 1fr; }
  .dropdown-panel { min-width: 280px; }
}

/* ============ THANK-YOU PAGE ============ */
.thanks { max-width: 640px; margin: 0 auto; padding: 72px 0 48px; text-align: center; }
.thanks .preview-badge { display: inline-block; margin-bottom: 20px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--tag); background: var(--surface-2); padding: 5px 12px; border-radius: 999px; }
.check-badge { width: 84px; height: 84px; margin: 0 auto 26px; border-radius: 50%; display: grid; place-items: center; background: var(--thumb-bg); color: var(--accent); border: 1.5px solid var(--thumb-border); box-shadow: var(--step-glow); }
.thanks h1 { font-size: clamp(30px, 4.4vw, 44px); font-weight: 600; }
.thanks .sub { font-size: clamp(16px, 2vw, 19px); color: var(--ink-soft); margin: 16px auto 0; max-width: 46ch; }
.deliver-card { background: var(--card-bg); backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur);
  border: 1px solid var(--card-border); border-radius: var(--radius); box-shadow: var(--card-hover-shadow);
  padding: 26px 28px; margin: 34px 0 28px; text-align: left; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.deliver-card .thumb { width: 60px; height: 60px; }
.dc-info { flex: 1; min-width: 190px; }
.dc-info h3 { font-size: 21px; font-weight: 600; }
.dc-info p { margin: 4px 0 0; color: var(--ink-soft); font-size: 14.5px; }
.thanks .next { color: var(--ink-soft); font-size: 15px; }
.thanks .next a { color: var(--accent); font-weight: 800; }
.spinner { width: 40px; height: 40px; border: 3px solid var(--line); border-top-color: var(--accent); border-radius: 50%; margin: 46px auto 22px; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation: none; } }
@media (max-width: 640px) { .deliver-card { flex-direction: column; align-items: stretch; text-align: center; } .deliver-card .thumb { margin: 0 auto; } .deliver-card .btn { width: 100%; } }

/* ============ CONTENT / INFO / LEGAL PAGES ============ */
.page-head { padding: 60px 0 8px; }
.page-head .kicker { margin-bottom: 14px; }
.page-head h1 { font-size: clamp(32px, 5vw, 52px); font-weight: 600; }
.page-head p.lede { color: var(--ink-soft); font-size: clamp(16px, 2vw, 20px); margin: 18px 0 0; max-width: 56ch; }
.prose { max-width: 72ch; margin: 0 auto; }
.prose h2 { font-size: 24px; font-weight: 600; margin: 40px 0 12px; }
.prose h3 { font-size: 18px; font-weight: 700; font-family: var(--font-body); margin: 26px 0 8px; color: var(--ink); }
.prose p, .prose li { color: var(--ink-soft); font-size: 16px; line-height: 1.75; }
.prose p { margin: 0 0 14px; }
.prose ul { margin: 0 0 16px; padding-left: 22px; }
.prose li { margin: 0 0 8px; }
.prose a { color: var(--accent); font-weight: 700; }
.prose a:hover { text-decoration: underline; }
.prose strong { color: var(--ink); font-weight: 700; }
.legal-meta { color: var(--ink-soft); font-size: 13.5px; margin-top: 8px; opacity: .85; }
.ph { background: color-mix(in srgb, var(--tag) 18%, transparent); color: var(--ink); padding: 1px 7px; border-radius: 5px; font-weight: 700; font-size: 0.94em; white-space: nowrap; }

/* FAQ accordion (native <details>, no JS) */
.faq-list { max-width: 760px; margin: 0 auto; }
.faq-item { border: 1px solid var(--card-border); background: var(--card-bg); backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur); border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
.faq-item summary { cursor: pointer; padding: 18px 22px; font-weight: 700; font-size: 16.5px; color: var(--ink); list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--ink-soft); border-bottom: 2px solid var(--ink-soft); transform: rotate(45deg); transition: transform .2s; flex: none; margin-top: -3px; }
.faq-item[open] summary::after { transform: rotate(-135deg); margin-top: 2px; }
.faq-item .faq-body { padding: 0 22px 20px; color: var(--ink-soft); font-size: 15.5px; line-height: 1.72; }
.faq-item .faq-body a { color: var(--accent); font-weight: 700; }
.faq-item .faq-body a:hover { text-decoration: underline; }

/* Contact cards */
.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; max-width: 820px; margin: 6px auto 0; }
.contact-card { background: var(--card-bg); backdrop-filter: var(--card-blur); -webkit-backdrop-filter: var(--card-blur); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 28px; }
.contact-card .thumb { margin-bottom: 16px; }
.contact-card h3 { font-size: 19px; font-weight: 600; margin: 0 0 8px; }
.contact-card p { color: var(--ink-soft); font-size: 15px; margin: 0 0 14px; }
.contact-card a.mail { font-weight: 800; color: var(--accent); font-size: 16px; }
.contact-card a.mail:hover { text-decoration: underline; }

/* Reassurance strip (homepage) */
.reassure-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ritem { display: flex; gap: 12px; align-items: flex-start; }
.ritem .rico { width: 40px; height: 40px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--thumb-bg); color: var(--thumb-fg); border: 1px solid var(--thumb-border); }
.ritem h4 { font-size: 15.5px; font-weight: 700; font-family: var(--font-body); margin: 3px 0 3px; color: var(--ink); }
.ritem p { margin: 0; font-size: 13.5px; color: var(--ink-soft); }

/* ============ SHARED RICH FOOTER ============ */
.site-foot { border-top: 1px solid var(--line); background: var(--how-bg); padding: 54px 0 28px; margin-top: 40px; }
.foot-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 34px; }
.foot-brand .brand { margin-bottom: 14px; font-size: 22px; }
.foot-tag { color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; max-width: 36ch; margin: 0 0 16px; }
.foot-mail { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ink-soft); font-size: 14px; }
.foot-mail:hover { color: var(--accent); }
.foot-col h4 { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.11em; color: var(--kicker); margin: 4px 0 15px; font-family: var(--font-body); }
.foot-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.foot-links a { color: var(--ink-soft); font-size: 14.5px; font-weight: 600; transition: color .18s; }
.foot-links a:hover { color: var(--accent); }
.foot-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; }
.foot-badge { display: inline-flex; align-items: center; gap: 7px; }
.foot-badge svg { color: var(--accent); flex: none; }
@media (max-width: 860px) { .reassure-strip { grid-template-columns: 1fr 1fr; } .foot-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; } .foot-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .reassure-strip { grid-template-columns: 1fr; } .foot-grid { grid-template-columns: 1fr; } .foot-bottom { flex-direction: column; align-items: flex-start; } }

/* ============ MACRO CATEGORIES (dropdown chip + category-page empty state) ============ */
.dd-soon { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--tag); background: color-mix(in srgb, var(--tag) 15%, transparent); padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.cat-soon { max-width: 560px; margin: 10px auto 0; text-align: center; padding: 44px 24px 30px; }
.cat-soon .cat-ico { width: 74px; height: 74px; margin: 0 auto 22px; border-radius: 18px; display: grid; place-items: center; background: var(--thumb-bg); color: var(--thumb-fg); border: 1px solid var(--thumb-border); box-shadow: var(--step-glow); }
.cat-soon h2 { font-size: clamp(24px, 3.6vw, 33px); font-weight: 600; }
.cat-soon p { color: var(--ink-soft); margin: 14px auto 26px; max-width: 46ch; }
.cat-soon .btn { margin: 6px 6px 0; }

/* ============ PDP: real previews + enriched content sections ============ */
.sheet-shot { width: 100%; height: auto; display: block; border-radius: 8px; }
.pdp-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.shot { margin: 0; border: 1px solid var(--card-border); background: var(--card-bg); border-radius: 16px; overflow: hidden; box-shadow: var(--card-hover-shadow); }
.shot-img { width: 100%; height: auto; display: block; background: #fff; }
.shot figcaption { padding: 13px 17px; font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); border-top: 1px solid var(--line); }
.who-for { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 14px; }
.who-for li { position: relative; padding: 17px 20px 17px 46px; border: 1px solid var(--card-border); background: var(--card-bg); border-radius: 14px; color: var(--ink); font-size: 15.5px; line-height: 1.55; }
.who-for li::before { content: ""; position: absolute; left: 20px; top: 22px; width: 11px; height: 11px; border-radius: 50%; background: var(--accent); box-shadow: var(--mark-glow); }
.tab-list { display: grid; gap: 11px; }
.tab-row { display: grid; grid-template-columns: 200px 1fr; gap: 22px; padding: 17px 22px; border: 1px solid var(--card-border); background: var(--card-bg); border-radius: 14px; }
.tab-name { font-weight: 800; color: var(--ink); font-family: var(--font-body); font-size: 16px; }
.tab-does { color: var(--ink-soft); font-size: 15.5px; line-height: 1.6; }
.tips { list-style: none; padding: 0; margin: 0; display: grid; gap: 13px; max-width: 82ch; }
.tips li { position: relative; padding-left: 32px; color: var(--ink-soft); font-size: 16px; line-height: 1.62; }
.tips li::before { content: ""; position: absolute; left: 3px; top: 6px; width: 13px; height: 13px; border-radius: 4px; background: color-mix(in srgb, var(--accent) 22%, transparent); border: 2px solid var(--accent); }
.spec-table { margin: 0; max-width: 780px; border: 1px solid var(--card-border); border-radius: 16px; overflow: hidden; background: var(--card-bg); }
.spec-row { display: grid; grid-template-columns: 210px 1fr; gap: 18px; padding: 15px 22px; border-bottom: 1px solid var(--line); }
.spec-row:last-child { border-bottom: 0; }
.spec-row dt { font-weight: 800; color: var(--ink); font-size: 15px; }
.spec-row dd { margin: 0; color: var(--ink-soft); font-size: 15.5px; }
.pdp-faq { max-width: 780px; }
@media (max-width: 720px) {
  .tab-row, .spec-row { grid-template-columns: 1fr; gap: 5px; }
}
