:root{--color-dark:#1a1a1a;--color-light:#fff;--color-text:#171717;--color-muted:#6b6b6b;--color-accent:#c8142f;--page-width:1440px;--page-padding:clamp(1.25rem, 4vw, 4rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{min-width:0;color:var(--color-text);background:var(--color-light);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:clip}img,svg{max-width:100%}a{color:inherit;text-decoration:none}main{width:100%;margin:0;padding:0}.site-header{z-index:100;background:var(--color-dark);width:100%;color:var(--color-light);position:relative}.header-container{width:min(100%, var(--page-width));min-height:108px;padding:0 var(--page-padding);justify-content:space-between;align-items:center;gap:3rem;margin:0 auto;display:flex}.site-logo{flex:none;align-items:center;display:flex}.site-logo img{width:150px;height:auto;display:block}.header-navigation{align-items:center;gap:clamp(2rem,5vw,5rem);display:flex}.site-header nav{align-items:center;gap:clamp(1.5rem,3vw,3rem);display:flex}.site-header nav a{letter-spacing:.09em;text-transform:uppercase;padding:.5rem 0;font-size:.8rem;font-weight:700;position:relative}.site-header nav a:after{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}.language-switcher{align-items:center;gap:.8rem;display:flex}.language-switcher a{letter-spacing:.08em;color:#b9b9b9;padding:.35rem 0;font-size:.72rem;font-weight:600}.language-switcher a:hover,.language-switcher a:focus-visible,.language-switcher a[aria-current=page]{color:var(--color-light)}.language-switcher a[aria-current=page]{border-bottom:2px solid var(--color-accent)}.menu-toggle{cursor:pointer;background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:none;position:relative}.menu-toggle span{background:var(--color-light);width:24px;height:2px;transition:transform .18s,opacity .18s,top .18s;position:absolute}.menu-toggle span:first-child{top:14px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:28px}.site-header.menu-open .menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.site-header.menu-open .menu-toggle span:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}@media (width<=800px){.header-container{min-height:76px;padding-inline:max(1rem, var(--page-padding));gap:1rem;position:relative}.site-logo img{width:112px}.menu-toggle{margin-left:auto;display:flex}.header-navigation{width:100%;padding:0 var(--page-padding);background:var(--color-dark);opacity:0;visibility:hidden;pointer-events:none;border-top:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:1.25rem;max-height:0;transition:max-height .24s,opacity .18s,visibility .18s,padding .24s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden}.site-header.menu-open .header-navigation{opacity:1;visibility:visible;pointer-events:auto;max-height:420px;padding-top:1.4rem;padding-bottom:1.6rem}.site-header nav{flex-direction:column;align-items:flex-start;gap:.2rem}.site-header nav a{width:100%;padding:.8rem 0;font-size:.85rem}.language-switcher{border-top:1px solid #ffffff1f;justify-content:flex-start;gap:1.2rem;width:100%;padding-top:.8rem}.language-switcher a{font-size:.78rem}}.hero{background-image:url(/images/hero-sergio-contini.png);background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;min-height:620px;display:flex;position:relative;overflow:hidden}.hero__overlay{background:linear-gradient(90deg,#000000f2 25%,#0000007a 45%,#00000014 100%);position:absolute;inset:0}.hero__content{z-index:1;width:min(100%, var(--page-width));padding:9rem var(--page-padding) 7rem;color:var(--color-light);margin:0 auto;position:relative}.hero h1{letter-spacing:-.03em;text-transform:uppercase;max-width:850px;margin:0;font-size:clamp(2rem,4.3vw,4.4rem);font-weight:700;line-height:.98}.hero__line{background:var(--color-accent);width:42px;height:3px;margin-top:2rem;display:block}.hero__description{color:#ffffffd1;max-width:580px;margin:1.75rem 0 0;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65}.projects{background:var(--color-light);padding:5rem 0 3rem}.projects__container{width:100%}.projects__header{width:min(100%, var(--page-width));padding:0 var(--page-padding);justify-content:space-between;align-items:end;gap:2rem;margin:0 auto 3rem;display:flex}.projects__heading{flex-direction:column;align-items:flex-start;display:flex}.projects__line{background:var(--color-accent);width:48px;height:3px;margin-bottom:1.5rem;display:block}.projects__header h2{letter-spacing:-.03em;text-transform:uppercase;color:#333;margin:0;font-size:clamp(.8rem,1.4vw,1.6rem);font-weight:500;line-height:1}.projects__controls{align-items:center;gap:1rem;display:flex}.projects__scroll-button{font:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:1rem;padding:.5rem 0;font-size:.8rem;font-weight:700;display:inline-flex}.projects__scroll-arrow{font-size:1.5rem;line-height:1;transition:transform .18s}.projects__scroll-button:hover .projects__scroll-arrow,.projects__scroll-button:focus-visible .projects__scroll-arrow{transform:translate(5px)}.projects__viewport{padding:0 var(--page-padding) 1rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-left:var(--page-padding);scrollbar-width:thin;overflow:auto hidden}.projects__grid{gap:.5rem;width:max-content;display:flex}.project-card{scroll-snap-align:start;flex:0 0 clamp(280px,29vw,420px)}.project-card__link{display:block}.project-card__image{aspect-ratio:4/5;background:#e7e7e7;width:80%;margin-inline:auto;overflow:hidden;box-shadow:0 10px 30px #0000001a}.project-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.project-card__content{pointer-events:none;width:80%;margin-inline:auto;padding-top:1.25rem}.project-card__category{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);margin:0 0 .55rem;font-size:.72rem;font-weight:700}.project-card__location{color:var(--color-muted);margin:0 0 .4rem;font-size:.82rem;line-height:1.4}.project-card__link:hover img,.project-card__link:focus-visible img{transform:scale(1.03)}@media (width<=800px){.projects{padding:3.5rem 0}.projects__header{align-items:flex-start;margin-bottom:2rem}.projects__scroll-button{font-size:.7rem}.project-card{flex-basis:min(82vw,340px)}}@media (width<=560px){.projects__header{flex-direction:column;gap:1.25rem}}.about{padding:4.5rem var(--page-padding) 3rem;background:#f3f3f3}.about__container{grid-template-columns:minmax(260px,.85fr) minmax(140px,190px) minmax(380px,1.35fr);align-items:start;gap:2.5rem clamp(1.5rem,2vw,2.5rem);width:min(100%,1280px);margin:0 auto;display:grid}.about__content{max-width:430px}.about__eyebrow,.about__contact-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0 0 1.2rem;font-size:.72rem;font-weight:700}.about h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,2vw,2rem);font-weight:500;line-height:1.08}.about__content h2{text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.5rem)}.about__signature{margin:0;line-height:1}.about__signature img{object-fit:contain;width:min(100%,260px);height:auto;display:block}.about__line,.about__contact-line{background:var(--color-accent);width:44px;height:2px;display:block}.about__line{margin:1rem 0 1.4rem}.about__contact-line{margin:1.1rem 0 1.4rem}.about__roles{letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.4rem;font-size:.72rem;font-weight:700}.about__description-list{margin:0;padding:0;list-style:none}.about__description-list li{color:var(--color-text);margin-bottom:.8rem;padding-left:1.25rem;font-size:.95rem;line-height:1.5;position:relative}.about__description-list li:before{content:"";background:var(--color-accent);width:8px;height:2px;position:absolute;top:.7em;left:0}.about__image{aspect-ratio:3/4;background:#ddd;width:100%;overflow:hidden;box-shadow:0 7px 7px #00000080}.about__image img{object-fit:cover;width:100%;height:100%;display:block}.about__contact{width:100%;max-width:none}.about__contact h2{text-transform:none}.about__contact-text{color:var(--color-text);font-size:.95rem;line-height:1.6}.about__contact-text p{margin:0 0 .9rem}.about__contact-text p:last-child{margin-bottom:0}.contact{padding:0 var(--page-padding);background:var(--color-light);color:var(--color-text)}.contact__container{width:min(100%,1280px);margin:0 auto}.contact__items{grid-template-columns:repeat(4,minmax(0,1fr));place-items:center;display:grid}.contact-item{text-align:center;border-right:1px solid #d8d8d8;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:120px;padding:.5rem 1rem;display:flex}.contact-item:last-child{border-right:0}.contact-item__icon{border:2px solid var(--color-text);border-radius:.35rem;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1rem;font-size:1.55rem;font-weight:500;line-height:1;display:flex}.contact-item__label{letter-spacing:.05em;text-transform:uppercase;margin-bottom:0;font-size:.7rem;font-weight:700}.contact-item:hover,.contact-item:focus-visible{background:#f5f5f5}@media (width<=1000px){.about__container{grid-template-columns:1fr 240px}.about__contact{grid-column:1/-1;width:100%;max-width:none}.contact__items{grid-template-columns:repeat(2,1fr)}.contact-item:nth-child(2){border-right:0}.contact-item:nth-child(-n+2){border-bottom:1px solid #d8d8d8}}@media (width<=700px){.about{padding-top:3.5rem}.about__container{grid-template-columns:1fr;gap:2.5rem}.about__image{width:min(100%,300px)}.about__contact{grid-column:auto}.contact__items{grid-template-columns:1fr}.contact-item{border-bottom:1px solid #d8d8d8;border-right:0;min-height:145px}.contact-item:last-child{border-bottom:0}}.site-footer{color:var(--color-light);background:#111}.site-footer__container{width:min(100%, var(--page-width));min-height:150px;padding:1.5rem var(--page-padding);align-items:center;margin:0 auto;display:flex;position:relative}.site-footer__brand{flex:none;justify-content:center;align-items:center;display:flex}.site-footer__brand img{object-fit:contain;width:220px;height:auto;max-height:90px;display:block}.site-footer__content{text-align:center;width:max-content;max-width:65%;position:absolute;top:75px;left:50%;transform:translate(-50%)}.site-footer__contacts{color:var(--color-light);flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0;font-size:.82rem;line-height:1.4;display:flex}.site-footer a{color:var(--color-light)}.site-footer__contacts a:hover,.site-footer__contacts a:focus-visible,.site-footer__policy a:hover,.site-footer__policy a:focus-visible{color:var(--color-accent)}.site-footer__copyright{color:var(--color-light);margin:.3rem 0 0;font-size:.66rem;line-height:1.3}.site-footer__policy{margin:.35rem 0 0;font-size:.66rem;line-height:1.3}.site-footer__policy a{text-underline-offset:.18em;text-decoration:underline}@media (width<=700px){.site-footer__container{flex-direction:column;gap:1.25rem;min-height:auto;padding-top:2rem;padding-bottom:2rem}.site-footer__brand img{width:190px;max-height:none}.site-footer__content{width:100%;max-width:none;position:static;transform:none}.site-footer__contacts{flex-direction:column;gap:.15rem;line-height:1.7}.site-footer__contacts span{display:none}}@media (width<=900px){.projects__header{grid-template-columns:1fr;gap:1.5rem}.projects__grid{grid-template-columns:1fr}.project-card__image{aspect-ratio:16/10}.about__container{grid-template-columns:1fr;gap:3rem}.about__image{width:180px}.about__content{max-width:100%}.contact__container{grid-template-columns:1fr;align-items:start}.contact__action{justify-content:flex-start}}@media (width<=800px){.hero{background-position:60%;min-height:540px}.hero__content{padding-top:4.5rem;padding-bottom:4.5rem}.hero h1{max-width:11ch;font-size:clamp(2rem,9vw,3.4rem);line-height:1.02}.hero__description{max-width:34rem;font-size:1rem;line-height:1.55}.site-footer__container{grid-template-columns:1fr;gap:1.5rem}.site-footer__navigation{text-align:left}.site-footer nav{flex-direction:column;gap:.75rem}}@media (width<=420px){:root{--page-padding:1rem}.hero{background-position:64%;min-height:500px}.hero h1{max-width:10ch;font-size:clamp(1.9rem,9vw,2.65rem)}.projects__header{margin-bottom:1.75rem}.project-card{flex-basis:min(86vw,320px)}.contact-item{min-height:125px}.site-footer__brand img{width:175px}}.header-back-link{white-space:nowrap}.privacy-page{padding:clamp(3.5rem, 7vw, 7rem) var(--page-padding);background:#f5f5f3}.privacy-page__container{background:var(--color-light);width:min(100%,920px);margin:0 auto;padding:clamp(2rem,5vw,4.5rem);box-shadow:0 14px 40px #00000014}.privacy-page__header{border-bottom:1px solid #d8d8d8;padding-bottom:2rem}.privacy-page__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 .8rem;font-size:.72rem;font-weight:700}.privacy-page h1{letter-spacing:-.035em;text-transform:uppercase;margin:0;font-size:clamp(2rem,5vw,3.7rem);line-height:1.05}.privacy-page__updated{color:var(--color-muted);margin:1rem 0 0;font-size:.82rem}.privacy-page__section{margin-top:clamp(2.5rem,5vw,4.5rem)}.privacy-page__section>h2{text-transform:uppercase;border-bottom:3px solid var(--color-accent);margin:0 0 1.4rem;padding-bottom:.7rem;font-size:clamp(1.45rem,3vw,2rem)}.privacy-page__subsection{margin-top:2rem}.privacy-page__subsection h3{margin:0 0 .55rem;font-size:1rem;line-height:1.35}.privacy-page p{margin:0;font-size:.96rem;line-height:1.75}@media (width<=700px){.header-navigation{gap:1.25rem}.site-header nav a.header-back-link{font-size:.7rem}.privacy-page{padding:2rem 1rem}.privacy-page__container{padding:1.5rem}}
