/* ==============================================================
   File:    /css/home.css
   Purpose: Homepage (index.asp) page-specific composition.
   Version: 1.2.27
   Updated: 2026-08-20
   Notes:   Consolidated 2026-08-14 from index.asp's inline <style> PLUS
            the homepage-only rules that lived in site.css, so ALL homepage
            CSS is in one file (was split across two, which let the inline
            block silently override site.css). Every selector here is
            homepage-only. LINK THIS AFTER site.css: the .home-best-sellers
            rules override the shared .product-card base defined there.
            Breakpoints: 520 is still off the core ladder
            (380/600/760/900/1024) and is flagged for the breakpoint pass; 700 was retired in v1.2.26.
            2026-08-14 v1.1.0-1.1.1: added then reworked a .home-trust proof bar.
            2026-08-14 v1.1.2: removed .home-trust entirely (trust bar pulled).
            2026-08-15 v1.1.4: tightened opening density; hero reduced to one CTA;
            redundant Essentials eyebrow removed; hero/Essentials spacing reduced.
            2026-08-15 v1.2.0: tightened mobile opening another ~12%; clarified Daily Ritual
            purchase/gift hierarchy; replaced Made With Purpose cards with numbered editorial rows.
            2026-08-15 v1.2.1: Made With Purpose rebuilt as three equal desktop columns
            with strong number hierarchy and tighter vertical rhythm; mobile remains stacked.
            2026-08-16 v1.2.5: removed retired The Standard CSS and its responsive rules.
            2026-08-14 v1.1.3: added Daily Ritual gift pathway and Made With Purpose styles.
            2026-08-16 v1.2.6: RE-APPLIED hero + Made With Purpose refinements that a sync
            had overwritten - hero copy top-aligns (.home-hero__inner align-items:start) with
            the image kept centered (.home-hero__media align-self:center); hero eyebrow
            centers on mobile; enlarged 01/02/03 markers (desktop clamp(2.5rem,4vw,3.75rem),
            mobile clamp(2.75rem,11vw,3.5rem)); mobile Made With Purpose stacks L/R/L
            (:nth-child(2) right-aligned) with dividers dropped + tight vertical rhythm.
            2026-08-16 v1.2.7: closing "Well-Kept" moved above the headline as a .eyebrow;
            removed the now-dead bespoke .home-closing__well-kept rule.
            2026-08-16 v1.2.8: nudged .eyebrow font-size .7rem -> .78rem (paired with the
            same bump on the shared site.css eyebrow rule, so all eyebrows read a touch larger).
            2026-08-16 v1.2.9: DE-DUP - removed the duplicate .eyebrow base + ::before dash
            (now single-sourced in site.css, .16em kept). Only per-section overrides remain here.
            2026-08-16 v1.2.10: journal-head eyebrow was missing the light-bg gold override, so it
            rendered in bright #e0bf62 instead of the muted #9b7623 the other light sections use;
            added color:#9b7623 to .journal-head .eyebrow so it matches.
            2026-08-16 v1.2.11: eyebrow renamed .home-eyebrow -> the sitewide .eyebrow component
            (see site.css) + modifiers --on-light/--center/--left. Section overrides here now keep
            only margins/grid-area (color + justify moved to modifiers on the markup); responsive
            mobile-center rules kept. Paired with markup swaps in index/shop/waitlist(-optout).
            2026-08-16 v1.2.12: retired the two small bespoke eyebrows here (.home-best-sellers
            .product-card__eyebrow + .home-bundle__gift-eyebrow) - both now use the shared
            .eyebrow-sm (in site.css); gift's sibling :not() updated to :not(.eyebrow-sm).
            2026-08-16 v1.2.13: removed the welcome-modal's bespoke .welcome-capture__eyebrow
            (now .eyebrow-sm). Final eyebrow-normalization pass (about + both modals).
            2026-08-16 v1.2.14: brand-unity C1 - the flagship product-grid image well
            (.home-best-sellers .product-card__media) was a cool gray #f1f2f4 that broke the
            warm palette; changed to #e8e1d2 to match the sitewide product-card media well.
            2026-08-16 v1.2.15: brand-unity C2 Wave A - light section backgrounds (best-sellers
            #f4f1e9, credibility + journal #f1ede4) collapsed to var(--color-ivory); the
            best-seller media well #e8e1d2 -> var(--color-media-well). Near-identical values,
            now single-sourced from site.css. Section text colors deferred to C2 Wave C.
            2026-08-16 v1.2.16: brand-unity C2 Wave C - all muted text routed to tokens. Dark body/lede
            copy (#d7d2c8/#d0cabd/#c8c3b9/#d4cec3/#c8c2b7) -> var(--color-muted-bright); welcome privacy
            (#8f8a82) -> var(--color-subtle); light-ivory primary text (#171715) -> var(--color-ink);
            light secondary (#68645c/#777168/#726b60/#514d45/#5d574d) -> var(--color-ink-muted).
            2026-08-16 v1.2.18: best-seller image wells now consume the DB-controlled
            --product-ratio instead of overriding it with a fixed 4 / 5 ratio.
            2026-08-16 v1.2.19: LINK1 - retired bespoke text-link CTAs (.home-product-notify,
            .home-bundle__gift-link, .journal-cta, and .journal-all's visual half) for the sitewide
            .link-cta component; .journal-all keeps grid-area/align/margin only; added a .journal-card
            hover rule that nudges the .link-cta arrow.
            2026-08-16 v1.2.20: brand-story body (.home-story__body) desktop font-size .92rem -> 1rem so
            the story reading copy lands on the 16px base (mobile was already 1rem).
            2026-08-16 v1.2.21: tokenized a C2 leftover - .home-story__body color #d5cfc4 ->
            var(--color-muted-bright) (was missed in the Wave C muted-text sweep).
            2026-08-16 v1.2.22: typography floor - bumped the last sub-14 homepage labels to .875rem (14px):
            product status pill (.62rem), journal-meta (.68rem), welcome-modal privacy (.72rem). Also
            tokenized the story deck color #b9b1a4 -> var(--color-muted) (another C2 muted-text leftover).
            2026-08-16 v1.2.23: brand-story body (.home-story__body) 1rem -> 1.125rem (18px), desktop + mobile,
            for readability in the two-column layout.
            2026-08-18 v1.2.24: Daily Ritual kit now opens the shared product drawer - the .home-bundle image is
            a click/keyboard drawer surface and a "View the Set" .link-cta trigger sits under the copy. Added
            cursor/focus affordance for the image surface and spacing for the trigger.
            2026-08-20 v1.2.25: audit of this file against site.css. No conflicts exist between the two -
            zero shared selectors, zero custom properties redeclared here, one element rule
            (body.welcome-capture-open) - every overlap is a deliberate .home-* scoped override of a
            shared component. Two declarations that merely restated site.css were removed:
            .home-best-sellers .product-card__media aspect-ratio, and .product-card__status font-size
            (the v1.2.22 14px floor now comes from site.css .product-card__status, same value). Two
            others that LOOK redundant were kept and commented at their rules, because both are
            load-bearing: the media well background beats product-drawer.css .home-product-drawer-surface
            (background:transparent, linked after this file), and the max-width 900 / 380 grid overrides
            beat this file's own 4-up base rule, which outranks site.css's media rules on specificity.
            2026-08-20 v1.2.26: brand story (The Last Five Minutes) now stacks at 900px instead of 700px.
            Between 701-900px the section still ran side-by-side, so the copy pane was about 46 percent of the
            viewport and the two-column .home-story__body fell to roughly 170-200px per column - unreadable.
            The four story rules moved out of the off-ladder max-width:700px block (now deleted) into the
            existing max-width:900px block, where the hero and the Daily Ritual kit already stack, so the page
            now collapses to one column at a single point. Below 900px: image over copy, body text one column.
            At 901px and up: unchanged.
            2026-08-20 v1.2.27: follow-up to v1.2.26 - the stacked story copy was still wearing the desktop
            measure. .home-story h2 (max-width:34rem) and .home-story__body (35rem) were sized for the old
            half-width copy pane, so below 900px they stopped around 550px while .home-story__deck and
            .home-story__finish, which carry no cap, ran the full pane - a ragged right edge. Both caps are
            now max-width:none inside the max-width:900px block, so every line in the stacked layout shares
            one edge. Above 900px the caps are untouched.
   ============================================================== */

/* Canonical homepage section lead: one restrained gold rule + label. */
/* .eyebrow base + ::before dash now live in site.css (single source, .16em). Only the
   per-section overrides (justify/color/margin) remain in this file. */

/* Hero */
.home-hero{background:radial-gradient(900px 500px at 78% 10%,rgba(203,161,53,.18),transparent 62%),linear-gradient(180deg,#161b22,#0c0f13);border-bottom:1px solid var(--color-border)}
.home-hero__inner{min-height:560px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2.25rem,4.5vw,3.75rem);padding-block:clamp(2.75rem,4.5vw,4rem)}
.home-hero h1{margin:0 0 1.15rem;color:#fff;font-size:clamp(3.2rem,5.5vw,4.75rem);letter-spacing:-.025em}
.home-hero__copy>p:not(.eyebrow){max-width:35rem;margin:0 0 1.45rem;color:var(--color-muted-bright);font-size:1.1rem;line-height:1.7}
.home-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.home-hero__media{position:relative;align-self:center}
.home-hero__media::before{content:"";position:absolute;inset:-10px;border:1px solid rgba(203,161,53,.32);border-radius:calc(var(--radius-md) + 10px);pointer-events:none}
.home-hero__media img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 30px 80px rgba(0,0,0,.5)}

/* Products section (warm-ivory editorial gallery) */
.home-best-sellers{background:var(--color-ivory);color:var(--color-ink);padding-block:clamp(3rem,5vw,4.5rem)}
.home-products-head{text-align:center;max-width:72rem;margin:0 auto clamp(1.65rem,3vw,2.35rem)}
.home-products-head .eyebrow{margin-bottom:.8rem}
.home-products-head h2{margin:0;color:var(--color-ink);font:500 clamp(1.85rem,3.4vw,3.25rem)/1.02 var(--font-serif);letter-spacing:.055em;text-transform:uppercase}
.home-products-lede{max-width:38rem;margin:.5rem 0 2rem;color:var(--color-ink-muted)}
/* This base rule (0,2,0) outranks site.css @media .product-grid (0,1,0) - media queries add
   no specificity - so the max-width 900 and 380 overrides further down are REQUIRED, not
   duplicates of site.css. Remove either one and the homepage grid stays 4-up on mobile. */
.home-best-sellers .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.35rem)}
.home-best-sellers .product-card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;transition:transform .18s ease}
/* background is NOT a redundant restatement of site.css: this element is a <button> that
   also carries .home-product-drawer-surface, and product-drawer.css (linked AFTER this file)
   sets that class to background:transparent at equal specificity. Delete this and the ivory
   image well disappears from the homepage grid. aspect-ratio was dropped in v1.2.25 - that one
   really did just restate site.css .product-card__media. */
.home-best-sellers .product-card__media{background:var(--color-media-well);box-shadow:0 0 0 1px rgba(203,161,53,.5);transition:box-shadow .18s ease}
.home-best-sellers .product-card__media img{object-fit:contain;object-position:center}
.home-best-sellers .product-card:hover{transform:translateY(-4px)}
.home-best-sellers .product-card:hover .product-card__media{box-shadow:0 0 0 2px rgba(203,161,53,.75),0 14px 26px rgba(0,0,0,.14)}
@media (hover:none){.home-best-sellers .product-card:hover{transform:none}.home-best-sellers .product-card:hover .product-card__media{box-shadow:0 0 0 1px rgba(203,161,53,.5)}}
.home-best-sellers .product-card__body{padding:clamp(.75rem,1.6vw,1.1rem) .2rem 0}
.home-best-sellers .product-card__title{margin:0;color:var(--color-ink);font-size:clamp(1.1rem,1.8vw,1.55rem);font-weight:500;line-height:1.05;letter-spacing:.025em;text-transform:uppercase}
.home-product-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:.65rem;margin-top:auto;padding-top:1rem}
.home-best-sellers .product-card__price{margin:0;color:var(--color-ink);font:600 .9rem/1 var(--font-serif)}
.home-best-sellers .current-price{color:var(--color-ink);font-weight:600}.home-best-sellers .old-price{color:var(--color-ink-muted)}
/* .home-product-notify -> sitewide .link-cta.link-cta--on-light (LINK1) */
.home-product-unavailable{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;text-align:right}
.home-best-sellers .product-card__status{margin:0;padding:0;background:transparent;color:var(--color-ink-muted)}

/* Daily Ritual / bundle */
.home-bundle h2{margin:.25rem 0 .5rem;color:#fff;font-size:clamp(2.25rem,4vw,3rem)}
.home-bundle{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;background:linear-gradient(135deg,#252219,#15181d 60%);border:1px solid rgba(203,161,53,.3);border-radius:var(--radius-lg)}.home-bundle__media{height:100%;min-height:430px}.home-bundle__media img{width:100%;height:100%;object-fit:cover}.home-bundle__copy{padding:clamp(2rem,5vw,3.25rem)}.home-bundle__description{max-width:31rem;margin:.65rem 0 0;color:var(--color-muted-bright);line-height:1.7}.home-bundle__purchase{margin-top:1.45rem}.home-bundle__price{display:flex;align-items:baseline;gap:.65rem;margin:0 0 1rem}.home-bundle__price strong{font-size:1.9rem}.home-bundle__price s{color:var(--color-subtle)}.home-bundle__purchase form{margin:0}.home-bundle__purchase .button{min-width:min(100%,15rem)}
.home-bundle__product-name{margin-top:1.25rem;font-family:var(--font-serif);font-size:1.05rem;color:#fff}
/* v1.2.24: Daily Ritual kit drawer wiring. Image acts as a click/keyboard drawer surface; trigger spacing. */
.home-bundle__media[role=button]{cursor:pointer}
.home-bundle__media[role=button]:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}
.home-bundle__details{margin-top:1.15rem}

.home-bundle__gift{margin-top:2.25rem;padding-top:1.65rem;border-top:1px solid rgba(203,161,53,.28)}
.home-bundle__gift>p:not(.eyebrow-sm){max-width:28rem;margin:0 0 .85rem;color:var(--color-muted-bright);font-family:var(--font-serif);font-size:1.08rem;line-height:1.5}
/* .home-bundle__gift-link -> sitewide .link-cta (LINK1) */

/* Made With Purpose */
.home-credibility{background:var(--color-ivory);color:var(--color-ink)}
.home-credibility>.site-container{max-width:980px}
.home-credibility h2{max-width:18ch;margin:.2rem auto 0;color:var(--color-ink);text-align:center;font-size:clamp(2.25rem,4vw,3.4rem);font-weight:600;letter-spacing:-.015em}
.home-credibility{padding-block:clamp(3.25rem,5vw,4.6rem)}
.home-credibility h2{font-size:clamp(2.35rem,4.2vw,3.8rem)}
.home-purpose-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2rem,3.4vw,2.8rem);border-top:1px solid #cfc5b1;border-bottom:1px solid #cfc5b1}
.home-purpose-item{position:relative;display:block;min-width:0;padding:clamp(1.6rem,2.6vw,2.15rem) clamp(1.35rem,2.6vw,2.2rem) clamp(1.7rem,2.8vw,2.35rem)}
.home-purpose-item+ .home-purpose-item{border-left:1px solid #cfc5b1}
.home-purpose-number{display:block;margin:0 0 .85rem;color:rgba(155,118,35,.72);font:700 clamp(2.5rem,4vw,3.75rem)/1 var(--font-serif);letter-spacing:.06em}
.home-purpose-item h3{margin:0 0 .65rem;color:var(--color-ink);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:600;line-height:1.12}
.home-purpose-item p{max-width:24rem;margin:0;color:var(--color-ink-muted);font-family:var(--font-serif);font-size:clamp(1rem,1.3vw,1.08rem);line-height:1.55}

/* Philosophy */
.home-philosophy{background:#1c2026;color:var(--color-muted-bright);border-top:1px solid rgba(203,161,53,.24)}.home-philosophy__inner{max-width:760px}.home-philosophy h2{margin:.25rem 0 1.25rem;color:#fff;font-size:clamp(2.4rem,4vw,3.5rem)}.home-philosophy p{font-size:1.05rem;line-height:1.75}.home-philosophy__finish{margin-top:1.4rem;color:var(--color-gold-bright);font-family:var(--font-serif);font-size:1.5rem}

/* The Last Five Minutes (brand story) */
.home-story{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:690px;background:#11151a;border-block:1px solid rgba(203,161,53,.28)}
.home-story__media{min-height:690px;overflow:hidden;background:var(--color-black)}.home-story__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-story__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,5.75rem);background:radial-gradient(circle at 100% 0,rgba(203,161,53,.08),transparent 38%),#11151a}.home-story__copy .eyebrow{margin-bottom:1.1rem}.home-story h2{max-width:34rem;margin:0 0 .7rem;color:#eee8dc;font-size:clamp(2.4rem,5.2vw,4rem);line-height:.98;letter-spacing:-.035em}.home-story__deck{margin:0 0 1.9rem;color:var(--color-muted);font-family:var(--font-serif);font-size:1.1rem;font-style:italic}.home-story__body{max-width:35rem;columns:2;column-gap:2.1rem;column-rule:1px solid rgba(203,161,53,.17);color:var(--color-muted-bright);font-size:1.125rem;line-height:1.7}.home-story__body p{margin:0 0 .8rem;break-inside:avoid}.home-story__body strong{color:#eee8dc}.home-story__finish{display:flex;align-items:center;gap:1.1rem;margin:1.6rem 0 0;color:var(--color-gold-bright);font:700 1.55rem/1.2 var(--font-serif)}.home-story__finish::before{content:"";width:3.4rem;height:1px;background:var(--color-gold)}

/* Closing CTA + empty state */
.home-closing{text-align:center;background:radial-gradient(ellipse at 50% 38%,rgba(203,161,53,.12),transparent 56%),#171713;border-top:1px solid rgba(203,161,53,.32);border-bottom:1px solid rgba(203,161,53,.32)}
.home-closing__copy{max-width:46rem}
.home-closing .eyebrow{margin-bottom:1rem}
.home-closing h2{margin:0 0 .85rem;color:#f2ede3;font-size:clamp(2.5rem,5vw,3.75rem);line-height:1;letter-spacing:-.025em}
.home-closing__copy>p:not(.eyebrow){max-width:40rem;margin:0 auto 1.75rem;color:var(--color-muted-bright);font-family:var(--font-serif);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}
.home-empty{grid-column:1/-1;text-align:center;color:var(--color-muted)}.home-empty a{color:var(--color-gold-bright)}

/* Journal: one feature + two supporting stories */
.journal{background:var(--color-ivory);color:var(--color-ink)}
.journal-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow eyebrow" "title all" "deck all";align-items:end;column-gap:2rem;max-width:none;margin:0 0 2.4rem;text-align:left}
.journal-head .eyebrow{grid-area:eyebrow;margin-bottom:1rem}
.journal-head h2{grid-area:title;max-width:18ch;margin:0;color:var(--color-ink);font-size:clamp(2.6rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.015em}
.journal-head>p{grid-area:deck;margin:.75rem 0 0;color:var(--color-ink-muted);font-size:1rem;line-height:1.6}
.journal-all{grid-area:all;align-self:end;margin-bottom:.25rem}  /* layout only; visual = .link-cta.link-cta--on-light (LINK1) */
.journal-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:1rem;min-height:620px}
.journal-card{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface)}
.journal-card.feature{grid-column:1;grid-row:1 / span 2}
.journal-card.top{grid-column:2;grid-row:1}
.journal-card.bottom{grid-column:2;grid-row:2}
.journal-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.journal-card.feature img{object-position:center right}
.journal-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,12,.46),rgba(8,10,12,.18) 48%,transparent 78%)}
.journal-card.support::after{background:linear-gradient(90deg,rgba(8,10,12,.42),rgba(8,10,12,.14) 58%,transparent 88%)}
.journal-card>a{position:absolute;inset:0;z-index:3}
.journal-copy{position:absolute;inset:0 auto 0 0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;width:72%;padding:clamp(1.4rem,3vw,2.6rem);pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.58)}
.journal-card.support .journal-copy{width:82%;padding:clamp(1.2rem,2.2vw,1.8rem)}
.journal-meta{margin:0 0 .8rem;color:var(--color-gold-bright);font-family:var(--font-sans);font-size:.875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.journal-card h3{margin:0 0 .65rem;color:#f3eee4;font-family:var(--font-serif);font-size:clamp(1.75rem,2.7vw,2.85rem);font-weight:700;letter-spacing:-.018em;line-height:1.03}
.journal-card.support h3{font-size:clamp(1.35rem,1.9vw,1.9rem);line-height:1.06}
.journal-body{display:block;columns:auto;margin:0 0 1.15rem}
.journal-body p{margin:0;color:#f2eee6}
.journal-card.support .journal-body{margin-bottom:.85rem}
/* .journal-cta -> sitewide .link-cta (LINK1); the card link nudges its arrow on hover: */
.journal-card:hover .link-cta::after,.journal-card:focus-within .link-cta::after{transform:translateX(4px)}
.journal-empty{text-align:center;color:var(--color-ink-muted)}

/* ===== Responsive ===== */
@media(max-width:900px){.home-hero__inner{grid-template-columns:1fr;min-height:auto}.home-hero__media{order:-1}.home-bundle{grid-template-columns:1fr}.home-bundle__media{min-height:320px}.home-best-sellers .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-best-sellers .product-card__title{font-size:clamp(1rem,4vw,1.35rem)}.home-story{grid-template-columns:1fr;min-height:0}.home-story__media{min-height:20rem}.home-story__copy{padding:2.75rem var(--site-gutter) 3rem}.home-story h2{max-width:none}.home-story__body{max-width:none;columns:1;font-size:1.125rem;line-height:1.72}}
@media(max-width:760px){.journal-head{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "deck" "all";text-align:center}.journal-head .eyebrow{justify-content:center}.journal-head h2{max-width:none}.journal-all{margin-top:1.15rem}.journal-grid{display:flex;flex-direction:column;min-height:0}.journal-card.feature{min-height:520px}.journal-card.support{min-height:320px}.journal-copy,.journal-card.support .journal-copy{width:82%}}
@media(max-width:600px){.home-hero__inner{gap:1.6rem;padding-block:1.85rem 2.2rem}.home-hero__copy{text-align:center}.home-hero__copy .eyebrow{justify-content:center}.home-hero__actions{justify-content:center}.home-hero h1{margin-bottom:.9rem;font-size:3rem}.home-hero__copy>p:not(.eyebrow){margin-bottom:1.15rem}.home-best-sellers{padding-block:2.45rem 2.7rem}.home-products-head{margin-bottom:1.35rem}.home-bundle__media{min-height:250px}.home-bundle__copy{padding:1.75rem 1.35rem 2rem}.home-bundle__purchase{margin-top:1.2rem}.home-bundle__gift{margin-top:1.9rem;padding-top:1.45rem}.home-credibility{padding-block:2.7rem 3rem}.home-purpose-list{display:block;margin-top:1.8rem;border-bottom:0}.home-purpose-item{padding:.4rem 1.8rem .5rem;border-bottom:0}.home-purpose-item+ .home-purpose-item{border-left:0}.home-purpose-item:nth-child(2){text-align:right}.home-purpose-item:nth-child(2) p{margin-left:auto}.home-purpose-number{margin-bottom:.55rem;font-size:clamp(2.75rem,11vw,3.5rem);letter-spacing:.06em}.home-purpose-item h3{margin-bottom:.4rem}}
@media(max-width:520px){.journal-card.feature{min-height:460px}.journal-card.support{min-height:340px}.journal-copy,.journal-card.support .journal-copy{width:92%;padding:1.35rem}}
@media(max-width:380px){.home-best-sellers .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Welcome capture — homepage-only timed invitation */
.welcome-capture{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:1rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.welcome-capture.is-open{visibility:visible;opacity:1;pointer-events:auto}
.welcome-capture__backdrop{position:absolute;inset:0;background:rgba(5,7,9,.72);backdrop-filter:blur(5px)}
.welcome-capture__panel{position:relative;width:min(100%,510px);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1.7rem,4vw,2.45rem);border:1px solid rgba(203,161,53,.48);border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0,rgba(203,161,53,.09),transparent 38%),#15191e;box-shadow:0 32px 90px rgba(0,0,0,.55)}
.welcome-capture__mark{width:72px;height:auto;margin:0 0 1.3rem}
.welcome-capture h2{margin:0 2.5rem .8rem 0;color:#f4efe5;font-size:clamp(2rem,5vw,2.8rem);font-weight:600}
.welcome-capture__lede{margin:0 0 .8rem;color:var(--color-muted-bright);line-height:1.62}
.welcome-capture__offer{margin:0;color:#f0dfae;font-family:var(--font-serif);font-size:1.15rem}
.welcome-capture__close{position:absolute;top:.65rem;right:.65rem;display:grid;width:44px;height:44px;place-items:center;border:0;background:transparent;color:var(--color-muted-bright);font-size:1.65rem;cursor:pointer}
.welcome-capture__close:hover{color:#fff}
.welcome-capture .marketing-form{margin-top:1.35rem}
.welcome-capture__privacy{margin:.7rem 0 0;color:var(--color-subtle);font-size:.875rem;line-height:1.5}
.welcome-capture__success{margin-top:1.25rem;padding:1rem 1.05rem;border-left:2px solid var(--color-gold);background:rgba(203,161,53,.08)}
.welcome-capture__success strong{display:block;margin-bottom:.25rem;color:#fff;font-family:var(--font-serif);font-size:1.2rem}
.welcome-capture__code{display:inline-block;margin-top:.55rem;padding:.42rem .7rem;border:1px solid rgba(203,161,53,.55);color:var(--color-gold-bright);font-weight:800;letter-spacing:.12em}
body.welcome-capture-open{overflow:hidden}
@media(max-width:600px){.welcome-capture{align-items:end;padding:.65rem}.welcome-capture__panel{width:100%;border-radius:18px 18px 10px 10px;padding:1.55rem}.welcome-capture__mark{width:58px}.welcome-capture h2{font-size:2rem}}
