
/* HD COOL R21 – full-width discipline, compact editorial and contextual navigation */
:root{--r21-accent:#22d5ec;--r21-bg:#041928;--r21-panel:#072a40;--r21-edge:#207b98}
html{scroll-padding-top:86px;overflow-x:clip}body{min-width:0;overflow-x:clip}
.shell,.header-inner{width:min(calc(100% - 36px),1640px);max-width:1640px;margin-inline:auto}
.header-inner{gap:12px}.header .nav{min-width:0}.nav.desktop{gap:clamp(7px,.9vw,15px)}
.hero{min-height:clamp(398px,29vw,535px)}.hero-copy{width:min(56%,800px)}
.hero h1{font-size:clamp(38px,3.35vw,61px);line-height:1.07;overflow-wrap:break-word}
.hero-media img{object-fit:cover;object-position:66% 47%}
.hero-lead{font-size:clamp(14px,1.22vw,18px)}
img{max-width:100%;height:auto}a,span,div,article{min-width:0}
.r21-section-title{margin-bottom:18px}.r21-section-title h2{font-size:clamp(26px,3vw,40px);font-weight:880;letter-spacing:-.8px;margin:5px 0 8px;line-height:1.14;color:#fff}.r21-section-title p{color:#bcd7e4;line-height:1.6;max-width:900px;margin:0}
.r21-service-map{margin-top:21px;margin-bottom:25px;border:1px solid #125d75;border-radius:14px;padding:24px;background:radial-gradient(ellipse at top left,#114159 0,#052437 45%,#031a29 100%)}
.r21-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.r21-map-card{min-width:0;background:#062438;border:1px solid #206d87;border-radius:11px;overflow:hidden;box-shadow:0 10px 22px #00101d45}.r21-map-photo{display:block;position:relative;height:190px;overflow:hidden;background:#0d334a}.r21-map-photo img{width:100%;height:100%;display:block;object-fit:cover}.r21-map-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#001521fa,transparent 78%)}.r21-map-photo span{position:absolute;left:14px;bottom:13px;z-index:1;display:grid;gap:2px}.r21-map-photo small{color:#9ceaf6;font-size:10px;text-transform:uppercase;letter-spacing:1px}.r21-map-photo strong{font-size:clamp(18px,1.5vw,25px);line-height:1.12;color:#fff}.r21-map-photo em{font-size:11px;font-style:normal;color:#49dbee;font-weight:750}.r21-map-links{padding:8px}.r21-map-link{display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid #1f4e63;padding:10px 8px;font-size:12px;color:#dcebf4;line-height:1.25}.r21-map-link:last-child{border-bottom:0}.r21-map-link span{color:#24d9e9;font-size:14px}.r21-map-link:hover{background:#0b3a50;color:#fff}.r21-map-note{font-size:13px;color:#b8d6e2;margin:17px 2px 0}
.r21-curated{display:grid;grid-template-columns:225px 1fr;align-items:center;gap:20px;padding:19px 22px;margin-top:17px;margin-bottom:16px;border:1px solid #246b84;background:linear-gradient(120deg,#072d44,#041f31);border-radius:12px}.r21-curated h2{font-size:23px;line-height:1.1;margin:6px 0;color:#fff}.r21-curated-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.r21-related-link{min-height:46px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid #285d73;border-radius:7px;color:#e3f3fa;background:#092d40;font-size:12px;font-weight:730}.r21-related-link span{color:#29ddeb}.r21-related-link:hover{border-color:#2bd7ef;background:#10445b}
.r21-editorial{margin-block:20px;padding:24px;border:1px solid #16768e;border-radius:13px;background:linear-gradient(120deg,#051e30,#0b3449)}.r21-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.r21-editorial-item{padding:18px;border:1px solid #23647d;background:#07293b;border-radius:9px}.r21-editorial-item span{display:block;font-size:14px;color:#3bdaf1;font-weight:800}.r21-editorial-item h3{font-size:19px;line-height:1.24;margin:8px 0;color:#fff}.r21-editorial-item p{font-size:13.5px;color:#d0e5f0;line-height:1.62;margin:0}.r21-editorial-footer{margin-top:14px}.r21-editorial-footer a{color:#67eff8;font-size:14px;font-weight:800}
/* new detailed content pages */
.r21-page{padding-bottom:18px}.r21-page-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:0;margin-top:9px;border:1px solid #1d7895;border-radius:13px;overflow:hidden;background:linear-gradient(128deg,#051e30,#0b3548)}.r21-page-visual{position:relative;min-height:430px;overflow:hidden}.r21-page-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.r21-photo-label{position:absolute;bottom:14px;left:16px;background:#041b29bd;border:1px solid #1c809d;color:#bde7f3;padding:6px 9px;font-size:9px;font-weight:780;letter-spacing:1px}.r21-page-copy{padding:clamp(22px,3.5vw,55px) clamp(22px,3.2vw,48px);display:flex;flex-direction:column;justify-content:center}.r21-kicker{font-size:11px;letter-spacing:1.4px;font-weight:850;color:#40e1ef}.r21-page-copy h1{font-size:clamp(31px,3.6vw,56px);line-height:1.09;color:#fff;margin:12px 0 15px;letter-spacing:-1.2px;overflow-wrap:break-word}.r21-page-copy p{font-size:clamp(14px,1.3vw,17px);line-height:1.63;color:#d5e9f2;margin:0}.r21-chips{display:flex;flex-wrap:wrap;gap:8px 15px;margin:19px 0}.r21-chips span{font-size:12px;color:#8feaf4}.r21-cta-row{display:flex;gap:10px;flex-wrap:wrap}.r21-cta-row .btn{font-size:13px}.r21-page-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;background:#092a3d;border:1px solid #155b75;padding:17px;margin-top:15px;border-radius:12px}.r21-page-intro h2{font-size:clamp(24px,2.65vw,35px);line-height:1.15;margin:5px 0;color:#fff}.r21-page-intro p{font-size:14px;color:#cde1ea;max-width:700px}.r21-page-intro img{width:100%;height:205px;object-fit:cover;border-radius:8px}.r21-section{margin-top:23px}.r21-jumps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.r21-jump{display:flex;flex-direction:column;gap:9px;border-radius:9px;background:#072a3e;border:1px solid #216984;min-height:110px;padding:14px}.r21-jump span{color:#42dcec;font-size:13px;font-weight:850}.r21-jump strong{font-size:14px;line-height:1.25;color:#fff}.r21-jump b{align-self:flex-end;margin-top:auto;color:#4fe7f1}.r21-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.r21-topic{display:flex;gap:17px;padding:19px;background:#082a3e;border:1px solid #1a617d;border-radius:9px}.r21-topic-num{color:#33d7ed;font-size:20px;font-weight:900;min-width:32px}.r21-topic h2{font-size:20px;line-height:1.3;margin:0 0 10px;color:#fff}.r21-topic p{font-size:14px;line-height:1.7;color:#d0e5ed;margin:0}.r21-region{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:22px;background:linear-gradient(100deg,#0b4964,#083046);border:1px solid #268ea9;border-radius:10px}.r21-region h2{font-size:27px;line-height:1.2;margin:5px 0}.r21-region p{max-width:850px;font-size:13px;color:#d6edf5;margin:0}.r21-region .btn{flex-shrink:0}.r21-faq{display:grid;grid-template-columns:1fr 1fr;gap:9px}.r21-faq details{padding:13px 16px;border:1px solid #24617a;background:#072a3e;border-radius:8px}.r21-faq summary{cursor:pointer;list-style:none;font-weight:800;color:#fff;display:flex;justify-content:space-between;gap:8px}.r21-faq summary span{color:#42dae9}.r21-faq p{font-size:13px;line-height:1.6;color:#cbe1ea}.r21-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.r21-final{margin-block:24px;background:#0b425c;border:1px solid #2289a4;padding:24px;border-radius:12px}.r21-final h2{font-size:27px;margin:0 0 8px;color:#fff}.r21-final p{font-size:13px;color:#d4e8f2;max-width:800px}.r21-final .r21-cta-row{margin-top:15px}
@media(min-width:1100px) and (max-width:1430px){.nav.desktop{gap:8px}.nav.desktop a{font-size:10.5px}.brand{min-width:175px}.head-tel{font-size:11px;padding:9px 10px}}
@media(max-width:1150px){.shell,.header-inner{width:calc(100% - 26px)}.r21-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r21-curated{grid-template-columns:1fr}.r21-page-hero{grid-template-columns:1fr 1fr}.r21-page-visual{min-height:390px}.r21-jumps{grid-template-columns:repeat(3,minmax(0,1fr))}.r21-related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.shell,.header-inner{width:calc(100% - 20px)}.r21-page-hero{grid-template-columns:1fr}.r21-page-visual{min-height:250px;order:2}.r21-page-copy{order:1;padding:23px}.r21-page-copy h1{font-size:clamp(29px,6vw,45px)}.r21-page-intro{grid-template-columns:1fr}.r21-page-intro img{height:210px}.r21-editorial-grid{grid-template-columns:1fr}.r21-topics{grid-template-columns:1fr}.r21-jumps{grid-template-columns:repeat(2,minmax(0,1fr))}.r21-curated-links{grid-template-columns:repeat(2,minmax(0,1fr))}.r21-region{flex-direction:column;align-items:flex-start}.r21-faq{grid-template-columns:1fr}.r21-service-map{padding:17px}}
@media(max-width:520px){.shell,.header-inner{width:calc(100% - 12px)}.r21-service-map{padding:13px;margin-top:14px}.r21-map-grid{grid-template-columns:1fr;gap:9px}.r21-map-photo{height:160px}.r21-map-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.r21-map-link{font-size:11px;padding:9px 4px}.r21-map-photo strong{font-size:23px}.r21-curated{padding:14px}.r21-curated h2{font-size:21px}.r21-curated-links{grid-template-columns:1fr 1fr;gap:6px}.r21-related-link{padding:9px;font-size:11px;min-height:52px}.r21-editorial{padding:14px}.r21-editorial-item{padding:15px}.r21-page-hero{margin-top:5px}.r21-page-copy{padding:18px 15px}.r21-page-copy h1{font-size:clamp(27px,7.2vw,37px);letter-spacing:-.5px}.r21-page-copy p{font-size:13px;line-height:1.55}.r21-page-visual{min-height:205px}.r21-chips{gap:6px 10px;margin:11px 0}.r21-chips span{font-size:10.5px}.r21-cta-row{gap:6px}.r21-cta-row .btn{min-width:0;flex:1;padding:10px;font-size:11px}.r21-page-intro{padding:12px;gap:9px}.r21-page-intro img{height:145px}.r21-jumps{grid-template-columns:1fr 1fr;gap:6px}.r21-jump{min-height:105px;padding:11px}.r21-jump strong{font-size:12px}.r21-topics{gap:7px}.r21-topic{padding:13px;gap:9px}.r21-topic h2{font-size:17px}.r21-topic p{font-size:12.5px}.r21-topic-num{font-size:16px;min-width:24px}.r21-region{padding:15px}.r21-region h2{font-size:23px}.r21-related{grid-template-columns:1fr 1fr}.r21-final{padding:16px}.r21-final h2{font-size:23px}}
@media(max-width:350px){.r21-curated-links,.r21-map-links,.r21-related,.r21-jumps{grid-template-columns:1fr}.r21-jump{min-height:0}.r21-page-copy h1{font-size:26px}.r21-cta-row .btn{font-size:10.5px}}

/* R21 verified responsive hero constraints: override desktop width on small screens */
@media(max-width:820px){.hero-copy{width:100%;max-width:100%;padding-inline:18px}.hero h1{font-size:clamp(30px,6.1vw,43px);line-height:1.08;overflow-wrap:break-word;hyphens:none}.hero-lead{max-width:100%;line-height:1.48}.hero .hero-media{margin-top:0}.hero-actions .btn{min-width:0}}
@media(max-width:520px){.hero-copy{padding:16px 14px 8px}.hero h1{font-size:clamp(28px,7.6vw,35px);letter-spacing:-.6px}.hero-lead{font-size:13px}.hero .hero-media{height:190px}.crumb{word-break:normal}.r21-page-visual{height:210px}}
/* ensure no horizontal overflow from decorative content and long URLs */
:where(.knowledge-item,.r20-tech-grid,.r21-page-copy,.r21-map-link,.r21-related-link,.r21-topic,.hub-panel,.cta,.footer-grid>div){overflow-wrap:break-word;min-width:0}
