/* Rooted Oregon V3 Production — CSS generated first; HTML uses only these classes */
:root {
  --green:#073f2a;
  --deep:#05281c;
  --gold:#d89222;
  --cream:#f7f1e5;
  --cream2:#fffaf0;
  --white:#ffffff;
  --ink:#172018;
  --muted:#5b6258;
  --line:#d9cdb8;
  --shadow:0 16px 40px rgba(0,0,0,.16);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.wrap-wide { max-width:1280px; margin:0 auto; padding:0 24px; }
.text-wrap { max-width:900px; margin:0 auto; padding:0 24px; }
.center-text { text-align:center; max-width:850px; margin:0 auto 10px; line-height:1.6; }
.eyebrow { margin:0 0 14px; color:#efc267; font-weight:900; text-transform:uppercase; letter-spacing:1.5px; }
.eyebrow-dark { color:var(--gold); text-align:center; font-weight:900; text-transform:uppercase; letter-spacing:1.5px; margin:0 0 12px; }

/* Header enforcement */
.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,250,240,.99);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.header-inner {
  max-width:1280px;
  min-height:100px;
  max-height:110px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo-link {
  flex:0 0 200px;
  width:200px;
  max-width:220px;
  display:flex;
  align-items:center;
}
.logo-link img {
  width:200px !important;
  max-width:220px !important;
  max-height:80px !important;
  height:auto !important;
  object-fit:contain !important;
}
.main-nav {
  flex:1 1 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.main-nav a {
  display:inline-flex;
  align-items:center;
  min-height:46px;
  border-bottom:3px solid transparent;
}
.main-nav a:hover,
.main-nav a.active {
  color:var(--green);
  border-bottom-color:var(--gold);
}
.header-actions {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.btn {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:52px;
  min-width:150px;
  padding:12px 18px;
  border:2px solid var(--green);
  border-radius:7px;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, background .15s ease;
}
.btn:hover,
.btn:focus {
  transform:translateY(-1px);
  filter:brightness(1.04);
  outline:3px solid rgba(216,146,34,.35);
  outline-offset:2px;
}
.btn-green { background:var(--green) !important; color:#fff !important; border-color:var(--green) !important; }
.btn-outline { background:var(--cream2) !important; color:var(--green) !important; border-color:var(--green) !important; }
.btn-gold { background:var(--gold) !important; color:#fff !important; border-color:var(--gold) !important; }
.btn-light { background:#fff !important; color:var(--green) !important; border-color:#fff !important; }
.menu-toggle {
  display:none;
  background:var(--green);
  border:0;
  border-radius:5px;
  width:48px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  margin-left:auto;
}
.menu-toggle span { width:24px; height:3px; background:#fff; border-radius:4px; }

/* Hero enforcement */
.hero,
.page-hero,
.ip-hero {
  position:relative;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.hero-image{
    display:flex;
    justify-content:center;
    align-items:center;
    background:#f7f1e5;
    overflow:hidden;
    [padding: 20px 0;]
}
.hero-image img{
    width:75%;
    max-width:700px;
    height:auto;
    display:block;
}
.hero-message{
    background:#f7f1e5;
    text-align:center;
    padding:20px 20px 0;
}
.hero-message .wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.page-hero {
  min-height:430px;
  background-image:url("assets/page-hero.jpg");
  display:flex;
  align-items:center;
}
.about-hero { background-image:url("assets/hero-about.jpg"); }
.priorities-hero { background-image:url("assets/hero-priorities.jpg"); }
.coalition-hero { background-image:url("assets/hero-coalition.jpg"); }
.ip-hero {
  min-height:730px;
  background-image:url("assets/ip28-hero.jpg");
  display:flex;
  align-items:center;
}
.shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.20),rgba(0,0,0,.05));
}
.hero-content {
  position:relative;
  max-width:560px;
  color:#fff;
  padding-top:70px;
  padding-bottom:76px;
}
.hero-content h1 {
  font:900 clamp(38px,5vw,68px)/.95 Georgia,'Times New Roman',serif;
  text-transform:uppercase;
  margin:0;
  text-shadow:0 4px 16px rgba(0,0,0,.35);
}
.hero-content p {
  font:700 20px/1.45 Arial;
  color:#f5d18b;
  max-width:720px;
}
.hero-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}
.hero-logo {
  width:175px !important;
  max-width:175px !important;
  background:rgba(255,250,240,.96);
  border-radius:14px;
  margin-bottom:18px;
}
.brush-btn {
  display:inline-block;
  background:#e2a936;
  color:#172018;
  font-weight:900;
  text-transform:uppercase;
  padding:15px 24px;
  box-shadow:10px 10px 0 rgba(0,0,0,.25);
}

/* Sections and grids */
.section { padding:25px 0; }
.section-title {
  font:900 38px Georgia,'Times New Roman',serif;
  color:var(--green);
  text-transform:uppercase;
  text-align:center;
  margin:0 0 20px;
}
.cards-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.cards-grid.six { grid-template-columns:repeat(6,1fr); }
.cards-grid.four { grid-template-columns:repeat(4,1fr); }
.priority-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.icon-card {
  background:#fffaf3;
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
  text-align:center;
  box-shadow:0 7px 20px rgba(0,0,0,.05);
}
.icon-card .icon-img {
  width:96px !important;
  height:96px !important;
  max-width:120px !important;
  max-height:120px !important;
  object-fit:contain !important;
  margin:0 auto 14px !important;
}
.icon-card h3 {
  font:900 16px Arial;
  text-transform:uppercase;
  color:var(--green);
  margin:0 0 9px;
}
.icon-card p {
  font-size:13.5px;
  line-height:1.5;
  margin:0;
}
.callout {
  background:var(--green);
  color:#fff;
  text-align:center;
  padding:44px 34px;
  margin:18px auto;
  border:2px solid rgba(216,146,34,.65);
}
.callout h2 {
  font:900 clamp(32px,5vw,58px)/1 Georgia,'Times New Roman',serif;
  text-transform:uppercase;
  margin:0 auto 12px;
  max-width:950px;
}
.callout p {
  max-width:820px;
  margin:0 auto 22px;
  line-height:1.5;
}
.split {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:42px;
  align-items:start;
}
.split h2 {
  font:900 40px/1.05 Georgia,'Times New Roman',serif;
  color:var(--green);
  text-transform:uppercase;
  margin:0 0 18px;
}
.split p { font-size:17px; line-height:1.65; }
.stacked { display:grid; gap:16px; }
.stacked article,
.message-card,
.faq-panel,
.text-card,
.news-card {
  background:#fffaf3;
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px;
  box-shadow:0 7px 20px rgba(0,0,0,.05);
}
.stacked h3,
.message-card h2,
.faq-panel h2,
.text-card h3,
.news-card h3 {
  color:var(--green);
  text-transform:uppercase;
  margin-top:0;
}
.logo-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.logo-grid article {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  text-align:center;
  padding:10px;
  filter:grayscale(100%);
}
.logo-grid img {
  width:100%;
  height:105px;
  object-fit:contain;
}
.logo-grid span {
  display:block;
  font-weight:900;
  text-transform:uppercase;
  color:#555;
  font-size:12px;
}
.news-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.news-card span {
  display:block;
  color:var(--gold);
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:8px;
}
.action-band,
.ip-action {
  background:var(--green);
  color:#fff;
  padding:54px 0;
  background-image:url("assets/mountain-band.jpg");
  background-size:cover;
  background-position:center bottom;
  text-align:center;
}
.action-band h2,
.ip-action h2 {
  font:900 34px Georgia,'Times New Roman',serif;
  text-transform:uppercase;
  margin:0 0 24px;
}
.action-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.action-grid a {
  background:rgba(6,41,29,.86);
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  padding:28px;
  text-align:center;
  min-height:145px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.action-grid strong {
  font:900 20px Arial;
  text-transform:uppercase;
  color:#f6d38f;
  margin-bottom:8px;
}
.action-grid span { line-height:1.45; }
.impact-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:24px;
}
.faq-question {
  width:100%;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--line);
  font-weight:900;
  text-align:left;
  cursor:pointer;
  margin-top:8px;
}
.faq-answer {
  display:none;
  border:1px solid var(--line);
  border-top:0;
  background:#fff;
  padding:1px 14px;
}
.faq-answer.open { display:block; }
.opponents h2 { color:#9a3a1e; }
.opponents ul { padding-left:20px; line-height:1.55; }
.form-wrap {
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.site-form {
  display:grid;
  gap:16px;
  background:#fffaf3;
  border:1px solid var(--line);
  border-radius:12px;
  padding:30px;
  box-shadow:var(--shadow);
}
.site-form label {
  display:grid;
  gap:7px;
  color:var(--green);
  font-weight:900;
  text-transform:uppercase;
}
.site-form input,
.site-form textarea {
  border:1px solid var(--line);
  border-radius:5px;
  padding:14px;
  font-size:16px;
  background:#fff;
}
.form-note { font-size:13px; color:var(--muted); margin:0; }
.text-page {
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}
.text-page h2 {
  font:900 34px Georgia,'Times New Roman',serif;
  color:var(--green);
  text-transform:uppercase;
}
.text-page p { font-size:17px; line-height:1.75; }
.three-boxes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.disclaimer {
  font-size:12px;
  color:var(--muted);
  text-align:center;
  max-width:860px;
  margin:18px auto 0;
  line-height:1.45;
}

/* Footer */
.email-band {
  background:var(--green);
  color:#fff;
  padding:24px 0;
}
.email-inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:30px;
  align-items:center;
}
.email-inner h2 { margin:0; }
.email-inner p { margin:4px 0 0; }
.inline-form {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:10px;
}
.inline-form input {
  border:0;
  border-radius:4px;
  padding:16px;
  font-size:15px;
}
.inline-form button {
  border:0;
  border-radius:4px;
  background:var(--gold);
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  padding:0 24px;
  min-height:50px;
}
.site-footer {
  background-image:url("assets/mountain-band.jpg");
  background-size:cover;
  background-position:center;
  color:#fff;
}
.footer-overlay { background:rgba(5,40,28,.88); }
.footer-inner {
  max-width:1200px;
  margin:0 auto;
  padding:34px 24px;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:34px;
}
.footer-logo img {
  width:180px !important;
  max-width:180px !important;
  max-height:80px !important;
  background:rgba(255,250,240,.95);
  border-radius:10px;
}
.footer-inner h3 {
  text-transform:uppercase;
  margin:0 0 12px;
  color:#f6d38f;
}
.footer-inner a { display:block; margin-bottom:7px; }
.pac-line {
  background:rgba(0,0,0,.38);
  color:#fff;
  text-align:center;
  font-weight:900;
  font-size:13px;
  padding:13px 18px;
}

/* Responsive */
@media(max-width:1240px) {
  .header-inner { gap:14px; }
  .logo-link { flex-basis:180px; width:180px; }
  .logo-link img { width:180px !important; max-width:180px !important; }
  .main-nav { gap:16px; font-size:13px; }
  .btn { min-width:130px; font-size:12px; padding:12px 12px; }
}
@media(max-width:1080px) {
  .header-inner { min-height:86px; }
  .menu-toggle { display:flex; }
  .main-nav,
  .header-actions {
    display:none;
    position:absolute;
    left:0;
    right:0;
    background:var(--cream2);
    padding:18px 24px;
    border-bottom:1px solid var(--line);
  }
  .main-nav {
    top:100%;
    flex-direction:column;
    text-align:center;
  }
  .header-actions {
    top:calc(100% + 250px);
    flex-direction:column;
  }
  .main-nav.open,
  .header-actions.open { display:flex; }
  .header-actions .btn { width:100%; }
  .cards-grid.six { grid-template-columns:repeat(3,1fr); }
  .cards-grid.four,
  .priority-grid,
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .impact-grid,
  .split,
  .email-inner,
  .footer-inner { grid-template-columns:1fr; }
  .logo-grid { grid-template-columns:repeat(2,1fr); }
  .news-grid { grid-template-columns:1fr; }
  .inline-form { grid-template-columns:1fr; }
  .inline-form button { padding:14px; }
}
@media(max-width:700px) {
  .wrap,
  .wrap-wide,
  .text-page,
  .form-wrap { padding:0 18px; }
  .header-inner { padding:0 16px; }
  .logo-link { flex-basis:155px; width:155px; }
  .logo-link img { width:155px !important; max-width:155px !important; }
  .hero-home {
    background:url("/assets/hero-home-v2.jpg") center center/cover no-repeat !important;
}
  .ip-hero { min-height:620px; }
  .page-hero { min-height:390px; }
  .hero-content h1 { font-size:42px; }
  .hero-content p { font-size:18px; }
  .section { padding:54px 0; }
  .section-title { font-size:29px; }
  .cards-grid.six,
  .cards-grid.four,
  .priority-grid,
  .cards-grid,
  .logo-grid,
  .action-grid,
  .three-boxes { grid-template-columns:1fr; }
  .btn { width:100%; }
}
