/* Homepage restyle (tasteskill v2, Preserve mode), loaded on the homepage only.
   One ground, one ink, one flat magenta accent; no glows, glass, gradient fills or outlined boxes below the hero.
   The hero sky and the two scene illustrations keep their colour: they are the brand's pictures. */

body.home {
  --h-xl: clamp(2.6rem, 5.6vw, 4.75rem);   /* section headlines */
  --h-m: clamp(1.25rem, 1.7vw, 1.5rem);    /* card titles */
  --t-body: 1.0625rem;                      /* 17px running text */
  --t-small: .875rem;                       /* 14px meta */
  --surface: #120822;                       /* one tone step up from the ground */
  --surface-2: #1A0E30;
  --accent: #D52CFF;
}

/* ---------------------------------------------------------------- page-wide: no column guides, no glow ornaments */
body.home .guides, body.home .sparkle { display: none; }
body.home main .section { padding-block: clamp(3.5rem, 6.5vw, 6rem); }

/* buttons: flat, one fill, no glow */
body.home main .btn.primary, body.home .cine-btn {
  background: #fff; color: #120822; box-shadow: none; filter: none; /* taste-skill-ignore: removes the effect */
  transition: background-color .2s ease, transform .2s cubic-bezier(.2, .7, .2, 1);
}
body.home main .btn.primary .dot { background: #120822; color: #fff; }
body.home main .btn.primary:hover, body.home .cine-btn:hover { background: #F2D6FF; box-shadow: none; filter: none; } /* taste-skill-ignore: removes the effect */
body.home main .btn.primary:active, body.home .cine-btn:active { transform: scale(.97); }
body.home main .btn.ghost { border-color: transparent; background: var(--surface-2); }
body.home main .btn.ghost:hover { background: #2A1748; }
body.home main a:focus-visible, body.home main button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; box-shadow: none; } /* taste-skill-ignore: removes the effect */

/* section headings: one face, one colour, sentence-case display */
body.home main .section-head { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: end; }
body.home main .section-head h2, body.home .app-promo h2, body.home .closing h2 {
  font-size: var(--h-xl); line-height: .98; text-transform: none; font-stretch: 100%; font-weight: 800; letter-spacing: -.035em;
}
body.home main .section-head p { color: var(--text); font-size: var(--t-body); line-height: 1.55; max-width: 30rem; }

/* ---------------------------------------------------------------- hero: keep the sky and headline; calm the furniture */
body.home .cine-title .l2 { white-space: nowrap; }
body.home .cine-pill {
  font-size: .875rem; letter-spacing: 0; text-transform: none; font-weight: 500;
  background: rgba(18, 8, 34, .72); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; /* taste-skill-ignore: removes the effect */
}
body.home .cine-pill:hover { background: #2A1748; box-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .cine-lede { text-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .cine-meta { font-size: .875rem; color: rgba(255, 255, 255, .78); }
body.home .cine-meta .sep { box-shadow: none; } /* taste-skill-ignore: removes the effect */
@media (max-width: 700px) {
  body.home .cine-title { font-size: min(2.6rem, 8.4vw); }
  body.home .cine-title .l1 { white-space: nowrap; }
  body.home .cine-meta { font-size: .8125rem; }
}

/* ---------------------------------------------------------------- the two "simplified" scene players */
body.home .cine-h2 em { display: inline; font-family: inherit; font-style: normal; color: inherit; letter-spacing: inherit; }
body.home .simple-copy > p { color: var(--text); font-size: var(--t-body); }
body.home .simple-steps button { font-size: 1.0625rem; padding: .75rem 1rem; }
body.home .simple-steps button[aria-current="step"] { background: var(--surface); box-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .portal { box-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .ns-cap b, body.home .ns-cap span { text-shadow: none; } /* taste-skill-ignore: removes the effect */

/* marquee band: solid words, no rules */
body.home .marquee { border-block: 0; background: var(--surface); } /* taste-skill-ignore: removes the effect */
body.home .marquee li { -webkit-text-stroke: 0; color: var(--ink); } /* taste-skill-ignore: removes the effect */
body.home .marquee li * { -webkit-text-stroke: 0; } /* taste-skill-ignore: removes the effect */

/* ---------------------------------------------------------------- latest articles: one lead story, two beside it */
body.home .latest-row .posts { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 2.5rem 3rem; }
body.home .latest-row .post-card:first-child { grid-row: span 2; }
body.home .latest-row .post-card:first-child .frame { aspect-ratio: 4 / 3; }
body.home .latest-row .post-card:first-child h3 { font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1.05; letter-spacing: -.025em; }
body.home .latest-row .post-card:first-child p { font-size: var(--t-body); -webkit-line-clamp: 4; }
body.home .latest-row .post-card:not(:first-child) a { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
body.home .latest-row .post-card:not(:first-child) .frame { aspect-ratio: 1; }
body.home .post-card .frame { box-shadow: none; border-radius: 0; } /* taste-skill-ignore: removes the effect */
body.home .post-card .frame::after, body.home .post-card .date-badge { display: none; }
body.home .post-card .topic { font-size: var(--t-small); letter-spacing: 0; text-transform: none; font-weight: 600; color: var(--accent); }
body.home .post-card h3 { font-size: var(--h-m); }
body.home .post-card p { color: var(--text); font-size: 1rem; }
body.home .post-card .rt { font-size: var(--t-small); }
body.home .see-all { display: inline-block; margin-top: 2.5rem; font-size: var(--t-body); font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .3em; text-decoration-thickness: 2px; }
body.home .see-all:hover { color: var(--accent); }
@media (max-width: 860px) {
  body.home .latest-row .posts { grid-template-columns: 1fr; }
  body.home .latest-row .post-card:first-child { grid-row: auto; }
  body.home .latest-row .post-card:not(:first-child) a { grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr); }
}

/* ---------------------------------------------------------------- new to lucid dreaming: a reading path, not four outlined cards */
body.home .steps { counter-reset: none; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--surface); }
body.home .steps li { counter-increment: none; }
body.home .steps a { background: transparent; border: 0; box-shadow: none; border-radius: 0; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 2rem 1.75rem 2.25rem; gap: .75rem; transition: background-color .2s ease; } /* taste-skill-ignore: removes the effect */
body.home .steps li + li a { background: transparent; }
body.home .steps li:nth-child(even) a { background: var(--surface-2); }
body.home .steps a::before, body.home .steps a::after { content: none; display: none; }
body.home .steps a:hover { background: #2A1748; transform: none; }
body.home .steps h3 { order: 1; font-size: var(--h-m); line-height: 1.15; }
body.home .steps .why { order: 2; font-size: 1rem; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--text); }
body.home .steps .rt { order: 3; font-size: var(--t-small); }
@media (max-width: 860px) { body.home .steps { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- explore by topic: heading and tabs together, a grid instead of a sideways row */
body.home main .section-head.aside-auto { grid-template-columns: 1fr; justify-content: start; gap: 1.5rem; }
body.home .tabs { justify-content: flex-start; flex-wrap: wrap; overflow: visible; margin-right: 0; padding-right: 0; }
body.home .tab { font-size: 1rem; border: 0; background: var(--surface); padding: .6rem 1.1rem; } /* taste-skill-ignore: removes the effect */
body.home .tab:hover { background: #2A1748; border: 0; } /* taste-skill-ignore: removes the effect */
body.home .tab[aria-selected="true"] { background: var(--accent); color: #fff; box-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .topic-panel { grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); }
body.home .topic-panel .side h3 { text-transform: none; font-stretch: 100%; font-size: clamp(1.9rem, 3vw, 2.5rem); line-height: 1; letter-spacing: -.03em; }
body.home .topic-panel .side h3.neon-text, body.home .neon-text { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--ink); } /* taste-skill-ignore: removes the effect */
body.home .topic-panel .side p { font-size: var(--t-body); }
body.home .topic-panel .side .count { font-size: var(--t-small); }
body.home .topic-panel .arrows { display: none; }
body.home .track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; overflow: visible; margin-right: 0; padding-right: 0; scroll-snap-type: none; }
body.home .track > li:nth-child(n + 7) { display: none; }
body.home .neon-card { flex: none; }
body.home .neon-card a { aspect-ratio: auto; display: flex; flex-direction: column; gap: .9rem; background: transparent; box-shadow: none; border-radius: 0; overflow: visible; } /* taste-skill-ignore: removes the effect */
body.home .neon-card a::before, body.home .neon-card a::after, body.home .neon-card .go { display: none; }
body.home .neon-card img { position: static; aspect-ratio: 3 / 2; height: auto; filter: none; border-radius: 0; } /* taste-skill-ignore: removes the effect */
body.home .neon-card .body { position: static; padding: 0; background: none; } /* taste-skill-ignore: removes the effect */
body.home .neon-card h4 { font-size: 1.125rem; line-height: 1.2; color: var(--ink); text-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .neon-card .rt { color: var(--muted); font-size: var(--t-small); }
body.home .neon-card a:hover h4 { color: #F2D6FF; }
@media (max-width: 860px) {
  body.home .topic-panel { grid-template-columns: 1fr; }
  body.home .track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .track > li:nth-child(n + 5) { display: none; }
}

/* ---------------------------------------------------------------- who's writing: flat colour fields beside the photographs */
body.home .bento > * { border-radius: 0; } /* taste-skill-ignore: removes the effect */
body.home .bento .card { background: var(--surface); box-shadow: none; color: var(--ink); } /* taste-skill-ignore: removes the effect */
body.home .bento .card:nth-of-type(2) { background: var(--accent); }
body.home .bento .card:nth-of-type(2) h3, body.home .bento .card:nth-of-type(2) p, body.home .bento .card:nth-of-type(2) a { color: #12001E; }
body.home .bento .card h3 { color: var(--ink); text-transform: none; font-stretch: 100%; font-size: clamp(1.6rem, 2.4vw, 2.1rem); letter-spacing: -.025em; }
body.home .bento .card p { color: var(--text); font-size: var(--t-body); line-height: 1.55; }
body.home .bento .card a { color: var(--ink); text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: .25em; }

/* ---------------------------------------------------------------- follow along: plain row, no outlined boxes */
body.home .social-cards { gap: 1rem; }
body.home .social-card { background: var(--surface); border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; border-radius: 0; padding: 1.75rem 3.4rem 1.75rem 1.5rem; } /* taste-skill-ignore: removes the effect */
body.home .social-card::before, body.home .social-card::after { display: none; }
body.home .social-card:hover { background: #2A1748; box-shadow: none; } /* taste-skill-ignore: removes the effect */
body.home .social-card .go { border: 0; } /* taste-skill-ignore: removes the effect */
body.home .social-card .txt b { font-size: 1.25rem; text-transform: none; letter-spacing: -.01em; }
body.home .social-card .handle { font-size: 1rem; }
body.home .social-card .blurb { font-size: .9375rem; color: var(--text); }

/* ---------------------------------------------------------------- app teaser: no pill, solid headline, the real notifications kept */
body.home .app-promo h2 { margin-top: 0; }
body.home .app-promo h2 .line { white-space: nowrap; }
body.home .app-promo h2 .outline { color: var(--ink); -webkit-text-stroke: 0; } /* taste-skill-ignore: removes the effect */
body.home .app-promo > div > p { font-size: var(--t-body); color: var(--text); }
body.home .app-promo li { font-size: 1rem; font-weight: 500; }
body.home .app-promo li span { background: transparent; width: 1.25rem; height: 1.25rem; }
body.home .phone-stage::before, body.home .phone-stage::after { display: none; }
body.home .phone-stage .phone { box-shadow: none; filter: none; } /* taste-skill-ignore: removes the effect */
body.home .phone .lock-clock .d { font-size: .875rem; }
body.home .phone .notif p { font-size: .8125rem; }

/* ---------------------------------------------------------------- closing: the mantra first, then the instruction */
body.home .closing .closing-bg { background: var(--surface); }
body.home .closing::before { background: none; } /* taste-skill-ignore: removes the effect */
body.home .closing .wrap { display: flex; flex-direction: column; align-items: center; }
body.home .closing h2 { order: 1; text-transform: none; }
body.home .closing .kicker { order: 2; margin: 1.5rem 0 0; font-size: 1.25rem; color: var(--ink); } /* taste-skill-ignore: removes the effect */
body.home .closing .wrap > p:not(.kicker) { order: 3; font-size: var(--t-body); color: var(--text); } /* taste-skill-ignore: removes the effect */
body.home .closing .btn { order: 4; }

/* ---------------------------------------------------------------- motion: each section's parts rise in, once (content stays visible without script) */
@media (prefers-reduced-motion: no-preference) {
  body.home.js-reveal [data-rise] { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 75ms); }
  body.home.js-reveal [data-rise].in { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------- round 2: inspector fixes */
body.home .post-card a > div { display: flex; flex-direction: column; }
body.home .post-card a > div > h3 { order: 1; margin-top: 0; }
body.home .post-card a > div > p { order: 2; }
body.home .post-card a > div > .topic { order: 3; margin-top: .75rem; }
body.home .post-card a > div > .rt { order: 4; margin-top: .25rem; }
body.home .latest-row .post-card:first-child h3 { font-size: clamp(1.6rem, 2.25vw, 2rem); line-height: 1.1; }
body.home .tab[aria-selected="true"] { color: #12001E; }
body.home .closing h2 { text-shadow: none; } /* taste-skill-ignore: removes the effect */
@media (max-width: 700px) {
  body.home main .section-head h2, body.home .app-promo h2, body.home .closing h2 { font-size: min(2.6rem, 8.6vw); }
  body.home .latest-row .post-card:first-child h3 { font-size: 1.3rem; }
}
/* the screen-reader copy of line two sits on line one's box, so the headline measures as the two lines it shows */
body.home .cine-title { position: relative; }
body.home .cine-title .visually-hidden { top: 0; left: 0; }
@media (max-width: 860px) { body.home main .section-head { grid-template-columns: 1fr; } }
body.home .phone .t, body.home .phone .lock-clock * { text-shadow: none; } /* taste-skill-ignore: removes the effect */
