/* 5 Star Dog Academy: refined, editorial Programs page. */
.program-list-section{padding:56px 0 55px}
.program-list-head{max-width:830px;margin:0 auto 32px}
.program-list-head h2{font-size:clamp(30px,3.4vw,48px);margin:0 0 12px}
.program-list-head>p:last-child{font-size:15px;line-height:1.6}
.program-list{gap:20px}
.training-card{grid-template-columns:minmax(0,40%) minmax(0,60%);min-height:290px;border:1px solid #e1e5e9;box-shadow:0 9px 24px #0e101318}
.training-card>img,.training-card .image-block img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;filter:contrast(1.045) saturate(.91)}
.training-card .image-block{overflow:hidden}
.training-card-details{padding:24px 28px;gap:8px}
.training-card-details h3{font-size:clamp(24px,2.5vw,32px);line-height:1.08;margin:0}
.training-card-details .tagline{font-weight:800;color:#a00d23;font-size:13px;margin:0}
.training-card-details .program-summary{font-size:14px;line-height:1.6;margin:0;color:#28323b}
.training-card-details ul{font-size:14px;line-height:1.45;margin:0 0 4px}
.training-card-details li{margin:7px 0;padding-left:23px}
.training-card-details .button{font-size:13px;padding:13px 18px;min-height:44px;margin-top:8px}
.program-includes{border-top:1px solid #e7e8ea;border-bottom:1px solid #e7e8ea;margin:4px 0 0;padding:4px 0}
.program-includes>summary{list-style:none;cursor:pointer;color:#15191d;font-size:13px;font-weight:800;padding:10px 3px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.program-includes summary::-webkit-details-marker{display:none}
.program-includes summary:focus-visible{outline:2px solid #e20d31;outline-offset:2px}
.program-includes .plus{color:#d60c31;font-size:23px;font-weight:400;line-height:1}
.program-includes[open] .plus{transform:rotate(45deg)}
.program-includes-body{background:#f8f9fa;padding:15px 16px;border-radius:7px;margin-bottom:9px}
.program-includes-body h4{font-size:14px;color:#b20b2d;margin:10px 0 6px}
.program-includes-body h4:first-child{margin-top:0}
.program-includes-body ul{margin-bottom:9px;font-size:13px}
.program-includes-body p{font-size:13px;line-height:1.55;margin:4px 0 10px}
.program-fineprint{font-size:12px!important;color:#56616c!important;line-height:1.55!important}
.beast-feature{background:radial-gradient(circle at 92% 3%,#3b1620 0%,transparent 43%),#0a0d11;color:#f5f6f8;padding:64px 0}
.beast-layout{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);gap:44px;align-items:center}
.beast-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.beast-images img{display:block;min-width:0;width:100%;height:365px;object-fit:cover;object-position:center;border:1px solid #44474b;border-radius:8px;filter:contrast(1.08) saturate(.85)}
.beast-watch{display:flex;align-items:center;gap:10px;border:1px solid #4c5761;color:#fff;text-decoration:none;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:13px;font-weight:800}
.beast-watch:hover{background:#292f39}
.beast-watch .play-dot{display:grid;place-items:center;width:31px;height:31px;background:#df0d37;color:white;border-radius:50%;font-size:12px}
.beast-source{font-size:11px;color:#a9b0b8;margin:8px 0 0;line-height:1.5}
.beast-copy h2{font-weight:900;font-size:clamp(36px,4.1vw,60px);line-height:.97;letter-spacing:-2px;margin:10px 0}
.beast-copy h2 span{color:#f00b3e}
.beast-copy .beast-tagline{font-size:16px;color:#e6b9c4;font-weight:750;margin:8px 0 17px}
.beast-copy>p:not(.label-red){font-size:15px;line-height:1.65}
.beast-copy ul{list-style:none;padding:0;margin:18px 0 14px;display:grid;gap:10px}
.beast-copy li{font-size:14px;line-height:1.5;padding-left:26px;position:relative}
.beast-copy li::before{content:'✓';position:absolute;left:0;color:#ff264f;font-weight:900}
.beast-copy .program-fineprint{color:#aeb6bf!important}
.beast-copy .button{font-size:14px;padding:13px 20px;margin-top:16px}
.program-comparison{padding:40px 0}
.comparison-content{grid-template-columns:minmax(240px,31%) minmax(0,69%);gap:30px}
.compare-table-area{min-width:0}
.compare-scroller{width:100%}
.compare-table{font-size:12px}
.compare-table th,.compare-table td{padding:12px 8px}
.compare-table tbody th{font-weight:650}
.compare-table tbody td{font-size:19px}
.compare-table tbody td:nth-child(2){font-size:19px}
.compare-table tbody td:not(:has(*)){font-weight:850}
.compare-note,.compare-hint{font-size:11px;color:#abb4bd;margin:10px 0 0;line-height:1.5}
.compare-hint{display:none}
@media(max-width:900px){.beast-layout{grid-template-columns:1fr;gap:23px}.beast-images img{height:330px}.comparison-content{grid-template-columns:1fr}.training-card-details{padding:20px}}
@media(max-width:650px){
 .program-list-section{padding:28px 0 34px}
 .program-list-head h2{font-size:30px}
 .program-list-head>p:last-child{font-size:13px;line-height:1.55}
 .program-list{gap:16px}
 .training-card{grid-template-columns:1fr;min-height:0;border-radius:12px}
 .training-card>img,.training-card .image-block img{height:245px;width:100%;object-fit:cover;object-position:center 43%}
 .training-card .image-block{height:245px}
 .training-card-details{padding:18px 18px 20px;gap:9px}
 .training-card-details h3{font-size:27px}
 .training-card-details .tagline{font-size:13px;margin:0}
 .training-card-details .program-summary{font-size:14px;line-height:1.5}
 .training-card-details ul{font-size:13px;line-height:1.4}
 .training-card-details li{padding-left:22px;margin:8px 0}
 .training-card-details li::before{width:15px;height:15px;line-height:15px;font-size:10px}
 .training-card-details .button{font-size:13px;min-height:44px;padding:12px 10px}
 .training-card .ribbon{font-size:10px;top:10px;left:10px;padding:7px 9px}
 .program-includes summary{font-size:13px}
 .beast-feature{padding:38px 0}
 .beast-images{gap:8px}
 .beast-images img{height:220px}
 .beast-copy h2{font-size:40px;line-height:1.05}
 .beast-copy>p:not(.label-red){font-size:14px}
 .beast-copy li{font-size:13px}
 .beast-watch{font-size:12px;padding:10px 12px}
 .program-comparison{padding:30px 0}
 .compare-intro>img{height:100px;width:100px;object-position:center}
 .compare-intro h2{font-size:27px}
 .compare-intro p{font-size:12px}
 .compare-scroller{overflow-x:auto}
 .compare-table{min-width:650px;font-size:12px}
 .compare-table th,.compare-table td{padding:10px 9px}
 .compare-table thead th{font-size:12px}
 .compare-table tbody th{font-size:12px}
 .compare-table tbody td,.compare-table tbody td:nth-child(2){font-size:18px}
 .compare-hint{display:block;text-align:right;margin:0 0 9px}
}
@media(max-width:380px){.beast-images img{height:180px}.beast-copy h2{font-size:36px}}
