/* Shared navigation and short, dedicated product pages. Loaded after tablet.css. */
html { scroll-padding-top:calc(var(--site-header-height,116px) + 18px); }
.site-header { position:sticky; top:0; z-index:40; background:var(--cream); box-shadow:0 1px 0 #23535c18; }
.site-header nav a[aria-current="page"] { color:#a13d09; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
.product-breadcrumb { display:flex; align-items:center; gap:22px; padding-top:22px; font-size:13px; color:var(--muted); }
.product-breadcrumb a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.product-breadcrumb .icon { width:17px; height:17px; }
.product-breadcrumb > span { border-left:1px solid var(--line); padding-left:22px; }
.product-intro { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:60px; padding-block:32px 60px; border-bottom:1px solid var(--line); }
.product-intro h1 { font-size:clamp(2.8rem,5vw,4.75rem); max-width:710px; }
.product-intro p { color:var(--muted); font-size:19px; line-height:1.65; max-width:560px; }
.product-intro .button { margin-top:24px; min-height:50px; font-size:14px; padding:12px 20px; }
.product-page .section { padding-block:56px; }
.product-page .play-section { padding-top:48px; }
.product-page .rhythm-section { padding-top:48px; }
.product-page .faq-section { padding-top:40px; }

.product-page .faq-section { display:block; max-width:1000px; }
.product-next { padding-block:32px 44px; border-top:1px solid var(--line); }
.product-next h2 { font-size:24px; margin-bottom:22px; letter-spacing:-.04em; }
.product-next > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.product-link { display:flex; align-items:center; gap:12px; min-height:82px; padding:18px; border:1px solid #cedad5; border-radius:16px; font-size:15px; font-weight:600; background:#fff; }
.product-link > .icon { width:22px; height:22px; flex-shrink:0; }
.product-link > .icon:last-child { margin-left:auto; width:19px; }
.product-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:36px 42px; margin-bottom:28px; border-radius:24px; background:#e8efea; }
.product-cta h2 { font-size:clamp(1.8rem,3vw,2.8rem); }.product-cta p { margin-top:12px; font-size:15px; color:var(--muted); }
.product-cta .demo-note { font-size:11px; margin-top:14px; }.product-cta .button { flex-shrink:0; }
.product-overview { display:grid; grid-template-columns:.85fr 1.3fr; gap:70px; align-items:center; }
.product-overview > div > p { margin-top:24px; font-size:18px; color:var(--muted); max-width:400px; }
.product-overview-links { display:grid; gap:16px; }
.product-preview { display:grid; grid-template-columns:150px 1fr; align-items:stretch; overflow:hidden; border:1px solid #d5dfd9; border-radius:20px; background:white; }
.product-preview > img { width:100%; height:100%; max-height:210px; object-fit:cover; }
.product-preview > div { padding:22px 24px; }
.product-preview h3 { display:flex; align-items:center; gap:10px; font-size:22px; line-height:1.2; }
.product-preview h3 .icon { width:21px; height:21px; flex-shrink:0; }
.product-preview p { font-size:14px; margin-top:10px; color:var(--muted); }
.product-preview div > span { display:flex; align-items:center; gap:12px; font-weight:600; font-size:13px; margin-top:14px; }.product-preview div > span .icon { width:18px; height:18px; }
.home-questions { display:flex; justify-content:space-between; gap:40px; align-items:center; padding:32px 0 54px; }
.home-questions h2 { font-size:32px; }.home-questions p { margin-top:14px; font-size:15px; color:var(--muted); max-width:620px; }.home-questions .text-link { flex-shrink:0; font-size:14px; }
@media (min-width:740px) {
  /* Charts fill the page; notes sit beside the plot rather than below it. */
  .product-page .rhythm-layout { grid-template-columns:1fr; gap:30px; }
  .product-page .rhythm-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
  .product-page .rhythm-benefit { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:center; align-content:start; }
  .product-page .rhythm-benefit > div { display:contents; }
  .product-page .rhythm-benefit h3 { font-size:20px; margin:0; }
  .product-page .rhythm-benefit p,.product-page .rhythm-source { grid-column:1 / -1; }
  .product-page .rhythm-benefit p { font-size:15px; }
  .product-page #rhythm-pulse-panel { display:grid; grid-template-columns:1.5fr 1fr; gap:0 40px; }
  .product-page .rhythm-panel-heading,.product-page .rhythm-panel-intro { grid-column:1 / -1; }
  .product-page .rhythm-context { align-self:center; min-width:0; }.product-page .rhythm-plot { min-width:0; }
  .product-page .rhythm-chart { max-height:260px; }
  .product-page .rhythm-tabs { max-width:480px; }
  .product-page .rhythm-social { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
  .product-page .rhythm-faces { grid-column:1; }
  .product-page .rhythm-social > h3 { grid-column:1; grid-row:2; }
  .product-page .rhythm-social > p:not(.rhythm-data-note) { grid-column:1; grid-row:3; }
  .product-page .rhythm-memory { grid-column:2; grid-row:1 / 4; margin:0; align-self:center; }
  .product-page .rhythm-shared,.product-page .rhythm-social > .rhythm-data-note,.product-page .rhythm-social > .text-link { grid-column:1 / -1; }
  .product-page .rhythm-shared { margin-top:24px; }
}
@media (min-width:740px) and (max-width:1199px) {
  .product-intro { gap:36px; padding-bottom:40px; }.product-intro h1 { font-size:clamp(2.6rem,4.8vw,3.75rem); }.product-intro p { font-size:17px; }
  .product-overview { grid-template-columns:1fr; gap:28px; }
  .product-overview > div:first-child { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
  .product-overview h2 { font-size:clamp(2rem,3.6vw,2.7rem); }.product-overview > div > p { margin:0; font-size:16px; }
  .product-preview { grid-template-columns:180px 1fr; }.product-preview > img { max-height:165px; }.product-preview > div { padding:20px 26px; }
  .product-page #rhythm-pulse-panel { gap:0 28px; }
  .home-questions { gap:28px; }.home-questions h2 { font-size:28px; }
  .product-link { padding:14px; gap:9px; font-size:13px; }
  .product-cta { padding:28px; gap:28px; }.product-cta .button { font-size:14px; min-height:52px; padding:12px 20px; }
}
@media (max-width:739px) {
  .site-header { position:sticky; top:0; z-index:40; }
  .site-header:not(.nav-enhanced) { height:auto; min-height:88px; padding-block:16px; }
  .site-header:not(.nav-enhanced) nav { display:flex; order:3; width:100%; flex-wrap:wrap; gap:4px 18px; margin:0; }
  .site-header nav a { min-height:48px; }
  .product-breadcrumb { gap:12px; padding-top:14px; font-size:11px; }.product-breadcrumb > span { padding-left:12px; }
  .product-intro { grid-template-columns:1fr; gap:20px; padding-block:18px 32px; }.product-intro h1 { font-size:clamp(2.4rem,9vw,3.4rem); }.product-intro p { font-size:16px; }
  .product-page .section { padding-block:36px; }.product-page .play-section { padding-top:28px; }.product-page .rhythm-section { padding-top:32px; }
  .product-overview { grid-template-columns:1fr; gap:26px; }.product-overview h2 { font-size:34px; }.product-overview > div > p { font-size:16px; margin-top:18px; }
  .product-preview { grid-template-columns:90px minmax(0,1fr); border-radius:16px; }.product-preview > img { max-height:none; }.product-preview > div { padding:18px 16px; }
  .product-preview h3 { font-size:19px; align-items:flex-start; gap:8px; }.product-preview h3 .icon { width:18px; height:18px; margin-top:2px; }
  .product-preview p { font-size:13px; }.product-preview div > span { font-size:12px; }
  .product-next > div { grid-template-columns:1fr; gap:10px; }.product-next h2 { font-size:24px; }.product-link { min-height:66px; }
  .product-cta { display:block; padding:26px; }.product-cta .button { margin-top:22px; font-size:14px; }
  .home-questions { display:block; padding-bottom:40px; }.home-questions .text-link { margin-top:20px; }
}
@media (hover:hover) and (pointer:fine) {
 .product-preview,.product-link { transition:border-color .2s,box-shadow .2s; }
 .product-preview:hover,.product-link:hover { border-color:var(--petrol); box-shadow:0 6px 20px #23535c12; }
}
@media (prefers-reduced-motion:reduce) { .product-preview,.product-link { transition:none; } }

.journal-page [id] { scroll-margin-top:16px; }
.article-side { top:calc(var(--site-header-height,116px) + 24px); }
.product-page .steps { margin-top:0; }

/* Health appears as a compact landscape access on the homepage. */
.home-health { display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:28px; margin-bottom:40px; padding:24px; border-radius:22px; background:#e7efe8; }
.home-health > img { width:130px; height:112px; object-fit:cover; object-position:35% 35%; border-radius:14px; }
.home-health h2 { display:flex; align-items:center; gap:12px; font-size:29px; letter-spacing:-.04em; }.home-health h2 .icon { width:25px; height:25px; flex-shrink:0; }
.home-health p { margin-top:12px; font-size:15px; color:var(--muted); max-width:600px; }.home-health .text-link { font-size:13px; }
@media(min-width:740px) and (max-width:1199px) { .home-health { grid-template-columns:110px 1fr; gap:20px; }.home-health > img { width:110px; height:135px; grid-row:1 / 3; }.home-health .text-link { grid-column:2; }.home-health h2 { font-size:27px; } }
@media(max-width:739px) { .home-health { grid-template-columns:76px 1fr; padding:20px; gap:16px; }.home-health > img { width:76px; height:130px; grid-row:1 / 3; }.home-health h2 { font-size:24px; align-items:start; gap:8px; }.home-health h2 .icon { width:20px; height:20px; margin-top:2px; }.home-health p { font-size:13px; }.home-health .text-link { grid-column:2; } }
