* { box-sizing: border-box; }
html { scroll-padding-top: 6rem; }
body { margin: 0; background: #fbf8f3; color: #17120f; font-family: Inter, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #9d724e; outline-offset: 5px; }
.home-container { width: min(100% - 3rem, 72rem); margin-inline: auto; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: 1rem; background: #fff; }
.skip-link:focus { top: 1rem; }
.home-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid #e7ded3; background: rgba(251, 248, 243, .96); backdrop-filter: blur(16px); }
.home-nav { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.home-brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; white-space: nowrap; font-size: 1.35rem; font-weight: 750; letter-spacing: -.04em; }
.home-brand img { width: 2.25rem; height: 2.25rem; }
.home-nav-links { display: flex; align-items: center; gap: 1.5rem; font-size: .85rem; }
.home-nav-links > a:not(.home-button) { text-decoration: none; color: #5d554d; }
.home-nav-links > a:not(.home-button):hover { color: #17120f; }
.home-button { display: inline-flex; min-height: 3.15rem; align-items: center; justify-content: center; padding: .9rem 1.25rem; border: 1px solid #17120f; border-radius: .85rem; background: #17120f; color: #fffaf4; font-size: .88rem; font-weight: 650; text-decoration: none; text-align: center; transition: background 160ms ease, transform 160ms ease; }
.home-button:hover { background: #342a23; transform: translateY(-2px); }
.home-button.is-secondary { background: transparent; color: #17120f; border-color: #d6c9bb; }
.home-button.is-secondary:hover { background: #f0e9e0; }
.home-menu-button { display: none; padding: .7rem; border: 1px solid #d6c9bb; background: transparent; border-radius: .65rem; }
.home-menu-button svg { display: block; width: 1.4rem; height: 1.4rem; }
.home-mobile-nav { max-height: calc(100vh - 5rem); max-height: calc(100dvh - 5rem); overflow-y: auto; padding: .5rem 1.5rem 1.5rem; border-top: 1px solid #e7ded3; }
.home-mobile-nav a { display: block; padding: .85rem .25rem; text-decoration: none; }
.home-mobile-nav .home-button { margin-top: .5rem; padding: .85rem; }
.home-hero { padding: 5rem 0 4.5rem; background: radial-gradient(ellipse at 50% 0, #f1e5d7 0, transparent 68%); text-align: center; }
.home-hero .outcomes-eyebrow { justify-content: center; margin-bottom: 1.5rem; }
.home-hero h1 { max-width: 62rem; margin: 0 auto; font-size: clamp(2.65rem, 5.5vw, 4.8rem); line-height: 1.04; letter-spacing: -.055em; font-weight: 750; text-wrap: balance; }
.home-hero h1 span { color: #8d6240; }
.home-hero-copy { max-width: 46rem; margin: 1.5rem auto 0; color: #655b52; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.7; text-wrap: pretty; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .8rem; margin-top: 1.8rem; }
.home-hero-note { margin: 1.5rem 0 0; color: #84776a; font-size: .75rem; }
.outcomes-section, .stack-section, .calculator-section, .pilot-section, .home-section { padding: 4.5rem 1.5rem; }
.outcomes-heading { font-size: clamp(2.15rem, 4vw, 3.6rem); line-height: 1.06; }
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.home-section-heading .outcomes-heading { max-width: 43rem; }
#evidence-title { max-width: none; }
#evidence-title > span { display: block; }
.home-section-heading .benchmark-link { font-size: .85rem; }
.home-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2.3rem; }
.home-metrics .result-card { display: flex; flex-direction: column; min-height: 0; padding: 1.4rem; }
.home-metrics .result-card strong { align-self: flex-start; font-size: clamp(1.65rem, 2.7vw, 2.15rem); line-height: 1.1; letter-spacing: -.05em; margin-top: 1.5rem; text-wrap: balance; }
.home-metrics .result-card:hover,
.home-metrics .result-card:focus-visible { border-color: #b68b66; background: #fff8ee; }
.result-card-detail { margin-top: 1rem; color: #8a6a50; font-size: .73rem; line-height: 1.5; }
.result-card-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid #e0d5c9; }
.result-card-comparison > span { min-width: 0; color: #75685c; font-size: .65rem; line-height: 1.5; }
.result-card-comparison b { display: block; margin-top: .35rem; color: #262019; font-size: 1.2rem; font-weight: 650; letter-spacing: -.04em; white-space: nowrap; }
.result-card-comparison > span:last-child b { color: #8d6240; }
.result-card-unit { margin-top: .7rem; font-size: .65rem; line-height: 1.5; color: #75685c; }
.result-card-benefit { margin-top: 1rem; color: #504d39; font-size: .75rem; font-weight: 600; line-height: 1.5; }
.result-card-link { padding-top: 1.25rem; margin-top: 0; color: #30251c; font-size: .75rem; font-weight: 650; }
.home-engagement { border-bottom: 1px solid #e7ded3; }
.engagement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.3rem; }
.engagement-card { padding: 1.75rem; border: 1px solid #e0d5c9; border-radius: 1.4rem; background: #fffcf7; }
.engagement-stage { display: inline-block; max-width: 100%; padding: .5rem .75rem; border: 1px solid #dfc9b1; border-radius: .65rem; background: #f7eddf; color: #795535; font-size: .75rem; font-weight: 650; line-height: 1.5; }
.engagement-stage.is-conversation { border-color: #d2d9c8; background: #edf0e6; color: #4b5c40; }
.engagement-card h3 { margin: 1.4rem 0 .8rem; color: #1a1512; font-size: 1.5rem; font-weight: 700; letter-spacing: -.035em; }
.engagement-card p { margin: 0; color: #695f57; font-size: .95rem; line-height: 1.75; }
.home-support { padding: 2rem 1.5rem; border-bottom: 1px solid #e7ded3; }
.home-support-inner { display: flex; align-items: center; justify-content: center; gap: 1.5rem; }
.home-support-label { flex: 0 0 auto; font-size: .65rem; font-weight: 700; letter-spacing: .16em; color: #81756a; text-transform: uppercase; line-height: 1.7; white-space: nowrap; }
.home-support-logos { display: grid; flex: 1; min-width: 0; grid-template-columns: minmax(0, .75fr) minmax(0, .7fr) minmax(0, .55fr) minmax(0, 1.25fr) minmax(0, 1.35fr) minmax(0, 1.2fr); align-items: center; gap: 1.25rem; }
.home-support-logo { display: flex; min-width: 0; align-items: center; justify-content: center; height: 4rem; overflow: hidden; text-decoration: none; mix-blend-mode: multiply; }
.home-logo-mark { display: block; background-image: var(--logo-image); background-repeat: no-repeat; background-position: center; background-size: contain; }
.home-logo-js .home-logo-mark:not(.is-loaded) { background-image: none; }
.home-support-logo .home-logo-mark { flex: 0 0 auto; width: min(100%, calc(3rem * var(--logo-aspect))); aspect-ratio: var(--logo-aspect); }
.home-support-logo.is-pear { gap: .25rem; }
.home-support-logo.is-pear .home-logo-mark { min-width: 0; max-width: calc(100% - 1.75rem); }
.home-support-logo.is-pear span:not(.home-logo-mark) { font-size: .55rem; font-weight: 700; }
.home-support-logo.is-nec { mix-blend-mode: normal; }
.home-support-logo.is-nec .home-logo-mark { width: min(100%, calc(3.5rem * var(--logo-aspect))); }
.home-support-logo.is-padded .home-logo-mark { width: 100%; max-width: 10.5rem; }
/* Center the artwork within these assets' padded square canvases. */
.home-support-logo.is-google .home-logo-mark { max-width: 14rem; transform: translateY(3.75%); }
.home-support-logo.is-aws .home-logo-mark { transform: translateY(5%); }
.home-team { --team-background: #f4eee6; padding: 2.5rem 1.5rem; border-bottom: 1px solid #e7ded3; background: var(--team-background); }
.home-team-heading { margin-bottom: 1.5rem; }
.home-team-heading h2 { margin: 0; font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight: 650; letter-spacing: -.035em; }
.home-team-track { background: var(--team-background); }
.home-team-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; padding: 0; margin: 0; list-style: none; }
.home-team-logo { display: flex; flex: 0 0 11rem; align-items: center; justify-content: center; min-height: 6.5rem; padding: 1rem; }
.home-team-logo > div { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.5rem; }
.home-team-logo .home-logo-mark { width: 100%; height: 100%; }
.home-team-logo.is-white-background .home-logo-mark { mix-blend-mode: multiply; }
.home-team-logo.is-columbia > div { overflow: hidden; }
.home-team-logo.is-columbia .home-logo-mark { flex: 0 0 auto; width: 6.5rem; height: 6.5rem; }
.home-team-group[aria-hidden="true"] { display: none; }
.home-team.is-animated .home-team-viewport { overflow: hidden; }
.home-team.is-animated .home-team-track { display: flex; width: max-content; animation: home-team-scroll 48s linear infinite; }
.home-team.is-animated .home-team-group { display: flex; flex: 0 0 auto; flex-wrap: nowrap; justify-content: start; padding-right: 1rem; }
.home-team-viewport:hover .home-team-track,
.home-team-viewport:focus-within .home-team-track { animation-play-state: paused; }
@keyframes home-team-scroll { to { transform: translateX(-50%); } }
.home-workloads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.home-workload { padding: 1.75rem; border: 1px solid #e0d5c9; border-radius: 1.4rem; background: #fffcf7; }
.home-workload h3 { margin: 1rem 0 .8rem; font-size: 1.5rem; letter-spacing: -.035em; }
.home-workload p { color: #695f57; font-size: .92rem; line-height: 1.7; }
.home-workload ul { padding-left: 1.15rem; margin: 1.3rem 0 1.5rem; color: #695f57; font-size: .82rem; line-height: 1.9; }
.home-workload .benchmark-link { font-size: .82rem; }
.home-section.is-deployment { background: #f4eee6; border-top: 1px solid #e7ded3; border-bottom: 1px solid #e7ded3; }
.home-deployment-note { margin-top: 1.5rem; font-size: .85rem; color: #756c64; line-height: 1.7; }
.home-footer { padding: 2.5rem 1.5rem; border-top: 1px solid #e7ded3; }
.home-footer-main, .home-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.home-footer-links { display: flex; flex-wrap: wrap; gap: 1.3rem; font-size: .82rem; color: #695f57; }
.home-footer-links a { text-decoration: none; }
.home-footer-links a:hover { text-decoration: underline; text-underline-offset: .2rem; }
.home-footer-bottom { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #e7ded3; font-size: .75rem; color: #81756a; }
.home-footer-bottom p { margin: 0; }
@media (max-width: 1199px) {
    .home-nav-links { display: none; }
    .home-menu-button { display: block; }
}
@media (min-width: 1200px) {
    .home-mobile-nav { display: none; }
}
@media (max-width: 900px) {
    .home-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-workloads { grid-template-columns: 1fr; }
    .home-workload { padding: 1.5rem; }
    .home-support-inner { flex-direction: column; gap: .75rem; }
    .home-support-label { flex-basis: auto; }
    .home-support-logos { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem .75rem; }
}
@media (max-width: 600px) {
    .home-container { width: min(100% - 2.5rem, 72rem); }
    .home-hero { padding: 3.25rem 0; }
    .home-hero .outcomes-eyebrow { font-size: .6rem; letter-spacing: .1em; }
    .home-hero .outcomes-eyebrow::before { display: none; }
    .home-actions { flex-direction: column; }
    .home-actions .home-button { width: 100%; }
    .home-section-heading { flex-direction: column; align-items: start; gap: 1.25rem; }
    .outcomes-section, .stack-section, .calculator-section, .pilot-section, .home-section { padding: 3.25rem 1.25rem; }
    .home-metrics { grid-template-columns: 1fr; gap: 1rem; }
    .engagement-grid { grid-template-columns: 1fr; }
    .engagement-card { padding: 1.4rem; }
    .home-metrics .result-card { padding: 1.4rem; min-height: 0; }
    .home-metrics .result-card strong { font-size: clamp(1.6rem, 6.75vw, 2.15rem); margin-top: 1.3rem; }
    .home-metrics .result-card-kicker { font-size: .65rem; letter-spacing: .09em; }
    .home-team { padding: 2rem 1.25rem; }
    .home-team-logo { flex-basis: 9.5rem; padding: .8rem; }
    .home-footer-main, .home-footer-bottom { flex-direction: column; align-items: flex-start; }
    .calculator-intro, .calculator-form, .calculator-results { padding: 1.35rem; }
    .pilot-panel { padding: 1.5rem; }
}
@media (max-width: 480px) {
    .home-support-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .home-button { transition: none; }
    .home-team.is-animated .home-team-track { width: auto; animation: none; }
    .home-team.is-animated .home-team-group { flex: 1; flex-wrap: wrap; justify-content: center; padding-right: 0; }
    .home-team.is-animated .home-team-group[aria-hidden="true"] { display: none; }
}
