/* ══════════════════════════════════════════════════════════════════════════
   Little Champions extras (both looks): Faith corner page, the scroll-open
   journal, make-your-own cover, the "Pick me, coach!" card, the big footer.
   ══════════════════════════════════════════════════════════════════════════ */
:root { --fc-ink: #2b1a07; --fc-accent: var(--coral); --fc-hand: "Caveat", "Patrick Hand", cursive; --fc-head: inherit; --fc-turf: #2e7d50; --fc-turf-d: #266b44; }
:root[data-look="nb"] { --fc-accent: #ff6f1e; --fc-head: var(--nb-head); }

/* ── shared bits ── */
.fc-mark { color: var(--fc-accent); background: linear-gradient(transparent 78%, color-mix(in srgb, var(--fc-accent) 30%, transparent) 78% 92%, transparent 92%); }
.fc h1, .fc h2 { font-family: var(--fc-head); }
.fc .note { display: inline-flex; }

/* ── hero ── */
.fc-hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center; padding-top: 30px; }
.fc-hero h1 { font-size: clamp(42px, 6.4vw, 84px); line-height: 1.04; margin: 10px 0 18px; text-transform: lowercase; }
.fc-hero .lead { max-width: 33em; }
.fc-scrollhint { display: flex; align-items: center; gap: 10px; margin-top: 26px; font: 600 24px var(--fc-hand); color: var(--fc-accent); }
.fc-scrollhint svg { width: 26px; height: 36px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; animation: fcBob 1.6s ease-in-out infinite; }
@keyframes fcBob { 50% { transform: translateY(6px); } }
.fc-hero-note { position: relative; justify-self: center; width: min(330px, 80%); aspect-ratio: 1; background: linear-gradient(#ffe468, #ffd84d 16%, #ffd84d); padding: 44px 30px 26px; transform: rotate(4deg); box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 22px 30px -22px rgba(43,26,7,.55); display: flex; flex-direction: column; justify-content: center; text-align: center; color: var(--fc-ink); }
.fc-hero-note p { font: 600 clamp(28px, 3vw, 36px)/1.15 var(--fc-hand); }
.fc-ref { font: 600 15px var(--nb-ui, Nunito, sans-serif); margin-top: 12px; opacity: .75; }
.fc-tape { position: absolute; top: -14px; left: 50%; width: 120px; height: 30px; transform: translateX(-50%) rotate(-3deg); background: rgba(255,255,255,.55); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.fc-mini { position: absolute; width: 74px; filter: drop-shadow(0 6px 8px rgba(43,26,7,.18)); }
.fc-mini.s1 { left: -34px; bottom: -26px; transform: rotate(-12deg); }
.fc-mini.s2 { right: -28px; top: 22px; transform: rotate(14deg); width: 62px; }

/* ── the journal that opens as you scroll ── */
.fj-stage { --open: 0; --list: 0; --W: clamp(150px, 22vw, 290px); --shift: min(230px, 18vw); position: relative; height: 290vh; }
.fj-sticky { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.fj-scene { position: absolute; top: 52%; left: calc(50% + var(--shift) * var(--open)); width: calc(var(--W) * 2); height: calc(var(--W) * 1.4); transform: translate(-50%, -50%); perspective: 2400px; }
.fj-book { position: absolute; inset: 0; transform-style: preserve-3d; transform: translateX(calc(var(--W) * -.5 * (1 - var(--open)))) rotate(calc((1 - var(--open)) * -5deg)) scale(calc(1.06 - var(--open) * .06)); }
.fj-page { position: absolute; top: 0; height: 100%; width: 50%; background: #fffdf8; container-type: inline-size; overflow: hidden; }
.fj-right { left: 50%; border-radius: 3px 14px 14px 3px; box-shadow: 0 0 0 7px var(--cover), 1px 1px 0 7px rgba(0,0,0,.12), 0 30px 50px -24px rgba(43,26,7,.6), inset 14px 0 18px -14px rgba(43,26,7,.22); }
.fj-right::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(transparent 0 calc(var(--W) * .095 - 1px), #ead9c6 calc(var(--W) * .095 - 1px) calc(var(--W) * .095)); background-position: 0 calc(var(--W) * .2); opacity: .8; pointer-events: none; }
.fj-cover { position: absolute; left: 50%; top: 0; width: 50%; height: 100%; transform-origin: left center; transform-style: preserve-3d; transform: rotateY(calc(var(--open) * -179deg)); }
.fj-front, .fj-back { position: absolute; inset: 0; width: 100%; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.fj-front, .fc-cover { border-radius: 4px 16px 16px 4px; background: radial-gradient(120% 80% at 25% 15%, rgba(255,255,255,.2), transparent 60%), radial-gradient(90% 70% at 90% 100%, rgba(0,0,0,.14), transparent 60%), var(--cover); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), inset 10px 0 14px -10px rgba(0,0,0,.35), 0 30px 50px -26px rgba(43,26,7,.7); container-type: inline-size; overflow: hidden; }
.fj-back { left: 0; transform: rotateY(180deg); border-radius: 14px 3px 3px 14px; box-shadow: 0 0 0 7px color-mix(in srgb, var(--cover) 82%, #000), inset -14px 0 18px -14px rgba(43,26,7,.22); }
.fj-in { position: relative; height: 100%; padding: 11cqi 10cqi; font: 500 clamp(10px, 6.2cqi, 17px)/1.4 var(--nb-ui, Nunito, sans-serif); color: var(--fc-ink); display: flex; flex-direction: column; gap: 4cqi; }
.fj-in.flip { animation: fjFlip .45s ease both; }
@keyframes fjFlip { from { opacity: 0; transform: translateY(8px); } }
.fj-in h3 { font: 600 clamp(15px, 10cqi, 28px)/1.1 var(--fc-head, Nunito); font-variation-settings: "SOFT" 100; color: var(--fc-ink); }
.fj-kicker { font: 700 clamp(13px, 8cqi, 22px)/1 var(--fc-hand); color: var(--fc-accent); }
.fj-ref { font-weight: 700; color: var(--fc-accent); margin-top: auto; }
.fj-prayer { font: 600 clamp(15px, 9cqi, 25px)/1.25 var(--fc-hand); }
.fj-write { flex: 1; width: 100%; border: 0; resize: none; background: transparent; font: 600 clamp(15px, 9cqi, 25px)/clamp(17px, 9.5cqi, 27.5px) var(--fc-hand); color: #3557c9; outline: none; padding: 0; }
:root .fj-in textarea.fj-write { margin: 0; border-radius: 0; box-shadow: none; background: none; }
:root .fj-in textarea.fj-write:focus { outline: none; background: rgba(255,214,71,.14); }
.fj-write::placeholder { color: #bdae9c; }
.fj-days { list-style: none; display: grid; gap: 3cqi; }
.fj-days li { display: flex; align-items: center; gap: 4cqi; }
.fj-days b { flex: none; width: 1.7em; height: 1.7em; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--fc-accent) 18%, #fff); color: var(--fc-ink); font-size: .9em; }
.fj-soon { list-style: none; display: grid; gap: 5cqi; }
.fj-soon b { display: block; font: 700 clamp(15px, 9cqi, 25px)/1 var(--fc-hand); color: var(--fc-accent); }
.fj-link { margin-top: auto; align-self: flex-start; border: 0; background: none; padding: 0; font: 700 1em var(--nb-ui, Nunito); color: var(--fc-accent); text-decoration: underline wavy; text-underline-offset: 4px; cursor: pointer; }
.fj-verse { flex: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; background: #ffe7d6; border-radius: 8cqi; padding: 8cqi; transform: rotate(-2deg); }
.fj-verse.b { background: #e3ecff; transform: rotate(2deg); flex: .9; }
.fj-verse p { font: 600 clamp(15px, 10cqi, 28px)/1.15 var(--fc-hand); }
.fj-verse span { font-weight: 700; margin-top: 4cqi; font-size: .9em; }
.fj-verse.b + .fj-link { margin-top: 5cqi; }
/* the cover */
.fj-band { position: absolute; top: 0; bottom: 0; right: 10%; width: 6cqi; background: color-mix(in srgb, var(--cover) 70%, #000); box-shadow: inset 2px 0 2px rgba(255,255,255,.15), 2px 0 4px rgba(0,0,0,.2); }
.fj-label { position: absolute; left: 12%; top: 16%; width: 66%; background: #fff; border-radius: 3.5cqi; box-shadow: 0 0 0 1.5px #171717, 0 0 0 2.6cqi #fff, 0 4cqi 6cqi -2cqi rgba(0,0,0,.35); color: #171717; font: 500 clamp(8px, 4.6cqi, 14px) Georgia, serif; overflow: hidden; }
.fj-label > div, .fj-label > label { display: block; padding: 3cqi 5cqi 1cqi; }
.fj-label span { display: block; }
.fj-label b, .fj-label input { display: block; width: 100%; font: 700 clamp(14px, 11cqi, 34px)/1.1 var(--fc-hand); color: #171717; text-align: center; border: 0; background: none; outline: none; padding: 0 0 2cqi; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fj-label .fl-row { display: grid; grid-template-columns: 1.7fr 1fr; border-top: 1.5px solid #171717; }
.fj-label .fl-row > * { display: flex; align-items: baseline; gap: 2cqi; padding: 2.4cqi 4cqi; }
.fj-label .fl-row > * + * { border-left: 1.5px solid #171717; }
.fj-label .fl-row b, .fj-label .fl-row input { font-size: clamp(12px, 7.4cqi, 24px); padding: 0; text-align: left; }
.fj-label input::placeholder { color: #b9b0a6; }
.fj-label input:focus { background: #fff6cf; border-radius: 4px; }
.fj-stamp { position: absolute; right: 16%; bottom: 7%; width: 17%; fill: none; stroke: rgba(0,0,0,.22); stroke-width: 2.4; stroke-linecap: round; filter: drop-shadow(0 1px 0 rgba(255,255,255,.25)); }
.fc-cover-drop { position: absolute; inset: 0; pointer-events: none; }
.fc-cover-drop .fc-stk { position: absolute; width: 24%; transform: translate(-50%, -50%) rotate(var(--r, 0deg)); pointer-events: auto; filter: drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.fj-front .fc-cover-drop .fc-stk { pointer-events: none; }
/* pencil */
.fj-pencil { position: absolute; right: calc(var(--W) * -.2); top: 9%; width: calc(var(--W) * .065); height: 80%; border-radius: 2px; background: linear-gradient(90deg, #e9a514, #ffd23f 35%, #ffe680 50%, #f2b51d 70%, #d8920c); transform: translateX(calc((1 - var(--open)) * 40px)) rotate(5deg); opacity: var(--open); box-shadow: 6px 10px 14px -8px rgba(43,26,7,.5); }
.fj-pencil::before { content: ""; position: absolute; left: 0; right: 0; top: -9%; height: 10%; border-radius: 4px 4px 0 0; background: linear-gradient(#ff8fa3 70%, #c9c9c9 70%); }
.fj-pencil::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10%; height: 10%; clip-path: polygon(0 0, 100% 0, 50% 100%); background: linear-gradient(#f1d2a5 68%, #2b1a07 68%); }
/* the list beside the open journal */
.fj-list { position: absolute; left: 10px; top: 52%; width: min(400px, 36%); transform: translate(calc((1 - var(--list)) * -30px), -50%); opacity: var(--list); pointer-events: none; background: #fffdf8; border-radius: 20px; box-shadow: 0 0 0 2px #171717, 0 20px 40px -26px rgba(43,26,7,.6); overflow: hidden; z-index: 2; }
.fj-stage.is-open .fj-list { pointer-events: auto; }
.fj-list h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.12; padding: 28px 28px 22px; text-transform: none; }
.fj-list ol { list-style: none; }
.fj-list button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 0; border-top: 1px solid #e7ddd2; background: none; padding: 16px 28px; text-align: left; font: 500 18px var(--nb-ui, Nunito); color: #171717; cursor: pointer; transition: color .2s, padding .25s; }
.fj-list button span { font: 500 20px Georgia, serif; color: inherit; }
.fj-list button:hover { padding-left: 34px; }
.fj-list button[aria-pressed="true"] { color: var(--fc-accent); }
:root .fj-list button:focus-visible { outline: 2.5px solid var(--fc-accent); outline-offset: -5px; border-radius: 12px; }
.fj-hint { position: absolute; left: 50%; bottom: 5%; transform: translateX(-50%); font: 600 22px var(--fc-hand); color: var(--fc-accent); opacity: calc(1 - var(--open) * 1.6); pointer-events: none; }

/* ── sticky notes standing on a hockey pitch ── */
.fc-notes-wrap { position: relative; padding-bottom: 0; }
.fc-notes { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 3vw, 40px); margin-top: 34px; align-items: end; padding: 0 2%; }
.fc-note { position: relative; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 18px; background: linear-gradient(#ffe468, #ffd84d 18%, #ffd447); box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 22px 26px -20px rgba(43,26,7,.55); transform: translateY(70px) rotate(var(--r)); opacity: 0; transition: transform .8s cubic-bezier(.25,1.4,.45,1) var(--d), opacity .3s var(--d); margin-bottom: -46px; }
.fc-notes.in .fc-note { transform: translateY(0) rotate(var(--r)); opacity: 1; }
.fc-notes.in .fc-note:hover { transform: translateY(-8px) rotate(calc(var(--r) * -.5)); transition-delay: 0s; }
.fc-note p { font: 600 clamp(22px, 2.5vw, 34px)/1.1 var(--fc-hand); color: #171717; }
.fc-doodle { width: 34%; max-width: 64px; }
.fc-turf { position: relative; height: 150px; margin: 0 calc(-1 * clamp(16px, 3vw, 40px)); border-radius: 28px 28px 0 0; background: repeating-linear-gradient(90deg, #3f9a62 0 60px, #378c58 60px 120px); overflow: hidden; }
.fc-turf::before { content: ""; position: absolute; left: 0; right: 0; top: 64px; height: 4px; background: rgba(255,255,255,.85); }
.fc-turf::after { content: ""; position: absolute; left: 50%; top: 64px; width: 240px; height: 240px; border: 4px solid rgba(255,255,255,.85); border-radius: 50%; transform: translateX(-50%); }
.fc-turf-ball { position: absolute; left: 110%; top: 86px; width: 48px; transition: left 1.6s cubic-bezier(.2,.8,.3,1) .5s, transform 1.6s cubic-bezier(.2,.8,.3,1) .5s; z-index: 1; }
.fc-turf.in .fc-turf-ball { left: 74%; transform: rotate(-540deg); }

/* ── make it yours ── */
.fc-make { display: grid; grid-template-columns: 1fr minmax(260px, 340px) minmax(250px, 330px); gap: clamp(20px, 3.4vw, 50px); align-items: center; }
.fc-make h2 { font-size: clamp(34px, 4.4vw, 52px); line-height: 1.05; margin: 6px 0 12px; text-transform: lowercase; }
.fc-make .sub { max-width: 30em; }
.fc-swatches { display: flex; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.fc-swatch { width: 46px; height: 46px; border-radius: 12px; border: 0; background: var(--c); box-shadow: 0 0 0 1.5px rgba(0,0,0,.18), 0 4px 0 -1px rgba(0,0,0,.15); transition: transform .25s cubic-bezier(.3,1.6,.5,1); }
.fc-swatch:hover { transform: translateY(-3px) rotate(-6deg); }
.fc-swatch[aria-checked="true"] { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #171717; transform: rotate(-6deg) scale(1.08); }
.fc-cap { font: 600 26px/1.1 var(--fc-hand); color: var(--fc-accent); }
.fc-cap.c1 { display: flex; align-items: flex-end; gap: 8px; margin-top: 14px; }
.fc-arrow { width: 46px; height: 40px; fill: none; stroke: #171717; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fc-cap.c2 { text-align: center; margin-top: 16px; transform: rotate(-3deg); }
.fc-make-cover { perspective: 1400px; }
.fc-cover { position: relative; width: 100%; aspect-ratio: 1 / 1.4; transform: rotate(3deg); transition: transform .5s cubic-bezier(.3,1.4,.5,1); }
.fc-cover:hover { transform: rotate(1deg) translateY(-4px); }
.fc-cover .fc-stk.placed { cursor: grab; touch-action: none; }
.fc-cover .fc-stk.boing { animation: fcBoing .5s cubic-bezier(.3,1.8,.5,1); }
@keyframes fcBoing { 40% { transform: translate(-50%, -50%) rotate(var(--r)) scale(1.25); } }
.fc-sheet-wrap { display: flex; flex-direction: column; align-items: center; }
.fc-sheet { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 22px 18px; background: #fff; border-radius: 14px; box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 18px 30px -20px rgba(43,26,7,.45); transform: rotate(-3deg); background-image: radial-gradient(circle at 1px 1px, #eee5da 1px, transparent 1.4px); background-size: 14px 14px; }
.fc-sheet .fc-stk { border: 0; background: none; padding: 4px; cursor: grab; touch-action: none; transition: transform .25s cubic-bezier(.3,1.6,.5,1); }
.fc-sheet .fc-stk:hover { transform: rotate(-8deg) scale(1.1) translateY(-3px); }
.fc-sheet .fc-stk:last-child { grid-column: 2; }
.fc-stk svg { display: block; width: 100%; height: auto; }
.fc-flying { position: fixed; z-index: 95; pointer-events: none; transform: rotate(-8deg) scale(1.12); filter: drop-shadow(0 14px 14px rgba(43,26,7,.35)); }
.fc-clear { margin-top: 14px; border: 0; background: none; font: 600 15px var(--nb-ui, Nunito); color: var(--muted); text-decoration: underline; cursor: pointer; }

/* ── 7-day plan ── */
.fc-plan h2 { font-size: clamp(34px, 4.4vw, 52px); text-transform: lowercase; margin: 6px 0 10px; }
.fc-track { --done: 0; position: relative; height: 40px; margin: 26px 0 4px; }
.fc-track i { position: absolute; left: 0; right: 0; top: 18px; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, #d9cbbb 0 10px, transparent 10px 18px); }
.fc-track i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--done) * 100%); border-radius: 4px; background: var(--fc-accent); transition: width .6s cubic-bezier(.3,1.2,.5,1); }
.fc-plan { --done: 0; }
.fc-track-ball { position: absolute; top: 0; left: calc(var(--done) * (100% - 40px)); width: 40px; transition: left .6s cubic-bezier(.3,1.2,.5,1); transform: rotate(calc(var(--done) * 720deg)); }
.fc-count { font: 600 22px var(--fc-hand); color: var(--fc-accent); }
.fc-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin-top: 16px; }
.fc-day { display: flex; flex-direction: column; gap: 6px; padding: 18px 16px 16px; background: var(--card); border-radius: 18px; box-shadow: 0 0 0 1.5px rgba(43,26,7,.12), 0 14px 30px -22px rgba(43,26,7,.35); font-size: 15px; line-height: 1.4; }
.fc-dn { font: 700 24px/1 var(--fc-hand); color: var(--fc-accent); }
.fc-day b { font-size: 14px; }
.fc-think { font-style: italic; color: var(--ink-2); margin-bottom: auto; }
.fc-day button { margin-top: 10px; border: 0; border-radius: 20px; padding: 8px 10px; background: var(--card); box-shadow: 0 0 0 1.5px #171717; font: 600 14px var(--nb-ui, Nunito); transition: transform .2s cubic-bezier(.3,1.6,.5,1), background .2s; }
.fc-day button:hover { transform: translateY(-2px); }
.fc-day button[aria-pressed="true"] { background: var(--fc-accent); color: #fff; box-shadow: 0 0 0 1.5px var(--fc-accent); }
.fc-cta { text-align: center; }
.fc-cta h2 { font-size: clamp(30px, 4vw, 46px); text-transform: lowercase; }
.fc-cta .sub { margin: 10px auto 0; }
.get .fc-more { display: inline-block; margin-top: 8px; font-weight: 700; color: var(--fc-accent); }

/* ── the big footer ── */
:root footer.lc-foot, :root[data-look="nb"] footer.lc-foot { --p: 1; position: relative; margin-top: 80px; background: var(--fc-turf); color: #fdfbf9; border-radius: 56px 56px 0 0; padding: 70px 0 0; overflow: hidden; text-align: left; font: 500 17px/1.5 var(--nb-ui, Nunito, system-ui, sans-serif); }
:root[data-look="nb"] footer.lc-foot::before { content: none; }
footer.lc-foot::after { content: ""; position: absolute; left: 50%; bottom: -34vw; width: 64vw; height: 64vw; border: 3px solid rgba(255,255,255,.13); border-radius: 50%; transform: translateX(-50%); pointer-events: none; }
.lc-foot-in { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; transform: translateY(calc((1 - var(--p)) * 50px)); }
.lc-foot-say { font: 600 clamp(34px, 4.8vw, 60px)/1.05 var(--nb-head, Nunito); font-variation-settings: "SOFT" 100; color: #fdfbf9; }
.lc-foot-tag { font-size: 19px; margin-top: 12px; opacity: .9; }
.lc-foot-links { display: grid; grid-template-columns: repeat(2, auto); gap: 14px 60px; align-content: start; }
.lc-foot-links a { color: #fdfbf9; text-decoration: none; font-size: 20px; font-weight: 500; }
.lc-foot-links a:hover { text-decoration: underline wavy #ffd23f 2px; text-underline-offset: 6px; }
.lc-foot-note { position: relative; z-index: 1; max-width: 1240px; margin: 34px auto 0; padding: 0 clamp(20px, 4vw, 48px); font-size: 14px; opacity: .75; }
.lc-foot-big { position: relative; margin-top: 26px; padding: 0 2vw; font: 700 clamp(70px, 17.5vw, 270px)/.78 var(--nb-head, Nunito); font-variation-settings: "SOFT" 100, "WONK" 1; letter-spacing: -.02em; color: var(--fc-turf-d); white-space: nowrap; user-select: none; margin-bottom: -.1em; text-transform: lowercase; }
.lc-foot-big .row { display: block; }
.lc-foot-big .row + .row { margin-top: -.02em; }
.lc-foot-big .row > span { display: inline-block; will-change: transform; }

/* ── "Pick me, coach!" ── */
.lc-dibs-pill { position: fixed; top: 14px; right: 16px; z-index: 58; border: 0; border-radius: 20px; padding: 13px 24px; background: #fdfbf9; color: #2b1a07; font: 600 19px/1 var(--nb-head, Nunito); font-variation-settings: "SOFT" 100; box-shadow: 0 0 0 2px #2b1a07, 0 0 0 7px #fdfbf9, 0 0 0 8px rgba(0,0,0,.06), 0 14px 26px -12px rgba(43,26,7,.5); transform: translateY(-140%) rotate(-6deg); opacity: 0; pointer-events: none; transition: transform .5s cubic-bezier(.3,1.5,.5,1), opacity .2s; }
.lc-dibs-pill.show { transform: none; opacity: 1; pointer-events: auto; }
.lc-dibs-pill.show:hover { transform: rotate(-3deg) scale(1.05); }
.lc-dibs-pill.show:active { transform: scale(.95); }
dialog.lc-dibs { border: 0; padding: 0; background: transparent; width: min(560px, calc(100vw - 32px)); max-width: none; max-height: none; margin: auto; overflow: visible; }
dialog.lc-dibs::backdrop { background: rgba(70,58,46,.32); animation: dibsFade .25s ease; }
@keyframes dibsFade { from { opacity: 0; } }
.lc-dibs-card { position: relative; background: #fdfbf9; color: #2b1a07; border-radius: 26px; padding: 44px 42px 26px; box-shadow: 0 0 0 2px #2b1a07, 0 40px 70px -30px rgba(43,26,7,.55); transform-origin: 90% 0; animation: dibsIn .55s cubic-bezier(.3,1.35,.5,1); font-family: var(--nb-head, Nunito); font-variation-settings: "SOFT" 100; }
@keyframes dibsIn { from { opacity: 0; transform: translate(60px, -90px) scale(.4) rotate(8deg); } }
.lc-dibs-card h2 { font: 600 clamp(34px, 6vw, 46px)/1.05 var(--nb-head, Nunito); font-variation-settings: "SOFT" 100; color: #2b1a07; margin-bottom: 18px; }
.lc-dibs-card > p { font-size: 20px; line-height: 1.45; }
.lc-dibs-card ul { list-style: none; display: grid; gap: 12px; margin: 22px 0 28px; font-size: 19px; }
.lc-dibs-card li { display: flex; align-items: center; gap: 14px; }
.lc-dibs-card li span { flex: none; width: 36px; }
.lc-dibs-card .row { display: flex; gap: 8px; padding: 8px; border-radius: 16px; box-shadow: 0 0 0 2px #2b1a07; background: #fff; }
.lc-dibs-card input { flex: 1; min-width: 0; border: 0; outline: none; background: none; padding: 0 12px; font: 500 19px var(--nb-ui, Nunito); color: #2b1a07; }
.lc-dibs-card .row button { border: 0; border-radius: 11px; padding: 14px 24px; background: #2b1a07; color: #fdfbf9; font: 600 19px var(--nb-head, Nunito); transition: background .2s, transform .2s cubic-bezier(.3,1.6,.5,1); }
.lc-dibs-card .row button:disabled { background: #bebcbb; cursor: default; }
.lc-dibs-card .row button:not(:disabled):hover { transform: rotate(-3deg) scale(1.04); }
.lc-dibs-card .row:focus-within { box-shadow: 0 0 0 2px #2b1a07, 0 0 0 5px color-mix(in srgb, var(--fc-accent) 35%, transparent); }
.lc-dibs-card .fine { margin-top: 14px; font: 500 14px var(--nb-ui, Nunito); color: #85786a; }
.lc-dibs-card .x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: none; font: 400 28px/1 Georgia, serif; color: #2b1a07; }
.lc-dibs-card .x:hover { background: #f3ebe2; }
.lc-dibs-card .done { text-align: center; padding: 6px 0 4px; }
.lc-dibs-card .done .big { width: 110px; margin: 0 auto 14px; animation: dibsStar .9s cubic-bezier(.3,1.7,.5,1); }
@keyframes dibsStar { from { transform: scale(0) rotate(-120deg); } }
.lc-dibs-card .done p { font-size: 20px; }
.lc-dibs-card .done .btn { margin-top: 22px; }

/* ── phones and tablets ── */
@media (max-width: 900px) {
  .fc-make { grid-template-columns: 1fr 1fr; }
  .fc-make-text { grid-column: 1 / -1; }
  .fc-days { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 820px) {
  .fc-hero { grid-template-columns: 1fr; gap: 50px; }
  .fc-hero-note { width: min(280px, 76%); }
  .fj-stage { --W: min(45vw, 240px); --shift: 0px; height: 240vh; }
  .fj-scene { top: 31%; }
  .fj-list { left: 50%; top: auto; bottom: 76px; width: calc(100% - 8px); max-width: 440px; transform: translate(-50%, calc((1 - var(--list)) * 30px)); border-radius: 18px; }
  .fj-list h2 { font-size: 21px; padding: 16px 18px 12px; }
  .fj-list button { padding: 11px 18px; font-size: 15.5px; }
  .fj-list button span { font-size: 16px; }
  .fj-list button:hover { padding-left: 18px; }
  .fj-pencil { display: none; }
  .fj-hint { bottom: 30%; }
  .fc-notes { grid-template-columns: repeat(2, 1fr); gap: 18px 22px; }
  .fc-note:nth-child(-n+2) { margin-bottom: 0; }
  .fc-turf { height: 120px; }
}
@media (max-width: 560px) {
  .fc-make { grid-template-columns: 1fr; }
  .fc-make-cover { width: min(300px, 82%); justify-self: center; }
  .fc-sheet { grid-template-columns: repeat(5, 1fr); padding: 14px; }
  .fc-sheet .fc-stk:last-child { grid-column: auto; }
  .fc-days { grid-template-columns: repeat(2, 1fr); }
  :root footer.lc-foot, :root[data-look="nb"] footer.lc-foot { border-radius: 34px 34px 0 0; padding-top: 50px; }
  .lc-foot-links { gap: 12px 34px; }
  .lc-foot-links a { font-size: 18px; }
  .lc-dibs-pill { top: 10px; right: 10px; padding: 11px 18px; font-size: 16px; }
  .lc-dibs-card { padding: 38px 22px 20px; }
  .lc-dibs-card > p, .lc-dibs-card ul { font-size: 17px; }
  .lc-dibs-card .row button { padding: 12px 16px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .fj-stage { height: auto; }
  .fj-sticky { position: relative; height: auto; min-height: calc(min(42vw, 290px) * 1.4 + 120px); overflow: visible; }
  .fc-note, .fc-turf-ball, .fj-in.flip, .lc-dibs-card, .fc-scrollhint svg { animation: none !important; transition: none !important; }
  .fc-note { opacity: 1; transform: rotate(var(--r)); }
}

/* ── Faith corner block on "What's inside" ── */
.fc-feature { display: grid; grid-template-columns: 1fr minmax(220px, 300px); gap: clamp(24px, 5vw, 70px); align-items: center; margin-top: 16px; padding: clamp(28px, 4vw, 48px) clamp(24px, 5vw, 60px); border-radius: 28px; background: #f7efe9; color: inherit; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(43,26,7,.06); }
.fc-feature-kicker { font: 700 26px/1 var(--fc-hand); color: var(--fc-accent); }
.fc-feature h3 { font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--fc-head, Nunito); font-variation-settings: "SOFT" 100; color: var(--fc-ink); margin: 10px 0 14px; text-transform: lowercase; }
.fc-feature-text > p:not(.fc-feature-kicker) { color: var(--ink-2); max-width: 32em; font-size: 18px; }
.fc-feature .btn { margin-top: 24px; }
.fc-feature-book { position: relative; justify-self: center; width: min(100%, 230px); aspect-ratio: 1 / 1.38; perspective: 1200px; }
.fc-fb-page { position: absolute; inset: 0; border-radius: 4px 14px 14px 4px; background: #fffdf8; box-shadow: 0 0 0 6px #8c5f39, 0 26px 40px -24px rgba(43,26,7,.6); display: flex; flex-direction: column; justify-content: center; align-items: flex-end; text-align: right; padding: 26px 20px 26px 40%; }
.fc-fb-page p { font: 600 22px/1.15 var(--fc-hand); color: var(--fc-ink); }
.fc-fb-page span { font: 700 13px var(--nb-ui, Nunito); color: var(--fc-accent); margin-top: 8px; }
.fc-fb-cover { position: absolute; inset: 0; border-radius: 4px 14px 14px 4px; transform-origin: left center; transition: transform .7s cubic-bezier(.3,1.25,.45,1); background: radial-gradient(120% 80% at 25% 15%, rgba(255,255,255,.2), transparent 60%), radial-gradient(90% 70% at 90% 100%, rgba(0,0,0,.14), transparent 60%), #a8774c; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), inset 10px 0 14px -10px rgba(0,0,0,.35), 0 26px 40px -24px rgba(43,26,7,.7); }
.fc-feature:hover .fc-fb-cover, .fc-feature:focus-visible .fc-fb-cover { transform: rotateY(-58deg); }
.fc-fb-band { position: absolute; top: 0; bottom: 0; right: 11%; width: 14px; background: #7a5333; }
.fc-fb-label { position: absolute; left: 12%; right: 24%; top: 18%; background: #fff; border-radius: 8px; padding: 8px 12px 10px; box-shadow: 0 0 0 1.5px #171717, 0 0 0 6px #fff, 0 8px 12px -6px rgba(0,0,0,.35); color: #171717; }
.fc-fb-label small { display: block; font: 500 11px Georgia, serif; }
.fc-fb-label b { display: block; font: 700 22px/1.05 var(--fc-hand); text-align: center; margin-top: 2px; }
.fc-fb-cross { position: absolute; left: 50%; bottom: 14%; width: 38px; transform: translateX(-60%); fill: none; stroke: rgba(0,0,0,.25); stroke-width: 3; stroke-linecap: round; }
@media (max-width: 720px) {
  .fc-feature { grid-template-columns: 1fr; }
  .fc-feature-book { width: 180px; }
}
@media (prefers-reduced-motion: reduce) { .fc-fb-cover { transition: none; } }
