.club-head {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 104px;
  grid-template-rows: 68px 38px;
  border-bottom: 1px solid var(--ink);
  background: var(--paper);
}
.brand { display: grid; place-items: center; background: var(--logo-black); }
.brand img { width: 58px; height: 58px; display: block; object-fit: cover; }
.wordmark { align-self: center; margin: 0; padding: 0 12px; font: 400 8px/1.25 DM Mono, monospace; text-transform: uppercase; }
.wordmark span { color: var(--bronze-ink); }
.head-action { display: flex; align-items: center; justify-content: space-between; min-height: 44px; height: 68px; padding: 0 12px; background: var(--bronze); text-decoration: none; font: 500 8px/1 DM Mono, monospace; text-transform: uppercase; }
.club-nav { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--white); }
.club-nav a { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; border-right: 1px solid var(--ink); text-decoration: none; font: 500 8px/1 DM Mono, monospace; text-transform: uppercase; }
.club-nav a:last-child { border-right: 0; }
.club-nav span { color: var(--bronze-ink); }

.map-section { padding: 36px 14px 26px; }
.map-heading { margin-bottom: 28px; }
.map-heading h1 { margin: 16px 0 0; font-size: clamp(36px, 10.2vw, 43px); line-height: .98; font-weight: 500; letter-spacing: -.058em; }
.map-heading > p { max-width: 430px; margin: 22px 0 0; font-size: 13px; line-height: 1.6; }
.club-plan { position: relative; display: flex; flex-direction: column; padding-bottom: 68px; border: 1px solid var(--ink); background-color: var(--white); background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size: 26px 26px; overflow: hidden; }
.club-plan::before { content: ""; position: absolute; left: 50%; top: 244px; bottom: 52px; width: 1px; background: var(--ink); }
.club-plan::after { content: "QUATTRO POSTAZIONI / UN SOLO INGRESSO"; position: absolute; left: 0; right: 0; bottom: 25px; text-align: center; font: 400 7px/1 DM Mono, monospace; letter-spacing: .1em; }
.chair-room { position: relative; order: -1; height: 244px; margin: 0; border-bottom: 1px solid var(--ink); background: var(--black); overflow: hidden; }
.chair-room img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 47%; filter: saturate(.75) contrast(1.08); }
.chair-room figcaption { position: absolute; left: 10px; top: 10px; padding: 7px; background: rgba(9, 10, 10, .86); color: var(--white); font: 400 6px/1 DM Mono, monospace; text-transform: uppercase; }
.entry-point { position: absolute; right: 12px; bottom: 12px; width: 138px; height: 52px; display: grid; grid-template-columns: auto 30px; grid-template-areas: "label mark" "note mark"; align-content: center; padding: 9px 20px 9px 24px; background: var(--bronze); color: var(--black); clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%); }
.entry-point span { grid-area: label; }
.entry-point strong { grid-area: mark; align-self: center; font: 500 26px/.9 Manrope, sans-serif; }
.entry-point small { grid-area: note; max-width: 70px; }
.entry-point span, .entry-point small { font: 400 6px/1.2 DM Mono, monospace; text-transform: uppercase; }
.room { position: relative; z-index: 1; width: 78%; min-height: 148px; display: flex; flex-direction: column; padding: 24px 22px 30px; background: rgba(251, 249, 243, .94); transition: color .2s; }
.room-hair, .room-face { margin: 32px 0 0; align-items: flex-start; text-align: left; }
.room-beard, .room-tricho { margin: 22px 0 0 auto; align-items: flex-end; text-align: right; }
.room::before { content: ""; position: absolute; width: 58%; height: 58%; border-color: var(--ink); border-style: solid; pointer-events: none; transition: border-color .2s; }
.room::after { content: ""; position: absolute; bottom: 0; width: 64px; height: 8px; background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 6px); }
.room-hair::before, .room-face::before { left: 0; top: 0; border-width: 2px 0 0 2px; }
.room-beard::before, .room-tricho::before { right: 0; top: 0; border-width: 2px 2px 0 0; }
.room-hair::after, .room-face::after { right: 0; }
.room-beard::after, .room-tricho::after { left: 0; }
.room:hover, .room:focus-within { color: var(--bronze); }
.room:hover::before, .room:focus-within::before { border-color: var(--bronze); }
.room-code { color: var(--bronze-ink); font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }
.room h2 { margin: auto 0 10px; padding-top: 28px; font-size: 29px; line-height: 1; font-weight: 500; letter-spacing: -.05em; }
.room p { max-width: 190px; margin: 0 0 14px; font-size: 10px; line-height: 1.45; }
.room a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid; text-decoration: none; font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }
.passage { display: none; }
.map-note { margin: 12px 0 0; font: 400 7px/1.45 DM Mono, monospace; text-transform: uppercase; color: #5d5e59; }

.service-ledger { background: var(--black); color: var(--white); }
.service-ledger .code, .club-strip .code { color: var(--bronze); }
.ledger-heading { padding: 52px 20px 40px; border-bottom: 1px solid #373836; }
.ledger-heading h2 { max-width: 560px; margin: 20px 0; font-size: 35px; line-height: 1.03; font-weight: 500; letter-spacing: -.05em; }
.ledger-heading > p:last-child { max-width: 570px; margin: 0; color: #b8b7b1; font-size: 12px; line-height: 1.65; }
.route { position: relative; padding: 34px 20px 38px; border-bottom: 1px solid #4a4b48; }
.route::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: -5px; height: 9px; background: repeating-linear-gradient(90deg, var(--bronze) 0 2px, transparent 2px 8px); }
.route header > span { color: var(--bronze); font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }
.route h3 { max-width: 520px; margin: 15px 0 30px; font-size: 28px; line-height: 1.08; font-weight: 500; letter-spacing: -.045em; }
.route ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid #5a5b57; }
.route li { display: grid; gap: 7px; padding: 17px 0; border-bottom: 1px solid #373836; }
.route li strong { font-size: 12px; font-weight: 500; }
.route li span { color: #aaa9a3; font-size: 11px; line-height: 1.55; }
.route > a { min-height: 44px; display: inline-flex; align-items: center; gap: 14px; margin-top: 20px; border-bottom: 1px solid var(--bronze); text-decoration: none; font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }

.club-record { display: grid; grid-template-columns: 68px 1fr; gap: 18px; align-items: center; padding: 28px 20px; background: var(--bronze); }
.record-mark { grid-row: 1 / 3; display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid var(--ink); border-radius: 50%; font: 500 18px/1 DM Mono, monospace; }
.club-record p { margin: 0; }
.club-record strong, .club-record p span { display: block; }
.club-record strong { margin-bottom: 7px; font: 500 10px/1.2 DM Mono, monospace; text-transform: uppercase; }
.club-record p span { font-size: 11px; line-height: 1.5; }
.record-place { grid-column: 2; font: 400 7px/1 DM Mono, monospace; text-transform: uppercase; }

.club-strip { position: relative; padding: 52px 24px; background: var(--logo-black); color: var(--white); }
.strip-copy h2 { margin: 22px 0; font-size: 35px; line-height: 1.02; font-weight: 500; letter-spacing: -.05em; }
.strip-copy p { margin: 0; color: #bbbcb7; font-size: 12px; line-height: 1.7; }
.club-strip ul { margin: 34px 0 20px; padding: 0; list-style: none; border-top: 1px solid #4d4e4a; }
.club-strip li { padding: 14px 0; border-bottom: 1px solid #4d4e4a; font-size: 11px; }
.club-strip > a { min-height: 44px; display: inline-flex; align-items: center; gap: 28px; border-bottom: 1px solid var(--bronze); text-decoration: none; font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }
.blade-rivet { position: absolute; right: 20px; top: 20px; width: 18px; height: 18px; border: 1px solid var(--bronze); border-radius: 50%; }
.blade-rivet::after { content: ""; position: absolute; inset: 5px; border: 1px solid var(--bronze); border-radius: 50%; }

.access-guide { display: grid; gap: 36px; padding: 56px 20px; background: var(--white); }
.guide-title h2 { max-width: 460px; margin: 20px 0 0; font-size: 35px; line-height: 1.03; font-weight: 500; letter-spacing: -.05em; }
.guide-lines { border-bottom: 1px solid var(--ink); }
.guide-lines details { border-top: 1px solid var(--ink); }
.guide-lines summary { min-height: 60px; display: grid; grid-template-columns: 1fr 18px; gap: 12px; align-items: center; cursor: pointer; list-style: none; font-size: 12px; line-height: 1.4; }
.guide-lines summary::-webkit-details-marker { display: none; }
.guide-lines summary::after { content: "+"; justify-self: end; color: var(--bronze); font: 500 18px/1 DM Mono, monospace; }
.guide-lines details[open] summary::after { content: "−"; }
.guide-lines details p { margin: -2px 0 0; padding: 0 20px 20px 0; font-size: 11px; line-height: 1.6; }

.access-desk { display: grid; gap: 38px; padding: 58px 20px 34px; background: var(--paper); }
.access-title h2 { max-width: 520px; margin: 20px 0 0; font-size: 36px; line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.access-desk dl { margin: 0; border-top: 1px solid var(--ink); }
.access-desk dl div { display: grid; grid-template-columns: 82px 1fr; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--ink); }
.access-desk dt { font: 400 8px/1.4 DM Mono, monospace; text-transform: uppercase; }
.access-desk dd { margin: 0; font-size: 11px; }
.access-actions { display: grid; gap: 10px; }
.booking-key { position: relative; min-height: 92px; display: flex; justify-content: space-between; align-items: center; padding: 24px 44px 24px 38px; background: var(--bronze); clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%, 8% 50%); text-decoration: none; font: 500 9px/1.4 DM Mono, monospace; text-transform: uppercase; }
.booking-key::after { content: ""; position: absolute; right: 26px; top: 50%; width: 14px; height: 14px; border: 1px solid var(--ink); border-radius: 50%; transform: translateY(-50%); }
.booking-key strong { font-size: 18px; }
.map-key { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 4px; border-bottom: 1px solid var(--ink); text-decoration: none; font: 400 8px/1 DM Mono, monospace; text-transform: uppercase; }
.access-note { margin: 0; padding-top: 20px; border-top: 1px solid var(--line); font: 400 7px/1.5 DM Mono, monospace; text-transform: uppercase; }

.club-footer { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 0; padding-top: 10px; background: var(--logo-black); color: var(--white); }
.club-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: repeating-linear-gradient(90deg, var(--paper) 0 2px, transparent 2px 8px); }
.footer-brand { grid-row: 1 / 3; display: grid; place-items: center; min-height: 106px; background: var(--logo-black); }
.footer-brand img { width: 72px; height: 72px; display: block; object-fit: cover; }
.club-footer > p { align-self: center; margin: 0; padding: 18px 14px 8px; font: 400 8px/1.55 DM Mono, monospace; text-transform: uppercase; }
.club-footer > p span { color: var(--bronze); }
.club-footer nav { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 8px 14px 18px; }
.club-footer nav a, .footer-exit { min-height: 30px; display: inline-flex; align-items: center; font: 400 7px/1 DM Mono, monospace; text-transform: uppercase; }
.footer-exit { grid-column: 1 / -1; min-height: 48px; justify-content: space-between; padding: 0 18px; background: var(--bronze); color: var(--black); text-decoration: none; }

@media (min-width: 700px) {
  section, article { scroll-margin-top: 80px; }
  .club-head { grid-template-columns: 78px 190px minmax(0, 1fr) 145px; grid-template-rows: 78px; }
  .brand img { width: 68px; height: 68px; }
  .wordmark { padding-inline: 20px; }
  .club-nav { grid-column: 3; grid-row: 1; align-self: stretch; background: transparent; }
  .club-nav a { min-height: 78px; border-left: 1px solid #c1beb5; border-right: 0; }
  .head-action { grid-column: 4; grid-row: 1; height: 78px; padding-inline: 20px; }
  .map-section { padding: 52px 5vw 34px; }
  .map-heading { display: grid; grid-template-columns: 1fr 280px; gap: 40px; align-items: end; }
  .map-heading h1 { font-size: 48px; }
  .map-heading > p { margin: 0 0 4px; }
  .club-plan { min-height: 650px; display: grid; grid-template-columns: 1fr 48px 1.1fr 48px 1fr; grid-template-rows: 1fr 52px 1fr; padding: 0; background-size: 31px 31px; }
  .club-plan::before, .club-plan::after { content: none; }
  .chair-room { order: initial; grid-column: 3; grid-row: 1 / 4; height: auto; border: 0; border-inline: 1px solid var(--ink); }
  .room { width: auto; min-height: 0; margin: 0 !important; padding: 20px 18px 34px; background: transparent; }
  .room-hair, .room-face { align-items: flex-start; text-align: left; }
  .room-beard, .room-tricho { align-items: flex-end; text-align: right; }
  .room::before { width: 42%; height: 42%; }
  .room::after { width: 56px; }
  .room-hair { grid-column: 1; grid-row: 1; }
  .room-beard { grid-column: 5; grid-row: 1; }
  .room-face { grid-column: 1; grid-row: 3; }
  .room-tricho { grid-column: 5; grid-row: 3; }
  .room-hair::before, .room-beard::before { top: 0; bottom: auto; }
  .room-face::before, .room-tricho::before { top: auto; bottom: 0; }
  .room-face::before { border-width: 0 0 2px 2px; }
  .room-tricho::before { border-width: 0 2px 2px 0; }
  .room h2 { font-size: 28px; }
  .room p { min-height: 30px; font-size: 9px; }
  .passage { position: relative; display: grid; place-items: center; }
  .passage span { display: block; background: var(--ink); }
  .passage-north { grid-column: 2 / 5; grid-row: 1; pointer-events: none; }
  .passage-south { grid-column: 2 / 5; grid-row: 3; pointer-events: none; }
  .passage-north span, .passage-south span { width: 100%; height: 1px; }
  .passage-west { grid-column: 1 / 3; grid-row: 2; }
  .passage-east { grid-column: 4 / 6; grid-row: 2; }
  .passage-west span, .passage-east span { width: 100%; height: 1px; }
  .map-note { text-align: right; }
  .ledger-heading { display: grid; grid-template-columns: 150px minmax(280px, 1fr) minmax(220px, 340px); gap: 30px; align-items: end; padding: 54px 5vw 42px; }
  .ledger-heading h2, .ledger-heading > p:last-child { margin: 0; }
  .route { display: grid; grid-template-columns: minmax(150px, .75fr) minmax(250px, 1.4fr) minmax(120px, .7fr); gap: 24px; align-items: start; padding: 38px 5vw 42px; }
  .route::after { left: 5vw; right: 5vw; }
  .route h3 { margin-bottom: 0; }
  .route > a { justify-self: end; text-align: right; }
  .club-record { grid-template-columns: 78px minmax(280px, 1fr) auto; padding: 26px 5vw; }
  .record-mark { grid-row: auto; }
  .club-record p { display: grid; grid-template-columns: 210px 1fr; gap: 22px; align-items: center; }
  .record-place { grid-column: auto; }
  .club-strip { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px 32px; align-items: center; margin: 0 3vw; padding: 42px 8vw 42px 6vw; clip-path: polygon(18px 50%, 0 0, calc(100% - 54px) 0, 100% 50%, calc(100% - 54px) 100%, 0 100%); }
  .strip-copy h2 { margin-top: 0; }
  .club-strip ul { grid-column: 2; margin: 0; }
  .club-strip > a { grid-column: 2; justify-self: start; align-self: center; }
  .blade-rivet { right: 32px; top: 50%; transform: translateY(-50%); }
  .access-guide { grid-template-columns: minmax(240px, .8fr) minmax(380px, 1.2fr); gap: 8vw; padding: 72px 7vw; }
  .access-desk { grid-template-columns: .9fr 1.05fr; grid-template-areas: "title data" "actions data" "note note"; gap: 46px 8vw; padding: 72px 7vw 34px; }
  .access-title { grid-area: title; }
  .access-desk dl { grid-area: data; }
  .access-actions { grid-area: actions; max-width: 340px; }
  .access-note { grid-area: note; }
  .club-footer { grid-template-columns: 92px 1fr 1.2fr 150px; align-items: center; min-height: 110px; padding: 10px 5vw 0; }
  .footer-brand { grid-row: auto; min-height: 100px; }
  .club-footer > p { padding: 18px; }
  .club-footer nav { justify-content: center; padding: 18px; }
  .footer-exit { grid-column: auto; min-height: 100px; padding-inline: 24px; }
}

@media (min-width: 1050px) {
  .club-head { grid-template-columns: 88px 270px minmax(0, 1fr) 150px; grid-template-rows: 88px; }
  .brand img { width: 78px; height: 78px; }
  .club-nav a, .head-action { min-height: 88px; height: 88px; }
  .map-heading { grid-template-columns: 1fr 400px; gap: 60px; margin-bottom: 36px; }
  .map-heading h1 { font-size: clamp(48px, 4.1vw, 60px); }
  .club-plan { min-height: 660px; grid-template-columns: minmax(190px, 1fr) 92px minmax(290px, 1.28fr) 92px minmax(190px, 1fr); grid-template-rows: 1fr 92px 1fr; }
  .room { padding: 30px 28px 38px; }
  .room h2 { font-size: clamp(30px, 2.7vw, 42px); }
  .room p { max-width: 220px; font-size: 11px; }
  .room::after { width: 82px; height: 10px; }
  .entry-point { right: 18px; bottom: 20px; width: 170px; height: 64px; padding: 12px 26px 12px 28px; }
  .entry-point strong { font-size: 34px; }
  .entry-point span, .entry-point small { font-size: 7px; }
  .ledger-heading h2 { font-size: 42px; }
  .route { grid-template-columns: minmax(260px, .85fr) minmax(430px, 1.35fr) 220px; padding-block: 44px 48px; }
  .route h3 { font-size: 32px; }
  .route li { grid-template-columns: 180px 1fr; gap: 20px; }
  .club-strip { grid-template-columns: 170px minmax(290px, .9fr) minmax(250px, .7fr) 190px; gap: 32px; padding: 42px 6vw 42px 5vw; }
  .club-strip ul, .club-strip > a { grid-column: auto; }
  .strip-copy h2 { font-size: 38px; }
  .access-desk { grid-template-columns: .9fr 1fr 340px; grid-template-areas: "title data actions" "note note note"; gap: 52px 6vw; }
  .access-actions { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Revisione 2: header mobile autonomo, CTA e testi leggibili. */
.club-head{grid-template-columns:68px minmax(0,1fr) 58px;grid-template-rows:68px;min-height:68px}
.brand img{width:58px;height:58px}.wordmark{padding-inline:12px;font-size:9px}.head-action{display:none}
.menu-toggle{display:none;place-items:center;align-content:center;gap:6px;min-width:58px;min-height:68px;padding:0;border:0;border-left:1px solid var(--ink);background:var(--logo-black);color:var(--white);cursor:pointer}.js .menu-toggle{display:grid}.menu-toggle>span:not(.sr-only){display:block;width:22px;height:2px;background:currentColor;transition:transform .22s ease}.menu-toggle[aria-expanded=true]>span:nth-last-child(2){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}
.club-nav{grid-column:1/-1;display:grid;grid-template-columns:1fr;background:var(--white);border-top:1px solid var(--ink)}.js .club-nav{position:absolute;left:0;right:0;top:100%;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;box-shadow:0 18px 34px rgba(9,10,10,.2);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s}.js .club-nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}.club-nav a{min-height:56px;justify-content:space-between;padding:0 18px;border-right:0;border-bottom:1px solid var(--ink);font-size:10px}.club-nav a::after{content:'↘';color:var(--bronze-ink)}.club-nav a[aria-current]{background:var(--paper)}.club-nav .mobile-booking{min-height:64px;background:var(--bronze);font-size:11px}.club-nav .mobile-booking::after{content:none}
.map-section{padding-top:42px}.map-heading{margin-bottom:32px}.map-heading>p{margin:0}.map-intro{display:grid;gap:20px;margin-top:24px}.map-intro>p{max-width:430px;margin:0;font-size:15px;line-height:1.65}.hero-actions{display:grid;gap:10px}.hero-booking,.hero-explore{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border:1px solid var(--ink);text-decoration:none;font:500 10px/1.2 'DM Mono',monospace;text-transform:uppercase;transition:transform .2s ease,background .2s ease}.hero-booking{background:var(--bronze)}.hero-explore{background:var(--white)}.hero-booking:hover,.hero-booking:focus-visible,.hero-explore:hover,.hero-explore:focus-visible{transform:translateY(-2px)}
.room p{font-size:12px;line-height:1.55}.room a{min-height:48px;font-size:10px;font-weight:500}.ledger-heading>p:last-child{font-size:14px}.route li strong{font-size:14px}.route li span{font-size:13px}.route>a{min-height:54px;padding:0 16px;background:var(--bronze);color:var(--black);border:1px solid var(--bronze);font-size:10px;font-weight:500}.route>a:hover,.route>a:focus-visible{color:var(--black);background:var(--bronze-light)}
.club-strip .strip-copy p{font-size:14px}.club-strip li{font-size:13px}.club-strip>a{min-height:54px;padding:0 16px;background:var(--bronze);color:var(--black);border:1px solid var(--bronze);font-size:10px;font-weight:500}.club-strip>a:hover,.club-strip>a:focus-visible{color:var(--black);background:var(--bronze-light)}
.guide-lines summary{min-height:64px;font-size:14px}.guide-lines details p{font-size:13px}.access-desk dd{font-size:13px}.map-key{min-height:52px;font-size:10px}.contact-pair a{font-size:10px}.footer-exit{min-height:54px;font-size:9px}

@media(min-width:600px){.hero-actions{grid-template-columns:repeat(2,minmax(0,210px));width:max-content}}
@media(min-width:700px){
  .club-head{grid-template-columns:78px 190px minmax(0,1fr) 145px;grid-template-rows:78px}.brand img{width:68px;height:68px}.wordmark{padding-inline:20px}.menu-toggle,.js .menu-toggle{display:none}.club-nav,.js .club-nav{position:static;grid-column:3;grid-row:1;display:grid;grid-template-columns:repeat(3,1fr);align-self:stretch;visibility:visible;opacity:1;transform:none;pointer-events:auto;border-top:0;box-shadow:none;transition:none;background:transparent}.club-nav a{min-height:78px;justify-content:center;padding:0 8px;border-left:1px solid #c1beb5;border-right:0;border-bottom:0;font-size:9px}.club-nav a::after{content:none}.club-nav .mobile-booking{display:none}.head-action{display:flex;grid-column:4;grid-row:1;height:78px;padding-inline:20px;font-size:9px}
  .map-intro{margin:0 0 4px}.map-heading{grid-template-columns:1fr minmax(300px,390px);align-items:end}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.hero-booking,.hero-explore{font-size:9px}.room p{font-size:11px}.route>a,.club-strip>a{font-size:9px}
  .ledger-heading{grid-template-columns:120px minmax(200px,1fr) minmax(160px,220px);gap:18px;padding-inline:4vw}.access-guide{grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);gap:4vw;padding-inline:5vw}
}
@media(min-width:834px){.ledger-heading{grid-template-columns:150px minmax(280px,1fr) minmax(200px,300px);gap:24px;padding-inline:5vw}.access-guide{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:6vw;padding-inline:7vw}}
@media(min-width:1050px){.club-head{grid-template-columns:88px 270px minmax(0,1fr) 150px;grid-template-rows:88px}.brand img{width:78px;height:78px}.club-nav a,.head-action{min-height:88px;height:88px;font-size:10px}.map-heading{grid-template-columns:1fr 430px}.route{grid-template-columns:minmax(220px,.8fr) minmax(360px,1.35fr) minmax(160px,200px);gap:18px}.route li strong{font-size:13px}.route li span{font-size:12px}.ledger-heading{grid-template-columns:150px minmax(280px,1fr) minmax(220px,340px);gap:30px}.club-strip{grid-template-columns:120px minmax(240px,.9fr) minmax(180px,.7fr) 170px;gap:18px;padding-inline:4vw}.access-guide{gap:8vw}}
@media(min-width:1200px){.route{grid-template-columns:minmax(260px,.85fr) minmax(430px,1.35fr) 220px;gap:24px}.club-strip{grid-template-columns:170px minmax(290px,.9fr) minmax(250px,.7fr) 190px;gap:32px;padding-inline:5vw 6vw}}
@media(prefers-reduced-motion:reduce){.js .club-nav,.menu-toggle>span,.hero-booking,.hero-explore{transition:none}}

/* CTA: tipografia e contrasto, senza modificare il layout. */
.club-nav .mobile-booking{font-size:13px;font-weight:500}
.hero-booking,.hero-explore{font-size:13px;font-weight:500;letter-spacing:.015em}
.room a{padding-inline:12px;border:1px solid var(--ink);background:var(--white);font-size:12px;font-weight:500}
.route>a,.club-strip>a{font-size:13px;font-weight:500;letter-spacing:.01em}
.booking-key{font-size:13px;font-weight:500;letter-spacing:.01em}
.map-key{padding-inline:14px;border:1px solid var(--ink);background:var(--white);font-size:12px;font-weight:500}
.contact-pair{gap:10px}.contact-pair a{padding-inline:14px;border:1px solid var(--ink);background:var(--white);font-size:12px;font-weight:500}.contact-pair span{font-size:14px;font-weight:500}
.footer-exit{font-size:12px;font-weight:500}.head-action{font-size:12px;font-weight:500}
.cta-icon{width:1.2em;height:1.2em;flex:0 0 1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.booking-key>.cta-icon{position:relative;z-index:1;width:20px;height:20px;flex-basis:20px;margin-right:4px}.contact-pair a{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label icon" "value value";align-items:center;column-gap:10px}.contact-pair .contact-label{grid-area:label}.contact-pair .cta-icon{grid-area:icon;width:18px;height:18px;flex-basis:18px}.contact-pair a>span:last-child{grid-area:value}
@media(min-width:700px){.hero-booking,.hero-explore{font-size:11px}.route>a,.club-strip>a{font-size:11px}.booking-key{font-size:12px}.head-action{font-size:11px}}
@media(min-width:1050px){.hero-booking,.hero-explore,.route>a,.club-strip>a,.booking-key,.head-action{font-size:12px}}
