/* ========================================
   Homepage — Base (reset, extra tokens)
   Shared tokens/buttons/container in /css/partials/tokens.css
   ======================================== */

:root {
    /* Colors */
    --hp-text: #171717;
    --hp-text-secondary: #6b6b6b;
    --hp-text-muted: #767676;
    --hp-text-badge: #7d7d7d;
    --hp-dark: #292929;
    --hp-green: #82ff9e;
    --hp-green-border: #65d985;
    --hp-border: #e8e3dd;
    --hp-outline-border: rgba(144, 143, 141, 0.48);
    --hp-header-bg: rgba(255, 255, 255, 0.72);
    --hp-highlight-from: #ffd9a8;
    --hp-highlight-to: #f0b100;
    --hp-highlight-text: #664b00;
    --hp-hero-gradient-from: rgba(255, 255, 255, 0.4);
    --hp-hero-gradient-to: rgba(255, 217, 165, 0.52);
    --hp-hero-gradient-to-desktop: rgba(255, 217, 165, 0.85);
    --hp-copyright: #a6a09b;
    --hp-white: #ffffff;

    /* Spacing & Radii */
    --hp-radius-section: 24px;
    --hp-radius-header: 190px;
    /* --hp-radius-badge moved to partials/tokens.css (global) so the
       all-principles page resolves it too. Single source of truth. */
    --hp-radius-highlight: 16px;
    --hp-radius-pill: 9999px;
    --hp-radius-hamburger: 14px;
    --hp-max-width: 1440px;

    /* Height the sticky header occupies: .hp-header padding (36 + 16) plus the
       fixed 65px .hp-header__inner. Same on every breakpoint — only the logo
       scale changes. See partials/header.css. */
    --hp-header-height: 117px;
}

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

/* The header is sticky and floats above the content, so a plain #hash jump
   lands the section's top edge underneath it and hides the heading. The hero's
   scroll arrow already subtracts the header height in JS; this gives the same
   offset to every anchor jump, including a URL opened with #centers already in
   it, which JS never sees. Overshooting only adds whitespace — undershooting
   hides the heading — and the header is shorter once scrolled, so erring on
   the full height is the safe direction. */
section[id] {
    scroll-margin-top: var(--hp-header-height, 117px);
}

body {
    font-family: 'Heebo', sans-serif;
    font-size: 14px;
    line-height: 24px;
    color: var(--hp-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* hp-container, hp-btn, hp-btn--primary now in /css/partials/tokens.css (loaded globally) */

/* Homepage-only button variants */
.hp-btn--outline {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(2px);
    border: 1px solid var(--hp-outline-border);
    color: var(--hp-text);
}

.hp-btn--all-stories {
    background: transparent;
    border: 1px solid var(--hp-outline-border);
    color: var(--hp-text);
}
