
.course-page { background:#000; color:#eee; }
.course-page .sticky-header { display:block; }
.course-skip { position:fixed; left:16px; top:-100px; z-index:100; background:#fff; color:#000; padding:12px; }
.course-skip:focus { top:12px; }
.course-hero { padding:calc(var(--cga-header-offset,110px) + 50px) 0 56px; background:linear-gradient(145deg,#140b0c,#000 68%); border-bottom:1px solid #ffffff20; }
.course-back { display:inline-block; color:#b9b6b3; margin-bottom:36px; font-size:14px; }
.course-hero h1 { font-size:clamp(34px,5vw,68px); font-weight:650; letter-spacing:-.04em; line-height:1.08; margin:18px 0 24px; max-width:900px; }
.course-headline { color:#dcb4b4; font-size:clamp(22px,3vw,34px); line-height:1.3; margin-bottom:22px; }
.course-lead { max-width:760px; font-size:19px; line-height:1.7; color:#ccc8c4; }
.course-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.course-actions a { text-align:center; }
.course-content { padding-top:48px; padding-bottom:40px; }
.course-content h2 { font-size:23px; line-height:1.3; font-weight:600; margin-bottom:18px; }
.course-content p { line-height:1.8; color:#c1beb9; }
.course-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:24px 0 52px; border-top:1px solid #ffffff26; border-bottom:1px solid #ffffff26; }
.course-facts div { padding:22px 16px 22px 0; }
.course-facts dt { font-size:12px; color:#aba8a3; margin-bottom:10px; }
.course-facts dd { font-size:28px; font-weight:600; }
.course-columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:64px; }
.course-columns section + section { margin-top:40px; }
.course-signature { display:flex; gap:22px; border-top:1px solid #ffffff20; padding-top:30px; }
.course-hole { color:#c54a51; font-size:44px; line-height:1; font-weight:600; }
.course-visit { padding-left:28px; border-left:2px solid #a21f25; }
.course-visit address { font-style:normal; font-size:15px; line-height:2; margin:24px 0 16px; overflow-wrap:anywhere; }
.course-text-link { color:#e4b8ba; text-decoration:underline; text-underline-offset:5px; }
.course-media-section,.course-notes { margin-top:56px; }
.course-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.course-gallery img,.course-gallery video,.course-hero-image { display:block; width:100%; border-radius:8px; }
.course-hero-image { max-height:600px; object-fit:cover; margin-top:36px; }
.course-gallery figcaption { font-size:14px; color:#bfbab4; margin-top:10px; }
.course-return { padding:35px 0; margin-top:36px; border-top:1px solid #ffffff20; }
.course-sources { font-size:12px; color:#9b9995; line-height:1.9; }
.course-sources summary { cursor:pointer; }
.course-sources a { text-decoration:underline; }
.course-page .site-footer { border-top:1px solid #ffffff20; padding:28px 0; color:#9b9995; font-size:12px; }
@media(max-width:760px) {
 .course-hero { padding-top:calc(var(--cga-header-offset,140px) + 26px); }
 .course-back { margin-bottom:26px; }
 .course-columns { grid-template-columns:1fr; gap:32px; }
 .course-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .course-gallery { grid-template-columns:1fr; }
 .course-visit { padding-left:18px; }
 .course-actions { flex-direction:column; align-items:stretch; }
}
