/* Two client-facing design directions. Stock imagery is identified in the preview. */
.redesign{--paper:#f6f3ed;--ink:#302b26;--accent:#934e38;--soft:#eae4da;--line:#d6cec1;--yellow:#934e38;--home-line:var(--line);background:var(--paper);color:var(--ink);font-family:Avenir,Arial,sans-serif}
.redesign:before,.redesign:after{display:none}.redesign h1,.redesign h2,.redesign h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}.redesign h2{font-size:clamp(38px,4.5vw,64px)}.redesign h3{font-size:30px}.redesign em{font-weight:400;color:var(--accent)}.redesign .kicker,.redesign .eyebrow{font:600 10px/1.6 Arial,sans-serif;letter-spacing:.19em;color:var(--accent);margin:0 0 24px}.redesign a:focus-visible,.redesign button:focus-visible,.redesign input:focus-visible,.redesign select:focus-visible,.redesign textarea:focus-visible,.redesign summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.redesign .skip{background:var(--ink);color:var(--paper)}

.redesign .zh-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.redesign .zh-header-inner{max-width:1440px;min-height:100px;margin:auto;padding:10px 4.5%;gap:40px}.redesign .zh-logo{flex-basis:108px}.redesign .zh-logo img{width:108px;height:70px;filter:none}.redesign .zh-navigation{gap:42px}.redesign .zh-nav a{color:var(--ink);text-transform:none;font-size:13px;letter-spacing:.03em;padding:10px 18px}.redesign .zh-nav a:hover{background:var(--soft);color:var(--accent)}.redesign .zh-nav a.active:after{background:var(--accent)}.redesign .zh-request{background:var(--ink);color:var(--paper);border:1px solid var(--ink);min-height:44px;padding:10px 22px;font-size:12px}.redesign .zh-socials{display:none}.redesign .zh-menu-toggle{color:var(--ink);border-color:var(--line)}
.editorial-hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;padding:48px 4.5% 56px;gap:3%;min-height:680px}.hero-copy{align-self:center;padding:20px 0}.redesign .hero-copy h1{font-size:clamp(54px,5.4vw,82px);margin:24px 0 30px;line-height:1.06;letter-spacing:-.06em}.hero-copy h1 em{font-size:.95em}.hero-description{font-size:15px;line-height:1.85;margin:0 0 32px;max-width:470px;color:#655e55}.new-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:17px 24px;background:var(--accent);color:#fff;text-decoration:none;font:500 12px/1.5 Arial,sans-serif}.new-button span{font-size:23px;line-height:1}.new-button:hover{background:var(--ink)}.hero-footnote{display:flex;align-items:center;gap:16px;margin-top:48px;font-size:11px;line-height:1.6;color:#746a5d}.small-star{font-size:42px;color:var(--accent);font-family:Georgia,serif}.hero-photo{margin:0;position:relative;min-height:590px}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 53%}.hero-photo figcaption{position:absolute;bottom:28px;left:-30px;right:40px;background:var(--paper);padding:21px 24px;font:10px/1.5 Arial,sans-serif;letter-spacing:.19em;color:var(--ink)}.photo-count{position:absolute;top:20px;left:22px;color:white;font:9px/1.5 Arial,sans-serif;letter-spacing:.16em;text-shadow:0 1px 5px #000}
.occasion-strip{padding:25px 4.5%;display:flex;justify-content:center;align-items:center;gap:36px;border-block:1px solid var(--line);font-size:12px}.occasion-strip>span:first-child{color:#766d61;margin-right:auto}.occasion-strip>span:not(:first-child){color:var(--accent);font-size:18px}.occasion-strip a{text-decoration:none}.occasion-strip a:hover{color:var(--accent)}.intro-editorial{max-width:1320px;margin:auto;padding:110px 4.5%;display:grid;grid-template-columns:1fr 2fr;gap:55px}.intro-editorial>.kicker{padding-top:12px}.intro-editorial h2{margin:0 0 36px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px}.intro-columns p{font-size:15px;margin:0 0 28px;color:#6a6258}.editorial-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;text-decoration:none;border-bottom:1px solid var(--accent);padding:8px 0;color:var(--accent)}.editorial-link:hover{color:var(--ink)}
.stories{padding:80px 4.5% 100px;background:#eae4d9}.stories-heading{max-width:1190px;margin:0 auto 44px;display:grid;grid-template-columns:1fr 1fr}.stories-heading .kicker{grid-column:1/-1}.stories-heading h2{margin:0}.stories-heading .editorial-link{justify-self:end;align-self:end}.stories-grid{max-width:1190px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.story{text-decoration:none}.story:nth-child(2){padding-top:70px}.story-photo{overflow:hidden;aspect-ratio:4/5}.story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.story:hover img{transform:scale(1.035)}.story-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font:10px/1.5 Arial,sans-serif;letter-spacing:.11em;color:var(--accent)}.story-heading>span:last-child{font-size:26px}.redesign .story h3{font-size:29px;margin:12px 0}.story p{font-size:13px;margin:0;color:#6a6258}.catering-feature{max-width:1320px;padding:110px 4.5%;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.catering-feature figure{margin:0}.catering-feature img{width:100%;aspect-ratio:1;object-fit:cover}.catering-feature h2{margin:0 0 30px}.catering-feature p:not(.kicker){font-size:15px;color:#6a6258;max-width:400px}.service-tags{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:36px;font:10px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.redesign .home-section,.redesign .home-pricing{max-width:1190px;padding:80px 0;background:transparent;color:var(--ink)}.redesign .home-section h2{font-size:clamp(38px,4vw,54px)}.redesign .home-process{border-top:1px solid var(--line)}.redesign .process-grid{gap:38px}.redesign .process-grid li{border-color:var(--line)}.redesign .process-grid span{color:var(--accent);font-size:12px}.redesign .process-grid h3{font-size:26px}.redesign .process-grid p,.redesign .home-faq>div>p:not(.eyebrow),.redesign .faq-list details p{color:#6a6258}.redesign .home-faq{border-top:1px solid var(--line)}.redesign .faq-list details{border-color:var(--line)}.redesign .faq-list summary{font-size:15px}.redesign .faq-list summary:after,.redesign .faq-list details[open] summary{color:var(--accent)}.redesign .home-contact{max-width:none;background:#e8e1d6;padding:90px max(4.5%,calc((100% - 1190px)/2));gap:10%}.redesign .request-copy h2{text-transform:none;font-size:72px}.redesign .request-copy>p:not(.eyebrow),.redesign .home-request label,.redesign .form-note,.redesign .form-note a{color:#655c50}.redesign .request-copy .text-link{color:var(--accent)}.redesign .home-request input,.redesign .home-request textarea,.redesign .home-request select{background:#f7f3ec;color:var(--ink);border:1px solid #b9af9f;color-scheme:light}.redesign .home-request input::placeholder,.redesign .home-request textarea::placeholder{color:#796e60}.redesign .home-request .submit{background:var(--accent);color:#fff}.redesign .home-request .submit:hover{background:var(--ink)}.mood-section{max-width:1190px;margin:0 auto 80px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:64px;padding:36px 0}.mood-section h2{font-size:42px}.mood-player video{width:100%;aspect-ratio:16/9;object-fit:cover}.mood-player p{font-size:10px;color:#756c61}.redesign .site-footer{max-width:none;width:100%;padding:50px max(4.5%,calc((100% - 1190px)/2)) 28px;background:var(--ink);color:var(--paper)}.redesign .home-footer-top{border-color:#ffffff30}.redesign .home-footer-top img{width:110px;filter:invert(1)}.redesign .home-footer-top p{color:#d4cdc0;font-size:12px}.redesign .home-footer-top>div a{color:var(--paper)}.redesign .footer-links{font-size:10px;letter-spacing:.1em}.image-disclosure{margin:0;padding:14px 5%;background:#29251f;color:#c9c1b6;text-align:center;font-size:10px;line-height:1.7}.redesign .whatsapp-ribbon{right:20px;bottom:20px;width:48px;height:48px;border-radius:50%}.redesign .whatsapp-ribbon img{width:48px;height:48px}
/* Shared interior-page styling. */
.redesign .events-shell,.redesign .contact-shell,.redesign.legal-page .page-shell{background:var(--paper);max-width:1190px;color:var(--ink)}.redesign .events-hero{background:var(--soft);color:var(--ink);margin-top:45px}.redesign .events-hero h1{text-transform:none;font-size:clamp(42px,5vw,68px)}.redesign .events-hero .eyebrow{color:var(--accent)}.redesign .button.primary{background:var(--accent);border-color:var(--accent);color:white}.redesign .events-jump{border-color:var(--line)}.redesign .events-jump a{color:var(--ink)}.redesign .event-card{background:transparent;border-bottom:1px solid var(--line)}.redesign .event-card-copy{padding:28px 0}.redesign .event-card-copy>p:not(.eyebrow),.redesign .section-heading>p,.redesign .events-service p:not(.eyebrow){color:#6a6258}.redesign .event-card .text-link,.redesign .events-service>.text-link{color:var(--accent)}.redesign .event-card-wide .event-card-copy{padding:36px}.redesign .events-service,.redesign .contact-location,.redesign .contact-channel-grid article{border-color:var(--line)}.redesign .contact-channel-grid a{color:var(--ink)}.redesign .legal-content h1,.redesign .legal-content h2,.redesign .legal-content a{color:var(--accent)}.redesign .legal-content p,.redesign .legal-content li{color:var(--ink)}.redesign .contact-shell .home-section{padding:70px 30px}.redesign .events-hero-image>span{font-size:9px;letter-spacing:.08em;background:#302b26cc}
/* Direction 02: cinematic, architectural typography and an evening palette. */
.night-concept{--paper:#171916;--ink:#f2eee4;--accent:#dbd799;--soft:#23261f;--line:#42453b;--yellow:#dbd799;--home-line:#42453b}.night-concept .zh-logo img{filter:invert(1)}.night-concept .zh-request{background:var(--accent);border-color:var(--accent);color:#171916}.cinema-hero{height:690px;min-height:600px;position:relative;overflow:hidden}.cinema-hero video,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinema-shade{background:linear-gradient(90deg,#10120fe6,#10120f36 90%),linear-gradient(0deg,#10120fbf,transparent 50%)}.cinema-copy{position:relative;max-width:1320px;margin:auto;padding:55px 4.5% 60px}.night-concept .cinema-copy h1{font:bold clamp(64px,8.3vw,122px)/.9 Arial,sans-serif;letter-spacing:-.065em;margin:30px 0 40px}.cinema-copy h1 em{font-family:Georgia,serif;font-weight:400;font-size:.85em;letter-spacing:-.07em}.cinema-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.cinema-bottom p{font-size:14px;color:#ece8dc}.night-concept .new-button{background:var(--accent);color:#191b16}.night-concept .new-button:hover{background:#fff}.film-control{position:absolute;right:4.5%;top:30px;background:#17191680;border:1px solid #d7d5bf80;color:white;padding:10px 15px;cursor:pointer;font:11px/1.5 Arial,sans-serif}.film-caption{position:absolute;right:4.5%;bottom:24px;font:9px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#d1cabb}.night-concept .occasion-strip{background:#24271f}.night-concept .occasion-strip>span:first-child,.night-concept .intro-columns p,.night-concept .story p,.night-concept .catering-feature p:not(.kicker),.night-concept .process-grid p,.night-concept .home-faq>div>p:not(.eyebrow),.night-concept .faq-list details p{color:#bebfaf}.night-concept .stories{background:#23261f}.night-concept .stories-grid{gap:40px}.night-concept .story-photo{aspect-ratio:3/4}.night-concept .home-contact{background:#282b23}.night-concept .request-copy>p:not(.eyebrow),.night-concept .home-request label,.night-concept .form-note,.night-concept .form-note a{color:#cecebf}.night-concept .home-request input,.night-concept .home-request textarea,.night-concept .home-request select{background:#191c16;color:var(--ink);border-color:#626650;color-scheme:dark}.night-concept .home-request .submit{color:#171916}.night-concept .site-footer{background:#10120f;color:#f2eee4}.night-concept .home-footer-top>div a{color:#f2eee4}
@media(min-width:961px){.redesign .zh-nav .zh-nav-home{display:flex}}
@media(max-width:1250px){.redesign .home-section:not(.home-contact),.mood-section{margin-inline:4.5%;padding-block:65px}.redesign .zh-navigation{gap:20px}.redesign .zh-nav a{padding-inline:12px}.editorial-hero{min-height:600px}.hero-photo{min-height:540px}.hero-copy h1{font-size:65px}.occasion-strip{gap:22px}.cinema-hero{height:660px}}
@media(max-width:960px){.redesign .zh-header-inner{min-height:84px}.redesign .zh-navigation{background:var(--paper);padding-block:20px;gap:20px}.redesign .zh-nav a{border-color:var(--line)}.redesign .zh-nav a.active{background:var(--soft);border-left-color:var(--accent)}.editorial-hero{padding-top:30px;gap:25px;min-height:570px}.redesign .hero-copy h1{font-size:clamp(42px,6.3vw,62px)}.hero-photo{min-height:490px}.hero-description{font-size:13px}.hero-description br{display:none}.hero-footnote{margin-top:28px}.hero-photo figcaption{left:-15px;right:18px;padding:16px;font-size:8px}.occasion-strip{flex-wrap:wrap;gap:15px 24px}.occasion-strip>span:first-child{width:100%;text-align:center;margin:0}.intro-editorial{grid-template-columns:1fr;gap:10px;padding-block:70px}.stories{padding-block:65px}.stories-grid{gap:20px}.redesign .story h3{font-size:25px}.catering-feature{padding-block:70px;gap:40px}.redesign .process-grid{grid-template-columns:1fr 1fr;gap:32px}.mood-section{gap:35px}.redesign .home-faq{gap:35px}.redesign .home-contact{gap:40px}.cinema-hero{height:620px}.cinema-copy{padding-top:75px}.cinema-bottom{align-items:flex-start;flex-direction:column;gap:10px}.cinema-copy .kicker{font-size:9px}.night-concept .cinema-copy h1{font-size:85px}.film-control{top:20px}}
@media(max-width:640px){.concept-bar>span{display:none}.redesign .zh-header-inner{padding-inline:22px;min-height:78px}.redesign .zh-logo img{width:93px;height:58px}.editorial-hero{display:flex;flex-direction:column;padding:34px 23px 28px;gap:32px}.hero-copy{padding:0;align-self:stretch}.redesign .hero-copy h1{font-size:clamp(42px,10vw,65px);margin:20px 0 24px}.hero-copy .kicker{font-size:9px;margin-bottom:15px}.hero-description{font-size:14px;max-width:310px}.hero-footnote{display:none}.hero-photo{min-height:0;height:420px}.hero-photo>img{object-position:center 52%}.hero-photo figcaption{bottom:20px;left:-8px;right:25px}.new-button{padding:15px 20px;font-size:11px;gap:28px}.occasion-strip{padding:20px 22px;font-size:10px;gap:10px 13px}.occasion-strip>span:first-child{font-size:11px;margin-bottom:6px}.intro-editorial{padding:56px 23px;gap:8px}.redesign h2{font-size:42px}.intro-columns{grid-template-columns:1fr;gap:0}.intro-columns p{font-size:14px;margin-bottom:16px}.stories{padding:50px 23px}.stories-heading{display:block}.stories-heading h2{margin-bottom:22px}.stories-grid{grid-template-columns:1fr;gap:40px}.story:nth-child(2){padding-top:0}.story-photo,.night-concept .story-photo{aspect-ratio:5/4}.redesign .story h3{font-size:31px}.catering-feature{padding:55px 23px;grid-template-columns:1fr;gap:35px}.catering-feature img{aspect-ratio:5/4}.redesign .home-section:not(.home-contact),.mood-section{margin:0 23px;padding:50px 0}.redesign .home-section h2{font-size:40px}.redesign .process-grid{gap:24px 18px}.redesign .process-grid h3{font-size:23px}.redesign .process-grid p{font-size:12px}.mood-section{grid-template-columns:1fr;gap:20px}.mood-section h2{font-size:35px;margin-bottom:0}.redesign .home-faq{grid-template-columns:1fr;gap:24px}.redesign .home-contact{grid-template-columns:1fr;padding:55px 23px;gap:30px}.redesign .request-copy h2{font-size:55px}.redesign .home-request .form-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.redesign .home-request .full{grid-column:1/-1}.redesign .home-request label{font-size:12px}.redesign .site-footer{padding:40px 23px 26px!important}.redesign .home-footer-top{flex-direction:column;align-items:flex-start;gap:20px}.redesign .home-footer-top p{text-align:left}.redesign .home-footer-top>div{align-items:flex-start}.redesign .footer-links{justify-content:flex-start}.image-disclosure{text-align:left;padding:16px 23px}.redesign .events-hero{margin-top:0}.redesign .event-card-wide .event-card-copy{padding:24px 0}.redesign .contact-shell .home-section{margin:0;padding:45px 23px}.cinema-hero{height:610px;min-height:0}.cinema-copy{padding:78px 23px 50px}.night-concept .cinema-copy h1{font-size:clamp(52px,12vw,77px);line-height:.99;margin:32px 0}.cinema-bottom p{font-size:13px}.cinema-bottom .new-button{gap:15px;font-size:10px}.film-control{right:23px;font-size:10px;top:18px}.film-caption{right:23px;font-size:8px}.night-concept .stories-grid{gap:36px}}
@media(prefers-reduced-motion:reduce){.story-photo img{transition:none}.story:hover img{transform:none}}


/* Services travel around a perspective ring; the front card stays readable. */
.services-orbit{padding:90px 0 70px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#383d2c 0, #171916 65%);border-block:1px solid var(--line)}
.services-orbit-heading{text-align:center;padding:0 23px}.services-orbit-heading h2{margin:0 0 22px}.services-orbit-heading>p:last-child{color:#bebfaf;font-size:14px}
.service-carousel{--card-width:300px;--ring-radius:300px;max-width:1100px;margin:35px auto 0;touch-action:pan-y}
.service-orbit-stage{height:490px;position:relative;perspective:1300px;perspective-origin:50% 45%}
.service-orbit-card{position:absolute;left:calc(50% - var(--card-width)/2);top:35px;width:var(--card-width);height:390px;overflow:hidden;color:#fff;text-decoration:none;background:#25291f;border:1px solid #ffffff20;box-shadow:0 30px 50px #0007;backface-visibility:hidden;transition:transform 900ms cubic-bezier(.22,.7,.2,1),filter 900ms,opacity 900ms;transform:translateX(var(--orbit-x,0px)) translateZ(var(--orbit-z,0px)) rotateY(var(--orbit-angle,0deg));filter:brightness(var(--orbit-brightness,1));opacity:var(--orbit-opacity,1)}
.service-orbit-card img{width:100%;height:100%;object-fit:cover}.service-orbit-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080b08f5, #080b0860 45%,transparent 80%)}
.service-orbit-copy{position:absolute;z-index:1;bottom:28px;left:25px;right:25px}.service-orbit-copy>span:first-child{font-size:9px;letter-spacing:.18em;color:#dbd799}.redesign .service-orbit-copy h3{font-size:32px;margin:12px 0}.service-orbit-copy p{font-size:12px;line-height:1.6;margin:0 0 18px}.service-orbit-link{font-size:11px;color:#dbd799}.service-orbit-controls{display:flex;align-items:center;justify-content:center;gap:25px;position:relative;z-index:10}.service-orbit-controls button{width:46px;height:46px;border:1px solid #777d62;border-radius:50%;background:#171916;color:#dbd799;font-size:30px;cursor:pointer}.service-orbit-controls button:hover{background:#dbd799;color:#171916}.service-orbit-status{font:11px Arial,sans-serif;letter-spacing:.16em;color:#dbd799}.service-orbit-controls .service-orbit-pause{font-size:15px;width:34px;height:34px}
@media(max-width:640px){.services-orbit{padding:55px 0 45px}.service-carousel{--card-width:220px;--ring-radius:205px;margin-top:20px}.service-orbit-stage{height:380px;perspective:900px}.service-orbit-card{height:310px;top:25px}.service-orbit-copy{left:18px;right:18px;bottom:20px}.redesign .service-orbit-copy h3{font-size:27px}.services-orbit-heading h2{font-size:37px}.service-orbit-copy p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.service-orbit-card{transition:none}}

/* Transparent video framing and centered button labels. */
.home-page.night-concept .zh-header{position:absolute;inset:0 0 auto;z-index:20;background:transparent;border-bottom:0}
.home-page.night-concept .cinema-hero{height:790px;min-height:700px}
.home-page.night-concept .cinema-copy{padding-top:155px}
.home-page .film-control{top:115px}
.cinema-bottom{flex-direction:column;align-items:flex-start;gap:12px}
.redesign .new-button,.redesign .zh-request,.redesign .button,.redesign .submit,.redesign button{justify-content:center;text-align:center;font-weight:700;letter-spacing:.025em}
.redesign .new-button{gap:0;min-width:260px}
.redesign .editorial-link{justify-content:center;font-weight:600}
.service-orbit-controls button[data-orbit-prev],.service-orbit-controls button[data-orbit-next]{width:auto;min-width:84px;border-radius:24px;padding:0 16px;font-size:12px}
.home-page.night-concept .site-footer{position:relative;isolation:isolate;background:transparent;overflow:hidden;color:#f2eee4}
.footer-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.home-page .site-footer:before{content:"";position:absolute;inset:0;background:#10120f99;z-index:-1}
.home-page .image-disclosure{background:var(--paper)}
@media(max-width:960px){.home-page .zh-navigation{background:var(--paper)}}
@media(max-width:640px){.home-page.night-concept .cinema-hero{height:720px;min-height:0}.home-page.night-concept .cinema-copy{padding-top:170px}.home-page .film-control{top:98px}.redesign .new-button{min-width:0;padding-inline:24px}.home-page .cinema-bottom .new-button{font-size:12px}}

/* Equal spacing between the hero title, description and call to action. */
.night-concept .cinema-copy{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.night-concept .cinema-copy h1{margin:0}
.night-concept .cinema-bottom{display:contents}
.night-concept .cinema-bottom p{margin:0}
@media(max-width:640px){.night-concept .cinema-copy{gap:28px}.night-concept .cinema-copy h1{margin:0}}

/* Homepage: trust and individual pricing. */
.home-page .home-trust,.home-page .home-cost{border-top:1px solid var(--line)}
.home-page .trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.home-page .trust-grid article{border-top:1px solid var(--line);padding-top:24px;min-width:0}
.home-page .trust-grid h3{font-size:26px}
.home-page .trust-grid p,.home-page .home-cost p:not(.eyebrow){color:#bebfaf;font-size:15px;line-height:1.7}
.home-page .trust-grid .editorial-link{font-size:13px;overflow-wrap:anywhere}
.home-page .home-cost{display:flex;align-items:center;gap:48px}
.home-page .home-cost>div{flex:1;min-width:0}
.home-page .home-cost p:not(.eyebrow){max-width:650px}
.home-page .home-cost .new-button{flex-shrink:0;white-space:normal;text-align:center}
@media(max-width:960px){.home-page .home-cost{flex-direction:column;align-items:flex-start}.home-page .trust-grid{gap:24px}}
@media(max-width:640px){.home-page .trust-grid{grid-template-columns:1fr;gap:28px}.home-page .home-cost{gap:22px}}

/* Slow, seamless sample review ribbon. */
.review-strip{background:#24271f;border-block:1px solid var(--line);padding:18px 0 24px;overflow:hidden}
.review-strip-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:0 4.5% 16px;font:10px/1.5 Arial,sans-serif;letter-spacing:.09em;color:var(--accent)}
.review-demo{color:#bebfaf;letter-spacing:0}
.review-toggle{margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--ink);padding:7px 10px;cursor:pointer;font:11px/1.4 Arial,sans-serif;letter-spacing:0}
.review-window{overflow:hidden}
.review-track{display:flex;width:max-content;animation:review-drift 100s linear infinite}
.review-group{display:flex;align-items:center;flex-shrink:0;list-style:none;margin:0;padding:0}
.review-group li{display:flex;align-items:center;gap:22px;padding-right:54px;white-space:nowrap}
.review-star{color:var(--accent);font-size:25px}
.review-group blockquote{margin:0;font:italic 20px/1.5 Georgia,serif;color:var(--ink)}
.review-topic{font:10px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#bebfaf}
.review-strip:hover .review-track,.review-strip:focus-within .review-track,.review-strip.is-paused .review-track{animation-play-state:paused}
@keyframes review-drift{to{transform:translateX(-50%)}}
@media(max-width:640px){.review-strip-header{padding-inline:23px}.review-group blockquote{font-size:17px}.review-group li{gap:16px;padding-right:32px}.review-toggle{margin-left:0}}
@media(prefers-reduced-motion:reduce){.review-track{animation:none;width:auto}.review-group{flex-direction:column;align-items:flex-start;gap:20px;padding:0 4.5%}.review-group li{white-space:normal;flex-wrap:wrap;padding-right:0;gap:10px}.review-group blockquote{flex:1;min-width:200px}.review-group[aria-hidden="true"],.review-toggle{display:none}}

/* Full-width temporary building photograph behind the introduction. */
.home-page.night-concept .intro-editorial{max-width:none;width:100%;box-sizing:border-box;background:linear-gradient(90deg,rgba(16,18,15,.76),rgba(16,18,15,.83)),url('images/refresh/building-placeholder.jpg') center 58%/cover no-repeat;padding-inline:max(4.5%,calc((100% - 1190px)/2));color:#f2eee4}
.home-page.night-concept .intro-editorial .intro-columns p{color:#eeeade}
.home-page .intro-photo-credit{display:block;margin:24px 0 0;font:10px/1.6 Arial,sans-serif;color:#d3d0c5}
.home-page .intro-photo-credit a{color:inherit;text-underline-offset:3px}
@media(max-width:640px){.home-page.night-concept .intro-editorial{padding-inline:23px;background-position:center}}

.home-page .review-strip{padding-block:24px;cursor:pointer}
.home-page .review-strip:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

.home-page .image-disclosure a{color:inherit;text-underline-offset:3px}

/* Five visible cards arranged around a draggable perspective carousel. */
.home-page .service-carousel{--card-width:240px;--orbit-spacing:215px;max-width:1320px;margin:35px auto 0;overflow:hidden;touch-action:pan-y;cursor:grab;padding:0 0 20px}
.home-page .service-orbit-stage{display:block;height:440px;position:relative;perspective:1400px;perspective-origin:50% 45%}
.home-page .service-orbit-card{position:absolute;left:calc(50% - var(--card-width)/2);top:20px;width:var(--card-width);height:370px;transform:translateX(var(--orbit-x,0px)) translateZ(var(--orbit-z,0px)) rotateY(var(--orbit-angle,0deg));filter:brightness(var(--orbit-brightness,1));opacity:1;transition:transform 650ms cubic-bezier(.22,.7,.2,1),filter 650ms;box-shadow:0 20px 35px #0005}
.home-page .service-orbit-card img{pointer-events:none;user-select:none}
.home-page .service-orbit-copy{left:18px;right:18px;bottom:24px}
.home-page .service-orbit-copy h3{font-size:28px;overflow-wrap:break-word}
.home-page .service-orbit-card:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.home-page .service-carousel.is-dragging{cursor:grabbing;user-select:none}
@media(max-width:1100px){.home-page .service-carousel{--card-width:210px;--orbit-spacing:180px}}
@media(max-width:640px){.home-page .service-carousel{--card-width:220px;--orbit-spacing:165px;margin-top:24px}.home-page .service-orbit-stage{height:380px;perspective:900px}.home-page .service-orbit-card{height:320px}.home-page .service-orbit-copy h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.home-page .service-orbit-card{transition:none}}

.footer-legal-sections{margin-top:24px;position:relative}
.footer-legal{border-top:1px solid #ffffff30;padding:15px 0;color:#f2eee4;scroll-margin-top:24px}
.footer-legal summary{cursor:pointer;font:12px/1.6 Arial,sans-serif}
.footer-legal-copy{max-width:850px;padding:18px 0;font:13px/1.8 Arial,sans-serif}
.footer-legal-copy h2{font-size:24px;margin-top:28px}.footer-legal-copy h3{font-size:19px}.footer-legal-copy a{color:inherit;overflow-wrap:anywhere}

/* Events and Service use the homepage's dark cinematic palette. */
.home-page.events-page.night-concept .zh-header{position:relative;inset:auto;background:var(--paper);border-bottom:1px solid var(--line)}
.events-page.night-concept .events-shell{background:var(--paper);color:var(--ink);max-width:1320px}
.events-page.night-concept .events-hero{margin:0;background:var(--soft);color:var(--ink);min-height:560px}
.events-page.night-concept .events-hero-copy{align-self:center;padding:70px 48px}
.events-page.night-concept .events-hero h1{font:bold clamp(48px,5.3vw,76px)/1 Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase}
.events-page.night-concept .events-hero .eyebrow{color:var(--accent)}
.events-page.night-concept .events-hero-copy>p:not(.eyebrow){color:#cecebf;font-size:15px;line-height:1.8}
.events-page.night-concept .events-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#10120f65,transparent 60%);pointer-events:none}
.events-page.night-concept .events-hero-image>span{z-index:1;background:#171916cc;color:#f2eee4}
.events-page.night-concept .events-jump{background:#24271f;border-color:var(--line)}
.events-page.night-concept .events-jump a{color:#cecebf;font-size:12px}
.events-page.night-concept .events-jump a:hover{color:var(--accent)}
.events-page.night-concept .section-heading>p,.events-page.night-concept .event-card-copy>p:not(.eyebrow),.events-page.night-concept .events-service p:not(.eyebrow){color:#bebfaf}
.events-page.night-concept .event-card-copy>p.event-lead{color:var(--ink)}
.events-page.night-concept .event-card{background:transparent;border-color:var(--line);scroll-margin-top:24px}
.events-page.night-concept .event-card .text-link,.events-page.night-concept .events-service>.text-link{color:var(--accent)}
.events-page.night-concept .events-grid{gap:48px 32px}
.events-page.night-concept .events-service{border-color:var(--line);padding-block:56px}
.events-page.night-concept .events-request{max-width:none;background:#282b23;padding:64px 48px;color:var(--ink)}
.events-page.night-concept .events-request p:not(.eyebrow){color:#cecebf}
.events-page.night-concept .new-button:hover{background:#f2eee4;color:#171916}
.events-page.night-concept a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:800px){.events-page.night-concept .events-hero{min-height:0}.events-page.night-concept .events-hero-copy{padding:55px 24px}.events-page.night-concept .events-hero-image{min-height:300px}.events-page.night-concept .events-request{padding:48px 24px}.events-page.night-concept .events-grid{gap:32px 24px}}


.home-page .service-orbit-card{cursor:pointer}
.service-carousel-shell{position:relative;max-width:1420px;margin:0 auto;padding-inline:44px}
.service-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:15;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #dbd79970;border-radius:50%;background:#24271fe6;color:var(--accent);font:26px/1 Arial,sans-serif;cursor:pointer}
.service-arrow-prev{left:8px}.service-arrow-next{right:8px}
.service-arrow:hover{background:var(--accent);color:#171916}
.service-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:640px){.service-carousel-shell{padding-inline:0}.service-arrow{display:none}}

/* Keep navigation close to the cards and center icons precisely. */
.service-carousel-shell{max-width:1240px;padding-inline:20px}
.service-arrow-prev{left:20px}.service-arrow-next{right:20px}
.service-arrow svg{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-arrow-prev svg{transform:translateX(1px)}
.service-arrow-next svg{transform:translateX(-1px)}
@media(max-width:640px){.service-carousel-shell{padding-inline:0}}

/* Outline icons for the four planning steps. */
.home-page .process-step-mark{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.home-page .process-step-mark span{margin:0;color:var(--accent)}
.home-page .process-icon{display:block;width:42px;height:42px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.home-page .process-icon{width:34px;height:34px}.home-page .process-step-mark{gap:10px;margin-bottom:18px}}

/* Editable example prices for the service cards. */
.service-price{margin-top:18px;padding-top:14px;border-top:1px solid #ffffff40}
.service-price strong{display:block;color:var(--accent);font:700 24px/1.2 Arial,sans-serif;letter-spacing:-.025em}
.service-price small{display:block;margin-top:7px;color:#e0dfd1;font:10px/1.5 Arial,sans-serif}
.home-page .service-orbit-card:after{background:linear-gradient(0deg,#080b08fa,#080b08a0 55%,transparent 95%)}
@media(max-width:640px){.service-price{margin-top:12px;padding-top:12px}.service-price strong{font-size:22px}.home-page .service-orbit-copy p{margin-bottom:12px}}

/* Shared footer with navigation, direct contacts and social icons. */
.home-page .site-footer{padding:56px max(4.5%,calc((100% - 1190px)/2)) 28px!important;text-align:left}
.footer-grid{display:grid;grid-template-columns:1.1fr .7fr 1.2fr;gap:60px;padding-bottom:38px;border-bottom:1px solid #ffffff30}
.footer-identity>a>img{width:130px;height:auto;filter:invert(1)}
.footer-identity p{color:#cecebf;font-size:14px;line-height:1.7;margin:20px 0}
.footer-grid h2{font:700 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 22px}
.footer-navigation,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-grid a{text-decoration:none;color:#f2eee4;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.footer-grid a:hover{color:var(--accent)}
.footer-contact address{font-style:normal;color:#cecebf;font-size:13px;line-height:1.7;margin:8px 0 0}
.footer-social-icons{display:flex;gap:12px}
.footer-social-icons a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #ffffff40;border-radius:50%;background:#17191660}
.footer-social-icons a:hover{background:#42453b;border-color:var(--accent)}
.footer-social-icons img{width:22px;height:22px;object-fit:contain;filter:none}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;color:#cecebf;font:11px/1.6 Arial,sans-serif}
.home-page .footer-bottom .footer-links{margin:0;justify-content:flex-start}
@media(max-width:800px){.footer-grid{gap:32px;grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}.home-page .site-footer{padding-bottom:90px!important}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}}

/* Standalone legal pages in the shared dark theme. */
.legal-shell{max-width:1000px;margin:auto;padding:72px 48px 90px;color:var(--ink)}
.legal-document h1{font-size:clamp(42px,6vw,70px);margin:0 0 42px}
.legal-document h2{font-size:30px;margin:38px 0 18px}
.legal-document h3{font-size:22px;margin:26px 0 14px}
.legal-document p,.legal-document li{font-size:15px;line-height:1.85;color:#cecebf}
.legal-document a{color:var(--accent);overflow-wrap:anywhere;text-underline-offset:3px}
@media(max-width:640px){.legal-shell{padding:48px 23px 60px}.legal-document h2{font-size:26px}}

/* Temporary house background for the trust section. */
.home-page.redesign .home-section.home-trust{max-width:none;width:100%;box-sizing:border-box;margin-inline:0;padding:80px max(4.5%,calc((100% - 1190px)/2));background:linear-gradient(90deg,#10120fd9,#10120fc7),url('images/refresh/trust-house.jpg') center 55%/cover no-repeat;color:var(--ink)}
.home-page .home-trust .trust-grid p{color:#eeeade}
.home-page .home-trust .trust-grid article{border-color:#ffffff50}
@media(max-width:640px){.home-page.redesign .home-section.home-trust{padding:50px 23px;background-position:40% center}}

/* Main offer and a persistent, unobtrusive WhatsApp enquiry link. */
.hero-offer-label{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.12em;color:var(--accent);margin:0}
.service-priority-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:24px 0 8px}
.service-priority-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;box-sizing:border-box;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font:700 12px/1.5 Arial,sans-serif}
.service-priority-actions a:hover{background:var(--accent);color:#171916}
.whatsapp-floating{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#178b48;box-shadow:0 5px 22px #0006;border:1px solid #ffffff40;transition:background .2s}
.whatsapp-floating img{display:block;width:28px;height:28px}
.whatsapp-floating:hover{background:#116d38}
.whatsapp-floating:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:640px){.whatsapp-floating{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:52px;height:52px}.hero-offer-label{font-size:10px;letter-spacing:.07em}.home-page.night-concept .cinema-hero{height:auto;min-height:720px}.home-page.night-concept .cinema-copy{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.whatsapp-floating{transition:none}}

/* Location map next to the enquiry form. */
.request-map{margin-top:26px;border:1px solid var(--line);overflow:hidden;width:100%;max-width:600px;background:var(--soft)}
.request-map iframe{display:block;width:100%;height:300px}
@media(max-width:640px){.request-map iframe{height:260px}}
