/* Public information, guided visit cards and optional staff presentation controls. */
.public-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;padding:20px 24px 125px;color:var(--muted,#506168);font-size:.9rem;text-align:center}.public-footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:inherit}.public-footer p{width:100%;margin:0;font-size:.8rem}.museum-visit-info{max-width:1280px;margin:26px auto;padding:clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:24px;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:30px;color:var(--ink)}.museum-visit-info h2{font:clamp(1.7rem,3vw,2.6rem)/1.15 var(--serif);margin:12px 0}.museum-visit-info p{line-height:1.8}.museum-visit-info small{display:block;max-width:50ch;line-height:1.7;color:var(--muted)}.museum-info-links{display:flex;flex-direction:column;gap:18px;justify-content:center;align-items:flex-start}.museum-info-links .text-link{white-space:normal;line-height:1.5;min-height:44px}.sold-out-label{display:inline-block;background:#fff4df;color:#68420c!important;padding:8px 12px;border-radius:10px;font-weight:650;line-height:1.3!important}.sold-out-panel{padding:clamp(24px,5vw,50px);background:var(--surface);border:2px solid var(--accent,#267681);border-radius:26px;margin:25px 0}.sold-out-panel h2{font:clamp(2rem,5vw,3.5rem)/1.1 var(--serif);margin:14px 0}.sold-out-panel p{line-height:1.7;max-width:64ch}.sold-out-panel .button{margin:18px 16px 16px 0}.sold-out-panel .text-link{display:inline-flex;min-height:44px;align-items:center}.audio-supplement{display:block;margin-top:12px;font-size:1.05rem}.access-steps{list-style:none;counter-reset:steps;display:grid;gap:20px;padding:0;margin:28px 0}.access-steps li{counter-increment:steps;position:relative;padding-left:54px;min-height:38px;line-height:1.65}.access-steps li:before{content:counter(steps);position:absolute;left:0;top:0;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#d8eff0;color:#16474e;font-weight:700}.access-help a{text-decoration:underline;text-underline-offset:3px}.contact-cards a{overflow-wrap:anywhere;line-height:1.6}
.guide-booking-page{max-width:1240px}.guide-booking-page .guided-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;min-height:300px;padding:clamp(26px,5vw,54px);color:#fff;background:#163b40}.guided-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.guided-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,33,.94),rgba(7,29,33,.8) 65%,rgba(7,29,33,.65));z-index:-1}.guide-booking-page .guided-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.8rem)}.guide-booking-page .guided-hero p,.guided-hero .eyebrow{color:#fff;max-width:55ch}.guide-steps{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:24px;font-size:.9rem}.guide-steps span{background:#ffffff14;border:1px solid #ffffff4d;border-radius:9px;padding:10px 13px}.guide-booking-page .people-row{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;margin:26px 0}.guide-mode label{min-height:50px;align-items:center}.visit-cards{align-items:start}.visit-card{background:var(--visit-bg,var(--surface));color:var(--visit-ink,var(--ink));border:2px solid var(--line);border-radius:23px;overflow:hidden;min-width:0;transition:border-color .2s,box-shadow .2s}.visit-card.selected{border-color:var(--visit-accent,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--visit-accent,var(--accent)) 18%,transparent)}.visit-card>img{display:block;width:100%;height:210px;object-fit:cover;object-position:50% var(--visit-position,50%)}.visit-card .visit-card-copy{padding:24px;background:var(--visit-bg,var(--surface));color:var(--visit-ink,var(--ink))}.visit-card h2,.visit-card p,.visit-card small,.visit-card .visit-date,.visit-card .shared-price,.visit-card .shared-price strong,.visit-card .shared-price small,.visit-card .visit-attendance,.visit-card .visit-attendance span,.visit-card .visit-select{color:inherit}.visit-card h2{font:1.7rem/1.22 var(--serif,Georgia,serif);overflow-wrap:anywhere;margin:14px 0}.visit-card p{white-space:pre-line;line-height:1.65}.visit-card .shared-price{border:0;border-top:1px solid currentColor;border-radius:0;background:transparent;padding:18px 0 8px;margin:16px 0}.visit-card .shared-price small{font-size:.85rem;line-height:1.65}.visit-card .visit-attendance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:transparent;border:1px solid currentColor;border-radius:13px;padding:12px}.visit-card .visit-attendance strong{display:block;font-size:1.45rem;color:inherit}.visit-card .visit-attendance span{min-width:0;font-size:.8rem;overflow-wrap:break-word}.visit-card .visit-select{border:1px solid currentColor;border-radius:12px;padding:14px;margin-top:20px;min-height:50px;display:flex;align-items:center;gap:12px;line-height:1.4}.visit-card input[type=radio]{width:22px;height:22px;flex-shrink:0;accent-color:var(--visit-accent)}.visit-card:focus-within{outline:3px solid var(--visit-accent);outline-offset:3px}.visit-card.unavailable{opacity:1}.visit-card.unavailable .visit-select{border-style:dashed}.guide-details{max-width:780px;margin:28px auto}.guide-details .field input,.guide-alternative .field input{font-size:1rem;min-height:50px}.guide-booking-page .price-box{padding:20px;line-height:1.65}.guide-booking-page .price-box p{font-size:.9rem}.presentation-editor{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:24px 0}.presentation-editor section{min-width:0}.presentation-editor .visit-card{display:block}.presentation-editor label{display:grid;gap:9px;margin:18px 0}.presentation-editor input[type=file]{white-space:normal;max-width:100%;font-size:.85rem;padding:12px}.presentation-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.presentation-colors input[type=color]{width:100%;height:48px;padding:4px;cursor:pointer}.presentation-editor input[type=range]{padding:0;min-height:44px}.presentation-editor details{margin:24px 0}.presentation-editor summary{min-height:44px;cursor:pointer}.presentation-editor [data-upload-status]{font-size:.9rem;line-height:1.5}#staff-dialog:has(.presentation-editor){width:min(980px,calc(100vw - 24px));max-width:980px}.presentation-editor .visit-card-copy{padding:20px}.presentation-editor .visit-card p{font-size:.95rem}html[data-theme=dark] .visit-card{border-color:var(--visit-accent,var(--line))}
.information-body{background:#f6f8f5;color:#193a3e;margin:0;font-family:var(--sans,Arial,sans-serif)}.information-header{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px;gap:20px}.information-header img{width:220px;height:auto}.information-header nav{display:flex;gap:16px}.information-header a{color:#225f69;min-height:44px;display:inline-flex;align-items:center}.policy-page{max-width:900px;margin:20px auto;padding:0 24px}.policy-page h1,.landing-hero h1{font:clamp(2.4rem,6vw,4.3rem)/1.07 var(--serif,Georgia,serif);margin:24px 0}.policy-page h2,.landing-content h2{font:clamp(1.7rem,4vw,2.3rem)/1.2 var(--serif,Georgia,serif);margin:32px 0 18px}.policy-page p,.policy-page li,.landing-content p,.landing-content li{line-height:1.8;font-size:1rem}.policy-page li{margin-bottom:14px}.policy-page a,.landing-content a{color:#216572;text-underline-offset:4px;overflow-wrap:anywhere}.policy-page section{scroll-margin-top:25px;margin:35px 0}.policy-index{display:flex;gap:12px;flex-wrap:wrap;border-block:1px solid #ccdcdc;padding:18px 0}.policy-index a{display:block;min-height:44px;padding:12px;background:#e5eeee;border-radius:9px}.policy-table{overflow-x:auto}.policy-table table{border-collapse:collapse;width:100%;font-size:.9rem}.policy-table caption{text-align:left;margin:15px 0}.policy-table th,.policy-table td{padding:15px 12px;border-bottom:1px solid #ccdcdc;text-align:left;vertical-align:top;line-height:1.6;overflow-wrap:anywhere}.policy-table td:first-child{min-width:135px;font-size:.8rem}.visit-landing{max-width:1180px;margin:auto;padding:12px 24px}.landing-hero{display:grid;grid-template-columns:1fr 1fr;border-radius:30px;overflow:hidden;background:#e4eff0}.landing-hero>img{width:100%;height:100%;object-fit:cover}.landing-hero>div{padding:clamp(24px,4vw,48px)}.landing-hero p{line-height:1.7}.landing-hero .button{margin-top:20px}.landing-content{max-width:820px;margin:50px auto}.landing-actions{display:flex;flex-wrap:wrap;gap:15px;margin:28px 0}.information-body .button{background:#246b77;color:#fff;border:1px solid #246b77}.information-body .button.secondary{background:transparent;color:#225f69}.information-body .public-footer{padding-bottom:40px}.information-body .eyebrow{color:#216572}
[hidden]{display:none!important}
@media(max-width:720px){.museum-visit-info{grid-template-columns:1fr;margin:20px 16px;gap:20px}.contacts-page .museum-visit-info{margin:24px 0}.museum-info-links{align-items:stretch;gap:12px}.guide-booking-page{padding-inline:16px}.guide-booking-page .guided-hero{min-height:260px;padding:25px 22px}.guide-steps{gap:8px;margin-top:20px}.guide-steps span{font-size:.78rem;padding:8px}.visit-cards{grid-template-columns:1fr}.visit-card>img{height:200px}.visit-card .visit-card-copy{padding:22px}.presentation-editor{grid-template-columns:1fr}.presentation-editor [data-appearance-preview]{max-width:420px;margin:auto}.presentation-colors{gap:8px}.presentation-colors label{font-size:.85rem}.guide-booking-page .people-row{padding:20px 16px}.guide-booking-page .field input,.guide-booking-page textarea{font-size:16px}.guide-booking-page .guide-details{padding:24px 18px}.guide-mode{gap:8px}.guide-mode label{font-size:.94rem;line-height:1.45}.guide-mode input{flex-shrink:0}.information-header{padding:18px;align-items:flex-start}.information-header img{width:160px}.information-header nav{gap:12px;font-size:.9rem}.policy-page{padding:0 18px}.policy-page ul{padding-left:22px}.policy-table th,.policy-table td{padding:12px 8px}.policy-table td:first-child{min-width:100px}.visit-landing{padding:10px 16px}.landing-hero{grid-template-columns:1fr}.landing-hero>img{height:220px}.landing-content{margin-top:32px}.landing-actions{flex-direction:column}.public-footer{padding-bottom:110px}.sold-out-panel .button{width:100%;margin-right:0}.sold-out-panel .text-link{line-height:1.5}.access-steps li{padding-left:48px}}
@media(prefers-reduced-motion:reduce){.visit-card{transition:none}}

.sold-out-panel .button,.sold-out-panel .text-link,.museum-visit-info .button,.museum-visit-info .text-link,.guide-booking-page .button,.access-shell .button{font-size:1rem;line-height:1.5;min-height:48px}.guide-booking-page .field-title{font-size:1rem}.guide-booking-page .field-caption{font-size:.85rem}
.information-body .button{font-size:1rem;line-height:1.5;min-height:48px}.landing-content .landing-actions .button{white-space:normal}
@media(min-width:721px){.guide-booking-page .people-row{margin-inline:auto}.guide-booking-page .guide-mode{justify-content:center}.visit-cards:has(>.visit-card:only-child){grid-template-columns:minmax(0,780px);justify-content:center}.visit-cards:has(>.visit-card:only-child)>.visit-card>img{height:300px}}
.webapp-service-list article{padding:2rem 0;border-bottom:1px solid #cbd8d8}.webapp-service-list article h2{margin:.4rem 0 1rem}.webapp-service-list article p{max-width:65ch}.webapp-service-list article>a{display:inline-block;padding:.7rem 0;font-weight:650}.museum-cafe{margin:3rem 0;padding:2rem 0;border-block:1px solid #b9d1d4}.museum-cafe h2{font-size:clamp(2rem,5vw,3.4rem);margin:.5rem 0 1rem}.museum-cafe p{max-width:65ch}.public-tour-dates{margin:3rem 0}.public-tour-dates article{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #cedadb;padding:1.3rem 0}.public-tour-dates h3{font-size:1.25rem;margin:.3rem 0}.public-tour-dates p{margin:.5rem 0}.public-tour-dates .button{flex-shrink:0}
@media(max-width:600px){.public-tour-dates article{align-items:stretch;flex-direction:column;gap:.5rem}.public-tour-dates .button{width:100%}.museum-cafe{margin:2rem 0;padding:1.5rem 0}.webapp-service-list article{padding:1.5rem 0}}

.public-date-interest{padding:28px 0;margin:32px 0;border-block:1px solid #cedadb}.public-date-interest h2{margin-top:0}.public-date-interest .button{white-space:normal;line-height:1.5;text-align:center}.public-date-interest p{max-width:65ch}
