/* Front door, product story and collection: extensions of the Quarto identity. */
[hidden] { display: none !important; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.home-intro { padding:var(--space-md) 0 var(--space-xl); }
.home-intro__copy { display:grid; grid-template-columns:1fr 1.15fr; align-items:start; gap:var(--space-xl); }
.home-intro h1 { font-size:clamp(2rem,3vw,2.85rem); line-height:1.12; margin:0; letter-spacing:-.03em; }
.home-intro .lede { font-size:var(--text-md); line-height:1.45; max-width:45ch; margin:0 0 var(--space-md); }
.home-note { color:var(--color-accent); margin:0 0 var(--space-md); font-size:var(--text-base); }
.home-art { margin:0 auto var(--space-lg); width:100%; max-width:66rem; }
.home-art picture {
 display:block; aspect-ratio:5 / 2;
 /* Reveal the page's paper and grain at the edges, keeping the artwork's center intact. */
 --art-fade-x:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);
 -webkit-mask-image:var(--art-fade-x);
 mask-image:var(--art-fade-x);
}
.home-art img {
 width:100%; height:100%; object-fit:contain;
 --art-fade-y:linear-gradient(to bottom,transparent,#000 4%,#000 80%,transparent);
 -webkit-mask-image:var(--art-fade-y);
 mask-image:var(--art-fade-y);
}
.home-choices { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.home-choices .btn { text-transform:none; font-family:var(--font-body); font-size:1.05rem; letter-spacing:0; min-height:48px; padding:var(--space-sm) var(--space-md); display:inline-flex; gap:var(--space-md); align-items:center; }
.home-choice { border:1px solid var(--color-rule); }
.home-small { font-size:1rem; color:var(--color-ink-2); line-height:1.5; margin-top:var(--space-md); }
.home-feature { display:grid; grid-template-columns:1.1fr 1fr; border-top:1px solid var(--color-rule); gap:var(--space-2xl); padding:var(--space-xl) 0; }
.home-feature h2,.home-pro h2,.home-journeys h2 { font-size:clamp(2rem,3vw,2.85rem); line-height:1.15; margin:0 0 var(--space-md); border:0; padding:0; }
.home-feature__story p { max-width:45ch; }
.home-feature h3 { font-size:var(--text-xl); line-height:1.25; margin:0 0 var(--space-sm); }
.home-feature__practice { padding:var(--space-lg); background:var(--color-paper-2); }
.home-feature__practice p { margin:var(--space-sm) 0 var(--space-md); }
.home-feature label,.catalogue-filters label { display:block; font-weight:600; font-size:1rem; margin-bottom:var(--space-xs); }
.home-feature input,.catalogue-filters input,.catalogue-filters select { font:inherit; border:1px solid var(--color-ink-3); color:var(--color-ink); background:var(--color-paper); width:100%; padding:var(--space-xs) var(--space-sm); min-height:44px; border-radius:var(--radius-sm); }
.home-feature input { margin-bottom:var(--space-md); }
input::placeholder { color:var(--color-ink-2); opacity:1; }
.home-link { font-weight:600; font-size:var(--text-md); }
.plan-result { border-top:1px solid var(--color-rule); margin-top:var(--space-md); padding-top:var(--space-xs); }
.home-pro { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:var(--space-2xl); background:var(--color-paper-2); padding:var(--space-xl); margin:var(--space-lg) 0 var(--space-2xl); }
.home-pro__price { display:inline-block; font-size:1rem; margin:var(--space-sm) 0; }
.record-preview { background:var(--color-paper); padding:var(--space-lg); border:1px solid var(--color-rule); box-shadow:0 8px 24px oklch(24% .014 60 / .05); transform:rotate(1deg); }
.record-preview__label { color:var(--color-accent); font-size:1rem; }
.record-preview h3 { font-size:var(--text-xl); line-height:1.3; margin:var(--space-sm) 0 var(--space-lg); }
.record-preview dl div { border-top:1px solid var(--color-rule); padding:var(--space-sm) 0; }
.record-preview dt { font-size:1rem; font-weight:600; }
.record-preview dd { margin:0; font-size:1.075rem; line-height:1.45; }
.home-journeys { margin:0 0 var(--space-xl); }
.journey-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); padding:var(--space-lg) 0; border-top:1px solid var(--color-rule); }
.journey-row h3 { margin:0; font-size:var(--text-xl); }
.journey-row p { margin:var(--space-xs) 0 0; }
.journey-row ol { margin:0; padding-left:var(--space-lg); }
.journey-row li { padding:var(--space-2xs) 0; }
.essay-title { font-size:var(--text-3xl); }
.catalogue-filters { display:flex; flex-wrap:wrap; align-items:end; gap:var(--space-md); background:var(--color-paper-2); padding:var(--space-lg); margin:var(--space-lg) 0; }
.catalogue-filters>div:first-child { flex:1 1 100%; }
.catalogue-filters>div { flex:1 1 180px; }
.source-card { margin-top:var(--space-sm); font-size:1.05rem; }
.source-card summary { cursor:pointer; padding:var(--space-sm) 0; min-height:44px; color:var(--color-accent); font-weight:600; }
.source-card__body { padding:var(--space-sm) var(--space-md); background:var(--color-paper-2); }
.source-card__body p { margin:var(--space-sm) 0; }
.source-card__reviewed { font-size:1rem; color:var(--color-ink-2); }
.pro-page { max-width:none; }
.pro-intro { display:grid; grid-template-columns:1fr .9fr; gap:var(--space-xl); align-items:center; margin-bottom:var(--space-2xl); }
.pro-intro h1 { font-size:clamp(2.5rem,4.5vw,4.7rem); }
.pro-price { font-size:var(--text-xl); }
.pro-intro img { border:1px solid var(--color-rule); box-shadow:0 14px 35px oklch(24% .014 60 / .08); }
.pro-section { max-width:var(--measure); margin:var(--space-2xl) auto; }
.pro-benefit { border-top:1px solid var(--color-rule); padding:var(--space-lg) 0; display:grid; grid-template-columns:1fr 1.6fr; gap:var(--space-xl); }
.pro-benefit h3,.pro-benefit p { margin:0; }
.comparison-wrap { overflow:auto; }
.pro-comparison { border-collapse:collapse; width:100%; font-size:1.05rem; }
.pro-comparison th,.pro-comparison td { text-align:left; padding:var(--space-md); border-bottom:1px solid var(--color-rule); vertical-align:top; }
.pro-comparison th { background:var(--color-paper-2); }
.pro-comparison caption { text-align:left; font-size:var(--text-xl); font-weight:600; padding-bottom:var(--space-md); }
.pro-faq details { border-top:1px solid var(--color-rule); padding:var(--space-md) 0; }
.pro-faq summary { cursor:pointer; min-height:44px; font-weight:600; }
.pro-cta { background:var(--color-paper-2); padding:var(--space-xl); text-align:center; }
@media (max-width:56rem) {
 .home-intro__copy { grid-template-columns:1fr; gap:var(--space-md); }
 .home-intro .lede { max-width:55ch; }
 .home-feature,.home-pro,.pro-intro { grid-template-columns:1fr; gap:var(--space-lg); }
 .pro-intro figure { margin:0 auto; max-width:32rem; }
}
@media (max-width:40rem) {
 .home-intro h1 { font-size:clamp(1.7rem,8.25vw,2.1rem); }
 .home-choices { gap:var(--space-xs); }
 .home-choices .btn { font-size:1rem; gap:var(--space-xs); padding:var(--space-sm); }
 .home-choices .btn:first-child { flex-basis:100%; justify-content:space-between; }
 .home-choices .btn:not(:first-child) { flex:1; justify-content:space-between; }
 .home-intro { padding-top:var(--space-xs); }
 .home-art { margin-bottom:var(--space-md); }
 .home-art picture {
  aspect-ratio:3 / 2; overflow:hidden;
  --art-fade-x:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);
 }
 .home-art img { object-fit:cover; object-position:center; }
 .home-intro .lede { font-size:var(--text-base); }
 .home-intro .home-small { margin-bottom:0; }
 .home-feature__practice,.home-pro,.pro-cta { padding:var(--space-md); }
 .journey-row,.pro-benefit { grid-template-columns:1fr; gap:var(--space-sm); }
 .record-preview { transform:none; }
 .pro-comparison th,.pro-comparison td { padding:var(--space-sm); }
}
@media (prefers-reduced-motion:reduce) { .record-preview { transform:none; } }

.home-page main a:not(.btn) { color:var(--color-accent); text-underline-offset:.2em; }
.home-choices .home-choice { background:transparent; color:var(--color-ink); text-decoration:none; }
.home-choices .home-choice:hover { background:var(--color-paper-2); }

.pro-session { border:1px solid var(--color-rule); padding:var(--space-lg); background:var(--color-paper-2); font-size:1rem; line-height:1.45; }
.pro-session__bar { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--color-rule); padding-bottom:var(--space-md); font-weight:600; }
.pro-session__bar span { font-size:.95rem; color:var(--color-ink-2); font-weight:400; }
.pro-session .welcome__back,.pro-session .welcome__label,.pro-session .lede,.pro-session .welcome__privacy,.pro-session .actions,.pro-session .welcome__steps,.pro-session .hint { display:none; }
.pro-session h3 { font-size:var(--text-xl); line-height:1.2; margin:var(--space-lg) 0; }
.pro-session summary { font-weight:600; cursor:pointer; min-height:44px; }
.pro-session dl { margin:0; }
.pro-session dl div { border-top:1px solid var(--color-rule); padding:var(--space-sm) 0; }
.pro-session dt { font-weight:600; }
.pro-session dd { margin:var(--space-xs) 0 0; }

.pro-page { padding-top:var(--space-lg); }
.pro-intro .lede { font-size:1.25rem; line-height:1.5; }
