/* 2.1.6. The new header has its own namespace: saved custom legacy headers retain
   their compatibility styles without competing with this layout. */
/* Unlike hidden, clip does not create a scroll container that defeats sticky. */
body { overflow-x:clip; overflow-y:visible; }
.hearth-header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 100;
  padding: 12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  color: #233d4d;
}
.wp-block-template-part:has(> .hearth-header) { position:sticky; top:var(--wp-admin--admin-bar--height,0px); z-index:100; }
.wp-block-template-part > .hearth-header { position:relative; top:auto; }
.wp-block-template-part:has(> .hearth-header.is-open) { min-height:88px; }
.hearth-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 28px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 22px;
  min-height: 76px;
  border: 1px solid #E4E9F0;
  border-radius: 24px;
  background: #fffffff5;
  box-shadow: 0 10px 32px #233d4d10;
}
.hearth-header .hearth-brand-logo {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  width: 172px !important;
  min-width: 0 !important;
  flex: 0 0 auto;
  margin: 0;
  transform: none !important;
}
.hearth-header .hearth-brand-logo img { width: 100% !important; max-height: 52px !important; object-fit: contain; }
.hearth-header .hearth-logo--fallback .hearth-logo__mark { width: 46px !important; min-width: 46px !important; height: 48px !important; }
.hearth-header .hearth-logo__wordmark { display:flex; flex-direction:column; font-family:Georgia,serif; font-size:24px; font-weight:700; line-height:.9; letter-spacing:-.04em; }
.hearth-header .hearth-logo__wordmark span:last-child { font-size:.75em; color:#233D4D; }
.hearth-header__panel { display:flex; align-items:center; justify-content:space-between; flex:1; gap:24px; margin:0; min-width:0; }
.hearth-navigation { min-width:0; }
.hearth-navigation ul { list-style:none; padding:0; margin:0; }
.hearth-navigation__list { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.hearth-navigation li { position:relative; margin:0; }
.hearth-navigation a, .hearth-navigation__toggle {
  display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 14px;
  border:0; border-radius:12px; font:inherit; font-size:15px; font-weight:650;
  line-height:1.5; color:#233d4d; background:transparent; text-decoration:none; cursor:pointer;
  transition:background-color 180ms ease, box-shadow 180ms ease;
}
.hearth-navigation a:hover, .hearth-navigation__toggle:hover, .hearth-navigation__toggle[aria-expanded="true"] { background:#ecfaf9; }
.hearth-navigation [aria-current="page"] { font-weight:800; text-decoration:underline; text-underline-offset:5px; background:#ecfaf9; }
.hearth-navigation .has-current-page > button { text-decoration:underline; text-underline-offset:5px; }
.hearth-header :is(a,button):focus-visible { outline:3px solid #233D4D; outline-offset:3px; }
.hearth-navigation__chevron { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform 180ms ease; }
[aria-expanded="true"] > .hearth-navigation__chevron { transform:rotate(225deg) translate(-2px,-1px); }
.hearth-navigation .hearth-navigation__submenu { padding:8px; border:1px solid #E4E9F0; border-radius:18px; background:#fff; box-shadow:0 16px 40px #233d4d1c; min-width:220px; }
.hearth-navigation__submenu a { font-size:15px; font-weight:500; }
.hearth-header.is-enhanced .hearth-navigation__submenu { position:absolute; top:calc(100% + 10px); left:0; z-index:2; animation:hearth-menu-enter 180ms ease both; }
.hearth-header [hidden] { display:none; }
.hearth-header__actions.wp-block-buttons { display:flex; flex-wrap:nowrap; gap:10px; margin:0; }
.hearth-header__actions .wp-block-button { margin:0; }
.hearth-header__actions .wp-block-button__link { min-height:46px; padding:10px 20px; font-size:14px; white-space:nowrap; }
.hearth-header__toggle { display:none; }
.hearth-header__backdrop { display:none; }
@keyframes hearth-menu-enter { from { transform:translateY(-6px); } to { transform:translateY(0); } }
/* Without JS, all destinations remain visible in normal document flow. */
.hearth-header:not(.is-enhanced) { position:relative; }
.hearth-header:not(.is-enhanced) .hearth-header__inner { align-items:flex-start; }
.hearth-header:not(.is-enhanced) .hearth-navigation__list { align-items:flex-start; flex-wrap:wrap; }
@media (max-width:1100px) {
  .hearth-header { padding:10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left)); }
  .hearth-header__inner { padding:10px 14px; min-height:68px; gap:12px; border-radius:20px; justify-content:space-between; }
  .hearth-header .hearth-brand-logo { width:156px !important; }
  .hearth-header .hearth-logo__wordmark { font-size:23px; }
  .hearth-header .hearth-logo--fallback .hearth-logo__mark { width:42px !important; min-width:42px !important; height:44px !important; }
  .hearth-header.is-enhanced .hearth-header__toggle { display:flex; }
  .hearth-header__toggle { align-items:center; justify-content:center; gap:10px; min-width:86px; min-height:46px; padding:10px 12px; margin:0; color:#233d4d; border:1px solid #E4E9F0; border-radius:14px; background:#fff; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
  .hearth-header__menu-icon { position:relative; flex:0 0 18px; width:18px; height:18px; }
  .hearth-header__menu-icon::before,.hearth-header__menu-icon::after { content:''; position:absolute; left:0; top:5px; width:18px; height:2px; background:currentColor; transition:transform 180ms ease; }
  .hearth-header__menu-icon::after { top:11px; }
  [aria-expanded="true"] .hearth-header__menu-icon::before { transform:translateY(3px) rotate(45deg); }
  [aria-expanded="true"] .hearth-header__menu-icon::after { transform:translateY(-3px) rotate(-45deg); }
  .hearth-header__toggle[aria-expanded="true"] { background:#ecfaf9; }
  .hearth-header.is-enhanced .hearth-header__panel {
    position:absolute; top:calc(100% + 10px); right:0; width:min(440px,100%);
    display:block; padding:16px; padding-bottom:max(20px,env(safe-area-inset-bottom));
    max-height:calc(100vh - 116px - var(--wp-admin--admin-bar--height,0px));
    max-height:calc(100dvh - 116px - var(--wp-admin--admin-bar--height,0px));
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    border:1px solid #E4E9F0; border-radius:22px; background:#FFF8F5; box-shadow:0 22px 48px #233d4d26;
    visibility:hidden; opacity:0; transform:translateY(-6px); pointer-events:none;
    transition:opacity 180ms ease, transform 180ms ease;
  }
  .hearth-header.is-open .hearth-header__panel { visibility:visible; opacity:1; transform:none; pointer-events:auto; }
  .hearth-header.is-open { position:fixed; inset:var(--hearth-toolbar-offset,var(--wp-admin--admin-bar--height,0px)) 0 auto; }
  .hearth-header.is-open .hearth-header__backdrop { display:block; position:fixed; inset:0; background:#233D4D55; }
  .hearth-navigation__list { display:block; }
  .hearth-navigation a, .hearth-navigation__toggle { width:100%; min-height:48px; padding:12px; font-size:17px; }
  .hearth-navigation__toggle { justify-content:space-between; }
  .hearth-navigation__list > li + li { margin-top:4px; }
  .hearth-header.is-enhanced .hearth-navigation__submenu { position:static; margin:4px 0 10px 12px; min-width:0; border:0; border-left:3px solid #17bebb; border-radius:0 12px 12px 0; box-shadow:none; background:#ecfaf9; }
  .hearth-navigation__submenu a { font-size:16px; min-height:44px; }
  .hearth-header__actions.wp-block-buttons { padding:18px 0 0; margin-top:16px; border-top:1px solid #E4E9F0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .hearth-header__actions .wp-block-button__link { display:flex; justify-content:center; padding:12px 10px; width:100%; min-height:48px; }
  .hearth-header:not(.is-enhanced) .hearth-header__inner { flex-wrap:wrap; }
  .hearth-header:not(.is-enhanced) .hearth-header__panel { flex-basis:100%; display:block; }
  .hearth-header:not(.is-enhanced) .hearth-navigation__submenu { margin:0 0 12px; }
}
@media (max-width:600px) { .admin-bar .wp-block-template-part:has(> .hearth-header) { top:0; } }
/* Keep gentle movement for normal settings; honour reduced-motion preferences. */
@media (prefers-reduced-motion:reduce) {
.float-1,.float-2,.float-3,.float-4,.hearth-float,.hearth-float--2,.hearth-float--3,.hearth-float--4,
.hero__panel,.hero__panel--yellow,.capture__panel,.track-stage__panel,.report-doc__panel,.about__panel,.cta__panel { animation:none; }
.marquee__track,.articles-orbits--bright span,.article-hero-shapes span { animation:none; will-change:auto; }
}
.hearth-header__actions .wp-block-button__link { min-width:0; }
@media (max-width:1500px) { .track-side--l, .track-side--r { display:none; } }
.reveal.js-armed { transition-duration:220ms; transition-delay:0ms; }
.footer a { display:inline-flex; align-items:center; min-height:44px; }
.hearth-public-page :is(h1,h2,h3), .hearth-page-pattern :is(h1,h2,h3) { overflow-wrap:break-word; }
@media (max-width:1100px) {
  .hero { padding-top:56px; }
  .hearth-public-page .section--page-hero, .hearth-product-page .hearth-page-hero { padding-top:48px; }
  .report-doc { max-width:600px; width:100%; margin-inline:auto; }
  .reports__block--a, .reports__block--c { grid-template-columns:1fr; gap:32px; }
  .reports__block--c .block-copy { order:1; }
  .reports__block--c .evidence { order:2; width:100%; max-width:650px; margin-inline:auto; }
  .rd-section__body, .dash__chart, .wp-block-column { min-width:0; }
}
@media (max-width:600px) {
  .hero { padding-block:40px 48px; }
  .hero__title, .hero .display { font-size:clamp(32px,8.7vw,40px); line-height:1.14; }
  .hero .kicker { font-size:11px; letter-spacing:.055em; }
  .hero__inner { gap:36px; }
  .section--page-hero .display, .hearth-page-hero h1 { font-size:clamp(32px,8vw,42px); line-height:1.16; }
  .report-doc { height:auto; padding:24px 10px; display:grid; gap:18px; }
  .report-doc__page, .report-doc__contents { position:relative; inset:auto; width:100%; max-width:100%; transform:none; --rot:0deg; padding:22px; }
  .report-doc__contents { width:calc(100% - 24px); margin-inline:auto; }
  .report-doc__panel { inset:12px 0; }
  .report-doc__panel--alt { width:55%; right:8px; }
  .report-doc__chip { position:relative; inset:auto; justify-self:center; }
  .rd-eyebrow, .rd-period, .rd-foot { font-size:12px; }
  .rd-summary { font-size:14px; }
  .rd-section { gap:10px; }
  .rd-section__num { width:18px; }
  .rd-section--quiet { opacity:1; }
  .rd-foot { gap:10px; flex-wrap:wrap; }
  .cta__visual { height:auto; display:grid; gap:18px; padding:20px 8px; }
  .cta__card, .cta__card-2 { position:relative; inset:auto; width:100%; transform:none; --rot:0deg; }
  .cta__card-2 { width:88%; justify-self:end; }
  .cta__chip-1, .cta__chip-2 { position:relative; inset:auto; justify-self:start; }
  .dash__head { gap:12px; flex-wrap:wrap; }
  .ui-card--dash { padding:18px; }
  .dash__weeks, .dash__bars { gap:3px; }
  .dash__subs { gap:4px; }
  .sub-row { min-width:0; flex-basis:100%; }
  .footer__cols { gap:20px 16px; }
  .footer__col a { line-height:1.5; }
  .wp-block-buttons { row-gap:12px; }
  .wp-block-button__link { min-height:44px; white-space:normal; overflow-wrap:break-word; }
  .hearth-card, .hearth-pricing-card { overflow-wrap:break-word; }
}
/* Modern browsers reserve the enhanced header geometry before the footer script
   executes. Browsers without scripting/media support keep the usable link list. */
@media (scripting:enabled) and (min-width:1101px) {
  .hearth-header:not(.is-enhanced) .hearth-header__inner, .hearth-header:not(.is-enhanced) .hearth-navigation__list { align-items:center; }
  .hearth-header:not(.is-enhanced) .hearth-navigation__submenu { display:none; }
}
@media (scripting:enabled) and (max-width:1100px) {
  .hearth-header:not(.is-enhanced) .hearth-header__panel { display:none; }
  .hearth-header:not(.is-enhanced) .hearth-header__toggle { display:flex; }
  .hearth-header:not(.is-enhanced) .hearth-header__inner { align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  .hearth-header *, .hearth-header *::before, .hearth-header *::after { animation:none !important; transition:none !important; }
  .hearth-header.is-enhanced .hearth-header__panel { transform:none; }
}
