/* TOP直下の紹介だけに適用。既存の一覧・フォーム・アルバムには作用しない。 */
.cat-theme .lb-intro-about,
.cat-theme .lb-intro-breed { position:relative; isolation:isolate; }
.cat-theme .lb-intro-about { padding:80px 0 86px; background:#fff; }
.lb-intro-about-grid { display:grid; grid-template-columns:1.03fr 1fr; grid-template-rows:auto 1fr; column-gap:76px; align-items:start; }
.lb-intro-about .lb-intro-heading { grid-column:2; grid-row:1; margin-bottom:24px; }
.lb-intro-heading .eyebrow { font-size:11px; letter-spacing:.17em; margin-bottom:12px; }
.lb-intro-heading h2 { font-size:clamp(26px,2.7vw,36px); line-height:1.6; letter-spacing:.035em; }
.lb-intro-family { grid-column:1; grid-row:1 / 3; position:relative; align-self:center; padding-bottom:16px; }
.lb-intro-family::before { content:''; position:absolute; z-index:-1; left:-17px; bottom:25px; width:100px; height:96px; background:radial-gradient(circle,#b4d4e9 1.7px,transparent 2px) 0 0 / 13px 13px; }
.lb-intro-family img { aspect-ratio:4 / 3; height:auto; border-radius:22px 72px 22px 22px; }
.lb-intro-family figcaption { display:flex; align-items:center; gap:10px; padding:16px 0 0 15px; font:500 13px/1.7 var(--round); letter-spacing:.075em; }
.lb-intro-family figcaption span { width:24px; height:1px; background:var(--accent); }
.lb-intro-about-copy { grid-column:2; grid-row:2; font-size:14px; }
.lb-intro-about-copy p { line-height:2.05; }
.lb-intro-about-copy p+p { margin-top:13px; }
.cat-theme .lb-intro-link { display:inline-flex; align-items:center; gap:24px; color:#326f9b; padding:10px 0; margin-top:17px; border-bottom:1px solid #adcee3; font-family:var(--round); font-size:14px; font-weight:700; transition:color .2s,border-color .2s; }
.lb-intro-link span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#eaf4fa; font-family:var(--latin); }
.lb-intro-link:hover { color:var(--accent-dark); border-color:var(--accent-dark); }
@media (min-width:861px) and (max-width:1100px) { .lb-intro-about-grid { column-gap:40px; } }
@media (max-width:860px) {
  .cat-theme .lb-intro-about { padding:52px 0 56px; }
  .lb-intro-about-grid { grid-template-columns:1fr; row-gap:24px; max-width:600px; }
  .lb-intro-about .lb-intro-heading { grid-column:1; grid-row:1; margin:0; }
  .lb-intro-family { grid-column:1; grid-row:2; padding:0; }
  .lb-intro-family img { border-radius:16px 56px 16px 16px; }
  .lb-intro-family figcaption { font-size:12px; padding-top:12px; }
  .lb-intro-family::before { bottom:18px; left:-10px; width:65px; height:60px; }
  .lb-intro-about-copy { grid-column:1; grid-row:3; }
  .lb-intro-about-copy p { line-height:1.95; }
  .lb-intro-about-copy .lb-intro-link { margin-top:10px; }
}

/* 短い紹介と、実際の猫の写真によるカラー比較。 */
.cat-theme .lb-breed-compact { padding:58px 0 48px; background:#f0f7fb; }
.lb-breed-wrap { max-width:980px; }
.lb-breed-heading { text-align:center; }
.lb-breed-heading h2 em { display:inline-block; margin-left:.12em; }
.lb-breed-heading>p { font-size:15px; margin-top:16px; line-height:1.95; }
.lb-breed-colors { margin-top:30px; }
.lb-breed-colors>h3 { font-size:14px; font-weight:500; color:#637d8e; letter-spacing:.08em; margin-bottom:14px; }
.lb-breed-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.lb-breed-color-photo { min-width:0; background:#fff; border-radius:18px; overflow:hidden; }
.lb-breed-image { position:relative; aspect-ratio:16 / 10; overflow:hidden; background:#e5edf1; }
.lb-breed-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lb-breed-seal-image img { width:145%; height:145%; max-width:none; left:-40%; top:-34%; object-position:62% 63%; }
.lb-breed-blue-image img { object-position:center 42%; }
.lb-breed-color-photo figcaption { padding:15px 24px 19px; }
.lb-breed-color-en { font:500 10px/1.5 var(--latin); letter-spacing:.16em; color:#6a7d8a; }
.lb-breed-color-photo h4 { font:700 21px/1.5 var(--round); margin:4px 0 6px; letter-spacing:.02em; }
.lb-breed-color-photo p { font-size:13px; line-height:1.75; }
.lb-breed-color-photo p br { display:none; }
.lb-breed-photo-note { font-size:11px; color:#617481; line-height:1.85; margin-top:14px; }
.lb-breed-mobile { display:none; }
.lb-breed-footer { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; margin-top:15px; }
.lb-breed-footer .lb-intro-link { margin-top:0; flex-shrink:0; }
.lb-breed-sources { margin-top:15px; font-size:10px; color:#617481; max-width:560px; }
.lb-breed-sources summary { cursor:pointer; text-underline-offset:3px; }
.lb-breed-sources[open] summary { margin-bottom:12px; }
.lb-breed-sources summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.lb-breed-sources a { text-decoration:underline; text-underline-offset:3px; }
.lb-breed-sources p { line-height:1.8; }
.lb-breed-sources p+p { margin-top:5px; }
@media (max-width:860px) {
  .cat-theme .lb-breed-compact { padding:40px 0 38px; }
  .lb-breed-wrap { width:90%; max-width:600px; }
  .lb-breed-heading h2 { font-size:27px; line-height:1.55; }
  .lb-breed-heading>p { font-size:13px; margin-top:13px; }
  .lb-breed-heading .eyebrow { font-size:10px; }
  .lb-breed-colors { margin-top:24px; }
  .lb-breed-colors>h3 { margin-bottom:10px; font-size:12px; }
  .lb-breed-photo-pair { gap:12px; }
  .lb-breed-color-photo { border-radius:12px; }
  .lb-breed-image { aspect-ratio:1; }
  .lb-breed-seal-image img { width:145%; height:145%; left:-37%; top:-35%; }
  .lb-breed-blue-image img { object-position:57% center; }
  .lb-breed-color-photo figcaption { padding:11px 12px 14px; }
  .lb-breed-color-en { font-size:8px; letter-spacing:.11em; }
  .lb-breed-color-photo h4 { font-size:15px; margin-top:3px; margin-bottom:6px; }
  .lb-breed-color-photo p { font-size:11px; line-height:1.7; }
  .lb-breed-color-photo p br { display:block; }
  .lb-breed-photo-note { font-size:10px; margin-top:12px; }
  .lb-breed-mobile { display:block; }
  .lb-breed-footer { display:block; margin-top:10px; }
  .lb-breed-footer .lb-intro-link { font-size:13px; }
  .lb-breed-sources { margin-top:16px; }
}
@media (max-width:360px) {
  .lb-breed-heading h2 { font-size:25px; }
  .lb-breed-color-photo figcaption { padding-inline:10px; }
  .lb-breed-color-photo h4 { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .cat-theme .lb-intro-link { transition:none; } }

/* ニュースはヒーロー直下。価格とアルバムは一続きの淡いブルーに。 */
.cat-theme .ragdoll-news { padding-bottom:42px; }
.cat-theme .cat-price + .album-gift { background:var(--soft); border-top-left-radius:0; border-top-right-radius:0; }
.cat-theme .cat-price + .album-gift::before { content:''; position:absolute; top:0; left:6%; width:88%; height:1px; background:#cbdde980; }
@media (max-width:640px) { .cat-theme .ragdoll-news { padding-bottom:28px; } }

/* スマホの見学導線を追従ボタンに集約。 */
@media (max-width:640px) {
 .cat-theme .hero-reserve-row { display:none; }
 .cat-theme .bottom-dock .dock-reserve { gap:10px; padding-inline:12px; font-size:13px; }
}
