.hero { min-height:650px; display:flex; align-items:center; overflow:hidden; background:linear-gradient(90deg,#fbf8f2 0%,#fbf8f2 53%,#f8f3ed 100%); }
.hero__grid { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:26px; }
.hero__copy { padding:76px 0 84px; position:relative; z-index:2; }
.hero__copy h1 { max-width:640px; margin-bottom:22px; }
.hero__text { max-width:550px; margin-bottom:30px; font-size:19px; color:var(--muted); }
.hero__art { align-self:end; margin-right:-74px; }
.hero__art img { width:100%; max-height:610px; object-fit:contain; object-position:right bottom; }

.intro-band { position:relative; background:#f8f3eb; border-top:1px solid rgba(90,65,45,.05); border-bottom:1px solid rgba(90,65,45,.05); overflow:hidden; }
.intro-band__inner { position:relative; min-height:270px; display:grid; place-items:center; text-align:center; padding:58px 170px 64px; }
.intro-band h2 { font-size:31px; margin-bottom:14px; }
.intro-band p { max-width:760px; color:var(--muted); margin:0 auto; }
.intro-band__branch { position:absolute; left:18px; bottom:0; width:220px; opacity:.72; transform:none; object-fit:contain; }
.intro-band__rabbit { position:absolute; right:24px; bottom:0; width:138px; object-fit:contain; }

.topics-section { padding-bottom:58px; }
.topic-list { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; max-width:980px; margin:0 auto; }
.topic-list a { padding:11px 20px; border-radius:999px; border:1px solid #e6ddd3; background:#fff; font-size:15px; }
.topic-list a:nth-child(6n+1){background:#eef1f5}.topic-list a:nth-child(6n+2){background:#eef3ec}.topic-list a:nth-child(6n+3){background:#f8eee8}.topic-list a:nth-child(6n+4){background:#e9f2f2}.topic-list a:nth-child(6n+5){background:#f7f0df}.topic-list a:nth-child(6n){background:#f1eaf5}

.stories-section { padding-top:50px; background:#fcfaf6; }

.specialist-section { background:#f7eae7; position:relative; overflow:hidden; }
.specialist-card { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:72px; }
.specialist-card__image { align-self:end; margin-bottom:-96px; }
.specialist-card__image img { max-height:610px; object-fit:contain; object-position:left bottom; }
.specialist-card__copy { max-width:610px; padding:30px 0; }
.specialist-card__copy p:not(.eyebrow) { color:var(--muted); margin-bottom:28px; }

.process-section { background:#fbf8f2; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.process-step { border-top:1px solid #cfc6bc; padding:22px 4px 0; }
.process-step span { color:var(--accent-dark); font:italic 19px Georgia,serif; }
.process-step h3 { margin:12px 0 8px; }
.process-step p { color:var(--muted); font-size:15px; margin:0; }

.subscription-section { background:#f7e8e5; padding:74px 0; }
.subscription-card { position:relative; min-height:360px; display:grid; grid-template-columns:1.15fr .7fr .65fr; gap:48px; align-items:center; background:rgba(255,255,255,.20); border-radius:22px; padding:48px 42px; overflow:hidden; }
.subscription-card__copy { position:relative; z-index:2; }
.subscription-card__copy h2 { margin-bottom:24px; }
.subscription__benefits { list-style:none; padding:0; margin:0; }
.subscription__benefits li { position:relative; padding-left:30px; margin:15px 0; font-size:var(--font-subscription-item); line-height:1.5; }
.subscription__benefits li::before { content:'✓'; position:absolute; left:0; color:var(--accent-dark); font-weight:800; }
.price-card { position:relative; z-index:2; background:rgba(255,255,255,.82); border:1px solid rgba(140,100,86,.10); border-radius:16px; padding:30px; box-shadow:var(--shadow); }
.price-card__price { font:36px Georgia,serif; margin-bottom:3px; }
.price-card__price span { font:15px Inter,sans-serif; color:var(--muted); }
.price-card p { color:var(--muted); font-size:14px; }
.subscription-card__art { width:255px; justify-self:end; margin-right:-28px; }

.faq-section { background:#fcfaf6; }
.faq-wrap { display:grid; grid-template-columns:300px 1fr; gap:72px; align-items:start; }
.faq-wrap__title { position:sticky; top:110px; }
.faq-wrap__title h2 { margin-bottom:20px; }
.faq-wrap__title img { width:185px; margin-left:-38px; opacity:.82; }
.faq { border-top:1px solid var(--line); }
.faq__item { border-bottom:1px solid var(--line); }
.faq__question { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:23px 4px; cursor:pointer; list-style:none; font-size:var(--font-faq-question); line-height:1.45; }
.faq__question::-webkit-details-marker { display:none; }
.faq__icon { flex:0 0 auto; font-size:24px; line-height:1; transition:transform .18s ease; }
.faq__item[open] .faq__icon { transform:rotate(45deg); }
.faq__answer { max-width:760px; padding:0 4px 24px; color:var(--muted); font-size:var(--font-faq-answer); line-height:1.65; }

.support-section { padding:58px 0; background:#eaf2f8; }
.support-card { display:flex; justify-content:space-between; align-items:center; gap:48px; }
.support-card h2 { margin-bottom:10px; font-size:34px; }
.support-card p:not(.eyebrow) { color:var(--muted); margin-bottom:0; }
.hero { background-image:linear-gradient(90deg,rgba(251,248,242,.96) 0%,rgba(251,248,242,.91) 52%,rgba(251,248,242,.48) 100%),url('../images/bg_warm.png'); background-size:cover; background-position:center; }
.support-section { background-image:linear-gradient(rgba(234,242,248,.92),rgba(234,242,248,.92)),url('../images/bg_soft.png'); background-size:cover; background-position:center; }
@media (max-width:760px){.story-page__grid{grid-template-columns:1fr;gap:34px}.specialist-card--page .specialist-card__copy h1{font-size:38px}}


/* v9 author process + library access */
.process-section--author { background:#fbf8f3; }
.process-heading > p:last-child { max-width:650px; margin:14px auto 0; color:var(--muted); }
.process-grid--three { grid-template-columns:repeat(3,1fr); gap:34px; max-width:1040px; margin-left:auto; margin-right:auto; }
.process-grid--three .process-step { padding-top:25px; }
.process-grid--three .process-step h3 { font-size:24px; }

.subscription-section--library { background:#efe4e0; }
.library-access {
  position:relative;
  min-height:390px;
  display:grid;
  grid-template-columns:1.15fr .58fr;
  gap:70px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(114,84,71,.09);
  border-radius:24px;
  background:rgba(255,255,255,.45);
  padding:52px 56px;
}
.library-access__intro { position:relative; z-index:2; max-width:620px; }
.library-access__intro h2 { margin-bottom:16px; }
.library-access__intro > p:not(.eyebrow) { max-width:590px; color:var(--muted); }
.library-access__benefits {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 28px;
  list-style:none;
  padding:24px 0 0;
  margin:24px 0 0;
  border-top:1px solid rgba(115,91,77,.15);
}
.library-access__benefits li { position:relative; padding-left:18px; color:#514842; font-size:14px; }
.library-access__benefits li::before { content:'·'; position:absolute; left:1px; color:var(--accent-dark); font-weight:700; }
.library-access__aside { position:relative; z-index:2; padding:28px; border-radius:18px; background:rgba(255,255,255,.82); box-shadow:0 20px 50px rgba(88,62,52,.08); }
.library-access__price strong { display:block; font:40px/1 Georgia,serif; }
.library-access__price span { display:block; margin:6px 0 22px; color:var(--muted); }
.library-access__aside > p { color:var(--muted); font-size:14px; }
.library-access__aside small { display:block; margin-top:12px; text-align:center; color:var(--muted); }
.library-access__art { position:absolute; right:-40px; bottom:-54px; width:230px; opacity:.28; pointer-events:none; }

@media (max-width:760px){
  .process-grid--three { grid-template-columns:1fr; gap:22px; }
  .library-access { grid-template-columns:1fr; gap:28px; padding:34px 24px; }
  .library-access__benefits { grid-template-columns:1fr; }
  .library-access__aside { max-width:420px; }
}
