/* rational.business */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #ffffff; color: #1e293b; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.6; }
.hero { padding: 5rem 2rem 3rem; }
.hero-inner { max-width: 800px; margin: 0 auto; }
.brand-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.chart-icon { display: flex; align-items: flex-end; gap: 3px; height: 24px; }
.bar { display: block; width: 6px; background: #1e293b; border-radius: 1px; }
.b1 { height: 10px; }
.b2 { height: 18px; }
.b3 { height: 24px; }
.brand { font-family: 'Sora', sans-serif; font-weight: 600; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.navy-line { width: 60px; height: 2px; background: #1e293b; margin-bottom: 1rem; }
.tagline { font-size: 1rem; color: #64748b; margin-bottom: 0.5rem; }
.est { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.7rem; color: #64748b; letter-spacing: 0.1em; text-transform: uppercase; }
.services { padding: 3rem 2rem; }
.services-grid { max-width: 800px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.service-card { border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }
.service-header { background: #1e293b; color: #ffffff; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.9rem; padding: 1rem; }
.service-body { padding: 1.2rem; }
.service-body p { font-size: 0.8rem; color: #64748b; }
.metrics { background: #1e293b; color: #ffffff; padding: 5rem 2rem; }
.metrics-inner { max-width: 800px; margin: 0 auto; display: flex; justify-content: space-around; text-align: center; gap: 2rem; flex-wrap: wrap; }
.metric-number { font-family: 'IBM Plex Mono', monospace; font-weight: 700; font-size: clamp(2.5rem, 5vw, 3.5rem); display: block; margin-bottom: 0.3rem; }
.metric-label { font-size: 0.8rem; color: #94a3b8; }
.cases { padding: 4rem 2rem; }
.cases-inner { max-width: 800px; margin: 0 auto; }
.cases-title { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 1.5rem; margin-bottom: 2rem; }
.case-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.case-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 1.5rem; }
.industry-label { display: inline-block; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.65rem; color: #2563eb; border: 1px solid #2563eb; border-radius: 9999px; padding: 0.15rem 0.6rem; margin-bottom: 0.75rem; letter-spacing: 0.05em; }
.case-name { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 1rem; margin-bottom: 0.5rem; }
.case-summary { font-size: 0.8rem; color: #64748b; }
.close { text-align: center; padding: 3rem 2rem 5rem; }
.close-text { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 1.2rem; color: #1e293b; }
@media (max-width: 640px) {
    .services-grid, .case-strip { grid-template-columns: 1fr; }
}
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
