
/* HD COOL R25: targeted image-rich professional sections; independent of R24 structure */
.r25-feature,.r25-directory-banner{margin-top:clamp(18px,2vw,28px);margin-bottom:clamp(16px,2vw,26px);border:1px solid #16657c;border-radius:16px;background:linear-gradient(140deg,#052335,#071a29);padding:clamp(14px,2vw,25px);box-shadow:0 16px 38px #00111b55}
.r25-feature-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,1fr);gap:10px 25px;align-items:end;margin-bottom:17px}
.r25-feature-heading .eyebrow{grid-column:1/-1;color:#25d8ed;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.r25-feature-heading h2,.r25-directory-banner h2{color:#f1faff;font-size:clamp(21px,2vw,34px);margin:0;line-height:1.16;font-weight:800}
.r25-feature-heading p,.r25-directory-banner p{font-size:clamp(13px,1vw,16px);line-height:1.55;color:#bed4dd;margin:0}
.r25-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.r25-photo-card{position:relative;display:block;overflow:hidden;min-width:0;min-height:214px;aspect-ratio:1.28;border:1px solid #2086a2;border-radius:12px;color:#fff;text-decoration:none;background:#09354a}
.r25-photo-card img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transition:transform .35s ease}
.r25-photo-card:after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(0deg,rgba(1,13,26,.98),rgba(1,13,26,.46) 50%,transparent);pointer-events:none}
.r25-photo-card:hover img{transform:scale(1.035)}
.r25-photo-card:focus-visible,.r25-home-priority a:focus-visible{outline:3px solid #1ce6f1;outline-offset:3px}
.r25-photo-body{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:13px 13px 15px;display:flex;flex-direction:column;gap:4px}
.r25-photo-body small{color:#5ce8f4;font-size:10px;letter-spacing:.11em;font-style:normal;font-weight:800}
.r25-photo-body strong{color:#fff;font-size:clamp(15px,1.26vw,20px);line-height:1.12;font-weight:900}
.r25-photo-body em{color:#e2f2f6;font-size:clamp(11px,.9vw,13px);font-style:normal;line-height:1.34}
.r25-feature-note{padding:15px 19px;margin-top:15px;border:1px solid #276b81;border-radius:10px;background:#072e41;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:16px;align-items:center}
.r25-feature-note h3{color:#fff;font-size:clamp(16px,1.45vw,21px);margin:0}.r25-feature-note p{color:#c5e0e9;font-size:14px;line-height:1.5;margin:0}
.r25-home-priority{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;margin-bottom:13px}
.r25-home-priority a{position:relative;display:block;min-height:152px;border:1px solid #158eaa;border-radius:12px;overflow:hidden;background:#073045;color:#fff;text-decoration:none}
.r25-home-priority img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r25-home-priority a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#001b2bf7,transparent 95%)}
.r25-home-priority span{position:absolute;z-index:2;bottom:10px;left:12px;right:12px;font-weight:850;font-size:19px;line-height:1.15}.r25-home-priority small{display:block;font-size:11px;font-weight:500;color:#cdeaf1;margin-top:5px}
.r25-directory-banner>.r25-quick-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.r25-directory-banner .r25-quick-cats a{position:relative;display:block;overflow:hidden;min-height:154px;border:1px solid #1483a4;border-radius:10px;color:white;text-decoration:none}
.r25-directory-banner .r25-quick-cats img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.r25-directory-banner .r25-quick-cats strong{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#031727,transparent);padding:44px 12px 13px;font-size:18px}
@media(max-width:1080px){.r25-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r25-home-priority,.r25-directory-banner>.r25-quick-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.r25-feature,.r25-directory-banner{padding:12px;border-radius:11px;margin-top:12px}.r25-feature-heading{grid-template-columns:minmax(0,1fr);gap:8px}.r25-feature-grid{gap:8px}.r25-photo-card{min-height:175px;aspect-ratio:.92}.r25-photo-body{padding:9px}.r25-photo-body strong{font-size:15px}.r25-photo-body em{font-size:11px;line-height:1.26}.r25-feature-note{grid-template-columns:minmax(0,1fr);gap:8px;padding:13px}.r25-home-priority{gap:7px}.r25-home-priority a{min-height:125px}.r25-home-priority span{font-size:15px;left:8px;right:8px}.r25-home-priority small{font-size:10px}.r25-directory-banner .r25-quick-cats a{min-height:132px}}
@media(max-width:360px){.r25-photo-card{min-height:170px}.r25-photo-body em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r25-photo-body strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.r25-photo-card img{transition:none}}
/* R25 starter pages, editable via WordPress dashboard */
.r25-article-hero{margin-top:14px;border:1px solid #15728f;border-radius:16px;overflow:hidden;position:relative;min-height:390px;display:flex;align-items:flex-end;background:#021b2a}
.r25-article-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.r25-article-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#001522ee 0%,#00152288 75%,#00152244)}
.r25-article-hero>div{position:relative;z-index:1;padding:clamp(20px,4vw,45px);max-width:750px}.r25-article-hero h1{font-size:clamp(30px,4vw,58px);color:#fff;line-height:1.07;margin:10px 0}.r25-article-hero p{color:#dbf1fa;font-size:clamp(15px,1.6vw,20px);line-height:1.5}
.r25-new-article{margin-block:25px 35px;max-width:1100px}.r25-new-article h2{color:#fff;font-size:clamp(23px,2.6vw,37px);line-height:1.15}.r25-new-article p{color:#dfebf1;font-size:16px;line-height:1.75;margin:14px 0}.r25-related{display:flex;gap:10px;flex-wrap:wrap}.r25-related a{background:#064059;border:1px solid #168bab;border-radius:8px;padding:10px 16px;color:white;text-decoration:none}
@media(max-width:600px){.r25-article-hero{min-height:360px}.r25-article-hero:after{background:linear-gradient(0deg,#001522ee,#00152266)}.r25-article-hero>div{padding:18px}.r25-new-article p{font-size:15px}}
