/* Mountain Grown USA — main stylesheet
   Clean, responsive, accessible, and optimized for performance
*/

:root{
  --charcoal: #121212;
  --matte-black: #0b0b0b;
  --forest-green: #234e2b;
  --leather-brown: #8b5a2b;
  --copper: #b46836;
  --warm-white: #f6f2ec;
  --muted: #9aa49a;
  --max-width: 1100px;
  --radius: 10px;
  --transition: 220ms ease;
  --shadow: 0 8px 30px rgba(2,2,2,0.45);
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
  color:var(--matte-black);
  background:linear-gradient(180deg,var(--warm-white),#f2efe9);
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--max-width);margin:0 auto;padding:48px 20px}

.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:rgba(246,242,236,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--copper)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--matte-black)}
.brand{font-weight:700;font-size:18px;letter-spacing:0.6px}
.brand .tm{font-weight:400;font-size:12px;margin-left:4px}

.nav-toggle{display:none;background:none;border:1px solid var(--muted);padding:8px 12px;border-radius:6px;color:var(--matte-black)}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.main-nav a{text-decoration:none;color:var(--matte-black);padding:8px 6px;border-radius:6px;transition:background var(--transition)}
.main-nav a:hover,.main-nav a:focus{background:rgba(139,90,43,0.06);outline:none}

/* Hero */
.hero{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:100vh;
  padding-left:60px;
  background-image:url('../images/hero.jpg');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center top;
  background-attachment:scroll;
  background-color:#121212;
  overflow:hidden;
  animation:heroFadeIn 1.2s ease-out;
}
.hero::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(90deg, rgba(11,11,11,0.35) 0%, rgba(11,11,11,0.28) 40%, rgba(11,11,11,0.18) 100%);
  z-index:1;
}
.hero-overlay{
  display:none;
}
.hero-content{
  position:absolute;
  top:1.5rem;
  left:3rem;
  z-index:2;
  text-align:left;
  color:var(--warm-white);
  max-width:560px;
  padding:0;
}
.hero h1{
  font-size:clamp(2.25rem, 8vw, 72px);
  font-weight:700;
  margin:0 0 12px;
  letter-spacing:-1px;
  line-height:1.1;
  animation:heroH1FadeIn 0.8s ease-out 0s both;
}
.hero-tagline{
  font-size:24px;
  font-weight:600;
  color:var(--warm-white);
  text-shadow:0 2px 8px rgba(180,120,60,0.3), 0 1px 3px rgba(0,0,0,0.4);
  margin:0 0 28px;
  animation:heroTaglineFadeIn 0.8s ease-out 0.15s both;
  white-space:pre-line;
}
.hero-quote{
  margin:0 0 32px;
  padding:0;
  border:none;
  font-style:italic;
  font-size:18px;
  line-height:1.6;
  color:rgba(246,242,236,0.95);
  animation:heroQuoteFadeIn 0.8s ease-out 0.3s both;
}
.hero-quote p{
  margin:0 0 12px;
  font-size:18px;
}
.hero-quote footer{
  font-style:normal;
  font-size:16px;
  color:rgba(246,242,236,0.85);
  letter-spacing:0.5px;
}
.hero-ctas{
  display:flex;
  gap:12px;
  justify-content:flex-start;
  flex-wrap:wrap;
  animation:heroCtasFadeIn 0.8s ease-out 0.45s both;
}
.hero .btn.primary{
  background:var(--copper);
  color:var(--warm-white);
  padding:0.65rem 1.4rem;
  font-size:14px;
  font-weight:600;
  border:none;
  transition:all var(--transition);
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(180,120,60,0.3);
  max-width:fit-content;
}
.hero .btn.primary:hover,.hero .btn.primary:focus{
  background:#d07e3f;
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(180,120,60,0.4);
  outline:none;
}
.hero .btn.ghost{
  border-color:rgba(246,242,236,0.46);
  color:var(--warm-white);
  background:rgba(8,8,8,0.22);
}
.hero .btn.ghost:hover,.hero .btn.ghost:focus{
  background:rgba(8,8,8,0.44);
  border-color:rgba(246,242,236,0.66);
  outline:none;
}

.proof-strip{background:linear-gradient(180deg,#f6f1ea 0%,#f0e8de 100%);border-top:1px solid rgba(11,11,11,0.06);border-bottom:1px solid rgba(11,11,11,0.08);padding:18px 20px}
.proof-strip-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:18px;padding-bottom:18px}
.proof-item{padding:14px 14px 12px;border-radius:10px;background:rgba(255,255,255,0.7);border:1px solid rgba(17,12,8,0.08)}
.proof-item h2{margin:0 0 7px;font-size:15px;line-height:1.35;color:#1a1714}
.proof-item p{margin:0;font-size:13px;line-height:1.6;color:rgba(20,15,11,0.8)}

@keyframes heroFadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes heroH1FadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroTaglineFadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroQuoteFadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroCtasFadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroContentFadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

.btn{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--leather-brown);color:var(--warm-white);box-shadow:0 6px 18px rgba(139,90,43,0.12)}
.btn.ghost{background:transparent;border:1px solid rgba(11,11,11,0.06);color:var(--matte-black)}
.btn.disabled{opacity:0.6;cursor:not-allowed}

.brand-promise{background:#FCFBF8;padding:96px 20px;border-top:1px solid rgba(11,11,11,0.06)}
.brand-promise .wrap{max-width:800px}
.brand-promise h2{font-size:clamp(2rem, 6vw, 52px);font-weight:700;line-height:1.2;color:var(--matte-black);margin:0 0 28px;letter-spacing:-0.5px}
.brand-promise p{font-size:clamp(1rem, 2.5vw, 18px);line-height:1.75;color:rgba(11,11,11,0.82);margin:0;font-weight:400}

.lede{color:rgba(11,11,11,0.78);margin-bottom:28px;font-size:15px;line-height:1.6}
.sizing-guide-figure{margin:0 0 18px}
.sizing-guide-image{width:100%;max-width:860px;height:auto;border-radius:10px;display:block;margin:0 auto}

/* Collector section */
.collector{background:#FCFBF8;padding:96px 20px;border-top:1px solid rgba(11,11,11,0.06)}
.collector h2{font-size:clamp(1.75rem, 5vw, 44px);font-weight:700;color:var(--matte-black);margin:0 0 12px;letter-spacing:-0.5px}
.collector .lede{margin-bottom:48px}
.collector-preview p{font-size:15px;line-height:1.7;color:rgba(11,11,11,0.82);margin:0 0 20px}
.collector-preview .btn{margin-top:8px}

.reviews-home{background:linear-gradient(180deg,#fffdf9 0%,#f4ece3 100%);padding:88px 20px;border-top:1px solid rgba(11,11,11,0.06);border-bottom:1px solid rgba(11,11,11,0.06)}
.reviews-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--copper)}
.reviews-home h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4.8vw,44px);line-height:1.15;margin:0 0 12px;color:#1a1714}
.reviews-home .lede{max-width:66ch;margin-bottom:24px}
.reviews-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.reviews-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-preview{margin:0;padding:18px;border-radius:12px;border:1px solid rgba(17,12,8,0.08);background:#fff;box-shadow:0 10px 24px rgba(25,16,9,0.05)}
.review-preview p{margin:0 0 10px;font-size:15px;line-height:1.7;color:rgba(20,15,11,0.86)}
.review-preview footer{font-size:13px;font-weight:700;color:rgba(20,15,11,0.64)}

/* Newsletter section */
.newsletter{background:#fff;padding:96px 20px;border-top:1px solid rgba(11,11,11,0.06)}
.newsletter h2{font-size:clamp(1.75rem, 5vw, 44px);font-weight:700;color:var(--matte-black);margin:0 0 12px;text-align:center;letter-spacing:-0.5px}
.newsletter .lede{text-align:center;margin:0 auto 40px;max-width:600px}

/* Product grid */
.featured{background:#fff;padding:96px 19px}
.featured h2{font-size:clamp(1.75rem, 5vw, 44px);font-weight:700;color:var(--matte-black);margin:0 0 12px;letter-spacing:-0.5px}
.featured .lede{font-size:clamp(0.95rem, 2vw, 17px);color:rgba(11,11,11,0.75);margin:0 0 48px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:0;list-style:none}
.product-card{background:var(--warm-white);padding:20px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.04);text-align:left;transition:box-shadow 200ms ease,transform 200ms ease}
.product-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.08);transform:translateY(-2px)}
.product-card img{width:100%;height:180px;object-fit:cover;border-radius:8px;margin-bottom:16px}
.product-card img.product-image-no-crop{object-fit:contain;background:#1b120d}
.product-card h3{font-size:16px;font-weight:700;margin:12px 0 8px;color:var(--matte-black);line-height:1.4}
.product-card p{font-size:14px;line-height:1.5;margin:0}
.card-actions{display:flex;gap:8px;margin-top:16px}
.card-actions .btn{font-size:13px;padding:8px 12px}
.muted{color:var(--muted);font-size:14px}
.build-time-note{margin:14px 0 0;padding:11px 13px;border-left:4px solid var(--copper);background:rgba(180,104,54,0.08);border-radius:8px;font-size:14px;line-height:1.6;color:rgba(22,16,11,0.9)}
.build-time-note strong{color:#1b140f}

.collection-cta{margin-top:48px;padding-top:32px;text-align:center;border-top:1px solid rgba(11,11,11,0.08)}
.collection-cta .btn{font-size:16px}
.ordering-help{margin:14px 0 0;font-size:14px;line-height:1.6;color:rgba(20,15,11,0.78)}
.ordering-help a{color:var(--leather-brown);text-decoration:none;font-weight:600}
.ordering-help a:hover,.ordering-help a:focus{text-decoration:underline}

.product-gallery{padding-top:8px;padding-bottom:20px}
.product-gallery h2{font-size:clamp(1.35rem,3.5vw,30px);margin:0 0 14px;color:var(--matte-black)}
.gallery-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-grid li{background:#fff;border:1px solid rgba(11,11,11,0.08);border-radius:10px;overflow:hidden}
.gallery-grid img{display:block;width:100%;height:220px;object-fit:cover}
.gallery-link{display:block;line-height:0}
.gallery-link:focus{outline:3px solid rgba(180,120,60,0.35);outline-offset:2px}

body.lightbox-open{overflow:hidden}
.gallery-lightbox{position:fixed;inset:0;z-index:2000;display:none}
.gallery-lightbox.is-open{display:block}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,7,6,0.88)}
.gallery-lightbox-dialog{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:10px;width:min(96vw,1200px);height:min(92vh,900px);margin:4vh auto 0;padding:58px 14px 40px;background:transparent}
.gallery-lightbox-image{display:block;width:100%;height:min(74vh,760px);object-fit:contain;background:rgba(0,0,0,0.18);border-radius:10px}
.gallery-lightbox-caption{grid-column:1 / -1;margin:8px 0 0;text-align:center;color:#f6f2ec;font-size:14px;line-height:1.5}
.gallery-lightbox-close,.gallery-lightbox-nav{border:1px solid rgba(246,242,236,0.35);background:rgba(0,0,0,0.38);color:#f6f2ec;cursor:pointer}
.gallery-lightbox-close{position:absolute;top:10px;right:12px;width:44px;height:44px;border-radius:50%;font-size:28px;line-height:1}
.gallery-lightbox-nav{width:42px;height:42px;border-radius:50%;font-size:20px}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover,.gallery-lightbox-close:focus,.gallery-lightbox-nav:focus{background:rgba(0,0,0,0.58);outline:none}

/* Collection page hierarchy */
.collection-main{padding-bottom:24px}
.collection-hero{
  position:relative;
  min-height:78vh;
  display:flex;
  align-items:flex-start;
  background-image:url('../images/hero.jpg');
  background-size:cover;
  background-position:42% 18%;
  border-bottom:1px solid rgba(17,12,8,0.12);
}
.collection-hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(120% 90% at 70% 8%,rgba(213,141,72,0.28) 0%,rgba(213,141,72,0) 50%),radial-gradient(90% 95% at 86% 68%,rgba(8,6,5,0.52) 0%,rgba(8,6,5,0.06) 62%,rgba(8,6,5,0) 100%);
  pointer-events:none;
}
.collection-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(94deg,rgba(8,7,6,0.74) 0%,rgba(25,17,11,0.58) 35%,rgba(52,31,19,0.4) 62%,rgba(22,14,10,0.2) 100%);
}
.collection-hero-content{position:relative;z-index:2;padding-top:52px;padding-bottom:42px;color:#f6f2ec;max-width:760px}
.collection-hero-content.wrap{margin-left:0;margin-right:auto;padding-left:28px;padding-right:20px;max-width:980px}
.collection-hero-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:#e0ba95}
.collection-hero h1{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,8vw,74px);line-height:1.05;letter-spacing:-0.5px;color:#fffaf4;text-shadow:0 3px 16px rgba(4,3,2,0.74),0 1px 2px rgba(4,3,2,0.58)}
.collection-hero-tagline{margin:0 0 16px;font-size:clamp(1.1rem,2.6vw,28px);font-weight:600;color:#f5e7d8;text-shadow:0 2px 12px rgba(4,3,2,0.72)}
.collection-hero-verse{margin:0 0 24px;font-style:italic;color:#f5e7d8;text-shadow:0 2px 10px rgba(4,3,2,0.64)}

.collection-page{padding-top:40px}
.collection-page.wrap{margin-left:0;margin-right:auto;padding-left:28px;padding-right:20px;max-width:1180px}
.collection-intro{margin-bottom:40px}
.collection-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--copper)}
.collection-page h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,52px);line-height:1.14;margin:0 0 16px;color:#1a1714}

.honor-spotlight{margin:10px 0 56px;padding:34px;border-radius:14px;background:linear-gradient(165deg,#1d1813 0%,#37271a 56%,#5a351d 100%);color:#f5ede4;box-shadow:0 14px 36px rgba(14,10,7,0.28)}
.honor-eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:#d8af86}
.honor-card{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}
.honor-card img{width:100%;height:220px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,0.16);background:#251b12}
.honor-content h2{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,4vw,40px);line-height:1.1}
.honor-content h2 a{color:#fff6ed;text-decoration:none}
.honor-content .tagline{margin:0 0 10px;color:#f0d7c0;font-size:18px;font-weight:600}
.honor-content .story{margin:0 0 18px;color:rgba(245,237,228,0.95);line-height:1.65;font-size:15px;max-width:68ch}
.honor-content .btn.ghost{border-color:rgba(245,237,228,0.45);color:#f5ede4}
.honor-content .btn.ghost:hover,.honor-content .btn.ghost:focus{background:rgba(245,237,228,0.12)}

.series-section{margin:0 0 56px}
.series-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,4vw,36px);line-height:1.2;margin:0 0 10px;color:#1b1815}
.collection-page .product-grid{grid-template-columns:repeat(3,1fr)}
.collection-page .product-card{border:1px solid rgba(17,12,8,0.08);box-shadow:0 10px 24px rgba(25,16,9,0.06);padding:18px 18px 20px}
.collection-page .product-card .tagline{margin:0 0 8px;color:#2f251d;font-weight:600;line-height:1.45}
.collection-page .product-card .story{color:rgba(20,15,11,0.78);font-size:14px;line-height:1.6}
.women-series{padding:28px;border-radius:14px;background:linear-gradient(180deg,#fffdfa 0%,#f7f1ea 100%);border:1px solid rgba(32,24,16,0.08)}

.collection-page .product-card h3 a{color:inherit;text-decoration:none}
.collection-page .product-card h3 a:hover,.collection-page .product-card h3 a:focus{color:var(--copper)}

/* Mountain Grown Across America */
.across-america-page{padding-bottom:28px}
.across-america-hero{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(280px,0.8fr);gap:28px;align-items:center;padding-top:36px;padding-bottom:20px}
.across-america-banner{margin:0;position:relative;border-radius:16px;overflow:visible;background:#14110e;box-shadow:0 18px 36px rgba(18,11,7,0.18)}
.across-america-banner::after{display:none}
.across-america-banner img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;object-position:center center}
.across-america-copy{padding-right:6px}
.across-america-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--copper)}
.across-america-page h1{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,6vw,56px);line-height:1.08;color:#1a1714}
.across-america-tagline{margin:0 0 10px;font-size:clamp(1.05rem,2.4vw,22px);font-weight:700;color:var(--forest-green)}
.across-america-summary{margin:0;font-size:16px;line-height:1.7;color:rgba(20,15,11,0.82)}
.across-america-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:12px;padding-bottom:16px}
.state-stat-card,.state-detail-card,.admin-panel{background:linear-gradient(180deg,#fffdfa 0%,#f7f2eb 100%);border:1px solid rgba(17,12,8,0.08);border-radius:16px;box-shadow:0 10px 24px rgba(25,16,9,0.05)}
.state-stat-card{padding:22px}
.state-stat-label{margin:0 0 10px;text-transform:uppercase;letter-spacing:1.8px;font-size:12px;font-weight:700;color:var(--copper)}
.state-stat-value{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,44px);line-height:1.05;color:#1a1714}
.state-stat-note{margin:10px 0 0;font-size:14px;line-height:1.6;color:rgba(20,15,11,0.75)}
.across-america-tracker{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,0.8fr);gap:22px;padding-top:10px;padding-bottom:18px}
.section-heading{margin-bottom:18px}
.section-heading h2,.across-america-admin h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,4vw,38px);line-height:1.18;margin:0 0 10px;color:#1b1815}
.state-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.state-card{width:100%;height:100%;padding:14px 14px 16px;border:1px solid rgba(17,12,8,0.1);border-radius:14px;background:#fffdf9;box-shadow:0 2px 10px rgba(25,16,9,0.03);text-align:left;cursor:pointer;display:grid;gap:8px;color:inherit;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition)}
.state-card:hover,.state-card:focus{transform:translateY(-2px);box-shadow:0 10px 20px rgba(25,16,9,0.08);border-color:rgba(180,104,54,0.28);outline:none}
.state-card.is-selected{border-color:var(--copper);box-shadow:0 12px 24px rgba(180,104,54,0.14);background:#fff7ef}
.state-card-code{display:inline-flex;align-items:center;justify-content:center;width:44px;height:28px;border-radius:999px;background:rgba(35,78,43,0.12);color:var(--forest-green);font-size:12px;font-weight:800;letter-spacing:1px}
.state-card-name{font-size:15px;font-weight:700;line-height:1.35;color:#1c1814}
.state-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;line-height:1.4;color:rgba(20,15,11,0.72)}
.state-card-status{padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px;white-space:nowrap}
.state-card-status.is-reached{background:rgba(35,78,43,0.12);color:var(--forest-green)}
.state-card-status.is-not-reached{background:rgba(180,104,54,0.1);color:var(--copper)}
.state-detail-card{padding:22px;position:sticky;top:92px;align-self:start}
.detail-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:1.8px;font-size:12px;font-weight:700;color:var(--copper)}
.state-detail-card h3{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3.5vw,30px);line-height:1.15;color:#1b1815;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.state-detail-code{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:rgba(35,78,43,0.12);color:var(--forest-green);font-size:12px;letter-spacing:1px}
.state-detail-status{margin:0 0 18px;font-size:15px;font-weight:700;color:var(--forest-green)}
.state-detail-list{display:grid;gap:14px;margin:0 0 18px}
.state-detail-list div{padding:14px 14px 12px;border-radius:12px;background:#fff;border:1px solid rgba(17,12,8,0.08)}
.state-detail-list dt{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:1.6px;font-weight:700;color:var(--copper)}
.state-detail-list dd{margin:0;font-size:18px;font-weight:700;color:#1b1815}
.state-detail-note{margin:0 0 16px;font-size:14px;line-height:1.7;color:rgba(20,15,11,0.78)}
.state-refresh-button{width:100%}
.across-america-admin{padding-top:6px;padding-bottom:30px}
.admin-panel{padding:24px}
.integration-list{margin:18px 0 0;padding-left:20px;display:grid;gap:10px;color:rgba(20,15,11,0.82);line-height:1.65}
.integration-list li{padding-left:4px}
.state-error{list-style:none;padding:16px;border:1px solid rgba(180,104,54,0.18);border-radius:12px;background:rgba(180,104,54,0.08);color:#4c2f12;line-height:1.6}

/* Why Mountain Grown */
.why-mountain-grown{background:#FCFBF8;padding:96px 20px;border-top:1px solid rgba(11,11,11,0.06)}
.why-mountain-grown h2{font-size:clamp(1.75rem, 5vw, 44px);font-weight:700;color:var(--matte-black);margin:0 0 56px;text-align:center;letter-spacing:-0.5px}
.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;padding:0;margin:0;list-style:none;max-width:1000px;margin-left:auto;margin-right:auto}
.features-grid li{padding:32px;background:#fff;border-radius:12px;border:1px solid rgba(11,11,11,0.06)}
.features-grid h3{font-size:18px;font-weight:700;color:var(--matte-black);margin:0 0 12px;line-height:1.3}
.features-grid p{font-size:15px;line-height:1.6;color:rgba(11,11,11,0.78);margin:0}

/* Meet the Maker */
.meet-maker{background:#fff;padding:96px 20px}
.meet-maker h2{font-size:clamp(1.75rem, 5vw, 44px);font-weight:700;color:var(--matte-black);margin:0 0 40px;letter-spacing:-0.5px}
.maker-content{max-width:900px}
.maker-content p{font-size:clamp(0.95rem, 2vw, 17px);line-height:1.75;color:rgba(11,11,11,0.82);margin:0 0 24px}
.maker-content em{color:rgba(139,90,43,0.9);font-style:italic}

.maker-profile-page{padding-top:40px;padding-bottom:36px}
.maker-profile-page h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,52px);line-height:1.15;margin:0 0 12px;color:#1a1714}
.maker-profile{display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:28px;align-items:start;margin-top:24px}
.maker-portrait{margin:0;background:linear-gradient(180deg,#fffdfa,#f5efe8);border:1px solid rgba(11,11,11,0.08);border-radius:12px;overflow:hidden;box-shadow:0 14px 32px rgba(18,12,7,0.1)}
.maker-portrait img{display:block;width:100%;height:min(82vh,900px);object-fit:contain;object-position:center top;background:#f4eee6}
.maker-portrait figcaption{padding:12px 14px;font-size:13px;color:rgba(11,11,11,0.7);border-top:1px solid rgba(11,11,11,0.06)}
.maker-bio p{font-size:16px;line-height:1.75;color:rgba(11,11,11,0.82);margin:0 0 18px}
.maker-story-cta{font-weight:700;letter-spacing:0.2px}
.maker-quote{margin:18px 0 20px;padding:16px 18px;background:#fff;border-left:4px solid var(--copper);border-radius:8px}
.maker-quote p{margin:0 0 8px;font-size:18px;line-height:1.55;color:#1f1a16;font-style:italic}
.maker-quote footer{font-size:14px;color:rgba(11,11,11,0.72)}

.story-collage-teaser{background:linear-gradient(180deg,#fffdfa 0%,#f4ede5 100%);padding:80px 20px;border-top:1px solid rgba(11,11,11,0.06);border-bottom:1px solid rgba(11,11,11,0.06)}
.story-collage-teaser-wrap{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,420px);gap:28px;align-items:center}
.story-collage-copy h2{margin:8px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,4.6vw,42px);line-height:1.15;color:#1b1714}
.story-collage-copy p{margin:0 0 18px;font-size:16px;line-height:1.7;color:rgba(20,15,11,0.82)}
.story-collage-kicker{margin:0;text-transform:uppercase;letter-spacing:1.8px;font-size:12px;font-weight:700;color:var(--copper)}
.story-collage-preview{margin:0;background:#fff;border:1px solid rgba(11,11,11,0.08);border-radius:12px;overflow:hidden;box-shadow:0 14px 26px rgba(18,12,7,0.1)}
.story-collage-preview img{display:block;width:100%;height:320px;object-fit:cover}
.story-collage-preview figcaption{padding:10px 12px;border-top:1px solid rgba(11,11,11,0.06);font-size:13px;line-height:1.5;color:rgba(11,11,11,0.72)}

.story-collage{margin-top:42px;padding:30px;border-radius:14px;background:linear-gradient(180deg,#fffdfa 0%,#f7f0e8 100%);border:1px solid rgba(17,12,8,0.08)}
.story-collage-head{margin:0 0 22px}
.story-collage-head h2{margin:8px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4.5vw,40px);line-height:1.15;color:#1a1714}
.story-collage-head p{margin:0;max-width:72ch;font-size:16px;line-height:1.7;color:rgba(20,15,11,0.8)}
.story-collage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.story-collage-card{margin:0;background:#fff;border:1px solid rgba(17,12,8,0.08);border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(25,16,9,0.05)}
.story-collage-card img{display:block;width:100%;height:280px;object-fit:cover;background:#ede5dc}
.story-collage-card figcaption{padding:10px 12px;border-top:1px solid rgba(17,12,8,0.08);font-size:13px;line-height:1.5;color:rgba(20,15,11,0.76)}

.collector-preview{display:flex;gap:32px;align-items:flex-start}
.collector-preview img{width:200px;height:auto;border-radius:6px;box-shadow:var(--shadow);flex-shrink:0}
.collector-preview div{flex:1}

.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;list-style:none}
.quote{background:#fff;border-radius:8px;padding:18px;box-shadow:0 4px 12px rgba(0,0,0,0.04)}

.newsletter-form{display:flex;gap:12px;max-width:540px;margin:0 auto}
.newsletter-form input{flex:1;padding:14px 16px;border-radius:8px;border:1px solid rgba(0,0,0,0.12);font-size:15px;font-family:inherit}
.newsletter-form input:focus{outline:3px solid rgba(180,120,60,0.24);outline-offset:2px;border-color:var(--copper)}
.newsletter-form .btn{margin:0;white-space:nowrap}

.newsletter .muted{font-size:13px;margin-top:16px;display:block;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}

.site-footer{background:linear-gradient(180deg,#f2efe9,#eae6df);border-top:1px solid rgba(0,0,0,0.04)}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:32px;align-items:start;padding:56px}
.footer-about strong{display:block;font-size:16px;font-weight:700;color:var(--matte-black);margin-bottom:8px}
.footer-about p{font-size:14px;line-height:1.6;color:rgba(11,11,11,0.75);margin:0}
.footer-nav ul{list-style:none;padding:0;margin:0}
.footer-nav li{margin-bottom:8px}
.footer-nav a{text-decoration:none;color:rgba(11,11,11,0.75);font-size:14px;transition:color 200ms ease}
.footer-nav a:hover,.footer-nav a:focus{color:var(--copper);outline:none}
.social{display:flex;gap:16px}
.social a{text-decoration:none;color:rgba(11,11,11,0.75);font-size:14px;transition:color 200ms ease;font-weight:500}
.social a:hover,.social a:focus{color:var(--copper);outline:none}
.copyright{font-size:13px;color:rgba(11,11,11,0.6);text-align:right}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.skip{position:absolute;left:8px;top:8px;background:#111;color:var(--warm-white);padding:8px 12px;border-radius:6px;z-index:100;transform:translateY(-120%);transition:transform .18s ease}
.skip:focus{transform:translateY(0%);outline:none}

/* Responsive */
@media(max-width:1000px){
  .hero{
    padding-left:48px;
  }
  .hero-content{
    top:1.25rem;
    left:2.5rem;
    max-width:520px;
  }
  .hero h1{font-size:clamp(2rem, 7vw, 56px)}
  .hero-tagline{font-size:20px}
  .hero-quote{font-size:16px}
  .proof-strip-wrap{grid-template-columns:1fr}
  .reviews-preview-grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .collection-hero{min-height:58vh;background-position:46% 22%}
  .collection-hero-content{padding-top:38px;padding-bottom:30px}
  .collection-hero-content.wrap{padding-left:22px}
  .collection-hero h1{font-size:clamp(2rem,7vw,56px)}
  .collection-page.wrap{padding-left:22px}
  .collection-page .product-grid{grid-template-columns:repeat(2,1fr)}
  .across-america-hero{grid-template-columns:1fr;gap:20px}
  .across-america-banner img{height:auto}
  .across-america-stats{grid-template-columns:1fr}
  .across-america-tracker{grid-template-columns:1fr}
  .state-detail-card{position:static}
  .state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .honor-card{grid-template-columns:1fr}
  .honor-card img{height:240px}
  .maker-profile{grid-template-columns:1fr}
  .maker-portrait img{height:min(72vh,780px)}
  .story-collage-teaser-wrap{grid-template-columns:1fr}
  .story-collage-preview img{height:360px}
  .story-collage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .features-grid{grid-template-columns:1fr;gap:28px}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .hero{
    display:flex;
    flex-direction:column;
    min-height:auto;
    background-image:none !important;
    padding:0 !important;
    background-color:#121212;
  }
  .hero::before{
    display:none;
  }
  .hero-overlay{
    display:block !important;
    width:100%;
    aspect-ratio:16/9;
    background-image:url('../images/hero.jpg');
    background-size:cover;
    background-position:center top;
    background-repeat:no-repeat;
    position:relative;
    z-index:1;
  }
  .hero-overlay::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(18,18,18,0) 60%, rgba(18,18,18,0.7) 100%);
    pointer-events:none;
  }
  .hero-content{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    margin-left:0;
    margin-top:0;
    max-width:100% !important;
    padding:32px 24px 24px !important;
    background-color:#121212;
    z-index:2;
  }
  .hero h1{font-size:clamp(1.75rem, 6vw, 40px);margin-bottom:8px}
  .hero-tagline{font-size:18px;margin-bottom:16px}
  .hero-quote{font-size:15px;margin-bottom:16px}
  .hero-quote p{font-size:15px}
  .hero-quote footer{font-size:14px}
  .hero-ctas{display:grid;grid-template-columns:1fr;gap:10px;max-width:340px;width:calc(100% - 6px)}
  .hero-ctas .btn{display:block;width:100%;text-align:center;min-height:46px;padding:0.85rem 1rem;font-size:15px}
  .hero .btn.primary{font-size:15px}
  .hero .btn.ghost{font-size:15px}
  .proof-strip{padding:12px 20px}
  .proof-strip-wrap{padding-top:14px;padding-bottom:14px;gap:10px}
  .proof-item{padding:12px 12px 11px}
  .proof-item h2{font-size:14px}
  .reviews-home{padding:64px 20px}
  .reviews-home-actions{display:grid;grid-template-columns:1fr;max-width:360px}
  .reviews-home-actions .btn{text-align:center}
  .review-preview{padding:16px}
  .review-preview p{font-size:14px}
  .brand-promise{padding:72px 20px}
  .brand-promise h2{margin-bottom:20px}
  .featured{padding:72px 20px}
  .featured .lede{margin-bottom:32px}
  .product-grid{grid-template-columns:1fr;gap:16px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid img{height:260px}
  .gallery-lightbox-dialog{grid-template-columns:1fr;width:min(96vw,760px);padding:52px 8px 24px;height:min(92vh,760px)}
  .gallery-lightbox-image{height:min(70vh,560px)}
  .gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}
  .gallery-lightbox-nav.prev{left:8px}
  .gallery-lightbox-nav.next{right:8px}
  .collection-hero{
    display:flex;
    flex-direction:column;
    min-height:auto;
    background-image:none !important;
    padding:0 !important;
    background-color:#121212;
  }
  .collection-hero::after{
    display:none;
  }
  .collection-hero-overlay{
    display:block !important;
    position:relative !important;
    width:100%;
    aspect-ratio:16/9;
    background-image:url('../images/hero.jpg');
    background-size:cover;
    background-position:center top;
    background-repeat:no-repeat;
    z-index:1;
    background-color:#121212;
  }
  .collection-hero-overlay::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(18,18,18,0) 60%, rgba(18,18,18,0.7) 100%);
    pointer-events:none;
  }
  .collection-hero-content{
    position:relative !important;
    padding:32px 24px 24px !important;
    background-color:#121212;
    z-index:2;
  }
  .collection-hero-content.wrap{
    padding-left:24px;
    padding-right:24px;
    margin-left:0;
    margin-right:auto;
    max-width:100%;
  }
  .collection-hero-kicker{font-size:11px;letter-spacing:1.8px}
  .collection-hero h1{font-size:clamp(1.6rem,9vw,34px);margin-bottom:6px}
  .collection-hero-tagline{font-size:17px;margin-bottom:10px}
  .collection-hero-verse{margin-bottom:14px;font-size:14px}
  .collection-hero .card-actions{gap:8px;flex-direction:row;flex-wrap:wrap}
  .collection-hero .card-actions .btn{padding:8px 11px;font-size:13px}
  .collection-page{padding-top:28px}
  .collection-page.wrap{padding-left:16px;padding-right:16px}
  .collection-page .product-grid{grid-template-columns:1fr}
  .across-america-hero{padding-top:24px}
  .across-america-banner img{height:auto}
  .state-grid{grid-template-columns:1fr}
  .state-card-meta{flex-direction:column;align-items:flex-start}
  .state-card-status{align-self:flex-start}
  .honor-spotlight{padding:22px}
  .honor-content .tagline{font-size:16px}
  .women-series{padding:20px}
  .why-mountain-grown{padding:72px 20px}
  .why-mountain-grown h2{margin-bottom:40px}
  .maker-profile-page{padding-top:28px}
  .maker-profile-page h1{font-size:clamp(1.7rem,8vw,36px)}
  .maker-portrait img{height:min(76vh,680px)}
  .maker-bio p{font-size:15px}
  .maker-quote p{font-size:17px}
  .story-collage-teaser{padding:64px 20px}
  .story-collage-copy p{font-size:15px}
  .story-collage-preview img{height:260px}
  .story-collage{margin-top:30px;padding:18px}
  .story-collage-head p{font-size:15px}
  .story-collage-grid{grid-template-columns:1fr}
  .story-collage-card img{height:300px}
  .features-grid{gap:20px}
  .features-grid li{padding:24px}
  .meet-maker{padding:72px 20px}
  .maker-content p{margin-bottom:20px}
  .nav-toggle{display:inline-block}
  .main-nav{display:none}
  .main-nav[aria-hidden="false"]{display:block}
  .main-nav ul{flex-direction:column}
  .product-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .thank-you-actions .card-actions{flex-direction:column}
  .thank-you-actions .btn{width:100%;text-align:center}
  .video-placeholder{padding:24px 12px;min-height:240px}
  .video-play-btn{font-size:14px;padding:12px 16px}
}

/* Thank You Page */
.thank-you-video{margin:28px 0}
.video-placeholder{background:linear-gradient(135deg,rgba(139,90,43,0.08),rgba(35,78,43,0.04));border:2px solid rgba(139,90,43,0.12);border-radius:12px;padding:40px 20px;display:flex;align-items:center;justify-content:center;min-height:300px}
.video-play-btn{background:var(--leather-brown);color:var(--warm-white);border:none;border-radius:12px;padding:16px 24px;font-size:16px;cursor:pointer;display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px rgba(139,90,43,0.2);transition:all var(--transition);font-weight:600}
.video-play-btn:hover{transform:scale(1.04);box-shadow:0 8px 24px rgba(139,90,43,0.28)}
.video-play-btn:focus{outline:4px solid rgba(139,90,43,0.28);outline-offset:3px}
.play-icon{font-size:20px}
.play-text{display:inline}
.video-note{color:var(--muted);font-size:14px;text-align:center;margin-top:12px}

.personal-message{background:var(--warm-white);border-left:4px solid var(--copper);border-radius:8px;padding:24px;margin:28px 0;box-shadow:0 4px 12px rgba(0,0,0,0.04)}
.personal-message h2{margin-top:0;color:var(--leather-brown)}
.personal-message p{line-height:1.6;margin:8px 0}
.personal-message em{font-style:italic;color:var(--charcoal)}
.personal-message strong{color:var(--leather-brown)}

.whats-next{margin:28px 0}
.whats-next h2{color:var(--leather-brown)}
.next-steps{list-style:none;padding:0;margin:18px 0}
.next-steps li{background:linear-gradient(135deg,rgba(35,78,43,0.04),rgba(139,90,43,0.04));border:1px solid rgba(35,78,43,0.08);border-radius:8px;padding:18px;margin:12px 0;transition:box-shadow var(--transition)}
.next-steps li:hover{box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.next-steps strong{color:var(--leather-brown);display:block;margin-bottom:6px}
.next-steps p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}

.thank-you-actions{margin:32px 0;text-align:center}
.thank-you-actions .card-actions{justify-content:center;flex-wrap:wrap;gap:12px}

/* small utilities */
.muted{color:var(--muted)}

/* Focus styles */
a:focus,button:focus,input:focus{outline:3px solid rgba(180,120,60,0.24);outline-offset:3px}

/* Stronger focus for keyboard users on primary CTAs */
.btn.primary:focus{outline:4px solid rgba(139,90,43,0.28);outline-offset:3px}

/* Ensure primary button text contrast */
.btn.primary{color:var(--warm-white);background-color:var(--leather-brown)}

/* Contact Form Styling */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 600px;
  margin: 24px 0;
}
.contact-form label {
  font-weight: bold;
  font-size: 14px;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background: var(--warm-white);
  color: var(--matte-black);
}
@media (prefers-color-scheme: dark) {
  .contact-form input,
  .contact-form textarea {
    border: 1px solid #444;
    background: #111;
    color: #f6f2ec;
  }
}
.contact-form button {
  align-self: flex-start;
  margin-top: 12px;
}

/* Smooth scroll for anchored links */
html.js{scroll-behavior:smooth}
