/*
Theme Name: Greenfield Informed
Theme URI: https://greenfieldinformed.org
Author: Web Valve
Description: Custom WordPress theme for Greenfield Informed.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: greenfield-informed
*/

/* === TOKENS === */
:root {
  --gi-green:#2E7D52;--gi-green-dk:#1C5637;--gi-green-lt:#E8F0EB;
  --gi-terra:#C4663A;--gi-terra-dk:#A04E28;--gi-terra-lt:#F8EDE7;
  --gi-cream:#FAF7F2;--gi-cream-dk:#F0EBE3;
  --gi-black:#1C1917;--gi-g900:#292524;--gi-g700:#44403C;--gi-g500:#78716C;--gi-g300:#A8A29E;--gi-g200:#D6D3D1;--gi-g100:#E7E5E4;--gi-white:#FFF;
  --font-display:'Libre Baskerville',Georgia,serif;--font-heading:'Manrope','Segoe UI',sans-serif;--font-body:'Manrope','Segoe UI',sans-serif;
  --text-xs:.7rem;--text-sm:.82rem;--text-base:1rem;--text-lg:1.1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.8rem;--text-4xl:2.25rem;--text-5xl:2.6rem;--text-6xl:3.2rem;
  --sp-xs:.25rem;--sp-sm:.5rem;--sp-md:1rem;--sp-lg:1.5rem;--sp-xl:2rem;--sp-2xl:3rem;--sp-3xl:4rem;--sp-4xl:5rem;
  --container:1200px;--container-narrow:840px;--container-wide:1400px;
  --radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;
  --shadow-sm:0 1px 3px rgba(28,25,23,.05);--shadow-md:0 4px 12px rgba(28,25,23,.08);--shadow-lg:0 8px 28px rgba(28,25,23,.12);
  --ease-fast:150ms ease;--ease-base:250ms ease;--ease-slow:400ms cubic-bezier(.4,0,.2,1);
  --z-ticker:150;--z-header:200;--z-overlay:300;--z-modal:400;
  --ticker-height:36px;--header-height:104px;
}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--gi-g900);background:var(--gi-cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gi-green);text-decoration:none;transition:color var(--ease-fast)}a:hover{color:var(--gi-green-dk)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--gi-black)}
h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}
p+p{margin-top:var(--sp-md)}
::selection{background:var(--gi-green);color:var(--gi-white)}

/* === LAYOUT === */
.gi-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-xl)}
.gi-container--narrow{max-width:var(--container-narrow)}.gi-container--wide{max-width:var(--container-wide)}
.gi-section{padding:var(--sp-4xl) 0}
.gi-section--white{background:var(--gi-white)}.gi-section--cream{background:var(--gi-cream)}.gi-section--border{border-top:1px solid var(--gi-g200)}

/* === ANNOUNCEMENT BAR === */
.announcement-bar{position:relative;z-index:var(--z-ticker);background:var(--gi-black);color:rgba(255,255,255,.85);height:var(--ticker-height);display:flex;align-items:center;overflow:hidden}
.announcement-bar__track{display:flex;animation:ticker 30s linear infinite;white-space:nowrap}
.announcement-bar__item{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0 var(--sp-2xl);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;flex-shrink:0}
.announcement-bar__item::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gi-terra);flex-shrink:0}
.announcement-bar__item a{color:rgba(255,255,255,.85)}.announcement-bar__item a:hover{color:#fff}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.announcement-bar__close{position:absolute;right:var(--sp-md);top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;padding:var(--sp-xs);font-size:var(--text-sm);z-index:2}
.announcement-bar__close:hover{color:#fff}
body.ticker-dismissed .announcement-bar{display:none}

/* === HEADER — FIXED ON SCROLL === */
.site-header{position:relative;z-index:var(--z-header);background:var(--gi-white);border-bottom:2px solid var(--gi-green);transition:box-shadow var(--ease-base)}
.site-header.is-fixed{position:fixed;top:0;left:0;right:0;box-shadow:var(--shadow-md)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);max-width:var(--container);margin:0 auto;padding:var(--sp-md) var(--sp-xl)}
/* Spacer element to prevent content jump when header becomes fixed */
.header-spacer{display:none;height:var(--header-height)}
.header-spacer.active{display:block}
.site-logo{display:flex;align-items:center;gap:var(--sp-sm);text-decoration:none;flex-shrink:0}
.site-logo__img{height:80px;width:auto}
.main-nav{display:flex;align-items:center;gap:var(--sp-xl)}
.main-nav__list{display:flex;align-items:center;gap:var(--sp-xl)}
.main-nav__list a{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--gi-g700);padding:var(--sp-sm) 0;position:relative;transition:color var(--ease-fast)}
.main-nav__list a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gi-terra);transition:width var(--ease-base)}
.main-nav__list a:hover,.main-nav__list a.current{color:var(--gi-green)}
.main-nav__list a:hover::after,.main-nav__list a.current::after{width:100%}
.nav-divider{width:1px;height:20px;background:var(--gi-g200)}
.nav-search-btn{background:none;border:none;cursor:pointer;color:var(--gi-g500);padding:var(--sp-sm);transition:color var(--ease-fast);display:flex;align-items:center}
.nav-search-btn svg{width:20px;height:20px}
.nav-search-btn:hover{color:var(--gi-green)}

/* Hamburger */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:var(--sp-sm);z-index:5;position:relative}
.hamburger__lines{display:flex;flex-direction:column;gap:5px;width:24px}
.hamburger__line{display:block;width:100%;height:2px;background:var(--gi-black);transition:all var(--ease-base);transform-origin:center}
.hamburger.active .hamburger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active .hamburger__line:nth-child(2){opacity:0}
.hamburger.active .hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile Nav */
.mobile-overlay{position:fixed;inset:0;background:rgba(28,25,23,.5);z-index:calc(var(--z-header) - 1);opacity:0;visibility:hidden;transition:all var(--ease-base)}
.mobile-overlay.active{opacity:1;visibility:visible}
.mobile-nav{position:fixed;top:0;right:0;width:300px;max-width:85vw;height:100%;background:var(--gi-white);z-index:calc(var(--z-header) + 1);transform:translateX(100%);transition:transform var(--ease-slow);padding:var(--sp-xl);padding-top:var(--sp-4xl);overflow-y:auto;box-shadow:-4px 0 30px rgba(28,25,23,.15)}
.mobile-nav.active{transform:translateX(0)}
.mobile-nav__close{position:absolute;top:var(--sp-lg);right:var(--sp-lg);background:none;border:none;font-size:2rem;color:var(--gi-g500);cursor:pointer;line-height:1;padding:var(--sp-sm);transition:color var(--ease-fast)}
.mobile-nav__close:hover{color:var(--gi-black)}
.mobile-nav__list a{display:block;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--gi-black);padding:var(--sp-md) 0;border-bottom:1px solid var(--gi-g100)}
.mobile-nav__list a:hover{color:var(--gi-green)}
.mobile-nav__search{margin-top:var(--sp-xl)}

/* Search Overlay */
.search-overlay{position:fixed;inset:0;background:rgba(28,25,23,.95);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--ease-base)}
.search-overlay.active{opacity:1;visibility:visible}
.search-overlay__inner{width:90%;max-width:640px;transform:translateY(16px);transition:transform var(--ease-slow)}
.search-overlay.active .search-overlay__inner{transform:translateY(0)}
.search-overlay__close{position:absolute;top:var(--sp-xl);right:var(--sp-xl);background:none;border:none;color:var(--gi-white);cursor:pointer;font-size:var(--text-3xl)}
.search-overlay__form{display:flex;border-bottom:3px solid var(--gi-white)}
.search-overlay__input{flex:1;background:transparent;border:none;outline:none;color:var(--gi-white);font-family:var(--font-display);font-size:var(--text-4xl);padding:var(--sp-md) 0}
.search-overlay__input::placeholder{color:rgba(255,255,255,.35)}
.search-overlay__submit{background:none;border:none;color:var(--gi-white);cursor:pointer;padding:var(--sp-md)}

/* === HERO === */
.hero{padding:var(--sp-2xl) 0;display:grid;grid-template-columns:1.3fr .7fr;gap:var(--sp-2xl);border-bottom:1px solid var(--gi-g200)}
.hero__flag{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--gi-terra);margin-bottom:var(--sp-lg);display:flex;align-items:center;gap:var(--sp-sm)}
.hero__flag::before{content:'';width:24px;height:2px;background:var(--gi-terra)}
.hero__title{font-size:var(--text-5xl);line-height:1.15;margin-bottom:var(--sp-md)}
.hero__title a{color:var(--gi-black)}.hero__title a:hover{color:var(--gi-green)}
.hero__excerpt{font-size:var(--text-lg);color:var(--gi-g700);line-height:1.7;margin-bottom:var(--sp-lg);max-width:560px}
.hero__meta{display:flex;gap:var(--sp-lg);font-size:var(--text-sm);color:var(--gi-g500);align-items:center}
.hero__meta-dot{width:4px;height:4px;border-radius:50%;background:var(--gi-g300)}
.hero__author-name{font-weight:600;color:var(--gi-g700)}
.hero__image{aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--gi-g200);background:var(--gi-cream-dk)}
.hero__image img{width:100%;height:100%;object-fit:cover}

/* === POST CARDS === */
.post-grid{display:grid;gap:var(--sp-lg)}
.post-grid--4col{grid-template-columns:repeat(4,1fr)}.post-grid--3col{grid-template-columns:repeat(3,1fr)}.post-grid--2col{grid-template-columns:repeat(2,1fr)}
.post-card{background:var(--gi-white);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--gi-g100);transition:box-shadow var(--ease-base);display:flex;flex-direction:column}
.post-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.post-card__img{position:relative;overflow:hidden;aspect-ratio:16/11}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-slow)}
.post-card:hover .post-card__img img{transform:scale(1.04)}
.post-card__cat{position:absolute;top:var(--sp-sm);left:var(--sp-sm);background:var(--gi-terra);color:var(--gi-white);font-family:var(--font-heading);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:2px}
.post-card__body{padding:var(--sp-md);flex:1;display:flex;flex-direction:column}
.post-card__title{font-family:var(--font-display);font-size:.95rem;font-weight:700;line-height:1.35;margin-bottom:var(--sp-xs)}
.post-card__title a{color:var(--gi-black)}.post-card__title a:hover{color:var(--gi-green)}
.post-card__excerpt{font-size:.76rem;color:var(--gi-g500);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.post-card__meta{display:flex;justify-content:space-between;font-size:.65rem;color:var(--gi-g500);padding-top:var(--sp-sm);margin-top:var(--sp-sm);border-top:1px solid var(--gi-g100)}
.post-card__author{font-weight:600;color:var(--gi-g700)}

/* === SECTION HEADERS === */
.section-head{margin-bottom:var(--sp-xl)}.section-head--center{text-align:center}
.section-head--flex{display:flex;justify-content:space-between;align-items:flex-end}
.section-label{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--gi-terra);margin-bottom:var(--sp-xs);display:flex;align-items:center;gap:var(--sp-sm)}
.section-label::before{content:'';width:16px;height:2px;background:var(--gi-terra)}
.section-label--center{justify-content:center}
/* .section-title{margin-bottom:var(--sp-sm)} */
.section-title{margin-top:var(--sp-lg);margin-bottom:var(--sp-lg)}
.section-desc{color:var(--gi-g500);font-size:var(--text-lg);line-height:1.6}/* removed max-width:520px; */
.section-desc--center{margin:0 auto}
.section-link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--gi-terra)}

/* === ABOUT PANEL === */
.about-panel{background:var(--gi-white);border:1px solid var(--gi-g200);border-radius:var(--radius-lg);padding:var(--sp-2xl);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2xl);align-items:center}
/* .about-panel__text h2{margin-bottom:var(--sp-md)} */
.about-panel__text h2{margin-top:var(--sp-lg);margin-bottom:var(--sp-lg)}
.about-panel__text p{color:var(--gi-g700);line-height:1.75;margin-bottom:var(--sp-sm);font-size:.95rem}
.about-panel__img{aspect-ratio:1;background:var(--gi-green-lt);border-radius:var(--radius-md);overflow:hidden}
.about-panel__img img{width:100%;height:100%;object-fit:cover}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);padding:.65rem 1.4rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--ease-fast);text-decoration:none;line-height:1}
.btn--green{background:var(--gi-green);color:var(--gi-white)}.btn--green:hover{background:var(--gi-green-dk);color:var(--gi-white)}
.btn--terra{background:var(--gi-terra);color:var(--gi-white)}.btn--terra:hover{background:var(--gi-terra-dk);color:var(--gi-white)}
.btn--outline{background:transparent;color:var(--gi-green);border:2px solid var(--gi-green)}.btn--outline:hover{background:var(--gi-green);color:var(--gi-white)}
.btn--full{width:100%}

/* === AUTHOR CARDS === */
.author-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-lg)}
.author-card{display:flex;gap:var(--sp-lg);padding:var(--sp-lg);background:var(--gi-white);border:1px solid var(--gi-g100);border-radius:var(--radius-md)}
.author-card__avatar{width:70px;height:70px;border-radius:50%;background:var(--gi-terra-lt);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--gi-terra);font-size:var(--text-xl);border:2px solid var(--gi-terra);overflow:hidden}
.author-card__avatar img{width:100%;height:100%;object-fit:cover}
.author-card__name{font-family:var(--font-display);font-weight:700}.author-card__role{font-size:.72rem;color:var(--gi-terra);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--sp-xs)}
.author-card__bio{font-size:.78rem;color:var(--gi-g500);line-height:1.5}.author-card__link{font-size:.76rem;font-weight:600;color:var(--gi-terra);margin-top:var(--sp-sm);display:inline-block}

/* === ARCHIVE === */
.archive-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--sp-2xl);align-items:start}
.archive-sidebar{position:sticky;top:var(--sp-xl);background:var(--gi-white);border-radius:var(--radius-md);padding:var(--sp-lg);border:1px solid var(--gi-g100)}
body.nav-is-fixed .archive-sidebar{top:calc(var(--header-height)+var(--sp-xl))}
.archive-sidebar__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--sp-lg);padding-bottom:var(--sp-md);border-bottom:2px solid var(--gi-green)}
.facet-label{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gi-g700);margin-bottom:var(--sp-sm);display:block}
.facetwp-facet-wrap{margin-bottom:var(--sp-lg)}
.archive-pagination{margin-top:var(--sp-2xl);display:flex;justify-content:center;gap:var(--sp-xs)}
.archive-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:500;font-size:var(--text-sm);color:var(--gi-g700);border:1px solid var(--gi-g200);transition:all var(--ease-fast)}
.archive-pagination .page-numbers:hover{background:var(--gi-green-lt);border-color:var(--gi-green);color:var(--gi-green)}
.archive-pagination .page-numbers.current{background:var(--gi-green);border-color:var(--gi-green);color:var(--gi-white)}

/* === SINGLE POST === */
.single-header{padding:var(--sp-2xl) 0 var(--sp-lg);max-width:var(--container);margin:0 auto}
.single-header__cat{display:inline-block;background:var(--gi-terra);color:var(--gi-white);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:var(--sp-xs) var(--sp-md);border-radius:2px;margin-bottom:var(--sp-md)}
.single-header__title{font-size:var(--text-5xl);line-height:1.15;margin-bottom:var(--sp-lg)}
.single-header__meta{display:flex;align-items:center;gap:var(--sp-lg);color:var(--gi-g500);font-size:var(--text-sm)}
.single-header__author{display:flex;align-items:center;gap:var(--sp-sm)}
.single-header__author img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.single-header__author-name{font-weight:600;color:var(--gi-g700)}
.single-hero-img{width:100%;max-height:360px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--sp-xl)}
.single-content{max-width:var(--container);margin:0 auto;padding:0 var(--sp-xl)}
.single-content .entry-content{font-size:var(--text-lg);line-height:1.8;color:var(--gi-g700)}
.single-content .entry-content h2{margin:var(--sp-2xl) 0 var(--sp-md)}.single-content .entry-content h3{margin:var(--sp-xl) 0 var(--sp-md)}
.single-content .entry-content p{margin-bottom:var(--sp-lg)}
.single-content .entry-content blockquote{border-left:4px solid var(--gi-terra);padding:var(--sp-lg) var(--sp-xl);margin:var(--sp-xl) 0;background:var(--gi-terra-lt);border-radius:0 var(--radius-md) var(--radius-md) 0;font-family:var(--font-display);font-style:italic}
.single-content .entry-content img{border-radius:var(--radius-md);margin:var(--sp-xl) 0}
.single-content .entry-content ul,.single-content .entry-content ol{padding-left:var(--sp-xl);margin-bottom:var(--sp-lg)}
.single-content .entry-content li{margin-bottom:var(--sp-xs);list-style:disc}.single-content .entry-content ol li{list-style:decimal}
.post-tags{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-top:var(--sp-2xl);padding-top:var(--sp-xl);border-top:1px solid var(--gi-g200)}
.post-tags__label{font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);color:var(--gi-g700);margin-right:var(--sp-sm)}
.post-tags a{display:inline-block;font-size:var(--text-xs);background:var(--gi-g100);color:var(--gi-g700);padding:var(--sp-xs) var(--sp-md);border-radius:var(--radius-full);transition:all var(--ease-fast)}
.post-tags a:hover{background:var(--gi-terra-lt);color:var(--gi-terra-dk)}
.author-box{display:flex;gap:var(--sp-lg);padding:var(--sp-lg);background:var(--gi-white);border:1px solid var(--gi-g100);border-radius:var(--radius-md);margin:var(--sp-xl) 0;max-width:600px}
.author-box__avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--gi-terra-lt)}
.author-box__name{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;margin-bottom:0}
.author-box__name a{color:var(--gi-green)}
.author-box__bio{font-size:var(--text-xs);color:var(--gi-g500);line-height:1.5;margin-top:var(--sp-xs)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-xl);margin:var(--sp-2xl) 0;padding-top:var(--sp-xl);border-top:1px solid var(--gi-g200)}
.post-nav__item{padding:var(--sp-md);border-radius:var(--radius-md);border:1px solid var(--gi-g200);transition:all var(--ease-fast)}
.post-nav__item:hover{border-color:var(--gi-green);background:var(--gi-green-lt)}
.post-nav__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--gi-g500);margin-bottom:var(--sp-xs);display:block}
.post-nav__title{font-family:var(--font-display);font-weight:700;color:var(--gi-black)}

/* === ABOUT PAGE === */
.about-hero{background:linear-gradient(135deg,var(--gi-green),var(--gi-green-dk));color:var(--gi-white);padding:var(--sp-4xl) 0;text-align:center}
.about-hero__title{font-size:var(--text-6xl);color:var(--gi-white);margin-bottom:var(--sp-md)}
.about-hero__sub{font-size:var(--text-xl);opacity:.85;max-width:560px;margin:0 auto;line-height:1.6}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2xl)}
.about-value{text-align:center;padding:var(--sp-xl) var(--sp-lg)}
.about-value__icon{width:56px;height:56px;background:var(--gi-green-lt);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-md)}
.about-value__title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--sp-sm)}
.about-value__desc{font-size:var(--text-sm);color:var(--gi-g500);line-height:1.6}
.about-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg)}
.about-team-card{text-align:center;padding:var(--sp-xl);background:var(--gi-white);border-radius:var(--radius-md);border:1px solid var(--gi-g100);transition:box-shadow var(--ease-base)}
.about-team-card:hover{box-shadow:var(--shadow-lg)}
.about-team-card__avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:0 auto var(--sp-md);border:3px solid var(--gi-green-lt)}
.about-team-card__name{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--sp-xs)}
.about-team-card__role{font-size:var(--text-sm);color:var(--gi-terra);font-weight:600;margin-bottom:var(--sp-sm)}
.about-team-card__bio{font-size:var(--text-sm);color:var(--gi-g500);line-height:1.6}

/* === CONTACT === */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2xl);align-items:start}
.contact-info{padding:var(--sp-2xl);background:var(--gi-green);border-radius:var(--radius-lg);color:var(--gi-white)}
.contact-info__title{font-size:var(--text-3xl);color:var(--gi-white);margin-bottom:var(--sp-md)}
.contact-info__text{opacity:.85;line-height:1.6;margin-bottom:var(--sp-xl)}
.contact-info__email{display:flex;align-items:center;gap:var(--sp-sm);color:var(--gi-white);font-size:var(--text-lg);font-weight:600}
.contact-info__email:hover{opacity:.85}
.contact-form-wrap{background:var(--gi-white);padding:var(--sp-2xl);border-radius:var(--radius-lg);border:1px solid var(--gi-g100)}

/* Gravity Forms */
.gform_wrapper .gfield_label{font-family:var(--font-heading)!important;font-size:var(--text-sm)!important;font-weight:700!important;color:var(--gi-g700)!important}
.gform_wrapper input[type="text"],.gform_wrapper input[type="email"],.gform_wrapper textarea,.gform_wrapper select{border:2px solid var(--gi-g200)!important;border-radius:var(--radius-md)!important;padding:var(--sp-md)!important;font-family:var(--font-body)!important;transition:border-color var(--ease-fast)!important}
.gform_wrapper input:focus,.gform_wrapper textarea:focus{border-color:var(--gi-green)!important;outline:none!important;box-shadow:0 0 0 3px rgba(46,125,82,.1)!important}
.gform_wrapper .gform_button,.gform_wrapper input[type="submit"]{background:var(--gi-green)!important;border:none!important;border-radius:var(--radius-md)!important;padding:var(--sp-md) var(--sp-2xl)!important;font-family:var(--font-heading)!important;font-weight:700!important;color:var(--gi-white)!important;cursor:pointer!important}
.gform_wrapper .gform_button:hover{background:var(--gi-green-dk)!important}

/* Privacy */
.privacy-content{max-width:var(--container-narrow);margin:0 auto;padding:var(--sp-3xl) var(--sp-xl)}
.privacy-content h1{margin-bottom:var(--sp-lg)}.privacy-content h2{font-size:var(--text-2xl);margin-top:var(--sp-2xl);margin-bottom:var(--sp-md)}
.privacy-content p{color:var(--gi-g700);line-height:1.8}
.privacy-content ul{padding-left:var(--sp-xl);margin-bottom:var(--sp-lg)}.privacy-content li{list-style:disc;margin-bottom:var(--sp-xs);color:var(--gi-g700)}

/* Search */
.search-header{padding:var(--sp-xl) 0;background:var(--gi-white);border-bottom:1px solid var(--gi-g100)}
.search-header__title{font-size:var(--text-3xl)}.search-header__query{color:var(--gi-green)}

/* 404 */
.error-404{text-align:center;padding:var(--sp-4xl) 0;min-height:50vh;display:flex;align-items:center;justify-content:center}
.error-404__num{font-family:var(--font-display);font-size:7rem;color:var(--gi-g200);line-height:1}
.error-404__title{font-size:var(--text-3xl);margin:var(--sp-md) 0}.error-404__text{color:var(--gi-g500);margin-bottom:var(--sp-xl)}

/* === FOOTER === */
.site-footer{background:var(--gi-black);color:rgba(255,255,255,.6);padding:var(--sp-3xl) 0 0;margin-top:var(--sp-2xl)}
/* .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:var(--sp-2xl)} */
.footer-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--sp-2xl);grid-template-areas:"footer-brand-area footer-newsletter-area" "footer-contact-area footer-newsletter-area" "footer-nav-area footer-newsletter-area";}
.footer-brand-area{grid-area:footer-brand-area;}
.footer-contact-area{grid-area:footer-contact-area;}
.footer-nav-area{grid-area:footer-nav-area;}
.footer-newsletter-area{grid-area:footer-newsletter-area;}
.footer-title{font-family:var(--font-heading);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gi-white);margin-bottom:var(--sp-md)}
.site-logo-footer__img{height:80px;width:auto;margin-bottom:20px;opacity:.9;}
.footer-brand .logo-text{font-family:var(--font-heading);font-weight:800;font-size:1.3rem;color:var(--gi-white);line-height:1.05}
.footer-brand .logo-text span{display:block;font-weight:400;font-size:.8rem;color:rgba(255,255,255,.35)}
.footer-desc{font-size:.78rem;line-height:1.6;margin-top:var(--sp-sm);max-width:260px}
.footer-nav a{display:block;color:rgba(255,255,255,.4);font-size:.78rem;padding:2px 0;transition:color var(--ease-fast)}
.footer-nav a:hover{color:var(--gi-white)}
.footer-email{color:rgba(255,255,255,.65);font-weight:500;font-size:var(--text-sm);margin-top:var(--sp-sm);display:flex;align-items:center;gap:var(--sp-sm)}
.footer-email a{color:rgba(255,255,255,.65)}.footer-email a:hover{color:var(--gi-white)}
.footer-social{display:flex;gap:var(--sp-md);margin-top:var(--sp-lg)}
.footer-social__link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(255,255,255,.5);transition:all var(--ease-fast)}
.footer-social__link:hover{background:var(--gi-green);color:var(--gi-white)}
.footer-social__link svg{width:16px;height:16px}
.footer-nl-text{font-size:.78rem;line-height:1.5;margin-bottom:var(--sp-md)}
.footer-newsletter .gform_wrapper{margin:0!important;padding:0!important}
.footer-newsletter .gfield_label{display:none!important}
.footer-newsletter .gform_wrapper input[type="text"],.footer-newsletter .gform_wrapper input[type="email"]{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important;color:var(--gi-white)!important}
.footer-newsletter .gform_wrapper input[type="text"]::placeholder,.footer-newsletter .gform_wrapper input[type="email"]::placeholder,.footer-newsletter .gform_wrapper textarea::placeholder{color:rgba(255,255,255,.25)!important}
.footer-newsletter .gform_footer{margin-top:var(--sp-sm)!important;padding:0!important}
.footer-newsletter .gform_footer input[type="submit"]{width:100%!important;background:var(--gi-terra)!important}
.footer-newsletter .gform_footer input[type="submit"]:hover{background:var(--gi-terra-dk)!important}
.footer-newsletter-area .gform_button {margin-top:8px;}
.footer-bottom{margin-top:var(--sp-2xl);padding:var(--sp-md) 0;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;font-size:.68rem;color:rgba(255,255,255,.25)}
.footer-bottom a{color:rgba(255,255,255,.3)}.footer-bottom a:hover{color:var(--gi-white)}

/* === UTILITIES === */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-center{text-align:center}.mt-1{margin-top:var(--sp-md)}.mt-2{margin-top:var(--sp-xl)}.mt-3{margin-top:var(--sp-2xl)}.mb-1{margin-bottom:var(--sp-md)}.mb-2{margin-bottom:var(--sp-xl)}
.form-placeholder{padding:var(--sp-lg);background:var(--gi-cream);border:2px dashed var(--gi-g200);border-radius:var(--radius-md);text-align:center;color:var(--gi-g500);font-style:italic}

/* === RESPONSIVE === */
@media(max-width:1024px){
  .post-grid--4col,.post-grid--3col{grid-template-columns:repeat(2,1fr)}
  .archive-layout{grid-template-columns:1fr}.archive-sidebar{position:relative;top:0!important}
  .footer-grid{grid-template-columns:1fr 1fr}.about-values,.about-team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  :root{--text-5xl:2rem;--text-4xl:1.75rem;--text-3xl:1.4rem;--text-6xl:2.4rem;--header-height:90px}
  .main-nav{display:none}.hamburger{display:block}
  .hero{grid-template-columns:1fr;padding:var(--sp-lg) 0}.hero__image{display:none}
  .post-grid--4col,.post-grid--3col,.post-grid--2col{grid-template-columns:1fr}
  .author-grid,.about-panel,.about-values,.about-team-grid,.contact-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:var(--sp-sm);text-align:center}
  .post-nav{grid-template-columns:1fr}.author-box{flex-direction:column;text-align:center}
  .gi-container{padding:0 var(--sp-lg)}.gi-section{padding:var(--sp-2xl) 0}
  .footer-grid{grid-template-columns:1fr;grid-template-areas:none;}
  .footer-brand-area,.footer-contact-area,.footer-nav-area,.footer-newsletter-area{grid-area:unset;}
  /* .footer-brand-area{order:1;}
  .footer-contact-area{order:2;}
  .footer-nav-area{order:3;}
  .footer-newsletter-area{order:4;} */
}
@media(max-width:480px){.hero__title{font-size:var(--text-3xl)}.hero__meta,.single-header__meta{flex-direction:column;align-items:flex-start;gap:var(--sp-sm)}}
@media print{.announcement-bar,.site-header,.site-footer,.hamburger,.mobile-nav,.mobile-overlay,.search-overlay,.back-to-top,.post-nav,.post-tags,.author-box,#comments{display:none!important}body{font-size:12pt;color:#000;background:#fff;padding-top:0!important}}


/* === */

/* === GRAVITY FORM VALIDATION OVERRIDES === */
.gform_wrapper .gform_validation_errors,.gform_wrapper .validation_message,.gform_wrapper [id^="gform_ajax_spinner"]{display: none !important;}
.gform_wrapper .gfield_error input[type="text"],.gform_wrapper .gfield_error input[type="email"],.gform_wrapper .gfield_error textarea{border: 1px solid #c02b0a !important;}

/* === WPDISCUZ === */
#wpdcom {max-width:100% !important;}