/* Hweol creative direction: material, movement, precision. */
html{scroll-behavior:smooth}body{overflow-x:clip}em{font-style:normal}button,a{touch-action:manipulation}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--yellow);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.preview-bar{background:var(--dark);border-bottom:1px solid #5a585a;color:var(--line);padding-top:9px;padding-bottom:9px;font-size:.65rem}.header{background:var(--dark);color:white;border-bottom:1px solid #5a585a;padding-top:17px;padding-bottom:17px;position:sticky;top:0;z-index:30;transition:padding .3s}.has-scrolled .header{padding-top:10px;padding-bottom:10px}.header .brand img{width:128px}.header nav>a[aria-current=page]:not(.button){border-color:var(--yellow)}.header .button:hover{background:white;color:var(--dark)}.menu-toggle{background:transparent;color:white;border-color:var(--gray)}.wrap{max-width:1600px}.section{padding-top:105px;padding-bottom:110px}.section-index{display:flex;justify-content:space-between;gap:25px;margin-bottom:64px;font-size:.75rem;letter-spacing:.08em}.section-index span:first-child{display:flex;align-items:center;gap:15px}.section-index span:first-child:before{content:'';display:block;width:24px;height:3px;background:var(--yellow)}.section-index span:last-child{color:var(--gray)}.micro{font-size:.7rem;letter-spacing:.12em}h2{font-size:clamp(2.5rem,4.2vw,4.5rem);letter-spacing:-.055em}a.text-link{position:relative;border:0;padding-bottom:10px}a.text-link:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform-origin:left;transition:transform .3s}a.text-link:hover:after{transform:scaleX(.6)}.button{border:0;transition:background .2s,color .2s}.button>span{transition:transform .25s}.button:hover>span{transform:translate(3px,-3px)}
.cinema{height:min(840px,calc(100svh - 125px));min-height:650px;position:relative;background:var(--dark);overflow:hidden;color:white}.cinema-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);will-change:transform}.cinema-content{position:relative;z-index:1;margin:0 auto;max-width:1600px;padding:65px 6.3% 100px;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.cinema .eyebrow{font-size:.75rem;color:var(--line);margin-bottom:27px}.cinema h1{font-size:clamp(4rem,7.5vw,8rem);line-height:.98;letter-spacing:-.065em;font-weight:700;max-width:900px}.headline-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.headline-line>span{display:block;animation:headlineIn 1s cubic-bezier(.16,1,.3,1) both}.headline-line:nth-child(2)>span{animation-delay:.14s}.headline-line:nth-child(3)>span{animation-delay:.28s}.headline-line.accent{color:var(--yellow)}.hero-bottom{margin-top:36px;display:flex;gap:32px;align-items:center}.hero-bottom p{font-size:.9375rem;color:var(--line);line-height:1.65;margin:0}.hero-bottom .button{font-size:.875rem;padding:18px 20px;gap:24px}.hero-enter{animation:fadeIn 1.1s .4s both}.cinema-foot{position:absolute;z-index:2;bottom:25px;left:6.3%;right:6.3%;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.09em;color:var(--line)}.scroll-cue{display:flex;align-items:center;gap:13px}.scroll-cue>span{display:flex;width:32px;height:42px;align-items:center;justify-content:center;border:1px solid var(--gray);font-size:1.1rem;animation:nudge 2.5s infinite}.art-label{font-size:.65rem;letter-spacing:0}.opening-body{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:9%}.opening-body h2{font-size:clamp(2.75rem,4.6vw,4.9rem);line-height:1.12}.opening-body h2 em{color:var(--gray)}.opening-body p{font-size:1.0625rem;max-width:360px}.disciplines{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:38px;margin-top:65px;font-size:clamp(1.2rem,2vw,2rem);font-weight:700;letter-spacing:-.04em}.disciplines b{color:var(--line);font-weight:400}.machine-stage{background:var(--light)}.machine-stage .section-head{margin-bottom:45px}.machine-browser{display:grid;grid-template-columns:1fr 1.07fr;gap:5%}.machine-choice{width:100%;display:grid;grid-template-columns:36px 1fr 28px;gap:13px;align-items:center;border:0;border-top:1px solid var(--line);background:transparent;color:var(--gray);text-align:left;padding:27px 8px;font-size:1.25rem;line-height:1.35;transition:color .25s,padding .25s}.machine-choice:last-child{border-bottom:1px solid var(--line)}.machine-choice .choice-number{font-size:.75rem;font-weight:400;letter-spacing:.05em}.machine-choice.selected{color:var(--dark);font-weight:bold;padding-left:18px;box-shadow:inset 3px 0 var(--yellow);background:white}.machine-choice:hover{color:var(--dark);padding-left:18px}.choice-arrow{opacity:0;transform:translateX(-8px);transition:opacity .2s,transform .2s}.selected .choice-arrow,.machine-choice:hover .choice-arrow{opacity:1;transform:none}.machine-display{background:white;display:flex;flex-direction:column;min-width:0;padding:25px 30px}.display-top{display:flex;justify-content:space-between;gap:20px;font-size:.65rem;letter-spacing:.1em;color:var(--gray)}.empty-render{min-height:220px;flex:1;position:relative;margin:30px 0;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.8125rem}.corner{width:20px;height:20px;position:absolute;border-color:var(--line);border-style:solid}.tl{top:0;left:0;border-width:1px 0 0 1px}.tr{top:0;right:0;border-width:1px 1px 0 0}.bl{bottom:0;left:0;border-width:0 0 1px 1px}.br{bottom:0;right:0;border-width:0 1px 1px 0}.display-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.display-bottom small{font-size:.65rem;letter-spacing:.1em;color:var(--gray)}.display-bottom h3{font-size:1.5rem;margin:12px 0 10px}.display-bottom p{font-size:.8125rem;margin:0}.round-link{width:50px;height:50px;display:grid;place-items:center;background:var(--yellow);font-size:1.5rem;flex-shrink:0;transition:background .2s}.round-link:hover{background:var(--dark);color:white}.lines-theatre{background:var(--dark);color:white}.lines-theatre .section-index span:last-child{color:var(--line)}.theatre-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.theatre-heading h2{font-size:clamp(3rem,5.3vw,5.6rem)}.theatre-heading p{color:var(--line);margin:0;font-size:.9375rem}.line-controls{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--gray);margin-bottom:24px}.line-controls button{padding:22px 15px;border:0;background:transparent;color:var(--line);font-size:.9375rem;text-align:left;line-height:1.5;border-bottom:3px solid transparent;transition:background .25s,border-color .25s}.line-controls button span{display:block;font-size:.65rem;margin-bottom:8px;color:var(--line)}.line-controls button.active{border-color:var(--yellow);color:white;background:#ffffff08}.line-controls button:hover{background:#ffffff0b}.line-scene{position:relative;overflow:hidden;background:var(--dark)}.line-scene>img{width:100%;aspect-ratio:2.12;object-fit:cover;transition:transform 1s}.line-scene:hover>img{transform:scale(1.035)}.scene-caption{position:absolute;bottom:34px;left:34px;right:34px;display:flex;justify-content:space-between;gap:25px;align-items:end;padding:25px;background:#231f20eb}.scene-caption h3{font-size:2rem;margin-top:12px}.scene-caption .micro{color:var(--line)}.scene-caption .button:hover{background:white;color:var(--dark)}.scene-disclaimer{position:absolute;top:18px;right:18px;background:#231f20de;padding:8px 10px;font-size:.65rem;color:var(--line)}.project-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:12%;align-items:end;margin-bottom:45px}.project-heading p{max-width:370px}.project-feature{display:block;position:relative;border:1px solid var(--line);background:var(--light)}.project-empty{height:320px;display:grid;place-items:center;color:var(--gray)}.project-feature-caption{padding:30px 35px;display:grid;grid-template-columns:1fr 1.2fr 70px;align-items:start;gap:30px;border-top:1px solid var(--line);background:white;transition:background .25s}.project-feature-caption>span:first-child{font-size:.75rem;letter-spacing:.07em;padding-top:5px}.project-feature-caption h3{font-size:2.5rem;line-height:1.1}.project-feature-arrow{justify-self:end;font-size:2.5rem;transition:transform .25s}.project-feature:hover .project-feature-caption{background:var(--yellow)}.project-feature:hover .project-feature-arrow{transform:translate(6px,-6px)}.services-editorial{background:var(--light)}.expertise-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:start}.expertise-sticky{position:sticky;top:140px}.expertise-sticky h2{font-size:clamp(2.5rem,3.7vw,4rem)}.expertise-sticky h2 em{color:var(--gray)}.expertise-sticky p{max-width:280px;margin:28px 0 22px}.service-accordion details{border-top:1px solid var(--line)}.service-accordion details:last-child{border-bottom:1px solid var(--line)}.service-accordion summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:25px 1fr 22px;gap:22px;padding:28px 0;align-items:start}.service-accordion summary::-webkit-details-marker{display:none}.service-accordion h3{font-size:1.3rem;line-height:1.4}.service-num{font-size:.75rem;color:var(--gray);padding-top:5px}.plus{font-size:1.5rem;line-height:1.2;transition:transform .2s}.service-accordion details[open] .plus{transform:rotate(45deg)}.service-accordion details[open] h3{border-left:3px solid var(--yellow);padding-left:14px}.service-accordion details p{padding:0 28px 25px 47px;margin:0;font-size:.9375rem;animation:fadeIn .4s}.service-accordion summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.cta{max-width:none;min-height:350px;padding-top:80px;padding-bottom:80px}.cta h2{font-size:clamp(3rem,5vw,5.5rem)}.cta h2 em{color:var(--yellow)}.cta .button{padding:24px 30px;gap:50px}.page-intro{padding-top:65px;padding-bottom:60px}.page-intro h1{font-size:clamp(3rem,6vw,6rem);line-height:1.02}.page-intro .eyebrow{margin-bottom:26px}.catalogue-card{transition:transform .25s}.catalogue-card:hover{transform:translateY(-5px)}.photo-space:after{transition:width .4s}.catalogue-card:hover .photo-space:after{width:100%}.line-item{transition:padding .25s}.footer-top{padding-bottom:60px}.footer-top p{font-size:1.25rem}.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.will-reveal.revealed{opacity:1;transform:none}
@keyframes headlineIn{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nudge{0%,70%,100%{transform:translateY(0)}35%{transform:translateY(5px)}}
@media(min-width:1700px){.cinema-content{padding-left:100px;padding-right:100px}}
@media(max-width:1100px){.cinema{min-height:610px}.cinema h1{font-size:6.2rem}.hero-bottom{flex-direction:column;align-items:start;gap:22px}.cinema-content{padding-top:45px;padding-bottom:85px}.machine-choice{font-size:1.08rem;padding-top:25px;padding-bottom:25px}.scene-caption h3{font-size:1.7rem}.section{padding-top:80px;padding-bottom:85px}.scene-caption{left:20px;right:20px;bottom:20px}.expertise-layout{gap:6%}}
@media(max-width:950px){nav{background:var(--dark);border-color:var(--gray)}nav>a[aria-current=page]:not(.button){background:var(--gray)}.cinema h1{font-size:5.6rem}.cinema-art{object-position:58% center}.opening-body{gap:5%;grid-template-columns:1.6fr 1fr}.opening-body h2{font-size:3.4rem}.machine-browser{gap:3%;grid-template-columns:1fr 1fr}.machine-display{padding:23px}.line-controls button{font-size:.8125rem;padding:16px 10px}.scene-caption{align-items:center}.scene-caption .button{padding:16px;font-size:.8125rem;gap:15px}.theatre-heading p{font-size:.875rem}.project-feature-caption{grid-template-columns:.8fr 1.4fr 40px}.expertise-layout{grid-template-columns:1fr 1.2fr}.service-accordion summary{gap:12px}.service-accordion h3{font-size:1.1rem}.expertise-sticky{top:105px}.preview-bar span{font-size:.65rem}}
@media(max-width:680px){.header .brand img{width:118px}.header{padding-top:13px;padding-bottom:13px}.preview-bar{font-size:.6rem}.preview-bar span{font-size:.6rem}.cinema{height:760px;min-height:0;max-height:calc(100svh - 105px)}.cinema-art{object-position:64% center;opacity:.62}.cinema-content{padding:36px 5% 100px;justify-content:center}.cinema .eyebrow{font-size:.65rem}.cinema h1{font-size:clamp(3.6rem,12.7vw,5.6rem)}.hero-bottom{margin-top:30px;gap:22px}.hero-bottom p{font-size:.875rem}.hero-bottom .button{font-size:.875rem}.cinema-foot{left:5%;right:5%;bottom:22px;flex-wrap:wrap;gap:16px;font-size:.6rem}.cinema-foot>span:nth-child(2){display:none}.art-label{font-size:.6rem}.scroll-cue>span{width:28px;height:35px}.section{padding-top:58px;padding-bottom:60px}.section-index{margin-bottom:36px;font-size:.65rem;gap:20px}.section-index span:last-child{display:none}.opening-body{grid-template-columns:1fr;gap:28px}.opening-body h2{font-size:clamp(2.6rem,8.5vw,3.6rem)}.opening-body p{font-size:1rem}.disciplines{margin-top:38px;padding-top:25px;gap:10px;font-size:1rem}.disciplines b{font-size:.75rem}.machine-browser{grid-template-columns:1fr;gap:22px}.machine-choice{padding:20px 8px;font-size:1.0625rem}.machine-display{min-height:350px;padding:23px}.empty-render{min-height:155px;margin:23px 0}.display-bottom h3{font-size:1.25rem}.display-bottom p{font-size:.8125rem}.theatre-heading{flex-direction:column;align-items:start;gap:24px;margin-bottom:30px}.theatre-heading h2{font-size:3rem}.line-controls{grid-template-columns:1fr 1fr;gap:0}.line-controls button{font-size:.875rem;padding:16px 8px}.line-controls button span{font-size:.6rem;margin-bottom:5px}.line-scene>img{aspect-ratio:1.1;object-position:center}.scene-caption{position:relative;bottom:auto;left:auto;right:auto;padding:24px 0 0;background:transparent;flex-direction:column;align-items:start;gap:22px}.scene-caption h3{font-size:1.7rem}.scene-disclaimer{font-size:.6rem;right:8px;top:8px;max-width:85%;line-height:1.5}.project-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.project-heading h2{font-size:3rem}.project-empty{height:235px}.project-empty .micro{font-size:.6rem}.project-feature-caption{grid-template-columns:1fr 35px;gap:20px;padding:24px}.project-feature-caption>span:first-child{grid-column:1/-1;font-size:.65rem}.project-feature-caption h3{font-size:2rem}.project-feature-arrow{font-size:2rem}.expertise-layout{grid-template-columns:1fr;gap:35px}.expertise-sticky{position:static}.expertise-sticky h2{font-size:3rem}.expertise-sticky h2 br:nth-child(2){display:none}.expertise-sticky p{max-width:100%}.service-accordion summary{padding:23px 0;gap:12px}.service-accordion h3{font-size:1.15rem}.service-accordion details p{padding-left:37px}.cta{min-height:0;padding:60px 5%;gap:35px}.cta h2{font-size:2.9rem}.cta .button{padding:20px 24px;gap:30px}.footer-top{padding-bottom:35px}.footer-top p{font-size:1rem}.page-intro h1{font-size:3rem}.page-intro{padding-top:42px;padding-bottom:35px}.photo-space{min-height:210px}.opening .text-link{font-size:.875rem}.project-editorial .text-link{font-size:.875rem}}
@media(max-width:380px){.cinema h1{font-size:3.4rem}.preview-bar span:last-child{display:none}.disciplines{font-size:.875rem}.section-head h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.will-reveal{opacity:1;transform:none}.cinema-art{transform:none!important}.headline-line>span{transform:none}.scroll-cue>span{transform:none}}
/* Approved glass-line imagery keeps the complete facility in view. */
:root{--glass-line-backdrop:linear-gradient(180deg,#c1c1c1 0%,#c1c1c1 58%,#b2b2b2 100%)}
.glass-line-figure{margin:0;background:transparent}.glass-line-figure>img{width:100%;height:auto;display:block;background:var(--glass-line-backdrop)}.glass-line-figure figcaption{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--gray)}
.line-scene.is-glass>img{aspect-ratio:auto;height:auto;object-fit:contain;background:var(--glass-line-backdrop);transform:none}
.line-scene.is-glass .scene-caption{position:relative;inset:auto;padding:25px 0 0;background:transparent}
.line-scene.is-glass .scene-disclaimer{position:static;display:block;padding:0;margin-top:18px;background:transparent;font-size:14px;line-height:1.5;max-width:none}
