/*
 Theme Name:   AEO
 Theme URI:    https://yoursite.com
 Description:  A minimal, reusable child theme for Astra. Built as a clean starter template for new WordPress projects.
 Author:       Your Name
 Author URI:   https://aeo.farnek.com
 Template:     astra
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  astra-starter-child
*/

@media screen and (min-width: 921px) {.ast-theme-transparent-header #masthead{position:inherit;}}
.page .site-content .ast-container{margin-top: -26px;margin-bottom: -26px;}
ol, ul{margin:inherit;}
.site-logo-img .transparent-custom-logo img, .ast-theme-transparent-header .site-logo-img img{filter: none;}
.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap {min-height: 90px;}
.ast-primary-header-bar.main-header-bar{padding-block:0;}
.footer-brand img{width:50%;}


/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */

:root {
    /* ---------- Surfaces ---------- */
    --color-bg:           #FFFFFF;
    --color-bg-soft:      #FAFAF6;
    --color-bg-tint:      #F1F6EF;
    --color-bg-tint-2:    #E6EFE3;
    --color-bg-brand:     #2E8B33;
    --color-bg-brand-2:   #1E5C22;
    --color-bg-dark:      #0A1F12;

    /* ---------- Brand ---------- */
    --color-brand:        #2E8B33;
    --color-brand-deep:   #1E5C22;
    --color-brand-bright: #4FAE56;
    --color-brand-soft:   #C7DFC9;

    /* ---------- Text ---------- */
    --color-text:         #0E1F14;
    --color-text-2:       #3D4A41;
    --color-text-muted:   #6B776F;
    --color-text-on-brand:#FFFFFF;
    --color-text-on-dark: #F5F2EA;
    --color-text-on-dark-muted: #9CA89E;

    /* ---------- Lines ---------- */
    --color-line:         #E4E3DC;
    --color-line-soft:    #EEEDE7;
    --color-line-strong:  #1A2B1F;
    --color-line-dark:    rgba(255, 255, 255, 0.14);

    /* ---------- Typography ---------- */
    --font-display: 'Montserrat', system-ui, sans-serif;
    --font-body:    'Source Sans Pro', Georgia, serif;

    --fs-display-1: clamp(2.5rem, 5.5vw, 5.5rem);
    --fs-display-2: clamp(2rem, 4vw, 3.75rem);
    --fs-display-3: clamp(1.5rem, 2.6vw, 2.5rem);
    --fs-display-4: clamp(1.25rem, 1.8vw, 1.75rem);
    --fs-stat:      clamp(2.25rem, 4.5vw, 3.75rem);
    --fs-stat-lg:   clamp(3rem, 6vw, 5rem);

    --fs-lede:      clamp(1.125rem, 1.35vw, 1.3125rem);
    --fs-body:      1.0625rem;
    --fs-small:     0.9375rem;
    --fs-caption:   0.8125rem;
    --fs-label:     0.75rem;

    --fw-light:     300;
    --fw-regular:   400;
    --fw-medium:    500;
    --fw-semibold:  600;
    --fw-bold:      700;
    --fw-extrabold: 800;

    --lh-tight:     1.05;
    --lh-snug:      1.2;
    --lh-base:      1.55;
    --lh-relaxed:   1.65;

    --tracking-tight:  -0.025em;
    --tracking-tighter:-0.04em;
    --tracking-wide:   0.05em;
    --tracking-wider:  0.12em;
    --tracking-widest: 0.22em;

    /* ---------- Spacing scale ---------- */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.5rem;
    --space-6:  2rem;
    --space-7:  3rem;
    --space-8:  4rem;
    --space-9:  6rem;
    --space-10: 8rem;
    --space-11: 10rem;

    /* ---------- Section rhythm ---------- */
    --section-py: clamp(5rem, 10vw, 9rem);
    --section-py-sm: clamp(3rem, 6vw, 5rem);
    --section-py-lg: clamp(6rem, 14vw, 12rem);

    /* ---------- Layout ---------- */
    --container-max: 1440px;
    --container-px:  clamp(1.25rem, 5vw, 5rem);

    /* ---------- Radius ---------- */
    --radius-0:    0;
    --radius-2:    2px;
    --radius-4:    4px;
    --radius-pill: 999px;

    /* ---------- Motion ---------- */
    --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --duration-1:  150ms;
    --duration-2:  250ms;
    --duration-3:  400ms;
    --duration-4:  600ms;
    --duration-5:  900ms;

    /* ---------- Elevation ---------- */
    --shadow-1: 0 1px 2px rgba(14, 31, 20, 0.04);
    --shadow-2: 0 4px 16px rgba(14, 31, 20, 0.06);
    --shadow-3: 0 12px 32px rgba(14, 31, 20, 0.08);

    /* ---------- Z-index ---------- */
    --z-header: 100;
    --z-overlay: 200;
}


/* ==========================================================================
   2. RESET / BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--fs-body);
    line-height: var(--lh-base);
    color: var(--color-text);
    background: var(--color-bg);
    overflow-x: hidden;
}

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

button {
    font-family: inherit;
    cursor: pointer;
    border: 0;
    background: transparent;
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--duration-2) var(--ease-out);
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--font-display);
    font-weight: var(--fw-medium);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-tight);
    color: inherit;
}

/* All <em> elements use color emphasis, not italic */
em {
    font-style: normal;
    color: var(--color-brand);
}

p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }

::selection { background: var(--color-brand); color: var(--color-text-on-brand); }


/* ==========================================================================
   3. UTILITIES
   ========================================================================== */

.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-px);
}


/* ==========================================================================
   FOOTER  (the one dark surface, by design)
   ========================================================================== */

.site-footer {
    background: var(--color-bg-dark);
    color: var(--color-text-on-dark);
    padding: var(--space-6) 0;
}
.footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-5);
    align-items: center;
    font-size: var(--fs-caption);
    color: var(--color-text-on-dark-muted);
}
.footer-address { line-height: var(--lh-base); }
.footer-legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.footer-legal a { color: inherit; transition: color var(--duration-2) var(--ease-out); }
.footer-legal a:hover { color: var(--color-text-on-dark); }
.footer-divider { color: rgba(245, 242, 234, 0.4); }

/* ==========================================================================
   FOOTER  (the one dark surface, by design)
   ========================================================================== */