.course-jump{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 8px}
.course-jump a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(19,36,30,.18);color:#13241e;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.course-jump a:hover{background:#062b21;color:#fffdf8;border-color:#062b21}
.course-jump a span{color:#a57d2d;font-weight:700}
.course-jump--top{margin:0 0 34px}
.course-directory{padding-top:96px;padding-bottom:110px}
.course-directory__head{max-width:760px;margin-bottom:46px}
.course-directory__head h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1;letter-spacing:-.02em;color:#13241e;margin:10px 0 18px}
.course-directory__head h2 em{color:#a57d2d}
.course-directory__head>p{color:#5f6b65;font-size:16px;line-height:1.7;max-width:620px}
.dir-region{margin-top:56px}
.dir-region__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid #062b21}
.dir-region__head h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;font-weight:500;color:#13241e;margin:0}
.dir-region__head p{color:#6a746f;font-size:13px;margin:0;text-align:right}
.dir-table{width:100%;border-collapse:collapse;font-size:14px}
.dir-table thead th{padding:12px 10px;text-align:left;color:#8a7440;font:700 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(19,36,30,.14)}
.dir-table tbody th,.dir-table td{padding:14px 10px;border-bottom:1px solid rgba(19,36,30,.1);text-align:left;vertical-align:top;color:#33483f}
.dir-table tbody th{font-family:"Cormorant Garamond",Georgia,serif;font-size:19px;font-weight:600;color:#13241e;width:38%}
.dir-table tbody th span{display:block;font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:500;color:#7c8680;letter-spacing:.02em;margin-top:2px}
.dir-table tbody th a{color:#13241e;text-decoration:underline;text-decoration-color:#c4a35b;text-underline-offset:4px}
.dir-table tbody th a:hover{color:#a57d2d}
.dir-table td:nth-child(3){width:9%;font-variant-numeric:tabular-nums}
.dir-table tbody tr{transition:background .2s}
.dir-table tbody tr:hover{background:#faf6ec}
.dir-note{margin-top:34px;color:#6a746f;font-size:13px;line-height:1.6;max-width:760px}
.dir-cta{margin-top:24px}
@media (max-width:760px){
  .course-directory{padding-top:64px;padding-bottom:72px}
  .dir-region__head{flex-direction:column;gap:4px}
  .dir-region__head p{text-align:left}
  .dir-table thead{display:none}
  .dir-table,.dir-table tbody,.dir-table tr,.dir-table th,.dir-table td{display:block;width:auto!important}
  .dir-table tr{padding:14px 0;border-bottom:1px solid rgba(19,36,30,.12)}
  .dir-table tbody th{padding:0 0 6px;border:0;font-size:20px}
  .dir-table td{display:inline-block;padding:0 14px 0 0;border:0;font-size:13px;color:#5f6b65}
  .dir-table td::before{content:attr(data-label) " ";color:#8a7440;font:700 9px Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-right:4px}
}
.course-list>.course-jump--top{grid-column:1/-1;margin:0 0 10px}
/* tee-time request + closing CTA: restore heading scale (styling only, form untouched) */
.course-booking .booking-quote-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.course-booking .booking-quote-copy h2,.course-final h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(38px,4.4vw,58px);font-weight:500;line-height:1.02;letter-spacing:-.02em;color:#13241e;margin:10px 0 18px}
.course-booking .booking-quote-copy>p:not(.eyebrow){color:#5f6b65;font-size:16px;line-height:1.7;margin-bottom:22px}
.course-booking-points{list-style:none;padding:0;margin:0;border-top:1px solid rgba(19,36,30,.14)}
.course-booking-points li{padding:13px 0 13px 26px;border-bottom:1px solid rgba(19,36,30,.1);position:relative;color:#33483f;font-size:14px}
.course-booking-points li::before{content:"";position:absolute;left:2px;top:19px;width:10px;height:6px;border-left:1.5px solid #a57d2d;border-bottom:1.5px solid #a57d2d;transform:rotate(-45deg)}
.course-final{text-align:center}.course-final h2{max-width:760px;margin-inline:auto}
@media (max-width:900px){.course-booking .booking-quote-grid{grid-template-columns:1fr;gap:34px}}
/* course multi-select dropdown */
.course-picker{border:0!important;padding:0!important;margin:0}
.course-picker legend{padding:0!important;margin-bottom:8px;font:700 11px/1.2 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#13241e}
.cp{position:relative}
.cp summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 16px;background:#fff;border:1px solid #d7d0c4;cursor:pointer;font-size:15px;color:#6a746f;user-select:none}
.cp summary::-webkit-details-marker{display:none}
.cp.has-value summary{color:#13241e;font-weight:600}
.cp summary:focus-visible{outline:2px solid rgba(15,76,58,.3);outline-offset:1px}
.cp-caret{width:9px;height:9px;border-right:1.5px solid #13241e;border-bottom:1.5px solid #13241e;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.cp[open] .cp-caret{transform:rotate(-135deg) translateY(-2px)}
.cp[open] summary{border-color:#0f4c3a}
.cp-panel{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:min(430px,60vh);overflow:auto;background:#fff;border:1px solid #d7d0c4;box-shadow:0 18px 50px rgba(15,40,30,.16);padding:8px 0}
.cp-panel label{display:flex!important;align-items:center;gap:10px;min-height:40px!important;padding:6px 16px!important;margin:0;background:none!important;border:0!important;font-size:14px!important;color:#24362f;cursor:pointer}
.cp-panel label:hover{background:#f7f3ea!important}
.cp-panel input{width:17px!important;height:17px;flex:0 0 17px;accent-color:#0f4c3a;margin:0}
.cp-quick{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid #eee7da}
.cp-quick label{font-weight:600!important}
.cp-group__title{margin:10px 16px 2px;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#a57d2d}
.cp-grid{display:grid;grid-template-columns:1fr 1fr}
.cp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:8px 12px 4px 0;border-top:1px solid #eee7da;position:sticky;bottom:-8px;background:#fff}
.cp-done{flex:none;height:38px;padding:0 20px;background:#062b21;color:#fff;border:0;font:700 11px Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cp-chips:empty{display:none}
.cp-chip{border:1px solid rgba(15,76,58,.25);background:#f4f0e6;color:#13241e;padding:6px 10px;font-size:12px;cursor:pointer;border-radius:2px}
.cp-chip:hover{background:#062b21;color:#fff}
.course-picker.has-error .cp summary{border-color:var(--color-error,#b3261e)}
@media (max-width:640px){.cp-panel{position:static;max-height:none;box-shadow:none;margin-top:6px}.cp-grid{grid-template-columns:1fr}.cp-foot{position:static}}
/* area cards (replace long table) */
.area-region{margin-top:48px}
.area-region__title{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:500;color:#13241e;margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid #062b21}
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.area-card{background:#fff;border:1px solid rgba(19,36,30,.1);display:flex;flex-direction:column}
.area-card__img{aspect-ratio:3/2;overflow:hidden}
.area-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.area-card:hover .area-card__img img{transform:scale(1.04)}
.area-card__body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.area-card h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;font-weight:600;color:#13241e;margin:0 0 10px;line-height:1.1}
.area-card ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px}
.area-card li{font-size:12px;color:#33483f;background:#f4f0e6;padding:5px 9px;line-height:1.2}
.area-card__link{margin-top:auto;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#13241e;text-decoration:none;border-bottom:1px solid #c4a35b;align-self:flex-start;padding-bottom:4px}
.area-also{margin-top:36px;color:#33483f;font-size:15px}
.area-also strong{color:#13241e}
.dir-note a{color:inherit}
/* "more in the region" line */
.region-more{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:6px 0 30px;padding:18px 22px;background:#f7f3ea;border-left:2px solid #c4a35b}
.region-more p{margin:0;color:#33483f;font-size:14px;line-height:1.6}
.region-more__label{display:block;margin-bottom:4px;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#a57d2d}
.region-more a{flex:none;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#13241e;text-decoration:none;border-bottom:1px solid #c4a35b;padding-bottom:4px}
.photo-credit{grid-column:1/-1;margin:4px 0 0;font-size:11px;color:#7c8680}
.photo-credit a{color:inherit}
@media (max-width:700px){.region-more{flex-direction:column;align-items:flex-start;gap:12px}}
/* Interactive region map */
.vmap{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;margin:0 0 56px;padding-bottom:48px;border-bottom:1px solid rgba(19,36,30,.14)}
.vmap__title{font-family:var(--display,'Cormorant Garamond',Georgia,serif);font-weight:500;font-size:clamp(2rem,3vw,2.6rem);line-height:1.05;margin:0 0 18px;color:#13241e}
.vmap__row{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:20px 0;border-top:1px solid rgba(19,36,30,.14);color:#13241e;text-decoration:none;transition:padding .2s}
.vmap__row:last-of-type{border-bottom:1px solid rgba(19,36,30,.14)}
.vmap__name{font-family:var(--display,'Cormorant Garamond',Georgia,serif);font-size:clamp(1.7rem,2.4vw,2.2rem);line-height:1}
.vmap__meta{grid-column:1;color:#5b6b63;font-size:14px;line-height:1.5}
.vmap__go{grid-column:2;grid-row:1/3;align-self:center;color:#a57d2d;font-size:20px;transition:transform .2s}
.vmap__row:hover,.vmap[data-active="north"] .vmap__row[data-region="north"],.vmap[data-active="central"] .vmap__row[data-region="central"],.vmap[data-active="south"] .vmap__row[data-region="south"]{padding-left:10px}
.vmap__row:hover .vmap__go{transform:translateX(4px)}
.vmap__note{margin:18px 0 0;color:#5b6b63;font-size:14px}
.vmap__map{display:flex;justify-content:center}
.vm-svg{width:100%;max-width:520px;height:auto;overflow:visible}
.vm-land path{fill:#e9e2d2;stroke:#c9bb9a;stroke-width:1}
.vm-pin circle{fill:#0d3b2e;stroke:#fffdf8;stroke-width:2;transition:fill .2s,r .2s}
.vm-pin text{font:600 17px/1 Inter,Arial,sans-serif;fill:#13241e;transition:fill .2s,opacity .2s}
.vm-pin text tspan{fill:#a57d2d;font-weight:700}
.vm-pin:hover circle,.vm-pin:focus circle{fill:#b8913f}
.vmap[data-active]:not([data-active=""]) .vm-pin{opacity:.28}
.vmap[data-active="north"] .vm-pin[data-region="north"],.vmap[data-active="central"] .vm-pin[data-region="central"],.vmap[data-active="south"] .vm-pin[data-region="south"]{opacity:1}
.vmap[data-active="north"] .vm-pin[data-region="north"] circle,.vmap[data-active="central"] .vm-pin[data-region="central"] circle,.vmap[data-active="south"] .vm-pin[data-region="south"] circle{fill:#b8913f}
.vm-pin{transition:opacity .2s}
@media (max-width:860px){.vmap{grid-template-columns:1fr;gap:28px;margin-bottom:36px;padding-bottom:32px}.vmap__map{order:-1}.vm-svg{max-width:400px}.vm-pin text{font-size:14px}}
/* Flat editorial course list */
.course-row{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.course-row__media{border-radius:0!important;overflow:hidden}
.course-row__media img{transition:transform .5s ease}
.course-row:hover .course-row__media img{transform:scale(1.03)}
.course-row__body{padding:14px 0 6px!important;border-bottom:1px solid rgba(19,36,30,.14)}
.course-row__body .eyebrow{color:#6b7a72!important;letter-spacing:.04em!important;text-transform:none!important;font-weight:500!important;font-size:.82rem!important;margin-bottom:4px!important}
.course-row__body h3{margin-bottom:8px!important}
.course-row__body .xp-foot{padding-top:0!important}
.region-more{background:transparent;border-left:0;border-top:1px solid rgba(19,36,30,.14);border-bottom:1px solid rgba(19,36,30,.14);padding:16px 0}
.course-row__body{align-self:stretch!important;width:100%!important;text-align:left!important}
.vmap{border-bottom:0!important;padding-bottom:0!important}
.vmap__map{justify-content:flex-end}
.vm-svg{max-width:600px}
.vm-svg{flex:1 1 auto;width:100%!important;min-width:0}.vmap__map{display:block}
.vm-pin text{fill:#13241e!important}.vm-pin text tspan{fill:#a57d2d!important}
.vm-pin{-webkit-tap-highlight-color:transparent;outline:none}
@media (max-width:860px){.vm-svg{max-width:none!important;margin:0 -8px}.vm-pin text{font-size:23px!important}}
@media (max-width:640px){
.course-list{grid-template-columns:1fr 1fr!important;gap:22px 14px!important}
.course-list>.course-region-title,.course-list>.region-more,.course-list>.vmap,.course-list>h2{grid-column:1/-1!important}
.course-row__body h3{font-size:1.12rem!important;line-height:1.15!important}
.course-row__body .eyebrow{font-size:.72rem!important}
.course-row__body .xp-foot{flex-direction:column;align-items:flex-start;gap:4px}
.course-row__body .xp-guide{font-size:.62rem!important}
.course-row__media{aspect-ratio:1/1!important}
.vmap__map{margin:0 -20px}
.vm-svg{width:118%!important;margin-left:-9%}
}
/* Map v2 */
.vmap__row{position:relative;grid-template-columns:auto 1fr auto!important;align-items:baseline;gap:4px 14px!important;padding:22px 18px!important;margin:0 -18px;transition:background .3s ease,padding .3s ease,transform .3s ease}
.vmap__name{grid-column:1;transition:font-size .3s ease,color .3s ease}
.vmap__count{grid-column:2;font:700 10.5px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a57d2d}
.vmap__meta{grid-column:1/3!important;font-size:13.5px!important}
.vmap__go{grid-column:3!important;grid-row:1/4!important}
.vmap__more{grid-column:1/3;display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease,opacity .35s ease;opacity:0}
.vmap__more>span{overflow:hidden;color:#13241e;font-size:14px;line-height:1.5}
.vmap__more>span::before{content:"";display:block;height:8px}
.vmap__row:hover,.vmap__row:focus-visible,.vmap[data-active="north"] .vmap__row[data-region="north"],.vmap[data-active="central"] .vmap__row[data-region="central"],.vmap[data-active="south"] .vmap__row[data-region="south"]{background:#f4efe3;padding-left:26px!important}
.vmap[data-active="north"] .vmap__row[data-region="north"] .vmap__more,.vmap[data-active="central"] .vmap__row[data-region="central"] .vmap__more,.vmap[data-active="south"] .vmap__row[data-region="south"] .vmap__more,.vmap__row:hover .vmap__more{grid-template-rows:1fr;opacity:1}
.vmap[data-active="north"] .vmap__row[data-region="north"] .vmap__name,.vmap[data-active="central"] .vmap__row[data-region="central"] .vmap__name,.vmap[data-active="south"] .vmap__row[data-region="south"] .vmap__name,.vmap__row:hover .vmap__name{color:#0d3b2e;font-size:clamp(2rem,2.8vw,2.6rem)}
.vmap__row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#b8913f;transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
.vmap__row:hover::before,.vmap[data-active="north"] .vmap__row[data-region="north"]::before,.vmap[data-active="central"] .vmap__row[data-region="central"]::before,.vmap[data-active="south"] .vmap__row[data-region="south"]::before{transform:scaleY(1)}
.vmap__note{font-size:13px!important;letter-spacing:.02em;color:#6b7a72!important}
.vmap__map{position:relative}
.vm-band{fill:#b8913f;opacity:0;transition:opacity .35s ease}
.vmap[data-active="north"] .vm-band[data-band="north"],.vmap[data-active="central"] .vm-band[data-band="central"],.vmap[data-active="south"] .vm-band[data-band="south"]{opacity:.32}
.vm-lines line{stroke:#b8913f;stroke-width:1;stroke-dasharray:3 5;opacity:.45}
.vm-pin{cursor:pointer;outline:none}
.vm-dot{fill:#0d3b2e;stroke:#fffdf8;stroke-width:2;transition:fill .2s ease,transform .25s ease;transform-box:fill-box;transform-origin:center}
.vm-pin:hover .vm-dot,.vm-pin:focus-visible .vm-dot,.vm-pin.is-on .vm-dot{fill:#b8913f;transform:scale(1.35)}
.vm-pin:focus-visible text{text-decoration:underline}
.vmap[data-active="north"] .vm-pin[data-region="north"] .vm-dot,.vmap[data-active="central"] .vm-pin[data-region="central"] .vm-dot,.vmap[data-active="south"] .vm-pin[data-region="south"] .vm-dot{fill:#b8913f}
.vm-pulse{fill:none;stroke:#b8913f;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:vmPulse 2.4s ease-out infinite}
@keyframes vmPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3);opacity:0}}
.vmap .vm-pin{opacity:0;transform:translateY(-10px);transition:opacity .45s ease var(--d),transform .45s cubic-bezier(.2,.8,.2,1.2) var(--d)}
.vmap.is-in .vm-pin{opacity:1;transform:none}
.vmap.is-in[data-active]:not([data-active=""]) .vm-pin{opacity:.25;transition-delay:0s}
.vmap.is-in[data-active="north"] .vm-pin[data-region="north"],.vmap.is-in[data-active="central"] .vm-pin[data-region="central"],.vmap.is-in[data-active="south"] .vm-pin[data-region="south"]{opacity:1}
.vm-tip{position:absolute;z-index:5;min-width:200px;max-width:260px;padding:14px 16px 12px;background:#0d3b2e;color:#fffdf8;box-shadow:0 14px 30px rgba(6,30,22,.25);pointer-events:auto}
.vm-tip[hidden]{display:none}
.vm-tip__name{margin:0 0 6px;font-family:var(--display,'Cormorant Garamond',Georgia,serif);font-size:1.3rem;line-height:1.1;color:#e6cf95}
.vm-tip__list{margin:0 0 10px;padding:0;list-style:none;font-size:13px;line-height:1.55}
.vm-tip__list li::before{content:"– ";color:#b8913f}
.vm-tip__go{font:700 10.5px/1 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e6cf95;text-decoration:none;border-bottom:1px solid rgba(230,207,149,.5)}
@media (prefers-reduced-motion:reduce){.vm-pulse{animation:none}.vmap .vm-pin{opacity:1;transform:none;transition:none}.vmap__row,.vmap__more{transition:none}}
@media (max-width:860px){.vmap__row{margin:0;padding:18px 0!important}.vmap__row:hover{padding-left:12px!important}.vmap__more{display:none}}
.vm-band{pointer-events:all;cursor:default}
.vmap.is-in .vm-band{fill-opacity:1}
.vm-tip--region{min-width:230px;max-width:250px}
.vm-tip--region .vm-tip__list{columns:1}
@media (hover:none),(max-width:860px){.vm-band{pointer-events:none}}
.vm-tip__list li{color:#fffdf8!important;opacity:.92}
.vmap.is-ready .vm-pin{transition-delay:0s!important;transition-duration:.25s}
.vm-pulse{pointer-events:none}
