/* ============================================================
   GEAR DESIGN SYSTEM  —  shared stylesheet for all pages
   Brand tokens sampled from the GEAR logo.
   Map 1:1 to Elementor Global Colors & Global Fonts.
   ============================================================ */
:root{
  /* Brand greens (the cog / mountains) */
  --forest-900:#1d2710; --forest-800:#2e3d16; --forest-700:#3c5028;
  --moss-600:#50643c; --moss-500:#647850; --sage-300:#b6bba2;
  /* Parchment / cream (inner badge, wordmark) */
  --cream-50:#fffaf0; --cream-100:#fbf4e0; --cream-200:#f1e8cf; --line:#e6dcc0;
  /* Sunset orange (sun + ribbon — accent / CTA) */
  --orange-500:#e5822e; --orange-600:#c96a1d; --orange-300:#f3c99a;
  --white:#ffffff;
  /* Type */
  --font-display:'Oswald',system-ui,'Segoe UI',sans-serif;
  --font-body:'Inter',system-ui,'Segoe UI',Roboto,sans-serif;
  /* Spacing */
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-5:3rem; --sp-6:4.5rem; --sp-7:6.5rem;
  --radius:14px; --radius-sm:8px;
  --shadow-sm:0 1px 3px rgba(29,39,16,.08);
  --shadow:0 10px 30px -12px rgba(29,39,16,.28);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--forest-900);background:var(--cream-50);
  line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--orange-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,.eyebrow{font-family:var(--font-display);line-height:1.08;letter-spacing:.01em}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:700;color:var(--forest-800)}
h3{font-size:1.35rem;font-weight:600;color:var(--forest-800)}
p{max-width:65ch}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange-600);margin-bottom:.75rem}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:1.5rem}
section{padding-block:var(--sp-6)}
.bg-cream{background:var(--cream-100);border-block:1px solid var(--line)}
.center{text-align:center}
.section-head{max-width:680px;margin:0 auto 2.5rem;text-align:center}

/* Skip link */
.skip{position:absolute;left:-999px;top:0;background:var(--forest-800);color:var(--white);
  padding:.75rem 1.25rem;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);
  font-weight:600;font-size:1rem;letter-spacing:.02em;padding:.8rem 1.6rem;border-radius:999px;
  border:2px solid transparent;cursor:pointer;transition:.18s ease;text-decoration:none}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--orange-500);color:#241a07}
.btn-primary:hover{background:var(--orange-600);color:var(--white)}
.btn-forest{background:var(--forest-800);color:var(--cream-50)}
.btn-forest:hover{background:var(--forest-700)}
.btn-ghost{background:transparent;color:var(--forest-800);border-color:var(--forest-800)}
.btn-ghost:hover{background:var(--forest-800);color:var(--cream-50)}
.btn-ghost-light{background:transparent;color:var(--cream-50);border-color:rgba(255,250,240,.65)}
.btn-ghost-light:hover{background:var(--cream-50);color:var(--forest-800)}

/* Focus visibility */
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--orange-500);outline-offset:3px;border-radius:6px}

/* ============ HEADER ============ */
.topbar{background:var(--forest-900);color:var(--cream-100);font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;flex-wrap:wrap}
.topbar a{color:var(--cream-100)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,250,240,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand:hover{text-decoration:none}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.45rem;color:var(--forest-800);line-height:1}
.brand-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--moss-500);font-weight:600}
.mainnav{display:flex;align-items:center;gap:1.6rem}
.mainnav a{font-family:var(--font-display);font-weight:500;font-size:1.02rem;color:var(--forest-800);position:relative}
.mainnav a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--orange-500);transition:.2s}
.mainnav a:hover{text-decoration:none}
.mainnav a:hover::after,.mainnav a[aria-current="page"]::after{width:100%}
.mainnav a[aria-current="page"]{color:var(--orange-600)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--forest-800)}

/* ============ PAGE BANNER (inner pages) ============ */
.page-banner{position:relative;overflow:hidden;background:var(--forest-800);color:var(--cream-50);
  padding-block:var(--sp-6)}
.page-banner .wrap{position:relative;z-index:2;max-width:760px}
.page-banner h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;color:var(--cream-50);line-height:1.04}
.page-banner p{font-size:clamp(1.02rem,1.6vw,1.2rem);margin-top:1rem;color:#ede8d6;max-width:54ch}
.page-banner .scene{position:absolute;inset:0;z-index:0;opacity:.5}
.page-banner .overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(29,39,16,.85),rgba(29,39,16,.4))}
.breadcrumb{font-size:.85rem;color:var(--orange-300);margin-bottom:.8rem;position:relative;z-index:2}
.breadcrumb a{color:var(--orange-300)}

/* ============ HERO (home) ============ */
.hero{position:relative;overflow:hidden;background:var(--forest-800);color:var(--cream-50);
  padding-block:var(--sp-7) var(--sp-6)}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero .wrap{position:relative;z-index:2;max-width:760px}
.hero h1{font-size:clamp(2.6rem,6.4vw,5rem);font-weight:700;line-height:1;color:var(--cream-50);
  text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero h1 .accent{color:var(--orange-500)}
.hero-lead{font-size:clamp(1.05rem,1.8vw,1.3rem);margin-top:1.25rem;color:#f3eeda;max-width:46ch}
.hero-cta{display:flex;gap:.9rem;margin-top:2rem;flex-wrap:wrap}
.hero-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(29,39,16,.78) 0%,rgba(29,39,16,.45) 55%,rgba(29,39,16,.15) 100%)}

/* ============ STATS ============ */
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat .num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,4vw,3rem);
  color:var(--forest-800);line-height:1}
.stat .num span{color:var(--orange-600)}
.stat .lbl{font-size:.92rem;color:var(--moss-600);margin-top:.4rem}
.stats .src{text-align:center;font-size:.75rem;color:var(--moss-500);margin-top:1.5rem}

/* ============ MISSION / 2-COL ============ */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.lead{font-size:1.2rem;color:var(--forest-900)}
.badge-art{display:flex;justify-content:center}

/* ============ TAP INTO TUESDAYS ============ */
.tit{background:var(--forest-800);color:var(--cream-50)}
.tit h2{color:var(--cream-50)}
.tit .eyebrow{color:var(--orange-300)}
.tit .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.tit-features{display:grid;gap:1rem;margin-top:1.5rem}
.tit-feature{display:flex;gap:.9rem;align-items:flex-start}
.tit-feature .ic{flex:0 0 auto;width:42px;height:42px;border-radius:10px;background:rgba(229,130,46,.18);
  display:grid;place-items:center;color:var(--orange-300)}
.tit-feature h3{color:var(--cream-50);font-size:1.08rem}
.tit-feature p{color:#d8d2bf;font-size:.95rem;margin-top:.15rem}
.event-card{background:var(--cream-50);color:var(--forest-900);border-radius:var(--radius);
  padding:1.75rem;box-shadow:var(--shadow)}
.event-card .tag,.tag{display:inline-block;background:var(--orange-500);color:#241a07;font-family:var(--font-display);
  font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}
.event-card .date{font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--forest-800);margin-top:.9rem}
.event-card .meta{display:flex;gap:.5rem;align-items:center;color:var(--moss-600);font-size:.95rem;margin-top:.4rem}
.event-card hr{border:0;border-top:1px solid var(--line);margin:1.1rem 0}

/* ============ VALUES / CARD GRIDS ============ */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.value{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;
  text-align:center;transition:.2s}
.value:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.value .ic{width:58px;height:58px;margin:0 auto 1rem;border-radius:14px;display:grid;place-items:center;
  background:var(--cream-100);color:var(--forest-700)}
.value h3{font-size:1.25rem}
.value p{font-size:.93rem;color:var(--moss-600);margin-top:.4rem}

/* ============ WHAT WE DO / CARDS ============ */
.do-card{background:var(--cream-50);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.do-card .ic{color:var(--orange-600);margin-bottom:.7rem;font-size:1.6rem}
.do-card h3{font-size:1.1rem}
.do-card p{font-size:.92rem;color:var(--moss-600);margin-top:.35rem}
.do-card .goal{display:inline-block;margin-top:.8rem;font-size:.78rem;font-weight:600;color:var(--forest-700);
  background:var(--cream-200);padding:.25rem .6rem;border-radius:999px}

/* ============ CHIPS ============ */
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.chip{display:flex;gap:.7rem;align-items:center;background:var(--white);border:1px solid var(--line);
  border-radius:999px;padding:.8rem 1.2rem;font-weight:500}
.chip .dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--orange-500)}
.tagcloud{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.tagcloud span{background:var(--cream-100);border:1px solid var(--line);border-radius:999px;
  padding:.5rem 1.1rem;font-family:var(--font-display);font-weight:500;color:var(--forest-700)}

/* ============ SPONSOR TIERS ============ */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.tier{border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;background:var(--white);display:flex;flex-direction:column}
.tier.feat{border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(229,130,46,.15)}
.tier h3{font-size:1.15rem}
.tier .pill{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-600)}
.tier ul{list-style:none;margin-top:.9rem;display:grid;gap:.5rem}
.tier li{display:flex;gap:.5rem;font-size:.9rem;color:var(--moss-600)}
.tier li svg{flex:0 0 auto;color:var(--moss-500);margin-top:.2rem}
.tier .btn{margin-top:auto}

/* ============ SPONSOR LOGOS ============ */
.partner{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;text-align:center}
.partner .pill{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-600)}
.partner .logo{height:64px;display:grid;place-items:center;margin:.6rem 0;font-family:var(--font-display);
  font-weight:700;font-size:1.3rem;color:var(--forest-800)}
.partner p{font-size:.88rem;color:var(--moss-600);margin:0 auto}

/* ============ CTA BAND ============ */
.cta-band{background:linear-gradient(135deg,var(--orange-500),var(--orange-600));color:#241a07;text-align:center}
.cta-band h2{color:#241a07}
.cta-band p{margin:1rem auto 2rem;color:#3a2a0d;font-size:1.1rem}
.cta-forest{background:var(--forest-800);color:var(--cream-50);text-align:center}
.cta-forest h2{color:var(--cream-50)}
.cta-forest p{margin:1rem auto 2rem;color:#e7e2d0;font-size:1.1rem}

/* ============ EVENTS LIST ============ */
.event-row{display:grid;grid-template-columns:120px 1fr auto;gap:1.5rem;align-items:center;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1rem}
.event-row .cal{text-align:center;background:var(--cream-100);border-radius:10px;padding:.6rem}
.event-row .cal .m{font-family:var(--font-display);font-weight:700;color:var(--orange-600);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.event-row .cal .d{font-family:var(--font-display);font-weight:700;font-size:1.8rem;color:var(--forest-800);line-height:1}
.event-row h3{font-size:1.15rem}
.event-row .meta{color:var(--moss-600);font-size:.92rem;margin-top:.25rem}
.event-row .meta strong{color:var(--forest-700)}

/* ============ FORMS ============ */
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--font-display);font-weight:500;color:var(--forest-800);margin-bottom:.35rem}
.field .req{color:var(--orange-600)}
.field input,.field select,.field textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);
  border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;background:var(--cream-50);color:var(--forest-900)}
.field textarea{min-height:130px;resize:vertical}
.contact-item{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.2rem}
.contact-item .ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--cream-100);
  display:grid;place-items:center;color:var(--forest-700)}
.contact-item h3{font-size:1.05rem}
.contact-item a,.contact-item p{font-size:.95rem;color:var(--moss-600)}

/* ============ FAQ ACCORDION ============ */
.faq{max-width:780px;margin:0 auto}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.8rem;padding:0 1.3rem}
.faq summary{font-family:var(--font-display);font-weight:600;color:var(--forest-800);font-size:1.08rem;
  padding:1.1rem 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--orange-500);transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.2rem;color:var(--moss-600)}

/* ============ BLOG ============ */
.post-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-card .thumb{height:160px;background:linear-gradient(135deg,var(--forest-700),var(--moss-500));position:relative}
.post-card .thumb .tag{position:absolute;top:.9rem;left:.9rem}
.post-card .body{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.post-card h3{font-size:1.12rem}
.post-card p{font-size:.92rem;color:var(--moss-600);margin-top:.4rem;flex:1}
.post-card .by{font-size:.8rem;color:var(--moss-500);margin-top:.9rem}

/* ============ FOOTER ============ */
.site-footer{background:var(--forest-900);color:#d8d2bf;padding-block:var(--sp-5) var(--sp-3)}
.site-footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.site-footer h4{font-family:var(--font-display);color:var(--cream-50);font-size:1.05rem;margin-bottom:.9rem;font-weight:600}
.site-footer a{color:#d8d2bf}
.site-footer a:hover{color:var(--orange-300)}
.site-footer ul{list-style:none;display:grid;gap:.5rem}
.foot-bottom{border-top:1px solid rgba(255,250,240,.12);margin-top:2.5rem;padding-top:1.5rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#a8a594}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .split,.tit .grid{grid-template-columns:1fr}
  .stats .grid,.grid-4,.grid-3,.chips,.tiers,.site-footer .grid{grid-template-columns:1fr 1fr}
  .badge-art{order:-1}
  .event-row{grid-template-columns:90px 1fr;gap:1rem}
  .event-row .btn{grid-column:1/-1}
}
@media(max-width:640px){
  .mainnav{position:fixed;inset:0 0 0 auto;width:min(78vw,320px);background:var(--cream-50);
    flex-direction:column;align-items:flex-start;padding:5rem 2rem;gap:1.4rem;transform:translateX(100%);
    transition:.25s;box-shadow:var(--shadow);z-index:90}
  .mainnav.open{transform:translateX(0)}
  .nav-toggle{display:block;z-index:95}
  .topbar{display:none}
  .stats .grid,.grid-4,.grid-3,.grid-2,.chips,.tiers,.site-footer .grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

/* ============================================================
   WordPress / Elementor bridges (GEAR theme)
   ============================================================ */
/* WP nav menu -> .mainnav styling */
.mainnav ul{list-style:none;display:flex;align-items:center;gap:1.6rem;margin:0;padding:0}
.mainnav .menu-item a{font-family:var(--font-display);font-weight:500;font-size:1.02rem;color:var(--forest-800);position:relative}
.mainnav .current-menu-item > a{color:var(--orange-600)}
.mainnav .menu-item a:hover{text-decoration:none}

/* Admin bar offset */
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

/* WordPress core alignment/utility */
.aligncenter{margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Elementor: let our container width + brand show through Hello-style base */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:var(--maxw)}
.gear-prose{max-width:var(--maxw);margin-inline:auto;padding-inline:1.5rem}

/* The Events Calendar: light brand touch */
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-common .tribe-common-c-btn{background:var(--orange-500)!important;color:#241a07!important;border-radius:999px!important}
.tribe-events-calendar-list__event-title a{color:var(--forest-800)!important}

/* ============================================================
   GEAR × Elementor — full-bleed seeded sections
   Every page section is a full-width HTML widget carrying its own
   background + inner .wrap. Neutralize Elementor's boxed width and
   default section/column/widget padding so the colored bands run
   edge-to-edge exactly like the design comps.
   ============================================================ */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 100% !important; }
.elementor-section { padding-top: 0 !important; padding-bottom: 0 !important; }
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated,
.elementor-widget-wrap { padding: 0 !important; }
.elementor-widget-html { width: 100%; }
.elementor-widget-html > .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.elementor-widget:not(:last-child) { margin-bottom: 0 !important; }
/* our sections already control their own vertical rhythm */
.elementor-element .elementor-widget-html > .elementor-widget-container > section { display: block; }
