
:root{
  --ink:#173d27;
  --green:#075b34;
  --green-dark:#043b22;
  --green-mid:#087044;
  --cream:#f7e7ad;
  --cream2:#fff3c8;
  --gold:#d7a43e;
  --yellow:#ffd35a;
  --brown:#6f4b21;
  --shadow:#173d23;
  --red:#b62922;
}
*{box-sizing:border-box}
html{background:#2d793b}
body{
  margin:0;
  color:var(--ink);
  font-family:Tahoma,Verdana,"MS Sans Serif",Arial,sans-serif;
  font-size:17px;
  line-height:1.48;
  background:#327d3e url("img/grass-texture.webp") center top/1020px auto repeat;
}
a{color:inherit}
img{max-width:100%}
.site-shell{
  width:min(1180px,100%);
  margin:0 auto;
  min-height:100vh;
  background:rgba(20,102,43,.14);
  border-left:4px solid rgba(3,52,28,.78);
  border-right:4px solid rgba(3,52,28,.78);
  box-shadow:0 0 0 2px rgba(213,155,43,.42),0 0 28px rgba(0,0,0,.22);
}
.hero{position:relative;margin:0;background:#0e6ab2;border-bottom:4px solid #032f20;overflow:hidden}
.hero > img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.page-banner{
  position:relative;
  min-height:205px;
  display:flex;
  align-items:flex-end;
  padding:16px 18px;
  background:#0e6ab2;
  border-bottom:4px solid #032f20;
  overflow:hidden;
}
.page-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.page-banner-shade{position:absolute;inset:0;background:linear-gradient(rgba(3,55,30,.02),rgba(3,55,30,.52));z-index:1;pointer-events:none}
.page-banner:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(255,244,181,.18);
}
.page-title{
  position:relative;z-index:2;
  margin:0;
  padding:9px 15px 10px;
  color:#fff4c5;
  background:linear-gradient(#0d6844,#075037);
  border:3px solid #3a2911;
  outline:2px solid #d9ab4e;
  box-shadow:4px 5px 0 rgba(14,45,25,.7),inset 0 2px 0 rgba(255,255,255,.16);
  text-shadow:0 2px 0 #173d27;
  font-size:clamp(27px,4vw,45px);
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.4px;
}


.topnav{
  display:grid;
  grid-template-columns:.78fr .95fr .78fr .74fr .84fr 1.58fr .7fr .8fr;
  gap:3px;padding:6px 8px;
  background:#084d31;
  border-bottom:3px solid #042d1e;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -2px 0 rgba(0,0,0,.35);
}
.topnav a{
  min-height:45px;display:flex;align-items:center;justify-content:center;
  padding:7px 9px;color:#fff3ca;text-decoration:none;font-weight:800;font-size:14px;text-align:center;
  background:linear-gradient(#0d6b48,#075236);border:2px solid #0a2f24;
  box-shadow:inset 0 1px 0 #36a376,1px 2px 0 #052a1d;text-shadow:0 2px 0 #123324;
}
.topnav a:hover,.topnav a:focus-visible{background:#10805a;outline:2px solid #ffe074;outline-offset:1px}
.topnav a.active{color:#12351f;background:linear-gradient(#ffe576,#f1bd3d);border-color:#503f17;box-shadow:inset 0 2px 0 #fff2a2,1px 2px 0 #3e341b;text-shadow:none}
.info-strip{
  margin:12px 18px 0;padding:10px 14px;display:grid;grid-template-columns:1fr .78fr 1.7fr;gap:0;
  background:linear-gradient(#fff0bd,#efd28b);border:3px solid #5a451c;outline:2px solid #d7ad50;
  box-shadow:3px 4px 0 rgba(27,62,30,.65),inset 0 2px 0 rgba(255,255,255,.7);font-size:14px;color:#153b26;
}
.info-strip span{padding:0 12px;text-align:center;border-right:1px solid #72571f}
.info-strip span:last-child{border-right:0}
.main,.content-wrap{padding:16px 18px 12px}
.panel,.course-card,.score-card{
  background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.23),transparent 30%),linear-gradient(#fff0be,#f4dfa0);
  border:3px solid #5e441b;outline:2px solid #d5aa45;
  box-shadow:4px 5px 0 rgba(19,61,31,.70),inset 0 2px 0 rgba(255,255,255,.75);
}
.panel{padding:16px 18px;margin-bottom:16px}
.panel:last-child{margin-bottom:0}
.intro-panel{display:grid;grid-template-columns:1.25fr .9fr;gap:14px;padding:14px}
.intro-copy{padding:7px 10px 8px;font-size:18px}
.intro-copy p{margin:0 0 13px}.intro-copy p:first-child{font-weight:800;font-size:20px;line-height:1.35}.pay-note{font-size:15px}
.btn,.mini-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  padding:10px 17px;background:linear-gradient(#ffe170,#efb83c);border:2px solid #513d16;
  box-shadow:inset 0 2px 0 #fff3a4,3px 3px 0 #72571f;color:#172f1f;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.35px;
}
.btn{margin-top:4px}.btn:hover,.btn:focus-visible,.mini-btn:hover,.mini-btn:focus-visible{transform:translateY(-1px);outline:2px solid #fff5a7}
.feature-photo{margin:0;border:3px solid #194a2d;background:#1a572f;box-shadow:inset 0 0 0 2px #d3aa4b;overflow:hidden}
.feature-photo img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}.caption{padding:8px 10px;background:#0c5735;color:#fff0bd;font-size:13px;font-weight:800}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.course-card{display:block;text-decoration:none;overflow:hidden;transition:transform .08s ease}.course-card:hover{transform:translateY(-2px)}.course-card:focus-within{outline:3px solid #ffe164}
.course-card img{display:block;width:100%;height:150px;object-fit:cover;border-bottom:3px solid #5e441b}.course-card > span{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;font-size:17px}.course-card b{font-size:16px;color:#0c5736}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
h2{margin:0 0 10px;color:#0d5534;font-size:23px;line-height:1.1;text-transform:uppercase;letter-spacing:.3px;text-shadow:0 1px 0 #fff3c2}
h3{margin:0 0 8px;color:#0c5132;font-size:20px}.heading-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;margin-right:6px;border-radius:50%;background:#0a5634;color:#fff1b4;font-size:21px;vertical-align:middle;text-shadow:none}
.hours{width:100%;border-collapse:collapse;font-size:17px}.hours th{text-align:left;padding:3px 10px 3px 4px}.hours td{text-align:right;padding:3px 4px;font-weight:800}.small-rule{margin:10px 0 0;padding-top:9px;border-top:2px solid rgba(87,68,29,.6);font-size:14px;font-weight:700}.find-us p{margin:5px 0}.find-us .address{margin-top:9px}.text-link{display:inline-block;margin-top:7px;font-weight:900;color:#0b5736}
.important-panel{margin-top:16px;padding:13px 18px 16px}.important-panel h2{font-size:20px}.important-grid{display:grid;grid-template-columns:1fr 1fr 1.45fr}.rule-tile{min-height:86px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:12px;padding:6px 18px;border-right:2px solid rgba(87,68,29,.55)}.rule-tile:last-child{border-right:0}.rule-symbol{grid-row:1/3;display:flex;align-items:center;justify-content:center;color:#d5261f;font-size:62px;font-family:Arial,sans-serif;font-weight:700;line-height:1}.rule-tile strong{align-self:end;font-size:17px}.rule-tile small{align-self:start;font-size:12px;margin-top:2px}.family-rule{grid-template-columns:95px 1fr;grid-template-rows:1fr}.family-symbol{display:flex;align-items:center;justify-content:center;color:#0d5635;font-size:33px;font-weight:900;letter-spacing:-9px;overflow:hidden}.family-rule strong{align-self:center}
.footer-zone{padding:10px 16px 12px;background:url("img/grass-texture.webp") center 74%/1020px auto repeat;border-top:2px solid rgba(3,52,28,.24)}.contact-sign{position:relative;width:100%;margin:0 auto;filter:drop-shadow(3px 4px 0 rgba(18,58,31,.72))}.contact-sign img{display:block;width:100%;height:auto}.sign-hit{position:absolute;top:25%;height:45%;display:block}.sign-hit.phone{left:8%;width:28%}.sign-hit.email{left:38%;width:43%}.sign-hit.contact{right:6%;width:15%}.footer-fine{margin:5px 0 0;text-align:center;color:#f7edc4;font-weight:700;font-size:12px;text-shadow:0 2px 0 #134725}
.section-lead{font-size:18px;font-weight:800;max-width:900px}.subtle{font-size:14px;opacity:.9}.notice{background:#fff3c7;border:3px solid #a27d40;box-shadow:inset 0 2px 0 rgba(255,255,255,.7);padding:12px 14px;font-weight:800}.notice + .notice{margin-top:10px}
.course-detail{display:grid;grid-template-columns:minmax(390px,48%) 1fr;gap:20px;align-items:start}.course-art{position:relative;margin:0;background:#0b4d31;border:3px solid #193e2c;box-shadow:inset 0 0 0 2px #d3aa4b,3px 4px 0 rgba(19,61,31,.55);overflow:hidden}.course-art img{display:block;width:100%;height:auto;object-fit:contain}.art-badge{position:absolute;left:9px;top:9px;padding:5px 8px;background:linear-gradient(#ffe170,#efb83c);border:2px solid #513d16;box-shadow:2px 2px 0 rgba(41,54,26,.65);font-size:11px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:#173d27}.course-detail+.course-detail{margin-top:22px;padding-top:22px;border-top:2px dashed #9f804a}.course-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.tag{display:inline-block;padding:5px 8px;background:#0b5c38;color:#fff1bd;border:2px solid #143b29;box-shadow:1px 2px 0 #755a29;font-size:13px;font-weight:900;text-transform:uppercase}
.price-table{width:100%;border-collapse:collapse;min-width:650px;background:#fff7dc}.table-wrap{overflow-x:auto;border:2px solid #7d6034}.price-table th,.price-table td{border:1px solid #a88955;padding:11px 10px;text-align:center}.price-table th{background:#0d5d36;color:#fff7d3;text-shadow:0 1px 0 #173d27}.price-table td:first-child{text-align:left;font-weight:800;background:#f5e7bb}.price-table tbody tr:nth-child(even) td:not(:first-child){background:#fff1c8}.price-note{margin-top:12px;font-size:14px;font-weight:700}.drink-list{margin:0;padding-left:18px}.drink-list li{margin:5px 0}
.group-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px}.group-choice .panel{margin-bottom:0}.big-price{font-size:28px;font-weight:900;color:#0b5736;margin:5px 0 10px}.check-list{padding-left:20px}.check-list li{margin:8px 0}.party-photo{width:100%;max-height:340px;object-fit:cover;border:3px solid #194a2d}
.bio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bio{background:#fff8df;border:2px solid #9a7640;padding:15px;box-shadow:2px 3px 0 #aa874b}.bio-badge{width:54px;height:54px;display:grid;place-items:center;margin-bottom:10px;background:#0b5a36;color:#ffe7a0;border:3px solid #143b29;box-shadow:2px 2px 0 #7b5d2e;font-size:24px;font-weight:900}.bio p{margin-bottom:0}
.guideline-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guideline-card{padding:15px 16px;margin:0}.guideline-card h2{display:flex;align-items:center;gap:9px}.guideline-icon{width:36px;height:36px;display:grid;place-items:center;background:#0b5a36;color:#fff1bd;border:2px solid #143b29;font-size:18px}.guideline-card p:last-child{margin-bottom:0}.guideline-wide{grid-column:1/-1}
.visit-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.visit-grid .panel,.visit-grid .feature-photo{margin-bottom:0}.directions{margin:0;padding-left:20px}.directions li{margin:7px 0}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.fact{padding:12px;background:#fff7dd;border:2px solid #97723f}.fact strong{display:block;color:#0b5634;margin-bottom:3px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.contact-card{padding:18px}.contact-line{display:grid;grid-template-columns:45px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:2px solid rgba(111,75,33,.35)}.contact-line:last-child{border-bottom:0}.contact-icon-box{width:42px;height:42px;display:grid;place-items:center;background:#0b5a36;color:#fff2bd;border:2px solid #143b29;font-size:20px;font-weight:900}.contact-line a{font-weight:900;color:#0b5736;word-break:break-word}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
@media(max-width:900px){
  .site-shell{border-left:0;border-right:0}.topnav{grid-template-columns:repeat(3,1fr)}.info-strip{grid-template-columns:1fr;margin:9px 10px 0;padding:7px 10px}.info-strip span{border-right:0;border-bottom:1px solid rgba(95,74,30,.45);padding:5px}.info-strip span:last-child{border-bottom:0}.main,.content-wrap{padding:12px 10px}.intro-panel{grid-template-columns:1fr}.feature-photo img{min-height:220px}.course-grid{grid-template-columns:repeat(2,1fr)}.two-col,.three-col,.group-choice,.guideline-grid,.visit-grid,.contact-grid{grid-template-columns:1fr}.important-grid{grid-template-columns:1fr}.rule-tile{border-right:0;border-bottom:2px solid rgba(87,68,29,.45)}.rule-tile:last-child{border-bottom:0}.course-detail{grid-template-columns:1fr}.course-art{max-width:720px}.bio-grid{grid-template-columns:1fr}.guideline-wide{grid-column:auto}.fact-grid{grid-template-columns:1fr 1fr}.page-banner{min-height:165px;padding:11px}
}
@media(max-width:560px){
  body{font-size:15px;background-size:760px auto}.hero img{aspect-ratio:1.65/1;object-position:center center}.page-banner{min-height:138px;background-position:center 60%}.page-title{font-size:25px;padding:8px 11px}.topnav{grid-template-columns:repeat(2,1fr);padding:5px;gap:3px}.topnav a{min-height:41px;font-size:13px;padding:5px 4px}.info-strip{font-size:12px}.intro-panel{padding:10px;gap:10px}.intro-copy{padding:4px;font-size:16px}.intro-copy p:first-child{font-size:17px}.feature-photo img{min-height:180px}.course-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.course-card img{height:112px}.course-card > span{font-size:14px;min-height:48px;padding:7px 8px}.panel{padding:13px}.compact-panel{padding:12px}h2{font-size:19px}.hours{font-size:15px}.rule-tile{grid-template-columns:56px 1fr;min-height:70px;padding:5px 8px}.rule-symbol{font-size:48px}.family-rule{grid-template-columns:72px 1fr}.family-symbol{font-size:25px}.footer-zone{padding:7px 4px 10px;overflow:hidden;background-size:760px auto}.contact-sign{width:100%;left:auto;transform:none}.footer-fine{font-size:11px;padding:0 12px}.fact-grid{grid-template-columns:1fr}.big-price{font-size:24px}.price-table{min-width:580px}.contact-line{grid-template-columns:38px 1fr}.contact-icon-box{width:36px;height:36px}
}

.art-wrap{position:relative}.visit-art .art-wrap img{display:block;width:100%;height:auto}.compact-note{padding-top:14px;padding-bottom:14px}.compact-note p{margin:0}


/* V13 real-photo comparison */
.swap-image{position:relative;display:block;width:100%;padding:0;border:0;background:#0b4d31;color:inherit;cursor:pointer;text-align:left}
.swap-image img{display:block;width:100%;height:auto}
.course-art .swap-image img{aspect-ratio:16/10;object-fit:contain;background:#0b4d31}
.swap-label{position:absolute;right:9px;bottom:9px;padding:7px 10px;background:linear-gradient(#ffe170,#efb83c);border:2px solid #513d16;box-shadow:2px 2px 0 rgba(41,54,26,.65);font-size:12px;font-weight:900;letter-spacing:.2px;text-transform:uppercase;color:#173d27}
.swap-image:hover .swap-label,.swap-image:focus-visible .swap-label{background:#ffe77d}
.swap-image:focus-visible{outline:3px solid #ffe164;outline-offset:-3px}
.showing-real .swap-label{background:linear-gradient(#f5efcf,#d7bd79)}
.image-note{margin:8px 0 0;font-size:14px;color:#31533c}
.gallery-intro p{margin-bottom:0}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gallery-card{margin:0;padding:13px}
.gallery-card h2{font-size:19px;margin-bottom:10px}
.gallery-swap{border:3px solid #194a2d;box-shadow:inset 0 0 0 2px #d3aa4b,3px 4px 0 rgba(19,61,31,.45);background:#0b4d31;overflow:hidden}
.gallery-swap .swap-image img{aspect-ratio:16/10;object-fit:contain;background:#0b4d31}
@media(max-width:760px){.gallery-grid{grid-template-columns:1fr}}

/* V16: swaps in large feature images */
.feature-photo .art-wrap,.feature-photo .swap-image{height:100%}
.feature-photo .swap-image img{height:100%;min-height:260px;object-fit:cover}
@media(max-width:560px){.feature-photo .swap-image img{min-height:180px}}


/* V17: switchable site headers and homepage course images */
.hero-toggle,.banner-toggle{position:absolute;right:12px;z-index:5;border:0;background:transparent;padding:0;cursor:pointer}.hero-toggle{bottom:12px}.banner-toggle{top:12px}
.hero-toggle .swap-label,.banner-toggle .swap-label{position:static;display:block}

.banner-swap .page-title{z-index:3}
.home-course-card{position:relative}
.home-course-card .swap-image{height:150px}
.home-course-card .swap-image img{height:150px;object-fit:cover;border-bottom:3px solid #5e441b}
.home-course-card > span{background:transparent}
@media(max-width:560px){
  .hero-toggle,.banner-toggle{right:7px}.hero-toggle{bottom:7px}.banner-toggle{top:7px}
  .hero-real-brand{left:10px;top:10px;max-width:74%;padding:6px 8px}
  .home-course-card .swap-image,.home-course-card .swap-image img{height:112px}
}

/* V18: crop/position alignment only. Real photographs are not regenerated. */
.hero-real-logo{display:none;position:absolute;left:22px;top:18px;z-index:4;width:clamp(86px,16vw,180px);filter:drop-shadow(2px 3px 0 rgba(0,0,0,.35))}
.hero-real-logo img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.hero.showing-real .hero-real-logo{display:block}
.hero.showing-real > img{object-position:center 30%}
.banner-swap.showing-real .page-banner-image{object-position:center center}
.home-feature-swap.showing-real img{object-position:center center}
@media(max-width:560px){.hero-real-logo{left:9px;top:9px;width:92px}}


/* V19.5: slim persistent status ribbon, normal in-page navigation */
.status-ribbon{position:sticky;top:0;z-index:40;min-height:34px;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 12px;background:linear-gradient(#0a5d3b,#07452d);border-bottom:2px solid #032d1f;color:#fff1c0;font-size:13px;font-weight:800;letter-spacing:.1px;text-align:center;text-shadow:0 1px 0 #143324;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.topnav{position:static;top:auto;z-index:auto}
.hero-real-brand{display:none;position:absolute;z-index:4;left:3.4%;top:5.5%;align-items:flex-start;gap:16px;max-width:70%;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.45));pointer-events:none}
.hero.showing-real .hero-real-brand{display:flex}
.hero-real-pixel-logo{width:clamp(92px,17vw,188px)!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;flex:0 0 auto}
.hero-real-copy{display:flex;flex-direction:column;padding-top:12px;color:#f8efbd;text-shadow:3px 3px 0 #113622,1px 1px 0 #113622;line-height:1}
.hero-real-title{font-size:clamp(29px,5vw,65px);letter-spacing:1px}
.hero-real-subtitle{margin-top:6px;color:#7ed02d;font-size:clamp(18px,3.1vw,39px);letter-spacing:.5px}
.hero-real-tagline{align-self:center;margin-top:12px;font-size:clamp(15px,2.3vw,28px);font-weight:900;color:#f8efbd}
@media(max-width:560px){.status-ribbon{min-height:30px;gap:7px;padding:6px 7px;font-size:10.5px}.hero-real-brand{left:2.5%;top:4%;gap:8px;max-width:86%}.hero-real-pixel-logo{width:72px!important}.hero-real-copy{padding-top:6px}.hero-real-title{font-size:24px}.hero-real-subtitle{margin-top:4px;font-size:14px}.hero-real-tagline{margin-top:6px;font-size:11px}}

/* v19.5 logo alignment patch: real-photo hero uses the exact branding pixels from the themed hero. */


/* v19.5 swap-frame patch: keep themed and real images the same displayed aspect ratio.
   The three widescreen course images use the themed image ratio so swapping never moves the page. */
.swap-card[data-art$="undercover-v10.png"] .swap-image,
.swap-card[data-art$="party-v17.png"] .swap-image,
.swap-card[data-art$="footgolf-v10.png"] .swap-image{
  aspect-ratio:1672/941;
  overflow:hidden;
}
.swap-card[data-art$="undercover-v10.png"] .swap-image img,
.swap-card[data-art$="party-v17.png"] .swap-image img,
.swap-card[data-art$="footgolf-v10.png"] .swap-image img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}


/* V20.2 Important Update popup */
.status-ribbon.has-announcement{display:block;padding:0;background:linear-gradient(#0a5d3b,#07452d);border-bottom-color:#032d1f;color:#fff1c0}
.status-ribbon.has-announcement .status-normal-row{min-height:34px;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 12px}
.announcement-alert-row{width:100%;display:flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;background:linear-gradient(#8f2c18,#671d10);border-top:1px solid #b54c2f;color:#fff2bf}
.announcement-ribbon-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;padding:0;cursor:pointer;text-shadow:inherit;min-height:20px}
.announcement-ribbon-button:hover,.announcement-ribbon-button:focus-visible{text-decoration:underline;outline:2px solid #ffe577;outline-offset:2px}
@media(max-width:560px){.status-ribbon.has-announcement .status-normal-row{min-height:30px;gap:7px;padding:6px 7px;font-size:10.5px}.announcement-alert-row{min-height:27px;padding:4px 7px;font-size:10.5px}}
.announcement-dialog{width:min(560px,calc(100% - 28px));max-width:560px;padding:0;border:0;background:transparent;color:#173d27;overflow:visible}
.announcement-dialog::backdrop{background:rgba(3,30,18,.68)}
.announcement-window{background:linear-gradient(#fff0be,#f1d58d);border:4px solid #4b3514;outline:3px solid #d8ab48;box-shadow:8px 9px 0 rgba(8,38,22,.6),inset 0 2px 0 rgba(255,255,255,.75)}
.announcement-titlebar{display:flex;align-items:center;gap:9px;padding:8px 11px;background:linear-gradient(#0e6744,#074b32);border-bottom:3px solid #3d2d13;color:#fff2be;font-size:14px;letter-spacing:.5px;text-shadow:0 2px 0 #173d27}
.announcement-title-icon{display:grid;place-items:center;width:24px;height:24px;border:2px solid #513d16;background:linear-gradient(#ffe170,#efb83c);color:#4b2c0d;font-weight:900;text-shadow:none;box-shadow:1px 1px 0 #72571f}
.announcement-body{padding:19px 21px 20px;text-align:left}
.announcement-meta{display:inline-block;margin-bottom:8px;padding:4px 7px;border:2px solid #7a5b29;background:#fff6d5;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.announcement-body h2{margin:0 0 10px;font-size:27px;line-height:1.1;color:#8b2517;text-transform:none;text-shadow:0 1px 0 #fff3c2}
.announcement-body p{margin:0 0 18px;font-size:18px;line-height:1.45;white-space:pre-line}
.announcement-ok{display:block;min-width:130px;margin-left:auto;padding:10px 18px;background:linear-gradient(#ffe170,#efb83c);border:2px solid #513d16;box-shadow:inset 0 2px 0 #fff3a4,3px 3px 0 #72571f;color:#172f1f;font:inherit;font-weight:900;text-transform:uppercase;cursor:pointer}
.announcement-ok:hover,.announcement-ok:focus-visible{outline:3px solid #0c5b39;outline-offset:2px}
@media(max-width:560px){.announcement-dialog{width:calc(100% - 18px)}.announcement-body{padding:15px 14px 16px}.announcement-body h2{font-size:22px}.announcement-body p{font-size:16px}.announcement-ok{width:100%;min-height:44px;margin:0}}


/* V20.3 Gallery: themed/real pairs keep the exact same frame when swapped. */
.gallery-swap.ratio-4x3 .swap-image{aspect-ratio:4/3;overflow:hidden}
.gallery-swap.ratio-4x3 .swap-image img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
.gallery-swap.ratio-16x9 .swap-image{aspect-ratio:16/9;overflow:hidden}
.gallery-swap.ratio-16x9 .swap-image img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
.home-feature-swap .swap-image{height:100%;overflow:hidden}
.home-feature-swap .swap-image img{width:100%;height:100%;object-fit:cover}

/* V20.9 Courses: stable themed/real frames + mobile swap control below image. */
#outside .swap-image{aspect-ratio:4/3;overflow:hidden}
#undercover .swap-image,#party .swap-image,#footgolf .swap-image{aspect-ratio:16/9;overflow:hidden}
#outside .swap-image img,#undercover .swap-image img,#party .swap-image img,#footgolf .swap-image img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
@media(max-width:560px){
  .course-art .swap-image{aspect-ratio:auto!important;overflow:hidden}
  #outside .swap-image img{height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
  #undercover .swap-image img,#party .swap-image img,#footgolf .swap-image img{height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}
  .course-art .swap-label{
    position:static;
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:6px 8px;
    border:0;
    border-top:2px solid #513d16;
    box-shadow:none;
    text-align:center;
    font-size:10.5px;
    line-height:1.2;
  }
}


/* FINAL mobile polish: every themed/real comparison keeps the artwork clear.
   The swap control becomes a compact strip below the image on phones. */
@media(max-width:560px){
  .swap-card .swap-label{
    position:static!important;
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:6px 8px;
    border:0;
    border-top:2px solid #513d16;
    box-shadow:none;
    text-align:center;
    font-size:10.5px;
    line-height:1.2;
  }
  .home-course-card .swap-image{height:auto!important}
  .home-course-card .swap-image img{height:112px!important}
  .home-feature-swap .swap-image{height:auto!important}
  .home-feature-swap .swap-image img{height:180px!important;min-height:0!important;object-fit:cover!important}
}

.share-site-button{
  display:block;
  margin:7px auto 2px;
  padding:7px 12px;
  border:2px solid #513d16;
  background:linear-gradient(#f9e6a5,#d5b45e);
  box-shadow:inset 0 1px 0 #fff3c8,2px 2px 0 rgba(24,58,34,.7);
  color:#173d27;
  font:inherit;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}
.share-site-button:hover,.share-site-button:focus-visible{background:#ffe77d;outline:2px solid #fff1bd;outline-offset:2px}
@media(max-width:560px){.share-site-button{min-height:36px;font-size:11px;margin-top:6px}}

    
/* FINAL mobile sub-page banner crop: shallower frame for desktop-like crop. */
@media(max-width:560px){
  .page-banner{
    min-height:95px;
  }
  .page-banner-image{
    transform:none;
  }
}


/* FINAL mobile pricing: stacked cards instead of sideways table. */
.price-extra-note{
  margin:4px 0 14px;
  padding:8px 10px;
  background:#fff3c7;
  border:2px solid #9b763e;
  font-size:15px;
  font-weight:700;
}
@media(max-width:560px){
  .table-wrap{
    overflow:visible;
    border:0;
  }
  .price-table{
    min-width:0;
    width:100%;
    background:transparent;
    border-collapse:separate;
    border-spacing:0 10px;
  }
  .price-table thead{
    display:none;
  }
  .price-table tbody{
    display:block;
  }
  .price-table tbody tr{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff7dc;
    border:2px solid #7d6034;
    box-shadow:2px 3px 0 rgba(86,63,28,.28);
  }
  .price-table tbody td{
    display:block;
    border:0;
    border-top:1px solid #c3a368;
    padding:10px 10px 9px;
    text-align:left!important;
    background:#fff7dc!important;
  }
  .price-table tbody td:first-child{
    grid-column:1/-1;
    border-top:0;
    border-bottom:2px solid #a88955;
    background:#f1dfaa!important;
    font-size:17px;
    font-weight:900;
  }
  .price-table tbody td:not(:first-child)::before{
    display:block;
    margin-bottom:3px;
    color:#0b5736;
    font-size:10.5px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.25px;
  }
  .price-table tbody td:nth-child(2)::before{content:"1 Course";}
  .price-table tbody td:nth-child(3)::before{content:"2 Courses";}
  .price-table tbody td:nth-child(4)::before{content:"3 Courses";}
  .price-table tbody td:nth-child(5)::before{content:"4 Courses";}
  .price-table tbody td:nth-child(2),
  .price-table tbody td:nth-child(4){
    border-right:1px solid #c3a368;
  }
  .price-table tbody td:not(:first-child){
    font-size:18px;
    font-weight:800;
  }
  .price-extra-note{
    margin-top:0;
    font-size:14px;
  }
}


/* FINAL privacy policy/footer link */
.footer-fine a{color:#fff2bd;text-decoration:underline;text-underline-offset:2px}
.footer-fine a:hover,.footer-fine a:focus-visible{color:#ffe477;outline:1px solid #ffe477;outline-offset:2px}
.privacy-policy{max-width:940px;margin-left:auto;margin-right:auto}
.privacy-policy h2{margin-top:24px}
.privacy-policy p{max-width:860px}
.privacy-updated{font-size:14px;border-bottom:2px solid rgba(87,68,29,.45);padding-bottom:10px;margin-top:0}
@media(max-width:560px){.privacy-policy h2{margin-top:20px}.footer-fine span[aria-hidden="true"]{padding:0 2px}}
