/* Source-backed content in the established Arh Beauty visual system. */
.repair-container { max-width:var(--container,1440px); margin-inline:auto; }
.source-benefits,.source-story,.source-steps,.source-gallery,.source-delivery,
.source-subscription,.source-article-teaser,.dog-pedigree { padding:80px var(--pad,64px); }
.source-benefits,.source-story,.source-delivery,.dog-pedigree { background:var(--bg-light,#fbf4eb); }
.source-steps,.source-gallery,.source-subscription,.source-article-teaser { background:#fff; }
.source-gallery + .source-gallery { border-top:1px solid var(--hairline,#ebe4d8); }
.source-story-grid,.source-subscription .repair-container { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:start; }
.source-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.source-feature { min-width:0; padding:24px; border:1px solid var(--hairline,#ebe4d8); background:var(--bg-light,#fbf4eb); }
.source-feature img { display:block; width:100%; height:190px; object-fit:contain; margin-bottom:22px; }
.source-feature h3,.cavalier-profile h3 { font:500 26px/1.15 'Cormorant Garamond',Georgia,serif; margin:0 0 16px; overflow-wrap:anywhere; }
.source-feature div,.source-feature p,.source-story p,.source-story-grid>div>div,
.source-delivery p,.source-subscription p { font-size:15px; line-height:1.8; color:var(--text-secondary,#5e564b); }
.source-story p,.source-delivery p { margin-top:20px; }
.source-story h2,.source-gallery h2,.source-delivery h2,.source-steps h2,
.source-subscription h2,.source-article-teaser h2,.dog-pedigree h2 {
  font:400 clamp(32px,3.5vw,52px)/1.1 'Cormorant Garamond',Georgia,serif; margin:0 0 28px; overflow-wrap:anywhere;
}
.source-steps h2 { margin-bottom:36px; }
.repair-hero-description { font-size:16px; line-height:1.7; color:var(--text-secondary); max-width:520px; margin-top:24px; }
.breed-introduction,.cavalier-profile { font-size:15px; line-height:1.8; margin-top:28px; color:var(--text-secondary); }
.breed-introduction p,.cavalier-profile p { margin-bottom:16px; }
.cavalier-profile { border-top:1px solid var(--hairline); padding-top:24px; }
.gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.gallery-description { font-size:15px; line-height:1.8; margin-bottom:24px; color:var(--text-secondary); }
.gallery-controls { display:flex; gap:10px; flex-shrink:0; margin-bottom:28px; }
.gallery-controls button { width:44px; height:44px; border:1px solid var(--hairline); border-radius:50%; font:24px/1 Inter,system-ui,sans-serif; color:var(--text-primary); background:#fff; cursor:pointer; }
.gallery-controls button:disabled { opacity:.35; cursor:default; }
.source-gallery-row { display:flex; gap:20px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding:4px 0 20px; scrollbar-width:thin; }
.source-gallery-row>a { flex:0 0 auto; scroll-snap-align:start; display:block; }
.source-gallery-row img { display:block; height:320px; width:auto; max-width:none; object-fit:contain; }
.source-subscription img { width:100%; max-height:440px; height:auto; object-fit:contain; }
.source-subscription a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.source-article-teaser a { display:grid; grid-template-columns:240px 1fr auto; align-items:center; gap:32px; }
.source-article-teaser img { width:100%; height:auto; }
.source-article-teaser h2 { margin:0; }
.source-article-teaser span { white-space:nowrap; color:var(--accent); }
.dogs-grid:has([data-profile]) { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.dog-card { min-width:0; }
.dog-card .dog-name { font:500 27px/1.16 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; margin-bottom:16px; }
.dog-card[data-profile] .dog-img-wrap { display:block; aspect-ratio:4/3; background:transparent; }
.dog-card[data-profile] .dog-img { width:100%; height:100%; object-fit:contain; }
.dogs-section .dog-img-wrap,.dogs .dog-img-wrap { aspect-ratio:4/3; background:transparent; }
.dogs-section .dog-img,.dogs .dog-img { object-fit:contain; }
.dog-profile-copy { font:400 13px/1.75 Inter,system-ui,sans-serif; color:var(--text-secondary); overflow-wrap:anywhere; }
.dog-profile-copy p { margin-bottom:10px; }
.dog-hero-img-main { object-fit:contain; height:auto; max-height:680px; }
.dog-biography { font-size:15px; line-height:1.8; overflow-wrap:anywhere; max-width:660px; margin-top:32px; }
.dog-biography p { margin-bottom:18px; }
.dog-biography a { text-decoration:underline; text-underline-offset:3px; }
.dog-gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); align-items:start; }
.dog-gallery-grid a { display:block; max-width:580px; justify-self:center; }
.dog-gallery-grid img,.dog-gallery-grid img:first-child { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.dog-pedigree img { display:block; width:100%; height:auto; max-width:1100px; margin-inline:auto; }
.article-header-inner { max-width:960px; }
.article-lead,.article-subtitle { max-width:800px; }
.article-subtitle { margin:24px 0; font-size:17px; line-height:1.8; color:var(--text-secondary); }
.article-hero-image { margin:44px 0 0; }
.article-hero-image img,.article-figure img { display:block; width:100%; height:auto; }
.article-figure { margin:40px 0; }
.article-content { min-width:0; }
.article-content>h2 { margin:48px 0 24px; scroll-margin-top:120px; }
.article-prose { margin-bottom:28px; line-height:1.85; overflow-wrap:anywhere; }
.article-prose ul,.article-prose ol { list-style:initial; padding-left:24px; margin:16px 0; }
.article-prose li { margin-bottom:8px; }
.article-prose a { text-decoration:underline; text-underline-offset:4px; }
.article-prose:has(>a[href^="#"]) { padding:24px; border:1px solid var(--hairline); }
.article-prose:has(>a[href^="#"]) a { display:inline-block; margin-bottom:8px; }
.article-closing { padding:28px; border-left:2px solid var(--accent); background:var(--bg-light); margin-top:40px; }
.article-benefit { border-top:1px solid var(--hairline); padding:28px 0; }
.article-benefit:first-child { border-top:0; padding-top:0; }
.article-benefit h2 { font:500 25px/1.25 'Cormorant Garamond',Georgia,serif; margin-bottom:16px; }
.article-benefit div { line-height:1.85; }
.related-card { display:flex; flex-direction:column; height:100%; }
.related-card-img { width:100%; height:200px; object-fit:contain; margin-bottom:20px; }
.related-card-title { overflow-wrap:anywhere; }
.related-card-desc { font-size:14px; line-height:1.75; color:var(--text-secondary); margin:14px 0 22px; }
.related-card>div { padding:0 0 20px; }
.founder-attribution { margin-top:18px; font-size:14px; color:var(--text-muted); }
.contact-delivery-note { grid-column:1/-1; font-size:15px; color:var(--text-secondary); }
.footer-copy { max-width:620px; line-height:1.7; }
.delivery-inner:not(:has(.delivery-steps)) { grid-template-columns:1fr; }
.mobile-nav { overflow-y:auto; overscroll-behavior:contain; }
.source-feature { display:flex; flex-direction:column; align-items:flex-start; }
.source-feature>a.btn-accent { margin-top:20px; max-width:100%; white-space:normal; text-align:center; justify-content:center; line-height:1.4; }
.availability-empty a { max-width:100%; white-space:normal; text-align:center; justify-content:center; line-height:1.4; }
.dog-archive { margin-top:48px; padding:24px 0; border-top:1px solid var(--hairline,#ebe4d8); }
.dog-archive summary { cursor:pointer; font:400 28px/1.3 'Cormorant Garamond',Georgia,serif; }
.dog-archive ul { list-style:none; padding:20px 0 0; display:flex; flex-wrap:wrap; gap:16px 32px; }
.dog-archive a,.alumni-link { text-decoration:underline; text-underline-offset:4px; }
.dog-archive-label { font:500 12px/1.5 Inter,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted,#857c70); margin-bottom:20px; }
.alumni-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.alumni-gallery .pup-card { display:block; }
.alumni-gallery .pup-img { height:auto; object-fit:contain; }
.alumni-gallery .pup-card:hover .pup-img { transform:none; }
.alumni-link { display:inline-block; margin-top:24px; }
:focus-visible { outline:2px solid var(--accent,#d99b7c); outline-offset:5px; }
@media(max-width:1100px) {
  .source-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .source-story-grid,.source-subscription .repair-container { gap:36px; }
}
@media(max-width:768px) {
  .alumni-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .breed-empty { padding:28px 16px; }
  .breed-empty .btn-accent { max-width:100%; padding-inline:16px; font-size:13px; line-height:1.4; text-align:center; justify-content:center; white-space:normal; }
  .source-benefits,.source-story,.source-steps,.source-gallery,.source-delivery,
  .source-subscription,.source-article-teaser,.dog-pedigree { padding:52px var(--pad,24px); }
  .source-story-grid,.source-subscription .repair-container { grid-template-columns:1fr; gap:32px; }
  .dogs-grid:has([data-profile]) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
  .dog-hero-img-main { height:auto; max-height:560px; }
  .dog-hero-inner { display:flex; flex-direction:column; gap:0; }
  .dog-hero-inner>div:first-child { display:contents; }
  .dog-hero-inner>div:last-child { order:1; width:100%; margin-top:32px; }
  .dog-biography { order:2; }
  .source-gallery-row img { height:260px; }
  .source-article-teaser a { grid-template-columns:1fr; gap:22px; }
  .source-article-teaser img { max-width:420px; }
  .source-article-teaser h2 { font-size:36px; }
  .dog-gallery-grid { grid-template-columns:1fr 1fr; }
  .article-hero-image { margin-top:32px; }
  .footer-bottom { flex-wrap:wrap; align-items:flex-start; }
}
@media(max-width:480px) {
  body:has(#applicationForm) .header-inner { gap:12px; }
  .alumni-gallery { grid-template-columns:1fr; }
  .source-features,.dogs-grid:has([data-profile]),.dog-gallery-grid { grid-template-columns:1fr; }
  .source-feature { padding:22px; }
  .source-feature img { height:auto; max-height:300px; }
  .gallery-heading { align-items:flex-start; gap:12px; }
  .gallery-heading h2 { font-size:32px; }
  .gallery-controls { gap:6px; }
  .gallery-controls button { width:36px; height:36px; }
  .source-gallery-row img { height:230px; }
  .dog-biography { font-size:14px; }
  .dog-card .dog-name { font-size:28px; }
  .dog-card[data-profile] .dog-img-wrap { aspect-ratio:4/3; }
  .article-closing { padding:22px; }
}
