/* Data-center additions. Existing site tokens, type, header and footer are shared. */
:root { --dc-line: rgba(168,217,250,.22); }
[hidden] { display: none !important; }
html { scroll-padding-top: 104px; }
.nav-menu { gap: clamp(18px,2.3vw,34px); }
.nav-menu a { letter-spacing: .2em; }
.dc-feature { padding: 96px 50px 100px; border-bottom: .5px solid var(--line-subtle); }
.dc-feature-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 36px; }
.dc-feature-heading .section-title { margin: 0; font-size: clamp(36px,4vw,56px); }
.dc-feature-intro { max-width: 360px; color: var(--text-muted); font-size: 14px; line-height: 1.75; }
.dc-carousel { position: relative; border: 1px solid var(--dc-line); background: var(--black-mid); }
.dc-slides { position: relative; }
.dc-slide { min-height: 540px; position: relative; isolation: isolate; display: flex; align-items: center; padding: 58px 60px; overflow: hidden; }
.dc-slide-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; object-position: 62% center; }
.dc-slide::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(3,11,20,.98),rgba(3,11,20,.84) 37%,rgba(3,11,20,.16) 78%),linear-gradient(0deg,rgba(3,11,20,.55),transparent 52%); }
.dc-slide-copy { width: min(56%,600px); }
.dc-slide-topic { display: block; color: var(--gold-champagne); font-size: 10px; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 24px; }
.dc-slide h3 { font: 300 clamp(32px,3.6vw,52px)/1.1 var(--font-display); margin: 0 0 24px; letter-spacing: -.015em; }
.dc-slide h3 em { color: var(--gold-champagne); font-weight: 400; }
.dc-slide p { max-width: 450px; color: var(--text-body); font-size: 15px; line-height: 1.8; margin: 0 0 24px; }
.dc-facts { display: flex; gap: 10px 18px; flex-wrap: wrap; margin-bottom: 30px; color: var(--gold-champagne); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.dc-facts span { padding-bottom: 7px; border-bottom: 1px solid var(--line-medium); }
.dc-controls { display: flex; align-items: stretch; border-top: 1px solid var(--dc-line); background: var(--black-mid); }
.dc-selectors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); flex: 1; }
.dc-selector { appearance: none; border: 0; border-right: 1px solid var(--line-subtle); border-top: 2px solid transparent; background: transparent; color: var(--text-muted); padding: 23px 24px; text-align: left; font-family: var(--font-body); cursor: pointer; }
.dc-selector span { color: var(--gold-primary); display: block; font-size: 9px; letter-spacing: .2em; margin-bottom: 5px; }
.dc-selector strong { font-size: 12px; font-weight: 400; }
.dc-selector[aria-pressed="true"] { color: var(--gold-warm); border-top-color: var(--gold-primary); background: rgba(78,166,230,.06); }
.dc-selector:hover { background: rgba(78,166,230,.1); }
.dc-arrows { display: flex; align-items: center; gap: 10px; padding: 18px 24px; }
.dc-arrow { border: 1px solid var(--line-medium); background: none; width: 44px; height: 44px; color: var(--gold-champagne); font-size: 20px; cursor: pointer; }
.dc-arrow:hover { background: var(--gold-primary); color: var(--black-deep); }
.dc-carousel button:focus-visible,.dc-jumpnav a:focus-visible { outline: 2px solid var(--gold-champagne); outline-offset: -4px; }
.dc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dc-page-header { position: relative; isolation: isolate; min-height: 670px; padding: 170px 50px 90px; display: flex; align-items: center; overflow: hidden; }
.dc-page-header::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,11,20,.98),rgba(3,11,20,.82) 43%,rgba(3,11,20,.14)),linear-gradient(0deg,#030b14,transparent 38%),url('../img/data-center-hall.webp') center/cover; z-index: -1; }
.dc-page-header .page-header-inner { width: 100%; max-width: 1500px; margin: auto; }
.dc-page-header .page-header-title { max-width: 830px; font-size: clamp(44px,5.5vw,78px); }
.dc-page-header .page-header-sub { max-width: 620px; margin-bottom: 30px; }
.dc-jumpnav { padding: 0 50px; border-top: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); background: var(--black-mid); }
.dc-jumpnav-inner { display: flex; max-width: 1500px; margin: auto; gap: 30px; overflow-x: auto; }
.dc-jumpnav a { display: block; padding: 21px 0; color: var(--text-muted); font-size: 10px; letter-spacing: .17em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.dc-jumpnav a:hover { color: var(--gold-champagne); }
.dc-scope-heading { max-width: 750px; }
.dc-scope-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line-subtle); border: 1px solid var(--line-subtle); }
.dc-scope-card { background: var(--black-mid); padding: 40px;  }
.dc-scope-card .dc-number { color: var(--gold-primary); font-size: 11px; letter-spacing: .3em; }
.dc-scope-card h3 { font: 300 30px/1.15 var(--font-display); margin: 16px 0 18px; }
.dc-scope-card > p { color: var(--text-muted); font-size: 14px; line-height: 1.75; margin-bottom: 24px; }
.dc-scope-card ul { list-style: none; padding: 0; margin: 0 0 28px; }
.dc-scope-card li { border-top: 1px solid rgba(168,217,250,.1); padding: 10px 0; color: var(--text-body); font-size: 13px; line-height: 1.6; }
.dc-output { color: var(--text-muted); font-size: 12px; line-height: 1.7; border-left: 2px solid var(--gold-primary); padding: 0 0 0 15px; }
.dc-output span { display: block; color: var(--gold-champagne); font-size: 9px; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 7px; }
.dc-models { border-top: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); background: var(--black-mid); }
.dc-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.dc-model-grid article { padding-top: 24px; border-top: 1px solid var(--line-medium); }
.dc-model-grid h3 { font: 300 26px/1.2 var(--font-display); margin: 0 0 16px; }
.dc-model-grid p { color: var(--text-muted); font-size: 14px; line-height: 1.8; }
.dc-commercial { display: grid; grid-template-columns: .9fr 1.5fr; gap: 70px; }
.dc-commercial-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px 30px; }
.dc-commercial-list div { border-top: 1px solid var(--line-medium); padding-top: 18px; }
.dc-commercial-list h3 { font: 300 22px/1.2 var(--font-display); margin-bottom: 10px; }
.dc-commercial-list p { font-size: 13px; color: var(--text-muted); line-height: 1.8; }
.dc-brief-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line-subtle); border: 1px solid var(--line-subtle); margin-bottom: 40px; }
.dc-brief-grid div { padding: 26px; background: var(--black-mid); }
.dc-brief-grid span { display: block; font-size: 9px; color: var(--gold-primary); letter-spacing: .2em; margin-bottom: 12px; }
.dc-brief-grid h3 { font: 300 21px/1.2 var(--font-display); margin-bottom: 12px; }
.dc-brief-grid p { font-size: 12px; color: var(--text-muted); line-height: 1.75; }
.dc-link-card { display: grid; grid-template-columns: 1.3fr 1fr; background: var(--black-mid); border: 1px solid var(--line-medium); }
.dc-link-card img { width: 100%; height: 330px; object-fit: cover; }
.dc-link-card-body { padding: 40px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.dc-link-card h2 { font: 300 32px/1.15 var(--font-display); margin: 0 0 18px; }
.dc-link-card p { font-size: 14px; color: var(--text-muted); margin-bottom: 22px; }
.dc-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.dc-method-note { margin-top: 28px; color: var(--text-muted); font-size: 12px; max-width: 860px; line-height: 1.8; }
.dc-contact { background: var(--black-mid); border-top: 1px solid var(--line-subtle); }
@media (min-width:1101px) and (max-width:1320px) { .nav-cta { display: none; } }
@media (max-width:1000px) {
 .dc-feature-heading { display: block; }.dc-feature-intro { max-width: 650px; margin-top: 24px; }
 .dc-slide { padding: 44px; }.dc-slide-copy { width: 65%; }
 .dc-commercial { grid-template-columns: 1fr; gap: 35px; }.dc-brief-grid { grid-template-columns: repeat(2,1fr); }
 .dc-selector { padding: 20px 16px; }.dc-arrows { padding: 12px; }
}
@media (max-width:768px) {
 .dc-feature { padding: 65px 24px; }.dc-page-header { min-height: auto; padding: 142px 24px 64px; }
 .dc-page-header::before { background: linear-gradient(90deg,rgba(3,11,20,.96),rgba(3,11,20,.55)),url('../img/data-center-hall.webp') 60% center/cover; }
 .dc-slide { min-height: 590px; padding: 40px 26px; align-items: flex-end; }.dc-slide-copy { width: 100%; }
 .dc-slide::before { background: linear-gradient(0deg,rgba(3,11,20,.98),rgba(3,11,20,.88) 62%,rgba(3,11,20,.3)); }
 .dc-slide h3 { font-size: 36px; }.dc-slide p { font-size: 14px; }.dc-slide .btn-primary { padding: 15px 20px; font-size: 9px; }
 .dc-controls { display: block; }.dc-selector { padding: 16px 10px; }.dc-selector strong { font-size: 10px; }
 .dc-arrows { justify-content: flex-end; border-top: 1px solid var(--line-subtle); }
 .dc-jumpnav { padding: 0 24px; }.dc-jumpnav-inner { gap: 24px; }
 .dc-scope-grid,.dc-model-grid,.dc-link-card { grid-template-columns: 1fr; }.dc-scope-card { padding: 30px 24px; }
 .dc-commercial-list { grid-template-columns: 1fr; }.dc-brief-grid div { padding: 22px 18px; }.dc-brief-grid h3 { font-size: 19px; }
 .dc-link-card img { height: 260px; }.dc-link-card-body { padding: 30px 24px; }
 .dc-actions { flex-direction: column; align-items: stretch; }
}
@media (max-width:380px) { .dc-brief-grid { grid-template-columns: 1fr; }.dc-slide h3 { font-size: 32px; } }
@media (prefers-reduced-motion:no-preference) { .dc-slide { animation: dc-enter .35s ease; } @keyframes dc-enter { from { opacity:.6; } to { opacity:1; } } }

.dc-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-medium);border:1px solid var(--line-medium)}
.dc-offer{padding:46px;background:var(--black-mid);display:flex;flex-direction:column;align-items:flex-start}
.dc-offer-label{font-size:10px;letter-spacing:.25em;color:var(--gold-champagne);margin-bottom:25px}
.dc-offer h3{font:300 clamp(32px,3vw,42px)/1.1 var(--font-display);margin:0 0 20px}
.dc-offer p{font-size:16px;color:var(--text-body);line-height:1.8;margin-bottom:24px}
.dc-offer ul{list-style:none;padding:0;margin:0 0 30px}.dc-offer li{color:var(--text-muted);font-size:13px;line-height:1.8;padding:12px 0;border-top:1px solid var(--line-subtle)}
.dc-offer .btn-secondary{margin-top:auto;font-size:10px;letter-spacing:.2em}
.dc-boutique{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:44px;padding-top:30px;border-top:1px solid var(--line-subtle)}
.dc-boutique span{color:var(--gold-champagne);font-size:9px;letter-spacing:.2em}.dc-boutique p{color:var(--text-muted);font-size:13px;line-height:1.8;margin-top:13px}
.dc-coverage{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid var(--line-subtle);margin-top:48px;padding-top:25px}.dc-coverage span{font-size:11px;color:var(--gold-champagne);letter-spacing:.08em}
@media(max-width:768px){.dc-offers,.dc-boutique{grid-template-columns:1fr}.dc-offer{padding:30px 24px}.dc-boutique{gap:24px}.dc-page-header .dc-actions .btn-primary,.dc-page-header .dc-actions .btn-secondary{font-size:12px;padding:16px 18px;letter-spacing:.08em}}

/* Whole-site review: shared readability and responsive interaction. */
.home-sector-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 26px; color: var(--gold-champagne); text-underline-offset: 6px; font-size: 14px; line-height: 1.6; }
.inline-link { color: var(--gold-champagne); text-underline-offset: 4px; }
.dc-feature-heading > *, .dc-selectors, .dc-offer, .dc-commercial > *, .dc-actions > * { min-width: 0; }
.dc-feature-intro, .dc-model-grid p, .dc-link-card p, .dc-scope-card > p { font-size: 16px; }
.dc-scope-card li, .dc-offer li, .dc-boutique p, .dc-commercial-list p, .dc-brief-grid p { font-size: 15px; }
.dc-slide-topic, .dc-offer-label, .dc-number, .dc-boutique span, .dc-output span, .dc-brief-grid span { font-size: 11px; }
.dc-output, .dc-method-note { font-size: 13px; }
.dc-facts, .dc-coverage span { font-size: 12px; }
.dc-selector { min-width: 0; min-height: 78px; }
.dc-selector span { font-size: 11px; }
.dc-selector strong { font-size: 13px; }
.dc-jumpnav a { font-size: 11px; }
.dc-slide .btn-primary, .dc-offer .btn-secondary, .dc-actions .btn-primary, .dc-actions .btn-secondary { font-size: 12px; letter-spacing: .12em; max-width: 100%; text-align: center; }
.dc-link-card h2 em { color: var(--gold-champagne); }
.nav-toggle { min-width: 44px; min-height: 44px; }
.nav-inner { gap: 24px; }
.nav-logo, .nav-cta { flex-shrink: 0; }
@media (max-width:1100px) { .nav-menu { gap: 0; max-height: calc(100dvh - var(--nav-height)); overflow-y: auto; } }
@media (max-width:768px) {
 .dc-slide h3 { font-size: clamp(30px,7vw,40px); }
 .dc-slide { padding: 36px 24px; }
 .dc-slide p { font-size: 15px; }
 .dc-selector { padding: 16px 10px; }
 .dc-selector strong { font-size: 12px; line-height: 1.5; }
 .dc-actions .btn-primary, .dc-actions .btn-secondary, .dc-slide .btn-primary, .dc-offer .btn-secondary { padding: 16px 18px; font-size: 12px; letter-spacing: .08em; }
 .dc-feature-heading .section-title, .dc-scope-card h3 { overflow-wrap: break-word; }
}
@media (prefers-reduced-motion:reduce) { [data-reveal],[data-reveal] .architecture-step,[data-reveal] .outcome-item { opacity: 1; transform: none; } }

/* Keep slide changes at a stable height without making inactive content focusable. */
.dc-slides { display: grid; }
.dc-slide { grid-area: 1 / 1; }
.dc-slide[hidden] { display: flex !important; visibility: hidden; pointer-events: none; }


/* Boutique refinement: clearer groups and more breathing room. */
.dc-offers, .dc-scope-grid { gap: 24px; background: transparent; border: 0; }
.dc-offer, .dc-scope-card { border: 1px solid var(--line-subtle); }
.dc-scope-card > p { max-width: 48ch; }
.dc-offer p { max-width: 40ch; }
.dc-page-header .page-header-sub { max-width: 570px; }
.dc-boutique { margin-top: 48px; padding-top: 34px; }
.dc-slide p { max-width: 40ch; }
.home-sector-link { max-width: 100%; }
@media (max-width:768px) {
 .dc-offers, .dc-scope-grid { gap: 20px; }
 .dc-offer, .dc-scope-card { padding: 32px 24px; }
}

/* Keep horizontal section navigation consistent with the dark site theme. */
.dc-jumpnav-inner { scrollbar-width: thin; scrollbar-color: #276B99 #07111C; }
.dc-jumpnav-inner::-webkit-scrollbar { height: 3px; }
.dc-jumpnav-inner::-webkit-scrollbar-track { background: #07111C; }
.dc-jumpnav-inner::-webkit-scrollbar-thumb { background: #276B99; border-radius: 3px; }
