/* LightTide — a shared reading rhythm, with existing illustrations and controls. */
.welcome .invitation h1{font-size:clamp(2.25rem,calc(1rem + 2.6vw),3.85rem);line-height:1.09;text-wrap:balance}
.welcome .description{font-size:clamp(1rem,calc(.9rem + .2vw),1.0625rem);line-height:1.65}
.welcome .welcome-actions{gap:8px 20px}
.foundation{background:#faf9f4}
.lt-finish :is(.sf-head,.sf-service-head) .xp-title{text-wrap:balance}
.lt-finish .sf-topic>p{font-size:.9375rem;line-height:1.6}
.lt-finish :is(.sf-preview,.sf-models dd,.sf-specs dd,.sf-footnote){font-size:.8125rem;line-height:1.55}
.lt-finish .sf-models dt,.lt-finish .sf-specs dt{font-size:.8125rem;line-height:1.5}
.lt-finish .sf-technology .xp-hero-figure>.xp-stage-caption{font-size:.75rem;line-height:1.5}
.lt-finish .sf-technology .xp-gallery-controls .xp-chip{font-size:.8125rem}
.lt-finish .sf-services .xp-notebook-scope,.lt-finish .sf-services .xp-process dd{font-size:.8125rem;line-height:1.6}
.lt-finish .psf-ready .psf-topline{align-items:flex-start;flex-wrap:wrap;gap:8px 16px}
.lt-finish .psf-ready .psf-index,.lt-finish .psf-ready .psf-badge{font-size:.75rem;line-height:1.45}
.lt-finish .psf-ready .psf-badge{letter-spacing:.06em}
.lt-finish .psf-ready .psf-description{font-size:.9375rem;line-height:1.65}
.lt-finish .psf-ready .psf-facts dt{font-size:.8125rem;line-height:1.5}
.lt-finish .psf-ready .psf-facts dd{font-size:.875rem;line-height:1.5}
.lt-finish .psf-ready .psf-purchase{flex-wrap:wrap;gap:10px 16px}
.lt-finish .psf-ready .psf-buy{font-size:.8125rem}
.lt-finish .psf-ready .psf-purchase-note,.lt-finish .psf-ready .xp-piece-note{font-size:.8125rem;line-height:1.6}
.lt-finish .psf-ready .psf-purchase-note{flex:1 1 220px}
.lt-finish .psf-ready .xp-piece.psf-piece{box-shadow:0 18px 42px #173b5109}
.ps-new-books .ps-books-kicker,.ps-new-books .ps-book-facts dt{font-size:.75rem;line-height:1.5}
.ps-new-books .ps-book-facts dd{font-size:.875rem;line-height:1.6}
.ps-new-books .ps-book-feature figcaption,.ps-new-books .ps-books-footnote{font-size:.8125rem;line-height:1.6}
.ps-new-books .ps-book-candidates p{font-size:.875rem;line-height:1.65}
.ps-new-books .ps-book-feature button{font-size:.8125rem}
.ps-news-link .ps-news-jump{min-height:44px;display:inline-flex;align-items:center;font-size:.8125rem}
.jm-page .jm-main{margin:0 auto;flex:1;padding-block:26px 24px}
.jm-page .jm-skip{z-index:30}
.jm-page .jm-hero .jm-main-title{font-size:clamp(2.3rem,calc(1.4rem + 2.8vw),4.2rem);line-height:1.08;text-wrap:balance}
.jm-page :is(.jm-kicker,.jm-eyebrow,.jm-draft,.jm-footer){font-size:.75rem;line-height:1.5}
.jm-page .jm-book figcaption{font-size:.75rem;line-height:1.4}
.jm-page :is(.jm-note,.jm-book-offer p){font-size:.8125rem;line-height:1.6}
.jm-page .jm-view-nav :is(.jm-tab,.jm-back){font-size:.8125rem}
.lt-finish :is([data-book-status],[data-history-status]):focus,#ps-new-books:focus{outline:2px solid #2a5f8a;outline-offset:5px;border-radius:4px}
@media(max-width:760px){
 .welcome .introduction{padding:24px 24px 28px}
 .welcome .eyebrow{margin-bottom:14px}
 .welcome .invitation h1{margin-bottom:18px}
 .welcome .welcome-actions{margin-top:16px;gap:4px 16px}
 .welcome .beginning{padding-top:14px}
 .welcome .city{height:clamp(380px,62svh,520px);min-height:0}
 .foundation .company-footer{padding-block:22px}
}
@media(max-width:580px){
 .lt-finish .psf-ready .psf-purchase-note{flex:0 1 auto}
 .lt-finish .psf-ready .psf-purchase{margin-bottom:0}
 .ps-new-books .ps-book-feature{padding:22px 18px}
 .jm-page .jm-main{padding-block:20px}
}
@media(prefers-reduced-motion:reduce){
 .welcome .invitation,.psf-sheet,.ps-new-books,.jm-panel{scroll-behavior:auto}
}

/* Text is available on arrival; the illustrated carousel keeps its motion. */
.welcome .invitation .reveal,.welcome .beginning{animation:none;opacity:1;transform:none}
.welcome .invitation h1 em{white-space:nowrap}

/* Reserve room for a two-line caption, including the rotated card edge. */
.jm-page .jm-card-preview{bottom:72px}

@media(max-width:580px){.lt-finish .psf-ready .xp-piece-note{grid-row:1}.lt-finish .psf-ready .xp-piece-emblem{position:static;grid-row:2;align-self:start}}

/* One paper surface for the active sheet. */
.lt-finish .psf-ready .xp-collection-stage{border:0;background:transparent;box-shadow:none}

/* A quiet, shared unavailable notice; no business state or permissions change. */
.member-module-unavailable,body.lt-finish .espace .member-module-unavailable{padding:12px 14px;border-left:2px solid #98743b;border-radius:0 5px 5px 0;background:#f6f2e8;color:#3f5964;font:400 .875rem/1.6 "Segoe UI",system-ui,sans-serif;overflow-wrap:anywhere}

/* Keep keyboard focus distinct from the selected Shop family. */
.lt-finish .xp-family:focus-visible{outline:3px solid #2a5f8a;outline-offset:3px}
@media(forced-colors:active){.lt-finish .xp-family:focus-visible{outline-color:Highlight}}
/* Match the other dialog controls without changing receipt behavior. */
.book-receipt-head button{width:44px;min-width:44px;min-height:44px}

/* Restore the FAQ reading measure and make its answers actionable. */
.lt-finish .espace--aide .faq{max-width:46rem}
.lt-finish .espace--aide .faq .faq-route{margin:0;padding:0 24px 18px}
.lt-finish .espace--aide .faq-route a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#24566c;font:600 .85rem/1.5 "Segoe UI",system-ui,sans-serif;text-underline-offset:4px}
.lt-finish .espace--aide .faq-route a:focus-visible{outline:3px solid #2a5f8a;outline-offset:3px}
@media(forced-colors:active){.lt-finish .espace--aide .faq-route a:focus-visible{outline-color:Highlight}}
