
/* Interior pages — Andrea Cencini v5, cinematic continuity */
.ac-apple.aci-root{background:#09090a;color:#f5f5f7}
.aci-root .ac-nav{z-index:130}
.aci-root .ac-nav__links a[aria-current=page]{color:#fff;opacity:1}
.aci-root .ac-nav__links a[aria-current=page]:after{content:"";width:5px;height:5px;border-radius:100%;display:block;background:#fff;margin:6px auto -11px}
.aci-root .ac-mobile-nav[hidden]{display:none}
.aci-root .ac-apple a{text-decoration:none}
.aci-root h1,.aci-root h2,.aci-root h3,.aci-root p{margin-top:0}
.aci-root .aci-overline{font-size:11px;font-weight:650;letter-spacing:.22em;line-height:1.65;text-transform:uppercase}
.aci-root em{font-style:normal;color:#a2a2a7}
.aci-root .aci-appear{transition:opacity .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1)}
.aci-root.aci-motion-ready .aci-appear:not(.aci-on){opacity:0;transform:translateY(44px)}
.aci-intro{position:relative;isolation:isolate;min-height:690px;height:100svh;overflow:hidden;background:#131314;display:flex;align-items:center}
.aci-intro__background,.aci-intro__tint{position:absolute;inset:0;z-index:-1}
.aci-intro__background{transform:scale(1.08);animation:aciRevealImage 1.65s cubic-bezier(.22,1,.36,1) both}
.aci-intro__background img{width:100%;height:100%;object-fit:cover}
.aci-intro--portfolio .aci-intro__cover{object-position:68% 42%;filter:brightness(.64) contrast(1.06)}
.aci-intro--projects .aci-intro__cover{object-position:55% 52%;filter:brightness(.69)}
.aci-intro--about .aci-intro__cover{object-position:70% 28%;filter:grayscale(1) brightness(.63)}
.aci-intro__tint{background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.56) 49%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 38%)}
.aci-intro__inside{width:100%;padding:clamp(130px,16vh,230px) clamp(24px,7vw,130px) 6vh}
.aci-intro__inside>.aci-overline{color:#dedee2;margin-bottom:42px}
.aci-intro h1{font-size:clamp(74px,10vw,175px);font-weight:700;line-height:.92;letter-spacing:-.085em;margin-bottom:clamp(48px,8vh,110px);max-width:1350px;text-wrap:balance}
.aci-intro h1 em{color:#d8d8db}
.aci-intro__bottom{border-top:1px solid rgba(255,255,255,.35);padding-top:25px;display:flex;align-items:start;justify-content:space-between;gap:40px}
.aci-intro__bottom p{max-width:440px;color:#ebebed;font-size:16px;line-height:1.6}
.aci-intro__bottom a{white-space:nowrap;font-size:11px;letter-spacing:.12em;font-weight:600;color:#fff;transition:opacity .3s}
.aci-intro__bottom a:hover{opacity:.55}
@keyframes aciRevealImage{from{transform:scale(1.13);filter:blur(9px)}to{transform:scale(1.01);filter:blur(0)}}
.aci-gallery{background:#f5f5f7;color:#141418;padding:clamp(110px,12vw,185px) clamp(20px,6.4vw,120px) 120px}
.aci-gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:80px;max-width:1660px;margin:0 auto 80px}
.aci-gallery__heading .aci-overline{color:#85858c}
.aci-gallery__heading h2{font-size:clamp(70px,8.7vw,155px);font-weight:700;letter-spacing:-.085em;line-height:.95;margin:26px 0 0}
.aci-gallery__heading>p{max-width:310px;font-size:15px;line-height:1.8;color:#797982;margin:0 0 7px}
.aci-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 auto 34px;max-width:1660px}
.aci-filter{background:transparent;border:1px solid #d7d7da;border-radius:40px;padding:12px 20px;color:#575760;font-size:12px;font-weight:600;transition:background .3s,color .3s,border-color .3s}
.aci-filter:hover,.aci-filter.is-active{background:#111114;color:#fff;border-color:#111114}
.aci-filter sup{margin-left:7px;color:#b8b8ba;font-size:9px}
.aci-gallery__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;max-width:1660px;margin:auto;grid-auto-flow:row dense}
.aci-photo{height:490px;grid-column:span 6;border:0;padding:0;position:relative;overflow:hidden;background:#1d1d20;display:block;color:white;text-align:left;min-width:0}
.aci-photo[hidden]{display:none!important}
.aci-photo--portrait{height:650px}
.aci-photo--wide{grid-column:span 12;height:690px}
.aci-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.25s cubic-bezier(.2,.9,.2,1),filter 1s;filter:brightness(.89)}
.aci-photo:hover img{transform:scale(1.055);filter:brightness(1)}
.aci-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);pointer-events:none}
.aci-photo__overlay{position:absolute;bottom:0;left:0;right:0;padding:30px;z-index:1;display:flex;justify-content:flex-end;align-items:end;gap:10px}
.aci-photo__overlay small{display:none}
.aci-photo__overlay strong{display:none}
.aci-photo__overlay>span{font-size:28px;font-weight:300}
.aci-gallery__note{max-width:1660px;margin:30px auto 0!important;color:#97979c;font-size:12px;line-height:1.65}
.aci-projects{background:#f5f5f7;color:#141417;padding:clamp(120px,12vw,200px) clamp(24px,6vw,120px)}
.aci-projects__heading{max-width:1600px;margin:0 auto 100px}
.aci-projects__heading .aci-overline{color:#7c7c80}
.aci-projects__heading h2{font-size:clamp(68px,8.8vw,151px);line-height:1;letter-spacing:-.084em;max-width:1300px;margin:22px 0}
.aci-project{display:grid;grid-template-columns:56% 44%;align-items:center;gap:0;margin:0 auto 150px;max-width:1600px}
.aci-project--reverse{grid-template-columns:44% 56%}
.aci-project--reverse .aci-project__visual{order:2}
.aci-project--reverse .aci-project__detail{order:1;padding:50px 70px 50px 0}
.aci-project__visual{height: min(57vw,750px);min-height:460px;background:#222;overflow:hidden}
.aci-project__visual img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.21,1,.36,1)}
.aci-project__visual:hover img{transform:scale(1.035)}
.aci-project__detail{padding:60px 0 60px clamp(45px,6vw,120px)}
.aci-project__detail .aci-overline{color:#77777e}
.aci-project__detail h3{font-size:clamp(62px,6.2vw,112px);line-height:.93;letter-spacing:-.08em;font-weight:700;margin:27px 0 35px}
.aci-project__detail>p{max-width:440px;color:#65656e;line-height:1.85;font-size:16px;margin-bottom:37px}
.aci-project__tag{font-size:11px;letter-spacing:.16em;border-top:1px solid #d3d3d6;padding-top:17px;color:#88888b;display:block}
.aci-projects__outro{max-width:1600px;margin:auto;padding-top:40px;border-top:1px solid #c6c6c9;display:flex;justify-content:space-between;gap:40px}
.aci-projects__outro span,.aci-projects__outro a{font-size:11px;letter-spacing:.18em;font-weight:600}
.aci-projects__outro a{color:#111}
.aci-about-story{background:#f5f5f7;color:#131316;padding:clamp(115px,12vw,190px) clamp(26px,7vw,125px)}
.aci-about-story__statement{max-width:1500px;margin:0 auto 105px}
.aci-about-story__statement .aci-overline{color:#96969b}
.aci-about-story__statement h2{font-size:clamp(72px,9vw,168px);letter-spacing:-.086em;line-height:.93;margin:25px 0}
.aci-about-story__columns{display:grid;grid-template-columns:38% 62%;max-width:1500px;margin:auto;gap:30px}
.aci-about-story__side{display:flex;flex-direction:column;gap:11px;font-size:11px;color:#9898a0;letter-spacing:.16em}
.aci-about-story__content{max-width:760px}
.aci-about-story__content p{font-size:17px;line-height:1.98;margin:0 0 30px;color:#686871}
.aci-about-story__content .aci-about-story__lead{font-size:clamp(25px,2.6vw,43px);line-height:1.4;font-weight:600;letter-spacing:-.035em;color:#1b1b1e;margin-bottom:60px}
.aci-about-visual{display:grid;grid-template-columns:50% 50%;background:#0c0c0e;min-height:90vh;align-items:center}
.aci-about-visual__image{height:90vh;min-height:550px;overflow:hidden}
.aci-about-visual__image img{width:100%;height:100%;object-fit:cover;object-position:center}
.aci-about-visual__copy{padding:80px clamp(30px,7vw,120px)}
.aci-about-visual__copy .aci-overline{color:#9c9ca0}
.aci-about-visual__copy h2{font-size:clamp(65px,7.1vw,125px);line-height:.94;letter-spacing:-.08em;margin:30px 0}
.aci-about-visual__copy p{font-size:16px;color:#b2b2b8;max-width:420px;line-height:1.8}
.aci-about-studio{display:grid;grid-template-columns:60% 40%;gap:60px;padding:clamp(120px,12vw,220px) clamp(30px,7vw,130px);background:#141417;align-items:end}
.aci-about-studio .aci-overline{color:#a0a0a7}
.aci-about-studio h2{font-size:clamp(64px,7.7vw,150px);letter-spacing:-.08em;line-height:.96;margin:27px 0 0}
.aci-about-studio>div:nth-child(2){padding-right:45px}
.aci-about-studio p{font-size:16px;color:#b5b5bb;line-height:1.9;margin-bottom:40px}
.aci-about-studio a{display:inline-block;border-bottom:1px solid rgba(255,255,255,.55);font-size:11px;letter-spacing:.15em;font-weight:650;padding:0 0 17px}
.aci-contact-page{min-height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;padding:clamp(150px,17vh,230px) clamp(26px,7vw,130px) 90px;background:#0a0a0b}
.aci-contact-page__visual,.aci-contact-page__shade{position:absolute;inset:0;z-index:-1}
.aci-contact-page__visual img{width:100%;height:100%;object-fit:cover;object-position:69% center;filter:brightness(.54)}
.aci-contact-page__shade{background:linear-gradient(90deg,#050505 0%,rgba(0,0,0,.92) 35%,rgba(0,0,0,.35) 85%),linear-gradient(0deg,rgba(0,0,0,.83),transparent 50%)}
.aci-contact-page__content{width:100%;max-width:1560px;margin:auto}
.aci-contact-page .aci-overline{color:#ddd}
.aci-contact-page h1{font-size:clamp(72px,9vw,160px);line-height:.92;letter-spacing:-.085em;margin:35px 0 60px}
.aci-contact-page h1 em{color:#c5c5c9}
.aci-contact-page__intro{max-width:600px;font-size:17px;line-height:1.75;color:#c9c9cd;margin-bottom:45px}
.aci-contact-page__email{font-size:clamp(25px,3.9vw,74px);display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #888;letter-spacing:-.045em;padding-bottom:12px}
.aci-contact-page__email>span{font-size:.8em;font-weight:300}
.aci-contact-page__options{display:flex;flex-wrap:wrap;gap:9px;margin:45px 0 100px}
.aci-contact-page__options a{font-size:10px;letter-spacing:.12em;font-weight:650;border:1px solid rgba(255,255,255,.33);border-radius:50px;padding:16px 18px;transition:background .25s,color .25s}
.aci-contact-page__options a:hover{background:#f3f3f5;color:#151515}
.aci-contact-page__meta{display:flex;gap:80px;max-width:600px}
.aci-contact-page__meta>div{display:flex;flex-direction:column;gap:8px}
.aci-contact-page__meta span{font-size:10px;color:#8e8e94;letter-spacing:.22em}
.aci-contact-page__meta strong,.aci-contact-page__meta a{font-size:13px;font-weight:600;letter-spacing:.06em}
.aci-endcta{padding:clamp(120px,12vw,210px) clamp(28px,7vw,130px);background:#0b0b0c;color:#f5f5f7}
.aci-endcta .aci-overline{color:#a2a2a7}
.aci-endcta h2{font-size:clamp(75px,9.5vw,180px);letter-spacing:-.083em;line-height:.96;margin:40px 0 80px}
.aci-endcta>a{border:1px solid #909097;border-radius:50px;padding:23px 31px;font-size:12px;letter-spacing:.14em;display:inline-block;font-weight:650;transition:background .3s,color .3s}
.aci-endcta>a:hover{background:#fff;color:#111}
.aci-footer{background:#0b0b0c;color:#fff;padding:60px clamp(27px,6vw,120px) 35px;border-top:1px solid #353539}
.aci-footer__brand{width:280px;height:65px;background:var(--ac-logo-url) center left/contain no-repeat;display:block;margin-bottom:70px}
.aci-footer__links{display:flex;gap:clamp(25px,4vw,75px);flex-wrap:wrap;margin-bottom:70px}
.aci-footer__links a{font-size:13px;font-weight:600;color:#c8c8cd;transition:color .3s}
.aci-footer__links a:hover{color:#fff}
.aci-footer__bottom{border-top:1px solid #303034;padding-top:23px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;color:#8d8d94}
.aci-lightbox{position:fixed;inset:0;z-index:990;background:rgba(3,3,4,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:7vh 7vw 5vh;color:white}
.aci-lightbox[hidden]{display:none}
.aci-lightbox #aci-lightbox-label{display:none!important}
.aci-lightbox img{display:block;max-width:100%;max-height:77vh;object-fit:contain;width:auto;height:auto}
.aci-lightbox__close{position:absolute;right:3vw;top:2.2vh;border:0;background:none;color:white;font-size:41px;cursor:pointer}
#aci-lightbox-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:1050px){
.aci-intro h1{font-size:clamp(70px,10vw,125px)}
.aci-photo--portrait{height:520px}
.aci-photo--wide{height:510px}
.aci-project__visual{height:540px}
.aci-project__detail{padding-left:50px}
.aci-project__detail h3{font-size:clamp(54px,7vw,83px)}
.aci-about-visual__copy h2{font-size:70px}
}
@media(max-width:780px){
.aci-intro{min-height:680px;height:100svh}
.aci-intro__inside{padding:155px 24px 48px}
.aci-intro h1{font-size:clamp(62px,11vw,87px);margin-bottom:50px}
.aci-intro__inside>.aci-overline{margin-bottom:30px}
.aci-intro__bottom{flex-direction:column;gap:17px}
.aci-intro__bottom p{font-size:14px}
.aci-intro__bottom a{font-size:10px}
.aci-intro__tint{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.45) 52%,rgba(0,0,0,.26))}
.aci-intro--portfolio .aci-intro__cover{object-position:50% center}
.aci-intro--about .aci-intro__cover{object-position:65% 25%}
.aci-gallery{padding:92px 18px}
.aci-gallery__heading{display:block;margin-bottom:45px}
.aci-gallery__heading h2{font-size:clamp(60px,11vw,88px);margin-bottom:35px}
.aci-gallery__heading>p{font-size:14px}
.aci-filters{gap:7px;margin-bottom:20px}
.aci-filter{padding:10px 14px;font-size:11px}
.aci-gallery__grid{gap:8px}
.aci-photo{height:280px}
.aci-photo--portrait{height:430px}
.aci-photo--wide{height:330px}
.aci-photo__overlay{padding:16px}
.aci-photo__overlay strong{font-size:clamp(20px,4vw,36px)}
.aci-photo__overlay small{font-size:8px}
.aci-projects{padding:100px 22px}
.aci-projects__heading{margin-bottom:70px}
.aci-projects__heading h2{font-size:clamp(56px,11vw,93px)}
.aci-project,.aci-project--reverse{grid-template-columns:1fr;margin-bottom:110px}
.aci-project--reverse .aci-project__visual{order:1}
.aci-project--reverse .aci-project__detail{order:2;padding:35px 0 0}
.aci-project__visual{min-height:320px;height:70vw;max-height:610px}
.aci-project__detail{padding:35px 0 0}
.aci-project__detail h3{font-size:clamp(57px,10vw,91px);margin:24px 0}
.aci-project__detail>p{font-size:14px}
.aci-projects__outro{flex-direction:column;gap:25px}
.aci-about-story{padding:105px 24px}
.aci-about-story__statement{margin-bottom:60px}
.aci-about-story__statement h2{font-size:clamp(58px,11.3vw,95px)}
.aci-about-story__columns{grid-template-columns:1fr;gap:45px}
.aci-about-story__content p{font-size:15px}
.aci-about-story__content .aci-about-story__lead{font-size:27px;margin-bottom:40px}
.aci-about-visual{grid-template-columns:1fr}
.aci-about-visual__image{min-height:350px;height:90vw;max-height:660px}
.aci-about-visual__copy{padding:80px 25px}
.aci-about-visual__copy h2{font-size:clamp(62px,11vw,90px)}
.aci-about-studio{grid-template-columns:1fr;gap:40px;padding:110px 25px}
.aci-about-studio h2{font-size:clamp(64px,11vw,100px)}
.aci-about-studio>div:nth-child(2){padding:0}
.aci-contact-page{padding:160px 24px 85px;min-height:100svh}
.aci-contact-page h1{font-size:clamp(63px,10vw,96px)}
.aci-contact-page__intro{font-size:15px}
.aci-contact-page__email{font-size:clamp(23px,5vw,42px)}
.aci-contact-page__options{margin-bottom:70px}
.aci-contact-page__meta{gap:45px}
.aci-endcta{padding:130px 24px}
.aci-endcta h2{font-size:clamp(62px,11vw,100px)}
.aci-footer{padding:65px 25px 35px}
.aci-footer__brand{width:225px;height:55px;margin-bottom:45px}
.aci-footer__links{gap:22px;margin-bottom:50px}
.aci-footer__links a{font-size:11px}
}
@media(max-width:430px){
.aci-intro h1{font-size:61px}
.aci-gallery__heading h2{font-size:59px}
.aci-photo--portrait{height:350px}
.aci-photo--wide{height:250px}
.aci-photo__overlay small{letter-spacing:.08em}
.aci-photo__overlay strong{font-size:20px}
.aci-photo__overlay{padding:12px}
.aci-contact-page h1{font-size:62px}
.aci-contact-page__email{font-size:23px;letter-spacing:-.055em}
.aci-contact-page__meta{gap:20px}
}
@media(prefers-reduced-motion:reduce){
.aci-intro__background{animation:none}
.aci-root .aci-appear,.aci-root.aci-motion-ready .aci-appear:not(.aci-on){opacity:1!important;transform:none!important}
.aci-photo img,.aci-project__visual img{transition:none}
}
