/* Cinematic direction; the separate brand guide retains its original palette. */
.cinematic{--paper:#211c16;--ink:#efe4d1;--muted:#b8a78e;--line:#63523b;--sand:#332a1f;background:#171410;color:#efe4d1}.cinematic em{color:#caa674}.cinematic .header{position:absolute;inset:0 0 auto;height:106px;background:transparent;border-bottom:1px solid #e1c29a33;z-index:30;padding-inline:5%}.cinematic .brand img{filter:brightness(0) invert(.91)}.cinematic .header nav,.cinematic .nav-contact{color:#eaddc9}.cinematic .brand small{font-size:10px}.cinematic .film-hero{height:100svh;min-height:720px;display:block;position:relative;isolation:isolate;overflow:hidden}.cinematic .hero-image{position:absolute;inset:0;height:100%;z-index:-2}.cinematic .hero-image img{object-position:70% 50%;transform:scale(1.07);filter:brightness(.66) saturate(.72);animation:film-drift 18s ease-out both}.cinematic .hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100d09ed 0%,#100d09a1 30%,#100d0914 75%),linear-gradient(0deg,#100d09c7,transparent 25%,transparent 70%,#100d0955)}.cinematic .hero-copy{position:relative;width:75%;height:100%;padding:185px 0 115px 9%;justify-content:center}.cinematic .hero-copy .eyebrow{font-size:11px;letter-spacing:.3em;color:#d3bc94;margin-bottom:34px}.cinematic h1{font-size:clamp(95px,9.9vw,170px);line-height:.92;letter-spacing:-.055em;margin-bottom:34px}.cinematic .intro{font-size:16px;line-height:1.9;color:#c4b8a5}.film-enter{display:flex;gap:20px;align-items:center;margin-top:15px}.enter-circle{width:62px;height:62px;border:1px solid #cbb38b88;border-radius:50%;display:grid;place-items:center;font:28px Georgia;transition:background .4s,transform .4s}.film-enter:hover .enter-circle{background:#ae875331;transform:translateY(5px)}.film-enter>span:last-child{font-size:11px;letter-spacing:.2em}.film-enter small{display:block;font-size:12px;letter-spacing:0;color:#a7967e;margin-top:5px}.film-bottom{position:absolute;bottom:29px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:#d9cbb3}.film-frame{position:absolute;right:5%;top:150px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#d5c3a4}.cinematic .hero-image figcaption{bottom:64px;left:auto;right:5%;background:none;color:#cbb99e;font-size:10px;z-index:2}.film-story{height:360vh;position:relative;background:#15110d}.story-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}.story-scenes,.story-shade{position:absolute;inset:0;z-index:-2}.story-scene{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;overflow:hidden}.story-scene.active{opacity:1}.story-scene img{width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.55);transform:scale(1.08) translateY(var(--drift,0px));will-change:transform}.story-scene:nth-child(1) img{object-position:50% 45%;filter:brightness(.45) saturate(.75)}.story-scene:nth-child(2) img{object-position:50% 44%;filter:brightness(.5) saturate(.6)}.story-scene:nth-child(3) img{object-position:50% 65%}.story-scene figcaption{position:absolute;bottom:35px;right:5%;font-size:10px;color:#bdae98}.story-shade{z-index:-1;background:linear-gradient(90deg,#15110dc4,transparent 85%),linear-gradient(0deg,#15110ded,transparent 30%)}.story-words{position:absolute;inset:0;display:flex;align-items:center;margin:0 12%}.story-chapter{position:absolute;opacity:0;transform:translateY(35px);transition:opacity .8s,transform 1s;pointer-events:none;max-width:85%}.story-chapter.active{opacity:1;transform:none;pointer-events:auto}.story-chapter .eyebrow{color:#dac3a0;font-size:11px;letter-spacing:.25em}.story-chapter h2{font-size:clamp(65px,7.7vw,122px);line-height:1;letter-spacing:-.05em;margin-bottom:32px}.story-chapter>p:not(.eyebrow){color:#cbbba3;font-size:17px;line-height:1.85}.story-chapter .text-link{margin-top:15px;color:#e6d1ae}.story-nav{position:absolute;bottom:42px;left:12%;width:65%;display:flex;gap:40px}.story-nav button{flex:1;position:relative;background:none;border:0;border-bottom:1px solid #dfc9a840;color:#b1a088;padding:20px 0;text-align:left;font-size:13px}.story-nav span{margin-right:13px;font-size:10px}.story-nav button.active{color:#f0dfc3}.story-nav i{position:absolute;bottom:-1px;left:0;height:1px;width:0;background:#dec395}.story-nav button.active i{width:var(--chapter-progress,0%)}.story-counter{position:absolute;right:5%;bottom:110px;display:flex;gap:12px;align-items:baseline}.story-counter>span:first-child{font:60px Georgia;color:#dcc29a}.story-counter>span:last-child{font-size:12px;color:#a89880}.film-interlude{text-align:center;padding:140px 6%;background:#171410}.film-interlude>span{font-size:11px;letter-spacing:.3em;color:#a8977c}.film-interlude>p{font:clamp(44px,5vw,80px)/1.1 Georgia;margin:28px 0 45px;letter-spacing:-.04em}.film-interlude>a{font-size:10px;letter-spacing:.18em;color:#b59b75}.cinematic .services{background:#241e17;padding-top:100px}.cinematic .service-photo img{filter:brightness(.8) saturate(.75)}.cinematic .service-photo figcaption{color:#b8a78e}.cinematic .index{color:#c6a77a}.cinematic .service-list details{border-color:#c1a17340}.cinematic .tag{color:#c2ad8e;border-color:#9d815d55}.cinematic .vienna-section{background:#3c3022}.cinematic .vienna-section>div>p:not(.eyebrow),.cinematic .techniques p{color:#cbb99c}.cinematic .techniques article{border-color:#aa8d6555}.cinematic .tech-number{color:#cfaa72}.cinematic .tech-bottom{color:#cbb596}.cinematic .portfolio{background:#191612}.cinematic .project-image{height:450px;background:#31271b}.cinematic .project img{filter:brightness(.85) saturate(.8)}.cinematic .project button:hover img{filter:brightness(1) saturate(1);transform:scale(1.06)}.cinematic .project .view{background:#c6aa78;color:#211a12}.cinematic .filters .active{background:#c6aa78;color:#211a12}.cinematic .filters button{font-size:14px}.cinematic .weave-section{background:#100e0b;padding-block:120px}.cinematic .weave-copy h2{font-size:clamp(65px,6.8vw,105px);color:#eadcc6}.cinematic .weave-copy .eyebrow{color:#b49b74}.cinematic .about{background:#2c251c}.cinematic .about-image img{filter:brightness(.75) saturate(.6)}.cinematic .about-image figcaption{color:#bfa884}.cinematic .process{background:#2c251c;padding-top:30px}.cinematic .faq{background:#1c1813}.cinematic .faq-list details{border-color:#8e765344}.cinematic .contact{background:#735637;color:#f3e3c8}.cinematic .contact h2 em{color:#e4c492}.cinematic .contact-copy>p:not(.eyebrow),.cinematic .contact address{color:#decab0}.cinematic .quote-form{background:#261f17;box-shadow:0 30px 90px #20150e40;color:#e7d7bc;padding:45px}.cinematic .quote-form input,.cinematic .quote-form select,.cinematic .quote-form textarea{color:#e9dcc8;border-color:#8c745555}.cinematic .quote-form select option{background:#261f17}.cinematic .quote-form input::placeholder,.cinematic .quote-form textarea::placeholder{color:#b3a18a}.cinematic .button.dark{background:#c6aa78;border-color:#c6aa78;color:#241a10}.cinematic .button.dark:hover{background:#dfc398}.cinematic footer{background:#171410}.cinematic .footer-top>p{color:#c7a777}.cinematic .opening{background:#171410;color:#d9c29c}.cinematic .opening path{stroke:#c6aa78}.cinematic .opening path:nth-child(even){stroke:#7e613c}.cinematic dialog{background:#241e17;color:#e7d7bc}.cinematic .lightbox-inner>img{background:#171410}.cinematic .dialog-close{background:#d0b88f;color:#21180f}.cinematic .lightbox-nav button{color:#e7d7bc}.cinematic .section-heading .eyebrow{color:#c1a175}.cinematic .scroll-progress{background:#e3c392}.cinematic .header.menu-open nav{background:#1e1812}.cinematic .mobile-contact{background:#c6aa78;color:#211a12}.cinematic .menu-toggle{color:#e9d9bf}.cinematic .hero-copy>*{animation-name:cinema-in;animation-duration:1.5s;animation-fill-mode:both}.cinematic .hero-copy h1{animation-delay:.8s}.cinematic .hero-copy .intro{animation-delay:1s}.cinematic .hero-copy .film-enter{animation-delay:1.2s}@keyframes cinema-in{from{opacity:0;filter:blur(8px);transform:translateY(30px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes film-drift{from{transform:scale(1.16)}to{transform:scale(1.03)}}
@media(max-width:1050px){.cinematic .film-hero{min-height:700px}.cinematic .hero-copy{width:90%;padding-left:8%}.cinematic h1{font-size:110px}.story-chapter h2{font-size:85px}.cinematic .project-image{height:360px}.story-words{margin-inline:8%}.story-nav{left:8%}}
@media(max-width:720px){.cinematic .header{height:88px;padding-inline:6%}.cinematic .film-hero{min-height:760px}.cinematic .hero-copy{padding:140px 6% 135px;width:100%}.cinematic h1{font-size:80px}.cinematic .hero-image{height:100%}.cinematic .hero-image img{object-position:67% center}.cinematic .hero-image:after{background:linear-gradient(90deg,#100d09dc,#100d0944),linear-gradient(0deg,#100d09c7,transparent)}.cinematic .hero-image figcaption{bottom:95px;left:6%;right:auto;font-size:9px}.film-bottom{left:6%;right:6%;bottom:65px;font-size:8px}.film-bottom>span:last-child{display:none}.film-frame{display:none}.film-enter{margin-top:10px}.film-story{height:300vh}.story-stage{min-height:650px}.story-chapter h2{font-size:53px}.story-chapter{max-width:100%}.story-words{margin:0 6%}.story-chapter>p:not(.eyebrow){font-size:15px}.story-nav{left:6%;right:6%;width:auto;gap:18px;bottom:85px}.story-nav button{font-size:11px}.story-nav span{display:block;margin-bottom:8px}.story-counter{bottom:165px;right:6%}.story-counter>span:first-child{font-size:40px}.film-interlude{padding:90px 6%}.cinematic .services{padding-top:65px}.cinematic .project-image{height:240px}.cinematic .weave-section{padding-block:75px}.cinematic .quote-form{padding:30px 24px}.cinematic .hero-copy .eyebrow{font-size:10px}.cinematic .intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.story-scene,.story-chapter{transition:none}.cinematic .hero-image img{transform:none;animation:none}.film-story{height:auto}.story-stage{position:relative;height:auto;min-height:0}.story-scenes,.story-shade,.story-nav,.story-counter{display:none}.story-words{position:relative;display:block;padding:65px 0}.story-chapter{position:relative;opacity:1;transform:none;pointer-events:auto;margin-bottom:65px}.story-chapter h2{font-size:clamp(45px,6vw,85px)}}
/* The opening chapter fills the viewport immediately after entering. */
.cinematic #racconto{scroll-margin-top:0}

/* Warmer exposure: honey light, lifted walnut shadows. */
.cinematic{--paper:#392e22;--muted:#d1bea3;--line:#8d7658;--sand:#493a29;background:#30271d}
.cinematic .hero-image img{filter:brightness(.88) saturate(.92)}
.cinematic .hero-image:after{background:linear-gradient(90deg,#21170cc9 0%,#21170c80 30%,#21170c00 75%),linear-gradient(0deg,#21170c99,transparent 25%,transparent 70%,#21170c33)}
.cinematic .intro{color:#e3d4bd}
.cinematic .story-scene img{filter:brightness(.72) saturate(.85)}
.cinematic .story-scene:nth-child(1) img{filter:brightness(.67) saturate(.92)}
.cinematic .story-scene:nth-child(2) img{filter:brightness(.73) saturate(.85)}
.cinematic .story-shade{background:linear-gradient(90deg,#281c10ad,transparent 85%),linear-gradient(0deg,#281c10cb,transparent 30%)}
.cinematic .story-chapter>p:not(.eyebrow){color:#eadac0}
.cinematic .film-interlude,.cinematic footer{background:#30271d}
.cinematic .services{background:#3b3023}
.cinematic .vienna-section{background:#59452e}
.cinematic .portfolio,.cinematic .faq{background:#332a20}
.cinematic .weave-section{background:#282017}
.cinematic .about,.cinematic .process{background:#493a29}
.cinematic .service-photo img,.cinematic .about-image img,.cinematic .project img{filter:brightness(.98) saturate(.95)}
.cinematic .contact{background:#8a6943}
.cinematic .quote-form,.cinematic dialog{background:#392c1e}
.cinematic .quote-form select option{background:#392c1e}
