:root{--gold:#bb9d5f;--gold-dark:#796231;--ink:#1c2221;--muted:#58605b;--paper:#f7f6f2;--line:#d9d9d1;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.12}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(44px,8vw,100px);letter-spacing:-.045em}h2{font-size:clamp(34px,4.3vw,60px);letter-spacing:-.035em}h3{font-size:23px}em{font-weight:400;color:var(--gold-dark)}p+p{margin-top:18px}.wrap{width:min(1280px,calc(100% - 40px));margin-inline:auto}.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:18px;color:var(--gold-dark)}.caption{font-size:13px;line-height:1.55;color:var(--muted);margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 23px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;transition:background .2s}.button:hover{background:#c9ae78}.button.outline{background:transparent;border-color:currentColor}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.text-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;margin-top:16px}.skip-link{position:fixed;z-index:99;left:12px;top:-100px;padding:12px;background:#fff;color:#000}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #967338;outline-offset:5px}.demo-note{min-height:32px;text-align:center;background:#ebe9e2;font-size:12px;padding:5px 12px;line-height:1.8}.site-header{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}.header-inner{width:min(1360px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:82px}.brand{display:flex;align-items:center;min-height:70px}.brand img{width:122px;height:66px;object-fit:contain}.menu-toggle{min-height:46px;padding:10px 12px;color:#fff;background:transparent;border:1px solid #737772;font-size:14px}.menu-toggle span{margin-left:12px}nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--ink);padding:20px;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column}nav a{padding:12px 0;min-height:48px;text-decoration:none;font-size:14px}nav a[aria-current]{color:#e3c990}nav .nav-call{color:#e3c990;font-weight:700}.hero{position:relative;isolation:isolate;background:var(--ink);color:#fff;min-height:680px;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:65% center}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,17,17,.94),rgba(10,17,17,.58) 52%,rgba(10,17,17,.16))}.hero-content{padding-block:50px 70px}.hero .eyebrow{color:#e3c990}.hero h1{font-size:clamp(58px,8.5vw,112px);line-height:1.02}.hero em{color:#e3c990}.hero-description{max-width:440px;line-height:1.6;margin-top:24px;font-size:17px}.hero-bottom{display:inline-block;margin-top:34px;font-size:13px;padding-block:8px}.hero-credit{position:absolute;bottom:15px;right:20px;font-size:12px;color:#fff}.proof{display:grid;grid-template-columns:1fr;padding-block:28px;gap:24px;border-bottom:1px solid var(--line)}.proof>div,.proof>a{display:flex;flex-direction:column;text-decoration:none}.proof strong{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.3}.proof span{font-size:13px;color:var(--muted);margin-top:5px}.work-section,.process{padding-block:70px}.section-head{display:grid;gap:25px;margin-bottom:36px}.section-head>p,.section-head>div+div{max-width:400px;color:var(--muted)}.project-grid{display:grid;gap:28px}.project-card{display:block;text-decoration:none}.project-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:filter .2s}.project-card:hover img{filter:brightness(.93)}.project-caption{padding:17px 0 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:9px}.project-caption>span:first-child{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;grid-column:1/-1}.project-caption h3{font-family:Georgia,serif;font-size:27px;line-height:1.25;grid-column:1/-1}.project-link{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.services-home{background:#eae9e1;padding-block:70px}.service-grid{display:grid;gap:25px}.service-card{display:block;text-decoration:none}.service-card>img{aspect-ratio:3/2;object-fit:cover;width:100%}.service-card>div{padding:22px 0 30px;border-bottom:1px solid #c9c9bd}.service-card .eyebrow{margin-bottom:12px}.service-card h3{font-family:Georgia,serif;font-size:29px;margin-bottom:15px}.service-card p{font-size:16px;color:var(--muted)}.service-card .text-link{color:var(--ink)}.process ol{list-style:none;padding:0;margin:0;display:grid;gap:34px}.process li{border-top:1px solid var(--line);padding-top:24px}.process li>span{font-family:Georgia,serif;font-size:37px;color:var(--gold-dark);display:block;margin-bottom:22px}.process h3{font-size:20px;margin-bottom:15px}.process li p{font-size:16px;color:var(--muted)}.company-slice{display:grid;gap:34px;padding-block:40px 70px;align-items:center}.company-slice>img{width:100%;max-height:600px;object-fit:cover;object-position:center 38%}.company-slice h2{margin-bottom:25px}.company-slice p:not(.eyebrow){color:var(--muted)}.callout{border-top:1px solid var(--line);padding-block:65px 80px}.callout>p:not(.eyebrow){max-width:560px;margin-top:25px;color:var(--muted)}footer{background:var(--ink);color:#eee;padding:55px 0 80px}.footer-grid{display:grid;gap:35px}.footer-grid h2{font:700 14px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin-bottom:16px;color:#e3c990}.footer-grid a{display:block;font-size:14px;min-height:36px;padding-block:5px;overflow-wrap:anywhere}.footer-grid p{font-size:14px;color:#c0c5bf}.footer-logo{width:155px;height:90px;object-fit:contain;margin-bottom:15px}.footer-bottom{border-top:1px solid #58605b;margin-top:40px;padding-top:25px;font-size:12px;color:#c0c5bf;display:grid;gap:10px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border-top:1px solid var(--gold);padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{text-align:center;padding:16px 8px;min-height:56px;color:#fff;text-decoration:none;font-size:14px;font-weight:700}.mobile-contact a+a{background:var(--gold);color:var(--ink)}.page-intro{padding-block:65px 50px}.page-intro h1{max-width:1050px}.page-intro>p:not(.eyebrow){max-width:650px;font-size:18px;line-height:1.65;margin-top:25px;color:var(--muted)}.breadcrumb{display:inline-flex;font-size:13px;min-height:44px;margin-bottom:20px}.service-list{display:grid;gap:45px;padding-bottom:50px}.additional{padding-block:40px 70px}.additional p{max-width:650px;margin-top:25px;color:var(--muted)}.detail-split{display:grid;gap:35px;padding-block:20px 50px}.detail-split img{width:100%;aspect-ratio:4/3;object-fit:cover}.detail-split h2{font-size:32px;margin:20px 0}.detail-split ul{padding-left:20px;margin-bottom:30px}.detail-split li{padding-block:6px}.filters{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px}.filters button{min-height:46px;border:1px solid #acb0a7;background:transparent;border-radius:0;color:var(--ink);font-size:14px;padding:10px 18px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filter-status{font-size:13px;color:var(--muted);margin-bottom:30px}.empty-filter{padding:35px 0;max-width:700px}.empty-filter p{margin-top:20px}.case-gallery{display:grid;gap:25px}.photo-button{padding:0;border:0;background:transparent;color:var(--ink);text-align:left;position:relative;width:100%}.photo-button img{width:100%;object-fit:cover;max-height:750px}.photo-button span{position:absolute;bottom:15px;right:15px;background:var(--ink);color:#fff;padding:10px 15px;font-size:13px}.case-info{display:grid;gap:30px;padding-block:65px}.case-info h2{font-size:31px;margin-bottom:20px}.case-info p+h2{margin-top:35px}.case-info dl{margin-top:30px}.case-info dt{font-size:13px;font-weight:700;color:var(--gold-dark);margin-top:20px}.case-info dd{margin:5px 0}.case-note{padding:20px;border-left:3px solid var(--gold);background:#eceae3}.contact-layout{display:grid;gap:55px;padding-block:20px 70px}.contact-layout aside{border-bottom:1px solid var(--line);padding-bottom:40px}.contact-layout h2{font-size:34px;margin-bottom:25px}.contact-layout h3{font-size:15px;font-weight:700;margin:25px 0 10px}.contact-layout aside>a:not(.button){display:block;overflow-wrap:anywhere;min-height:40px}.contact-number{font:32px Georgia,serif;text-decoration:none}.contact-number.secondary{font-size:25px}.contact-layout address{font-style:normal}.contact-layout .caption{max-width:300px}.form-grid{display:grid;gap:20px;margin-top:30px}label{font-size:14px;font-weight:700;display:block}label>span{font-weight:400;font-size:12px}input,select,textarea{display:block;width:100%;min-height:50px;background:#fff;border:1px solid #aeb4ab;border-radius:0;color:var(--ink);padding:12px;margin-top:8px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--gold-dark)}.form-help{font-size:13px;color:var(--muted);margin:22px 0}#request-ready{margin-top:25px;border:1px solid var(--gold);padding:25px;background:#eeede5}#request-ready h3{margin-bottom:15px}#request-ready p{font-size:14px}#richiesta{scroll-margin-top:110px}.map-section{display:grid;gap:30px;padding-bottom:80px}.map-section p{margin-top:20px}.map-panel{background:#eae9e1;padding:30px;min-height:300px}.map-panel>p:first-child{font:30px Georgia,serif}.map-panel .button{margin-top:25px}.map-panel iframe{width:100%;height:350px;border:0;display:block;margin-top:20px}.review{padding-block:60px 90px;border-top:1px solid var(--line)}.review>p:not(.eyebrow){margin-top:20px}.review blockquote{font:28px/1.4 Georgia,serif;max-width:750px;margin:30px 0}.prose{max-width:800px;padding-block:65px 100px}.prose h1{font-size:clamp(42px,6vw,70px);margin-bottom:35px}.prose h2{font-size:30px;margin:40px 0 20px}.prose li{margin:12px 0}.prose a{overflow-wrap:anywhere}.prose .eyebrow{margin-bottom:20px}dialog{padding:20px;border:0;background:var(--ink);color:#fff;max-width:95vw;max-height:90vh;overflow:auto}dialog::backdrop{background:#000b}dialog img{max-height:72vh;object-fit:contain;width:auto;margin:auto}dialog p{font-size:14px;margin-top:15px}.close-dialog{display:block;margin-left:auto;margin-bottom:15px;min-height:44px;background:transparent;border:1px solid #fff;color:#fff;padding:8px 16px}[hidden]{display:none!important}
@media(min-width:650px){.wrap{width:min(1280px,calc(100% - 64px))}.proof{grid-template-columns:repeat(3,1fr);gap:30px;padding-block:35px}.proof>div+div,.proof>a{border-left:1px solid var(--line);padding-left:30px}.project-grid,.service-grid{grid-template-columns:repeat(2,1fr);gap:40px 25px}.process ol{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:flex;justify-content:space-between}.company-slice{grid-template-columns:1fr 1fr;gap:45px}.company-slice>img{max-height:550px}.hero{min-height:740px}.hero-content{padding-block:65px}.hero-description{font-size:18px}.case-info{grid-template-columns:1fr 1.5fr;gap:65px}.map-section{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.menu-toggle{display:none}nav{position:static;display:flex;padding:0;gap:36px;box-shadow:none;width:auto}nav a{display:flex;align-items:center;padding:10px 0}nav .nav-call{border-left:1px solid #59605b;padding-left:36px}.header-inner{min-height:90px}.brand img{width:145px;height:78px}.hero{min-height:760px;height:calc(100svh - 122px);max-height:1000px}.hero>img{object-position:center}.hero-content{padding-block:50px}.hero-bottom{margin-top:40px}.hero-credit{right:40px;bottom:22px}.section-head{grid-template-columns:1.5fr 1fr;gap:80px;align-items:end;margin-bottom:45px}.project-grid{gap:55px 40px}.project-grid .p0 img{aspect-ratio:1.15}.project-grid .p1{padding-top:90px}.project-grid .p2{padding-right:70px}.project-grid .p3{padding-top:55px}.project-caption h3{font-size:33px}.work-section,.process{padding-block:100px}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px}.services-home{padding-block:95px}.service-card h3{font-size:28px}.company-slice{grid-template-columns:.8fr 1fr;gap:110px;padding-block:35px 100px}.company-slice>img{max-height:600px}.company-slice>div{max-width:560px}.callout{padding-block:90px 100px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr .7fr;gap:55px}footer{padding-bottom:35px}.mobile-contact{display:none}.page-intro{padding-block:90px 65px}.service-list .service-card{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-list .service-card:nth-child(even)>img{order:2}.service-list .service-card>div{border:0;padding-right:45px}.service-list .service-card h3{font-size:44px}.service-list .service-card p{font-size:17px}.detail-split{grid-template-columns:1.25fr 1fr;gap:75px}.contact-layout{grid-template-columns:1fr 1.6fr;gap:90px}.contact-layout aside{border:0}.contact-layout h2{font-size:42px}.contact-layout aside h2{font-size:34px}.case-gallery{grid-template-columns:1fr 1fr}.case-gallery>button:only-child{grid-column:1/-1}.case-gallery img{aspect-ratio:4/3}.portfolio-grid article:nth-child(even){padding-top:75px}.portfolio-grid .p1,.portfolio-grid .p3{padding:0}.portfolio-grid .p2{padding:0}.portfolio-grid .p0 img{aspect-ratio:4/3}}
@media(max-width:420px){.hero{min-height:740px}.hero .actions{display:grid;max-width:280px}.hero-credit{left:20px;right:auto}.hero>img{object-position:68% center}.hero:after{background:linear-gradient(90deg,rgba(10,17,17,.93),rgba(10,17,17,.68))}.demo-note{font-size:12px}.project-caption h3{font-size:26px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero .button.outline{color:#fff;border-color:#ddd}.hero .button.outline:hover{background:#ffffff16}
@media(max-width:999px){nav{max-height:calc(100dvh - 170px);overflow-y:auto}}
@media(min-width:1000px) and (max-height:800px){.hero{min-height:640px;height:auto}.hero h1{font-size:clamp(60px,7.2vw,90px)}.hero-content{padding-block:32px}.hero-description{font-size:16px;margin-top:20px}.hero .actions{margin-top:24px}.hero-bottom{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
