
.discovery { --discovery-width: 1240px; background: var(--paper); }
html:has(body.discovery) { scroll-padding-top: var(--discovery-header-offset, 168px); }
.discovery main { overflow: clip; }
.discovery a { text-underline-offset: .25em; }
.discovery a:hover { text-decoration: underline; }
.discovery-icon { display: inline-block; flex: 0 0 auto; width: 18px; height: 18px; vertical-align: middle; }
.discovery .button { text-align: center; text-decoration: none; min-height: 48px; padding: 12px 22px; line-height: 1.35; }
.discovery .eyebrow { display: block; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .12em; line-height: 1.6; }
.discovery-preview { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 24px; padding: 10px 20px; color: var(--green-dark); background: var(--sand); font-size: 12px; text-align: center; }
.discovery-preview a { font-weight: 700; text-decoration: underline; }
.discovery-skip { position: fixed; left: 16px; top: -100px; z-index: 60; padding: 14px 22px; background: white; border: 2px solid var(--green); border-radius: 12px; }
.discovery-skip:focus { top: 12px; }
.discovery-header { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 12px max(24px, calc((100% - var(--discovery-width))/2)); border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 4px 18px #241a5906; }
.discovery-header .brand { white-space: nowrap; }
.discovery-header nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 20px; }
.discovery-header nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; color: var(--ink-soft); }
.discovery-header nav a[aria-current] { color: var(--green-dark); text-decoration: underline; font-weight: 750; }
.discovery-header-actions { display: flex; align-items: center; justify-self: end; gap: 10px; min-width: 0; }
.discovery-header-actions .button { min-width: 0; font-size: 14px; padding: 10px 16px; }
.discovery-header-actions .button:hover { text-decoration: none; }
.discovery-header-actions .button--secondary { background: var(--green-soft); border-color: #c3b5d7; color: var(--green-dark); }
.discovery-header-actions .button--secondary:hover { background: var(--sand); }
.discovery-header-actions .button:focus-visible { outline: 3px solid #8162bf; outline-offset: 3px; }
.discovery-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); width: min(var(--discovery-width), calc(100% - 48px)); margin: 34px auto 0; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: var(--cream); }
.discovery-hero-copy { align-self: center; padding: clamp(28px, 4vw, 60px); }
.discovery-hero h1 { margin: 20px 0; color: var(--green-dark); font-size: clamp(36px, 4.7vw, 65px); line-height: 1.07; text-wrap: balance; }
.discovery-hero p { margin: 0 0 28px; font-size: 17px; line-height: 1.7; color: var(--ink-soft); }
.discovery-hero-photo { position: relative; min-height: 540px; background: var(--sand); }
.discovery-hero-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.discovery-hero--home { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.discovery-hero--home h1 { font-size: clamp(32px, 3.8vw, 52px); }
.discovery-hero--home .discovery-hero-copy { min-width: 0; padding: clamp(24px, 3.5vw, 44px); }
.discovery-hero-sedes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-self: center; gap: 14px; min-width: 0; padding: 24px 24px 24px 0; }
.discovery-hero-sede { position: relative; isolation: isolate; display: grid; grid-template-rows: minmax(48px, 1fr) auto; aspect-ratio: 1; min-width: 0; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: var(--sand); color: #392a56; text-decoration: none; }
.discovery-hero-sede > img, .discovery-hero-sede > .discovery-photo-empty { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.discovery-hero-sede-label { grid-row: 2; justify-self: start; max-width: calc(100% - 24px); margin: 12px; padding: 12px 14px; border: 1px solid #ffffffb3; border-radius: 13px; background: #fcfbffe6; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 4px 20px #20133314; overflow-wrap: anywhere; }
.discovery-hero-sede-label strong { display: block; font-family: Georgia, serif; font-size: clamp(18px, 2vw, 26px); line-height: 1.2; font-weight: 400; }
.discovery-hero-sede-label > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 7px; font-size: 12px; line-height: 1.4; }
.discovery .discovery-hero-sede:hover { text-decoration: none; border-color: #ae98d5; }
.discovery-hero-sede:hover .discovery-hero-sede-label { background: #fcfbff; }
.discovery-hero-sede:focus-visible { outline: 3px solid #8162bf; outline-offset: 3px; }
.discovery-photo-empty { display: grid; align-content: center; justify-items: center; gap: 10px; min-height: 240px; height: 100%; background: linear-gradient(140deg, var(--sand), #ded6fa); color: var(--green-dark); }
.discovery-photo-empty span { font-family: Georgia, serif; font-size: 72px; }
.discovery-photo-empty small { letter-spacing: .1em; }
.discovery-shortcuts { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 12px; width: min(var(--discovery-width), calc(100% - 48px)); margin: 8px auto 0; padding: 8px 0; color: var(--ink-soft); font-size: 13px; }
.discovery-shortcuts a { display: flex; align-items: center; gap: 6px; min-height: 44px; color: var(--green-dark); font-weight: 700; }
.discovery-shortcuts small { font-size: 12px; }
.discovery-section { width: min(var(--discovery-width), calc(100% - 48px)); margin: 72px auto; scroll-margin-top: 24px; }
.discovery-heading { max-width: 740px; margin-bottom: 30px; }
.discovery-heading h2 { margin: 14px 0; font-size: clamp(30px, 3.1vw, 43px); line-height: 1.14; color: var(--green-dark); text-wrap: balance; }
.discovery-heading p { font-size: 16px; line-height: 1.7; color: var(--ink-soft); margin: 0; }
.discovery-room { border: 1px solid var(--line); border-radius: 22px; background: white; overflow: hidden; }
.discovery-room-facts { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 18px; }
.discovery-room-facts li { padding: 5px 9px; border-radius: 7px; color: var(--green-dark); background: var(--cream); font-size: 12px; line-height: 1.5; }
.discovery-carousel-label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 700; color: var(--green-dark); }
.discovery-photo { display: block; position: relative; aspect-ratio: 16 / 10; background: var(--sand); overflow: hidden; }
.discovery-photo img { display: block; height: 100%; width: 100%; object-fit: cover; }
.discovery-sede { margin-top: 36px; scroll-margin-top: 24px; }
.discovery-sede + .discovery-sede { padding-top: 40px; border-top: 1px solid var(--line); margin-top: 48px; }
.discovery-sede-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; margin-bottom: 24px; }
.discovery-sede-heading h3 { font-size: 36px; margin: 12px 0; }
.discovery-sede-heading p { margin: 0; color: var(--ink-soft); }
.discovery-location-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; margin: 20px 0; font-size: 14px; color: var(--ink-soft); }
.discovery-location-meta strong { color: var(--green-dark); }
.discovery-formats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.discovery-formats article { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--cream); }
.discovery-number { align-self: flex-start; display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 24px; border-radius: 50%; color: var(--green); background: white; font-size: 13px; font-weight: 800; }
.discovery-formats h3 { font-size: 27px; margin: 0; }
.discovery-formats p { color: var(--ink-soft); font-size: 15px; line-height: 1.65; margin: 16px 0 24px; }
.discovery-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: auto; color: var(--green-dark); font-size: 14px; font-weight: 750; }
.discovery-steps { border-block: 1px solid var(--line); padding: 42px 0; }
.discovery-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; list-style: none; padding: 0; margin: 0; }
.discovery-steps li { display: flex; align-items: flex-start; gap: 18px; }
.discovery-steps li > span { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--green); font-weight: 800; }
.discovery-steps h3 { font-size: 24px; margin: 3px 0 14px; }
.discovery-steps p { color: var(--ink-soft); font-size: 15px; line-height: 1.65; margin: 0; }
.discovery-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 20px; background: white; }
.discovery-table table { width: 100%; border-collapse: collapse; text-align: left; }
.discovery-table caption { padding: 18px 24px; text-align: left; color: var(--ink-soft); font-size: 13px; }
.discovery-table thead { color: var(--green-dark); background: var(--cream); }
.discovery-table th, .discovery-table td { padding: 20px 24px; border-top: 1px solid var(--line); font-size: 16px; }
.discovery-table thead th { font-size: 13px; letter-spacing: .03em; }
.discovery-table th small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: 13px; font-weight: 400; }
.discovery-table tbody th a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.discovery-table td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.discovery-note { margin: 18px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }
.discovery-fixed-price { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; padding: 24px; margin-bottom: 22px; border: 1px solid #d8ccef; border-radius: 18px; background: var(--cream); color: var(--green-dark); }
.discovery-fixed-price > div { flex: 1 1 300px; }
.discovery-fixed-price strong { font-size: 17px; }
.discovery-fixed-price p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.discovery-fixed-price .discovery-text-link { margin-top: 0; }
.discovery-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.discovery main details { border: 1px solid var(--line); border-radius: 14px; background: white; }
.discovery main summary { padding: 20px; min-height: 48px; cursor: pointer; font-size: 15px; color: var(--green-dark); font-weight: 700; }
.discovery main summary:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; border-radius: 14px; }
.discovery main details p { margin: 0; padding: 0 20px 22px; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.discovery-contact { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 30px; align-items: center; width: min(var(--discovery-width), calc(100% - 48px)); margin: 72px auto; padding: clamp(28px, 5vw, 60px); border-radius: 28px; background: var(--green-dark); color: white; }
.discovery-contact .eyebrow { color: #d5c9ff; }
.discovery-contact h2 { margin: 16px 0; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; }
.discovery-contact p { color: #e2dcf5; margin-bottom: 26px; font-size: 16px; }
.discovery-contact .button { color: var(--green-dark); }
.discovery-contact-links { display: flex; flex-direction: column; align-items: start; gap: 12px; justify-self: center; min-width: 0; }
.discovery-contact-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.discovery-footer { width: min(var(--discovery-width), calc(100% - 48px)); margin: 40px auto; padding: 26px 0; background: transparent; border-top: 1px solid var(--line); color: var(--ink-soft); }
.discovery-footer strong { font-family: Georgia, serif; color: var(--green-dark); font-size: 26px; }
.discovery-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.discovery-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.discovery-address { display: flex; flex-direction: column; gap: 6px; margin-top: 24px; color: var(--ink-soft); font-size: 14px; }
.discovery-address a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--green-dark); }
.discovery-map-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 4px; color: var(--green-dark); font-size: 13px; font-weight: 650; }
.discovery-map-link > .discovery-icon:last-child { width: 14px; height: 14px; }
.discovery-map-link:focus-visible { outline: 3px solid #8162bf; outline-offset: 3px; border-radius: 4px; }
.discovery-location-card { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; padding: clamp(24px, 4vw, 40px); border: 1px solid #d8ccef; border-radius: 24px; background: var(--cream); }
.discovery-location-pin { display: grid; place-items: center; flex: 0 0 72px; height: 72px; border: 1px solid #d8ccef; border-radius: 22px; color: var(--green); background: white; }
.discovery-location-pin .discovery-icon { width: 32px; height: 32px; }
.discovery-location-copy { flex: 1 1 240px; min-width: 0; }
.discovery-location-copy h2 { font-family: Georgia, serif; font-size: clamp(25px, 3vw, 34px); font-weight: 400; line-height: 1.2; margin: 10px 0; color: var(--green-dark); }
.discovery-location-copy p { color: var(--ink-soft); line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.discovery-location-card > .button { gap: 8px; }
.discovery-rooms { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; }
.discovery-box-carousel { min-width: 0; }
.discovery-box-track { position: relative; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #bba7da transparent; padding-block: 4px 14px; }
.discovery-box-track > .discovery-room { min-width: 0; scroll-snap-align: start; }
.discovery-box-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 14px; }
.discovery-box-controls > span { color: var(--ink-soft); font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.discovery-box-navigation { display: flex; align-items: center; flex-shrink: 0; margin-left: auto; padding: 2px; border: 1px solid #c3b5d7; border-radius: 100px; background: white; }
.discovery-box-navigation button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--green-dark); cursor: pointer; }
.discovery-box-navigation button:hover:not([aria-disabled="true"]) { background: var(--green-soft); }
.discovery-box-navigation button[aria-disabled="true"] { color: #a59bb4; cursor: default; }
.discovery-tier { position: absolute; left: 16px; top: 16px; padding: 5px 12px; border-radius: 100px; background: white; color: var(--green-dark); font-size: 12px; font-weight: 700; }
.discovery-room { display: flex; flex-direction: column; }
.discovery-room-media { position: relative; min-width: 0; }
.discovery-room-media .discovery-tier { pointer-events: none; }
.discovery-room-body { display: flex; flex-direction: column; flex: 1; padding: 24px; min-width: 0; }
.discovery-room-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.discovery-room-title :is(h3, h4) { margin: 0; font-family: Georgia, serif; font-size: 28px; font-weight: 400; }
.discovery-room-title strong { color: var(--green); font-size: 16px; }
.discovery-room-title small { color: var(--ink-soft); font-size: 12px; }
.discovery-room-body > p { font-size: 15px; color: var(--ink-soft); }
.discovery-room-actions { display: grid; gap: 8px; margin-top: auto; }
.discovery-room-actions .discovery-text-link { justify-content: center; text-align: center; font-size: 12px; }
.discovery-room details { margin: 8px 0 22px; background: var(--cream); }
.discovery-room details ul { padding: 0 20px 16px 36px; margin: 0; font-size: 14px; color: var(--ink-soft); }
.discovery-room summary { font-size: 14px; padding: 16px; }
.discovery-unavailable { padding: 12px; border-radius: 12px; background: var(--cream); }
.discovery .discovery-hero-note { margin: 22px 0 4px; font-size: 14px; line-height: 1.6; }
.discovery-location-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.discovery-location-actions .discovery-text-link { margin-top: 0; }
.discovery-weekly-panels { display: grid; gap: 16px; }
.discovery .discovery-weekly-panel { overflow: hidden; border-radius: 20px; }
.discovery-weekly-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; }
.discovery-weekly-panel summary strong { display: block; font-family: Georgia, serif; font-size: 28px; font-weight: 400; }
.discovery-weekly-panel summary small { display: block; margin-top: 6px; font-weight: 400; color: var(--ink-soft); }
.discovery-weekly-hint { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.discovery-weekly-hint::after { content: '+'; font-size: 24px; }
.discovery-weekly-panel[open] .discovery-weekly-hint::after { content: '−'; }
.discovery-weekly-panel[open] summary { background: var(--cream); border-bottom: 1px solid var(--line); }
.discovery-weekly-body { padding: 0 24px 24px; min-width: 0; }
.discovery .discovery-weekly-body > .discovery-note { padding: 16px 0; margin: 0; }
.discovery-weekly-scroll { max-width: 100%; overscroll-behavior-x: contain; }
.discovery-weekly-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 18px; padding: 18px 22px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--cream); }
.discovery-weekly-filter > span { align-self: center; font-size: 14px; font-weight: 650; margin-right: auto; color: var(--green-dark); }
.discovery-weekly-filter label, .discovery-inquiry-fields label { display: grid; gap: 6px; font-size: 12px; color: var(--ink-soft); min-width: 0; }
.discovery-weekly-filter select, .discovery-inquiry-fields select { min-height: 44px; max-width: 100%; border: 1px solid #c3b5d7; border-radius: 10px; padding: 8px 32px 8px 12px; background: white; color: var(--green-dark); font: inherit; font-size: 14px; }
.discovery-weekly-filter button, .discovery-inquiry-fields button { min-height: 44px; padding: 8px 12px; border: 0; background: transparent; color: var(--green-dark); text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.discovery-weekly-filter p { flex-basis: 100%; font-size: 13px; color: var(--ink-soft); margin: 0; line-height: 1.6; }
.discovery .discovery-shift--muted { background: transparent; outline: none; }
.discovery .discovery-shift--muted::before { animation: none; background: #797286; }
.discovery-shift--focused { outline: 2px solid #b5a0d3; outline-offset: -2px; }
.discovery-day--focused { background: #f5effc; }
.discovery a.discovery-shift { min-height: 44px; text-decoration: none; }
.discovery a.discovery-shift:hover { outline: 2px solid #8162bf; outline-offset: -2px; }
.discovery-inquiry { padding: 18px; margin: 0 0 20px; background: var(--cream); border: 1px solid #d8ccef; border-radius: 16px; }
.discovery-inquiry > p { margin: 8px 0 14px; color: var(--green-dark); font-size: 15px; line-height: 1.6; }
.discovery-inquiry > small { display: block; margin-top: 12px; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.discovery .discovery-inquiry summary { padding: 10px 14px; font-size: 13px; min-height: 44px; }
.discovery-inquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 14px 14px; }
.discovery-inquiry-fields label:first-child, .discovery-inquiry-fields button { grid-column: 1 / -1; }
.discovery-profile-context { padding: 14px; border: 1px solid #d8ccef; border-radius: 12px; background: var(--cream); color: var(--green-dark); font-size: 14px; line-height: 1.6; }
.discovery :is(.discovery-weekly-filter select, .discovery-weekly-filter button, .discovery-inquiry-fields select, .discovery-inquiry-fields button, a.discovery-shift):focus-visible { outline: 3px solid #8162bf; outline-offset: 3px; }
.discovery [hidden] { display: none !important; }
.discovery-weekly-scroll th, .discovery-weekly-scroll td { padding: 12px; vertical-align: middle; }
.discovery-weekly-scroll tbody th { min-width: 150px; background: white; position: sticky; left: 0; z-index: 1; box-shadow: 1px 0 var(--line); }
.discovery-weekly-scroll thead th:first-child { background: var(--cream); position: sticky; left: 0; z-index: 2; }
.discovery-weekly-scroll tbody th > strong { font-size: 15px; }
.discovery-weekly-scroll tbody th .discovery-text-link { font-size: 12px; }
.discovery-shift { display: flex; align-items: center; gap: 8px; min-width: 116px; padding: 8px; margin: 4px 0; border-radius: 8px; font-size: 12px; }
.discovery-shift b { font-size: 11px; }
.discovery-shift--available { background: var(--sand); color: var(--green-dark); }
.discovery-shift--available::before { content: ''; flex: 0 0 6px; height: 6px; border-radius: 50%; background: #248363; }
.discovery-shift--occupied { background: #f3f3f6; color: #626171; }
.discovery-weekly-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 20px; }
.discovery-weekly-actions .discovery-text-link { margin-top: 0; }
.discovery-meeting { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 64px); }
.discovery-meeting-card { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--cream); }
.discovery-meeting-host { display: flex; align-items: center; gap: 16px; }
.discovery-meeting-host > span { display: grid; place-items: center; flex-shrink: 0; width: 58px; height: 58px; border-radius: 50%; background: white; color: var(--green); font-family: Georgia, serif; font-size: 27px; }
.discovery-meeting-host small, .discovery-meeting-schedule small { display: block; color: var(--ink-soft); font-size: 12px; }
.discovery-meeting-host h3 { margin: 6px 0 0; font-size: 26px; color: var(--green-dark); }
.discovery-meeting-schedule { padding: 22px 0; }
.discovery-meeting-schedule strong { display: block; margin-top: 6px; font-size: 17px; }
.discovery-meeting-card > .button { display: flex; margin-top: 18px; }
.discovery-meeting-points { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
.discovery-meeting-points li { display: flex; align-items: flex-start; gap: 16px; }
.discovery-meeting-points li > span { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; background: var(--sand); border-radius: 50%; color: var(--green); font-size: 12px; font-weight: 750; }
.discovery-meeting-points strong { font-size: 15px; }
.discovery-meeting-points small { display: block; margin-top: 6px; font-size: 14px; color: var(--ink-soft); }
.discovery-meeting-alternative { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.discovery-meeting-alternative p { color: var(--ink-soft); font-size: 14px; margin: 0; }
.discovery-reserve { padding: clamp(22px, 3vw, 36px); border: 1px solid #d8ccef; border-radius: 24px; background: linear-gradient(120deg, #f7f4ff, #fff); box-shadow: 0 12px 40px #442a7308; margin-top: 32px; }
.discovery-reserve-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.discovery-reserve h2 { color: var(--green-dark); font-size: clamp(28px, 3vw, 38px); line-height: 1.15; margin: 10px 0; }
.discovery-reserve-heading p { margin: 0; font-size: 15px; color: var(--ink-soft); }
.discovery-carousel-controls[hidden], .discovery-box-controls[hidden] { display: none; }
.discovery-search { display: grid; grid-template-columns: 1.1fr 1fr 1fr auto; align-items: end; gap: 14px; }
.discovery-search label { display: block; min-width: 0; color: var(--green-dark); font-size: 13px; font-weight: 700; }
.discovery-search label small { font-weight: 400; color: var(--ink-soft); margin-left: 6px; }
.discovery-search input:not([type="hidden"]), .discovery-search select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px; margin-top: 9px; padding: 12px; border: 1px solid #cfc6df; border-radius: 12px; background: white; color: var(--ink); font: inherit; font-size: 16px; font-weight: 400; }
.discovery-search .button { min-height: 52px; cursor: pointer; }
.discovery-search-note { color: var(--ink-soft); font-size: 13px; line-height: 1.6; margin: 14px 0 0; }
.discovery-reserve-extra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-soft); }
.discovery-reserve-extra a { color: var(--green-dark); font-weight: 700; }
.discovery-reserve-extra > span > a { display: inline-flex; align-items: center; min-height: 44px; }
.discovery-reserve-extra .button { font-size: 13px; }
.discovery-pack-invitation { display: grid; justify-items: start; gap: 8px; max-width: 100%; }
.discovery-pack-invitation > small, .discovery-pack-comparison { font-size: 12px; color: var(--ink-soft); line-height: 1.5; }
.discovery .discovery-pack-badge { display: inline-flex; align-items: center; align-self: start; justify-self: start; width: fit-content; max-width: 100%; padding: 5px 10px; border-radius: 8px; background: #eee5fa; color: #4d326e; font: 700 12px/1.4 "Hanken Grotesk", sans-serif; white-space: normal; }
.discovery-formats .discovery-pack-badge, .search-pack-promotion .discovery-pack-badge { margin-top: 12px; }
.discovery .discovery-pack-detail { display: grid; gap: 5px; margin-top: 10px; font-size: 13px; font-weight: 400; line-height: 1.5; }
.discovery .discovery-pack-detail small { display: block; margin: 0; font-size: 12px; color: var(--ink-soft); }
.discovery .discovery-pack-detail .discovery-pack-saving { color: #4d326e; font-weight: 650; }
.discovery .pack-purchase-choices > div { grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr)); align-items: stretch; }
.discovery .pack-purchase-choices button { align-content: start; }
.discovery .selection-summary .discovery-pack-detail { border-top: 1px solid var(--line); padding-top: 10px; }
.discovery-carousel { position: relative; background: var(--sand); }
.discovery-carousel-track { position: relative; display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; }
.discovery-slide { position: relative; flex: 0 0 100%; min-width: 0; aspect-ratio: 16 / 10; scroll-snap-align: start; margin: 0; }
.discovery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.discovery-slide figcaption { position: absolute; inset: auto 0 0; padding: 32px 20px 18px; color: white; background: linear-gradient(transparent, #201333dd); font-size: 14px; }
.discovery-carousel-controls { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 4px; align-items: center; padding: 4px 12px 10px; background: white; border-bottom: 1px solid var(--line); }
.discovery-carousel-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c3b5d7; border-radius: 50%; background: white; color: var(--green-dark); cursor: pointer; }
.discovery-carousel-controls > button:hover:not([aria-disabled="true"]) { background: var(--green-soft); }
.discovery-carousel-controls button[aria-disabled="true"] { opacity: .45; cursor: default; }
.discovery-carousel-controls span { font-size: 12px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.discovery-photo-position { text-align: center; min-width: 0; }
.discovery-photo-dots { position: relative; display: flex; flex-wrap: nowrap; align-items: center; height: 50px; padding-block: 3px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.discovery-photo-dots::-webkit-scrollbar { display: none; }
.discovery-photo-dots .discovery-photo-dot { flex: 0 0 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; }
.discovery-photo-dot:first-child { margin-left: auto; }
.discovery-photo-dot:last-child { margin-right: auto; }
.discovery .discovery-photo-dots .discovery-photo-dot:focus-visible { outline-offset: -3px; }
.discovery-photo-dot span { display: block; width: 7px; height: 7px; border-radius: 100px; background: #b9afc9; }
.discovery-photo-dot[aria-current="true"] span { width: 20px; background: var(--green-dark); }
.discovery-photo-dot:hover span { background: var(--green); }
.discovery :is(.discovery-search input, .discovery-search select, .discovery-search button, .discovery-carousel button, .discovery-carousel-track, .discovery-box-navigation button, .discovery-box-track):focus-visible { outline: 3px solid #8162bf; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  /* Decorative availability cue follows the visitor's system motion preference. */
  .discovery-weekly-panel[open] .discovery-shift--available::before { animation: discovery-pulse 3s ease-in-out infinite; }
}
@keyframes discovery-pulse { 0%, 100% { box-shadow: 0 0 0 0 #24836300; } 50% { box-shadow: 0 0 0 5px #24836322; } }
@media (max-width: 1050px) {
  .discovery-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discovery-header { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 10px 24px; }
  .discovery-header-actions { grid-column: 2; grid-row: 1; }
  .discovery-header nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: flex-start; gap: 0 24px; }
  .discovery-hero-photo { min-height: 400px; }
  .discovery-hero--home { grid-template-columns: 1fr; }
  .discovery-hero--home .discovery-hero-copy { max-width: 760px; }
  .discovery-hero-sedes { padding: 0 24px 24px; }
  .discovery-rooms { grid-auto-columns: calc((100% - 20px) / 2); }
}
@media (max-width: 700px) {
  .discovery-search { grid-template-columns: 1fr; }
  .discovery-reserve { padding: 24px 20px; }
  .discovery-reserve-extra > span { width: 100%; }
  .discovery-hero { grid-template-columns: 1fr; margin-top: 20px; width: calc(100% - 28px); border-radius: 22px; }
  .discovery-hero-copy { padding: 32px 24px; }
  .discovery-hero-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .discovery-hero--home .discovery-hero-copy { padding: 24px 20px 20px; }
  .discovery-hero--home .hero__actions { display: grid; grid-template-columns: 1fr; }
  .discovery-hero--home .hero__actions .button { width: 100%; }
  .discovery-hero-sedes { gap: 10px; padding: 0 12px 12px; }
  .discovery-hero-sede { border-radius: 15px; }
  .discovery-hero-sede-label { max-width: calc(100% - 16px); margin: 8px; padding: 9px 8px; border-radius: 10px; }
  .discovery-hero-sede-label strong { font-size: clamp(17px, 4.5vw, 24px); }
  .discovery-hero h1 { font-size: clamp(35px, 8vw, 48px); }
  .discovery-hero--home h1 { font-size: clamp(30px, 7.5vw, 40px); }
  .discovery-hero p { font-size: 16px; }
  .discovery-header { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 4px 10px; padding: 10px 16px; }
  .discovery-header .brand { min-width: 0; white-space: normal; }
  .discovery-header .brand span { flex-shrink: 0; }
  .discovery-header .brand strong { font-size: 16px; line-height: 1.25; }
  .discovery-header-actions { display: grid; gap: 6px; width: 100%; max-width: 180px; }
  .discovery-header-actions .button { min-height: 44px; padding: 8px 10px; font-size: 13px; }
  .discovery-header nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; gap: 0 18px; padding-block: 3px; }
  .discovery-header nav a { flex-shrink: 0; }
  .discovery-shortcuts { justify-content: flex-start; width: calc(100% - 32px); gap: 0 16px; }
  .discovery-shortcuts small { flex-basis: 100%; }
  .discovery-section { width: calc(100% - 32px); margin: 48px auto; }
  .discovery-rooms { grid-auto-columns: calc(100% - 24px); gap: 14px; }
  .discovery-faq, .discovery-steps ol { grid-template-columns: 1fr; }
  .discovery-room-body { padding: 24px; }
  .discovery-steps { padding: 32px 0; }
  .discovery-table th, .discovery-table td { padding: 14px 16px; }
  .discovery-table table { min-width: 570px; }
  .discovery-contact { grid-template-columns: 1fr; width: calc(100% - 32px); margin: 48px auto; }
  .discovery-contact-links { justify-self: start; }
  .discovery-footer { width: calc(100% - 32px); }
  .discovery-weekly-filter { padding: 16px; gap: 10px; }
  .discovery-weekly-filter > span { flex-basis: 100%; }
  .discovery-weekly-filter label { flex: 1 1 120px; }
  .discovery .hero__actions { gap: 10px; }
  .discovery-meeting { grid-template-columns: 1fr; }
  .discovery-meeting-card { padding: 24px; }
  .discovery-weekly-panel summary { padding: 20px; flex-wrap: wrap; }
  .discovery-weekly-body { padding: 0 12px 20px; }
  .discovery-weekly-hint { margin-left: auto; }
  .discovery-weekly-scroll tbody th { min-width: 118px; max-width: 150px; }
  .discovery-weekly-actions { padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .discovery .button { transition: none; }
  .discovery .button:hover { transform: none; }
}
