/* ==========================================================================
   Mastodon Golf Club — shared site styles (mgc.css)
   Poppins (body) + Anton (display) · orange #E4551F / charcoal #262321
   ========================================================================== */
:root{
  --accent:#B23E16;
  --accent-deep:#8f2f0f;
  --accent-lite:#EA8A5A;
  --green:#134D04;
  --ink:#221f1d;
  --charcoal:#262321;
  --charcoal-2:#1c1a18;
  --paper:#F6F2EC;
  --paper-2:#ece6dc;
  --muted:#6b645c;
  --line:#e4ddd0;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Poppins',system-ui,Arial,sans-serif;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-deep);}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;margin:0;line-height:1;}
.wrap{max-width:1800px;margin:0 auto;padding:0 40px;}
@media (max-width:560px){.wrap{padding:0 20px;}}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}

.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* skip link */
.skip-main{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:2000;background:#000;color:#fff;}
.skip-main:focus{left:16px;top:12px;width:auto;height:auto;padding:10px 16px;border-radius:8px;color:#fff;}

/* ---------- header / nav ---------- */
.mgc-header{position:sticky;top:0;z-index:1000;background:var(--charcoal);}
.mgc-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px;padding-bottom:12px;}
.mgc-logo img{height:52px;width:auto;}
.mgc-nav{display:flex;align-items:center;gap:26px;}
.mgc-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}
.mgc-menu a{color:#f3efe9;font-weight:500;font-size:15px;white-space:nowrap;}
.mgc-menu a:hover{color:var(--accent-lite);}
.mgc-cta{background:var(--accent);color:#fff!important;font-weight:700;font-size:14px;padding:11px 22px;border-radius:999px;white-space:nowrap;}
.mgc-cta:hover{background:var(--accent-deep);}
.mgc-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.mgc-burger span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;transition:.25s;}

@media (max-width:1040px){
  .mgc-burger{display:block;}
  .mgc-nav{position:fixed;inset:64px 0 auto 0;background:var(--charcoal);flex-direction:column;align-items:stretch;gap:0;
    padding:8px 0 16px;transform:translateY(-140%);transition:transform .3s ease;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);}
  .mgc-nav.open{transform:translateY(0);}
  .mgc-menu{flex-direction:column;align-items:stretch;gap:0;}
  .mgc-menu a{padding:14px 24px;border-top:1px solid rgba(255,255,255,.08);}
  .mgc-cta{margin:14px 24px 0;text-align:center;}
  .mgc-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .mgc-burger.open span:nth-child(2){opacity:0;}
  .mgc-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:600px;display:flex;align-items:flex-end;
  background:linear-gradient(180deg,rgba(20,17,15,.25),rgba(20,17,15,.35) 45%,rgba(20,17,15,.88));
  background-size:cover;background-position:center;color:#fff;}
.hero .wrap{padding-top:70px;padding-bottom:64px;padding-left:28px;max-width:none;width:100%;margin:0;}
.hero .eyebrow{display:inline-block;background:var(--accent);color:#fff;font-size:13px;font-weight:700;
  letter-spacing:.12em;padding:6px 14px;border-radius:6px;text-transform:uppercase;}
.hero h1{color:#fff;font-size:clamp(42px,6vw,68px);margin:20px 0 0;}
.hero p{color:#ece7df;font-size:clamp(16px,2vw,19px);line-height:1.5;margin:18px 0 26px;max-width:580px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-block;font-weight:700;font-size:16px;padding:15px 30px;border-radius:999px;border:1.5px solid transparent;}
.btn-orange{background:var(--accent);color:#fff;}
.btn-orange:hover{background:var(--accent-deep);color:#fff;}
.btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff;}
.hero-facts{display:flex;gap:24px;margin-top:28px;color:#d8d2c8;font-size:14px;font-weight:600;flex-wrap:wrap;}

/* ---------- section heading ---------- */
.sec{padding:60px 0;}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:26px;}
.sec-head h2{font-size:clamp(26px,3.4vw,34px);color:var(--ink);}
.sec-head .rule{height:3px;flex:1;background:linear-gradient(90deg,var(--accent),transparent);border-radius:2px;}
.sec-head .more{color:var(--accent);font-weight:700;font-size:14px;white-space:nowrap;}

/* ---------- service cards ---------- */
.services{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.svc{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 30px -18px rgba(0,0,0,.4);transition:transform .2s ease;}
.svc:hover{transform:translateY(-4px);}
.svc .thumb{height:120px;background-size:cover;background-position:center;}
.svc .body{padding:12px 14px;}
.svc .body b{display:block;font-size:15px;color:var(--ink);}
.svc .body span{font-size:12px;color:var(--muted);}
@media (max-width:900px){.services{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.services{grid-template-columns:repeat(2,1fr);}}

/* ---------- feature blocks ---------- */
.feature{display:grid;grid-template-columns:420px 1fr;gap:40px;align-items:center;
  background:#fff;border-radius:20px;padding:26px;box-shadow:0 26px 60px -34px rgba(0,0,0,.5);margin-bottom:34px;}
.feature.reverse{grid-template-columns:1fr 420px;}
.feature.dark{background:var(--charcoal);color:#fff;}
.feature .poster{border-radius:14px;overflow:hidden;aspect-ratio:3/5;background:#fff;box-shadow:0 18px 40px -22px rgba(0,0,0,.6);}
.feature .poster img{width:100%;height:100%;object-fit:contain;}
.feature .poster.fill img{object-fit:cover;}
.feature .txt{padding:8px 8px 8px 18px;}
.feature .kicker{color:var(--accent);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;}
.feature h3{font-size:clamp(30px,3.6vw,40px);margin:8px 0 14px;color:inherit;}
.feature.dark h3,.feature.dark .txt{color:#fff;}
.feature.dark .kicker{color:var(--accent-lite);}
.feature p{font-size:17px;line-height:1.6;margin:0 0 18px;color:#4c463f;}
.feature.dark p{color:#d6d0c6;}
.feature .actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-line{border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:15px;padding:12px 24px;border-radius:999px;}
.feature.dark .btn-line{border-color:rgba(255,255,255,.35);color:#fff;}
.btn-sm{font-size:15px;padding:12px 24px;}
@media (max-width:820px){
  .feature,.feature.reverse{grid-template-columns:1fr;gap:22px;}
  .feature .poster{aspect-ratio:16/11;max-height:520px;}
  .feature .txt{padding:4px;}
  .feature.reverse .poster{order:-1;}
}

/* ---------- virtual golf band ---------- */
.vg{background:linear-gradient(120deg,var(--green),#0d3a03);color:#fff;}
.vg .wrap{display:grid;grid-template-columns:1fr 480px;gap:44px;align-items:center;padding:56px 24px;}
.vg .pill{display:inline-block;background:rgba(255,255,255,.14);color:#fff;font-size:13px;font-weight:700;letter-spacing:.1em;padding:6px 14px;border-radius:999px;}
.vg h2{color:#fff;font-size:clamp(30px,4vw,46px);margin:16px 0 12px;}
.vg p{color:#dcecd6;font-size:17px;line-height:1.6;margin:0 0 22px;max-width:520px;}
.vg .shot{border-radius:16px;overflow:hidden;aspect-ratio:16/10;box-shadow:0 24px 50px -24px rgba(0,0,0,.7);}
.vg .shot img{width:100%;height:100%;object-fit:cover;}
.btn-white{background:#fff;color:var(--green);font-weight:700;}
.btn-white:hover{background:#eee7db;color:var(--green);}
@media (max-width:820px){.vg .wrap{grid-template-columns:1fr;gap:26px;}}

/* ---------- footer ---------- */
.footer{background:var(--charcoal-2);color:#cfc9bf;}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:52px 0 34px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer img.flogo{height:66px;width:auto;margin-bottom:16px;}
.footer p{font-size:14px;line-height:1.6;margin:0 0 16px;color:#b3aca2;}
.footer h3{font-family:'Poppins',sans-serif;color:var(--accent-lite);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;line-height:1.2;}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer ul a{color:#cfc9bf;font-size:14px;}
.footer ul a:hover{color:#fff;}
.footer .visit{color:#cfc9bf;font-size:14px;line-height:1.7;}
.footer .visit b{color:#fff;}
.socials{display:flex;gap:10px;}
.soc{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff;}
.soc:hover{background:var(--accent);}
.soc b{font-family:'Poppins',sans-serif;font-weight:800;font-size:18px;color:#fff;}
.ig-glyph{position:relative;display:block;width:18px;height:18px;border:2px solid #fff;border-radius:6px;}
.ig-glyph::before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);}
.ig-glyph::after{content:"";position:absolute;top:1px;right:1px;width:2.5px;height:2.5px;background:#fff;border-radius:50%;}
.footer .base{padding:20px 0;color:#b8b0a4;font-size:13px;line-height:1.7;}
.footer .base a{color:#e6ded2;text-decoration:underline;}
.footer .base a:hover{color:#fff;}
@media (max-width:820px){.footer .cols{grid-template-columns:1fr 1fr;gap:28px 24px;}}
@media (max-width:560px){
  .footer .cols{grid-template-columns:1fr;gap:26px;padding:40px 0 26px;text-align:center;}
  .footer img.flogo{margin-left:auto;margin-right:auto;}
  .footer ul{align-items:center;}
  .socials{justify-content:center;}
  .footer .visit{line-height:1.9;}
  .footer .base{text-align:center;}
}

/* ---------- page banner (sub-pages) ---------- */
.page-banner{position:relative;min-height:420px;display:flex;align-items:center;color:#fff;
  background:linear-gradient(90deg,rgba(20,17,15,.85),rgba(20,17,15,.4));background-size:cover;background-position:center;}
.page-banner .wrap{max-width:none;width:100%;margin:0;padding-left:clamp(20px,5vw,64px);}
.page-banner .crumb{color:#d8d2c8;font-size:14px;}
.page-banner .kicker{color:var(--accent-lite);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;}
.page-banner h1{color:#fff;font-size:clamp(34px,5vw,46px);margin:6px 0 8px;}

/* ---------- sub-page intro ---------- */
.intro{max-width:820px;margin:0 auto 44px;text-align:center;}
.intro p{color:#4c463f;font-size:18px;margin:0;}
.lead-note{background:#fff;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:16px 22px;margin:0 0 34px;color:#4c463f;font-size:15px;box-shadow:0 12px 30px -22px rgba(0,0,0,.4);}

/* ---------- rate cards ---------- */
.rate-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.rate-grid .rate-card{flex:0 1 calc((100% - 44px)/3);min-width:300px;}
@media (max-width:900px){.rate-grid .rate-card{flex:0 1 calc((100% - 22px)/2);}}
@media (max-width:620px){.rate-grid .rate-card{flex:1 1 100%;}}
.rate-card{background:#fff;border-radius:16px;padding:26px 26px 22px;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);border-top:4px solid var(--accent);}
.rate-card h3{font-size:21px;color:var(--ink);margin:0 0 2px;}
.rate-card .tag{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:16px;display:block;}
.rate-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:480px){.rate-split{grid-template-columns:1fr;gap:16px;}}
.rate-block b{display:block;color:var(--green);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-family:'Poppins',sans-serif;}
.rate-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);}
.rate-row:last-child{border-bottom:0;}
.rate-row .l{color:#4c463f;font-size:14px;}
.rate-row .p{font-weight:700;color:var(--ink);font-size:15px;white-space:nowrap;}

/* ---------- membership tiers ---------- */
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;}
.tier{background:#fff;border-radius:16px;padding:26px;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);border-top:4px solid var(--line);display:flex;flex-direction:column;}
.tier.vip{grid-column:1/-1;background:var(--charcoal);color:#fff;border-top-color:var(--accent);display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:center;}
@media (max-width:640px){.tier.vip{grid-template-columns:1fr;gap:12px;}}
.tier h3{font-size:20px;color:var(--ink);}
.tier.vip h3{color:#fff;font-size:26px;}
.tier .price{font-family:'Anton',sans-serif;font-size:42px;color:var(--accent);margin:6px 0 10px;line-height:1;}
.tier.vip .price{color:#fff;font-size:56px;}
.tier p{font-size:14px;color:var(--muted);margin:0;line-height:1.55;}
.tier.vip p{color:#e0dacf;font-size:16px;}

/* ---------- party rooms + gallery ---------- */
.rooms{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px;}
.room{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:18px 24px;
  box-shadow:0 14px 34px -24px rgba(0,0,0,.4);border-left:4px solid var(--green);}
.room b{font-size:18px;color:var(--ink);}
.room span{color:var(--muted);font-size:13px;display:block;margin-top:2px;}
.room .price{font-family:'Anton',sans-serif;font-size:26px;color:var(--green);white-space:nowrap;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media (max-width:640px){.gallery{grid-template-columns:repeat(2,1fr);}}
.gallery a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.gallery a:hover img{transform:scale(1.05);}

/* ---------- CTA band ---------- */
.cta-band{background:var(--charcoal);color:#fff;text-align:center;}
.cta-band .wrap{padding:52px 24px;}
.cta-band h2{font-size:clamp(26px,3.4vw,36px);color:#fff;margin:0 0 10px;}
.cta-band p{color:#cfc9bf;margin:0 0 22px;}

/* ---------- prose ---------- */
.prose{max-width:820px;margin:0 auto;color:#3f3a34;font-size:16px;line-height:1.75;}
.prose h2{font-size:26px;color:var(--ink);margin:0 0 16px;}
.prose strong{color:var(--ink);}

/* ---------- upgrades ---------- */
.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.up-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px -26px rgba(0,0,0,.45);display:flex;flex-direction:column;}
.up-card .im{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);}
.up-card .im img{width:100%;height:100%;object-fit:cover;}
.up-card .bd{padding:20px 22px;}
.up-card h3{font-size:19px;color:var(--ink);margin:0 0 8px;}
.up-card p{margin:0;font-size:15px;color:#4c463f;line-height:1.55;}
.up-card.wide{grid-column:1/-1;flex-direction:row;}
.up-card.wide .im{flex:1.1;aspect-ratio:auto;min-height:300px;}
.up-card.wide iframe{width:100%;height:100%;border:0;display:block;min-height:300px;}
.up-card.wide .bd{flex:1;align-self:center;}
@media (max-width:720px){.up-card.wide{flex-direction:column;}.up-card.wide .im{min-height:220px;}}

/* ---------- day / league cards ---------- */
.day-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;max-width:1116px;margin-inline:auto;}
.day-card{flex:0 1 calc((100% - 36px)/3);min-width:280px;max-width:360px;}
.day-card{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 14px 34px -24px rgba(0,0,0,.4);border-top:4px solid var(--green);}
.day-card .d{font-family:'Anton',sans-serif;text-transform:uppercase;color:var(--green);font-size:24px;margin-bottom:8px;line-height:1;}
.day-card p{margin:0;font-size:15px;color:#4c463f;line-height:1.55;}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:26px;}}
.info-card{background:#fff;border-radius:16px;padding:30px 32px;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);}
.info-card .phone{font-family:'Anton',sans-serif;font-size:34px;color:var(--accent);text-decoration:none;display:inline-block;margin:2px 0 22px;}
.hours{display:grid;gap:16px;}
.hour b{display:block;color:var(--green);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-family:'Poppins',sans-serif;}
.hour span{color:#4c463f;font-size:15px;line-height:1.5;}
.map-link{display:block;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);}
.map-link img{width:100%;height:auto;display:block;}
.map-embed{border-radius:16px;overflow:hidden;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);height:100%;min-height:460px;}
.map-embed iframe{width:100%;height:100%;min-height:460px;display:block;border:0;}
@media (max-width:820px){.map-embed,.map-embed iframe{min-height:360px;}}

/* ---------- reviews ---------- */
.reviews-sub{margin:-8px 0 30px;color:#6b6259;font-size:16px;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.reviews-grid{grid-template-columns:1fr;}}
.review{margin:0;background:#fff;border-radius:16px;padding:26px 28px;box-shadow:0 18px 44px -26px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:12px;}
.review .stars{color:#a86400;font-size:18px;letter-spacing:2px;line-height:1;}
.review .star-off{color:#6f675e;}
.review blockquote{margin:0;color:#3a352f;font-size:16px;line-height:1.55;}
.review figcaption{color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-family:'Poppins',sans-serif;}

/* ---------- reveal on scroll ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal-init{opacity:0;transform:translateY(28px);}
  .reveal-init.reveal-in{opacity:1;transform:none;transition:opacity .7s ease-out,transform .7s ease-out;}
}


/* Scorecard — mobile tuning */
@media (max-width: 700px)
{
.sc-table
{
   min-width: 680px !important;
}
.sc-table th,
.sc-table td
{
   padding: 6px 7px !important;
   font-size: 12px !important;
}
.sc-table caption
{
   font-size: 12.5px !important;
   padding: 12px 12px 10px !important;
}
.sc-table th[scope="row"] span span:last-child
{
   font-size: 13px !important;
}
}
