/* SACAL v4.0 · Luxury editorial layer over the complete v3 archive */
.sacal-v4{--v4-blue:#173aa6;--v4-ink:#101724;--v4-cream:#f2f0e8;--v4-line:#d8d7d0;background:#f7f6f1;color:var(--v4-ink)}
.sacal-v4 .container{max-width:1440px}
.sacal-v4 .header{transition:height .35s,background .35s,box-shadow .35s}
.sacal-v4.is-home .topbar{position:absolute;z-index:31;inset:0 0 auto;background:transparent;color:#fff;border-color:#ffffff2e}
.sacal-v4.is-home .header{position:absolute;z-index:30;top:25px;left:0;right:0;background:transparent;color:#fff;border-color:#ffffff2e}
.sacal-v4.is-home .header .brand{background:#fff;border-radius:2px;padding:4px 9px}
.sacal-v4.is-home .header nav a,.sacal-v4.is-home .header-cta{color:#fff}
.sacal-v4.is-home .header-cta{border-color:#ffffff88;background:#ffffff10}
.sacal-v4.is-home .header.is-scrolled{position:fixed;top:0;background:#f7f6f1ee;color:var(--v4-ink);box-shadow:0 12px 35px #0b1b4b14;backdrop-filter:blur(16px)}
.sacal-v4.is-home .header.is-scrolled nav a{color:var(--v4-ink)}
.sacal-v4.is-home .header.is-scrolled .header-cta{background:var(--v4-blue);color:#fff}
.v4-cinema{height:100svh;min-height:720px;max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:#0b1839;color:#fff}
.v4-cinema-images,.v4-cinema-shade{position:absolute;inset:0;z-index:-2}
.v4-scene{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity 1s ease,transform 1.8s cubic-bezier(.2,.65,.2,1)}
.v4-scene.is-active{opacity:1;transform:scale(1)}
.v4-cinema-shade{z-index:-1;background:linear-gradient(90deg,#081129d9 0%,#08112991 44%,#08112928 72%),linear-gradient(0deg,#07112bd1 0%,transparent 48%,#07112b70 100%)}
.v4-cinema-content{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:100px}
.v4-kicker{font-size:10px;letter-spacing:.18em;display:flex;align-items:center;gap:12px}
.v4-kicker span{width:7px;height:7px;background:#9db5ff;border-radius:50%;box-shadow:0 0 0 6px #9db5ff22}
.v4-kicker b{font-weight:500;margin-left:auto}
.v4-cinema h1{font-size:clamp(62px,8.4vw,132px);line-height:.82;letter-spacing:-.072em;font-weight:620;margin:8vh 0 0;max-width:1050px}
.v4-cinema h1 span,.v4-cinema h1 em{display:block}
.v4-cinema h1 em{font-family:Georgia,serif;font-weight:400;color:#d9e1ff;margin-left:12vw}
.v4-cinema-copy{display:flex;align-items:flex-end;gap:55px;margin:6vh 0 0 38vw}
.v4-cinema-copy p{max-width:390px;font-size:14px;line-height:1.8;color:#eef2ff}
.v4-circle-link{width:125px;height:125px;border:1px solid #ffffff99;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;line-height:1.45;transition:.3s}
.v4-circle-link:hover{background:#fff;color:var(--v4-blue);transform:rotate(-4deg)}
.v4-circle-link span{font-size:22px}
.v4-scene-bar{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:space-between}
.v4-scene-bar>a{font-size:8px;letter-spacing:.15em}
.v4-scene-bar>div{display:flex;gap:8px}
.v4-scene-bar button{color:#fff;background:transparent;border:0;border-bottom:1px solid #ffffff4d;min-width:115px;text-align:left;padding:10px 2px;font:600 10px Manrope,sans-serif;opacity:.62;cursor:pointer}
.v4-scene-bar button span{display:block;font-size:8px;font-weight:400;margin-bottom:5px}
.v4-scene-bar button.is-active{opacity:1;border-color:#fff}
.v4-manifesto{display:grid;grid-template-columns:26% 1fr;gap:7%;padding-block:150px}
.v4-manifesto-mark{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;letter-spacing:.14em;border-top:1px solid var(--v4-line);padding-top:16px}
.v4-manifesto-mark b{font-size:74px;color:var(--v4-blue);font-weight:400;transform:rotate(var(--v4-rotate,0deg));width:max-content}
.v4-manifesto h2{font-size:clamp(44px,5.8vw,86px);line-height:1.02;letter-spacing:-.06em;font-weight:560}
.v4-manifesto h2 em{font-family:Georgia,serif;font-weight:400;color:var(--v4-blue)}
.v4-manifesto h2 strong{font-weight:560;color:#9da2a9}
.v4-manifesto p{max-width:470px;margin:45px 0 0 auto;font-size:13px;line-height:1.9;color:#586173}
.v4-commercial{padding-bottom:150px}
.v4-commercial-head{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:45px;align-items:end;margin-bottom:55px}
.v4-commercial-head h2{font-size:clamp(42px,5.2vw,76px);line-height:1;letter-spacing:-.055em}
.v4-commercial-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--v4-blue)}
.v4-commercial-head p{font-size:12px;line-height:1.8;color:#5f687b}
.v4-commercial-planes{display:grid;grid-template-columns:1.25fr .75fr .95fr;grid-template-rows:330px 290px;gap:14px}
.v4-plane{position:relative;overflow:hidden;background:#dce4f8}
.v4-plane:first-child{grid-row:span 2}
.v4-plane:nth-child(2){grid-column:span 2}
.v4-plane img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.v4-plane span{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr auto;align-items:end;padding:55px 18px 17px;color:#fff;background:linear-gradient(transparent,#07132bc7)}
.v4-plane small{grid-column:1/-1;font-size:8px;letter-spacing:.1em;margin-bottom:8px}
.v4-plane strong{font-size:21px}
.v4-plane b{font-size:23px;font-weight:400}
.v4-plane:hover img{transform:scale(1.035)}
.sacal-v4 .portfolio-hero{background:var(--v4-blue);padding-top:85px}
.sacal-v4 .hero-heading h1 em,.sacal-v4 .section-heading h2 em,.sacal-v4 .page-heading h1 em{font-family:Georgia,serif;font-weight:400}
.sacal-v4 .hero-mosaic{gap:7px}.sacal-v4 .hero-mosaic a{border-radius:0}
.sacal-v4 .brand-line{padding-block:55px}
.sacal-v4 [data-v4-reveal]{transition:opacity .8s,transform .8s;transition-timing-function:cubic-bezier(.2,.7,.2,1)}
.sacal-v4 [data-v4-reveal].is-reveal-ready{opacity:0;transform:translateY(34px)}
.sacal-v4 [data-v4-reveal].is-visible{opacity:1;transform:none}
.sacal-v4 .project-card>a,.sacal-v4 .gallery-item{border-radius:4px}
.sacal-v4 .gift-section{background:#e8ebf3}
@media(max-width:900px){
 .v4-cinema{min-height:680px}.v4-cinema h1{font-size:clamp(58px,11vw,90px)}.v4-cinema-copy{margin-left:22vw}
 .v4-manifesto{grid-template-columns:1fr;padding-block:100px}.v4-manifesto-mark{display:none}
 .v4-commercial-head{grid-template-columns:1fr 1.4fr}.v4-commercial-head p{grid-column:2}
 .v4-commercial-planes{grid-template-rows:290px 250px}
}
@media(max-width:600px){
 .sacal-v4.is-home .topbar{display:none}.sacal-v4.is-home .header{top:0}.sacal-v4.is-home .header nav{background:#f7f6f1}.sacal-v4.is-home .header nav a{color:var(--v4-ink)}
 .v4-cinema{min-height:680px;max-height:none;height:100svh}.v4-cinema-shade{background:linear-gradient(90deg,#081129c7,#0811293d),linear-gradient(0deg,#07112be8,transparent 62%)}
 .v4-cinema-content{padding-top:70px;justify-content:center}.v4-kicker{font-size:7px}.v4-kicker b{display:none}
 .v4-cinema h1{font-size:15.5vw;line-height:.88;margin-top:8vh}.v4-cinema h1 em{margin-left:0}
 .v4-cinema-copy{margin:6vh 0 0;align-items:center;gap:20px}.v4-cinema-copy p{font-size:11px;line-height:1.7;max-width:210px}.v4-circle-link{width:96px;height:96px;font-size:9px;flex-shrink:0}
 .v4-scene-bar{bottom:16px}.v4-scene-bar>a{display:none}.v4-scene-bar>div{width:100%;gap:4px}.v4-scene-bar button{min-width:0;flex:1;font-size:8px}
 .v4-manifesto{padding-block:74px}.v4-manifesto h2{font-size:11.5vw}.v4-manifesto p{margin-top:30px;font-size:12px}
 .v4-commercial{padding-bottom:80px}.v4-commercial-head{display:block}.v4-commercial-head h2{font-size:12vw;margin:14px 0 22px}.v4-commercial-head p{font-size:11px}
 .v4-commercial-planes{grid-template-columns:1fr 1fr;grid-template-rows:300px 190px 220px;margin-top:30px}
 .v4-plane:first-child{grid-row:span 1;grid-column:span 2}.v4-plane:nth-child(2){grid-column:span 1}.v4-plane:last-child{grid-column:span 2}
 .v4-plane span{padding:38px 11px 11px}.v4-plane strong{font-size:15px}.v4-plane small{font-size:6px}
 .sacal-v4 .portfolio-hero{padding-top:55px}
}
@media(prefers-reduced-motion:reduce){
 .v4-scene,.v4-plane img,.v4-circle-link,.sacal-v4 [data-v4-reveal]{transition:none!important}
 .sacal-v4 [data-v4-reveal].is-reveal-ready{opacity:1;transform:none}
}
