/* Heaven on Earth 144, Home tab and Support page. See home_tab.py. */
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 700; font-display: swap; src: url(assets/fonts/cinzel-700.woff2) format('woff2'); }

:root {
  --home-ivory: #fff9ea;
  --home-cream: #fbefd0;
  --home-honey: #e3a53a;
  --home-gold: #a85f00;
  --home-ink: var(--ink, #1b2332);
  --home-body: #3b4559;
  --home-soft: #6f7891;
  --home-line: rgba(196, 146, 52, .32);
  --home-glass: rgba(255, 250, 238, .78);
  --home-card: rgba(255, 252, 244, .86);
  --home-glow: rgba(255, 194, 84, .45);
  --home-shadow: 0 18px 50px rgba(168, 95, 0, .12);
  --home-cinzel: 'Cinzel', var(--serif, Georgia, serif);
  --home-gutter: clamp(20px, 5vw, 48px);
}
@media screen {
  :root[data-theme="dark"] {
    --home-ivory: #111720;
    --home-cream: #161d29;
    --home-honey: #dbad4f;
    --home-gold: #dbad4f;
    --home-body: #e9d4a1;
    --home-soft: #c9b27a;
    --home-line: rgba(219, 173, 79, .22);
    --home-glass: rgba(17, 23, 32, .8);
    --home-card: rgba(22, 29, 41, .9);
    --home-glow: rgba(219, 173, 79, .3);
    --home-shadow: 0 18px 50px rgba(0, 0, 0, .35);
  }
}

/* Image width/height attributes only reserve space; CSS sets the shapes. */
:where(.home-panel, .support-panel) img { height: auto; }
.home-panel, .support-panel { background: var(--home-ivory); color: var(--home-ink); overflow-x: clip; }
.home-panel h2, .support-panel h2 { font-size: clamp(38px, 5vw, 60px); line-height: 1.05; margin: 0 0 18px; color: var(--home-ink); }
.home-panel h3, .support-panel h3 { font-size: 27px; line-height: 1.15; margin: 0 0 10px; color: var(--home-ink); }
.home-panel p, .support-panel p { color: var(--home-body); }
.home-eyebrow { margin: 0 0 16px; font: 700 11px/1.5 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--home-gold); }
.home-num { font-family: var(--home-cinzel); font-weight: 700; color: var(--home-gold); }
.home-cinzel { font-family: var(--home-cinzel); font-weight: 700; letter-spacing: .04em; }

/* Buttons */
.home-actions, .home-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.home-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 28px; border-radius: 999px; border: 1px solid transparent; font: 700 13px/1.3 var(--sans); letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.home-btn span { font-size: 16px; }
.home-btn:hover { transform: translateY(-2px); }
.home-btn:disabled { opacity: .6; cursor: progress; transform: none; }
.home-btn--gold { color: #2b1a04; background: linear-gradient(135deg, #f8dc8c 0%, #eab353 48%, #cf8a24 100%); box-shadow: 0 10px 28px rgba(214, 150, 40, .32), inset 0 1px 0 rgba(255, 255, 255, .65); }
.home-btn--gold:hover { box-shadow: 0 14px 40px rgba(214, 150, 40, .45), 0 0 0 6px rgba(248, 220, 140, .25), inset 0 1px 0 rgba(255, 255, 255, .65); }
.home-btn--line { color: var(--home-ink); background: var(--home-glass); border-color: rgba(168, 95, 0, .4); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.home-btn--dark { color: #fffaee; background: var(--green, #212a3d); border-color: var(--green, #212a3d); }
[data-theme="dark"] .home-btn--dark { color: #121821; }
.home-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 700 13px/1.4 var(--sans); color: var(--home-ink); text-decoration: underline; text-decoration-color: var(--home-honey); text-underline-offset: 6px; }
.home-link:hover { color: var(--home-gold); }

/* Hero */
.home-hero { position: relative; display: grid; align-items: end; justify-items: center; min-height: min(calc(100svh - var(--header-height, 100px)), 920px); padding: 0 var(--home-gutter) clamp(44px, 7vh, 80px); overflow: hidden; isolation: isolate; }
.home-hero__plate { position: absolute; inset: 0; z-index: -2; }
.home-hero__plate img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; transform-origin: 50% 40%; animation: home-breathe 26s ease-in-out infinite alternate; }
.home-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 60% 45% at 50% 40%, rgba(255, 236, 180, .2), transparent 70%), linear-gradient(180deg, rgba(255, 249, 234, 0) 62%, rgba(255, 249, 234, .45) 86%, var(--home-ivory) 100%); }
[data-theme="dark"] .home-hero::after { background: linear-gradient(180deg, rgba(17, 23, 32, .05) 40%, rgba(17, 23, 32, .5) 78%, var(--home-ivory) 100%); }
.home-hero__copy { position: relative; z-index: 0; }
.home-hero__copy::before { content: ''; position: absolute; inset: -14% -18% -16%; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 50% 50% at 50% 54%, rgba(255, 249, 234, .82) 0%, rgba(255, 249, 234, .62) 42%, rgba(255, 249, 234, 0) 72%); }
[data-theme="dark"] .home-hero__copy::before { background: radial-gradient(ellipse 50% 50% at 50% 54%, rgba(17, 23, 32, .8) 0%, rgba(17, 23, 32, .55) 45%, rgba(17, 23, 32, 0) 72%); }
.home-motes { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.home-hero__copy { max-width: 820px; text-align: center; }
.home-hero h1 { margin: 0 0 20px; font-size: clamp(50px, 7.4vw, 104px); line-height: .96; letter-spacing: -.035em; color: var(--home-ink); text-shadow: 0 2px 30px rgba(255, 249, 234, .9); }
[data-theme="dark"] .home-hero h1 { text-shadow: 0 2px 30px rgba(0, 0, 0, .6); }
.home-hero__lead { max-width: 600px; margin: 0 auto 30px; font: 500 clamp(21px, 2.3vw, 27px)/1.4 var(--serif); color: var(--home-ink) !important; text-shadow: 0 0 18px rgba(255, 249, 234, .95), 0 0 3px rgba(255, 249, 234, .9); }
[data-theme="dark"] .home-hero__lead { text-shadow: 0 0 18px rgba(0, 0, 0, .7), 0 0 3px rgba(0, 0, 0, .6); }
.home-hero .home-actions { justify-content: center; }
.home-hero__note { margin: 18px 0 0; font-size: 13px; color: var(--home-body) !important; text-shadow: 0 0 12px rgba(255, 249, 234, .95); }
[data-theme="dark"] .home-hero__note { text-shadow: 0 0 12px rgba(0, 0, 0, .7); }
@keyframes home-breathe { from { transform: scale(1); } to { transform: scale(1.07); } }

/* Section rhythm */
.home-what, .home-path, .home-shift, .home-join { max-width: 1180px; margin: 0 auto; padding: clamp(72px, 10vw, 120px) var(--home-gutter); text-align: center; }

/* What this is */
.home-what__answer { font: italic 500 26px/1.3 var(--serif); color: var(--home-gold) !important; margin: 0 0 44px; }
.home-what__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 0; margin: 0 0 44px; list-style: none; }
.home-what__steps li { position: relative; padding: 38px 30px 32px; background: var(--home-card); border: 1px solid var(--home-line); border-radius: 28px; box-shadow: var(--home-shadow); }
.home-what__steps li::before { content: ''; position: absolute; top: -36px; left: 50%; width: 120px; height: 120px; transform: translateX(-50%); background: radial-gradient(circle, var(--home-glow), transparent 65%); pointer-events: none; }
.home-what__steps .home-num { display: block; position: relative; font-size: 22px; margin-bottom: 14px; }
.home-what__steps p { margin: 0; font-size: 16px; line-height: 1.7; }
.home-what__land { max-width: 640px; margin: 0 auto; font: 500 clamp(28px, 3.4vw, 40px)/1.2 var(--serif); color: var(--home-ink) !important; }

/* The vision: the sun behind the clouds, the big word, his words and the light body film */
.home-vision { position: relative; isolation: isolate; overflow: hidden; padding: clamp(36px, 5vw, 72px) 0 0; background: var(--home-ivory); }
.home-vision__sky { position: absolute; inset: 0 0 auto; height: min(1500px, 175vw); z-index: -2; background: url(assets/home/vision-sky.webp) 50% 0 / cover no-repeat; }
.home-vision__sky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 249, 234, .1) 0%, rgba(255, 249, 234, .28) 38%, rgba(255, 249, 234, .78) 72%, var(--home-ivory) 100%); }
[data-theme="dark"] .home-vision__sky::after { background: linear-gradient(180deg, rgba(17, 23, 32, .5) 0%, rgba(17, 23, 32, .72) 45%, rgba(17, 23, 32, .94) 78%, var(--home-ivory) 100%); }
.home-vision__motes { position: absolute; inset: 0 0 auto; height: min(1300px, 150vw); z-index: -1; width: 100%; pointer-events: none; }
.home-vision__word { margin: 0; padding: 0 var(--home-gutter); font: 500 clamp(96px, 23vw, 340px)/.8 var(--serif); letter-spacing: .07em; text-align: center; text-transform: uppercase; white-space: nowrap; color: transparent !important; -webkit-text-fill-color: transparent; background: linear-gradient(100deg, rgba(196, 132, 30, .5) 0%, rgba(232, 182, 92, .62) 28%, rgba(255, 244, 214, .95) 44%, rgba(222, 160, 60, .6) 58%, rgba(196, 132, 30, .5) 100%) 0 0 / 260% 100%; -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 4px 30px rgba(255, 236, 190, .6)); pointer-events: none; user-select: none; transition: opacity 1.8s ease, letter-spacing 2.2s cubic-bezier(.2, .7, .2, 1), filter 1.8s ease; animation: home-word-shine 16s ease-in-out infinite alternate; }
.home-vision.is-waiting .home-vision__word { opacity: 0; letter-spacing: .26em; filter: blur(14px) drop-shadow(0 4px 30px rgba(255, 236, 190, .6)); }
@keyframes home-word-shine { from { background-position: 0 0; } to { background-position: 100% 0; } }
.home-vision__head { position: relative; max-width: 1000px; margin: clamp(12px, 1.6vw, 24px) auto 0; padding: 0 var(--home-gutter); text-align: center; }
.home-vision__head h2 > span { display: inline-block; }
.home-vision__head h2 { margin: 0; font-size: clamp(42px, 6.2vw, 86px); line-height: 1.04; letter-spacing: -.02em; text-shadow: 0 2px 28px rgba(255, 249, 234, .95); }
[data-theme="dark"] .home-vision__head h2 { text-shadow: 0 2px 28px rgba(0, 0, 0, .6); }
.home-vision__head h2 em { font-style: normal; color: #b06c0a; background: linear-gradient(135deg, #e0a237, #a85f00 60%, #c98a2a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
[data-theme="dark"] .home-vision__head h2 em { background: linear-gradient(135deg, #f5d27e, #dbad4f); -webkit-background-clip: text; background-clip: text; }
.home-vision__film { max-width: 1180px; margin: clamp(30px, 4.5vw, 54px) auto 0; padding: 0 var(--home-gutter); }
.home-vision__frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 50% 50% 24px 24px / 24% 24% 24px 24px; background: #e9dcc0 url(assets/home/light-body-poster.webp) center / cover; box-shadow: 0 34px 90px rgba(168, 95, 0, .22), 0 0 0 1px rgba(219, 173, 79, .55), 0 0 70px rgba(255, 214, 140, .45); }
.home-vision__frame video { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-vision__toggle { position: absolute; right: clamp(12px, 2vw, 22px); bottom: clamp(12px, 2vw, 22px); display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px 10px 14px; border: 1px solid rgba(219, 173, 79, .7); border-radius: 999px; background: rgba(255, 250, 238, .82); color: #5a3606; font: 700 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); cursor: pointer; }
.home-vision__toggle::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent currentColor; }
.home-vision__toggle[aria-pressed="false"]::before { width: 10px; height: 13px; border: 0; background: linear-gradient(90deg, currentColor 0 35%, transparent 35% 65%, currentColor 65%); }
.home-vision__toggle:focus-visible { outline: 3px solid var(--home-honey); outline-offset: 3px; }
.home-vision__words { max-width: 860px; margin: clamp(34px, 5vw, 58px) auto 0; padding: 0 var(--home-gutter); text-align: center; }
.home-vision__words p { margin: 0 0 18px; font: 500 clamp(21px, 2.3vw, 28px)/1.5 var(--serif); color: var(--home-ink) !important; }
.home-vision__seen em { font-style: italic; color: var(--home-gold); }
@media (max-width: 640px) { .home-vision__word { padding: 0; font-size: 18vw; } }

.home-island { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(56px, 8vw, 100px) var(--home-gutter); }
.home-island img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 220px 220px 18px 18px; box-shadow: var(--home-shadow); }
.home-island p:last-child { font: 500 clamp(22px, 2.4vw, 28px)/1.45 var(--serif); margin: 0; }

/* Path */
.home-path__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 0; margin: 44px 0 0; list-style: none; text-align: left; }
.home-path__steps li { display: flex; flex-direction: column; padding: 14px 14px 22px; background: var(--home-card); border: 1px solid var(--home-line); border-radius: 30px; box-shadow: var(--home-shadow); }
.home-path__steps img { width: 100%; aspect-ratio: 4 / 4.2; object-fit: cover; border-radius: 160px 160px 18px 18px; margin-bottom: 20px; }
.home-path__steps p { margin: 0 12px 12px; font-size: 16px; line-height: 1.65; }
.home-path__label { font: 600 28px/1.1 var(--serif) !important; color: var(--home-ink) !important; display: flex; align-items: baseline; gap: 12px; }
.home-path__label .home-num { font-size: 18px; }
.home-path__steps .home-link { margin: auto 12px 0; }

/* Meditate */
.home-meditate { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(64px, 9vw, 110px) var(--home-gutter); scroll-margin-top: calc(var(--header-height, 100px) + 10px); }
.home-meditate__art { position: relative; }
.home-meditate__art::before { content: ''; position: absolute; inset: -12%; background: radial-gradient(circle at 50% 45%, var(--home-glow), transparent 62%); z-index: 0; animation: home-pulse 6s ease-in-out infinite; }
.home-meditate__art img { position: relative; width: 100%; max-width: 440px; margin: 0 auto; border-radius: 220px 220px 20px 20px; box-shadow: var(--home-shadow); }
.home-meditate__copy > p { font-size: 18px; }
@keyframes home-pulse { 0%, 100% { opacity: .65; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }

/* Forms */
.home-form { margin: 28px 0 18px; }
.home-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.home-form label { display: grid; gap: 6px; text-align: left; }
.home-form label > span { font: 700 11px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--home-soft); }
.home-form input { width: 100%; min-height: 52px; padding: 12px 18px; border: 1px solid var(--home-line); border-radius: 16px; background: var(--home-card); color: var(--home-ink); font-size: 16px; }
.home-form input:focus { outline: 2px solid var(--home-honey); outline-offset: 2px; border-color: transparent; }
.home-form .home-btn { width: 100%; }
.home-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.home-form__consent { margin: 12px 0 0; font-size: 13px !important; line-height: 1.6; color: var(--home-soft) !important; }
.home-form__status { margin: 10px 0 0; min-height: 1.6em; font-size: 14px; color: var(--home-gold) !important; }
.home-player { margin: 26px 0 18px; padding: 24px; background: var(--home-card); border: 1px solid var(--home-line); border-radius: 22px; box-shadow: var(--home-shadow); }
.home-player audio { width: 100%; margin: 6px 0 12px; }
.home-player__thanks { font: 600 22px/1.3 var(--serif); color: var(--home-ink) !important; margin: 0 0 6px; }
.home-player p { margin: 0; font-size: 14px; }

/* App + live count */
.home-app { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 80px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(64px, 9vw, 110px) var(--home-gutter); scroll-margin-top: calc(var(--header-height, 100px) + 10px); }
.home-count { margin: 4px 0 26px; padding: 24px 28px; border-radius: 26px; background: radial-gradient(ellipse at 20% 0%, rgba(255, 214, 120, .35), transparent 70%), var(--home-card); border: 1px solid var(--home-line); box-shadow: var(--home-shadow); }
.home-count p { margin: 0; }
.home-count__number { font: 700 clamp(52px, 7vw, 76px)/1 var(--home-cinzel); background: linear-gradient(135deg, #f3c45e, #b36a06); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.home-count__label { font: 600 22px/1.3 var(--serif); color: var(--home-ink) !important; margin-top: 8px !important; }
.home-count__goal { margin-top: 6px !important; font-size: 14px; color: var(--home-soft) !important; }
.home-count__note { margin: 14px 0 0; font-size: 13px; color: var(--home-soft) !important; }
.home-app__list { padding: 0; margin: 0 0 28px; list-style: none; display: grid; gap: 10px; }
.home-app__list li { padding-left: 26px; position: relative; color: var(--home-body); line-height: 1.6; }
.home-app__list li::before { content: ''; position: absolute; left: 0; top: .55em; width: 11px; height: 11px; border-radius: 50%; background: radial-gradient(circle, #fff7d6 0 25%, #f0b64a 60%, transparent 72%); box-shadow: 0 0 12px rgba(240, 182, 74, .8); }
.home-app__list strong { color: var(--home-ink); }
.home-app__phone { position: relative; display: grid; place-items: center; min-height: 520px; }
.home-app__map { position: absolute; z-index: 0; inset: 10% -10% auto -10%; width: 120%; max-width: none; opacity: .55; border-radius: 40px; -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%); }
.home-phone { position: relative; z-index: 1; width: min(300px, 72vw); aspect-ratio: 540 / 700; padding: 12px 12px 0; border-radius: 46px 46px 0 0; background: linear-gradient(160deg, #2a3142, #11151d); box-shadow: 0 30px 70px rgba(27, 35, 50, .3); -webkit-mask-image: linear-gradient(180deg, #000 68%, transparent 100%); mask-image: linear-gradient(180deg, #000 68%, transparent 100%); animation: home-float 7s ease-in-out infinite; }
.home-phone::before { content: ''; position: absolute; top: 22px; left: 50%; z-index: 1; width: 72px; height: 20px; transform: translateX(-50%); border-radius: 12px; background: #11151d; }
.home-phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 34px 34px 0 0; }
@keyframes home-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* 5-Second Shift */
.home-shift { scroll-margin-top: calc(var(--header-height, 100px) + 10px); }
.home-shift__lead { font: 500 24px/1.4 var(--serif); color: var(--home-ink) !important; max-width: 640px; margin: 0 auto 10px; }
.home-shift__how { max-width: 560px; margin: 0 auto 40px; }
.home-shift__orb { position: relative; display: grid; place-items: center; width: 240px; height: 240px; margin: 0 auto; padding: 0; border: 0; border-radius: 50%; background: radial-gradient(circle at 50% 45%, #fffdf4, #fbefd0 60%, #f4dca0); box-shadow: 0 20px 60px rgba(214, 150, 40, .25); cursor: pointer; touch-action: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
[data-theme="dark"] .home-shift__orb { background: radial-gradient(circle at 50% 45%, #2a2a2c, #19202e 70%); }
.home-shift__orb svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.home-shift__track { fill: none; stroke: var(--home-line); stroke-width: 3; }
.home-shift__fill { fill: none; stroke: #e3a53a; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; filter: drop-shadow(0 0 6px rgba(240, 182, 74, .8)); }
.home-shift__glow { position: absolute; inset: 22%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 246, 210, .95), rgba(240, 182, 74, .55) 45%, transparent 72%); transform: scale(var(--shift-glow, .35)); opacity: calc(.35 + var(--shift-glow, .35) * .65); }
.home-shift__word { position: relative; font: 600 26px/1.1 var(--serif); color: var(--home-ink); }
.home-shift__orb.is-holding .home-shift__word { font-family: var(--home-cinzel); font-size: 22px; letter-spacing: .08em; }
.home-shift__orb.is-done { box-shadow: 0 0 0 14px rgba(248, 220, 140, .25), 0 0 90px rgba(240, 182, 74, .7); }
.home-shift__done { margin-top: 30px; }
.home-shift__done p { font: 500 24px/1.35 var(--serif); color: var(--home-ink) !important; max-width: 520px; margin: 0 auto 6px; }

/* Album */
.home-album { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(64px, 9vw, 110px) var(--home-gutter); }
.home-album__cover img { width: 100%; max-width: 440px; margin-left: auto; border-radius: 22px; box-shadow: 0 30px 80px rgba(168, 95, 0, .25); }

/* Music videos: one card per song. On the website they play right in the card (home-tab.js). */
.home-videos { grid-column: 1 / -1; margin-top: clamp(4px, 2vw, 18px); }
.home-videos__title { margin: 0 0 24px; font: 500 clamp(28px, 3vw, 38px)/1.15 var(--serif); text-align: center; color: var(--home-ink); }
.home-videos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; padding: 0; margin: 0; list-style: none; }
.home-video__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #1b2332; box-shadow: var(--home-shadow); }
.home-video__media img, .home-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.home-video__play { position: absolute; inset: 0; display: block; }
.home-video__play img { transition: transform .6s ease; }
.home-video__play:hover img { transform: scale(1.04); }
.home-video__play:focus-visible { outline: 3px solid var(--home-honey); outline-offset: -4px; border-radius: 18px; }
.home-video__btn { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: rgba(255, 250, 238, .9); box-shadow: 0 6px 24px rgba(168, 95, 0, .35), 0 0 0 1px rgba(219, 173, 79, .65); transition: transform .25s ease, background .25s ease; }
.home-video__btn::after { content: ''; position: absolute; left: 25px; top: 19px; border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent var(--home-gold); }
.home-video__play:hover .home-video__btn, .home-video__play:focus-visible .home-video__btn { transform: scale(1.08); background: #fff; }
.home-video__name { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: 4px 10px; margin: 12px 4px 0 !important; font: 500 20px/1.3 var(--serif) !important; color: var(--home-ink) !important; }
.home-video__name span { font: 700 11px/1 var(--home-cinzel); color: var(--home-gold); }
.home-video__name em { justify-self: end; font: 700 10px/1 var(--sans); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: var(--home-gold); }
.home-video.is-soon .home-video__media img { object-position: 50% 42%; filter: blur(1.5px) brightness(.82); transform: scale(1.05); }
.home-video__soon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 11px 18px; border-radius: 999px; background: rgba(255, 250, 238, .92); border: 1px solid rgba(219, 173, 79, .75); font: 700 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #8a4f00; white-space: nowrap; }
@media (max-width: 960px) { .home-videos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .home-videos__grid { gap: 22px 12px; }
  .home-video__media { border-radius: 14px; }
  .home-video__name { font-size: 16px !important; column-gap: 7px; }
  .home-video__name em { grid-column: 2 / -1; justify-self: start; }
  .home-video__btn { width: 46px; height: 46px; margin: -23px 0 0 -23px; }
  .home-video__btn::after { left: 18px; top: 14px; border-width: 9px 0 9px 14px; }
  .home-video__soon { padding: 8px 12px; font-size: 10px; }
}

/* Meet Alek */
.home-alek { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(64px, 9vw, 110px) var(--home-gutter); }
.home-alek__photo { width: 100%; max-width: 460px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 240px 240px 20px 20px; box-shadow: var(--home-shadow); }
.home-alek blockquote { margin: 26px 0 18px; padding: 0 0 0 22px; border-left: 2px solid var(--home-honey); font: italic 500 26px/1.35 var(--serif); color: var(--home-ink); }

/* Support band */
.home-support { position: relative; margin: 0 var(--home-gutter); padding: clamp(56px, 8vw, 96px) var(--home-gutter); text-align: center; border-radius: 40px; overflow: hidden; background: radial-gradient(ellipse 70% 90% at 50% 100%, rgba(255, 205, 110, .55), transparent 70%), linear-gradient(180deg, #fffaf0, #fbe7b8); box-shadow: var(--home-shadow); }
[data-theme="dark"] .home-support { background: radial-gradient(ellipse 70% 90% at 50% 100%, rgba(219, 173, 79, .28), transparent 70%), linear-gradient(180deg, #161d29, #1d2433); }
.home-support h2 { max-width: 820px; margin-inline: auto; font-size: clamp(32px, 4.2vw, 52px); }
.home-support p { max-width: 620px; margin: 0 auto 28px; font-size: 18px; }

/* Join */
.home-join h2 { margin-bottom: 14px; }
.home-join > p { max-width: 640px; margin: 0 auto; font-size: 18px; }
.home-form--inline { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; max-width: 760px; margin: 30px auto 10px; }
.home-form--inline .home-btn { width: auto; min-width: 120px; }
.home-form--inline .home-form__consent, .home-form--inline .home-form__status { grid-column: 1 / -1; text-align: center; }
.home-join__love { margin-top: 26px !important; font: italic 500 22px/1.3 var(--serif); color: var(--home-gold) !important; }

/* Support page */
.support-hero { position: relative; display: grid; align-items: end; min-height: 520px; padding: 0 var(--home-gutter) 56px; overflow: hidden; isolation: isolate; }
.support-hero__plate { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.support-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(255, 249, 234, .05) 10%, rgba(255, 249, 234, .82) 60%, var(--home-ivory) 100%); }
[data-theme="dark"] .support-hero::after { background: linear-gradient(180deg, rgba(17, 23, 32, .1) 10%, rgba(17, 23, 32, .88) 62%, var(--home-ivory) 100%); }
.support-hero__copy { max-width: 760px; margin: 0 auto; text-align: center; }
.support-hero h1 { font-size: clamp(50px, 7vw, 92px); line-height: .98; margin: 0 0 20px; }
.support-hero__copy p:last-child { font: 500 21px/1.5 var(--serif); }
.support-helps, .support-tiers, .support-foot { max-width: 1180px; margin: 0 auto; padding: clamp(48px, 7vw, 84px) var(--home-gutter) 0; }
.support-helps { max-width: 780px; }
.support-helps p { font-size: 18px; line-height: 1.75; }
.support-tiers h2 { text-align: center; margin-bottom: 34px; }
.support-tier-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; padding: 0; margin: 0; list-style: none; }
.support-tier { display: flex; flex-direction: column; padding: 28px 26px 24px; background: var(--home-card); border: 1px solid var(--home-line); border-radius: 26px; box-shadow: var(--home-shadow); }
.support-tier__price { margin: 0 0 6px; font: 700 34px/1 var(--home-cinzel); color: var(--home-gold) !important; }
.support-tier__tagline { font: italic 500 19px/1.4 var(--serif); color: var(--home-ink) !important; }
.support-tier details { margin: 4px 0 18px; }
.support-tier summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font: 700 12px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--home-gold); }
.support-tier details p { font-size: 15px; line-height: 1.7; }
.support-tier .home-btn { margin-top: auto; }
.support-foot { max-width: 760px; padding-bottom: clamp(64px, 9vw, 110px); text-align: center; }
.support-foot p:first-child { font: 500 22px/1.5 var(--serif); color: var(--home-ink) !important; }
.support-foot__note { font-size: 14px; color: var(--home-soft) !important; }
.support-foot__note a { color: inherit; }

/* Inside the Heaven on Earth app: no store links, no donations. */
html[data-app-mode] .home-app-only,
html[data-app-mode] .home-web-only,
html[data-app-mode] #support,
html[data-app-mode] #tab-support { display: none !important; }
html[data-device-platform="ios"] .home-stores [data-store="android"],
html[data-device-platform="android"] .home-stores [data-store="ios"] { display: none; }

/* Phones and tablets */
@media (max-width: 960px) {
  .home-what__steps, .home-path__steps { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
  .home-what__steps { gap: 42px; }
  .home-island, .home-meditate, .home-app, .home-album, .home-alek { grid-template-columns: 1fr; }
  .home-app__phone { min-height: 380px; }
  .home-alek__photo, .home-album__cover img { margin: 0 auto; }
}
@media (max-width: 640px) {
  .home-hero { align-items: end; }
  .home-hero__plate img { object-position: 50% 30%; }
  .home-hero::after { background: linear-gradient(180deg, rgba(255, 249, 234, 0) 50%, rgba(255, 249, 234, .4) 78%, var(--home-ivory) 100%); }
  .home-hero__copy::before { inset: -8% -10% -6%; background: radial-gradient(ellipse 58% 52% at 50% 52%, rgba(255, 249, 234, .86) 0%, rgba(255, 249, 234, .66) 50%, rgba(255, 249, 234, 0) 78%); }
  .home-hero .home-btn { width: 100%; }
  .home-form__row, .home-form--inline { grid-template-columns: 1fr; }
  .home-form--inline .home-btn { width: 100%; }
  .home-support { margin: 0 12px; border-radius: 28px; }
  .home-shift__orb { width: 210px; height: 210px; }
  .home-stores .home-btn, .home-album .home-btn { width: 100%; }
  .home-meditate__art img { max-width: 260px; }
  .home-album__cover img, .home-alek__photo { max-width: 300px; }
  .home-path__steps img { aspect-ratio: 16 / 11; border-radius: 120px 120px 16px 16px; }
  .home-phone { width: min(240px, 66vw); }
  .home-app__phone { min-height: 320px; }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .home-hero__plate img,
  html:not([data-motion="on"]) .home-meditate__art::before,
  html:not([data-motion="on"]) .home-phone { animation: none; }
  html:not([data-motion="on"]) .home-vision__word { animation: none; transition: none; }
}
.home-join__done { margin: 30px auto 0; font: 600 24px/1.35 var(--serif); color: var(--home-ink) !important; }
.home-player__thanks:focus { outline: none; }

/* Ten tabs: on every screen wider than a phone the menu sits on its own row,
   and wraps onto a second centered row before it would run off the edge. */
@media (min-width: 761px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; }
  .site-header .brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .site-header .header-account { grid-column: 2; grid-row: 1; }
  .site-header .main-tabs { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; justify-content: center; flex-wrap: wrap; row-gap: 4px; }
}
@media (min-width: 761px) and (max-width: 1500px) {
  .site-header .main-tabs { gap: 4px; }
  .site-header .main-tabs a { padding: 10px 12px; }
}

/* Heaven Made Manifest band (shows once the hall can be seen, see home-tab.js) */
.home-hall { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 64px); align-items: center; max-width: 1180px; margin: 0 auto; padding: clamp(40px, 6vw, 84px) var(--home-gutter); }
.home-hall h2 { font-size: clamp(34px, 4vw, 52px); margin: 0 0 16px; }
.home-hall__copy > p:not(.home-eyebrow) { font-size: 18px; line-height: 1.7; }
.home-hall__today { margin: 4px 0 6px; font: 700 12px/1.5 var(--sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--home-gold) !important; }
.home-hall__first { margin: 0 0 24px; font: italic 500 22px/1.4 var(--serif) !important; color: var(--home-ink) !important; }
/* The painted scroll carries real words: the picture is zoomed toward the scroll and the words sit on the parchment. */
.home-hall__art { position: relative; width: 100%; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 220px 220px 18px 18px; box-shadow: var(--home-shadow); }
.home-hall__frame { position: absolute; inset: 0; container-type: inline-size; transform: scale(1.42); transform-origin: 49.8% 45.3%; }
.home-hall__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-hall__scroll { position: absolute; left: 42.6%; top: 29.5%; width: 14.8%; height: 31.5%; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.1cqw; text-align: center; }
.home-hall__scroll-title { font: 700 1.2cqw/1.3 var(--home-cinzel); letter-spacing: .1em; text-transform: uppercase; color: #8a5208; }
.home-hall__scroll-title::after { content: ""; display: block; width: 4.2cqw; height: 1px; margin: .9cqw auto 0; background: linear-gradient(90deg, transparent, #c9912f, transparent); }
.home-hall__scroll-line { font: italic 600 1.62cqw/1.3 var(--serif); color: #3d2a10; }
@media (max-width: 960px) {
  .home-hall { grid-template-columns: 1fr; }
  .home-hall__art { order: -1; max-width: 640px; margin: 0 auto; }
  .home-hall__frame { transform: scale(1.75); }
}

/* Privacy: small letters at the end of the footer, clear of the back-to-top button. */
@media (min-width: 761px) { .site-footer { padding-right: max(5vw, 84px); } }
@media (max-width: 760px) { .site-footer { padding-bottom: 64px; } }
.site-footer .site-footer__privacy { font-size: 10px; letter-spacing: .08em; opacity: .7; }
.site-footer .site-footer__privacy:hover { opacity: 1; }

/* ---------- The header lets the art through (home-tab.js sets the two states) ----------
   Over the opening painting the bar is clear. Once the page scrolls under it, it turns
   to light glass. Every word sits on its own small glass, so it stays easy to read. */
.site-header { background: transparent; border-bottom-color: transparent; transition: background .35s ease, border-color .35s ease, box-shadow .35s ease; }
.site-header.is-scrolled:not(.is-over-art) { background: rgba(255, 250, 238, .34); border-bottom-color: rgba(219, 173, 79, .28); -webkit-backdrop-filter: blur(16px) saturate(1.15); backdrop-filter: blur(16px) saturate(1.15); }
[data-theme="dark"] .site-header.is-scrolled:not(.is-over-art) { background: rgba(17, 23, 32, .55); }
.site-header .brand { padding: 5px 18px 5px 5px; border: 1px solid rgba(219, 173, 79, .32); border-radius: 999px; background: rgba(255, 251, 242, .72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 2px 14px rgba(120, 80, 10, .08); }
.site-header .main-tabs a { min-height: 40px; padding: 8px 15px; border-radius: 999px; background: rgba(255, 251, 242, .74); border-color: rgba(219, 173, 79, .3); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 2px 12px rgba(120, 80, 10, .07); }
.site-header :is(.header-account-toggle, .theme-toggle) { background: rgba(255, 251, 242, .8); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
[data-theme="dark"] .site-header :is(.brand, .main-tabs a, .header-account-toggle, .theme-toggle) { background: rgba(17, 23, 32, .66); border-color: rgba(219, 173, 79, .3); }
[data-theme="dark"] .site-header .main-tabs a[aria-selected="true"] { background: rgba(42, 46, 56, .9); }
@media (min-width: 761px) { .site-header .main-tabs { gap: 6px; row-gap: 6px; } }
@media (min-width: 761px) and (max-width: 1500px) { .site-header .main-tabs a { padding: 8px 13px; } }
@media (max-width: 760px) {
  .site-header { padding-bottom: 10px; }
  .site-header .brand { padding: 4px 13px 4px 4px; }
  .site-header .brand > span { white-space: nowrap; }
  .site-header .main-tabs { gap: 6px; }
  .site-header .main-tabs a { min-height: 40px; padding: 8px 13px; border-radius: 999px; }
}
@media (max-width: 420px) { .site-header .brand { font-size: 18px; } }
/* The opening painting rises behind the clear header. */
.home-hero { margin-top: calc(-1 * var(--hub-header-h, 0px)); padding-top: var(--hub-header-h, 0px); min-height: min(100svh, calc(920px + var(--hub-header-h, 0px))); }

/* ---------- Wake Up in Heaven: free for everyone, opened with an email sign-in (free-gate.js) ---------- */
.home-free-badge { position: absolute; left: 50%; bottom: 18px; z-index: 1; transform: translateX(-50%); display: inline-flex; align-items: baseline; gap: 8px; margin: 0; padding: 11px 20px; border: 1px solid rgba(219, 173, 79, .85); border-radius: 999px; background: rgba(255, 250, 238, .94); box-shadow: 0 8px 26px rgba(168, 95, 0, .25), 0 0 0 5px rgba(255, 236, 190, .35); font: 700 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #6b4210 !important; white-space: nowrap; }
.home-free-badge span { font: 700 16px/1 var(--home-cinzel); letter-spacing: .12em; color: #a85f00; }
.home-free-badge--inline { position: static; transform: none; box-shadow: 0 0 0 4px rgba(255, 236, 190, .35); }
.home-free-note { margin-top: 4px; font: italic 500 22px/1.45 var(--serif) !important; color: var(--home-gold) !important; }
.home-gate__sent { margin: 0 0 16px; font: 600 21px/1.4 var(--serif) !important; color: var(--home-ink) !important; }
.home-gate__sent:focus { outline: none; }
.home-gate__sent strong { overflow-wrap: anywhere; }
.home-gate [data-gate-step="code"] > label { margin-bottom: 14px; }
.home-gate input[name="code"] { font: 600 24px/1 var(--sans); letter-spacing: .3em; text-align: center; }
.home-gate__again { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 22px; margin: 10px 0 0; }
.home-gate__link { min-height: 44px; padding: 0 4px; border: 0; background: none; font: 700 13px/1.3 var(--sans); color: var(--home-ink); text-decoration: underline; text-decoration-color: var(--home-honey); text-underline-offset: 5px; cursor: pointer; }
.home-gate__link:hover { color: var(--home-gold); }
.home-player__account { margin-top: 12px !important; font-size: 14px; color: var(--home-soft) !important; }
.home-player__account strong { color: var(--home-ink); overflow-wrap: anywhere; }

/* The Wake Up in Heaven card in Meditations, for people who are not signed in yet. */
.meditation-card.is-gated :is(audio, .audio-ui, .audio-status, .recording-details) { display: none !important; }
.meditation-card:not(.is-gated) .free-gate-cta { display: none; }
.free-gate-cta { display: grid; justify-items: start; gap: 12px; margin: 8px 0 6px; }
.free-gate-cta__btn { min-height: 48px; padding: 12px 22px; border: 0; border-radius: 999px; color: #2b1a04; background: linear-gradient(135deg, #f8dc8c 0%, #eab353 48%, #cf8a24 100%); box-shadow: 0 8px 22px rgba(214, 150, 40, .3), inset 0 1px 0 rgba(255, 255, 255, .65); font: 700 13px/1.3 var(--sans); letter-spacing: .03em; cursor: pointer; transition: transform .2s ease; }
.free-gate-cta__btn:hover { transform: translateY(-2px); }
.free-gate-cta__note { margin: 0; font-size: 13px; line-height: 1.55; color: inherit; opacity: .8; }
.free-gate-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100svh - 32px); overflow: auto; padding: 36px clamp(20px, 5vw, 40px) 26px; border: 1px solid rgba(219, 173, 79, .6); border-radius: 28px; background: radial-gradient(ellipse at 50% 0%, rgba(255, 214, 120, .32), transparent 60%), #fffaf0; color: #1b2332; box-shadow: 0 30px 90px rgba(27, 35, 50, .35); text-align: center; }
.free-gate-dialog::backdrop { background: rgba(27, 35, 50, .45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.free-gate-dialog h2 { margin: 16px 0 6px; font: 500 clamp(34px, 6vw, 46px)/1.1 var(--serif); color: #1b2332; }
.free-gate-dialog__lead { margin: 0; font: italic 500 19px/1.45 var(--serif); color: #a85f00; }
.free-gate-dialog__close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; font-size: 30px; line-height: 1; color: #5f6b88; cursor: pointer; }
.free-gate-dialog__close:hover { background: #fbeec8; }
.free-gate-dialog .home-form { margin: 20px 0 0; text-align: left; }
.free-gate-dialog .home-form__consent, .free-gate-dialog .home-gate__sent { text-align: center; }
[data-theme="dark"] .free-gate-dialog { background: radial-gradient(ellipse at 50% 0%, rgba(219, 173, 79, .2), transparent 60%), #161d29; color: #f3e6c4; }
[data-theme="dark"] .free-gate-dialog h2 { color: #f3e6c4; }
@media (max-width: 640px) { .home-free-badge { bottom: 12px; padding: 9px 16px; } }

/* ---------- The 144,000 ---------- */
.home-144 { position: relative; max-width: 1240px; margin: 0 auto; padding: clamp(64px, 9vw, 120px) var(--home-gutter); text-align: center; }
.home-144__sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.home-144__head { max-width: 880px; margin: 0 auto; }
.home-144 h2 { font-size: clamp(36px, 5vw, 64px); }
.home-144__lead { max-width: 700px; margin: 0 auto; font: 500 clamp(20px, 2.2vw, 25px)/1.5 var(--serif); color: var(--home-ink) !important; }
.home-144__art { margin: clamp(30px, 4vw, 50px) 0 0; }
.home-144__art img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 50% 50% 24px 24px / 22% 22% 24px 24px; box-shadow: 0 34px 90px rgba(168, 95, 0, .2), 0 0 0 1px rgba(219, 173, 79, .5); }
.home-144__pair { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 22px; margin-top: clamp(22px, 3vw, 34px); text-align: left; }
.home-144__card { padding: clamp(24px, 3vw, 34px); background: var(--home-glass); border: 1px solid var(--home-line); border-radius: 26px; box-shadow: var(--home-shadow); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.home-144__card h3 { font-size: clamp(26px, 2.6vw, 32px); }
.home-144__card > p:last-child { margin: 0; font-size: 17px; line-height: 1.7; }
.home-144__step { display: inline-grid; place-items: center; width: 38px; height: 38px; margin: 0 0 12px; border: 1px solid rgba(219, 173, 79, .75); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff8e0, #f3d58e); font: 700 15px/1 var(--home-cinzel); color: #8a5208 !important; }
.home-144__roles { display: grid; gap: 10px; margin: 2px 0 0; padding: 0; list-style: none; }
.home-144__roles li { position: relative; padding-left: 28px; font-size: 17px; line-height: 1.5; color: var(--home-body); }
.home-144__roles li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 11px; height: 11px; border-radius: 50%; background: radial-gradient(circle, #fff7d6 0 25%, #f0b64a 60%, transparent 72%); box-shadow: 0 0 12px rgba(240, 182, 74, .8); }
.home-144__values { margin-top: clamp(56px, 7vw, 90px); }
.home-144__values-head h3 { margin-bottom: 6px; font-size: clamp(30px, 3.6vw, 46px); }
.home-144__values-head p:last-child, .home-144__four-sub { margin: 0; font: 700 11px/1.5 var(--sans) !important; letter-spacing: .22em; text-transform: uppercase; color: var(--home-gold) !important; }
.home-144__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 26px 14px; margin: 38px 0 0; padding: 0; list-style: none; }
.home-144__grid li { position: relative; flex: 0 1 calc((100% - 6 * 14px) / 7); display: flex; flex-direction: column; align-items: center; padding: 28px 12px 20px; background: linear-gradient(180deg, #fffdf7, #fbf0d4); border: 1px solid rgba(219, 173, 79, .45); border-radius: 22px; box-shadow: 0 10px 30px rgba(168, 95, 0, .08); transition: transform .3s ease, box-shadow .3s ease; }
.home-144__grid li:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(168, 95, 0, .16); }
.home-144__n { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 999px; background: linear-gradient(135deg, #f8dc8c, #d99a33); box-shadow: 0 3px 10px rgba(168, 95, 0, .25); font: 700 12px/1 var(--home-cinzel); color: #3a2304; }
.home-144__icon { width: 46px; height: 46px; fill: none; stroke: #b0700e; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 6px rgba(240, 182, 74, .5)); }
.home-144__grid h4 { margin: 12px 0 6px; font: 700 12.5px/1.2 var(--home-cinzel); letter-spacing: .06em; text-transform: uppercase; color: var(--home-ink); }
.home-144__grid p { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--home-body); }
.home-144__four { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: 26px 44px; align-items: center; margin-top: clamp(18px, 2.4vw, 28px); padding: clamp(26px, 4vw, 46px); border: 1px solid rgba(219, 173, 79, .5); border-radius: 30px; background: radial-gradient(ellipse at 80% 20%, rgba(255, 214, 120, .35), transparent 60%), linear-gradient(160deg, #fffaf0, #fbecc6); box-shadow: var(--home-shadow); text-align: left; }
.home-144__four h4 { margin: 0 0 4px; font: 500 clamp(30px, 3.4vw, 42px)/1.1 var(--serif); letter-spacing: -.02em; color: var(--home-ink); }
.home-144__four-sub { margin-bottom: 14px !important; }
.home-144__four-copy > p:last-child { margin: 0; font-size: 17px; line-height: 1.7; }
.home-144__channels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; text-align: center; }
.home-144__channels li { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.home-144__orb { flex: none; display: grid; place-items: center; width: clamp(66px, 8vw, 98px); height: clamp(66px, 8vw, 98px); margin-bottom: 8px; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #fffdf4 0%, #fbe6b0 55%, #eebd5c 100%); box-shadow: 0 0 0 1px rgba(219, 173, 79, .7), 0 0 0 6px rgba(255, 236, 190, .5), 0 0 34px rgba(240, 182, 74, .5); animation: home-orb 6s ease-in-out infinite; }
.home-144__channels li:nth-child(2) .home-144__orb { animation-delay: -1.5s; }
.home-144__channels li:nth-child(3) .home-144__orb { animation-delay: -3s; }
.home-144__channels li:nth-child(4) .home-144__orb { animation-delay: -4.5s; }
@keyframes home-orb { 0%, 100% { box-shadow: 0 0 0 1px rgba(219, 173, 79, .7), 0 0 0 6px rgba(255, 236, 190, .5), 0 0 26px rgba(240, 182, 74, .4); } 50% { box-shadow: 0 0 0 1px rgba(219, 173, 79, .8), 0 0 0 9px rgba(255, 236, 190, .55), 0 0 50px rgba(240, 182, 74, .7); } }
.home-144__orb .home-144__icon { width: 52%; height: 52%; stroke: #8a5208; }
.home-144__channels strong { font: 700 14px/1.2 var(--home-cinzel); letter-spacing: .1em; text-transform: uppercase; color: var(--home-ink); }
.home-144__channels em { font: italic 500 19px/1.2 var(--serif); color: var(--home-body); }
.home-144__sum { grid-column: 1 / -1; justify-self: center; margin: 6px 0 0; padding: 14px 30px; border-radius: 999px; background: linear-gradient(135deg, #f8dc8c, #eab353 50%, #d99a33); box-shadow: 0 10px 28px rgba(214, 150, 40, .3), inset 0 1px 0 rgba(255, 255, 255, .6); font: 600 clamp(17px, 1.9vw, 21px)/1.3 var(--serif); text-align: center; color: #2b1a04 !important; }
.home-144__close { max-width: 780px; margin: clamp(48px, 6vw, 74px) auto 26px; font: 500 clamp(26px, 3.2vw, 40px)/1.25 var(--serif); color: var(--home-ink) !important; }
[data-theme="dark"] :is(.home-144__grid li, .home-144__four) { background: var(--home-card); }
[data-theme="dark"] .home-144__icon { stroke: #dbad4f; }
[data-theme="dark"] .home-144__orb .home-144__icon { stroke: #8a5208; }
@media (max-width: 1100px) { .home-144__grid li { flex-basis: calc((100% - 3 * 14px) / 4); } }
@media (max-width: 960px) {
  .home-144__pair, .home-144__four { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .home-144__grid { gap: 24px 10px; }
  .home-144__grid li { flex-basis: calc((100% - 10px) / 2); padding: 24px 10px 16px; }
  .home-144__art img { aspect-ratio: 4 / 3; object-position: 50% 70%; border-radius: 50% 50% 18px 18px / 18% 18% 18px 18px; }
  .home-144__channels { gap: 6px; }
  .home-144__channels em { font-size: 16px; }
  .home-144__channels strong { font-size: 12px; }
  .home-144 .home-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .home-144__orb { animation: none; }
}

/* ---------- Sign in with an emailed code or a password (account-auth.js) ---------- */
.auth-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 18px 0 2px; padding: 4px; border: 1px solid rgba(219, 173, 79, .5); border-radius: 999px; background: rgba(255, 250, 238, .75); }
.auth-doors[hidden] { display: none; }
.auth-doors button { min-height: 40px; padding: 6px 10px; border: 0; border-radius: 999px; background: transparent; font: 600 13px/1.2 var(--sans); color: #4a5470; cursor: pointer; }
.auth-doors button[aria-pressed="true"] { background: linear-gradient(135deg, #f8dc8c, #eab353 55%, #d99a33); color: #2b1a04; box-shadow: 0 4px 12px rgba(214, 150, 40, .25); }
.auth-doors button:focus-visible, .auth-password__show:focus-visible { outline: 2px solid #a85f00; outline-offset: 2px; }
.auth-password__row { display: flex; gap: 8px; align-items: center; }
.auth-password__row input { flex: 1; min-width: 0; }
.auth-password__show { min-height: 48px; padding: 0 14px; border: 1px solid #dbad4f; border-radius: 4px; background: transparent; font: 600 12px/1 var(--sans); color: inherit; cursor: pointer; }
.auth-forgot { display: inline-flex; margin: 8px 0 0; padding: 0; border: 0; background: none; cursor: pointer; }
[data-theme="dark"] .auth-doors { background: rgba(17, 23, 32, .6); }
[data-theme="dark"] .auth-doors button:not([aria-pressed="true"]) { color: #e9d4a1; }
