/* Cardinal Solutions: shared presentation for the delivery offering. */
:root {
    --cardinal-red: #a91d32;
    --cardinal-red-dark: #841427;
    --bs-link-color: var(--cardinal-red);
    --bs-link-hover-color: var(--cardinal-red-dark);
    --bs-danger-rgb: 169, 29, 50;
    --bs-dark-rgb: 27, 30, 35;
    --bs-light-rgb: 247, 247, 246;
}
body { line-height: 1.65; }
.text-muted { color: #60676e !important; }
h1, h2, h3 { line-height: 1.18; letter-spacing: -0.025em; }
h2 { font-size: clamp(1.85rem, 3vw, 2.5rem); }
a { text-underline-offset: 0.2em; }
section[id] { scroll-margin-top: 1.5rem; }
.navbar { padding-block: 1.15rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.navbar-brand { font-weight: 750; letter-spacing: -0.035em; }
.navbar-dark { --bs-navbar-color: #c6c8cb; --bs-navbar-hover-color: #fff; }
.navbar-nav { gap: 0.25rem; }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--cardinal-red); font-size: 0.925rem; }
.dropdown-item { padding-block: 0.55rem; }
.btn { font-weight: 650; padding-block: 0.7rem; }
.btn-danger {
    --bs-btn-bg: var(--cardinal-red);
    --bs-btn-border-color: var(--cardinal-red);
    --bs-btn-hover-bg: var(--cardinal-red-dark);
    --bs-btn-hover-border-color: var(--cardinal-red-dark);
    --bs-btn-active-bg: var(--cardinal-red-dark);
    --bs-btn-active-border-color: var(--cardinal-red-dark);
}
.btn-outline-danger {
    --bs-btn-color: var(--cardinal-red);
    --bs-btn-border-color: var(--cardinal-red);
    --bs-btn-hover-bg: var(--cardinal-red);
    --bs-btn-hover-border-color: var(--cardinal-red);
    --bs-btn-active-bg: var(--cardinal-red-dark);
    --bs-btn-active-border-color: var(--cardinal-red-dark);
}
:focus-visible { outline: 3px solid #377ab9; outline-offset: 4px; }
.skip-link { position: absolute; z-index: 1050; top: 0.5rem; left: 1rem; padding: 0.75rem 1rem; background: #fff; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.hero { padding-block: 5.5rem 6rem; }
.hero h1 { line-height: 1.05; letter-spacing: -0.045em; }
.hero-intro { color: #e2e3e5; max-width: 38rem; }
.hero-note { color: #c2c5ca; max-width: 34rem; }
.eyebrow, .package-label, .capability-number {
    color: var(--cardinal-red);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.bg-dark .eyebrow, header.bg-dark .text-danger { color: #ffacb6 !important; }
header.bg-dark .text-dark .text-danger { color: var(--cardinal-red) !important; }
.delivery-map { background: #25292f; padding: 2rem; border: 1px solid #454951; border-radius: 0.7rem; }
.lifecycle-list { list-style: none; margin: 0; padding: 0; }
.lifecycle-list li { display: flex; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid #454951; }
.lifecycle-list strong { display: block; font-size: 1.2rem; }
.lifecycle-list div > span { display: block; color: #c6c8cd; font-size: 0.9rem; margin-top: 0.25rem; }
.step-index { font-size: 0.75rem; color: #ffacb6; padding-top: 0.4rem; font-weight: 700; }
.delivery-map-footer { margin-top: 0.5rem; padding-top: 1.5rem; border-top: 1px solid #454951; color: #d2d4d8; font-size: 0.85rem; }
.section-space { padding-block: 5rem; }
.section-heading { max-width: 47rem; margin-bottom: 2.75rem; }
.section-heading .lead { margin-top: 1rem; margin-bottom: 0; }
.capability { height: 100%; padding: 1.5rem 0.75rem 1rem 0; border-top: 2px solid #e4e4e4; }
.capability-number { display: block; margin-bottom: 1rem; }
.capability p { color: #555b62; }
.capability a { font-size: 0.925rem; font-weight: 650; }
.package-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #d9dadd; border-radius: 0.6rem; padding: 1.75rem; }
.package-featured { border-top: 4px solid var(--cardinal-red); padding-top: calc(1.75rem - 3px); }
.package-label { font-size: 0.65rem; letter-spacing: 0.075em; min-height: 2.2em; margin-bottom: 0.75rem; }
.package-roles { margin-block: 1rem; }
.package-roles dt { font-size: 0.8rem; margin-bottom: 0.2rem; }
.package-roles dd { color: #555b62; font-size: 0.925rem; margin-bottom: 1rem; }
.package-roles dd:last-child { margin-bottom: 0; }
.package-details { border-top: 1px solid #e4e4e4; margin-block: 0.25rem 1.25rem; font-size: 0.925rem; }
.package-details summary { padding-block: 0.75rem; font-weight: 650; color: var(--cardinal-red); cursor: pointer; }
.package-details ul { padding-left: 1.1rem; margin-block: 0.25rem 0.75rem; }
.package-details li { margin-bottom: 0.5rem; }
.package-details li::marker { color: var(--cardinal-red); }
.pricing-note { padding: 1.25rem 1.5rem; border-left: 3px solid var(--cardinal-red); background: #ededeb; font-size: 0.9rem; }
.process-step { border-top: 1px solid #d9dadd; padding-top: 1.5rem; }
.process-number { display: block; color: var(--cardinal-red); font-size: 0.85rem; font-weight: 750; margin-bottom: 1rem; }
.process-step p { color: #555b62; margin-bottom: 0; }
.oversight-section p { color: #d2d4d8; }
.oversight-item { border-top: 1px solid #454951; padding-top: 1.25rem; margin-top: 1.25rem; }
.oversight-item p { margin-bottom: 0; }
.experience-note { border-top: 1px solid #454951; margin-top: 2rem; padding-top: 1.5rem; }
#ai-confidentiality { scroll-margin-top: 1.5rem; }
.contact-card { padding: 2rem; background: #fff; border: 1px solid #d9dadd; border-radius: 0.6rem; }
.contact-email { overflow-wrap: anywhere; font-weight: 700; }
.copy-email-button { display: block; margin-top: 0.75rem; padding: 0.35rem 0; color: var(--cardinal-red); background: transparent; border: 0; text-decoration: underline; text-underline-offset: 0.2em; font-size: 0.9rem; }
.copy-email-button[hidden] { display: none; }
footer .text-white-50 { color: #c6c8cb !important; }
@media (max-width: 991.98px) {
    .hero { padding-block: 2.5rem; }
    .section-space { padding-block: 3.5rem; }
    .package-label { min-height: 0; }
    .navbar-collapse { padding-top: 1rem; }
}
@media (max-width: 575.98px) {
    .navbar-brand { font-size: 1.05rem; }
    .navbar-toggler { padding: 0.3rem 0.5rem; }
    .delivery-map, .package-card, .contact-card { padding: 1.5rem; }
    .package-featured { padding-top: calc(1.5rem - 3px); }
    .dropdown-item { white-space: normal; }
    .hero h1 { font-size: 2.65rem; }
    .hero .btn { width: 100%; }
}
