
/* DB Resilience v21 — multi-page information architecture.
   Design benchmark: premium enterprise product-site hierarchy; original implementation and branding. */

.v21-main { min-height: 70vh; }
.v21-header .v21-nav { max-width: 1280px; }
.v21-nav .nav-links { gap: 8px; }
.v21-nav .nav-links > a { padding: 10px 13px; border-radius: 999px; }
.v21-nav .nav-links > a:hover,
.v21-nav .nav-links > a.v21-current { color: var(--text); background: color-mix(in srgb, var(--cyan) 9%, transparent); }
.v21-nav .nav-links > a.v21-contact-cta { border: 1px solid color-mix(in srgb, var(--cyan) 36%, var(--border)); padding-inline: 16px; }
.v21-nav .nav-links > a.v21-contact-cta.v21-current { border-color: color-mix(in srgb, var(--cyan) 60%, var(--border)); }
body[data-page="home"] .engineering-rail { display:none !important; }
body[data-page] main { padding-left: 0; }

/* Homepage: intentionally selective. */
body[data-page="home"] .hero { min-height: clamp(700px, 82vh, 900px); padding-top: clamp(100px, 12vh, 150px); }
body[data-page="home"] .hero h1 { font-size: clamp(4rem, 6.2vw, 7.25rem); max-width: 8.5ch; }
body[data-page="home"] .hero-text { max-width: 720px; }

.v21-platform-band { border-block: 1px solid var(--border); background: color-mix(in srgb, var(--panel) 78%, transparent); }
.v21-platform-band .shell { padding-block: 28px; }
.v21-platform-band p { margin: 0 0 15px; color: var(--cyan); font: 800 .72rem/1 var(--mono); letter-spacing: .15em; }
.v21-platform-band .shell > div { display:flex; gap:10px; flex-wrap:wrap; }
.v21-platform-band span { padding:8px 11px; border:1px solid var(--border); border-radius:999px; color:var(--muted); font-size:.82rem; background:color-mix(in srgb,var(--panel) 72%,transparent); }

.v21-home-section { padding-block: clamp(90px, 10vw, 155px); }
.v21-section-intro { max-width: 800px; margin-bottom: 50px; }
.v21-section-intro h2, .v21-feature-split h2, .v21-engagement-preview h2, .v21-contact-cta-section h2 { font-size:clamp(2.4rem,4.2vw,5rem); line-height:.98; letter-spacing:-.045em; margin:.2em 0 .35em; }
.v21-section-intro > p:last-child, .v21-feature-split p, .v21-engagement-preview p, .v21-contact-cta-section p { color:var(--muted); font-size:clamp(1rem,1.15vw,1.15rem); line-height:1.7; }

.v21-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.v21-path-card { min-height:390px; display:flex; flex-direction:column; padding:32px; border:1px solid var(--border); border-radius:28px; color:var(--text); text-decoration:none; background:linear-gradient(150deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel) 70%,transparent)); position:relative; overflow:hidden; transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.v21-path-card::after { content:""; position:absolute; inset:auto -15% -40% 20%; height:220px; background:radial-gradient(circle,color-mix(in srgb,var(--cyan) 20%,transparent),transparent 68%); opacity:.7; pointer-events:none; }
.v21-path-card:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--cyan) 38%,var(--border)); box-shadow:0 28px 70px rgba(0,0,0,.22); }
.v21-path-card > span { color:var(--cyan); font:800 .72rem/1.2 var(--mono); letter-spacing:.1em; }
.v21-path-card h3 { font-size:clamp(1.7rem,2.2vw,2.45rem); line-height:1.04; letter-spacing:-.035em; margin:55px 0 18px; }
.v21-path-card p { color:var(--muted); line-height:1.65; margin:0 0 30px; }
.v21-path-card b { margin-top:auto; color:var(--cyan); font-size:.9rem; }

.v21-feature-band, .v21-student-teaser { border-block:1px solid var(--border); background:linear-gradient(100deg,color-mix(in srgb,var(--cyan) 7%,transparent),transparent 42%,color-mix(in srgb,var(--teal) 8%,transparent)); }
.v21-feature-split { min-height:560px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr); gap:80px; align-items:center; padding-block:90px; }
.v21-mini-console { border:1px solid color-mix(in srgb,var(--cyan) 28%,var(--border)); border-radius:28px; padding:35px; background:color-mix(in srgb,var(--panel) 92%,transparent); box-shadow:0 35px 90px rgba(0,0,0,.18); display:grid; gap:10px; }
.v21-mini-console span { color:var(--muted); font:700 .68rem/1 var(--mono); letter-spacing:.13em; }
.v21-mini-console strong { font-size:1.2rem; }
.v21-mini-console i { height:1px; background:var(--border); margin:12px 0; }

.v21-service-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--border); border-radius:24px; overflow:hidden; background:var(--border); margin-bottom:34px; }
.v21-service-preview span { background:var(--panel); padding:27px 30px; font-weight:800; font-size:1.05rem; }
.v21-engagement-preview { display:flex; justify-content:space-between; gap:70px; align-items:end; border-top:1px solid var(--border); }
.v21-engagement-preview > div { max-width:820px; }
.v21-student-teaser .v21-feature-split { min-height:430px; }
.v21-contact-cta-section { padding-block:clamp(110px,12vw,180px); text-align:center; max-width:900px; }
.v21-contact-cta-section p { max-width:620px; margin-inline:auto; }
.v21-contact-cta-section .button { margin-top:24px; }

/* Dedicated pages: no permanent homepage rail. */
body[data-page]:not([data-page="home"]) .engineering-rail { display:none !important; }
body[data-page]:not([data-page="home"]) .v21-main > .section,
body[data-page]:not([data-page="home"]) .v21-main > .contact-section,
body[data-page]:not([data-page="home"]) .v21-main > .cloud-section { margin-top:0; }
body[data-page="services"] #services,
body[data-page="pricing"] #pricing,
body[data-page="contact"] #contact,
body[data-page="linux-lab"] #linux-engineering,
body[data-page="cloud"] #cloud,
body[data-page="engineering"] #command-center { padding-top:clamp(140px,12vw,190px); }

.v21-page-hero { padding-top:clamp(150px,14vw,210px); padding-bottom:70px; }
.v21-page-hero h1 { max-width:900px; font-size:clamp(3rem,6vw,6.6rem); line-height:.95; letter-spacing:-.05em; margin:.2em 0 .35em; }
.v21-page-hero > p:last-child { color:var(--muted); max-width:720px; font-size:1.15rem; line-height:1.7; }
.v21-student-detail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:36px; }
.v21-student-detail article { padding:30px; border:1px solid var(--border); border-radius:24px; background:var(--panel); }
.v21-student-detail article > span { color:var(--cyan); font:800 .72rem/1 var(--mono); }
.v21-student-detail h2 { font-size:1.55rem; margin:35px 0 15px; }
.v21-student-detail p { color:var(--muted); line-height:1.7; }

/* Footer now behaves like a real site directory. */
.v21-footer { border-top:1px solid var(--border); }
.v21-footer .footer-main { align-items:start; gap:80px; padding-block:70px; }
.v21-footer-cols { flex:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.v21-footer-cols > div { display:flex; flex-direction:column; gap:11px; }
.v21-footer-cols strong { color:var(--muted); font:800 .7rem/1 var(--mono); letter-spacing:.12em; margin-bottom:8px; }
.v21-footer-cols a { color:var(--text); text-decoration:none; font-size:.9rem; }
.v21-footer-cols a:hover { color:var(--cyan); }

@media (max-width: 980px) {
  .v21-path-grid { grid-template-columns:1fr; }
  .v21-path-card { min-height:310px; }
  .v21-feature-split { grid-template-columns:1fr; gap:40px; min-height:0; }
  .v21-engagement-preview { display:grid; align-items:start; }
  .v21-student-detail { grid-template-columns:1fr; }
  .v21-footer .footer-main { display:grid; }
  .v21-footer-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  body[data-page="home"] .hero { padding-top:110px; min-height:auto; }
  body[data-page="home"] .hero h1 { font-size:clamp(3.3rem,17vw,5.2rem); }
  .v21-home-section { padding-block:76px; }
  .v21-service-preview { grid-template-columns:1fr; }
  .v21-footer-cols { grid-template-columns:1fr; }
  .v21-nav .nav-links > a { border-radius:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .v21-path-card { transition:none; }
}
