/* Landing-page sections. Bottle cards retain the shared designer system. */
.discovery-home .hero-vm .tier.is-on .tier-blurb { color:var(--palette-card-rule); }
.home-section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px; }
.home-section-head h2 { margin:0 0 8px;font-size:32px;line-height:1.15; }
.home-section-head p { margin:0;color:var(--palette-body);line-height:1.5; }
.featured-controls { display:flex;gap:8px;flex-shrink:0; }
.featured-controls button { display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--palette-card-rule);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer; }
.featured-controls button:hover:not(:disabled) { background:var(--yellow);border-color:var(--ink); ;color:var(--palette-on-yellow);}
.featured-controls button:disabled { opacity:.3;cursor:default; }
.featured-controls svg,.explore-more svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
#market .featured-track { display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(260px,23vw,340px);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;padding:3px 3px 18px;margin:0 -3px;scrollbar-width:thin;scrollbar-color:var(--palette-card-rule) transparent; }
.featured-track .bottle-card:not(.bc-card) { scroll-snap-align:start;min-width:0; }
.featured-more { text-align:center;margin-top:26px; }
.featured-more .explore-more { display:inline-flex;border-radius:999px;min-height:50px;padding:0 28px;gap:13px;font-size:16px; }
.featured-more .explore-more img { width:23px;height:23px;filter:none; }
.featured-more p { margin:12px 0 0;font-size:13px;color:var(--palette-body); }
.home-app { background:var(--palette-line);overflow:hidden;margin:12px 0 72px; }
.home-app-layout { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;max-width:1400px; }
.home-app-copy { padding:56px 0; }
.home-app h2 { margin:0 0 20px;font:900 clamp(42px,4.5vw,64px)/.98 "HN Cond Black",sans-serif;text-transform:uppercase; }
.home-app-copy>p { max-width:45ch;font-size:17px;line-height:1.6;margin:0 0 24px; }
.home-app-features { display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:28px;color:var(--palette-body);font-size:13px;font-weight:600; }
.home-downloads { display:flex;gap:24px;align-items:center;margin-bottom:22px; }
.home-download-label { font-size:13px;font-weight:600;margin:0 0 10px; }
.home-store-badges { display:flex;align-items:center;gap:10px; }
.home-store-badges a { display:flex;align-items:center;justify-content:center;height:44px;border-radius:var(--radius-surface, 14px);background:var(--palette-ink); }
.home-store-badges a:first-child { padding:2px 6px; }
.home-store-badges img { height:40px;width:auto;display:block; }
.home-store-badges a:last-child img { height:52px; }
.home-download-qr { width:80px;height:80px;object-fit:contain;background:var(--palette-white);padding:5px;box-sizing:border-box;border-radius:var(--radius-surface, 14px); }
.home-text-link { display:inline-block;color:var(--palette-body);font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px; }
.home-text-link:hover { color:var(--ink); }
.home-app-art { display:flex;align-items:center;justify-content:center;max-height:540px;padding-top:32px; }
.home-app-art>img { display:block;width:min(100%,460px);height:auto;transform:translateY(35px); }
.home-team { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1500px;margin-bottom:64px; }
.home-team-art { background:var(--palette-sand);overflow:hidden;border-radius:var(--radius-surface, 14px); }
.home-team-art img { display:block;width:100%;height:auto; }
.home-team h2,.home-read-more h2 { margin:0 0 18px;font-family:var(--font-body);font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.1;letter-spacing:-.6px; }
.home-team-copy p { max-width:40ch;font-size:17px;line-height:1.65;color:var(--palette-body);margin:0 0 24px; }
.home-team-copy .btn { display:inline-flex;min-height:46px; }
.home-read-more { display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1500px;margin-bottom:64px; }
.home-read-more>div { border-top:1px solid var(--palette-card-rule);padding:28px 0 0; }
.home-read-more svg { width:32px;height:32px;stroke:var(--palette-kelly);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px; }
.home-read-more h2 { font-size:30px;line-height:1.15; }
.home-read-more p { color:var(--palette-body);font-size:16px;line-height:1.6;max-width:45ch;margin:0 0 20px; }
.discovery-home .landing-overview { margin-bottom:48px; }
.discovery-home main :is(a,button,[tabindex]):focus-visible { outline:2px solid var(--palette-kelly);outline-offset:4px; }
@media (max-width:900px) {
  .home-app-layout { gap:24px; }.home-app-copy { padding:40px 0; }.home-app h2 { font-size:42px; }
  .home-app-art>img { transform:translateY(12px); }.home-download-qr { display:none; }
  .home-team,.home-read-more { gap:32px; }.home-team h2 { font-size:32px; }
}
@media (max-width:600px) {
  .discovery-home .home-featured { padding:32px 0; }.home-section-head { gap:12px;align-items:center;margin-bottom:20px; }
  .home-section-head h2 { font-size:26px; }.home-section-head p { font-size:14px;max-width:24ch; }
  .featured-controls { gap:5px; }.featured-controls button { width:34px;height:34px; }
  #market .featured-track { grid-auto-columns:80%;gap:14px; }.featured-more { margin-top:20px; }
  .home-app { margin-bottom:40px; }.home-app-layout { grid-template-columns:1fr;gap:0; }.home-app-copy { padding:32px 0 0; }
  .home-app-copy>p { font-size:16px; }.home-app-features { gap:9px 16px; }.home-downloads { gap:12px; }
  .home-app-art { max-height:340px;padding-top:18px; }.home-app-art>img { max-width:290px;transform:translateY(52px); }
  .home-team,.home-read-more { grid-template-columns:1fr;gap:28px;margin-bottom:40px; }.home-team h2 { font-size:30px; }
  .home-team-copy p { font-size:16px; }.home-read-more>div { padding-top:24px; }.home-read-more h2 { font-size:28px; }
}

/* Homepage motion stays inside the existing yellow, white and cream surfaces. */
.grail-ticker { display:flex;align-items:center;gap:20px;padding:12px max(24px,calc((100vw - 1440px)/2));background:var(--palette-white);color:var(--ink);border-top:1px solid var(--palette-line);border-bottom:1px solid var(--palette-line);min-width:0; }
.grail-label { display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:15px;font-weight:700; }
.grail-label>img { width:24px;height:24px;padding:8px;box-sizing:content-box;border-radius:50%;background:var(--yellow); ;color:var(--palette-on-yellow);}
.grail-label small { display:block;margin-top:5px;color:var(--palette-body);font-size:11px;font-weight:500;letter-spacing:.02em; }
.grail-viewport { flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,var(--palette-ink) 12px,var(--palette-ink) calc(100% - 12px),transparent); }
.grail-belt { display:flex;width:max-content;animation:grail-crawl 42s linear infinite; }
.grail-list { display:flex;align-items:center;gap:0;flex-shrink:0;list-style:none;margin:0;padding:0; }
.grail-list li { display:flex;align-items:center;gap:14px;flex-shrink:0;padding:4px 24px;border-right:1px solid var(--palette-line); }
.grail-thumbnail { display:block;width:52px;height:68px;object-fit:contain;flex-shrink:0;background:var(--palette-white);mix-blend-mode:normal; }
.grail-copy { display:grid;gap:6px;width:230px;white-space:normal; }
.grail-name { font-size:14px;font-weight:600;line-height:1.35; }
.grail-list strong { color:var(--palette-body);font-size:18px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums; }
.grail-ticker:is(.is-paused,.is-hidden,:hover,:focus-within) .grail-belt { animation-play-state:paused; }
@keyframes grail-crawl { to { transform:translateX(-50%); } }
.motion-control { appearance:none;border:1px solid color-mix(in srgb, var(--palette-ink) 27.0588%, transparent);background:transparent;color:var(--ink);border-radius:999px;font:600 12px var(--font-body);min-height:44px;padding:0 16px;cursor:pointer;white-space:nowrap; }
.motion-control:hover { background:color-mix(in srgb, var(--palette-ink) 4.70588%, transparent); }
.featured-tools { display:flex;align-items:center;gap:12px; }
.featured-controls button { width:44px;height:44px; }
#market .bottle-card:not(.bc-card) .plate:not(.bc-art) { background:var(--palette-white);padding:12px; }
#market .bottle-card:not(.bc-card) .plate:not(.bc-art) img { width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:normal; }
.home-spin-badge:not(.bc-badge) { position:absolute;right:14px;bottom:12px;background:var(--palette-white);border:1px solid var(--palette-line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600; }
#market .bottle-card:not(.bc-card) .card-actions:not(.bc-actions) a { display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0 8px;border-radius:var(--radius-surface, 14px);font:700 14px var(--font-body); }
#market .bottle-card:not(.bc-card) .sub:not(.bc-sub) { min-height:2.8em; }
.home-app-art { position:relative;margin:0;max-height:none;padding:40px 0 48px; }
.home-app-art>img { width:244px;max-width:70%;transform:none;height:auto;filter:drop-shadow(0 18px 16px color-mix(in srgb, var(--palette-ink) 14.1176%, transparent)); }
.home-app-art figcaption { position:absolute;bottom:16px;font-size:13px;color:var(--palette-body);font-weight:500; }
.home-app h2 { max-width:13ch;text-transform:none;line-height:1.04; }
.about-hero { display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:64px; }
.about-eyebrow { color:var(--palette-body);font-weight:600; }
.about-hero h1 { font:900 clamp(42px,5vw,72px)/.98 'HN Cond Black',sans-serif;margin:18px 0 24px; }
.about-hero p:not(.about-eyebrow) { font-size:18px;line-height:1.7;max-width:42ch;color:var(--palette-body);margin-bottom:28px; }
.about-hero>img { width:100%;height:auto;border-radius:var(--radius-surface, 14px); }
.about-story { display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:40px;padding-bottom:64px;border-top:1px solid var(--palette-line); }
.about-story h2 { font-size:32px;margin:0; }
.about-story p { font-size:17px;line-height:1.7;margin:0 0 20px;color:var(--palette-body); }
.about-footer { display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--palette-line);padding-top:24px;padding-bottom:40px; }
.about-footer a { color:var(--palette-body); }
@media(max-width:800px) {
  .grail-ticker { flex-wrap:wrap;gap:8px 16px;padding:14px 24px; }
  .grail-label { flex:1; }.grail-pause { order:1; }.grail-viewport { order:2;flex-basis:100%; }
  .grail-list li { gap:12px;padding:4px 18px; }.grail-thumbnail { width:46px;height:62px; }.grail-copy { width:205px; }.grail-name { font-size:13px; }.grail-list strong { font-size:17px; }
  .home-app-art>img { width:220px; }.about-hero,.about-story { grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:36px; }
}
@media(max-width:600px) {
  .home-section-head { flex-wrap:wrap;align-items:flex-start; }.home-section-head p { max-width:none; }
  .featured-tools { width:100%;justify-content:space-between; }.featured-controls button { width:44px;height:44px; }
  .home-app-art { max-height:none;padding-top:32px;padding-bottom:48px; }.home-app-art>img { transform:none; }
  .home-app h2 { font-size:44px;max-width:14ch; }.about-footer { flex-direction:column;gap:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .grail-belt { animation-play-state:paused; }.grail-ticker.is-playing .grail-belt { animation-play-state:running; }
  .grail-ticker.is-playing:is(:hover,:focus-within,.is-hidden) .grail-belt { animation-play-state:paused; }
}

/* Homepage reference: machine-led hero, olive ground and quiet editorial sections. */
.discovery-home .hero-vm { background:var(--home-machine-color,var(--palette-yellow));transition:background-color .3s ease; }
.discovery-home .hero-vm>.rail { grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:32px;min-height:520px;align-items:center; }
.discovery-home .hero-vm .copy { max-width:680px;min-width:0;padding:40px 0; }
.discovery-home .hero-vm .vm-eyebrow { margin:0 0 16px;font:12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase; }
.discovery-home .hero-vm h1 { font-size:clamp(36px,4.1vw,58px);line-height:1.02; }
.discovery-home .hero-vm .desc { max-width:48ch;margin-bottom:24px; }
.discovery-home .hero-vm .machine { height:520px;align-self:center;align-items:center;padding:28px 0;box-sizing:border-box; }
.discovery-home .hero-vm .machine img { width:100%;height:100%;object-fit:contain;object-position:center; }
.discovery-home .hero-vm .tiers { gap:8px; }
.discovery-home .hero-vm .tier { min-height:106px;padding:14px 16px;gap:8px; }
.discovery-home .hero-vm .tier-name { font-family:var(--font-body);font-size:19px;font-weight:700;letter-spacing:0;text-transform:none; }
.discovery-home .hero-vm .tier-price { font-size:24px; }
.discovery-home .hero-vm .tier-blurb { font-size:11px; }
.discovery-home .hero-vm .stats { flex-wrap:wrap;gap:12px 28px; }
.discovery-home .hero-vm .grail-ticker { background:var(--palette-sand); }
.discovery-home .grail-list strong { color:var(--ink); }
.discovery-home .home-team h2 { font-family:"HN Cond Black",sans-serif;font-weight:900;letter-spacing:0; }
.discovery-home .featured-more .explore-more { border-radius:var(--radius-surface, 14px); }
@media (max-width:1000px) and (min-width:801px) {
  .discovery-home .hero-vm>.rail { grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:20px; }
  .discovery-home .hero-vm .machine { height:440px; }
  .discovery-home .hero-vm .tier { padding:12px 10px; }
}
@media (max-width:800px) {
  .discovery-home .hero-vm>.rail { grid-template-columns:1fr;gap:0;min-height:0;padding-top:20px;padding-bottom:24px; }
  .discovery-home .hero-vm .machine { position:static;order:0;height:240px;margin:0;padding:0; }
  .discovery-home .hero-vm .copy { order:1;padding:20px 0 0;max-width:none; }
  .discovery-home .hero-vm .vm-eyebrow { font-size:10px;margin-bottom:12px; }
  .discovery-home .hero-vm h1 { font-size:clamp(34px,7vw,48px); }
  .discovery-home .hero-vm .desc { font-size:14px;line-height:1.6; }
  .discovery-home .hero-vm .tier { min-height:98px;padding:12px 9px; }
  .discovery-home .hero-vm .tier-name { font-size:17px; }
  .discovery-home .hero-vm .tier-price { font-size:22px; }
  .discovery-home .hero-vm .stats { gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .discovery-home .hero-vm { transition:none; }
}
