@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  --coal:#171816;--coal2:#23231f;--cream:#f3eddf;--paper:#fbf8f1;
  --gold:#c9a064;--gold2:#a87c3f;--brown:#5a402d;--green:#4d5b42;
  --ink:#24211c;--muted:#6c675e;--line:#d8cdbb;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.topbar{display:flex;justify-content:space-between;gap:20px;padding:8px max(4vw,20px);background:#0f100f;color:#d7c7ab;font-size:12px}
.site-header{position:sticky;top:0;z-index:30;height:78px;padding:0 max(4vw,20px);background:rgba(24,24,21,.96);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}
.logo{color:var(--cream);display:grid;line-height:1}
.logo-main{font-family:"Libre Baskerville",serif;font-weight:700;font-size:20px;letter-spacing:.08em}
.logo-sub{font-size:9px;letter-spacing:.25em;color:var(--gold);margin-top:8px}
.nav{display:flex;align-items:center;gap:22px;color:#efe6d7;font-size:13px;font-weight:600}
.nav a:hover{color:var(--gold)}
.nav-cta{border:1px solid var(--gold);padding:9px 13px}
.menu-toggle{position:absolute;opacity:0;pointer-events:none}
.menu-button{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.03)}
.menu-button span{display:block;width:21px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.hero{min-height:670px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,15,.92) 0%,rgba(18,18,15,.70) 43%,rgba(18,18,15,.20) 76%,rgba(18,18,15,.1) 100%)}
.hero-content{position:relative;width:min(1180px,92%);margin:auto;color:#fff;max-width:1180px}
.hero-content>*{max-width:690px}
.kicker{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold);margin:0 0 15px;text-transform:uppercase}
.hero h1,.section h2{font-family:"Libre Baskerville",serif;line-height:1.08}
.hero h1{font-size:clamp(46px,6vw,79px);margin:0 0 20px;letter-spacing:-.03em}
.hero-copy{font-size:19px;color:#eee6d9;margin-bottom:30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 19px;border:1px solid transparent;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.button.gold{background:var(--gold);color:#1d1913}
.button.gold:hover{background:#dcb67d}
.button.outline{border-color:#d9c9b2;color:#fff;background:rgba(0,0,0,.12)}
.button.dark-button{background:var(--coal);color:#fff}
.feature-strip{background:var(--cream);display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(4vw,20px);border-bottom:1px solid var(--line)}
.feature-strip div{padding:27px 24px;text-align:center;border-right:1px solid var(--line)}
.feature-strip div:last-child{border-right:0}
.feature-strip strong,.feature-strip span{display:block}
.feature-strip strong{font-size:12px;letter-spacing:.08em}
.feature-strip span{font-size:12px;color:var(--muted);margin-top:5px}
.section{padding:95px max(4vw,20px)}
.section-heading{max-width:740px;margin-bottom:40px}
.section-heading.centered{text-align:center;margin:0 auto 45px}
.section h2{font-size:clamp(35px,4vw,54px);margin:0 0 15px;letter-spacing:-.025em}
.section-heading p:not(.kicker){color:var(--muted);font-size:17px}
.dark-kicker{color:var(--gold2)}
.events{background:#fff}
.event-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.event-card{background:var(--paper);border:1px solid #e2d9c9}
.event-card img,.event-photo{height:245px;width:100%;object-fit:cover;background-size:cover;background-position:center}
.featured-event .event-photo{height:310px}
.rodeo-photo{background:linear-gradient(145deg,#3f281c,#9b5f35 45%,#1b1a18);position:relative}
.rodeo-photo:after{content:"PRO RODEO • SEPT 25–26";position:absolute;left:22px;bottom:22px;color:#fff;font-family:"Libre Baskerville",serif;font-size:25px;max-width:260px;line-height:1.15}
.event-body{padding:24px}
.event-badge{font-size:10px;letter-spacing:.13em;font-weight:700;background:var(--gold);padding:5px 8px}
.event-badge.past{background:#ded5c8}
.event-date{font-size:11px;color:var(--gold2);font-weight:700;letter-spacing:.09em;margin-top:18px}
.event-body h3{font-family:"Libre Baskerville",serif;font-size:23px;margin:8px 0}
.event-body p{color:var(--muted)}
.text-link{font-weight:700;color:#805d31;font-size:13px}
.ticket-banner{margin-top:28px;background:var(--coal);color:#fff;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.ticket-banner h3{font-family:"Libre Baskerville",serif;font-size:28px;margin:4px 0}
.ticket-banner p{margin:0;color:#c8c1b6}
.small-label{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.15em}
.image-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--coal2);color:#fff;align-items:center}
.split-images{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.split-images img{width:100%;height:270px;object-fit:cover}
.split-images .img-tall{grid-row:span 2;height:552px}
.split-copy>p:not(.kicker){color:#d7d0c6;font-size:17px}
.check-list{display:grid;gap:9px;margin:26px 0;color:#ede4d6}
.info-panel{border-left:3px solid var(--gold);padding:13px 0 13px 18px;margin:25px 0}
.info-panel p{color:#c7bfb4;font-size:14px;margin-bottom:0}
.sponsors{background:var(--cream)}
.sponsor-showcase{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 18px 55px rgba(66,48,28,.1)}
.sponsor-showcase>img{height:100%;min-height:450px;object-fit:cover}
.sponsor-copy{padding:42px}
.sponsor-copy h3{font-family:"Libre Baskerville",serif;font-size:30px;margin:0}
.sponsor-copy p{color:var(--muted)}
.tier-grid{display:grid;gap:10px;margin:28px 0}
.tier-grid div{padding:13px 15px;background:var(--paper);display:flex;justify-content:space-between;gap:15px}
.tier-grid span{color:var(--muted);font-size:12px}
.volunteers{background:#fff}
.volunteer-card{max-width:1120px;margin:auto;padding:45px;background:#3e4a38;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px}
.volunteer-card p:not(.kicker){color:#dfe4d9;max-width:720px}
.gallery-section{background:#151614;color:#fff}
.gallery-section .section-heading p:not(.kicker){color:#c7c1b7}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;min-height:290px}
.gallery-grid figure.wide{grid-column:span 2}
.gallery-grid img{width:100%;height:100%;min-height:290px;object-fit:cover;transition:transform .25s}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:12px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:var(--paper)}
.about img{width:100%;height:480px;object-fit:cover}
.about-copy p:not(.kicker){color:var(--muted);font-size:17px}
.reviews{background:#fff}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px;margin:auto}
blockquote{margin:0;background:var(--paper);padding:28px;border-top:3px solid var(--gold);font-family:"Libre Baskerville",serif}
blockquote cite{display:block;font-family:"DM Sans",sans-serif;font-size:11px;color:var(--muted);margin-top:18px}
.contact{background:var(--coal);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact>div>p:not(.kicker){color:#c9c3b8}
.contact-details{display:grid;gap:8px;margin-top:26px;color:#e9dfcf}
.contact-form{display:grid;gap:14px;background:#242521;padding:28px}
.contact-form label{font-size:12px;color:#d5ccbd;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #4a4a43;background:#151614;color:#fff;font:inherit}
.form-note{color:#aaa396}
.legal-strip{background:#0d0e0c;color:#a9a397;display:flex;gap:20px;justify-content:center;padding:15px;font-size:11px}
footer{background:#090a09;color:#cfc7b8;padding:38px max(4vw,20px);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;align-items:end;font-size:12px}
.footer-brand{display:grid}
.footer-brand strong{font-family:"Libre Baskerville",serif;color:#fff;font-size:18px}
.footer-brand span{color:var(--gold);margin-top:5px}

@media(max-width:900px){
  .site-header{position:sticky}
  .menu-button{display:flex}
  .nav{
    display:flex;
    position:absolute;
    top:78px;
    left:0;
    right:0;
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0 22px;
    background:#181815;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:max-height .25s ease,opacity .2s ease,padding .25s ease;
  }
  .nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.07);width:100%}
  .nav a:last-child{border-bottom:0}
  .nav-cta{border:0;padding:14px 4px}
  .menu-toggle:checked ~ .nav{max-height:620px;opacity:1;padding:10px 22px 18px}
  .menu-toggle:checked + .menu-button span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle:checked + .menu-button span:nth-child(2){opacity:0}
  .menu-toggle:checked + .menu-button span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .event-grid,.image-split,.sponsor-showcase,.about,.contact{grid-template-columns:1fr}
  .feature-strip{grid-template-columns:1fr 1fr}
  .review-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-grid figure.wide{grid-column:span 1}
  .volunteer-card{align-items:flex-start;flex-direction:column}
  footer{grid-template-columns:1fr}
}
@media(max-width:620px){
  .topbar{display:none}
  .site-header{height:70px}
  .hero{min-height:620px}
  .hero-shade{background:linear-gradient(rgba(15,15,13,.65),rgba(15,15,13,.84))}
  .hero-content{text-align:left}
  .hero h1{font-size:45px}
  .feature-strip{grid-template-columns:1fr}
  .feature-strip div{border-right:0;border-bottom:1px solid var(--line)}
  .section{padding:70px 20px}
  .split-images{grid-template-columns:1fr}
  .split-images .img-tall{height:320px;grid-row:auto}
  .split-images img{height:240px}
  .gallery-grid{grid-template-columns:1fr}
  .ticket-banner{align-items:flex-start;flex-direction:column}
}


.farm-map-section{background:#ece4d5}
.farm-map-card{max-width:980px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 55px rgba(66,48,28,.10)}
.farm-map-card>img{width:100%;max-height:980px;object-fit:cover;object-position:center}
.farm-map-info{padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.farm-map-info h3{font-family:"Libre Baskerville",serif;font-size:25px;margin:5px 0 8px}
.farm-map-info p{color:var(--muted);max-width:700px;margin:0}
@media(max-width:700px){
  .farm-map-info{align-items:flex-start;flex-direction:column}
  .farm-map-card>img{max-height:none}
}


/* Final polish pass */
body{overflow-x:hidden}
.site-header{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.nav a{transition:color .18s,background .18s}
.nav-cta{border-radius:6px}
.hero-content{padding-top:24px;padding-bottom:24px}
.hero-content .kicker{display:inline-block;padding:7px 10px;background:rgba(14,14,12,.38);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}
.hero-actions .button{min-width:175px}
.button{border-radius:6px;transition:transform .16s,background .16s,border-color .16s}
.button:hover{transform:translateY(-1px)}
.event-card,.farm-map-card,.sponsor-showcase{border-radius:10px;overflow:hidden}
.event-card{transition:transform .18s,box-shadow .18s}
.event-card:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(69,53,31,.10)}
.section-heading h2{max-width:900px}
.gallery-grid figure{border-radius:8px}
.contact-form{border:1px solid rgba(255,255,255,.08);border-radius:10px}
.contact-form input,.contact-form select,.contact-form textarea{border-radius:5px}
.farm-map-card>img{background:#d9cfbd}
@media(max-width:900px){
  .topbar{font-size:11px}
  .hero{min-height:590px}
  .hero-image{object-position:56% center}
  .feature-strip div{padding:22px 14px}
  .event-grid{gap:16px}
}
@media(max-width:620px){
  .site-header{padding-left:16px;padding-right:16px}
  .logo-main{font-size:17px}
  .logo-sub{font-size:8px;letter-spacing:.18em}
  .nav{top:70px}
  .menu-toggle:checked ~ .nav{max-height:640px}
  .hero{min-height:560px}
  .hero-content{width:calc(100% - 32px)}
  .hero h1{font-size:42px;line-height:1.02}
  .hero-copy{font-size:16px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .button{width:100%}
  .section{padding:62px 18px}
  .section h2{font-size:36px}
  .event-card img,.event-photo,.featured-event .event-photo{height:230px}
  .ticket-banner,.volunteer-card,.sponsor-copy,.contact-form{padding:24px}
  .gallery-grid figure,.gallery-grid img{min-height:240px}
  .about img{height:330px}
  .farm-map-info{padding:22px}
  .legal-strip{flex-wrap:wrap}
}


/* Homepage simplification + stronger visual hierarchy */
.hero-home{min-height:690px}
.hero-home .hero-image{object-position:center center;filter:saturate(1.04) contrast(1.02)}
.hero-home .hero-shade{
  background:linear-gradient(90deg,rgba(10,10,9,.90) 0%,rgba(10,10,9,.72) 42%,rgba(10,10,9,.32) 68%,rgba(10,10,9,.10) 100%)
}
.hero-home .hero-content{max-width:1180px}
.hero-home .hero-content>*{max-width:660px}
.hero-home h1{font-size:clamp(48px,6vw,82px)}
.quick-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--cream);
  border-bottom:1px solid var(--line);
  padding:0 max(4vw,20px)
}
.quick-links a{padding:24px 22px;border-right:1px solid var(--line);transition:background .18s}
.quick-links a:first-child{padding-left:0}
.quick-links a:last-child{border-right:0}
.quick-links a:hover{background:#eee3cf}
.quick-links strong,.quick-links span{display:block}
.quick-links strong{font-size:13px}
.quick-links span{font-size:12px;color:var(--muted);margin-top:4px}
.experience-band{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:stretch;
  background:#0f100f;
  color:#fff;
}
.experience-copy{padding:72px max(4vw,48px)}
.experience-copy h2{font-family:"Libre Baskerville",serif;font-size:clamp(36px,4vw,56px);line-height:1.08;margin:0 0 18px}
.experience-copy>p:not(.kicker){color:#d5cec2;font-size:17px;max-width:640px}
.experience-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.experience-points span{border:1px solid rgba(255,255,255,.16);padding:8px 10px;font-size:11px;color:#e9decf}
.experience-band>img{width:100%;height:100%;min-height:420px;object-fit:cover}
@media(max-width:900px){
  .quick-links{grid-template-columns:1fr 1fr}
  .quick-links a{border-bottom:1px solid var(--line)}
  .quick-links a:nth-child(2){border-right:0}
  .experience-band{grid-template-columns:1fr}
  .experience-band>img{min-height:300px}
}
@media(max-width:620px){
  .hero-home{min-height:610px}
  .hero-home .hero-image{object-position:55% center}
  .hero-home .hero-shade{background:linear-gradient(rgba(7,7,6,.42),rgba(7,7,6,.88))}
  .hero-home h1{font-size:43px}
  .quick-links{grid-template-columns:1fr;padding:0 18px}
  .quick-links a,.quick-links a:first-child{padding:18px 0;border-right:0}
  .experience-copy{padding:55px 20px}
  .experience-band>img{min-height:250px}
}


/* Live application forms */
.application-form{margin-top:28px;padding:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:10px}
.sponsors .application-form{background:var(--paper);border-color:var(--line)}
.volunteer-form{min-width:min(560px,100%)}
.form-grid{display:grid;gap:12px}
.form-grid.two{grid-template-columns:1fr 1fr}
.application-form label,.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:12px}
.application-form input,.application-form textarea,.application-form select{
  display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #625c50;border-radius:5px;background:#151614;color:#fff;font:inherit
}
.sponsors .application-form input,.sponsors .application-form textarea,.sponsors .application-form select{
  background:#fff;color:var(--ink);border-color:#cfc5b5
}
.form-status{font-size:13px;margin:12px 0 0}
.form-status.success{color:#b7dfb1}
.sponsors .form-status.success{color:#3e713b}
.form-status.error{color:#f1a6a6}
button[disabled]{opacity:.65;cursor:not-allowed}
@media(max-width:700px){
  .form-grid.two{grid-template-columns:1fr}
  .application-form{padding:18px}
}
