/* ============================================================================
   Centurion Blue · homepage only (home.css)
   Linked after cb.css on index.html. cb.css is shared by every page, so EVERY rule
   here is scoped to body.home (and uses .home- class names) so features.html,
   denver.html, departments.html and the rest never change.
   Spec: the approved design canvas (Main.dc.html at 1440, Mobile.dc.html at 390).
   Colours are the canvas colours; the only departures are for WCAG AA contrast:
     gold text on light grounds  #9a7c37 (3.5:1)  ->  --home-gold-ink #836828 (4.7:1)
     ledger small print          #7a6f5a (4.3:1)  ->  --home-slip-ink #6b604b (5.4:1)
     ledger chip green           #2c7d52 (4.4:1)  ->  #276f49 (5.3:1)
   Motion: every animation and transition sits inside
   @media (prefers-reduced-motion: no-preference), so a reduced-motion visitor gets a
   still page. The ticker only scrolls when JavaScript is on (it has a pause button).
   ============================================================================ */

body.home{
  --home-gold-ink:#836828;
  --home-slip-ink:#6b604b;
  --home-line-2:#3d5a80;
  --home-on-dark:#cddcee;
  --home-nav:#b9c8dc;
  --home-gold-grad:linear-gradient(160deg,var(--gold-br),var(--gold));
  --home-mono:"IBM Plex Mono","SF Mono",Menlo,monospace;
  --home-serif:"Cinzel",Georgia,serif;
  --home-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--ink);
  color:var(--ink-2);
  font-family:var(--home-sans);
  line-height:1.6;
}
body.home main{display:block;}
body.home h1,body.home h2,body.home h3{font-family:var(--home-serif);font-weight:700;margin:0;}
body.home h2,body.home h3{text-wrap:balance;}
body.home p{margin:0;}
body.home p,body.home li{text-wrap:pretty;}
body.home ul{margin:0;padding:0;list-style:none;}
body.home [id]{scroll-margin-top:88px;}

/* ---- helpers ---- */
body.home .home-ey{font-family:var(--home-mono);font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;line-height:1.6;}
body.home .home-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
body.home .home-gold{color:var(--gold-br);}
body.home .home-skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--gold-br);color:#2a2107;font-weight:700;font-size:.9375rem;padding:10px 16px;border-radius:8px;}
body.home .home-skip:focus{top:12px;}

/* ---- focus: gold on dark grounds, navy on light grounds ---- */
body.home a:focus-visible,body.home button:focus-visible,body.home summary:focus-visible{outline:2px solid var(--gold-br);outline-offset:3px;border-radius:6px;}
body.home .home-light a:focus-visible{outline-color:var(--navy);}
body.home .home-light .home-on-navy a:focus-visible{outline-color:var(--gold-br);}
body.home .home-ticker button:focus-visible{outline-color:#2a2107;outline-offset:2px;}

/* ---- buttons ---- */
body.home .home-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1px solid transparent;border-radius:8px;font-family:var(--home-sans);font-size:.875rem;font-weight:600;line-height:1.6;text-align:center;white-space:nowrap;cursor:pointer;}
body.home .home-btn-gold{background:var(--home-gold-grad);color:#2a2107;font-weight:700;box-shadow:0 8px 22px rgba(200,162,74,.28);}
body.home .home-btn-gold:hover{filter:brightness(1.05);color:#2a2107;}
body.home .home-btn-line{border-color:var(--navy-line);color:#fff;}
body.home .home-btn-line:hover{border-color:var(--gold);color:var(--gold-br);}
body.home .home-btn-ghost{border-color:var(--home-line-2);color:#fff;}
body.home .home-btn-ghost:hover{border-color:var(--gold);color:var(--gold-br);}
body.home .home-btn-outline{border-color:var(--navy);color:var(--navy);background:transparent;}
body.home .home-btn-outline:hover{background:var(--navy);color:#fff;}

/* ============================ header / nav ============================ */
body.home .home-header{position:sticky;top:0;z-index:60;background:var(--ink);border-bottom:1px solid var(--navy-line);}
body.home .home-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;max-width:1440px;margin:0 auto;padding:0 60px;}
body.home .home-brand{display:flex;align-items:center;gap:12px;flex:none;min-width:0;color:#fff;}
body.home .home-emblem{width:34px;height:38px;flex:none;}
body.home .home-word{font-family:var(--home-serif);font-size:1.0625rem;font-weight:700;letter-spacing:.06em;color:#fff;white-space:nowrap;line-height:1.2;}
body.home .home-word span{color:var(--gold-br);}
body.home .home-links ul{display:flex;align-items:center;gap:28px;}
body.home .home-links a{font-size:.875rem;font-weight:500;color:var(--home-nav);white-space:nowrap;}
body.home .home-links a:hover{color:var(--gold-br);}
body.home .home-actions{display:flex;align-items:center;gap:10px;flex:none;}
body.home .home-bar .home-btn-line{padding:9px 16px;}
body.home .home-bar .home-btn-gold{padding:10px 18px;}

/* menu: a <details> disclosure, so it opens without JavaScript. Shown below 1120px. */
body.home .home-menu{position:relative;display:none;}
body.home .home-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--navy-line);border-radius:8px;color:#fff;cursor:pointer;}
body.home .home-menu>summary::-webkit-details-marker{display:none;}
body.home .home-menu>summary:hover{border-color:var(--gold);color:var(--gold-br);}
body.home .home-menu>summary svg{width:20px;height:20px;}
body.home .home-menu .home-i-close{display:none;}
body.home .home-menu[open] .home-i-close{display:block;}
body.home .home-menu[open] .home-i-open{display:none;}
body.home .home-menu-panel{position:absolute;right:0;top:calc(100% + 14px);width:250px;max-width:calc(100vw - 40px);background:var(--ink);border:1px solid var(--navy-line);border-radius:12px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.45);}
body.home .home-menu-panel a{display:block;padding:10px 14px;border-radius:8px;color:#e6eef8;font-size:.9375rem;font-weight:500;}
body.home .home-menu-panel a:hover{background:rgba(255,255,255,.06);color:var(--gold-br);}
body.home .home-menu-panel .home-menu-sep{border-top:1px solid var(--navy-line);margin-top:6px;padding-top:6px;}

/* ================================ hero ================================ */
body.home .home-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#08182b 0%,#102a47 100%);color:#fff;padding:92px 60px 84px;}
body.home .home-ring{position:absolute;right:-140px;top:-120px;width:720px;height:720px;opacity:.16;pointer-events:none;transform-origin:50% 50%;}
body.home .home-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center;max-width:1320px;margin:0 auto;}
body.home .home-hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0;}
body.home .home-hero-ey{display:flex;align-items:center;gap:10px;color:var(--gold-br);}
body.home .home-ey-rule{display:inline-block;width:22px;height:1px;background:var(--gold-br);flex:none;}
body.home .home-hero h1{font-size:3.375rem;line-height:1.06;letter-spacing:.01em;color:#fff;}
body.home .home-lede{font-size:1.1875rem;line-height:1.6;color:var(--home-on-dark);max-width:540px;}
body.home .home-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px;}
body.home .home-cta .home-btn{font-size:1rem;border-radius:9px;}
body.home .home-cta .home-btn-gold{padding:15px 26px;}
body.home .home-cta .home-btn-ghost{padding:14px 22px;}

/* store badges: the official App Store and Google Play artwork, unmodified (the shared rules and the
   sizing maths are in cb.css under .store-badges). The hero shows the pair at a 44px visible height,
   40px (Apple's minimum) on phones. The note sits beside them on wide screens and below them on
   phones; both gaps stay above a quarter of the badge height. No hover or animation on the badges. */
body.home .home-stores{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin-top:10px;}
body.home .home-stores .store-badges{--badge-h:44px;}
body.home .home-stores-note{flex:1 1 190px;font-size:.8125rem;color:var(--steel);}

/* the duty ledger */
body.home .home-ledger-stage{position:relative;min-height:420px;display:flex;align-items:center;justify-content:flex-end;min-width:0;}
/* the canvas drew the slip 430px wide plus 26px padding each side (content-box), so 482px here */
body.home .home-ledger-wrap{position:relative;width:482px;max-width:100%;}
body.home .home-ledger-back{position:absolute;top:8px;bottom:6px;right:26px;width:calc(100% - 52px);background:#e8e1cf;border-radius:8px;transform:rotate(3.5deg);opacity:.55;box-shadow:0 24px 60px rgba(6,18,33,.18);}
body.home .home-ledger{position:relative;background-color:var(--paper);background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(34,48,63,.06) 27px 28px);color:var(--paper-ink);border-radius:8px;box-shadow:0 24px 60px rgba(6,18,33,.28),0 0 0 1px rgba(0,0,0,.04);padding:26px 26px 22px;font-family:var(--home-mono);font-variant-numeric:tabular-nums;transform:rotate(-1.2deg);}
body.home .home-lh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--paper-line);padding-bottom:10px;}
body.home .home-lh-t{font-family:var(--home-serif);font-size:.9375rem;font-weight:700;letter-spacing:.12em;color:var(--paper-ink);}
body.home .home-lh-n{font-size:.6875rem;letter-spacing:.12em;color:var(--home-slip-ink);white-space:nowrap;}
body.home .home-ld{font-size:.75rem;color:var(--home-slip-ink);margin:12px 0 6px;}
body.home .home-lr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.8125rem;padding:7px 0;}
body.home .home-lm{color:var(--home-slip-ink);}
body.home .home-lr b{font-weight:600;white-space:nowrap;}
body.home .home-lt{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:2px solid var(--paper-ink);margin-top:8px;padding-top:12px;}
body.home .home-lt-l{font-family:var(--home-serif);font-size:.8125rem;font-weight:700;letter-spacing:.12em;}
body.home .home-lt b{font-size:1.875rem;font-weight:600;color:var(--good);white-space:nowrap;}
body.home .home-lx{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.75rem;color:var(--home-slip-ink);margin-top:4px;}
body.home .home-lx+.home-lx{margin-top:2px;}
body.home .home-lx>span:last-child{white-space:nowrap;}
body.home .home-lx.home-lx-note>span:last-child{white-space:normal;}
body.home .home-lchip{display:flex;align-items:flex-start;gap:8px;margin-top:14px;line-height:1.6;text-wrap:balance;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:#276f49;}
body.home .home-lchip::before{content:"";width:8px;height:8px;margin-top:calc((1.6em - 8px) / 2);border-radius:50%;background:var(--good);flex:none;}

/* =============================== ticker =============================== */
/* Still by default (no JavaScript, reduced motion, or a phone): one short sentence in a single
   gold strip. The scrolling list replaces it only when it actually scrolls (see the motion block).
   All six facts are also listed, still, under "New this month" further down the page. */
body.home .home-ticker{position:relative;background:var(--gold);color:#2a2107;border-top:1px solid var(--gold-br);}
body.home .home-ticker-static{display:block;padding:16px 60px;text-align:center;text-wrap:balance;font-family:var(--home-mono);font-size:.78125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;}
body.home .home-ticker-view{display:none;overflow:hidden;}
body.home .home-tk{white-space:nowrap;}
body.home .home-ticker-list{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:56px;padding:0 56px 0 0;font-family:var(--home-mono);font-size:.78125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;}
body.home .home-ticker-dup{display:none;}
body.home .home-ticker-toggle{position:absolute;right:14px;top:50%;margin-top:-15px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(42,33,7,.45);background:var(--gold);color:#2a2107;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
body.home .home-ticker-toggle[hidden]{display:none;}
body.home .home-ticker-toggle svg{width:12px;height:12px;}
body.home .home-ticker-toggle .home-i-play{display:none;}
body.home .home-ticker-toggle[aria-pressed="true"] .home-i-play{display:block;}
body.home .home-ticker-toggle[aria-pressed="true"] .home-i-pause{display:none;}

/* ============================== sections ============================== */
body.home .home-inner{max-width:1140px;margin:0 auto;}
body.home .home-editions{background:var(--cloud);padding:84px 60px 72px;}
body.home .home-features{background:#fff;padding:84px 60px;}
body.home .home-trio-sec{background:var(--cloud);padding:84px 60px;}
body.home .home-pricing{background:#fff;padding:84px 60px;}
body.home .home-editions>.home-inner,body.home .home-features>.home-inner,body.home .home-pricing>.home-inner{display:flex;flex-direction:column;gap:36px;}
body.home .home-head{display:flex;flex-direction:column;gap:10px;}
body.home .home-head-center{text-align:center;align-items:center;}
body.home .home-head .home-ey{color:var(--home-gold-ink);}
body.home .home-head h2{font-size:2.375rem;line-height:1.6;letter-spacing:.01em;color:var(--navy);}
body.home .home-sub{font-size:1.0625rem;color:var(--muted);max-width:640px;}
body.home .home-head-split{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;}
body.home .home-head-split .home-head-main{display:flex;flex-direction:column;gap:10px;}
body.home .home-head-split .home-sub{font-size:.9375rem;max-width:380px;}
body.home .home-sub a{color:var(--home-gold-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
body.home .home-sub a:hover{color:var(--navy);}

/* cards: the design's hover-lift "cell". Lift uses the translate property so it never
   fights cb.css's scroll-reveal transform. */
body.home .home-card{position:relative;border-radius:14px;}
body.home .home-card:hover{box-shadow:0 24px 60px rgba(6,18,33,.14);}

/* ---- editions ---- */
body.home .home-editions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
body.home .home-edition{display:flex;flex-direction:column;gap:16px;padding:34px 34px 30px;overflow:hidden;}
body.home .home-edition h3{font-size:1.75rem;line-height:1.3;}
body.home .home-edition-text{font-size:.9375rem;line-height:1.6;}
body.home .home-edition-dpd{background:var(--navy);color:#fff;border:1px solid var(--navy-line);}
body.home .home-edition-dpd .home-ey{color:var(--gold-br);}
body.home .home-edition-dpd .home-edition-text{color:var(--home-on-dark);}
body.home .home-edition-nat{background:#fff;color:var(--ink-2);border:1px solid var(--line);}
body.home .home-edition-nat .home-ey{color:var(--home-gold-ink);}
body.home .home-edition-nat h3{color:var(--navy);}
body.home .home-edition-nat .home-edition-text{color:var(--muted);}
body.home .home-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
body.home .home-chips li{font-family:var(--home-mono);font-size:.6875rem;text-transform:uppercase;border:1px solid;border-radius:999px;padding:4px 11px;line-height:1.6;}
body.home .home-edition-dpd .home-chips li{border-color:var(--home-line-2);color:var(--gold-br);}
body.home .home-edition-nat .home-chips li{border-color:var(--line);color:var(--muted);}
body.home .home-edition-link{margin-top:auto;padding-top:8px;font-weight:700;font-size:1rem;}
body.home .home-edition-link::after{content:"";position:absolute;inset:0;border-radius:14px;}
body.home .home-edition-dpd .home-edition-link{color:var(--gold-br);}
body.home .home-edition-nat .home-edition-link{color:var(--navy);}
@supports selector(:has(a)){
  body.home .home-edition-link:focus-visible{outline:none;}
  body.home .home-edition:has(.home-edition-link:focus-visible){outline:2px solid var(--navy);outline-offset:4px;}
}

/* ---- bento ---- */
body.home .home-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body.home .home-bento h3{color:var(--navy);line-height:1.35;}
body.home .home-b-tag{display:flex;align-items:center;gap:10px;}
body.home .home-b-tag svg{width:26px;height:26px;flex:none;}
body.home .home-b-text{font-size:.9375rem;line-height:1.6;color:var(--muted);}
body.home .home-b-well{grid-row:span 2;background:#f6fbf8;border:1px solid #cfe4d8;padding:28px;display:flex;flex-direction:column;gap:14px;}
body.home .home-b-well .home-ey{color:var(--good);}
body.home .home-b-well h3,body.home .home-b-market h3{font-size:1.5rem;}
body.home .home-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px;}
body.home .home-tiles li{background:#fff;border:1px solid #cfe4d8;border-radius:8px;padding:10px 4px;text-align:center;line-height:1.6;}
body.home .home-tiles b{display:block;font-family:var(--home-mono);font-size:1.125rem;font-weight:600;color:var(--good);}
body.home .home-tiles .home-tile-h{display:block;font-size:.6875rem;color:var(--muted);}
body.home .home-tiles .is-top{background:#eaf6ef;border:1.5px solid var(--good);}
body.home .home-tiles .is-top .home-tile-h{color:var(--ink-2);font-weight:600;}
body.home .home-dots{display:flex;flex-direction:column;gap:8px;margin-top:8px;font-size:.875rem;color:var(--ink-2);}
body.home .home-dots li{position:relative;padding-left:16px;}
body.home .home-dots li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--good);}
body.home .home-b-market{grid-column:span 2;background:#fffdf6;border:1px solid #e7d9ad;padding:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:center;}
body.home .home-b-copy{display:flex;flex-direction:column;gap:12px;min-width:0;}
body.home .home-b-market .home-ey{color:var(--home-gold-ink);}
body.home .home-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
body.home .home-tags li{font-size:.75rem;font-weight:600;color:var(--home-gold-ink);background:#f9f0da;border:1px solid #e2cf9b;border-radius:999px;padding:3px 10px;line-height:1.6;}
body.home .home-listing{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 12px 30px rgba(6,18,33,.08);display:flex;flex-direction:column;gap:10px;transform:rotate(1.5deg);min-width:0;}
body.home .home-listing-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
body.home .home-listing-cat{font-size:.6875rem;font-weight:700;color:var(--home-gold-ink);background:#f4f7fb;border:1px solid #e2e9f1;border-radius:6px;padding:2px 9px;}
body.home .home-listing-state{font-family:var(--home-mono);font-size:.6875rem;color:var(--muted);}
body.home .home-listing-title{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.45;}
body.home .home-listing-price{color:var(--home-gold-ink);}
body.home .home-listing-desc{font-size:.8125rem;color:var(--muted);}
body.home .home-listing-pics{display:flex;gap:8px;margin-top:4px;}
body.home .home-listing-pics span{flex:1;height:54px;background:var(--cloud);border-radius:6px;}
body.home .home-listing-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;}
body.home .home-listing-by{font-size:.75rem;color:var(--muted);}
body.home .home-listing-msg{font-size:.8125rem;font-weight:700;color:#fff;background:var(--navy);border-radius:7px;padding:6px 12px;}
body.home .home-b-prem,body.home .home-b-rec{padding:26px;display:flex;flex-direction:column;gap:10px;}
body.home .home-b-prem{background:var(--navy);color:#fff;border:1px solid var(--navy-line);}
body.home .home-b-prem .home-ey{color:var(--gold-br);}
body.home .home-b-prem h3{color:#fff;}
body.home .home-b-rec{background:var(--cloud);border:1px solid var(--line);}
body.home .home-b-rec .home-ey{color:var(--home-gold-ink);}
body.home .home-b-prem h3,body.home .home-b-rec h3{font-size:1.25rem;}
body.home .home-b-prem .home-b-text,body.home .home-b-rec .home-b-text{font-size:.875rem;line-height:1.55;}
body.home .home-b-prem .home-b-text{color:var(--home-on-dark);}

/* ---- schedule / schedulers / phone ---- */
body.home .home-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body.home .home-trio-card{background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:10px;}
body.home .home-trio-card svg{width:26px;height:26px;flex:none;}
body.home .home-trio-tag{display:flex;align-items:center;gap:10px;}
body.home .home-trio-tag .home-ey{color:var(--home-gold-ink);}
body.home .home-trio-card h3{font-size:1.25rem;line-height:1.35;color:var(--navy);}
body.home .home-nowrap{white-space:nowrap;}
body.home .home-trio-card>p{font-size:.875rem;line-height:1.55;color:var(--muted);}
body.home .home-news{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 32px;align-items:start;}
body.home .home-news h3{color:var(--home-gold-ink);padding-top:1px;white-space:nowrap;}
body.home .home-news ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;font-size:.875rem;line-height:1.5;color:var(--ink-2);}
body.home .home-news li{position:relative;padding-left:16px;}
body.home .home-news li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold);}

/* ---- pricing ---- */
body.home .home-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
body.home .home-price{background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:14px;}
body.home .home-price .home-ey{color:var(--home-gold-ink);}
body.home .home-price .home-ey-green{color:var(--good);}
body.home .home-price-amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;}
body.home .home-price-num{font-family:var(--home-serif);font-size:2.75rem;font-weight:700;color:var(--navy);}
body.home .home-price-per{color:var(--muted);}
body.home .home-price-sub{font-size:.875rem;color:var(--muted);}
body.home .home-price-list{display:flex;flex-direction:column;gap:7px;margin-top:4px;font-size:.875rem;color:var(--ink-2);}
body.home .home-price .home-btn{margin-top:auto;width:100%;font-size:1rem;font-weight:700;border-radius:9px;padding:12px;white-space:normal;}
body.home .home-price .home-btn-gold{padding:13px;box-shadow:none;}
body.home .home-price.is-featured{background:var(--navy);color:#fff;border-color:var(--gold-br);box-shadow:0 24px 60px rgba(6,18,33,.22);translate:0 -10px;}
body.home .home-price.is-featured:hover{box-shadow:0 24px 60px rgba(6,18,33,.22);}
body.home .home-price.is-featured .home-ey{color:var(--gold-br);}
body.home .home-price.is-featured .home-price-num{color:#fff;}
body.home .home-price.is-featured .home-price-per,body.home .home-price.is-featured .home-price-sub{color:var(--home-on-dark);}
body.home .home-price.is-featured .home-price-list{color:#fff;}
body.home .home-price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#2a2107;font-family:var(--home-sans);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;padding:5px 12px;border-radius:999px;white-space:nowrap;}
body.home .home-price-note{text-align:center;font-size:.8125rem;color:var(--muted);}

/* ---- independence ---- */
body.home .home-indie{background:var(--navy);padding:64px 60px;border-top:1px solid var(--navy-line);}
body.home .home-indie-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center;}
body.home .home-indie-lead{display:flex;flex-direction:column;gap:12px;}
body.home .home-indie .home-ey{color:var(--gold-br);}
body.home .home-indie h2{font-size:1.875rem;line-height:1.2;color:#fff;}
body.home .home-indie-grid>p{font-size:.9375rem;line-height:1.65;color:var(--home-on-dark);}

/* ================================ footer ================================ */
/* bottom padding: the legal line's last row (the trademark credits) scrolls clear of the chat
   bubble from chat-widget.js, which is fixed bottom-right and reaches 78px up from the bottom */
body.home .home-footer{background:var(--ink);color:var(--steel);font-size:.8125rem;padding:40px 60px 92px;border-top:1px solid var(--navy-line);}
body.home .home-foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px 32px;max-width:1320px;margin:0 auto;}
body.home .home-footer .home-foot-brand{font-family:var(--home-serif);font-size:.9375rem;font-weight:700;letter-spacing:.06em;color:#fff;white-space:nowrap;}
body.home .home-footer .home-foot-brand span{color:var(--gold-br);}
body.home .home-footer ul{display:flex;flex-wrap:wrap;gap:8px 22px;}
body.home .home-footer a{color:var(--steel);}
body.home .home-footer li a{display:inline-block;padding:4px 0;}
body.home .home-footer a:hover{color:var(--gold-br);}
body.home .home-foot-legal{max-width:1320px;margin:22px auto 0;padding-top:18px;border-top:1px solid rgba(35,69,110,.6);font-size:.75rem;line-height:1.6;color:var(--steel);}
body.home .home-foot-legal a{color:var(--steel);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
/* trademark credit lines for the store badges, once on the page, in the legal line's own style */
body.home .home-foot-tm{display:block;margin-top:6px;}

/* the consent banner from analytics.js is fixed to the bottom until answered; while it is in the
   page, the footer gets room so its legal line is not hidden under it */
body.home:has(> #cbConsent) .home-footer{padding-bottom:110px;}

/* ================================ motion ================================ */
@keyframes home-rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes home-drift{0%{transform:translateY(0) rotate(-1.2deg);}50%{transform:translateY(-10px) rotate(-1.2deg);}100%{transform:translateY(0) rotate(-1.2deg);}}
@keyframes home-spin{to{transform:rotate(360deg);}}
@keyframes home-ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* a discrete step, not a tween: hidden, then shown whole at the end of the delay */
@keyframes home-appear{from{visibility:hidden;}to{visibility:visible;}}
@media (prefers-reduced-motion:no-preference){
  body.home .home-r1{animation:home-rise .7s cubic-bezier(.2,.7,.2,1) both;}
  body.home .home-r2{animation:home-rise .7s .12s cubic-bezier(.2,.7,.2,1) both;}
  body.home .home-r3{animation:home-rise .7s .24s cubic-bezier(.2,.7,.2,1) both;}
  body.home .home-r4{animation:home-rise .7s .36s cubic-bezier(.2,.7,.2,1) both;}
  /* the store badges never fade, move or scale (the badge rules ban animating them); the row is only
     held back until the headline and buttons above it have settled (1.06s), so the badges never
     show before the main message */
  body.home .home-stores{animation:home-appear 0s 1.06s both;}
  body.home .home-ledger{animation:home-drift 7s ease-in-out infinite;}
  body.home .home-ring{animation:home-spin 90s linear infinite;}
}
/* the ticker scrolls only with JavaScript on (that is what adds its pause button), only when motion
   is allowed, and only wider than a phone; a phone gets the Mobile design's still strip instead */
@media (prefers-reduced-motion:no-preference) and (min-width:601px){
  html.js body.home .home-ticker-static{display:none;}
  html.js body.home .home-ticker-view{height:52px;display:flex;align-items:center;padding-left:40px;}
  html.js body.home .home-ticker-track{display:flex;flex:none;width:max-content;animation:home-ticker 38s linear infinite;}
  html.js body.home .home-ticker-dup{display:flex;}
  html.js body.home .home-ticker:has(.home-ticker-toggle:not([hidden]))::after{content:"";position:absolute;top:0;right:0;bottom:0;width:96px;background:linear-gradient(90deg,rgba(200,162,74,0),var(--gold) 55%);pointer-events:none;}
  html.js body.home .home-ticker-toggle{z-index:1;}
  html.js body.home .home-ticker:hover .home-ticker-track,
  html.js body.home .home-ticker.is-paused .home-ticker-track{animation-play-state:paused;}
}
@media (prefers-reduced-motion:no-preference){
  body.home .home-btn,body.home .home-links a,body.home .home-footer a,body.home .home-menu>summary{transition:filter .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease;}
  body.home .home-card{transition:translate .25s ease,box-shadow .25s ease;}
  /* cb.css's scroll-reveal fades cards in with opacity + transform; keep both transitions */
  html.js body.home .home-card.reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),translate .25s ease,box-shadow .25s ease;}
  body.home .home-card:hover{translate:0 -4px;transition-delay:0s!important;}
  body.home .home-price.is-featured:hover{translate:0 -16px;}
}

/* ============================== responsive ============================== */
/* ~1280: section headings can wrap from here down, so they get a tighter line-height
   (at 1440 they sit on one line with the design's spacing) */
@media (max-width:1280px){
  body.home .home-head h2{line-height:1.3;}
}
/* ~1180: the "New this month" heading sits above its list, so the three columns get room */
@media (max-width:1180px){
  body.home .home-news{grid-template-columns:minmax(0,1fr);}
}
/* 961 to 1180: the bento's narrow columns; keep the long titles and eyebrows on one line */
@media (min-width:961px) and (max-width:1180px){
  body.home .home-b-well h3,body.home .home-b-market h3{font-size:1.3125rem;}
}
@media (min-width:761px) and (max-width:1180px){
  body.home .home-b-market .home-b-tag .home-ey{letter-spacing:.12em;}
}
/* 901 to 1040: the Premium card's eyebrow needs less tracking to stay on one line */
@media (min-width:901px) and (max-width:1040px){
  body.home .home-price-plus{letter-spacing:.12em;}
}
/* ~1120: the six nav links move into the Menu disclosure; gutters tighten */
@media (max-width:1120px){
  body.home .home-bar{padding:0 40px;}
  body.home .home-links{display:none;}
  body.home .home-menu{display:block;}
  body.home .home-hero{padding:80px 40px 76px;}
  body.home .home-hero-grid{gap:48px;}
  body.home .home-hero h1{font-size:clamp(2.5rem,4.6vw,3.375rem);}
  body.home .home-editions,body.home .home-features,body.home .home-trio-sec,body.home .home-pricing{padding-left:40px;padding-right:40px;}
  body.home .home-indie,body.home .home-footer{padding-left:40px;padding-right:40px;}
  body.home .home-ticker-static{padding-left:40px;padding-right:40px;}
}
/* ~960: bento and the schedule row go to two columns */
@media (max-width:960px){
  body.home .home-bento{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.home .home-b-well{grid-row:auto;}
  body.home .home-b-market{grid-column:auto;grid-template-columns:minmax(0,1fr);align-items:start;}
  body.home .home-listing{max-width:340px;margin:4px 6px 6px;}
  body.home .home-trio{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.home .home-trio-card:last-child{grid-column:1 / -1;}
  body.home .home-news ul{grid-template-columns:repeat(2,minmax(0,1fr));}
  /* scales with the card so both edition titles stay on one line and their text lines up */
  body.home .home-edition h3{font-size:clamp(1.25rem,2.7vw,1.5rem);}
}
/* ~900: the hero stacks; pricing becomes one column */
@media (max-width:900px){
  body.home .home-hero{padding:72px 40px 72px;}
  /* stacked, the ring's outer circle and tick marks cross the Google Play badge's quarter-height
     clear space (measured 601 to 808px); nothing may sit there, so the ring goes */
  body.home .home-ring{display:none;}
  body.home .home-hero-grid{grid-template-columns:minmax(0,1fr);gap:56px;}
  body.home .home-hero h1{font-size:3rem;}
  body.home .home-lede{max-width:620px;}
  body.home .home-ledger-stage{min-height:0;justify-content:center;padding:4px 0 12px;}
  body.home .home-head-split{flex-direction:column;align-items:flex-start;gap:10px;}
  body.home .home-head-split .home-sub{max-width:640px;}
  body.home .home-prices{grid-template-columns:minmax(0,1fr);max-width:560px;width:100%;margin:0 auto;gap:26px;}
  body.home .home-price.is-featured{translate:none;}
  body.home .home-price.is-featured:hover{translate:0 -4px;}
}
/* ~760: editions and the independence block go to one column */
@media (max-width:760px){
  body.home .home-editions-grid{grid-template-columns:minmax(0,1fr);}
  body.home .home-bento{grid-template-columns:minmax(0,1fr);}
  body.home .home-indie-grid{grid-template-columns:minmax(0,1fr);gap:18px;}
  body.home .home-head h2{font-size:2rem;}
  body.home .home-foot-inner{flex-direction:column;align-items:flex-start;}
  body.home .home-trio{grid-template-columns:minmax(0,1fr);}
  body.home .home-trio-card:last-child{grid-column:auto;}
  body.home .home-edition h3{font-size:1.5rem;}
}

/* ============ phone, ~600 and below: the Mobile design (390 wide) ============ */
@media (max-width:600px){
  body.home [id]{scroll-margin-top:72px;}
  body.home .home-bar{height:60px;padding:0 20px;gap:10px;}
  body.home .home-emblem{display:none;}
  body.home .home-word{font-size:.875rem;}
  body.home .home-login{display:none;}
  body.home .home-actions{gap:8px;}
  body.home .home-bar .home-btn-gold{font-size:.8125rem;padding:8px 14px;box-shadow:none;}
  body.home .home-menu>summary{width:38px;height:38px;}
  body.home .home-menu-panel{top:calc(100% + 11px);right:-4px;}

  body.home .home-hero{padding:44px 20px 36px;}
  body.home .home-ring{display:none;}
  body.home .home-hero-grid{gap:28px;}
  body.home .home-hero-copy{gap:16px;}
  body.home .home-hero-ey{font-size:.6875rem;letter-spacing:.2em;}
  body.home .home-ey-rule{display:none;}
  body.home .home-hero h1{font-size:2.25rem;}
  body.home .home-lede{font-size:1rem;line-height:1.55;}
  body.home .home-cta{flex-direction:column;align-items:stretch;gap:10px;margin-top:4px;}
  body.home .home-cta .home-btn-gold{padding:15px;}
  body.home .home-cta .home-btn-ghost{padding:14px;}
  body.home .home-stores{gap:12px;margin-top:4px;}
  body.home .home-stores .store-badges{--badge-h:40px;}
  body.home .home-stores-note{flex-basis:100%;font-size:.75rem;}
  body.home .home-b-market .home-b-tag .home-ey{letter-spacing:.12em;}
  body.home .home-ledger-stage{padding:0 2px;}
  body.home .home-ledger-back{display:none;}
  body.home .home-ledger-wrap{width:100%;}
  body.home .home-ledger{padding:18px;box-shadow:0 18px 40px rgba(6,18,33,.3);transform:rotate(-1deg);}
  body.home .home-lh{padding-bottom:8px;}
  body.home .home-lh-t{font-size:.8125rem;}
  body.home .home-lh-n{font-size:.6875rem;}
  body.home .home-ld{font-size:.6875rem;margin:10px 0 2px;}
  body.home .home-lr{font-size:.75rem;padding:4px 0;}
  body.home .home-lt{margin-top:6px;padding-top:8px;}
  body.home .home-lt-l{font-size:.6875rem;}
  body.home .home-lt b{font-size:1.5rem;}
  body.home .home-lx{font-size:.6875rem;}
  body.home .home-lchip{margin-top:10px;font-size:.6875rem;}

  body.home .home-ticker-view,body.home .home-ticker-toggle{display:none!important;}
  body.home .home-ticker-static{padding:12px 20px;text-align:left;font-size:.6875rem;}

  body.home .home-editions,body.home .home-features,body.home .home-trio-sec,body.home .home-pricing{padding:44px 20px;}
  body.home .home-editions>.home-inner,body.home .home-features>.home-inner,body.home .home-pricing>.home-inner{gap:14px;}
  body.home .home-head,body.home .home-head-split .home-head-main{gap:14px;}
  body.home .home-head-center{text-align:left;align-items:flex-start;}
  body.home .home-ey{font-size:.6875rem;letter-spacing:.2em;}
  body.home .home-head h2{font-size:1.625rem;line-height:1.15;}
  body.home .home-sub,body.home .home-head-split .home-sub{font-size:.875rem;line-height:1.55;}
  body.home .home-editions-grid,body.home .home-bento,body.home .home-trio{gap:14px;}

  body.home .home-edition{padding:22px;gap:8px;border-radius:12px;}
  body.home .home-edition h3{font-size:1.3125rem;}
  body.home .home-edition-text{font-size:.875rem;line-height:1.55;}
  body.home .home-chips{gap:6px;margin-top:6px;}
  body.home .home-chips li{font-size:.6875rem;padding:3px 9px;}
  body.home .home-edition-link{font-size:.9375rem;}
  body.home .home-edition-link::after{border-radius:12px;}

  body.home .home-b-well,body.home .home-b-market,body.home .home-b-prem,body.home .home-b-rec{padding:20px;border-radius:12px;gap:10px;}
  body.home .home-b-well h3,body.home .home-b-market h3,body.home .home-b-prem h3,body.home .home-b-rec h3{font-size:1.1875rem;}
  body.home .home-b-text,body.home .home-b-prem .home-b-text,body.home .home-b-rec .home-b-text{font-size:.875rem;line-height:1.55;}
  body.home .home-tiles{gap:6px;margin-top:2px;}
  body.home .home-tiles li{padding:8px 2px;border-radius:6px;}
  body.home .home-tiles b{font-size:.9375rem;}
  body.home .home-tiles .home-tile-h{font-size:.6875rem;}
  body.home .home-dots{font-size:.8125rem;margin-top:4px;}
  body.home .home-b-copy{gap:8px;}
  body.home .home-listing{display:none;}

  body.home .home-trio-card{padding:20px;border-radius:12px;}
  body.home .home-trio-card h3{font-size:1.1875rem;}
  body.home .home-news{margin-top:14px;padding:20px;border-radius:12px;}
  body.home .home-news ul{grid-template-columns:minmax(0,1fr);font-size:.8125rem;}

  body.home .home-prices{gap:14px;}
  body.home .home-price{padding:22px;gap:8px;border-radius:12px;}
  body.home .home-price-num{font-size:2.25rem;}
  body.home .home-price-sub{font-size:.8125rem;}
  body.home .home-price-list{font-size:.8125rem;gap:5px;}
  body.home .home-price .home-btn{margin-top:8px;}
  /* Premium leads on a phone, as in the Mobile design; its floating badge becomes the eyebrow */
  body.home .home-price.is-featured{order:-1;}
  body.home .home-price-badge{position:static;transform:none;background:none;color:var(--gold-br);padding:0;border-radius:0;font-family:var(--home-mono);font-size:.6875rem;font-weight:600;letter-spacing:.2em;}
  body.home .home-price.is-featured>*{order:2;}
  body.home .home-price.is-featured>.home-price-badge,body.home .home-price.is-featured>.home-price-amt,body.home .home-price.is-featured>.home-price-sub{order:1;}
  body.home .home-price.is-featured>.home-price-plus{margin-top:6px;}
  body.home .home-price.is-featured>.home-btn{order:3;}
  body.home .home-price-note{text-align:left;font-size:.75rem;}

  body.home .home-indie{padding:36px 20px;}
  body.home .home-indie-grid{gap:10px;}
  body.home .home-indie-lead{gap:10px;}
  body.home .home-indie h2{font-size:1.25rem;line-height:1.25;}
  body.home .home-indie-grid>p{font-size:.8125rem;line-height:1.55;}

  body.home .home-footer{padding:32px 20px calc(72px + env(safe-area-inset-bottom));}
  body.home .home-foot-inner{gap:14px;}
  body.home .home-footer ul{gap:6px 18px;}
  body.home:has(> #cbConsent) .home-footer{padding-bottom:calc(180px + env(safe-area-inset-bottom));}
}
/* the narrowest phones: keep the wordmark, Get started and Menu on one row */
@media (max-width:374px){
  body.home .home-word{font-size:.78rem;letter-spacing:.04em;}
  body.home .home-bar{padding:0 14px;gap:8px;}
  body.home .home-bar .home-btn-gold{padding:8px 11px;}
  body.home .home-head h2{font-size:1.5rem;}
  body.home .home-hero-ey{letter-spacing:.12em;}
}
@media (max-width:340px){
  body.home .home-head h2{font-size:1.375rem;}
}
