/* Original photography and breed pages. Brand typography and colours are shared. */
.breed-page .breed-hero { padding: clamp(36px, 4vw, 56px) 0; }
.breed-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); align-items:center; gap:clamp(30px,5vw,76px); }
.breed-page .subpage-eyebrow { font-size:clamp(1.9rem,2.7vw,2.65rem); margin-bottom:22px; }
.breed-page h1 { font-family:var(--font-head); font-size:clamp(2.65rem,4.6vw,4.3rem); line-height:1.06; letter-spacing:-.02em; margin:0; text-wrap:balance; }
.breed-page h1 span { display:block; }
.breed-hero-copy > p { font-size:clamp(1rem,1.3vw,1.125rem); line-height:1.8; color:var(--muted); max-width:49ch; margin:24px 0; }
.breed-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0; }
.breed-facts { margin:28px 0 0; border-top:1px solid var(--border); padding-top:20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.breed-facts dt { color:var(--muted); font-size:.78rem; margin-bottom:6px; }
.breed-facts dd { margin:0; font-size:.88rem; font-weight:700; line-height:1.5; }
.breed-photo { margin:0; min-width:0; }
.breed-photo-frame { position:relative; display:block; aspect-ratio:3/4; overflow:hidden; border-radius:22px; background:var(--cream); }
.breed-photo-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--photo-x,50%) var(--photo-y,50%); transform:scale(var(--photo-scale,1)); transform-origin:var(--photo-x,50%) var(--photo-y,50%); }
.breed-photo figcaption { font-size:.82rem; color:var(--muted); line-height:1.55; padding:12px 2px 0; }
.breed-hero .breed-photo { width:100%; max-width:390px; justify-self:end; }
.breed-section { padding:clamp(48px,6vw,84px) 0; }
.breed-section--cream { background:var(--cream); }
.breed-section-heading { max-width:760px; margin-bottom:32px; }
.breed-kicker { display:block; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.breed-page h2 { font-family:var(--font-head); font-size:clamp(2rem,3.4vw,3.1rem); line-height:1.12; margin:0 0 18px; text-wrap:balance; }
.breed-page h3 { font-family:var(--font-head); font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.2; margin:0 0 14px; }
.breed-page .breed-section p { color:var(--muted); line-height:1.8; }
.breed-copy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,5vw,76px); }
.breed-copy-grid article { border-top:1px solid var(--border); padding-top:24px; }
.breed-copy-grid p { margin:0 0 16px; }
.breed-inline-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; text-decoration:underline; text-underline-offset:5px; font-weight:700; font-size:.9rem; }
.breed-photo-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,30px); }
.breed-gallery-link { margin-top:30px; }
.breed-read-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.breed-read-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; border-block:1px solid var(--border); padding:22px 0; font-size:1.05rem; font-weight:650; line-height:1.5; }
.breed-read-links .ico { flex:none; }
.breed-page .subpage-cta-section { padding:40px 0 80px; }
.breed-page .subpage-cta-box h2 { max-width:680px; }
.breed-page .subpage-cta-box p { max-width:660px; }
.breed-page .subpage-cta-box .subpage-eyebrow { color:#fff; }
.breed-page .subpage-cta-box > .btn { --btn-bg:#fff; --btn-fg:var(--graphite); }
.breed-page .subpage-cta-box > .btn:hover { background:var(--cream); color:var(--graphite); }
.breed-page .btn { white-space:normal; }
.breed-overview-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; width:100%; }
.breed-overview-pair .breed-photo:nth-child(2) { margin-top:44px; }
.breed-overview-cards { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,50px); }
.breed-overview-cards article { min-width:0; }
.breed-overview-cards .breed-photo-frame { max-height:470px; }
.breed-overview-cards h2 { margin-top:24px; }
/* Group photos keep the same tile size and their full composition. */
.gallery-mosaic--aligned .mosaic-tile--group img { object-fit:contain; transform:none; }
.gallery-mosaic--aligned .mosaic-tile:focus-visible { outline:3px solid var(--graphite); outline-offset:4px; }
@media (max-width:980px) {
  .breed-hero-grid { gap:28px; }
  .breed-page h1 { font-size:clamp(2.45rem,5vw,3.4rem); }
  .breed-facts { grid-template-columns:1fr; gap:8px; }
  .breed-facts > div { display:flex; justify-content:space-between; gap:14px; }
  .breed-facts dt { margin:0; }
}
@media (max-width:760px) {
  .breed-hero-grid,.breed-copy-grid,.breed-overview-cards { grid-template-columns:1fr; }
  .breed-page .breed-hero { padding:34px 0 48px; }
  .breed-page .subpage-eyebrow { margin-bottom:16px; }
  .breed-page h1 { font-size:clamp(2.5rem,9.5vw,3.7rem); }
  .breed-hero .breed-photo { justify-self:center; max-width:420px; }
  .breed-hero-copy > p { margin:20px 0; }
  .breed-actions { margin:22px 0; }
  .breed-actions .btn { flex:1 1 180px; text-align:center; justify-content:center; }
  .breed-photo-row { grid-template-columns:1fr; max-width:420px; margin-inline:auto; gap:28px; }
  .breed-read-links { grid-template-columns:1fr; gap:0; }
  .breed-read-links a + a { border-top:0; }
  .breed-overview-pair { max-width:540px; margin-inline:auto; gap:12px; }
  .breed-overview-pair .breed-photo:nth-child(2) { margin-top:28px; }
  .breed-page .subpage-cta-section { padding:20px 0 48px; }
}
