/* Vernlo's editorial collections: warm paper, useful choices, authentic books. */
:root { --warm-paper: #fffcf4; --soft-sage: #e6efdf; --soft-blue: #e3eef0; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
:where(a, button, summary, input):focus-visible { outline:3px solid #a46512; outline-offset:4px; }
:where(section, article, details)[id] { scroll-margin-top:8rem; }
.welcome-hero { padding:clamp(3rem,6vw,5.2rem) 0 3.2rem; border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 90% 0%,#e6d3a0 0,transparent 49%),linear-gradient(115deg,#fffdf7,#fbf4e4); }
.welcome-inner { max-width:1180px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr); gap:2rem; align-items:center; }
.welcome-books { display:flex; align-items:flex-end; justify-content:center; gap:.6rem; padding:2.5rem 0; border-bottom:7px solid #ceb67c; }
.welcome-books img { height:180px; width:auto; max-width:29%; object-fit:contain; object-position:bottom; filter:drop-shadow(0 14px 9px #173f4222); }
.welcome-books img:nth-child(2) { height:250px; max-width:40%; }
.welcome-hero h1 { max-width:1000px; font-size:clamp(2.7rem,5.4vw,4.75rem); }
.welcome-hero .lede { max-width:760px; margin-top:1.4rem; }
.welcome-hero .hero-actions { margin-top:1.6rem; }
.button.button-gold { background:#e6bf73; border-color:#c8993b; color:#123d48; }
.button.button-gold:hover { background:#f1d59f; }
.freebie-promise { display:flex; align-items:center; flex-wrap:wrap; gap:0 .3em; max-width:850px; margin-top:1.65rem; font-size:1rem; color:#315458; }
.freebie-symbol { display:inline-grid; place-items:center; width:29px; height:29px; margin-right:.35rem; background:#e3ebd8; color:#173f42; border-radius:50%; font-size:1.25rem; font-weight:800; }
.freebie-promise a { text-underline-offset:4px; }
.need-section { padding:clamp(3rem,6vw,5rem) 0; background:#fffdf7; }
.calm-heading { max-width:800px; margin-bottom:2rem; }
.calm-heading h2 { font-size:clamp(2rem,3.6vw,3.15rem); }
.calm-heading > p:last-child { color:var(--muted); margin-top:.9rem; max-width:700px; font-size:1.06rem; }
.need-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.need-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; padding:1.6rem; border:1px solid #cbd8cb; border-top:4px solid #668576; border-radius:8px; background:#f0f3e9; color:var(--ink); text-decoration:none; transition:box-shadow 160ms ease,transform 160ms ease; }
.need-card:nth-child(2) { background:#fcf1dc; border-color:#dfcba4; border-top-color:#b78c43; }
.need-card:nth-child(3) { background:#eaf2f4; border-color:#c3d9de; border-top-color:#6896a2; }
.need-card:nth-child(4) { background:#f0ecf7; border-color:#d6cbe5; border-top-color:#8b71a8; }
.need-card:hover { transform:translateY(-3px); box-shadow:0 12px 24px #173f4210; }
.need-label { color:#41635d; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.need-card-top { display:flex; justify-content:space-between; align-items:flex-start; width:100%; gap:.75rem; }
.need-card-top img { width:82px; height:108px; object-fit:contain; object-position:top right; filter:drop-shadow(0 5px 5px #173f421d); }
.need-card h3 { font-size:1.7rem; line-height:1.13; }
.need-card p { color:#4d6162; font-size:.98rem; line-height:1.6; }
.need-action { margin-top:auto; padding-top:.7rem; font-size:.92rem; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.need-action > span { display:none; }
.all-books-link { display:inline-flex; align-items:center; min-height:48px; margin-top:1rem; font-size:.95rem; text-underline-offset:4px; }
.spotlight-section { padding:clamp(3rem,6vw,5rem) 0; background:#f5eddc; }
.spotlight { display:grid; grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(1.5rem,3vw,2.6rem); border:1px solid #d9c9a5; border-radius:8px; background:#fffcf4; }
.spotlight-cover { display:block; max-width:290px; margin:auto; box-shadow:0 17px 30px #173f4225; }
.spotlight-cover img { width:100%; height:auto; }
.spotlight-copy h2 { max-width:640px; font-size:clamp(2rem,3.8vw,3.4rem); }
.spotlight-copy h3 { margin-top:1.2rem; font-size:1.45rem; line-height:1.25; }
.spotlight-copy > p:not(.eyebrow) { max-width:640px; margin-top:1rem; color:#526466; }
.spotlight-benefits { margin:1rem 0 0; padding-left:1.25rem; color:#34585a; }
.spotlight-copy .hero-actions { align-items:center; margin-top:1.4rem; }
.text-link { display:inline-flex; min-height:48px; align-items:center; font-weight:750; text-underline-offset:4px; }
.spotlight-preview { margin-top:1rem; padding:1.2rem; background:#fffdf7; border:1px solid #d9c9a5; border-radius:6px; }
.spotlight-preview > summary { padding:.3rem; font-weight:750; cursor:pointer; }
.spotlight-preview > p { margin:1rem 0; }
.spotlight-preview > .button { margin-top:1.2rem; }
.facetlyn-teaser { padding:clamp(3rem,6vw,5rem) 0; background:linear-gradient(120deg,#f1edf7,#fbf4e7 70%); }
.facetlyn-teaser-grid { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:clamp(2rem,6vw,5rem); }
.status-badge { display:inline-block; width:fit-content; padding:.3rem .7rem; border:1px solid #baa0d1; border-radius:99px; color:#533574; background:#f0e6fa; font-size:.78rem; line-height:1.4; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.facetlyn-wordmark { width:min(440px,100%); height:auto; margin:1rem 0; }
.facetlyn-teaser h2 { font-size:clamp(2.4rem,4.4vw,4rem); }
.facetlyn-teaser p { max-width:520px; color:#4c5f68; margin:1.1rem 0 1.4rem; }
.teaser-cover { display:block; width:min(100%,390px); margin:auto; padding:.4rem; background:#fffdf7; box-shadow:0 15px 35px #3c235528; transform:rotate(1.5deg); }
.teaser-cover img { width:100%; height:auto; }
.facetlyn-hero { padding:clamp(3rem,5vw,4.5rem) 0; background:radial-gradient(ellipse at 80% 15%,#e3dcf3,transparent 65%),linear-gradient(110deg,#fff9e9,#f0eff8); border-bottom:1px solid #d0c6e2; }
.facetlyn-hero-inner { max-width:1180px; }
.facetlyn-hero .facetlyn-wordmark { width:min(520px,100%); margin:1.3rem 0 1.8rem; }
.facetlyn-hero h1 { font-size:clamp(2.5rem,5vw,4.4rem); }
.facetlyn-hero .lede { margin:1.2rem 0 .7rem; }
.facetlyn-hero-inner > p:not(.eyebrow):not(.release-note) { max-width:730px; }
.release-note { margin-top:1.3rem; max-width:700px; color:#5a4d66; font-size:.95rem; }
.collection-section { padding:clamp(3rem,6vw,5rem) 0; }
.coming-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 1.5rem; }
.coming-book { display:flex; flex-direction:column; background:#fffdf7; border:1px solid #d5d2d7; border-radius:8px; overflow:hidden; }
.coming-cover { display:flex; align-items:center; justify-content:center; min-width:0; padding:1.2rem; background:#e8e3ed; aspect-ratio:1; }
.coming-cover img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 7px 16px #25224121; }
.coming-copy { display:flex; flex-direction:column; flex:1; gap:.75rem; padding:1.5rem; }
.coming-labels { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; font-size:.78rem; font-weight:700; color:#65596d; }
.coming-copy h3 { font-size:1.65rem; line-height:1.2; }
.coming-copy > p { color:#536267; font-size:.97rem; }
.coming-copy .book-focus { color:#704c1d; font-size:.88rem; font-weight:800; }
.coming-copy .book-byline { font-size:.85rem; }
.coming-copy .text-link { margin-top:auto; }
.cover-reveal { display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:stretch; width:100%; color:#6c5a7c; border:1px solid #baaacb; background:#f6f2fa; text-align:center; }
.cover-reveal > span { font-size:4rem; line-height:1.2; }
.cover-reveal p { padding:0 1rem; font-family:Georgia,serif; font-size:1.7rem; line-height:1.2; }
.companions-section { background:#edf1ed; }
.companion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; margin:auto; }
.companion-grid .coming-cover { aspect-ratio:1.08; }
.facetlyn-signoff { padding:4rem 0; background:#f1eaf6; text-align:center; }
.facetlyn-signoff h2 { font-size:clamp(2.2rem,4vw,3.5rem); }
.facetlyn-signoff p { margin:1.3rem auto; max-width:600px; color:#5a4d66; }
.privacy-copy { padding:3rem 0 5rem; }
.privacy-copy h2 { margin:2.5rem 0 1rem; font-size:2rem; }
.privacy-copy h2:first-child { margin-top:0; }
.privacy-copy p { margin:1rem 0; color:#465e61; }
.privacy-date { font-size:.9rem; }
.catalog-breadcrumb { display:inline-block; min-height:44px; margin-bottom:.75rem; font-size:.95rem; text-underline-offset:4px; }
.catalog-helper { padding:1.5rem; margin:2rem 0; border-left:4px solid var(--gold); background:#f8efdc; }
.catalog-need-chooser { padding:2.5rem 0; background:#fffdf7; border-bottom:1px solid var(--line); }
.catalog-all-intro { padding:2.5rem 0 1rem; }
.care-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.8rem 0 0; }
.care-path { display:block; padding:1.4rem; border:1px solid #c6d4ce; border-radius:7px; background:#f4f6ee; text-decoration:none; }
.care-path h2,.care-path h3 { font-size:1.6rem; margin-bottom:.6rem; }
.care-path p { color:#506466; margin:.5rem 0; }
.care-path.is-current { border:2px solid #4b766a; background:#e6eddf; }
.catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.focused-catalog .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:1000px) { .need-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .need-card { min-height:250px; } .coming-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .welcome-inner { grid-template-columns:1fr; } .welcome-books { display:none; } }
@media(max-width:700px) { .welcome-hero { padding:2.5rem 0; } .desktop-break { display:none; } .welcome-hero h1 { font-size:clamp(2.6rem,8.8vw,3.4rem); } .spotlight { grid-template-columns:1fr; } .spotlight-cover { max-width:210px; } .facetlyn-teaser-grid { grid-template-columns:1fr; } .teaser-cover { max-width:300px; transform:none; } .facetlyn-teaser-grid>div { order:0; } .catalog-grid,.focused-catalog .catalog-grid { grid-template-columns:1fr; } .care-paths { grid-template-columns:1fr; } }
@media(max-width:500px) { .need-grid { grid-template-columns:1fr; } .need-card { min-height:0; padding:1.35rem; gap:.65rem; } .need-card h3 { font-size:1.7rem; } .coming-grid,.companion-grid { grid-template-columns:1fr; } .coming-cover { max-height:390px; aspect-ratio:auto; min-height:300px; } .coming-cover img { max-height:350px; } .cover-reveal { min-height:250px; } .hero-actions > .button { width:100%; } .freebie-promise { display:block; line-height:1.8; } .freebie-symbol { display:none; } .all-books-link { display:block; padding:.65rem 0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } .need-card:hover,.button:hover { transform:none; } }

/* The first live FACETLYN story; companions retain their release status. */
.status-badge.available { color:#184e42; border-color:#82b19a; background:#e5f2e8; }
.fox-launch-section { background:#f7f2fb; }
.fox-launch { border-color:#cfc0dc; }
.fox-launch .spotlight-cover { max-width:350px; }
.fox-launch .spotlight-copy h2 { margin-top:.8rem; font-size:clamp(2rem,3.7vw,3.25rem); }
.fox-launch .spotlight-copy > .eyebrow { margin-top:1rem; }
.fox-preview { border-color:#cfc0dc; }
.fox-preview .book-preview-grid img { height:290px; }
@media(max-width:700px) { .fox-launch .spotlight-cover { max-width:290px; } }
@media(max-width:500px) { .fox-preview .book-preview-grid { grid-template-columns:1fr; } .fox-preview .book-preview-grid img { height:auto; max-height:420px; } }
