/* Selected SPO system: editorial typography, forest, orange, unhurried motion. */
:root{--dock:0px;--header:88px;--stage-h:calc(100svh - var(--header));--gutter:clamp(24px,5vw,100px)}
.cinema-site{padding-bottom:0}.cinema-site [hidden]{display:none!important}
.cinema-header{position:fixed;inset:0 0 auto;height:var(--header);z-index:40;background:var(--paper);border-bottom:1px solid var(--line);padding:0 var(--gutter);display:flex;align-items:center;gap:24px}
.cinema-brand{flex:none}.cinema-brand img{width:195px;height:auto}.cinema-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:12px}.cinema-nav a{padding:15px 0}.cinema-nav a:hover,.header-request:hover{color:var(--orange)}.header-request{display:flex;align-items:center;gap:10px;font-size:11px;padding:11px 14px;border:1px solid var(--line);white-space:nowrap}.header-request svg{width:17px;height:17px}.menu-button{display:none;width:44px;height:44px;padding:10px;background:none;border:1px solid var(--line);border-radius:3px;color:var(--ink)}.menu-button span{display:block;width:20px;height:1px;background:currentColor;margin:5px auto;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
#mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:16px var(--gutter) 25px;border-bottom:1px solid var(--line);box-shadow:0 18px 26px #202a2314;max-height:calc(100dvh - var(--header));overflow:auto;overscroll-behavior:contain}#mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}#mobile-nav a:last-child{border:0;color:var(--orange)}
.cinema-site .eyebrow{font-size:11px}.cinema-site .scene-description{font-size:17px;max-width:490px}.cinema-site .story{background:var(--forest)}.cinema-site .scene h1,.cinema-site .scene h2{font-weight:500}.cinema-site .stage-bottom{font-size:13px}.cinema-site .stage-bottom>a{gap:35px}.cinema-site .scroll-cue{font-size:11px}
.editorial-section{padding:110px var(--gutter)}.editorial-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:end;margin-bottom:54px}.editorial-heading h2{font-size:clamp(38px,4.25vw,70px);margin-top:23px;line-height:1.09}.editorial-heading>p{max-width:360px;justify-self:end;font-size:14px;color:var(--muted);line-height:1.8}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.equipment-photo{position:relative;aspect-ratio:1.17;overflow:hidden;background:#e7ebe5}.equipment-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.equipment-photo.kitchen img{object-position:66%}.equipment-photo.cold img{object-fit:contain;padding:25px 0 42px}.equipment-photo.laundry img{object-position:30%}.equipment-photo>span{position:absolute;bottom:16px;left:18px;background:var(--paper);color:var(--ink);font-size:10px;padding:5px 9px}.equipment-title{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin:23px 0 13px}.equipment-title h3{font-size:clamp(21px,1.9vw,30px);line-height:1.18;font-weight:500;letter-spacing:-.035em}.equipment-card>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:340px}.equipment-card:hover img{transform:scale(1.035)}.equipment-card:hover h3{color:var(--orange)}.equipment-card svg{width:20px;margin-top:3px}
.extended-services{border-top:1px solid var(--line);margin-top:55px}.extended-service{display:grid;grid-template-columns:40px 1fr 1fr 24px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.extended-service h3{font-weight:500;font-size:22px;letter-spacing:-.03em;line-height:1.2}.extended-service p{font-size:13px;color:var(--muted);max-width:410px}.extended-service:hover h3,.extended-service:hover svg{color:var(--orange)}
.workshop-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:var(--paper)}.workshop-photo{position:relative;min-height:710px;overflow:hidden}.workshop-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11231990,transparent 45%)}.workshop-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58%}.workshop-photo>span{position:absolute;bottom:40px;left:var(--gutter);z-index:1;font-size:12px;color:#fff}.workshop-copy{padding:76px clamp(32px,5vw,90px)}.workshop-copy h2{font-size:clamp(40px,4.3vw,70px);margin:28px 0;line-height:1.07}.workshop-copy h2 em{color:#ff9b65}.workshop-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c4cec4;max-width:450px;margin-top:18px}.workshop-copy>div{margin-top:30px}.line-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.line-link:hover{color:var(--orange)}.workshop-copy .line-link{border-color:#ffffff2b}.workshop-copy .line-link:hover{color:#ff9b65}
.process-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process-steps li{border-top:1px solid var(--line);padding-top:25px}.process-steps li>span{color:var(--orange);font-size:13px}.process-steps h3{font-weight:500;font-size:21px;line-height:1.3;letter-spacing:-.03em;margin:28px 0 15px}.process-steps p{font-size:13px;color:var(--muted);line-height:1.8;max-width:270px}
.ongoing-section{background:#e7ece5;padding:100px var(--gutter);display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(50px,8vw,150px)}.ongoing-copy h2{font-size:clamp(38px,4vw,68px);margin:27px 0}.ongoing-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:480px;color:#536052}.ongoing-copy>.line-link{max-width:480px;border-color:#bfccbd;margin-top:20px}.qr-explanation{margin-top:45px;max-width:480px}.qr-explanation h3{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.025em}.qr-explanation p{font-size:13px;color:#536052;line-height:1.8;margin-top:13px}.cabinet-preview{background:var(--paper);padding:35px clamp(25px,3vw,50px);border:1px solid #d2dbcf}.cabinet-heading{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:23px;font-size:12px}.cabinet-heading img{width:35px;height:35px}.cabinet-preview>h3{font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:30px 0}.cabinet-preview ul{list-style:none;margin:0 0 22px;padding:0}.cabinet-preview li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.cabinet-preview li>span{font-size:10px;color:var(--orange);padding-top:3px}.cabinet-preview strong{font-size:13px;font-weight:550}.cabinet-preview li p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.7}.solid-link{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;background:var(--orange);color:white;border:0;border-radius:3px;padding:14px 20px;font:500 13px/1.5 Inter,Arial,sans-serif;cursor:pointer}.solid-link:hover{background:#943710}.solid-link svg{width:20px;height:20px}.cabinet-note{font-size:11px;color:var(--muted);margin-top:13px}
.clients-section{padding-bottom:80px}.client-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-logo{aspect-ratio:1.5;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:25px}.client-logo img{width:100%;height:100%;object-fit:contain}.client-logo.dark{background:var(--forest);border-color:#445246}
.documents-section{padding-top:40px}.documents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.document-paper{height:335px;background:#e9ede7;position:relative;padding:25px 30px 50px;overflow:hidden}.document-paper img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #202a2318);transition:transform .25s}.document-paper>span{position:absolute;bottom:16px;left:0;width:100%;text-align:center;font-size:11px;color:var(--muted)}.document-open:hover .document-paper img{transform:scale(1.025)}.document-open h3{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin-top:23px}.document-open:hover h3{color:var(--orange)}.document-card>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}
.document-viewer{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(980px,96vw);height:min(960px,94dvh);max-height:94dvh;max-width:96vw;box-shadow:0 20px 100px #0004}.document-viewer::backdrop{background:#101911dd}.viewer-bar{position:relative;display:flex;align-items:center;gap:25px;padding:16px 24px;border-bottom:1px solid var(--line);height:85px}.viewer-bar h2{font-size:17px;letter-spacing:-.02em;line-height:1.2;flex:1}.viewer-bar a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.viewer-close{border:1px solid var(--line);background:transparent;flex:none;font-size:27px;width:44px;height:44px;line-height:1;cursor:pointer}.viewer-scroll{height:calc(100% - 85px);overflow:auto;padding:24px;overscroll-behavior:contain}.viewer-scroll img{width:100%;height:auto;max-width:850px;margin:auto}
.cinema-contact{background:var(--forest);color:var(--paper);padding:100px var(--gutter);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,8vw,140px)}.contact-copy h2{font-size:clamp(46px,5.3vw,84px);line-height:1.08;margin:30px 0}.contact-copy em{color:#ff9b65}.contact-copy>p:not(.eyebrow){max-width:440px;color:#c4cec4;font-size:14px;line-height:1.8}.contact-number{display:block;font-size:clamp(23px,2.65vw,45px);letter-spacing:-.05em;margin:36px 0 16px;white-space:nowrap}.direct-contacts{max-width:430px}.direct-contacts a{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #ffffff30;padding:15px 0;font-size:14px}.direct-contacts a:hover{color:#ff9b65}.contact-copy>.contact-help{font-size:12px!important;margin-top:25px}
.contact-form{background:var(--paper);color:var(--ink);padding:32px;align-self:start}.contact-form h3{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.03em}.form-intro{font-size:12px;color:var(--muted);margin:10px 0 25px}.contact-form label{font-size:11px;display:block;line-height:1.4;margin-bottom:17px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;min-width:0;border:1px solid #aab5a8;background:white;color:var(--ink);border-radius:3px;padding:13px 12px;font:400 13px/1.5 Inter,Arial,sans-serif;margin-top:7px;min-height:47px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6b786b;opacity:1}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--orange);outline-offset:1px}.contact-form textarea{resize:vertical;min-height:100px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form .solid-link{width:100%;margin-top:20px}.preview-form-note{font-size:11px;color:#626e61;line-height:1.6;padding-top:3px}#form-result{font-size:12px;line-height:1.6;color:#7c3412;margin-top:14px}#form-result:empty{display:none}
.cinema-footer{padding:16px var(--gutter) 28px;display:flex;flex-direction:column;align-items:center;gap:22px;background:var(--forest);color:var(--paper)}.cinema-footer .to-top{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid #ffffff55;font-size:13px}.cinema-footer .to-top:hover{color:var(--flare);border-color:currentColor}.cinema-footer svg{width:18px;height:18px}
.service-page-hero{padding:45px var(--gutter) 90px;background:var(--forest);color:var(--paper)}.breadcrumbs{display:flex;gap:16px;font-size:12px;color:#b9c6b8;margin-bottom:70px}.breadcrumbs a:hover{color:white}.service-page-hero h1{font-size:clamp(43px,6vw,85px);max-width:920px;margin:28px 0}.service-lead{font-size:18px;max-width:670px;color:#c4cec4}.service-page-hero .solid-link{max-width:280px;margin-top:35px}.service-page-details{display:grid;grid-template-columns:1fr 1fr;gap:100px}.service-page-details h2{font-size:38px;line-height:1.1;margin:25px 0}.service-page-details>div+div h2{margin-top:0}.service-page-details ul{list-style:none;padding:0;margin:30px 0 0}.service-page-details li{padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.service-page-details p{font-size:15px;line-height:1.8;color:var(--muted);max-width:540px}.service-page-details aside{margin-top:35px;border-top:2px solid var(--orange);padding-top:25px}.service-page-details h3{font-size:18px;font-weight:500;margin-bottom:12px}.other-directions>div{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin-top:25px}
@media(min-width:1600px){.cinema-site .passport{width:410px}.equipment-photo{aspect-ratio:1.35}}
@media(max-width:1250px){.cinema-nav{gap:17px}.cinema-header{gap:20px}.cinema-brand img{width:175px}.header-request{margin-left:auto}.editorial-section{padding-top:80px;padding-bottom:80px}.equipment-grid{gap:22px}.client-logo{padding:17px}.ongoing-section{gap:50px}.workshop-copy{padding:60px 40px}.workshop-photo{min-height:680px}}
@media(max-width:1000px){:root{--header:76px;--gutter:32px}.cinema-nav{display:none}.menu-button{display:block;flex:none}.editorial-heading{gap:40px;grid-template-columns:1.4fr 1fr}.equipment-title h3{font-size:21px}.equipment-grid{gap:18px}.equipment-card>p{font-size:12px}.extended-service{grid-template-columns:26px 1fr 1fr 20px;gap:18px}.extended-service h3{font-size:20px}.process-steps{grid-template-columns:1fr 1fr;gap:32px}.process-steps p{max-width:100%}.ongoing-section{gap:35px;grid-template-columns:1fr 1fr;padding-block:75px}.ongoing-copy h2{font-size:37px}.cabinet-preview{padding:28px}.cabinet-preview>h3{font-size:29px}.client-grid{grid-template-columns:repeat(4,1fr)}.documents-grid{gap:23px}.document-paper{height:265px;padding:20px 15px 50px}.document-open h3{font-size:18px}.cinema-contact{gap:35px;padding-block:75px;grid-template-columns:1fr 1fr}.contact-form{padding:25px}.form-pair{grid-template-columns:1fr;gap:0}.service-page-details{gap:50px}.workshop-copy h2{font-size:38px}.workshop-copy{padding:50px 32px}.cinema-site .scene-description{font-size:15px;max-width:400px}}
@media(max-width:650px){:root{--header:70px;--gutter:23px;--dock:0px;--stage-h:calc(100svh - var(--header))}.cinema-header{gap:14px;padding-inline:20px}.cinema-brand img{width:155px}.header-request{display:none}.menu-button{width:40px;height:40px}.cinema-site .scene-description{font-size:13px;max-width:310px}.cinema-site .scene h1,.cinema-site .scene h2{font-size:clamp(36px,10.5vw,58px)}.cinema-site .scene-2 h2{font-size:36px}.cinema-site .scene-2 .scene-description{font-size:12px;max-width:310px}.cinema-site .stage-bottom{font-size:12px}.cinema-site .scroll-cue{font-size:0}.cinema-site .eyebrow{font-size:9px}.cinema-site .passport-row strong{font-size:12px}.cinema-site .passport-row div>span{font-size:10px}.cinema-site .passport-row{padding:12px 0}.cinema-site .passport-top{font-size:8px}.cinema-site .passport-bottom{font-size:9px}.cinema-site .passport{bottom:85px}.editorial-section{padding:64px var(--gutter)}.editorial-heading{display:block;margin-bottom:32px}.editorial-heading h2{font-size:37px;margin-top:20px}.editorial-heading>p{font-size:13px;margin-top:23px;max-width:100%}.equipment-grid{grid-template-columns:1fr;gap:38px}.equipment-photo{aspect-ratio:1.3}.equipment-photo.cold img{padding:20px 0 35px}.equipment-title{margin:19px 0 10px}.equipment-title h3{font-size:26px;max-width:270px}.equipment-card>p{font-size:13px;max-width:100%}.extended-services{margin-top:42px}.extended-service{grid-template-columns:22px 1fr 20px;gap:10px 12px;padding:24px 0}.extended-service h3{font-size:21px}.extended-service p{grid-column:2;grid-row:2;font-size:12px}.extended-service svg{grid-column:3;grid-row:1/3;width:20px}.extended-service>.service-index{align-self:start;padding-top:3px}.workshop-feature{grid-template-columns:1fr}.workshop-photo{min-height:0;height:310px}.workshop-photo img{object-position:center 56%}.workshop-photo>span{bottom:25px;font-size:11px}.workshop-copy{padding:45px var(--gutter) 50px}.workshop-copy h2{font-size:43px;margin:25px 0}.workshop-copy>p:not(.eyebrow){font-size:13px}.workshop-copy .line-link{font-size:13px}.process-steps{grid-template-columns:1fr;gap:0}.process-steps li{display:grid;grid-template-columns:27px 1fr;gap:10px 13px;padding:24px 0}.process-steps h3{margin:0;font-size:21px}.process-steps p{grid-column:2;font-size:13px}.process-steps li>span{padding-top:3px;font-size:11px}.ongoing-section{grid-template-columns:1fr;padding:58px var(--gutter);gap:38px}.ongoing-copy h2{font-size:38px}.ongoing-copy>p:not(.eyebrow){font-size:13px}.qr-explanation{margin-top:33px}.cabinet-preview{padding:26px}.cabinet-preview>h3{font-size:33px}.cabinet-preview li{gap:14px}.cabinet-preview strong{font-size:13px}.cabinet-preview li p{font-size:12px}.client-grid{grid-template-columns:repeat(3,1fr)}.client-logo{padding:13px;aspect-ratio:1.15}.clients-section{padding-bottom:45px}.documents-section{padding-top:20px}.documents-grid{grid-template-columns:1fr;gap:36px}.document-paper{height:340px;padding:23px 35px 48px}.document-open h3{font-size:21px;margin-top:18px}.document-card>p{font-size:13px;margin-top:10px}.cinema-contact{grid-template-columns:1fr;padding:60px var(--gutter);gap:38px}.contact-copy h2{font-size:51px;margin-top:26px}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-number{font-size:29px;margin-top:30px}.direct-contacts a{font-size:13px}.contact-form{padding:25px 20px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;padding:12px 10px}.contact-form label{font-size:12px}.contact-form h3{font-size:25px}.form-intro{font-size:12px}.viewer-bar{padding:13px;gap:12px;height:110px;flex-wrap:wrap;align-content:center}.viewer-bar h2{font-size:15px;flex-basis:calc(100% - 65px);order:0}.viewer-bar a{order:2;font-size:12px}.viewer-close{order:1}.viewer-scroll{height:calc(100% - 110px);padding:12px}.service-page-hero{padding:28px var(--gutter) 55px}.breadcrumbs{margin-bottom:44px;font-size:12px}.service-page-hero h1{font-size:clamp(29px,9.2vw,41px);margin-top:24px;overflow-wrap:anywhere}.service-lead{font-size:15px}.service-page-details{grid-template-columns:1fr;gap:35px}.service-page-details h2{font-size:34px}.service-page-details li,.service-page-details p{font-size:14px}.other-directions>div{grid-template-columns:1fr}}
@media(max-height:710px) and (max-width:650px){.cinema-site .scene-2 h2{font-size:30px}.cinema-site .scene-2 .scene-description{font-size:11px;margin-top:10px}.cinema-site .passport-row{padding:7px 0}.cinema-site .passport-row strong{font-size:10px}.cinema-site .passport-row div>span{font-size:9px}.cinema-site .passport-top{font-size:7px}.cinema-site .passport-bottom{font-size:8px}.cinema-site .passport{bottom:68px}}
@media(max-width:360px){.cinema-brand img{width:143px}.cinema-header{gap:10px}.contact-number{font-size:26px}.editorial-heading h2,.ongoing-copy h2{font-size:33px}.cabinet-preview{padding:20px}.client-logo{padding:10px}.equipment-title h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.equipment-photo img,.document-paper img,.menu-button span{transition:none}.equipment-card:hover img,.document-open:hover .document-paper img{transform:none}}
/* Full brand lockup keeps breathing room in the navigation. */
.cinema-brand img{max-height:54px;width:auto;max-width:195px}
@media(max-width:650px){.cinema-brand img{max-height:47px;max-width:155px}}

.cinema-site .header-request{background:var(--orange);color:var(--paper);border-color:var(--orange)}
.cinema-site .header-request:hover{background:#9e350b;border-color:#9e350b}
.motion-ready .cinema-site .story{height:calc(var(--stage-h) * 3.6)}
.clients-section{padding-top:20px;padding-bottom:85px}
.documents-section{padding-top:90px}
.contact-form button:disabled{opacity:.55;cursor:default}
@media(max-width:650px){.clients-section{padding-top:10px;padding-bottom:60px}.documents-section{padding-top:60px}}
html:not(.site-ready) .cinema-site .menu-button{display:none}
.fallback-nav{padding:18px var(--gutter);display:flex;flex-wrap:wrap;gap:12px 25px;border-bottom:1px solid var(--line);font-size:13px}
.equipment-photo.cold{background:#dce3d8}
.equipment-photo.cold img{padding:14px 0 30px;filter:drop-shadow(0 12px 12px #20351f25)}
.contact-form .preview-form-note{margin:0 0 22px;padding:0 0 0 12px;border-left:2px solid var(--orange)}
/* Marketing review: direct action and all directions visible early. */
.story-actions{display:flex;align-items:center;gap:30px}
.story-actions .solid-link{color:#fff;min-height:50px;padding:13px 20px;font-size:13px}
.story-services{font-size:13px;display:flex;min-height:44px;align-items:center;border-bottom:1px solid #ffffff70}
/* Service shortcuts are editorial links, not another set of cards. */
.quick-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 28px;margin:0 0 38px}
.quick-services>a{display:inline-flex;gap:10px;align-items:center;justify-content:space-between;justify-self:start;border-bottom:1px solid var(--line);padding:9px 0;font-size:14px;font-weight:500;line-height:1.45;min-height:44px;transition:color .18s,border-color .18s}
.quick-services>a:hover,.quick-services>a:focus-visible{color:var(--orange);border-color:var(--orange)}
.quick-services svg{width:16px;height:16px;flex:none;color:var(--muted);transform:rotate(-45deg);transition:transform .18s,color .18s}
.quick-services>a:hover svg,.quick-services>a:focus-visible svg{color:var(--orange);transform:translate(2px,-2px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.quick-services>a,.quick-services svg{transition:none}}
@media(max-width:1499px){.quick-services{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .cinema-site .cinema-header{gap:10px}.cinema-site .cinema-brand img{max-height:43px}
 .cinema-site .stage-bottom{gap:0}.story-actions{width:100%;justify-content:space-between;gap:15px}
 .story-actions .solid-link{font-size:12px;gap:12px;padding:12px 15px;min-height:46px}
 .story-services{font-size:12px;white-space:nowrap}.cinema-site .story-counter,.cinema-site .scroll-cue{display:none}
 .quick-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-bottom:32px}.quick-services>a{font-size:13px;padding:10px 0;min-height:56px;gap:8px}
 .quick-services svg{width:16px;height:16px}.cinema-site .passport{bottom:88px}
}
@media(max-height:710px) and (max-width:650px){.cinema-site .passport{bottom:76px}}

.hero-terms{display:flex;flex-direction:column;gap:5px;margin-top:22px;color:#f5d3b9;font-size:13px;line-height:1.5}
.service-terms{list-style:none;padding:20px 0 0;margin:0;color:#f5d3b9;font-size:14px;line-height:1.7}
.service-page-hero .solid-link{max-width:350px;width:fit-content;gap:28px}
.service-outcome{margin-top:22px}
.service-faq{margin-top:28px}.service-faq summary{font-size:15px}.service-page-details .service-faq p{font-size:13px}
.ongoing-copy h2{font-size:clamp(36px,3.7vw,60px)}
.cabinet-login{display:block;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:20px 0 3px;line-height:1.6}
.cabinet-login:hover{color:var(--orange)}
.workshop-copy .workshop-location{border-top:1px solid #ffffff30;padding-top:22px;color:var(--paper)}
.partners-section{padding-top:15px;padding-bottom:35px}
.partner-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.partner-grid li{display:flex;align-items:center;justify-content:center;min-height:105px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(19px,2.2vw,31px);font-weight:550;letter-spacing:-.04em;text-align:center}
.faq-section{border-top:1px solid var(--line);padding-top:80px}
.faq-list{max-width:980px;margin-left:auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-size:18px;line-height:1.5;padding:22px 40px 22px 0;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:2px;top:20px;font-size:24px;font-weight:400;color:var(--orange)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:14px;line-height:1.85;color:var(--muted);max-width:770px;padding:0 40px 26px 0}
.contact-copy .contact-hours{font-size:12px;margin-top:-5px;margin-bottom:10px}
.workshop-address{font-style:normal;font-size:15px;line-height:1.9;margin-top:28px}
.workshop-address>span{display:block;font-size:11px;color:#bac6b9;margin-bottom:4px}
.contact-form .optional{font-size:10px;color:var(--muted)}
.request-help{font-size:12px;color:var(--muted);line-height:1.7;margin-top:-3px}
@media(max-width:1000px){.partner-grid li{font-size:22px;padding:20px}.ongoing-copy h2{font-size:36px}}
@media(max-width:650px){
 .hero-terms{font-size:11px;gap:4px;margin-top:16px;max-width:300px}
 .service-terms{font-size:12px;padding-top:18px}.service-page-hero .solid-link{max-width:100%;font-size:12px;gap:15px}
 .ongoing-copy h2{font-size:34px}.partners-section{padding-top:0;padding-bottom:10px}
 .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid li{font-size:20px;min-height:88px;padding:18px 13px}
 .faq-section{padding-top:54px}.faq-list summary{font-size:15px;padding-block:20px}.faq-list details p{font-size:13px;padding-right:15px}
 .workshop-address{font-size:14px}.service-page-details h2{font-size:32px}
}
@media(max-height:710px) and (max-width:650px){.hero-terms{font-size:10px;margin-top:12px}}

/* The starting price is part of the first-screen message, not a footnote. */
.hero-offer { display:flex; gap:44px; align-items:start; margin-top:32px; width:fit-content; padding-top:23px; border-top:1px solid #ffffff55; }
.hero-offer > div + div { border-left:1px solid #ffffff55; padding-left:44px; }
.hero-offer > div > span { display:block; font-size:15px; line-height:1.45; color:#f0f3ec; }
.hero-offer strong { display:block; font-weight:550; font-size:clamp(38px,3.9vw,62px); line-height:1.1; letter-spacing:-.045em; margin-top:9px; color:#ffac7d; white-space:nowrap; }
.hero-offer small { font-size:.52em; font-weight:450; letter-spacing:-.02em; }
@media(max-width:650px) {
 .hero-offer { gap:22px; margin-top:25px; padding-top:20px; max-width:100%; }
 .hero-offer > div + div { padding-left:22px; }
 .hero-offer > div > span { font-size:12px; max-width:145px; }
 .hero-offer strong { font-size:36px; margin-top:8px; }
 .motion-ready .cinema-home .scene-0 .scene-copy { padding-bottom:88px; }
}
@media(max-width:360px) { .hero-offer { gap:16px; } .hero-offer > div + div { padding-left:16px; } .hero-offer strong { font-size:32px; } .hero-offer > div > span { font-size:11px; min-height:32px; } }
@media(min-width:651px) and (max-height:760px) {
 .cinema-home .scene-0 h1 { font-size:clamp(50px,5.4vw,80px); }
 .cinema-home .scene-0 .scene-description { margin-top:20px; }
 .hero-offer { margin-top:20px; padding-top:16px; }
 .hero-offer strong { font-size:40px; }
}
/* Contacts stay together and precede the enquiry form on mobile. */
.cinema-contact { gap:clamp(32px,7vw,110px); grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.contact-copy h2 { font-size:clamp(45px,4.8vw,70px); margin:22px 0; }
.contact-copy .contact-intro { max-width:430px; margin-bottom:26px; }
.contact-methods { max-width:560px; }
.contact-method { border-top:1px solid #ffffff35; padding:23px 0 25px; }
.contact-method h3 { font-size:12px; font-weight:450; line-height:1.5; color:#bac8bc; margin:0 0 10px; letter-spacing:.01em; }
.contact-phone-row { display:flex; align-items:center; gap:16px; }
.contact-method .contact-number { font-size:clamp(27px,2.6vw,40px); margin:0; letter-spacing:-.04em; line-height:1.2; width:fit-content; white-space:nowrap; }
.contact-messengers { display:flex; flex:none; gap:8px; }
.messenger-link { display:inline-flex; flex:none; justify-content:center; align-items:center; border:1px solid #ffffff65; width:46px; height:46px; border-radius:7px; background:#ffffff0a; }
.messenger-link img { display:block; width:26px; height:26px; }
.messenger-link svg,.contact-map-link svg,.contact-email svg { width:18px; height:18px; flex:none; }
.messenger-link:hover { background:var(--paper); color:var(--forest); border-color:var(--paper); }
.contact-address { font-style:normal; font-size:clamp(22px,2vw,30px); line-height:1.35; letter-spacing:-.02em; }
.contact-map-link { display:inline-flex; gap:22px; align-items:center; margin-top:8px; padding:10px 0; min-height:44px; color:#ffac7d; font-size:14px; }
.contact-method-note { font-size:12px; line-height:1.6; color:#c4cec4; max-width:350px; margin-top:6px; }
.contact-email { display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:390px; font-size:clamp(21px,2.1vw,30px); min-height:44px; letter-spacing:-.025em; }
.contact-schedule { border-top:1px solid #ffffff35; padding-top:23px; }
.contact-schedule > span { color:#bac8bc; font-size:12px; }
.contact-schedule strong { display:flex; gap:26px; flex-wrap:wrap; font-size:21px; font-weight:450; line-height:1.4; margin:10px 0 8px; }
.contact-schedule p { font-size:12px; line-height:1.7; color:#c4cec4; max-width:370px; }
.contact-method a:focus-visible { outline:2px solid #ffac7d; outline-offset:5px; }
.contact-method .contact-number:hover,.contact-email:hover { color:#ffac7d; }
@media(max-width:800px) { .cinema-contact { grid-template-columns:1fr; gap:40px; } .contact-methods { max-width:100%; } }
@media(min-width:801px) and (max-width:1100px) { .contact-phone-row { gap:10px; } .contact-method .contact-number { font-size:clamp(20px,2.4vw,27px); } }
@media(max-width:650px) { .contact-method .contact-number { font-size:clamp(18px,5.8vw,32px); } .contact-phone-row { gap:10px; } .contact-messengers { gap:6px; } .messenger-link { width:44px; height:44px; } .contact-method { padding:21px 0; } .contact-copy h2 { font-size:48px; } }

/* The client portal remains visible without opening the mobile menu. */
@media(max-width:650px) {
 .cinema-site .header-request { display:inline-flex; margin-left:0; padding:9px 12px; min-height:44px; font-size:12px; }
 .header-request svg { display:none; }
 .cinema-site .cinema-brand img { width:130px; }
}
@media(max-width:360px) {
 .cinema-site .cinema-header { gap:6px; padding-inline:14px; }
 .cinema-site .cinema-brand img { width:108px; }
 .cinema-site .header-request { padding-inline:9px; }
}

/* Old public bookmarks keep landing on the corresponding section. */
.cinema-site main,.cinema-site .cinema-contact{position:relative}.legacy-anchor{position:absolute;top:0;left:0;pointer-events:none}
.service-symptoms{margin-top:20px}.breadcrumbs{flex-wrap:wrap}

/* Phone, email and messenger shortcuts share one contact group. */
.header-contacts { display:flex; align-items:center; flex:none; gap:12px; }
.header-contact-details { display:grid; gap:2px; white-space:nowrap; }
.header-contact-phone { font-size:13px; font-weight:600; line-height:1.5; }
.header-email { font-size:12px; line-height:1.5; color:var(--muted); }
.header-contact-phone:hover,.header-email:hover { color:var(--orange); }
.header-messengers { display:flex; flex:none; gap:6px; }
.header-messengers .messenger-link { width:44px; height:44px; border-color:var(--line); background:transparent; }
.header-messengers .messenger-link:hover { background:#e6ebe5; border-color:var(--muted); }
.header-contacts a:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
@media(max-width:1250px) {
 .cinema-nav { display:none; }
 .cinema-header .menu-button { display:block; flex:none; }
 .header-contacts { margin-left:auto; }
 .cinema-header .header-request { margin-left:0; }
}
/* Шапка на телефоне — одна строка (08.10.2026, Егор: «слишком большая»).
   Логотип, звонок и меню; кабинет, почта и мессенджеры — в меню. */
.header-call { display:none; }
@media(max-width:760px) {
 :root { --header:60px; }
 .cinema-site .cinema-header { display:flex; align-items:center; gap:8px; padding:0 16px; }
 .cinema-site .cinema-brand { margin-right:auto; }
 .cinema-site .cinema-brand img { width:122px; max-height:38px; }
 .cinema-site .header-request, .cinema-site .header-contacts { display:none; }
 .header-call { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); border-radius:3px; color:var(--orange); flex:none; }
 .header-call svg { width:21px; height:21px; }
 .header-call:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
 .cinema-header .menu-button { width:44px; height:44px; }
}
@media(max-width:360px) {
 .cinema-site .cinema-header { padding-inline:12px; gap:6px; }
 .cinema-site .cinema-brand img { width:108px; }
}
.mobile-nav-contacts { padding:14px 0 4px; display:grid; gap:2px; }
#mobile-nav .mobile-nav-contacts > a { border:0; padding:8px 0; }
#mobile-nav .mobile-nav-phone { font-size:19px; font-weight:600; }
.mobile-nav-messengers { display:flex; gap:10px; padding:8px 0 4px; }
#mobile-nav .mobile-nav-messengers a { color:var(--ink); display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--line); border-radius:3px; font-size:14px; }
#mobile-nav a.mobile-nav-portal { margin-top:12px; padding:13px 16px; background:var(--orange); color:var(--paper); text-align:center; border:0; }
}

/* The second film scene explains the complete service process. */
.cinema-home .process-scene { padding-block:64px; }
.cinema-home .process-layout {
  position:relative; z-index:1; width:100%; display:grid;
  grid-template-columns:1fr;
  gap:clamp(36px,4vw,64px); align-items:start;
}
.cinema-home .process-scene .scene-copy { padding:0; }
.cinema-home .process-scene h2 { font-size:clamp(48px,5.6vw,88px); }
.scene-process-steps {
  --step-gap:40px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--step-gap); margin:0; padding:0; list-style:none;
}
.scene-process-steps li { position:relative; border-top:1px solid #ffb48b80; padding-top:24px; }
.scene-process-steps h3 { font-size:clamp(20px,1.65vw,28px); font-weight:550; line-height:1.25; letter-spacing:-.025em; }
.scene-process-steps p { margin-top:12px; font-size:clamp(13px,1vw,16px); line-height:1.75; color:#e1e7e0; }
.scene-step-arrow { position:absolute; right:calc(-1 * var(--step-gap) / 2 - 10px); top:-10px; color:#ffac7d; display:block; }
.scene-step-arrow svg { display:block; width:20px; height:20px; }
@media(min-width:1001px) and (max-width:1250px) {
  .scene-process-steps h3 { min-height:2.5em; }
}
.motion-ready .cinema-home .process-scene {
  padding-block:32px 100px;
  background:linear-gradient(90deg,#14201930,#1420199c 55%,#142019ad);
}
@media(max-width:1000px) {
  .cinema-home .process-layout { grid-template-columns:1fr; gap:30px; }
  .cinema-home .process-scene h2 { font-size:50px; }
  .scene-process-steps { --step-gap:24px; grid-template-columns:1fr; }
  .scene-process-steps li { border-top:0; border-left:1px solid #ffb48b80; padding:0 0 0 24px; }
  .scene-step-arrow { left:-10px; right:auto; top:auto; bottom:calc(-1 * var(--step-gap) / 2 - 10px); transform:rotate(90deg); }
  .scene-process-steps h3 { font-size:22px; }
  .scene-process-steps p { font-size:14px; }
}
@media(max-width:650px) {
  .cinema-home .process-scene { padding-block:44px; }
  .cinema-home .process-layout { gap:24px; }
  .cinema-home .process-scene h2 { font-size:38px; }
  .scene-process-steps h3 { font-size:20px; }
  .scene-process-steps p { margin-top:6px; font-size:13px; line-height:1.6; }
  .motion-ready .cinema-home .process-scene { padding-block:24px 80px; }
}

/* Contact details stay compact; questions go directly to the existing chat. */
.cinema-site .cinema-contact { display:block; padding-block:64px; }
.contact-copy { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:clamp(32px,6vw,88px); }
.contact-heading .contact-intro { max-width:330px; color:#c4cec4; font-size:14px; line-height:1.7; margin-bottom:24px; }
.contact-heading .solid-link { width:fit-content; }
.contact-methods { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; align-content:start; }
.contact-methods .contact-method,.contact-methods .contact-schedule { padding:18px 0 0; }
.contact-reach { grid-column:1/-1; }
.contact-reach .contact-email { font-size:21px; width:fit-content; margin-top:6px; }
.contact-methods .contact-address { font-size:clamp(22px,2vw,28px); }
.contact-methods .contact-schedule strong { font-size:21px; gap:8px 18px; }
.contact-methods .contact-schedule strong > span { white-space:nowrap; }
@media(max-width:1000px) {
  .contact-copy { grid-template-columns:1fr; gap:32px; }
  .contact-heading h2 br { display:none; }
  .contact-heading h2 em::before { content:' '; }
  .contact-heading .contact-intro { max-width:none; }
  .contact-reach .contact-number { font-size:32px; }
}
@media(max-width:650px) {
  .cinema-site .cinema-contact { padding-block:40px; }
  .contact-copy { gap:28px; }
  .contact-heading h2 { font-size:39px; margin:16px 0; }
  .contact-heading .contact-intro { font-size:13px; margin-bottom:20px; }
  .contact-methods { grid-template-columns:1fr; gap:20px; }
  .contact-reach .contact-number { font-size:clamp(20px,6vw,29px); }
  .contact-reach .contact-email { font-size:21px; }
  .contact-phone-row { gap:8px; }
  .contact-messengers .messenger-link { width:40px; height:40px; }
  .contact-methods .contact-address { font-size:23px; }
}

/* On phones, leave the centered back-to-top link above the fixed chat launcher. */
@media(max-width:650px) {
  .cinema-footer { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
}

/* Политика ПД и уведомление о cookie (08.10.2026). */
.footer-legal { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; margin:0; font-size:12px; line-height:1.5; color:#ffffff8c; text-align:center; }
.footer-legal a { color:#ffffffb3; text-decoration:underline; text-underline-offset:3px; }
.footer-legal a:hover { color:var(--flare); }
.legal-page h1 { font-size:clamp(30px,4vw,52px); margin-top:24px; }
.legal-text { max-width:760px; margin-top:28px; display:grid; gap:26px; }
.legal-text h2 { font-size:20px; margin-bottom:10px; }
.legal-text p, .legal-text li { font-size:15px; line-height:1.6; }
.legal-text ul { padding-left:20px; display:grid; gap:8px; }
.legal-text a { text-decoration:underline; }
.cookie-note { position:fixed; left:16px; bottom:16px; z-index:60; max-width:420px; display:flex; gap:12px; align-items:center; padding:12px 14px; background:var(--ink,#202a23); color:#fff; border-radius:6px; box-shadow:0 10px 30px #0004; font-size:13px; line-height:1.4; }
.cookie-note[hidden] { display:none; }
.cookie-note a { color:#fff; text-decoration:underline; }
.cookie-ok { flex:none; min-height:40px; padding:0 14px; border:0; border-radius:4px; background:var(--orange); color:#fff; font:inherit; font-weight:600; cursor:pointer; }
@media(max-width:650px) { .cookie-note { left:10px; right:10px; bottom:84px; max-width:none; } }
