/* TOKENS — Ferma Fruct Brabova. Five creams + one green, client-supplied hex,
   not logo-sampled. Page is green; the four fruits are not four palettes,
   their colour is in the photo. Orange is the one action colour. */

/* Fraunces variable: opsz, wght, SOFT, WONK in one file. Split
   latin/latin-ext so Romanian diacritics don't cost everyone. */
@font-face {
    font-family: 'Fraunces';
    src: url('../fonts/fraunces-var-latin.woff2') format('woff2');
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Fraunces';
    src: url('../fonts/fraunces-var-latin-ext.woff2') format('woff2');
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Chivo';
    src: url('../fonts/chivo-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Chivo';
    src: url('../fonts/chivo-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Chivo';
    src: url('../fonts/chivo-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {

    /* --- Fonts ---------------------------------------------------------- */

    --font-display: 'Fraunces', Georgia, serif;

    /* Everything you actually read. */
    --font-text: 'Chivo', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --weight-normal: 400;
    --weight-mid: 600;
    --weight-heavy: 900;

    /* WONK 1 = alternate letterforms, mush under ~1.5rem — --axes-label
       below turns it off. opsz 144 = display optical size. */
    --weight-display: 800;
    --axes-display: 'opsz' 144, 'SOFT' 0, 'WONK' 1;
    --axes-label: 'opsz' 24, 'SOFT' 0, 'WONK' 0;

    /* --- Colour --------------------------------------------------------- */

    /* Grounds, lightest to deepest. No white on this site — --paper-lift is
       the closest thing to one, small raised surfaces only.
         --paper-lift  raised cards
         --paper       THE PAGE
         --cream       warm alternate section
         --sand-soft   hairlines/edges
         --sand        plates (stat band, partners band)
       --paper/--cream only 1.03 apart: never touch edge to edge. */
    --paper-lift: #FAF9EF;
    --paper: #F6F1E1;
    --cream: #F4EDDB;
    --sand-soft: #E9E3D6;
    --sand: #D8CFBD;

    /* ONE green: footer, header fill, accents. No dark variant on purpose.
       Same hex on all three tokens.
       4.08 on --paper-lift, under the 4.5 floor — accepted as-is.
       Never put small light text on it. */
    --forest: #698240;
    --forest-deep: #698240;
    --leaf: #698240;
    /* Decoration only: rules, icon fills, never text. */
    --leaf-bright: #8EAE5B;

    /* Brown, not green. --bark: 10.8 on --paper, 7.9 on --sand.
       --bark-deep only for --action, where --bark alone is 4.09. */
    --bark: #493017;
    --bark-soft: #6E4F30;
    --bark-deep: #3A2611;

    /* Accent only, never a band ground — pale blue under a green page reads
       as a different site. */
    --sky: #AECBE1;

    /* The dirt track. Rules, hairlines, ticket edges. */
    --earth: #C3A278;

    /* The one action colour: orange means clickable. --action-ink is the
       darkened version for text on a light ground. */
    --action: #E87614;
    --action-hot: #C85E08;
    /* White text reaches 5.8:1 on this — the only orange white type may sit
       on. Button hover fill. */
    --action-deep: #A8490A;
    --action-ink: #A54D07;

    /* --ink 10.8 on the page, --ink-soft 6.58 — no dark green type left.
       on-dark pair takes the lightest two creams over green. */
    --ink: #493017;
    --ink-soft: #6E4F30;
    --on-dark: #FAF9EF;
    --on-dark-soft: #F4EDDB;

    /* --- Type scale — fluid, capped at 6rem (--step-5): past that a fruit
       name reads as wallpaper. --- */

    --step--1: clamp(0.8125rem, 0.79rem + 0.11vw, 0.875rem);
    --step-0: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
    --step-1: clamp(1.1875rem, 1.11rem + 0.38vw, 1.4375rem);
    --step-2: clamp(1.4375rem, 1.28rem + 0.78vw, 1.9375rem);
    --step-3: clamp(1.75rem, 1.42rem + 1.63vw, 2.8125rem);
    --step-4: clamp(2.125rem, 1.53rem + 2.97vw, 4rem);
    --step-5: clamp(2.75rem, 1.6rem + 5.75vw, 6rem);

    --leading-tight: 1.04;
    --leading-snug: 1.2;
    --leading-body: 1.6;

    --tracking-tight: -0.02em;
    --tracking-label: 0.09em;

    /* Longest a paragraph is allowed to get before it is hard to read. */
    --measure: 66ch;

    /* --- Space — fluid. --space-section sets the whole site's rhythm. --- */

    --space-3xs: clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem);
    --space-2xs: clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem);
    --space-xs: clamp(0.75rem, 0.69rem + 0.33vw, 0.9375rem);
    --space-s: clamp(1rem, 0.91rem + 0.43vw, 1.25rem);
    --space-m: clamp(1.5rem, 1.37rem + 0.65vw, 1.875rem);
    --space-l: clamp(2rem, 1.83rem + 0.87vw, 2.5rem);
    --space-xl: clamp(3rem, 2.74rem + 1.3vw, 3.75rem);
    --space-2xl: clamp(4rem, 3.48rem + 2.61vw, 5.5rem);
    --space-section: clamp(4.5rem, 3.2rem + 6.5vw, 8.5rem);

    /* Outer element only, never with max-width on the same element —
       content-box. max() cu env(): pe telefon cu crestătură, ținut în peisaj,
       marginea trebuie să ocolească zona tăiată. Fără crestătură, env() e 0
       și rămâne clamp-ul. Cere viewport-fit=cover în <head>. */
    --gutter: max(clamp(1.25rem, 0.6rem + 3.25vw, 3.5rem),
        env(safe-area-inset-left), env(safe-area-inset-right));

    --container: 78rem;
    --container-narrow: 46rem;

    /* --- Lines, corners, depth ------------------------------------------- */

    --hairline: 1px;
    --rule: 2px;

    --radius-s: 3px;
    --radius-m: 6px;
    /* Generous, so photos read as objects laid on the page, not holes cut
       in it. */
    --radius-l: 14px;
    --radius-xl: 22px;
    --radius-pill: 999px;

    /* Always offset + blur — blur alone is a halo, reads as decoration not
       shadow. */
    --shadow-lift: 0 2px 6px rgba(33, 48, 26, 0.10),
        0 12px 28px rgba(33, 48, 26, 0.12);
    --shadow-raise: 0 4px 10px rgba(33, 48, 26, 0.14),
        0 20px 44px rgba(33, 48, 26, 0.18);
    --shadow-press: 0 1px 3px rgba(33, 48, 26, 0.16);

    /* Paper shadows vanish on dark bands — same two-layer shape, mixed
       darker. */
    --shadow-deep: 0 4px 10px rgba(0, 0, 0, 0.24),
        0 22px 46px rgba(0, 0, 0, 0.28);
    --shadow-deep-raise: 0 10px 20px rgba(0, 0, 0, 0.28),
        0 34px 64px rgba(0, 0, 0, 0.34);

    /* --- Motion — --ease-out is exponential: fast start, long settle,
       reads as released not driven. --- */
    --duration-fast: 140ms;
    --duration: 320ms;
    --duration-slow: 720ms;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
}
