:root{--green:#123f2e;--deep:#092a20;--cream:#f5f1e7;--gold:#d8c5a1;--ink:#20382e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.topbar{height:92px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px}.brand{display:flex;flex-direction:column;color:var(--green);line-height:1}.brand span{font:500 25px 'Cinzel',serif;letter-spacing:-1px}.brand small{font:17px 'Bebas Neue',sans-serif;letter-spacing:4px;margin-top:4px}.topbar nav{display:flex;gap:35px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.topbar nav a:hover{color:#668777}.nav-action{background:var(--green);color:white;padding:15px 20px;font:16px 'Bebas Neue';letter-spacing:1px;white-space:nowrap}.nav-action span,.button span{margin-left:16px}.hero{min-height:660px;height:min(79vh,850px);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/hero.webp') center 55%/cover no-repeat}.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,22,.84),rgba(7,32,24,.58) 43%,rgba(6,28,22,.02) 85%),linear-gradient(0deg,rgba(5,25,20,.48),transparent 30%)}.hero-inner{position:relative;width:min(1200px,90%);margin:auto;padding-bottom:30px}.eyebrow,.kicker{font:16px 'Bebas Neue',sans-serif;letter-spacing:3px}.eyebrow{display:flex;align-items:center;gap:12px;color:#e6d7b6}.line{width:25px;height:1px;background:#e6d7b6}.hero h1{font:500 clamp(54px,7vw,112px)/1.05 'Cinzel',serif;letter-spacing:-3px;margin:25px 0}.hero h1 em{font-style:normal;color:#e5d5b3}.hero-inner>p{font-size:18px;line-height:1.7;max-width:480px;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:17px 24px;font:19px 'Bebas Neue';letter-spacing:1.5px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button.light{background:var(--cream);color:var(--green)}.button.dark{background:var(--green);color:white;white-space:nowrap}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font:13px 'Bebas Neue';letter-spacing:2px;color:#e8e1d0}.status{padding:19px 5%;background:var(--deep);color:#f6f0e4;display:flex;align-items:center;justify-content:center;gap:16px;font-size:13px;flex-wrap:wrap;text-align:center}.status strong{font:19px 'Bebas Neue';letter-spacing:2px}.status-dot{height:9px;width:9px;background:#d9bf85;border-radius:50%}.section{padding:110px max(5%,calc((100% - 1300px)/2))}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:8%;align-items:center}.kicker{color:#947b50;margin:0 0 20px}h2{font:500 clamp(40px,4.5vw,72px)/1.15 'Cinzel',serif;letter-spacing:-2px;margin:0 0 25px;color:var(--green)}h2 i{font-style:normal;color:#a58c61}.intro-copy>p:not(.kicker){font-size:16px;line-height:1.85;max-width:620px;color:#53665b}.intro-image{position:relative}.intro-image img{height:580px;object-position:center 54%}.image-label{position:absolute;bottom:0;right:0;background:var(--deep);color:white;padding:17px 20px;font:15px 'Bebas Neue';letter-spacing:1.5px}.stats{display:flex;gap:40px;margin-top:35px}.stats div{display:flex;flex-direction:column}.stats b{font:52px 'Cinzel';color:var(--green)}.stats span{font:14px 'Bebas Neue';letter-spacing:1.4px}.quote{background:var(--green);color:var(--cream);padding:45px 5%;text-align:center}.quote p{font:clamp(22px,3vw,43px) 'Cinzel';margin:0}.quote span{color:var(--gold)}.visit{background:#ebe7dc}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px}.section-head>p{max-width:410px;line-height:1.8;color:#59685d}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.rate{padding:35px 40px;background:#f8f6f0;position:relative;min-height:225px}.rate.featured{background:var(--green);color:white}.rate-icon{font:16px 'Bebas Neue';letter-spacing:2px}.price{font:68px 'Cinzel';margin:15px 0}.price span{font:16px 'Bebas Neue';letter-spacing:1px}.rate p{font-size:14px;line-height:1.7;margin:0;max-width:370px}.rate-flag{position:absolute;right:25px;top:25px;background:#e6d5b5;color:var(--green);padding:8px 12px;font:13px 'Bebas Neue';letter-spacing:1px}.booking{border-top:1px solid #c8c7b9;margin-top:42px;padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:35px}.booking h3{font:26px 'Bebas Neue';letter-spacing:1px;margin:0}.booking p{max-width:700px;line-height:1.8;color:#526459;font-size:14px}.booking small{color:#88734f}.gallery{padding:105px 5%;background:#e0e6dc}.gallery-title{text-align:center}.gallery-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;max-width:1400px;margin:35px auto 0}.gallery-grid img{height:460px}.gallery-grid img:nth-child(2){object-position:center}.updates{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.update-card{border-left:3px solid #b89c70;padding:12px 0 12px 30px}.update-label{font:14px 'Bebas Neue';letter-spacing:2px;color:#927c53}.update-card h3{font:31px 'Cinzel';color:var(--green);margin:18px 0}.update-card p{line-height:1.8;color:#526459}.update-card .update-note{font-size:13px;color:#8b7d65}.location{background:var(--deep);color:white;padding:90px 8%;display:flex;align-items:center;justify-content:space-between;gap:40px}.location h2{color:#fff}.location h2 i{color:var(--gold)}.location p:not(.kicker){line-height:1.8}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:7px;margin-top:15px;font:17px 'Bebas Neue';letter-spacing:1.5px}.location-art{border:1px solid #64786d;padding:50px 70px;text-align:center;display:flex;flex-direction:column;gap:6px}.location-art span{font:40px 'Cinzel';white-space:nowrap}.location-art small{font:16px 'Bebas Neue';letter-spacing:4px;color:var(--gold)}footer{background:#08241c;color:#d6e0d8;text-align:center;padding:55px 5% 22px}.footer-brand{font:29px 'Cinzel'}.footer-brand span{display:block;font:18px 'Bebas Neue';letter-spacing:4px;margin-top:7px}footer>p{font-size:13px;color:#a5b6a9}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #39564a;margin-top:45px;padding-top:22px;font:13px 'Bebas Neue';letter-spacing:1.3px;color:#a5b6a9}@media(max-width:900px){.topbar nav{display:none}.topbar{height:76px}.hero{min-height:630px}.hero h1{font-size:clamp(48px,8vw,76px)}.intro,.updates{grid-template-columns:1fr}.intro-image img{height:440px}.section-head{display:block}.gallery-grid img{height:320px}.location-art{padding:30px}}@media(max-width:600px){.topbar{padding:0 5%}.brand span{font-size:19px}.brand small{font-size:14px;letter-spacing:2.6px}.nav-action{padding:12px;font-size:14px}.hero{height:680px;min-height:0;align-items:flex-start}.hero-photo{background-position:61% center}.hero-gradient{background:linear-gradient(180deg,rgba(5,28,22,.82) 0%,rgba(5,28,22,.65) 48%,rgba(5,28,22,.06) 95%)}.hero-inner{padding-top:75px}.hero h1{font-size:clamp(39px,9vw,60px);letter-spacing:-1.5px}.hero-inner>p{font-size:16px}.hero-bottom{font-size:11px}.hero-bottom span:last-child{display:none}.section{padding:70px 6%}.intro{gap:35px}h2{font-size:clamp(34px,9vw,49px);letter-spacing:-1px}.stats{gap:22px}.stats b{font-size:38px}.stats span{font-size:11px}.intro-image img{height:420px}.rate-grid{grid-template-columns:1fr}.rate{padding:28px}.price{font-size:55px}.booking{display:block}.booking .button{margin-top:25px}.gallery{padding:70px 6%}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid img{height:250px}.gallery-grid img:nth-child(2){grid-column:2;grid-row:1}.gallery-grid img:nth-child(3){grid-column:1 / -1;height:220px}.location{display:block;padding:65px 6%}.location-art{margin-top:35px}.location-art span{font-size:28px}.footer-bottom{gap:12px;flex-wrap:wrap;justify-content:center}}

/* V3: preserve the original hero, lift and constrain copy to protect both subjects. */
@media (min-width:901px) {
 .hero {align-items:flex-start;}
 .hero-inner {margin:0 auto; padding-top:44px; padding-bottom:0;}
 .hero h1 {font-size:clamp(48px,5.0vw,78px); line-height:1.04; max-width:800px; margin:16px 0;}
 .hero-inner>p {font-size:16px;line-height:1.5;max-width:465px;margin-bottom:20px;}
 .hero-gradient {background:linear-gradient(180deg,rgba(5,28,22,.70) 0%,rgba(5,28,22,.30) 40%,rgba(5,28,22,.02) 75%),linear-gradient(90deg,rgba(5,28,22,.38),transparent 62%);}
}
@media (min-width:601px) and (max-width:900px) {
 .hero {align-items:flex-start;}
 .hero-inner {margin:0 auto;padding-top:55px;}
 .hero h1 {font-size:clamp(42px,5.7vw,58px);margin:16px 0;}
 .hero-inner>p {font-size:16px;max-width:440px;}
}
@media (max-width:600px) {
 .hero-inner {padding-top:36px;}
 .hero h1 {font-size:clamp(36px,8vw,48px);margin:14px 0;}
 .hero-inner>p {font-size:15px;line-height:1.45;max-width:310px;margin-bottom:18px;}
 .hero-gradient {background:linear-gradient(180deg,rgba(5,28,22,.82) 0%,rgba(5,28,22,.53) 37%,rgba(5,28,22,.02) 73%);}
}

/* V4: keep the original cream navigation visible as visitors scroll. */
.topbar {position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(9,42,32,.12);}
html {scroll-padding-top:100px;}
@media(max-width:900px){html{scroll-padding-top:84px;}}

/* V5 refinements */
.topbar{height:80px;padding-left:5%;padding-right:5%}.topbar nav{gap:30px}.nav-action{padding:12px 17px}html{scroll-padding-top:88px}
.sponsors{background:#f5f1e7}.sponsors-intro{text-align:center;max-width:880px;margin:0 auto 45px}.sponsors-intro h2{font-size:clamp(32px,4vw,59px)}.sponsors-intro>p:not(.kicker){line-height:1.8;color:#526459;font-size:16px}.sponsor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.sponsor-card{min-height:168px;background:#fff;border:1px solid #e2dfd5;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;transition:border-color .2s}.sponsor-card .hole-number{font:16px 'Bebas Neue';letter-spacing:1.5px;color:#927c53}.sponsor-card .placeholder{color:#809087;font-size:13px}.sponsor-card img{max-height:90px;width:100%;object-fit:contain}.sponsor-card a{display:flex;flex:1;align-items:center;justify-content:center;width:100%}.sponsor-card:has(a):hover{border-color:#123f2e}
@media(max-width:900px){.topbar{height:70px}html{scroll-padding-top:78px}.sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sponsor-card{min-height:140px;padding:12px}.topbar nav{display:none}.nav-action{padding:10px 12px}}

/* Version 6: balanced course statistics and a more compact footer */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:480px}
.stats div{align-items:center;text-align:center;min-width:0}
.stats b{display:block;line-height:1.2}
.stats span{display:block;margin-top:7px;line-height:1.2}
footer{padding:32px 5% 16px}
.footer-brand{font-size:24px}
.footer-brand span{font-size:16px;margin-top:3px}
footer>p{margin:10px 0 0}
.footer-bottom{margin-top:24px;padding-top:14px}
@media(max-width:600px){.stats{gap:6px}.stats b{font-size:38px}.stats span{font-size:11px;letter-spacing:.7px}footer{padding:28px 5% 14px}.footer-bottom{margin-top:20px}}

/* Version 7: more compact closing location section and Kansas state silhouette */
.location{padding:48px 8%;gap:48px;min-height:0}
.location .kicker{margin-bottom:11px}
.location h2{font-size:clamp(37px,4vw,61px);margin-bottom:16px;line-height:1.13}
.location p:not(.kicker){margin:0;line-height:1.6;font-size:14px}
.location .text-link{margin-top:19px}
.location-art{border:0;padding:0;display:block;width:min(40%,410px);flex:0 0 auto}
.location-art svg{width:100%;height:auto;display:block;overflow:visible}
.kansas-outline{fill:none;stroke:#d8c5a1;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.desoto-dot{fill:#d8c5a1;stroke:#092a20;stroke-width:2}
.desoto-guide{stroke:#d8c5a1;stroke-width:1.5}
.desoto-text{fill:#f5f1e7;font:21px 'Bebas Neue',sans-serif;letter-spacing:2px}
.kansas-text{fill:#d8c5a1;font:30px 'Cinzel',serif;letter-spacing:4px}
@media(max-width:900px){.location{padding:48px 6%}.location-art{width:min(42%,360px)}}
@media(max-width:600px){.location{padding:48px 6%}.location-art{width:min(100%,360px);margin:24px auto 0}.location h2{font-size:clamp(34px,9vw,49px)}}

/* V8: event, personal story and responsive navigation */
.event-section{background:#ece8de;padding-top:85px;padding-bottom:85px}
.event-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:7%;align-items:center;max-width:1240px;margin:auto}
.event-art{display:flex;align-items:center;justify-content:center;background:#f8f5ed;padding:25px;min-height:360px}
.event-art img{width:min(100%,340px);height:auto;object-fit:contain}
.event-copy h2{font-size:clamp(32px,3.8vw,57px)}
.event-copy>p:not(.kicker){line-height:1.8;color:#526459;max-width:650px}
.event-est{font:18px 'Bebas Neue',sans-serif;letter-spacing:2px;color:#947b50!important}
.event-story{margin-top:26px;border-top:1px solid #c9c6ba;border-bottom:1px solid #c9c6ba}
.event-story summary{list-style:none;cursor:pointer;padding:21px 2px;font:18px 'Bebas Neue',sans-serif;letter-spacing:2px;color:var(--green);display:flex;justify-content:space-between;align-items:center}
.event-story summary::-webkit-details-marker{display:none}
.event-story summary span{font-size:27px;line-height:1}
.event-story[open] summary span{transform:rotate(45deg)}
.story-content{max-width:720px;padding:4px 0 26px}
.story-content h3{font:30px 'Cinzel',serif;color:var(--green);margin:14px 0 5px}
.story-subtitle{font-size:13px!important;color:#947b50!important}
.story-content p{line-height:1.8;color:#445a4d;font-size:15px}
.topbar nav{gap:24px}
.kansas-outline{stroke-linejoin:round}
@media(max-width:1000px){.topbar nav{gap:15px;font-size:11px}.brand span{font-size:21px}.brand small{font-size:15px}}
@media(max-width:900px){.event-layout{grid-template-columns:1fr;gap:35px}.event-art{min-height:0;padding:22px}.event-art img{max-width:300px}.topbar nav{display:flex;gap:12px}.topbar nav a{font-size:10px}}
@media(max-width:720px){.topbar nav{display:none}.event-section{padding-top:65px;padding-bottom:65px}.event-art img{max-width:250px}}

/* V9: updated logo, booking instructions and Know Before You Go */
.event-art{background:transparent;padding:0;min-height:300px}.event-art img{width:min(100%,380px)}
.booking{align-items:flex-start}.booking-steps{color:#526459;font-size:14px;line-height:1.9;padding-left:22px;max-width:700px}.booking-steps li{padding-left:4px}.booking-alert{background:#f2ecdc;border-left:3px solid #aa8a55;padding:13px 17px;max-width:700px!important}.booking-alert strong{color:#173c2e}
.know-before{background:#f5f1e7}.know-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}.know-card{background:#fff;border:1px solid #ded9ca;padding:35px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}.know-icon{font-size:30px;color:#204b38}.know-card h3{font:26px 'Bebas Neue';letter-spacing:1px;color:#204b38;margin:14px 0 4px}.know-card p{font-size:14px;color:#526459;line-height:1.8;max-width:440px}.coming-label{margin-top:auto;font:15px 'Bebas Neue';letter-spacing:1.5px;color:#927c53}.location-art-pending{width:min(36%,380px);text-align:center}.location-wordmark{border:1px solid #6e8b79;padding:32px 18px;display:flex;flex-direction:column;align-items:center;gap:7px}.location-wordmark span{font:32px 'Cinzel';color:#fff}.location-wordmark small{font:15px 'Bebas Neue';letter-spacing:3px;color:#d8c5a1}.state-map-source{display:inline-block;margin-top:13px;font:12px 'Bebas Neue';letter-spacing:1.2px;color:#d8c5a1;text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.know-grid{grid-template-columns:1fr}.know-card{min-height:210px;padding:25px}.location-art-pending{width:100%}}

/* Version 10: user-supplied accurate Kansas outline */
.location-art-verified { border: 0; padding: 0; display: block; text-align: center; width: min(43%, 440px); flex: 0 0 auto; }
.location-art-verified img { display: block; width: 100%; height: auto; }
@media (max-width: 700px) {
  .location-art-verified { width: min(100%, 440px); margin-inline: auto; }
}

/* Version 14: opening status and course designer credit */
#opening-status{scroll-margin-top:90px}
.creator-credit{background:#123f2e;color:#f5f1e7;text-align:center;padding:62px 6% 58px}
.creator-credit .kicker{color:#d8c5a1;margin:0 0 14px}
.creator-credit h2{color:#fff6e3;font-size:clamp(28px,3.2vw,46px);letter-spacing:0;margin:0 0 15px}
.creator-credit>p:last-child{font-size:clamp(14px,1.5vw,17px);line-height:1.7;margin:0;color:#e5e4d8}
@media(max-width:600px){.creator-credit{padding:45px 6%}.creator-credit h2{font-size:30px}}
