.breeder-editorial { background:#f3eee7; color:#171615; }
.breeder-editorial .header { position:relative; background:#171615; color:#f0ece5; }
.breeder-editorial .header-in { min-height:92px; }
.bx-section { padding:100px 0; scroll-margin-top:25px; }
.bx-brow { display:flex; justify-content:space-between; gap:24px; padding-bottom:20px; border-bottom:1px solid #25221e38; font:650 10px/1.6 var(--reading-font); letter-spacing:.13em; text-transform:uppercase; margin-bottom:54px; }
.bx-brow span:last-child { text-align:right; opacity:.63; }
.bx-section h1,.bx-section h2 { font-family:var(--reading-font); font-weight:750; letter-spacing:-.065em; line-height:1.03; margin:0 0 32px; text-wrap:balance; }
.bx-section h1 { font-size:clamp(46px,5.7vw,88px); }
.bx-section h2 { font-size:clamp(40px,5.1vw,78px); }
.bx-section h1 em,.bx-section h2 em { font-family:var(--story-font); font-weight:400; letter-spacing:-.055em; line-height:1.13; }
.bx-section h3 { font-family:var(--reading-font); font-weight:650; font-size:24px; line-height:1.22; letter-spacing:-.035em; margin:16px 0; }
.bx-kicker { display:block; font:650 10px/1.7 var(--reading-font); letter-spacing:.15em; margin:0 0 23px; }
.bx-hero { background:#171615; color:#f0ece5; padding-top:32px; }
.bx-hero .bx-brow,.bx-dark .bx-brow { border-color:#f0ece534; }
.bx-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:7%; align-items:center; }
.bx-hero-copy { padding:10px 0 30px; }
.bx-lead { font:400 clamp(24px,2.4vw,35px)/1.4 var(--story-font); letter-spacing:-.03em; margin:28px 0; }
.bx-body,.bx-copy { font:450 clamp(17px,1.35vw,20px)/1.75 var(--reading-font); letter-spacing:-.012em; max-width:56ch; }
.bx-copy p { margin:0 0 1.2em; }
.bx-body { margin:0 0 32px; max-width:43ch; }
.bx-note { font:400 11px/1.7 var(--reading-font); opacity:.65; margin:18px 0 0; }
.bx-hero-foot { display:flex; justify-content:space-between; gap:22px; margin-top:44px; font:500 10px/1.6 var(--reading-font); letter-spacing:.1em; }
.bx-hero-foot a { color:#d7a9ae; text-decoration:none; }
.bx-photo { margin:0; min-width:0; }
.bx-frame { padding:var(--frame-mat); border:1px solid var(--frame-line); background:var(--frame-paper); box-shadow:var(--frame-shadow); }
.bx-frame picture,.bx-frame img { display:block; width:100%; }
.bx-frame img { position:static; height:auto; object-fit:contain; }
.bx-photo figcaption { font:550 10px/1.6 var(--reading-font); letter-spacing:.1em; text-transform:uppercase; margin-top:15px; opacity:.7; }
.bx-heading-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:9%; align-items:center; margin-bottom:50px; }
.bx-heading-grid h2 { margin:0; }
.bx-triptych { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; align-items:start; }
.bx-triptych > :nth-child(2) { margin-top:65px; }
.bx-triptych > :nth-child(3) { margin-top:25px; }
.bx-caption { font:400 13px/1.65 var(--reading-font); opacity:.65; margin:30px 0 0; max-width:70ch; }
.bx-sand { background:#e5ded3; }
.bx-split { display:grid; grid-template-columns:1fr .9fr; gap:9%; align-items:center; }
.bx-studio { background:#f6f1ea; border:1px solid #d3cabd; padding:clamp(25px,4vw,58px); }
.bx-studio > div { position:relative; padding:22px 0 25px 45px; border-top:1px solid #d6ccbf; }
.bx-studio b { position:absolute; left:0; top:37px; font:600 10px var(--reading-font); color:#8d6269; }
.bx-studio h3 { margin:10px 0; }
.bx-studio p { font-size:16px; line-height:1.7; margin:0; }
.bx-dark { background:#171615; color:#f0ece5; }
.bx-dark .bx-frame,.bx-hero .bx-frame { --frame-shadow:0 12px 28px rgb(0 0 0 / 14%); }
.bx-statement { font:400 clamp(32px,4.3vw,65px)/1.25 var(--story-font); letter-spacing:-.035em; margin:65px 0 25px; }
.bx-narrow { max-width:55ch; font-size:19px; line-height:1.75; }
.bx-deliverables { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; margin:30px 0 55px; border-top:1px solid #25221e38; }
.bx-deliverables article { padding-top:25px; }
.bx-deliverables span { font-size:10px; color:#966d73; }
.bx-deliverables p { font-size:15px; line-height:1.7; }
.bx-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; align-items:start; }
.bx-gallery > :nth-child(3n+2) { transform:translateY(25px); }
.bx-serif { font:400 clamp(26px,2.6vw,39px)/1.4 var(--story-font); }
.bx-split .bx-copy + .bx-photo { margin-top:30px; max-width:360px; margin-left:auto; }
.bx-faq { border-top:1px solid #25221e38; padding:24px 0; margin-top:32px; font-size:17px; line-height:1.7; }
.bx-faq summary { cursor:pointer; font-weight:600; }
.bx-faq p { max-width:65ch; margin:20px 0 0; }
.bx-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:50px; }
.bx-products article { display:flex; flex-direction:column; min-width:0; }
.bx-products .bx-photo { margin-bottom:26px; }
.bx-products .bx-frame { aspect-ratio:4/5; overflow:hidden; }
.bx-products .bx-frame picture { height:100%; }
.bx-products .bx-frame img { height:100%; object-fit:contain; }
.bx-products .bx-kicker { color:#d1a2a8; margin:0; }
.bx-products p { font-size:16px; line-height:1.75; margin:0 0 24px; }
.bx-products a { margin-top:auto; color:#e6bbc0; }
.bx-price-note { border-top:1px solid #f0ece534; padding-top:30px; margin-top:45px; max-width:75ch; font-size:15px; line-height:1.8; opacity:.8; }
.bx-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin:0; padding:0; list-style:none; }
.bx-steps li { border-top:1px solid #25221e38; padding-top:25px; }
.bx-steps span { font:400 42px/1 var(--story-font); color:#997479; }
.bx-steps p { font-size:16px; line-height:1.75; }
.bx-contact { background:#eddfd9; }
.bx-contact-intro { display:grid; grid-template-columns:1.2fr .7fr; gap:9%; align-items:center; }
.bx-author { display:flex; flex-direction:column; gap:8px; font-size:13px; margin:35px 0 0; }
.bx-author strong { font-size:18px; }
.bx-author span { opacity:.65; }
.bx-booking { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; border-top:1px solid #25221e38; padding-top:55px; margin-top:65px; }
.bx-booking > div > p { font-size:17px; line-height:1.7; max-width:37ch; margin-bottom:35px; }
.bx-booking .contact-panel { background:#f9f5ef; padding:clamp(22px,3vw,42px); border:1px solid #ded2c9; }
.bx-booking h3 { font-size:32px; }
.breeder-editorial .footer { background:#171615; color:#f0ece5; }
.breeder-editorial .btn { white-space:normal; }
/* R20: price details use the existing type, palette and card grid. */
.breeder-editorial .bx-products .bx-package-price { font:500 clamp(27px,2.6vw,38px)/1.25 var(--story-font); letter-spacing:-.025em; margin:0 0 12px; }
.breeder-editorial .bx-products .bx-package-limit { color:#e6bbc0; font-size:14px; line-height:1.6; margin-bottom:20px; }
.breeder-editorial .bx-package-details { padding-left:19px; margin:0 0 25px; font-size:14px; line-height:1.75; }
.breeder-editorial .bx-package-details li + li { margin-top:12px; }
.breeder-editorial .bx-extras { border-top:1px solid #f0ece534; padding-top:22px; margin-top:30px; }
.breeder-editorial .bx-extras summary,.breeder-editorial .kennel-message summary { cursor:pointer; padding:12px 0; min-height:44px; font-weight:550; line-height:1.5; }
.breeder-editorial .bx-extras > p { max-width:75ch; font-size:14px; line-height:1.8; opacity:.8; }
.breeder-editorial .bx-extra-list { margin:25px 0 0; }
.breeder-editorial .bx-extra-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; border-top:1px solid #f0ece526; padding:16px 0; font-size:15px; line-height:1.6; }
.breeder-editorial .bx-extra-list dd { margin:0; text-align:right; color:#e6bbc0; }
.breeder-editorial .kennel-format-hint { font-size:13px; line-height:1.6; margin:14px 0 0; max-width:45ch; }
.breeder-editorial .kennel-message { margin-top:24px; border-top:1px solid #ded2c9; }
.breeder-editorial .kennel-message summary { font-size:14px; }
.breeder-editorial .kennel-message .message-wrap { margin-top:15px; }
.breeder-editorial .kennel-message .copy-message { font-size:12px; font-weight:500; }
@media (max-width:480px) {
 .breeder-editorial .bx-extra-list > div { grid-template-columns:1fr; gap:5px; }
 .breeder-editorial .bx-extra-list dd { text-align:left; }
}
@media (max-width:1180px) {
 .breeder-editorial .header-in { min-height:80px; }
 .bx-section { padding:76px 0; }
 .bx-hero { padding-top:25px; }
 .bx-hero-grid { gap:5%; grid-template-columns:1.1fr .9fr; }
 .bx-section h1 { font-size:clamp(40px,5.5vw,65px); }
 .bx-section h2 { font-size:clamp(38px,5vw,62px); }
 .bx-split { gap:6%; }
 .bx-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bx-gallery > :nth-child(n) { transform:none; }
 .bx-products { gap:20px; }
 .bx-deliverables,.bx-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .bx-section { padding:58px 0; }
 .bx-hero { padding-top:25px; }
 .bx-brow { margin-bottom:32px; font-size:9px; gap:16px; }
 .bx-brow span:last-child { display:none; }
 .bx-hero-grid,.bx-heading-grid,.bx-split,.bx-contact-intro,.bx-booking { grid-template-columns:1fr; gap:35px; }
 .bx-section h1 { font-size:clamp(38px,9.5vw,65px); }
 .bx-section h2 { font-size:clamp(36px,9vw,62px); }
 .bx-section h3 { font-size:22px; }
 .bx-hero-copy { padding:0; }
 .bx-hero .btn { width:100%; min-width:0; font-size:10px; }
 .bx-hero-foot { flex-direction:column; gap:14px; font-size:9px; }
 .bx-triptych { gap:12px; grid-template-columns:1fr 1fr; }
 .bx-triptych > :nth-child(n) { margin:0; }
 .bx-triptych > :last-child { grid-column:1/-1; width:70%; justify-self:center; }
 .bx-photo figcaption { font-size:9px; letter-spacing:.04em; }
 .bx-heading-grid { margin-bottom:35px; }
 .bx-copy,.bx-narrow { font-size:17px; line-height:1.7; }
 .bx-lead { font-size:25px; }
 .bx-statement { margin-top:40px; font-size:36px; }
 .bx-gallery,.bx-products,.bx-steps { grid-template-columns:1fr; gap:30px; }
 .bx-deliverables { gap:20px; margin-bottom:35px; }
 .bx-deliverables h3 { font-size:20px; }
 .bx-deliverables p { font-size:14px; }
 .bx-products article { padding-bottom:30px; }
 .bx-products .bx-frame { aspect-ratio:auto; }
 .bx-products .bx-frame img { height:auto; }
 .bx-split .bx-copy + .bx-photo { max-width:none; }
 .bx-booking { margin-top:40px; padding-top:35px; }
 .bx-booking h3 { font-size:28px; }
 .bx-booking .channel-links { grid-template-columns:1fr; }
 .bx-booking .btn { min-width:0; width:100%; font-size:10px; }
 .bx-booking textarea { min-height:155px; }
}
