/* Shared Cleo-reference grammar for every route-specific public page. */
:root {
  --reference-ink: #47201c;
  --reference-dark: #3b383d;
  --reference-paper: #f8f6f2;
  --reference-soft: #f3e9e3;
  --reference-line: rgba(71, 32, 28, .18);
  --reference-ease: cubic-bezier(.16, 1, .3, 1);
}

body:not(.account-page) { color: var(--reference-ink); background: var(--reference-paper); }
.page-nav { top: 32px; left: 32px; width: calc(100% - 64px); }
.page-brand { min-width: 122px; min-height: 47px; padding: 0 14px; border-radius: 32px 32px 32px 0; font-size: 22px; }
.page-nav-links { min-height: 56px; padding: 8px; border-radius: 32px; background: rgba(41,18,16,.10); color: var(--reference-ink); box-shadow: none; }
.page-nav-links button { min-width: 112px; padding: 10px 18px; border-radius: 24px; font-size: 13.6px; line-height: 17px; font-weight: 450; transition: background .2s linear; }
.page-nav-links button[aria-expanded="true"] { background: rgba(41,18,16,.12); }
body[data-mega-tone="dark"] .page-nav-links { color:#fff; background:rgba(24,22,27,.62); }
body[data-mega-tone="dark"] .page-nav-links button[aria-expanded="true"] { background:rgba(255,255,255,.14); }
.page-account-actions { min-height: 56px; border-color: var(--reference-line); color: var(--reference-ink); background: rgba(248,246,242,.84); box-shadow: none; }
.page-login { color: var(--reference-ink); background: transparent; }
.page-action { color: var(--reference-ink); background: #fff; }
.page-login,.page-action,.primary-cta,.secondary-cta,.product-hero a,.product-feature__copy>a,.product-qr a,.annual-primary,.annual-secondary,.saved-pill { transition: color .2s linear,background .2s linear,border-color .2s linear,transform .2s linear; }
.page-login:hover,.page-login:focus-visible,.page-action:hover,.page-action:focus-visible { color:#fff; background:var(--reference-dark); }

.mega-layer { --gg-menu-ink:#f8f6f2; --gg-menu-shell:rgba(61,59,64,.88); --gg-menu-line:rgba(255,255,255,.28); --gg-menu-backdrop:rgba(72,83,90,.78); }
.mega-card { transition: background .2s linear,border-color .2s linear,filter .2s linear,opacity .2s linear; }

em,.product-hero h1 em,.product-intro h2 em,.product-heading h2 em,.product-shop h2 em,.product-center em,.pricing-page em,.report-story-page em { color:var(--reference-ink); }
.product-hero h1 em,.product-shop h2 em { color:#fff; }
.product-steps article span { color:#47201c; }
.product-signal__track { color:#d9541c; }
.product-hero__wash { background:linear-gradient(90deg,rgba(28,26,31,.88),rgba(40,36,45,.46) 52%,rgba(31,29,34,.22)); }
.product-feature__media,.product-intro figure,.product-highlight video,.product-statement>img,.product-shop>div,.product-shop figure,.product-immersive article { border-radius:24px 24px 24px 0; }
.product-tile,.toolkit-catalog__card,.annual-catalog .catalog-card,.pricing-plans article,.pricing-reference article,.saved-process article,.careers-principles article { border-radius:24px 24px 24px 0; }
.product-tile { color:var(--reference-ink); background:#eeeae5; }
.product-tile:nth-child(n) { background:#eeeae5; }
.product-tile img { width:100%; height:46%; right:0; bottom:0; object-fit:cover; filter:none; opacity:.54; }
.product-tile::after { content:""; position:absolute; inset:52% 0 0; z-index:-1; background:linear-gradient(transparent,#eeeae5 44%); }
.product-tile:hover,.product-tile:focus-visible { transform:translateY(-6px); }
.product-tile>span,.product-feature__copy>a,.product-qr a { color:#fff; background:var(--reference-dark); }
.product-feature__tabs { background:rgba(248,246,242,.62); }
.product-feature__tabs button { color:var(--reference-ink); }
.product-feature__tabs button[aria-selected="true"] { color:#fff; background:var(--reference-dark); }

.toolkit-hero .hero-art,.toolkit-hero .tool-art { border-radius:24px 24px 24px 0; background:#d7d1c9; }
.toolkit-hero .hero-art img,.toolkit-hero .tool-art img { padding:0; object-fit:cover; }
.toolkit-catalog__card { background:#eeeae5; }

.annual-catalog { background:#2f2d31; }
.report-story-page .page-nav-links { color:#fff; background:rgba(35,33,38,.66); }
.report-story-page .page-nav-links button[aria-expanded="true"] { background:rgba(255,255,255,.14); }
.report-story-page .page-brand { color:#fff; background:rgba(35,33,38,.72); border-color:rgba(255,255,255,.24); }
.annual-proof { min-height:620px; padding-block:80px; gap:8px; background:#2f2d31; }
.annual-proof>div {
  min-height:460px;
  align-items:flex-start;
  justify-content:flex-end;
  padding:34px;
  border:0;
  border-radius:24px 24px 24px 0;
  text-align:left;
}
.annual-proof img { opacity:.72; filter:saturate(.66) contrast(.96); }
.annual-proof>div::after { background:linear-gradient(transparent 34%,rgba(35,33,38,.92)); }
.annual-proof strong { font-size:clamp(68px,7vw,112px); font-weight:450; }
.annual-proof span { max-width:260px; margin-top:24px; }
.annual-catalog .annual-section-head { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr); gap:48px; align-items:end; }
.annual-catalog .annual-section-head.report-reveal { opacity:1; transform:none; }
.annual-catalog .annual-section-head>p { grid-column:1/-1; }
.annual-catalog .annual-section-head h2 { margin:0; }
.annual-catalog .annual-section-head h2 em { color:#fff; }
.annual-catalog .annual-section-head>span { align-self:end; padding:0 0 10px; color:rgba(255,255,255,.64); }
.annual-catalog .annual-status { position:static; clear:both; margin:38px 0 18px; color:rgba(255,255,255,.72); background:transparent; }
.annual-catalog .catalog-tools { margin:0 0 34px; }
.annual-catalog .catalog-card,.annual-catalog .catalog-card:nth-child(n) { --card-surface:#eeeae5; color:#21161d; background:var(--card-surface); }
.annual-catalog .catalog-card,
.annual-catalog .catalog-card:nth-child(1),
.annual-catalog .catalog-card:nth-child(2) {
  min-height:500px;
  padding:250px 28px 28px;
  border-radius:24px 24px 24px 0;
}
.annual-catalog .catalog-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:0;
  height:222px;
  background-image:linear-gradient(rgba(28,26,31,.08),rgba(28,26,31,.08)),var(--report-art);
  background-position:center;
  background-size:cover;
  filter:saturate(.68) contrast(.96);
  transition:transform .4s var(--reference-ease),filter .2s linear;
}
.annual-catalog .catalog-card:hover::before,
.annual-catalog .catalog-card:focus-within::before { transform:scale(1.025); filter:saturate(.82) contrast(1); }
.annual-catalog .catalog-card::after { display:none; }
.annual-catalog .catalog-card small,
.annual-catalog .catalog-card h3,
.annual-catalog .catalog-card p,
.annual-catalog .catalog-card a { position:relative; z-index:1; }
.annual-catalog .catalog-card h3,
.annual-catalog .catalog-card:nth-child(-n+2) h3 { margin-top:18px; font-size:clamp(34px,3vw,48px); }
.annual-catalog .catalog-card p { margin-top:12px; }
.annual-catalog .catalog-card a { color:#171116; background:#fff; }
.annual-catalog .catalog-card a:hover,.annual-catalog .catalog-card a:focus-visible { color:#fff; background:#21161d; }
.annual-report-card,.annual-report-card--matching { background:#eeeae5; }
.annual-sample__cover { background:#d7d1c9; }

.learn-page { color:var(--reference-ink); background:linear-gradient(115deg,#d7c9a4 0%,#f5ede3 69%); }
.learn-reader__eyebrow { color:var(--reference-ink); }
.tab-list button[aria-selected="true"] { color:#fff; background:var(--reference-dark); }
.media-card { border-radius:24px 24px 24px 0; }
.media-card img,.media-card video { transition:transform .2s linear; }

.pricing-story-page,.savings-page,.saved-page,.about-story-page,.careers-page,.news-page { color:var(--reference-ink); background:var(--reference-paper); }
.pricing-hero em,.pricing-reference em { color:var(--reference-ink); }
.pricing-plans article:nth-child(n),.pricing-reference article:nth-child(n),.savings-plans article:nth-child(n) { background:#eeeae5; }
.pricing-plans a,.pricing-final a,.savings-page a,.saved-page a { border-color:var(--reference-line); }
.pricing-plans a:hover,.pricing-plans a:focus-visible,.pricing-final a:hover,.pricing-final a:focus-visible,.savings-page a:hover,.savings-page a:focus-visible,.saved-page a:hover,.saved-page a:focus-visible { color:#fff; background:var(--reference-dark); }
.about-intro h2 em,.about-story h2 em { color:var(--reference-ink); }
.about-values article,.careers-principles article,.news-recent a { color:#211d21; background:#eeeae5; }
.about-values article p,.careers-principles article p,.news-recent a p,.news-recent a span { color:#5e585f; }
.final-cta { background:var(--reference-dark); }
.page-footer { background:#2f2d31; }

/* Cleo product-family frame: one cinematic stage, with product copy layered over media. */
.product-page {
  --accent:#f1ede7;
  --soft:#eeeae5;
  --ink:#242227;
  background:var(--reference-paper);
}
.product-page .page-nav-links {
  color:#fff;
  background:rgba(35,33,38,.66);
  border-color:rgba(255,255,255,.24);
}
.product-page .page-nav-links button[aria-expanded="true"] { background:rgba(255,255,255,.14); }
.product-page .page-brand { color:#fff; background:rgba(35,33,38,.72); border-color:rgba(255,255,255,.24); }
.product-page .page-account-actions { color:#242227; background:rgba(248,246,242,.92); }
.product-page .pd-hero {
  position:relative;
  isolation:isolate;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  padding:0;
  gap:0;
  overflow:hidden;
  color:#f8f6f2;
  background:#2f2d31;
}
.product-page .pd-hero__visual {
  position:absolute;
  inset:0;
  z-index:-2;
  min-height:100%;
  border-radius:0;
  background:#2f2d31;
}
.product-page .pd-hero__visual img,
.product-page .pd-hero__visual video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  filter:none;
}
.product-page[data-product="tarot"] .pd-hero__visual,
.product-page[data-product="akshara"] .pd-hero__visual { background:#2f2d31; }
.product-page[data-product="tarot"] .pd-hero__visual img,
.product-page[data-product="akshara"] .pd-hero__visual img {
  width:100%;
  height:100%;
  max-height:none;
  margin:0;
  object-fit:cover;
  object-position:center;
  padding:0;
  filter:none;
}
.product-page[data-product="tarot"] .pd-hero__visual::after,
.product-page[data-product="akshara"] .pd-hero__visual::after {
  inset:0;
  background:linear-gradient(90deg,rgba(26,24,29,.92) 0%,rgba(29,27,32,.74) 42%,rgba(29,27,32,.24) 74%,rgba(29,27,32,.14) 100%);
}
.product-page .pd-hero__visual::after {
  inset:0;
  background:linear-gradient(90deg,rgba(26,24,29,.90) 0%,rgba(29,27,32,.72) 42%,rgba(29,27,32,.24) 74%,rgba(29,27,32,.16) 100%);
}
.product-page .pd-hero__copy {
  position:relative;
  z-index:1;
  width:min(760px,calc(100% - 64px));
  min-height:100dvh;
  padding:clamp(132px,15vh,180px) 0 70px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:0;
  color:#f8f6f2;
  background:transparent;
}
.product-page .pd-kicker { color:var(--reference-ink); }
.product-page .pd-hero .pd-kicker,
.product-page .pd-hero h1,
.product-page .pd-hero__copy>p:not(.pd-kicker),
.product-page .pd-price strong,
.product-page .pd-price span,
.product-page .pd-app-note { color:#f8f6f2!important; }
.product-page .pd-flow .pd-kicker,
.product-page .pd-launch__note .pd-kicker,
.product-page[data-product="vedika"] .vedika-roadmap .pd-kicker { color:#f8f6f2; }
.product-page .pd-hero h1 {
  max-width:9ch;
  margin-top:22px;
  font-size:clamp(64px,7.4vw,112px);
  line-height:.9;
}
.product-page .pd-type-line { max-width:30ch!important; margin-top:28px!important; color:rgba(248,246,242,.82)!important; }
.product-page .pd-price { margin-top:28px; }
.product-page .pd-actions { margin-top:24px; }
.product-page .pd-button,
.product-page .pd-button.pd-button--app {
  border-color:#f8f6f2;
  color:#242227;
  background:#f8f6f2;
}
.product-page .pd-button--ghost {
  color:#f8f6f2;
  background:rgba(35,33,38,.26);
}
.product-page .pd-hero__badge {
  right:28px;
  bottom:28px;
  max-width:300px;
  padding:20px 22px;
  border-radius:24px 24px 24px 0;
  background:rgba(35,33,38,.72);
  backdrop-filter:blur(12px);
}
.product-page .pd-benefits li,
.product-page .pd-launch,
.product-page .pd-final { background:#eeeae5; }
.product-page .pd-step { border-radius:24px 24px 24px 0; }
.product-page .pd-launch__form,
.product-page .pd-launch__note { border-radius:24px 24px 24px 0; }
.product-page .pd-launch__note { color:#f8f6f2; background:#2f2d31; }
.product-page .pd-launch__note .pd-kicker,
.product-page .pd-launch__note p { color:rgba(248,246,242,.78)!important; }

/* About starts on dark editorial media, so the chrome and hero accent stay white. */
.about-story-page .page-nav-links { color:#fff; background:rgba(35,33,38,.64); }
.about-story-page .page-nav-links button[aria-expanded="true"] { background:rgba(255,255,255,.14); }
.about-story-page .about-hero h1 em { color:#f8f6f2; }

/* Process cards are list items in the saved route. */
.saved-process li { border-radius:24px 24px 24px 0; }

/* Retire the leftover purple, gold and translucent dashboard skins. */
.pricing-final,
.savings-included,
.news-cta,
.careers-open,
.saved-qr,
.timing-next,
.locked-timeline { color:var(--reference-ink); background:#eeeae5; }
.pricing-planes,
.savings-plans,
.news-recent,
.careers-principles,
.policies-context,
.policy-contact { color:#f8f6f2; background:#2f2d31; }
.pd-commerce-note { color:#f8f6f2!important; background:#2f2d31!important; }
.pd-text-action { color:#242227!important; background:#eeeae5!important; border-color:#242227!important; }
.policy-card,
.policy-card:nth-child(n),
.policy-card--unavailable { color:var(--reference-ink); background:#eeeae5!important; box-shadow:none; }
.policy-toc,
.policy-notice { background:#fff; backdrop-filter:none; box-shadow:none; }
.learn-reader { background:#f8f6f2; box-shadow:0 20px 60px rgba(35,33,38,.18); }
.learn-reader__media { background:#2f2d31; }
.learn-reader__action { color:#fff; background:#2f2d31; }
.saved-carousel__stage {
  background-image:linear-gradient(rgba(35,33,38,.18),rgba(35,33,38,.18)),url("assets/sections/autopilot.webp");
  background-position:center;
  background-size:cover;
}
.saved-library-card {
  color:#f8f6f2;
  background:rgba(35,33,38,.82);
  border-color:rgba(255,255,255,.32);
  box-shadow:none;
  backdrop-filter:blur(10px);
}
.saved-library-card__top small,
.saved-library-card>p { color:rgba(248,246,242,.72); }
.saved-library-card__rows { display:none; }
.saved-library-card>a { margin-top:64px; color:#242227; background:#f8f6f2; border-color:#f8f6f2; }
.saved-qr figure { background:#fff; transform:none; box-shadow:none; }

@media (max-width:760px) {
  .page-nav { top:14px; left:14px; width:calc(100% - 28px); }
  .page-brand { min-width:0; min-height:50px; font-size:20px; }
  .annual-catalog .annual-section-head { display:block; }
  .annual-catalog .annual-section-head>span { display:block; margin-top:24px; }
  .annual-catalog .annual-status { margin-top:24px; }
  .product-tile img { height:42%; }
  .product-page .pd-hero { min-height:100dvh; }
  .product-page .pd-hero__copy {
    width:100%;
    min-height:100dvh;
    padding:116px 20px 150px;
    justify-content:flex-end;
  }
  .product-page .pd-hero h1 { max-width:8ch; font-size:clamp(52px,16vw,72px); }
  .product-page .pd-hero__visual::after {
    background:linear-gradient(180deg,rgba(30,28,33,.20) 0%,rgba(30,28,33,.26) 40%,rgba(30,28,33,.92) 82%,rgba(30,28,33,.98) 100%);
  }
  .product-page .pd-hero__badge { display:none; }
  .product-page .pd-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .product-page .pd-actions .pd-button { width:100%; }
  .saved-library-card>a { margin-top:24px; }
}

.news-recent a small { color:#4f4950; }

.savings-plans article,
.savings-plans article strong,
.savings-plans article h3 { color:#211d21; }
.savings-plans article ul,
.savings-plans article li,
.savings-plans article s { color:#5e585f; }

.toolkit-hero .hero-copy > p:not(.kicker),
.toolkit-catalog .section-head > p,
.toolkit-catalog__card p { color:#5e585f; }
.toolkit-hero .kicker,
.toolkit-catalog .kicker,
.toolkit-catalog__card small { color:#3f393f; }
.toolkit-hero .secondary-cta {
  color:#242227;
  border-color:rgba(36,34,39,.35);
  background:#fff;
}

.pricing-card > span { color:#514b52; }
.about-learn > header a { color:#5b465f; }
.careers-page main section,
.careers-craft h2 { scroll-margin-top:112px; }

/* Panchang and Hora keep their real forms, but use the same editorial product language. */
.timing-page {
  --violet:#2f2d31;
  --lavender:#eeeae5;
  --mist:#e7e4df;
  color:#242227;
  background:#f8f7f4;
}
.timing-hero {
  min-height:100dvh;
  padding:8px;
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
  gap:8px;
  background:#f8f7f4;
}
.timing-hero__copy,
.timing-orbit,
.ghadi-clock { border-radius:40px 40px 40px 0; }
.timing-hero__copy {
  padding:clamp(90px,9vw,150px) clamp(36px,6vw,92px) 70px;
  border:0;
  background:#eeeae5;
}
.timing-kicker { color:#4f4950; }
.timing-hero__copy>p:not(.timing-kicker) { color:#5e585f; }
.timing-text-link { color:#242227; }
.timing-orbit,
.ghadi-clock {
  position:relative;
  min-height:calc(100dvh - 16px);
  overflow:hidden;
  border:0;
  background:center/cover no-repeat url("assets/cleo-source-2026/home-talks-portrait.jpg");
  isolation:isolate;
}
.ghadi-clock { background-image:url("assets/cleo-source-2026/autopilot-portrait.jpg"); }
.timing-orbit::after,
.ghadi-clock::after {
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  background:linear-gradient(180deg,rgba(26,24,28,.04),rgba(26,24,28,.58));
  border:0;
  border-radius:0;
  z-index:-1;
}
.timing-orbit::before,
.timing-orbit span,
.ghadi-clock::before,
.ghadi-clock div,
.ghadi-clock i,
.ghadi-clock b { display:none; }
.timing-orbit strong {
  align-self:end;
  justify-self:start;
  margin:0 0 48px 48px;
  color:#fff;
  font:300 clamp(48px,6vw,92px)/.9 PPNeue,Arial,sans-serif;
}
.timing-reading,
.ghadi-tool { padding:120px 32px; background:#fff; }
.panchang-grid { gap:8px; }
.panchang-card,
.panchang-card--lead,
.panchang-card--night,
.panchang-card--moon,
.panchang-card--window {
  color:#242227;
  background:#eeeae5;
  border-radius:28px 28px 28px 0;
}
.panchang-card--lead { background:#d9d6d1; }
.panchang-card--night { color:#fff; background:#2f2d31; }
.timing-date button:hover,
.ghadi-form button:hover { background:#454249; }
.ghadi-form,
.hora-result { border-radius:40px 40px 40px 0; }
.ghadi-form { background:#eeeae5; }
.hora-result { background:#2f2d31; }
.hora-guidance article { color:#242227; background:#eeeae5; }
.hora-result dl div { background:#2f2d31; }
.timing-next,
.locked-timeline { background:#eeeae5; }
.locked-timeline>div {
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.locked-timeline span {
  min-width:112px;
  border-color:#c9c5c0;
  border-radius:24px 24px 24px 0;
  color:#4f4950;
  background:#f8f7f4;
  scroll-snap-align:start;
}

@media(max-width:900px) {
  .timing-hero { grid-template-columns:1fr; padding:8px; }
  .timing-hero__copy { padding:112px 24px 52px; }
  .timing-orbit,.ghadi-clock { min-height:62svh; border-radius:32px 32px 32px 0; }
  .timing-orbit strong { margin:0 0 28px 28px; }
  .timing-reading,.ghadi-tool { padding:80px 12px; }
  .ghadi-form,.hora-result { border-radius:32px 32px 32px 0; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition-duration:.001ms!important; }
}

/* Policy and report-sample parity: neutral editorial surfaces with WCAG AA contrast. */
body.policies-page,
body.policy-page {
  --policy-ink:#242227;
  --policy-muted:#5e585f;
  --policy-paper:#f8f6f2;
  --policy-card:#eeeae5;
  --policy-accent:#4f4950;
  --policy-line:rgba(36,34,39,.20);
  color:var(--policy-ink);
  background:#f8f6f2;
}
.policies-hero>p,
.policy-meta>p,
.policy-meta dt,
.policy-toc a,
.policy-notice { color:#5e585f; }
.policies-hero small,
.policy-kicker,
.policy-card small,
.policy-card--unavailable small { color:#4f4950!important; }
.policy-card p,
.policy-card--unavailable p { color:#5e585f!important; }
.policies-context p,
.policy-contact p { color:#d9d6d1; }
.annual-sample .report-sandbox,
.annual-sample .report-sandbox iframe {
  max-width:100%;
  background:#f8f6f2;
}
@media(max-width:760px) {
  .annual-sample__stage { min-width:0; }
  .annual-sample .report-sandbox,
  .annual-sample .report-sandbox iframe { width:100%; min-width:0; }
}
