
/* Andrea Cencini — Cinematic Story experiment.
 * Standalone visual system. Existing public version is unaffected until publication.
 */
.ac-apple{--ac-white:#f5f5f7;--ac-muted:#888890;--ac-black:#060606;--ac-font:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--ac-ease:cubic-bezier(.23,1,.32,1);font-family:var(--ac-font);font-size:16px;line-height:1.4;background:var(--ac-black);color:var(--ac-white);overflow:clip}
.ac-apple *{box-sizing:border-box}
.ac-apple img{display:block;max-width:100%}
.ac-apple a{color:inherit;text-decoration:none}
.ac-apple button{font:inherit;cursor:pointer}
.ac-apple a:focus-visible,.ac-apple button:focus-visible,.ac-lightbox button:focus-visible{outline:2px solid #a3bbff;outline-offset:5px}
.ac-apple .ac-kicker,.ac-apple .ac-eyebrow{font:600 11px/1.5 var(--ac-font);letter-spacing:.23em;text-transform:uppercase}
.ac-skip{position:fixed;top:-100px;left:22px;z-index:300;background:#fff;color:#000;padding:16px;font-size:13px}
.ac-skip:focus{top:22px}
.ac-nav{position:fixed;inset:0 0 auto;z-index:120;height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(22px,4.8vw,82px);background:linear-gradient(to bottom,rgba(0,0,0,.52),rgba(0,0,0,0));transition:background .45s ease,backdrop-filter .45s ease}
.ac-nav.is-scrolled{background:rgba(8,8,9,.88);backdrop-filter:blur(22px);box-shadow:0 1px 0 rgba(255,255,255,.09)}
.ac-nav__brand{display:block;position:relative;width:235px;height:60px;flex:none}
.ac-nav__brand::after{content:"";display:block;position:absolute;inset:0;background:var(--ac-logo-url) center center / 100% auto no-repeat}
.ac-nav__brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ac-nav__links{display:flex;gap:clamp(22px,3vw,46px);margin-left:auto;align-items:center}
.ac-nav__links a{font-size:12px;font-weight:500;letter-spacing:.01em;opacity:.86;transition:opacity .3s}
.ac-nav__links a:hover{opacity:1}
.ac-nav__right{display:flex;align-items:center;gap:24px}
.ac-lang{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#a6a6aa}
.ac-lang__btn{background:none;color:#a6a6aa;border:0;padding:7px 1px;font-size:11px}
.ac-lang__btn.is-active{color:#fff}
.ac-nav__menu{display:none;border:0;background:transparent;color:#fff;width:34px;height:36px;position:relative}
.ac-nav__menu span{position:absolute;left:3px;right:3px;height:1.5px;background:currentColor;transition:transform .3s;top:13px}
.ac-nav__menu span:last-child{top:23px}
.ac-nav__menu[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}
.ac-nav__menu[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}
.ac-mobile-nav[hidden]{display:none}
.ac-mobile-nav{position:absolute;top:76px;left:0;right:0;padding:20px 6vw 40px;background:rgba(10,10,11,.98);display:flex;flex-direction:column;gap:12px}
.ac-mobile-nav a{font-size:34px;font-weight:650;padding:12px 0;border-bottom:1px solid #303033}
.ac-hero{height:160svh;position:relative;z-index:0;background:#060606}
.ac-hero__pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center}
.ac-hero__visual.hero{position:absolute;inset:0;height:100%;width:100%;min-height:0;max-height:none;padding:0;isolation:auto;background-size:cover!important;background-position:60% center!important;transform:scale(var(--ac-hero-scale,1));filter:brightness(.88);border-radius:var(--ac-hero-radius,0px);will-change:transform,border-radius}
.ac-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.16) 72%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 48%,rgba(0,0,0,.22));pointer-events:none;z-index:1}
.ac-hero__copy{position:relative;z-index:2;width:min(86%,1460px);height:100%;display:flex;flex-direction:column;justify-content:center}
.ac-hero__intro{max-width:1150px;opacity:var(--ac-intro-opacity,1);transform:translateY(var(--ac-intro-y,0px));will-change:opacity,transform}
.ac-hero__intro h1{font:700 clamp(86px,11.8vw,208px)/.91 var(--ac-font);letter-spacing:-.09em;margin:25px 0 30px;text-wrap:balance;color:#fff}
.ac-hero__intro h1 span{color:#d2d2d2}
.ac-hero__intro .ac-eyebrow{color:#d2d2d2;margin:0}
.ac-hero__subtitle{font-size:14px;font-weight:500;letter-spacing:.02em;color:#e6e6e5}
.ac-hero__reveal{position:absolute;left:0;right:0;top:50%;transform:translateY(calc(-50% + var(--ac-reveal-y,30px)));opacity:var(--ac-reveal-opacity,0);pointer-events:none}
.ac-hero__reveal .ac-eyebrow{color:#dadada}
.ac-hero__statement{font:700 clamp(69px,8.7vw,152px)/.95 var(--ac-font);letter-spacing:-.075em;margin:24px 0 0;max-width:1200px}
.ac-hero__statement span{color:#d4d4d8}
.ac-hero__foot{position:absolute;bottom:25px;left:6.9%;right:6.9%;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.17em;color:#ddd}
.ac-claim{height:195svh;background:#f5f5f7;color:#101011}
.ac-claim__pin{height:100svh;min-height:560px;position:sticky;top:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:12vh 7vw}
.ac-claim__overline,.ac-claim__caption{color:#8e8e93;font-size:10px;font-weight:600;letter-spacing:.25em}
.ac-claim__line{max-width:1400px;margin:36px 0;font:700 clamp(48px,7.6vw,140px)/1.12 var(--ac-font);letter-spacing:-.073em}
.ac-claim__line>span,.ac-claim__line>strong{display:block;transition:color .15s linear}
.ac-claim__a{color:#b4b4b9}
.ac-claim__b{color:var(--ac-claim-b,#b4b4b9)}
.ac-claim__c{font-weight:700;color:var(--ac-claim-c,#b4b4b9)}
.ac-glamour{height:220svh;background:#0a0a0b;position:relative}
.ac-glamour__pin{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;display:grid;grid-template-columns:52% 48%;align-items:center}
.ac-glamour__image{height:79vh;max-height:960px;width:min(35vw,610px);justify-self:center;align-self:center;overflow:hidden;position:relative;background:#242426;transform:translateY(var(--ac-glamour-photo-y,0px));border-radius:var(--ac-glamour-radius,6px)}
.ac-glamour__image img{width:100%;height:100%;object-fit:cover;object-position:center 27%;transform:scale(var(--ac-glamour-scale,1.09));filter:brightness(.88);will-change:transform}
.ac-glamour__copy{padding:5vw 7vw 6vw 1.5vw;max-width:800px;opacity:var(--ac-glamour-copy-opacity,1);transform:translateY(var(--ac-glamour-copy-y,0px))}
.ac-glamour__copy .ac-kicker{color:#929298}
.ac-glamour__copy h2{font:700 clamp(68px,7.4vw,133px)/.95 var(--ac-font);letter-spacing:-.079em;margin:21px 0 32px;text-wrap:balance}
.ac-glamour__copy h2 span{color:#99999d}
.ac-glamour__copy p{font-size:16px;line-height:1.75;max-width:420px;color:#bebec3}
.ac-glamour__number{position:absolute;bottom:34px;right:6vw;font-size:11px;letter-spacing:.25em;color:#85858b}
.ac-work{background:#f5f5f7;color:#111113;padding:clamp(130px,13vw,225px) clamp(22px,5.7vw,110px)}
.ac-work__head{margin:0 auto 95px;max-width:1550px}
.ac-work__head .ac-kicker{color:#888891}
.ac-work__head h2{font:700 clamp(76px,9.1vw,166px)/.97 var(--ac-font);letter-spacing:-.085em;margin:28px 0 30px}
.ac-work__head h2 span{color:#a1a1a7}
.ac-work__head>p:last-child{font-size:17px;color:#76767c}
.ac-work__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:530px 350px 430px;gap:16px;max-width:1550px;margin:auto}
.ac-photo{border:0;padding:0;position:relative;display:block;background:#242427;color:#fff;overflow:hidden;text-align:left}
.ac-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.87);transition:transform 1.3s cubic-bezier(.2,.9,.2,1),filter .6s}
.ac-photo:hover img{transform:scale(1.045);filter:brightness(1)}
.ac-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent);pointer-events:none}
.ac-photo__label{position:absolute;bottom:0;left:0;right:0;padding:27px;z-index:1;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.ac-photo__label small{font-size:10px;letter-spacing:.18em;color:#dbdbdf;grid-column:1 / -1}
.ac-photo__label strong{font:700 clamp(31px,3.5vw,63px)/.92 var(--ac-font);letter-spacing:-.055em}
.ac-photo__label b{font-size:27px;font-weight:400}
/* Keep portfolio names readable after cards became navigation links. */
.ac-work .ac-photo:link,.ac-work .ac-photo:visited,.ac-work .ac-photo:hover,.ac-work .ac-photo:focus,.ac-work .ac-photo:active,.ac-work .ac-photo .ac-photo__label,.ac-work .ac-photo .ac-photo__label strong,.ac-work .ac-photo .ac-photo__label b{color:#fff!important;-webkit-text-fill-color:#fff!important}
.ac-photo--fashion{grid-area:1/1/3/6}
.ac-photo--auto{grid-area:1/6/2/13}
.ac-photo--glamour{grid-area:2/6/4/10}
.ac-photo--still{grid-area:2/10/4/13}
.ac-photo--editorial{grid-area:3/1/4/6}
.ac-photo--fashion img{object-position:52% 26%}
.ac-photo--glamour img{object-position:50% 20%}
.ac-automotive{height:200svh;background:#080809}
.ac-automotive__pin{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;display:flex;align-items:center}
.ac-automotive__image,.ac-automotive__scrim{position:absolute;inset:0}
.ac-automotive__image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--ac-auto-scale,1.18));filter:brightness(.80);will-change:transform}
.ac-automotive__scrim{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.18) 78%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 40%)}
.ac-automotive__copy{position:relative;z-index:1;padding:0 max(7vw,27px);max-width:1250px;opacity:var(--ac-auto-copy-opacity,1);transform:translateY(var(--ac-auto-copy-y,0px))}
.ac-automotive__copy .ac-kicker{color:#c3c3c8}
.ac-automotive__copy h2{font:700 clamp(75px,10.2vw,175px)/.95 var(--ac-font);letter-spacing:-.085em;margin:24px 0}
.ac-automotive__copy h2 span{color:#bfbfc3}
.ac-automotive__copy p{max-width:430px;color:#e1e1e5;font-size:16px;line-height:1.7}
.ac-about{display:grid;grid-template-columns:43% 57%;align-items:center;background:#f5f5f7;color:#121212;padding:clamp(85px,11vw,190px) clamp(22px,6vw,115px);column-gap:clamp(45px,8vw,170px)}
.ac-about__visual{aspect-ratio:.77;overflow:hidden;background:#19191b;max-height:870px}
.ac-about__visual img{width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:grayscale(1)}
.ac-about__copy .ac-kicker{color:#88888e}
.ac-about__copy h2{font:700 clamp(64px,7vw,127px)/.96 var(--ac-font);letter-spacing:-.075em;margin:24px 0 45px}
.ac-about__copy h2 span{color:#a0a0a6}
.ac-about__copy p{font-size:15px;max-width:550px;color:#606067;line-height:1.9}
.ac-about__copy .ac-about__lead{font-size:22px;line-height:1.5;color:#25252a;font-weight:600}
.ac-about__references{display:flex;gap:14px;flex-wrap:wrap;margin-top:45px}
.ac-about__references span{padding:12px 13px;border:1px solid #cacace;color:#74747b;font-size:10px;font-weight:600;letter-spacing:.08em}
.ac-contact{background:#09090a;color:#fff;min-height:100svh;display:flex;align-items:center;padding:120px clamp(23px,6.5vw,124px) 44px}
.ac-contact__inner{width:100%;margin:auto;max-width:1570px}
.ac-contact .ac-kicker{color:#a6a6ad}
.ac-contact h2{font:700 clamp(79px,10.7vw,198px)/.95 var(--ac-font);letter-spacing:-.087em;margin:35px 0 65px}
.ac-contact h2 span{color:#86868b}
.ac-contact__email{display:inline-flex;gap:28px;align-items:center;font-size:clamp(19px,2.3vw,34px);font-weight:500;border-bottom:1px solid #77777f;padding-bottom:20px}
.ac-contact__email span{font-size:40px;font-weight:300}
.ac-contact__foot{border-top:1px solid #303035;margin-top:18vh;padding-top:27px;display:flex;gap:20px;justify-content:space-between;font-size:11px;color:#a6a6ac;letter-spacing:.05em}
.ac-contact__foot a:hover{color:#fff}
.ac-rise{transition:opacity 1s var(--ac-ease),transform 1s var(--ac-ease);opacity:1;transform:none}
.ac-apple.ac-motion-ready .ac-rise:not(.ac-visible){opacity:0;transform:translateY(46px)}
.ac-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:7vh 5vw;color:white}
.ac-lightbox[hidden]{display:none}
.ac-lightbox img{max-width:90vw;max-height:80vh;object-fit:contain;width:auto;height:auto}
.ac-lightbox__close{position:absolute;right:4vw;top:3vh;background:transparent;border:0;color:white;font-size:40px;cursor:pointer}
#ac-lightbox-caption{font:600 11px var(--ac-font);letter-spacing:.2em;text-transform:uppercase}
@media(max-width:1200px){
.ac-work__grid{grid-template-rows:410px 330px 360px}
.ac-glamour__image{width:38vw}
.ac-glamour__copy h2{font-size:clamp(57px,7vw,100px)}
.ac-about{grid-template-columns:42% 58%;column-gap:55px}
}
@media(max-width:780px){
.ac-nav{height:68px;padding:0 22px}
.ac-nav__brand{width:178px;height:52px}
.ac-nav__links{display:none}
.ac-nav__menu{display:block}
.ac-mobile-nav{top:68px}
.ac-hero{height:155svh}
.ac-hero__pin{min-height:580px}
.ac-hero__visual.hero{background-position:56% 30%!important}
.ac-hero__shade{background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.19) 78%),linear-gradient(90deg,rgba(0,0,0,.3),transparent 78%)}
.ac-hero__copy{width:calc(100% - 48px);justify-content:flex-end;padding-bottom:17vh}
.ac-hero__intro h1{font-size:clamp(64px,12.4vw,105px);line-height:.95;letter-spacing:-.075em;margin:16px 0}
.ac-hero__reveal{top:auto;bottom:19vh;transform:translateY(var(--ac-reveal-y,30px))}
.ac-hero__statement{font-size:clamp(55px,10vw,90px)}
.ac-hero__foot{left:24px;right:24px;bottom:20px;font-size:9px}
.ac-hero__foot span:first-child{display:none}
.ac-claim{height:135svh}
.ac-claim__line{font-size:clamp(43px,8.1vw,72px)}
.ac-glamour{height:auto}
.ac-glamour__pin{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;padding:90px 25px;align-items:stretch;gap:37px}
.ac-glamour__image{width:83%;height:min(105vw,660px);align-self:center;max-height:none;transform:none}
.ac-glamour__copy{padding:0}
.ac-glamour__copy h2{font-size:clamp(59px,12vw,95px)}
.ac-glamour__copy p{font-size:14px}
.ac-glamour__number{bottom:28px}
.ac-work{padding:100px 20px}
.ac-work__head{margin-bottom:54px}
.ac-work__head h2{font-size:clamp(58px,10.4vw,96px)}
.ac-work__head>p:last-child{font-size:14px}
.ac-work__grid{grid-template-columns:1fr 1fr;grid-template-rows:450px 260px 360px 260px;gap:10px}
.ac-photo--fashion{grid-area:1/1/2/3}
.ac-photo--auto{grid-area:2/1/3/3}
.ac-photo--glamour{grid-area:3/1/4/2}
.ac-photo--still{grid-area:3/2/4/3}
.ac-photo--editorial{grid-area:4/1/5/3}
.ac-photo__label{padding:16px}
.ac-photo__label strong{font-size:clamp(22px,5vw,48px)}
.ac-photo__label small{font-size:8px}
.ac-automotive{height:145svh}
.ac-automotive__pin{min-height:550px}
.ac-automotive__image img{object-position:65% center}
.ac-automotive__copy h2{font-size:clamp(65px,11vw,105px)}
.ac-about{grid-template-columns:1fr;padding:96px 24px;gap:60px}
.ac-about__visual{max-height:700px;width:75%}
.ac-about__copy h2{font-size:clamp(63px,10vw,96px);margin-bottom:32px}
.ac-contact{min-height:80svh;padding:130px 25px 35px}
.ac-contact h2{font-size:clamp(66px,12vw,110px);margin-bottom:50px}
.ac-contact__foot{flex-wrap:wrap;gap:16px;margin-top:100px}
}
@media(max-width:420px){
.ac-nav__brand{width:153px}
.ac-hero__intro h1{font-size:60px}
.ac-hero__statement{font-size:49px}
.ac-claim__line{font-size:42px}
.ac-work__head h2{font-size:56px}
.ac-photo__label strong{font-size:23px}
.ac-photo--glamour .ac-photo__label small,.ac-photo--still .ac-photo__label small{font-size:7px}
.ac-contact h2{font-size:65px}
}
@media(prefers-reduced-motion:reduce){
.ac-apple *, .ac-lightbox *{scroll-behavior:auto!important;animation:none!important;transition:none!important;transform:none!important}
.ac-rise,.ac-apple.ac-motion-ready .ac-rise:not(.ac-visible){opacity:1!important;transform:none!important}
.ac-hero__intro,.ac-glamour__copy,.ac-automotive__copy{opacity:1!important}
.ac-hero__reveal{display:none!important}
}
