/* Gridcog: UK data centre grid connections page (dcuk-v3: square inline Chartwright charts, hero breadcrumbs, blog thumbnails). Loads after ihs-v3.css; every rule is scoped to .ihs or the hero. */
.dk-hero .icp__hero-image{display:block}
.dk-hero .dk-aq{color:#76F5D8}
.dk-hero .round-button{text-decoration:none}
.dk-hero .dk-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-family:Sharpsans,sans-serif;font-size:14px;line-height:1.4;color:rgba(255,255,255,.85)}
.dk-hero .dk-crumbs li{margin:0;padding:0}
.dk-hero .dk-crumbs a{color:#FFFFFF;text-decoration:none;font-weight:500}
.dk-hero .dk-crumbs a:hover{text-decoration:underline}
.dk-hero .dk-crumbs li[aria-current]{color:#FFFFFF;font-weight:700}

/* Key numbers, styled like the stats on the rest of gridcog.com */
.ihs .dk-kn{padding:clamp(48px,6vw,72px) 0 0}
.ihs .dk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ihs .dk-st{display:flex;flex-direction:column;gap:16px;padding-left:32px;border-left:4px solid #8D2EFF}
.ihs .dk-sv{font-size:clamp(56px,5.6vw,80px);line-height:1;font-weight:600;letter-spacing:-3px;color:#1F1F23;font-variant-numeric:tabular-nums;white-space:nowrap}
.ihs .dk-u{font-size:.5em;letter-spacing:-1px;margin-left:.14em}
.ihs .dk-sl{max-width:330px;font-size:16px;line-height:1.3;color:#1F1F23}
.ihs .dk-src{margin-top:32px;font-size:12px;line-height:1.4;color:#6C6C75}

/* Text and chart rows */
.ihs .dk-row{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,64px);align-items:center}
.ihs .dk-copy{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:20px}
.ihs .dk-fig{flex:1.5 1 520px;min-width:0;max-width:760px}
.ihs .dk-chart{border:1px solid #E5E6E8;border-radius:24px;background:#FFFFFF;overflow:hidden}
.ihs .dk-chart svg{display:block;width:100%;height:auto}
.ihs .dk-panel{background:#F1F0F4;border-radius:55px;padding:clamp(24px,5vw,72px);flex-wrap:wrap-reverse}
.ihs .dk-panel .dk-chart{border:0}
.ihs .dk-sec{padding:clamp(64px,8vw,120px) 0 0}
.ihs .dk-head{display:flex;flex-direction:column;gap:16px;max-width:760px}
.ihs .dk-head .ihs-prose p{max-width:720px}

/* Cards */
.ihs .dk-stack{display:flex;flex-direction:column;gap:32px}
.ihs .dk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.ihs .dk-cards--4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.ihs .dk-card{border:1px solid #E5E6E8;border-radius:32px;padding:32px;display:flex;flex-direction:column;gap:12px;background:#FFFFFF}
.ihs .dk-card--mist{background:#F1F0F4;border-color:#F1F0F4}
.ihs .dk-card .ihs-eb{font-size:12px}
.ihs .dk-card h3{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.ihs .dk-card p{font-size:16px;line-height:1.5}
.ihs .dk-card .ihs-al{margin-top:auto;padding-top:8px}
.ihs .dk-cap{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,64px);align-items:center}
.ihs .dk-cap .dk-scroll{flex:1.5 1 520px;min-width:0;max-width:760px}
.ihs .dk-cap figcaption{flex:1 1 300px;text-align:left;font-size:18px;line-height:1.6;color:#1F1F23}

/* Dark modelling band with the scenario builder */
.ihs .dk-dark{background:#1F1F23;color:#FFFFFF;border-radius:55px;padding:clamp(24px,5vw,72px)}
.ihs .dk-dhead{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(32px,4vw,56px)}
.ihs .dk-dhead>div:first-child{flex:1 1 520px;min-width:0;max-width:720px;display:flex;flex-direction:column;gap:20px}
.ihs .dk-dark .ihs-eb,.ihs .dk-dark .ihs-hl{color:#76F5D8}
.ihs .dk-dark .ihs-prose p{color:#E5E6E8}
.ihs .dk-btns{display:flex;flex-wrap:wrap;gap:12px}
.ihs .dk-tick{font-size:14px;line-height:1.5;font-weight:700;color:#76F5D8;margin-bottom:28px}
.ihs .dk-sb-row{display:flex;flex-direction:column}
.ihs .dk-sb-row+.dk-sb-row{border-top:1px solid #3A3A40;padding-top:24px;margin-top:28px}
.ihs .dk-sb-hd{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ihs .dk-sb-hd label{font-size:18px;font-weight:600;line-height:1.4;cursor:pointer}
.ihs .dk-sb-hd span{font-size:14px;line-height:1.5;color:#B8B8C0}
.ihs .dk-sb-check{width:20px;height:20px;margin:0;accent-color:#76F5D8;cursor:pointer;flex:none}
.ihs .dk-sb-check:disabled{accent-color:#6C6C75;cursor:not-allowed}
.ihs .dk-sb-check:disabled+label{cursor:default}
.ihs .dk-sb-check:focus-visible{outline:2px solid #76F5D8;outline-offset:3px}
.ihs .dk-sb-col{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 280ms cubic-bezier(.2,0,0,1),opacity 220ms cubic-bezier(.2,0,0,1),visibility 0s linear 280ms}
.ihs .dk-sb-row.is-on .dk-sb-col,.ihs .dk-sb-row:has(.dk-sb-check:checked) .dk-sb-col{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}
.ihs .dk-sb-col>div{overflow:hidden;min-height:0}
.ihs .dk-sb-frame{position:relative;margin-top:22px;border:1px dashed #4E4E58;border-radius:16px;padding:30px 16px 16px}
.ihs .dk-sb-pf{position:absolute;top:-11px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:0 10px;background:#1F1F23;font-size:12px;line-height:20px;color:#E5E6E8;white-space:nowrap}
.ihs .dk-sb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ihs .dk-sb-card{position:relative;border:1px solid #4E4E58;border-radius:12px;padding:26px 18px 18px;min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.ihs .dk-sb-lab{position:absolute;top:-9px;left:14px;padding:0 6px;background:#1F1F23;font-size:11px;line-height:18px;color:#B8B8C0}
.ihs .dk-sb-pill{display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #6C6C75;border-radius:999px;padding:8px 14px;font-size:13px;color:#FFFFFF}
.ihs .dk-sb-flow{display:flex;align-items:center;justify-content:center;gap:8px}
.ihs .dk-sb-flow .dk-sb-pill{flex:0 1 180px}
.ihs .dk-sb-new{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.ihs .dk-sb-new span{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:#76F5D8;color:#1F1F23;font-size:11px;font-weight:700;letter-spacing:.04em}
.ihs .dk-sb-opt{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:13px;color:#FFFFFF}
.ihs .dk-sb-ot{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding-bottom:10px;border-bottom:1px solid #4E4E58}
.ihs .dk-sb-none{font-size:12px;color:#B8B8C0}
.ihs .dk-sb-assets{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.ihs .dk-sb-asset{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#E5E6E8}
.ihs .dk-ic{width:18px;height:18px;flex:none;fill:none;stroke:#76F5D8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ihs .dk-ic--lg{width:30px;height:30px;stroke-width:1.4}
.ihs .dk-ic--pf{width:16px;height:16px}
.ihs .dk-ic--flow{width:30px;height:16px;stroke-width:1.4}
.ihs .dk-sb-foot{margin-top:28px;font-size:13px;line-height:1.5;color:#B8B8C0}

/* Related reading with blog thumbnails */
.ihs .ihs-reads.dk-reads{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ihs .dk-read{overflow:hidden}
.ihs .dk-read .dk-thumb{display:block;width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:-24px -24px 6px;background:#E5E6E8}

/* Sources */
.ihs .dk-sources{padding:0 0 72px}
.ihs .dk-sources h2{font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6C6C75;margin-bottom:12px}
.ihs .dk-sources ul{display:flex;flex-direction:column;gap:6px;padding-left:18px;list-style:disc;font-size:13px;line-height:1.45;color:#6C6C75}
.ihs .dk-sources a{color:#8D2EFF;font-weight:500}
.ihs .dk-sources a:hover{text-decoration:underline}
.ihs .dk-faqnote{font-size:16px;line-height:1.5;color:#6C6C75}

@media (max-width:991px){
.ihs .dk-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
.ihs .dk-st{padding-left:24px}
.ihs .dk-panel,.ihs .dk-dark{border-radius:32px}
}
@media (max-width:860px){.ihs .dk-sb-cards{grid-template-columns:minmax(0,1fr);gap:20px}}
@media (max-width:767px){
.ihs .dk-stats{grid-template-columns:minmax(0,1fr);gap:32px}
.ihs .dk-st{align-items:center;gap:8px;padding:0;border-left:0;text-align:center}
.ihs .dk-sv{font-size:56px}
.ihs .dk-sl{font-size:14px}
.ihs .dk-src{text-align:center}
.ihs .dk-card{padding:24px;border-radius:24px}
.ihs .dk-dhead .dk-btns{width:100%}
.ihs .dk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:24px}
.ihs .dk-scroll .dk-chart{min-width:560px}
.ihs .dk-sb-hd label{flex:1 1 0;min-width:0}
.ihs .dk-sb-hd span{flex:1 1 100%;padding-left:34px}
}
@media (prefers-reduced-motion:reduce){.ihs .dk-sb-col{transition:none}}
