* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { min-height: 100vh; margin: 0; color: var(--rt-ink); background: var(--rt-white); font-family: var(--rt-font-family); line-height: 1.75; overflow-x: hidden; display: flex; flex-direction: column; }
body.rt-drawer-open { overflow: hidden; }
body > main { width: 100%; flex: 1 0 auto; }
body.inner-page > main { padding-block-start: var(--rt-header-height); }
body > footer { width: 100%; flex: 0 0 auto; margin-block-start: auto; }
section[id], main[id] { scroll-margin-block-start: calc(var(--rt-header-height) + 16px); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { border: 0; }
:focus-visible { outline: 3px solid rgba(0,180,129,.4); outline-offset: 3px; }
.rt-btn {min-height: clamp(48px, 3svw, 52px);padding: 0 24px;display: inline-flex;align-items: center;justify-content: center;gap: 10px;border-radius: var(--rt-radius-sm);font-weight: 700;transition: var(--rt-transition);}
.rt-btn--primary { background: var(--rt-primary); color: var(--rt-white); }
.rt-btn--primary:hover { background: var(--rt-primary-dark); color: var(--rt-white); transform: translateY(-2px); }
.rt-btn--outline { border: 1px solid rgba(255,255,255,.65); color: var(--rt-white); background: rgba(255,255,255,.03); }
.rt-btn--outline:hover { border-color: var(--rt-primary); background: var(--rt-primary); color: var(--rt-white); }
.rt-eyebrow { margin: 0 0 12px; color: var(--rt-primary); font-size: .92rem; font-weight: 700; letter-spacing: .04em; }
.rt-eyebrow--dark { color: var(--rt-primary-dark); }
.rt-section-title { margin: 0 0 20px; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; }
.rt-section-lead { color: var(--rt-muted); font-size: 1.1rem; }
