/* Hallmark · macrostructure: existing Review Rep photo hero → interactive demo → proof
 * theme: approved Review Rep · Inter, navy/blue/red · phone frames preserved by request.
 * Page-specific additions; shared restaurant styles remain unchanged.
 */
.golf-page {
  --golf-hero-shade: rgba(8, 24, 45, .78);
  --golf-hero-clear: rgba(8, 24, 45, .08);
  --golf-image-shade: rgba(8, 24, 45, .72);
  --golf-hero-muted: #dce7f6;
  --golf-phone-surface: #f7f5f1;
  --golf-link: #087cf0;
  --golf-grid: #e8edf4;
  --golf-venue-accent: #9cc0ff;
  --golf-venue-muted: #c6d4e9;
  --golf-venue-rule: #465c7d;
  --golf-venue-hover: #203c66;
  overflow-x: clip;
}
html:has(.golf-page) { overflow-x: clip; }
.golf-page h1, .golf-page h2, .golf-page h3 { min-width: 0; overflow-wrap: anywhere; }
.golf-page .brand-logo, .golf-page .nav-links a { white-space: nowrap; }
.golf-page .golf-hero { min-height: 650px; padding: 64px 0 88px; }
.golf-page .golf-hero::before { background: linear-gradient(90deg, var(--golf-hero-shade), var(--golf-hero-shade) 30%, var(--golf-hero-clear) 78%); }
.golf-page .hero-img { object-position: 58% 50%; }
.golf-page .hero-sub { max-width: 510px; font-size: 16px; line-height: 1.8; margin-top: 24px; }
.golf-page .hero-details { font-size: 11px; gap: 12px 20px; }
.golf-intro-strip { border-bottom: 1px solid var(--rule); background: var(--paper); }
.golf-intro-strip .wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 28px; }
.golf-intro-strip p { font-size: 14px; line-height: 1.6; color: var(--muted); }
.golf-intro-strip strong { color: var(--navy); font-weight: 600; }
.golf-intro-strip ul { display: flex; gap: 40px; color: var(--navy); font-size: 14px; font-weight: 500; }
.golf-intro-strip li + li { border-left: 1px solid var(--rule); padding-left: 40px; }
.golf-page .how { padding-block: 88px 72px; }
.golf-page .step-cap p { max-width: 300px; }
.golf-page .restaurant-cover img { object-position: 83% 55%; }
.golf-page .private-cover { background-image: linear-gradient(var(--golf-image-shade), var(--golf-image-shade)), url('/assets/golf-simulator-800.jpg'); background-position: 80% center; }
.golf-page .private-page { padding-top: 20px; }
.golf-page .sms-example-url { color: var(--golf-link); }
.golf-page .google-composer .composer-text { min-height: 150px; margin-top: 12px; }
.golf-page .composer-business { font-size: 18px; }
.golf-page .composer-author small { font-size: 10px; }
.golf-page .composer-stars { margin-block: 24px 20px; }
.golf-page .review-star { width: 42px; height: 44px; }
.golf-page .outcome-controls button { min-height: 44px; }
.golf-page .demo-caption { font-size: 12px; line-height: 1.7; }
.golf-page .golf-proof { padding-block: 88px; }
.golf-page .golf-proof .proof-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 64px; }
.golf-page .golf-proof .case-summary { padding: 0; }
.golf-page .golf-proof .eyebrow { margin-bottom: 16px; }
.golf-page .golf-proof h2 { font-size: clamp(32px, 3.2vw, 44px); }
.golf-case-copy { color: var(--muted); font-size: 15px; line-height: 1.8; margin-top: 20px; max-width: 440px; }
.golf-appeals { display: flex; gap: 20px; align-items: center; padding-block: 24px; margin-top: 28px; border-block: 1px solid var(--rule); }
.golf-appeals > strong { font-size: 48px; line-height: 1; letter-spacing: -.055em; font-weight: 600; color: var(--navy); }
.golf-appeals h3 { font-size: 15px; }
.golf-appeals p { font-size: 12px; color: var(--muted); line-height: 1.75; margin-top: 6px; }
.golf-case-note { font-size: 11px; line-height: 1.8; color: var(--muted); margin-top: 16px; }
.golf-page .golf-chart { min-width: 0; padding: 32px; border-radius: 12px; }
.golf-page .golf-chart .chart-header h3 { font-size: 22px; }
.golf-page .golf-chart .chart-overline { text-transform: none; font-size: 12px; letter-spacing: 0; color: var(--muted); }
.golf-page .golf-chart .chart-legend { gap: 8px 18px; margin-top: 24px; }
.golf-page .golf-chart .chart-legend > span { font-size: 12px; color: var(--muted); }
.golf-page .golf-chart .dual-results .result-channel { font-size: 10px; letter-spacing: .02em; }
.golf-page .golf-chart .dual-results strong { font-size: 48px; }
.golf-page .golf-chart .dual-results .chart-result > b { font-size: 13px; min-height: 0; }
.golf-page .golf-chart .dual-results .chart-result > span:last-child { font-size: 12px; }
.golf-page .golf-chart .chart-measure { font-size: 12px; color: var(--muted); margin-top: 16px; }
.golf-page .golf-progression { margin-top: 8px; }
.golf-page .golf-progression .bar-label { font-size: 27px; }
.golf-week-labels { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin-top: 6px; margin-left: 6.02%; margin-right: .65%; gap: 0; color: var(--muted); font-size: 13px; text-align: center; }
.golf-page .golf-chart .dual-results { align-items: start; }
.golf-week-labels b { font-weight: 400; }
.golf-page .golf-chart figcaption { display: block; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--rule); }
.golf-page .golf-chart figcaption p { color: var(--muted); font-size: 11px; line-height: 1.7; }
.golf-page .product-simple { padding-block: 80px; background: var(--tint); }
.golf-page .autopilot-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.golf-page .example-label > span { display: inline; }
.golf-venue-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.golf-venue-photo { position: relative; border-radius: 10px; overflow: hidden; background: var(--navy); }
.golf-venue-photo img { width: 100%; height: 620px; object-fit: cover; object-position: 50% 47%; }
.golf-venue-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 56px 28px 28px; color: var(--paper); background: linear-gradient(transparent, var(--golf-image-shade)); font-size: 16px; font-weight: 500; }
.golf-venue-copy h2 { font-size: clamp(32px, 3.2vw, 44px); }
.golf-venue-copy .lede { font-size: 15px; margin-top: 20px; line-height: 1.8; }
.golf-scenarios { margin-top: 28px; }
.golf-scenarios li { padding-block: 20px; border-top: 1px solid var(--rule); }
.golf-scenarios h3 { font-size: 17px; }
.golf-scenarios p { font-size: 14px; line-height: 1.8; margin-top: 8px; color: var(--muted); }
.golf-venue-copy > .text-link { margin-top: 12px; }
.golf-page .faq-simple { padding-top: 0; }
.golf-page .questions-list summary { min-height: 64px; }
.golf-page .questions-list details p { max-width: 70ch; }
.golf-page .golf-home-link { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.golf-page .golf-home-link:hover { color: var(--blue); text-decoration: underline; }
.golf-page .btn:active, .golf-page .outcome-controls button:active { filter: brightness(.92); }
.golf-page button:disabled { cursor: not-allowed; opacity: .5; }
@media (max-width: 1100px) {
  .golf-page .golf-hero { min-height: 620px; }
  .golf-page .golf-proof .proof-layout { gap: 36px; }
  .golf-page .golf-chart { padding: 24px; }
  .golf-intro-strip ul { gap: 24px; }
  .golf-intro-strip li + li { padding-left: 24px; }
  .golf-venue-layout { gap: 40px; }
  .golf-venue-photo img { height: 600px; }
  .golf-page .google-composer .composer-text { min-height: 130px; }
  .golf-page .review-star { width: 37px; }
}
@media (max-width: 900px) {
  .golf-page .golf-proof .proof-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .golf-page .golf-proof .case-summary { max-width: 620px; }
  .golf-case-copy { max-width: 580px; }
  .golf-page .golf-chart { width: 100%; max-width: 620px; justify-self: center; }
  .golf-intro-strip ul { gap: 16px; font-size: 12px; }
  .golf-intro-strip li + li { padding-left: 16px; }
  .golf-venue-layout { gap: 32px; }
  .golf-venue-photo img { height: 620px; }
}
@media (max-width: 760px) {
  .golf-page .golf-hero { min-height: 620px; padding: 52px 0 68px; }
  .golf-page .golf-hero::before { background: linear-gradient(90deg, var(--golf-hero-shade), var(--golf-image-shade)); }
  .golf-page .hero-sub { max-width: 470px; }
  .golf-page .hero-details { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; font-size: 14px; line-height: 1.5; }
  .golf-page .hero-details > span, .golf-page .hero-details > span:last-child { justify-self: start; align-items: flex-start; gap: 10px; }
  .golf-page .hero-details svg { width: 16px; height: 16px; margin-top: 2px; }
  .golf-intro-strip .wrap { padding-block: 24px; flex-direction: column; align-items: flex-start; gap: 16px; }
  .golf-intro-strip p br { display: none; }
  .golf-intro-strip p strong::before { content: ' '; }
  .golf-intro-strip ul { flex-wrap: wrap; gap: 8px 16px; }
  .golf-page .how, .golf-page .golf-proof, .golf-page .product-simple, .golf-page .golf-venues { padding-block: 64px; }
  .golf-page .step-cap p { max-width: 390px; }
  .golf-page .review-star { width: 42px; }
  .golf-page .golf-proof .case-summary { width: 100%; }
  .golf-page .golf-chart { padding: 24px 20px; }
  .golf-page .golf-chart .chart-header h3 { font-size: 21px; }
  .golf-page .golf-chart .chart-period { display: none; }
  .golf-page .autopilot-layout, .golf-venue-layout { grid-template-columns: minmax(0, 1fr); }
  .golf-page .autopilot-copy > .eyebrow, .golf-page .autopilot-copy > h2, .golf-page .autopilot-intro { text-align: left; }
  .golf-page .autopilot-intro { max-width: none; margin-inline: 0; }
  .golf-page .autopilot-services { margin-inline: 0; text-align: left; max-width: none; }
  .golf-page .autopilot-services li { flex-direction: row; align-items: flex-start; gap: 16px; }
  .golf-page .autopilot-services li > div, .golf-page .autopilot-services h3, .golf-page .autopilot-services p { text-align: left; }
  .golf-page .example-label { justify-content: space-between; text-align: left; }
  .golf-venue-photo img { height: 440px; object-position: center 42%; }
  .golf-venue-copy h2 { font-size: 36px; }
  .golf-page .faq-simple { padding-bottom: 64px; }
  .golf-page .questions-layout > h2 { font-size: 32px; }
  .golf-page footer .wrap { gap: 8px 20px; }
  .golf-page footer .wrap > span { width: 100%; }
}
@media (max-width: 420px) {
  .golf-page .hero-sub { font-size: 15px; }

  .golf-page .golf-hero { min-height: 650px; }
  .golf-intro-strip ul { column-gap: 12px; font-size: 11px; }
  .golf-intro-strip li + li { padding-left: 12px; }
  .golf-page .golf-chart { padding: 24px 14px 20px; }
  .golf-page .golf-chart .chart-legend { flex-direction: column; gap: 8px; }
  .golf-venue-photo img { height: 390px; }
  .golf-venue-photo figcaption { font-size: 14px; padding-inline: 24px; }
  .golf-page .golf-home-link { font-size: 11px; }
}
@media (max-width: 600px) {
  .golf-page .golf-progression .bar-label { font-size: 40px; }
  .golf-week-labels { font-size: 12px; line-height: 1.4; }
  .golf-week-labels b { display: block; }
  .golf-page .golf-chart .dual-results strong { font-size: 40px; }
  .golf-page .golf-chart .dual-results .result-channel { font-size: 9px; }
  .golf-page .golf-chart .dual-results .chart-result > b { font-size: 12px; }
  .golf-page .golf-chart .dual-results .chart-result > span:last-child { font-size: 11px; }
}
@media (max-width: 350px) {
  .golf-week-labels { font-size: 11px; }
  .golf-page .nav-cta { display: none; }
  .golf-page .menu-toggle { margin-left: auto; }
  .golf-page .hero-actions { flex-direction: column; align-items: flex-start; }
  .golf-page .golf-hero { padding-top: 40px; }
  .golf-intro-strip li + li { border: 0; padding-left: 0; }
  .golf-page .review-star { width: 37px; }
  .golf-page .private-page { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .golf-page *, .golf-page *::before, .golf-page *::after { animation: none !important; transition: none !important; }
  html:has(.golf-page) { scroll-behavior: auto; }
}

/* Match the live restaurant phone dimensions at every viewport. */
.golf-page .step .phone { width: 248px; height: calc(248px * 874 / 402); padding: 5px; }
.golf-page .phone .screen { min-height: 0; }
.golf-page .phone .sms-link-line { white-space: normal; }
.golf-page .phone .sms-example-url { white-space: nowrap; }
.golf-page .rating-phone .fb { padding: 8px 12px 20px; gap: 7px; }
.golf-page .rating-phone .restaurant-cover { height: 56px; margin-inline: -12px; }
.golf-page .rating-phone .fb .logo { width: 36px; height: 36px; font-size: 21px; }
.golf-page .rating-phone .fb h4 { font-size: 18px; line-height: 1.2; margin: 4px 0 0; }
.golf-page .rating-phone .fb .hint { margin: 0; }
.golf-page .rating-phone .fb .opt { min-height: 44px; padding: 10px 9px; }
.golf-page .rating-phone .fb .opt .t { font-size: 11px; }
.golf-page .rating-phone .fb .opt .rs { gap: 2px; }
.golf-page .rating-phone .fb .opt .rs svg { width: 11px; height: 11px; }
.golf-page .google-composer { padding: 8px 12px 20px; }
.golf-page .composer-business { font-size: 16px; margin-block: 10px; }
.golf-page .composer-stars { margin-block: 12px; gap: 0; }
.golf-page .review-star { width: 40px; height: 44px; }
.golf-page .google-composer .composer-text { min-height: 87px; margin-top: 8px; }
.golf-page .private-page { padding: 10px 14px 20px; }
.golf-page .private-cover { height: 44px; }
.golf-page .private-brand { width: 32px; height: 32px; margin-top: 0; font-size: 17px; }
.golf-page .private-lock { font-size: 9px; margin-top: 6px; }
.golf-page .private-page h4 { font-size: 16px; line-height: 1.2; margin: 8px 0 6px; }
.golf-page .private-page > p { font-size: 10px; }
.golf-page .private-page .mock-label { font-size: 10px; margin: 8px 0 3px; }
.golf-page .private-page .mock-area { height: 42px; padding: 8px; }
.golf-page .private-page .mock-input { padding: 7px 9px; }
.golf-page .private-page .mock-submit { padding: 9px; margin-top: 10px; }
.golf-page .private-page .private-note { font-size: 10px; margin-top: 8px; }

/* Golf edition polish: stronger brand contrast, with the approved demo intact. */
.golf-page .golf-intro-strip { background: var(--blue); border: 0; }
.golf-page .golf-intro-strip .wrap { padding-block: 20px; }
.golf-page .golf-intro-strip p { color: #e3ecff; font-size: 16px; }
.golf-page .golf-intro-strip strong { color: #fff; font-size: 22px; letter-spacing: -.025em; }
.golf-page .golf-intro-strip ul { color: #fff; }
.golf-page .golf-intro-strip li + li { border-color: #ffffff50; }
.golf-page .how { background: #fff; padding-block: 96px 88px; }
.golf-page .section-head h2 { font-size: clamp(34px, 3.8vw, 52px); letter-spacing: -.045em; }
.golf-page .step-cap .n { background: var(--blue); color: #fff; border-color: var(--blue); }
.golf-page .routing-summary { background: #f5f8ff; border-color: #d3e0f6; }
.golf-page .golf-proof { background: #edf3ff; border-block: 1px solid #d8e4f8; padding-block: 96px; }
.golf-page .golf-proof h2 { font-size: clamp(36px, 3.7vw, 52px); letter-spacing: -.05em; }
.golf-page .golf-proof .golf-case-copy { font-size: 16px; }
.golf-page .golf-appeals { border-color: #c6d6ef; }
.golf-page .golf-appeals > strong { color: var(--blue); font-size: 56px; }
.golf-page .golf-chart { border-color: #cbdaf1; border-top: 4px solid var(--blue); box-shadow: 0 20px 48px -28px #12274c50; }
.golf-page .golf-chart .chart-header h3 { font-size: 25px; letter-spacing: -.03em; }
.golf-page .product-simple { background: #fff; padding-block: 96px; }
.golf-page .autopilot-copy h2, .golf-page .golf-venue-copy h2 { font-size: clamp(36px, 3.7vw, 52px); letter-spacing: -.045em; }
.golf-page .feedback-example { padding: 30px; box-shadow: none; border-radius: 12px; }
.golf-page .public-example { border-left: 4px solid var(--blue); background: #f5f8ff; }
.golf-page .private-example { border-left: 4px solid var(--result-red); background: #fff7f7; }
.golf-page .feedback-example blockquote { font-size: 19px; line-height: 1.65; }
.golf-page .golf-venues { padding-block: 8px 96px; }
.golf-page .golf-venue-photo { border-radius: 16px; }
.golf-page .golf-venue-photo img { height: 640px; }
.golf-page .golf-scenarios { counter-reset: golf-scenario; }
.golf-page .golf-scenarios li { counter-increment: golf-scenario; position: relative; padding: 22px 0 22px 44px; }
.golf-page .golf-scenarios li::before { content: "0" counter(golf-scenario); position: absolute; left: 0; top: 24px; font-size: 13px; font-weight: 600; color: var(--blue); font-variant-numeric: tabular-nums; }
.golf-page .questions-layout { max-width: var(--max); display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 72px; }
.golf-page .questions-layout > h2 { text-align: left; font-size: clamp(32px, 3vw, 42px); margin-bottom: 0; }
.golf-page .questions-list { gap: 0; border-top: 1px solid var(--rule); }
.golf-page .questions-list details { border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; }
.golf-page .questions-list summary { padding-inline: 0; border-radius: 0; }
.golf-page .questions-list details p { padding-left: 0; }
.golf-page .questions-list details[open] { background: #fff; }
.golf-page .questions-list details[open] summary { color: var(--blue); }
.golf-page .contact { padding-block: 24px 80px; background: #fff; border-top: 0; }
.golf-page .cta-panel { background: var(--navy); border: 0; border-radius: 16px; color: #fff; padding: 56px 52px 28px; grid-template-columns: 1.15fr .85fr; gap: 0 56px; box-shadow: none; }
.golf-page .cta-copy .eyebrow.light { color: #aac7ff; }
.golf-page .cta-copy h2 { color: #fff; font-size: clamp(35px, 3.6vw, 50px); letter-spacing: -.045em; }
.golf-page .cta-copy > p:not(.eyebrow) { color: #d1ddef; font-size: 15px; }
.golf-page .cta-copy .btn-primary { background: #fff; color: var(--navy); border-color: #fff; }
.golf-page .cta-copy .btn-primary:hover { background: #e6efff; border-color: #e6efff; }
.golf-page .call-preview { background: #1a355f; border-color: #3c5880; border-radius: 12px; padding: 30px; }
.golf-page .call-icon { background: #284777; color: #fff; border-color: #6286bb; }
.golf-page .call-preview h3 { color: #fff; font-size: 28px; }
.golf-page .call-preview > p { color: #d1ddef; font-size: 14px; }
.golf-page .call-preview > div { color: #d1ddef; border-color: #476185; font-size: 11px; }
.golf-page .contact-links { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, .8fr); align-items: center; gap: 20px; border-top: 1px solid #40577a; margin-top: 44px; padding: 28px 0 0; }
.golf-page .contact-intro { font-size: 14px; line-height: 1.6; color: #fff; }
.golf-page .contact-intro > span { display: block; margin-top: 4px; color: #c0cfe5; font-size: 12px; }
.golf-page .contact-links > .contact-action { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; min-height: 84px; padding: 16px 18px; border: 1px solid #7188a9; border-radius: 8px; background: #1a355f; color: #fff; text-decoration: none; }
.golf-page .contact-action-label { color: #bed4ff; font-size: 12px; font-weight: 500; }
.golf-page .contact-action-value { font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.golf-page .contact-links > .contact-action:hover { color: #fff; background: #254775; border-color: #afc9f4; }
.golf-page .cta-panel :focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.golf-page .contact-links > .contact-action:active { background: #102344; }
@media (max-width: 1100px) {
  .golf-page .cta-panel { padding: 42px 32px 28px; gap: 0 32px; }
  .golf-page .contact-links { grid-template-columns: 1fr 1fr; }
  .golf-page .contact-intro { grid-column: 1 / -1; }
  .golf-page .contact-intro > span { display: inline; margin-left: 8px; }
  .golf-page .questions-layout { gap: 40px; }
}
@media (max-width: 760px) {
  .golf-page .golf-intro-strip .wrap { padding-block: 26px; }
  .golf-page .golf-intro-strip p { font-size: 15px; }
  .golf-page .golf-intro-strip strong { font-size: 18px; }
  .golf-page .golf-intro-strip ul { font-size: 12px; }
  .golf-page .how, .golf-page .golf-proof, .golf-page .product-simple { padding-block: 64px; }
  .golf-page .golf-venues { padding-block: 0 64px; }
  .golf-page .golf-venue-photo img { height: 440px; }
  .golf-page .feedback-example { padding: 24px; }
  .golf-page .feedback-example blockquote { font-size: 17px; }
  .golf-page .questions-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .golf-page .questions-layout > h2 { max-width: 420px; }
  .golf-page .contact { padding-block: 0 40px; }
  .golf-page .cta-panel { padding: 32px 24px 24px; grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .golf-page .call-preview { padding: 24px; }
  .golf-page .call-preview h3 { font-size: 24px; }
  .golf-page .contact-links { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 0; padding-top: 24px; }
  .golf-page .contact-intro { margin-bottom: 4px; }
  .golf-page .contact-intro > span { display: block; margin-left: 0; }
  .golf-page .contact-links > .contact-action { min-height: 80px; }
}
@media (max-width: 420px) {
  .golf-page .golf-intro-strip ul { font-size: 11px; }
  .golf-page .golf-intro-strip strong { display: block; }
  .golf-page .golf-intro-strip p strong::before { content: none; }
  .golf-page .cta-panel { padding-inline: 20px; }
  .golf-page .cta-copy h2 { font-size: 31px; }
  .golf-page .contact-action-value { font-size: 13px; }
  .golf-page .call-preview { padding: 20px; }
}

/* Hallmark · venue section: immersive photo + inline booking examples.
 * Approved Review Rep palette and Inter; energetic, for simulator owners.
 * Pre-emit critique: P4 H5 E4 S5 R4 V4.
 */
.golf-page .golf-venues { padding-block: 80px; background: var(--navy); color: var(--paper); }
.golf-venue-heading { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); align-items: end; gap: 64px; margin-bottom: 48px; }
.golf-venue-heading h2 { color: var(--paper); font-size: clamp(40px, 4.7vw, 64px); line-height: 1.07; letter-spacing: -.05em; text-wrap: initial; }
.golf-venue-heading h2 span { color: var(--golf-venue-accent); }
.golf-venue-heading > p { color: var(--golf-venue-muted); font-size: 16px; line-height: 1.8; padding-bottom: 4px; max-width: 36ch; }
.golf-page .golf-venue-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.golf-page .golf-venue-photo { border-radius: 8px; }
.golf-page .golf-venue-photo img { height: 540px; object-position: center 48%; }
.golf-scenario-instruction { color: var(--golf-venue-muted); font-size: 14px; margin-bottom: 16px; }
.golf-page .golf-scenarios { margin-top: 0; display: grid; gap: 12px; }
.golf-scenarios details { border: 1px solid var(--golf-venue-rule); border-radius: 8px; overflow: clip; transition: background .18s, border-color .18s; }
.golf-scenarios details[open] { color: var(--navy); background: var(--paper); border-color: var(--paper); }
.golf-scenarios summary { display: flex; align-items: center; gap: 16px; min-height: 76px; padding: 20px 24px; list-style: none; cursor: pointer; font-size: 18px; font-weight: 600; letter-spacing: -.025em; line-height: 1.4; }
.golf-scenarios summary::-webkit-details-marker { display: none; }
.golf-scenarios summary::marker { content: ''; }
.golf-scenarios details:not([open]) summary:hover { background: var(--golf-venue-hover); }
.golf-scenarios details[open] summary:hover { background: var(--blue-soft); }
.golf-scenarios summary:active { background: var(--golf-venue-hover); }
.golf-scenarios summary:focus-visible { outline: 3px solid var(--golf-venue-accent); outline-offset: -5px; border-radius: 8px; }
.golf-scenarios details[open] summary:focus-visible { outline-color: var(--blue); }
.golf-scenarios .golf-scenario-icon { width: 24px; height: 24px; color: var(--golf-venue-accent); }
.golf-scenarios details[open] .golf-scenario-icon { color: var(--blue); }
.golf-scenario-toggle { position: relative; width: 20px; height: 20px; margin-left: auto; flex: none; }
.golf-scenario-toggle::before, .golf-scenario-toggle::after { content: ''; position: absolute; background: currentColor; left: 3px; top: 9px; width: 14px; height: 2px; }
.golf-scenario-toggle::after { transform: rotate(90deg); transition: transform .18s; }
.golf-scenarios details[open] .golf-scenario-toggle::after { transform: rotate(0); }
.golf-scenario-content { padding: 0 24px 24px; }
.golf-scenario-content > p { color: var(--muted); font-size: 15px; line-height: 1.7; margin: 0; }
.golf-feedback-sample { border-left: 2px solid var(--blue); padding-left: 16px; margin-top: 20px; }
.golf-feedback-sample > span { display: block; font-size: 12px; color: var(--muted); }
.golf-scenarios .golf-feedback-sample > p { color: var(--navy); font-size: 17px; line-height: 1.6; margin-top: 8px; }
.golf-venue-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; }
.golf-venue-action > p { font-size: 14px; line-height: 1.7; color: var(--golf-venue-muted); }
.golf-venue-action .text-link { color: var(--paper); gap: 12px; white-space: nowrap; text-decoration: underline; text-underline-offset: 5px; }
.golf-venue-action .text-link:hover { color: var(--golf-venue-accent); }
.golf-venue-action .text-link:focus-visible { outline-color: var(--golf-venue-accent); }
.golf-page .faq-simple { padding-top: 88px; }
@media (max-width: 1100px) {
  .golf-venue-heading { gap: 32px; }
  .golf-venue-heading h2 { font-size: clamp(40px, 4.8vw, 54px); }
  .golf-page .golf-venue-layout { gap: 32px; }
  .golf-page .golf-venue-photo img { height: 570px; }
  .golf-scenarios summary { font-size: 16px; padding-inline: 20px; gap: 12px; }
  .golf-scenario-content { padding-inline: 20px; }
  .golf-venue-action { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 900px) {
  .golf-venue-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .golf-venue-heading > p { max-width: 60ch; }
  .golf-page .golf-venue-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 24px; }
  .golf-scenarios summary { padding-inline: 16px; font-size: 15px; }
  .golf-scenario-content { padding-inline: 16px; }
}
@media (max-width: 760px) {
  .golf-page .golf-venues { padding-block: 56px; }
  .golf-venue-heading { margin-bottom: 32px; }
  .golf-venue-heading h2 { font-size: clamp(34px, 7.8vw, 52px); }
  .golf-venue-heading > p { font-size: 16px; }
  .golf-page .golf-venue-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .golf-page .golf-venue-photo img { height: auto; aspect-ratio: 1.12; object-position: center 45%; }
  .golf-scenarios summary { min-height: 76px; padding: 20px; font-size: 16px; }
  .golf-scenario-content { padding: 0 20px 24px; }
  .golf-scenario-content > p { font-size: 16px; }
  .golf-venue-action { margin-top: 24px; }
  .golf-page .faq-simple { padding-top: 56px; }
}
@media (max-width: 374px) {
  .golf-venue-heading h2 { font-size: 32px; }
  .golf-scenarios summary { padding-inline: 14px; gap: 10px; font-size: 15px; }
  .golf-scenarios .golf-scenario-icon { width: 20px; height: 20px; }
  .golf-scenario-content { padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .golf-scenarios details, .golf-scenario-toggle::after { transition: none; }
}

/* One demo offer, three concrete benefits, and direct contact links. */
.golf-page .golf-contact-simple {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "copy points" "booking points" "contacts contacts";
  gap: 24px 64px;
  padding: 48px 52px 24px;
}
.golf-contact-simple .cta-copy { grid-area: copy; }
.golf-page .golf-contact-simple .cta-copy > p { margin-top: 16px; }
.golf-call-points { grid-area: points; display: grid; gap: 24px; align-self: center; }
.golf-call-points li { display: flex; align-items: flex-start; gap: 14px; color: var(--paper); font-size: 18px; line-height: 1.6; }
.golf-call-points svg { width: 22px; height: 22px; margin-top: 3px; color: var(--golf-venue-accent); }
.golf-call-booking { grid-area: booking; justify-self: start; }
.golf-page .golf-contact-simple .contact-links { grid-area: contacts; margin-top: 12px; padding-top: 20px; gap: 24px; }
.golf-page .golf-contact-simple .contact-intro { color: var(--golf-venue-muted); grid-column: auto; }
.golf-page .golf-contact-simple .contact-action { min-height: 52px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; gap: 2px; }
.golf-page .golf-contact-simple .contact-action:hover { background: transparent; color: var(--golf-venue-accent); }
.golf-page .golf-contact-simple .contact-action:active { color: var(--paper); }
@media (max-width: 1100px) {
  .golf-page .golf-contact-simple { padding: 40px 32px 24px; gap: 24px 32px; }
  .golf-page .golf-contact-simple .contact-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .8fr); }
  .golf-call-points li { font-size: 16px; }
}
@media (max-width: 760px) {
  .golf-page .golf-contact-simple { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "points" "booking" "contacts"; padding: 32px 24px 24px; gap: 28px; }
  .golf-page .golf-contact-simple .cta-copy h2 { font-size: clamp(32px, 6vw, 42px); }
  .golf-call-points { gap: 16px; }
  .golf-page .golf-contact-simple .contact-links { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 0; }
  .golf-page .golf-contact-simple .contact-intro { margin-bottom: 0; }
}
@media (max-width: 374px) {
  .golf-page .golf-contact-simple { padding-inline: 20px; }
  .golf-call-booking { gap: 12px; padding-inline: 16px; }
}

/* Mobile refinements: match the original page's stacked benefits and clear controls. */
@media (max-width: 760px) {
  .golf-page .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .golf-page .hero-actions .btn { white-space: nowrap; }
  .golf-page .hero-details { margin-top: 24px; }
  .golf-page .golf-intro-strip ul { gap: 10px 16px; font-size: 13px; }
  .golf-page .golf-intro-strip li + li { border-left: 0; padding-left: 0; }
  .golf-page .golf-intro-strip li { white-space: nowrap; }
  .golf-page .autopilot-services p { font-size: 15px; }
  .golf-page .questions-list summary { font-size: 16px; line-height: 1.5; }
  .golf-page .questions-list details p { font-size: 15px; line-height: 1.7; }
  .golf-page .golf-appeals { align-items: flex-start; gap: 18px; }
  .golf-page .golf-appeals p { font-size: 13px; }
  .golf-page .golf-chart .dual-results .result-channel { white-space: normal; letter-spacing: 0; }
  .golf-page .golf-venue-action .text-link { white-space: normal; }
}
@media (max-width: 600px) {
  .golf-page .golf-progression .week-group > .bar-label:first-of-type { transform: translateY(-18px); }
}
