:root {
    --pd-bg: #f4f6f8;
    --pd-surface: #ffffff;
    --pd-ink: #101820;
    --pd-muted: #667085;
    --pd-dark: #071a24;
    --pd-accent: #16d6b2;
    --pd-line: rgba(16, 24, 32, .12);
    --pd-radius-sm: 14px;
    --pd-radius-md: 24px;
    --pd-radius-lg: 36px;
    --pd-container: 1440px;
    --pd-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-behavior: smooth; }
body { background: var(--pd-bg); color: var(--pd-ink); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: var(--pd-accent); color: var(--pd-dark); }
a { text-underline-offset: .18em; }
.pd-container { width: min(calc(100% - 48px), var(--pd-container)); margin-inline: auto; }
.pd-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pd-display { font-size: clamp(44px, 6.5vw, 108px); line-height: .92; letter-spacing: -.055em; }
.pd-section-title { font-size: clamp(36px, 4.4vw, 72px); line-height: .98; letter-spacing: -.045em; }
.pd-dark { background: var(--pd-dark); color: #fff; }
.pd-accent { color: var(--pd-accent); }
.pd-rule { border-top: 1px solid var(--pd-line); }
.pd-reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s var(--pd-ease), transform .75s var(--pd-ease); }
.pd-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 767px) {
    .pd-container { width: min(calc(100% - 28px), var(--pd-container)); }
    .pd-display { font-size: clamp(42px, 14vw, 70px); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .pd-reveal { opacity: 1; transform: none; transition: none; }
}
