/* Clear photographs, a quieter hero note, and a rhythm between discovery and practical sections. */
.hero-caption{background:none;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;padding:8px 0;gap:10px;bottom:48px;right:6%;color:#e1e7eb;font-size:.875rem;text-shadow:0 2px 14px #15222e;min-height:44px}
.hero-caption-icon{display:flex}.hero-caption-icon .ui-icon{width:20px;height:25px;stroke-width:1.6}
.hero-caption>span:last-child{font-size:1rem;margin-left:8px;color:var(--copper)}
.hero-caption strong{font-weight:500}.hero-caption:hover{color:white}.hero-caption:hover strong{color:var(--copper)}
.hero-art>img{object-position:50% 12%}
.hero-art:before{background:linear-gradient(90deg,#20283299,transparent 70%)}

/* Each photograph retains its subject, with soft edges tailored to its role. */
[data-photo="bike"]{object-position:50% 0%}
[data-photo="touch"]{object-position:48% 36%}
[data-photo="garden"]{object-position:50% 43%}
[data-photo="water"]{object-position:56% 27%}
[data-photo="hydro"]{object-position:50% 35%}
[data-photo="tesla"]{object-position:46% 42%}
[data-photo="plasma"]{object-position:50% 38%}
[data-photo="class"]{object-position:50% 35%}
[data-photo="wall"]{object-position:50% 24%}
[data-photo="waterfall"]{object-position:50% 40%}
[data-photo="columns"]{object-position:50% 35%}
.floor-photo img,.intro-photo img,.detail-photo,.contact-photo img{--photo-mask-x:linear-gradient(90deg,transparent,#000 7%,#000 94%,transparent);--photo-mask-y:linear-gradient(180deg,transparent,#000 5%,#000 86%,transparent)}
.experience-photo img{--photo-mask-x:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);--photo-mask-y:linear-gradient(180deg,transparent,#000 4%,#000 71%,transparent)}
.floor-photo img[data-photo="bike"],.intro-photo img[data-photo="bike"],.experience-photo img[data-photo="bike"]{object-position:50% 0%;--photo-mask-y:linear-gradient(180deg,transparent,#000 2%,#000 74%,transparent)}
.floor-photo img[data-photo="bike"],.intro-photo img[data-photo="bike"]{object-fit:contain;--photo-mask-y:linear-gradient(180deg,transparent,#000 2%,#000 91%,transparent)}
.gallery-item img{--photo-mask-x:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);--photo-mask-y:linear-gradient(180deg,transparent,#000 4%,#000 93%,transparent)}
.intro-preview img{object-position:50% 32%;--photo-mask-x:linear-gradient(90deg,transparent,#000 10%,#000 94%,transparent);--photo-mask-y:linear-gradient(180deg,transparent,#000 7%,#000 83%,transparent)}
.photo-in{animation-duration:1.05s}

/* Supporting sections have a different pace from the three main discoveries. */
.video-section{padding-block:58px 70px}.video-section .section-heading{margin-bottom:28px;align-items:center}
.video-section h2,.home-visit h2,.faq-section h2{font-size:clamp(1.7rem,2.4vw,2.35rem);line-height:1.4;letter-spacing:-.035em}
.video-section .eyebrow,.home-visit .eyebrow,.faq-section .eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.065em;color:#aebdc9;margin-bottom:14px}
.video-section .section-heading>p{font-size:.9rem;line-height:1.7}
.home-visit{padding-block:64px 54px}.home-visit .section-heading{margin-bottom:26px}
.home-visit .audience-card{border-top:1px solid #96aabd36;padding-top:25px}
.faq-section{padding-block:65px 85px;gap:75px}.faq-section>div:first-child>p.muted{max-width:300px;line-height:1.75}
.faq-section h2{margin-bottom:22px}.faq-list details>p{max-width:690px}
.visit-banner{margin-top:12px}.visit-banner h2{font-size:clamp(1.65rem,2.55vw,2.5rem)}

/* One fine conductor connects the three floor controls. Its pulse only runs on selection. */
.floor-tabs{margin-bottom:0;border-bottom:0;border-radius:12px 12px 0 0}
.floor-tab{border-bottom-color:transparent!important}
.floor-energy{height:26px;position:relative;margin-bottom:30px;background:#37435066;border:1px solid #89a4b744;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;pointer-events:none}
.floor-energy svg{display:block;width:100%;height:26px;overflow:visible}
.floor-energy path{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}
.energy-track{stroke:#aec1d052}.energy-progress{stroke:#ffab7077}
.floor-energy [data-energy-node]{position:absolute;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:50%;background:#647688;border:1px solid #b3c5d344;transition:background .25s,box-shadow .25s}
.floor-energy [data-energy-node="0"]{left:16.6667%}.floor-energy [data-energy-node="1"]{left:50%}.floor-energy [data-energy-node="2"]{left:83.3333%}
.floor-energy [data-energy-node].is-active{background:var(--copper);border-color:#ffcba3;box-shadow:0 0 9px #ffab7077}
.floor-energy .energy-pulse{stroke:#ffd0ad;stroke-width:2;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 4px #ffab70)}

@media(max-width:900px){.faq-section{gap:35px}.hero-caption{font-size:.8125rem;right:4%}.video-section .section-heading>p{max-width:245px}}
@media(max-width:640px){
 .hero-caption{inset:auto;justify-self:center;width:auto;max-width:100%;margin:0 0 3px;padding:8px 0;font-size:.8125rem;gap:8px;line-height:1.5;text-align:left}
 .hero-caption-icon .ui-icon{width:18px;height:23px}.hero-caption>span:last-child{margin-left:3px}.hero-caption>span:nth-child(2){max-width:250px}
 .hero-art>img{object-position:50% 20%}.hero-art{margin-bottom:-14px}
 .video-section{padding-block:36px 42px}.video-section .section-heading{margin-bottom:23px}.video-section .section-heading>p{max-width:none;margin-top:14px}
 .video-section h2,.home-visit h2,.faq-section h2{font-size:1.65rem;line-height:1.45}
 .video-section .eyebrow,.home-visit .eyebrow,.faq-section .eyebrow{font-size:.75rem;margin-bottom:12px}
 .home-visit{padding-block:40px 24px}.home-visit .section-heading{margin-bottom:24px}
 .faq-section{padding-block:40px 55px;gap:25px}.faq-section h2{margin-bottom:16px}.faq-section>div:first-child>p.muted{max-width:100%}
 .floor-energy{height:22px;margin-bottom:23px}.floor-energy svg{height:22px}.floor-tab{padding-bottom:9px}
 .visit-banner{margin-top:10px}.gallery-item img{height:265px}
}
@media(max-width:360px){.hero-caption{font-size:.75rem}.hero-caption>span:nth-child(2){max-width:225px}.gallery-item img{height:225px}}
@media(max-width:480px){.museum-gallery{grid-template-columns:minmax(0,1fr);gap:28px}.gallery-item img{height:clamp(360px,108vw,430px)}.gallery-item>span{font-size:.875rem;padding-top:8px;overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){.floor-energy [data-energy-node]{transition:none}}

/* A single visual language for choice, with solid copper reserved for actions. */
.hero h1>.hero-line{color:var(--ink)}
.hero h1>.hero-accent{color:var(--copper)}
.floor-tab[aria-selected=true],.lab-tabs [aria-selected=true],.format-tabs [aria-pressed=true]{background:#ffab7012;color:var(--ink);box-shadow:inset 0 0 0 1px #ffab7070}
.lab-tabs [aria-selected=true]{border-color:#ffab7070;box-shadow:none}
.lab-tabs [aria-selected=true] .ui-icon{color:var(--copper)}
.floor-tab[aria-selected=true] .tab-number{color:#ffc69b}
.lab-tabs button,.format-tabs button{transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.lab-tabs button:hover:not([aria-selected=true]),.format-tabs button:hover:not([aria-pressed=true]){background:#b8cadd0b;border-color:#b8cadd75}

/* Native video playback, with an intentional cover before the first play. */
.video-stage{position:relative;isolation:isolate;border-radius:22px;overflow:hidden}
.video-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;width:100%;height:100%;padding:24px;border:0;border-radius:inherit;color:#fff7ef;background:linear-gradient(180deg,#1a26351a,#14202f35);cursor:pointer}
.video-start[hidden]{display:none}.video-start:disabled{cursor:wait}
.video-start-icon{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffbd8cad;background:#202b38bd;backdrop-filter:blur(8px);box-shadow:0 4px 30px #17273836;transition:background .25s,transform .25s,border-color .25s}
.video-start-icon svg{color:#ffd4b4;margin-left:3px}
.video-start-label{font-size:.9375rem;font-weight:600;letter-spacing:.01em;text-shadow:0 2px 10px #0e192c}
.video-start:hover:not(:disabled) .video-start-icon{background:#354252ee;border-color:#ffcca4;transform:scale(1.05)}
.video-start:focus-visible{outline:2px solid #ffbe8e;outline-offset:-5px}
.video-status{font-size:.875rem;color:var(--muted);line-height:1.6;margin:14px 0 0}

/* Always within reach; the footer and scroll targets reserve room for this bar. */
.footer-grid .social-primary{color:var(--copper);font-weight:700;border-bottom-color:#ffab7070;background:#ffab700b;padding-inline:12px;border-radius:8px 8px 0 0}
.footer-grid .social-primary:hover{color:#ffd2b0;background:#ffab7017}
html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.visit-dock{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:8px;width:min(390px,calc(100% - 28px));padding:8px;border:1px solid #899eae52;border-radius:50px;background:#202a35eb;backdrop-filter:blur(18px);box-shadow:0 8px 35px #0c162b4d}
.dock-ticket{flex:1;min-width:0;min-height:50px;padding:13px 23px;gap:22px;justify-content:center;font-size:.9375rem;white-space:nowrap}
.visit-dock .motion-toggle{position:static;right:auto;bottom:auto;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0;justify-content:center;border-radius:50%;font-size:1.05rem;background:#3a4b5f80;backdrop-filter:none;box-shadow:none}
.visit-dock .motion-toggle-label{display:none}.visit-dock .motion-toggle-symbol{font-size:1rem;line-height:1}
.visit-dock .motion-toggle:hover{background:#4b5d717d;border-color:#a7baca8c}
.footer-bottom{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
body:has(dialog[open]) .visit-dock{visibility:hidden;pointer-events:none}
#ticket-estimate{scroll-margin-top:24px}#ticket-estimate:focus{outline:none}
input,select,textarea,video{scroll-margin-bottom:125px}
@media(max-width:640px){
 .visit-dock{bottom:calc(10px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);max-width:390px;padding:6px;gap:6px}
 .dock-ticket{font-size:.875rem;padding:12px 16px;gap:14px;min-height:48px}
 .visit-dock .motion-toggle{flex-basis:44px;width:44px;height:44px;min-height:44px}
 body:has(input:focus,textarea:focus,select:focus) .visit-dock{visibility:hidden;pointer-events:none}
 .video-stage{border-radius:16px}.video-start-icon{width:64px;height:64px}.video-start-label{font-size:.875rem}.video-start{gap:12px}
 .footer-bottom{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.video-start-icon,.lab-tabs button,.format-tabs button{transition:none}.video-start:hover .video-start-icon{transform:none}}

/* Real museum photographs: retain their proportions and the soft visual treatment. */
.museum-gallery{align-items:start;gap:38px 24px}
.gallery-item[hidden]{display:none}
.museum-gallery .gallery-item img{height:auto;aspect-ratio:auto;object-fit:contain;display:block}
.gallery-item>span{font-size:.875rem;line-height:1.55;overflow-wrap:normal;padding-top:12px}
.gallery-item:focus-visible{outline:2px solid var(--copper);outline-offset:8px;border-radius:4px}
.gallery-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:35px}
.gallery-more p{margin:0;color:var(--muted)}
.gallery-more .button[hidden]{display:none}
body:has(dialog[open]){overflow:hidden}
#gallery-dialog{width:min(1120px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:54px 24px 20px;overscroll-behavior:contain}
#gallery-dialog .dialog-close{width:44px;height:44px;top:6px;right:10px}
#gallery-full{display:block;height:min(65dvh,750px);width:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
#gallery-caption{line-height:1.45;min-height:1.45em;margin-top:14px}
#gallery-error{font-size:.875rem;text-align:center;color:var(--copper)}
.gallery-navigation .button{width:48px;min-height:44px;padding:8px}
.gallery-navigation>span{min-width:70px;text-align:center;font-variant-numeric:tabular-nums}
.photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.photo-strip figure{margin:0;min-width:0}
.photo-strip img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;mask-image:var(--photo-mask-x),var(--photo-mask-y);mask-composite:intersect;--photo-mask-x:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);--photo-mask-y:linear-gradient(180deg,transparent,#000 3%,#000 95%,transparent)}
.photo-strip figcaption{padding:12px 14px 0;color:var(--muted);font-size:.9rem;line-height:1.55}
.photo-invitation{padding-block:45px 80px}
.photo-invitation .photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-invitation .section-heading{align-items:end}
.photo-invitation .text-link{margin-bottom:8px;white-space:nowrap}
.floor-moments,.group-moments{margin-top:64px}
[data-photo="photo-plasma-column"]{object-position:50% 32%}
[data-photo="photo-tree"]{object-position:50% 52%}
[data-photo="photo-whirlpool"]{object-position:50% 45%}
[data-photo="photo-bike-joy"]{object-position:50% 30%}
@media(max-width:900px){.museum-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 16px}.photo-invitation .photo-strip{gap:18px}.photo-strip figcaption{padding-inline:5px;font-size:.85rem}}
@media(max-width:640px){.museum-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.gallery-item>span{padding-inline:3px;font-size:.82rem;padding-right:20px}.photo-invitation .photo-strip,.photo-strip{grid-template-columns:1fr;gap:28px}.photo-invitation{padding-block:20px 55px}.floor-moments,.group-moments{margin-top:40px}.photo-invitation .section-heading .text-link{display:inline-block;margin-top:10px;white-space:normal}#gallery-dialog{padding:54px 12px 16px}#gallery-full{height:58dvh}.gallery-navigation{margin-top:12px}}
@media(max-width:480px){.museum-gallery{grid-template-columns:minmax(0,1fr);gap:30px}.gallery-item>span{font-size:.9rem}.gallery-item small{display:inline}.gallery-section .eyebrow{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.gallery-item:hover img{transform:none}.photo-strip .photo-in{animation:none}}
