/* Studio PBP — layout inspired by Hyperspace, HTML5 UP (CCA 3.0). */
:root{--navy:#0d233f;--white:#fff;--light:#f1f3f5;--sidebar:18rem;--bar:4rem}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--white);color:var(--navy);font:17px/1.75 Arial,Helvetica,sans-serif}h1,h2,h3,p,ul{margin:0 0 1.5rem}h1,h2,h3{line-height:1.25}h1{font-size:clamp(2.2rem,4.5vw,4.3rem);letter-spacing:-.035em}h2{font-size:clamp(1.8rem,3vw,2.5rem)}h3{font-size:1.25rem}p{max-width:65ch}a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;overflow-wrap:anywhere}a:hover{border-bottom-color:transparent}a:focus-visible{outline:3px solid currentColor;outline-offset:5px}address{font-style:normal}section[id]{scroll-margin-top:1rem}.eyebrow,.role{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:bold}.eyebrow{margin-bottom:1.5rem}.skip-link{position:fixed;top:-100px;left:1rem;z-index:10001;padding:.7rem 1rem;background:var(--white);color:var(--navy)}.skip-link:focus{top:1rem}
#sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:2.5rem;background:var(--navy);color:var(--white);overflow-y:auto;z-index:1000}#sidebar>.inner{min-height:100%;display:flex;flex-direction:column;justify-content:center;text-align:right}.studio-brand{border:0;font-size:3rem;font-weight:bold;letter-spacing:.15em;line-height:1.1;margin-bottom:3rem}.studio-brand span{display:block;font-size:.65rem;letter-spacing:.5em;margin-top:.8rem}#sidebar nav ul{list-style:none;padding:0;margin:0}#sidebar nav a{display:block;padding:1.1rem 0;border:0;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:.16em;font-weight:bold;font-size:.65rem;color:var(--light)}#sidebar nav a.active,#sidebar nav a:hover{color:var(--white);border-bottom-color:var(--white)}.sidebar-location{font-size:.75rem;margin:3rem 0 0;max-width:none}
#wrapper{margin-left:var(--sidebar);min-width:0}main,.wrapper,.inner{min-width:0}.wrapper>.inner{width:100%;max-width:78rem;margin:0 auto;padding:5rem clamp(1.5rem,5vw,5rem)}#intro{background:var(--navy);color:var(--white);min-height:100svh;display:flex;align-items:center}#intro p:not(.eyebrow){font-size:1.15rem}.studio-section{background:var(--white)}#attivita{background:var(--light)}#professionisti{background:var(--white)}#contatti{background:var(--light)}
.actions{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0;margin:2.5rem 0 0}.actions li{margin:0;max-width:100%}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3.25rem;padding:.75rem 2rem;border:1px solid currentColor;border-radius:2rem;font-size:.65rem;line-height:1.5;text-transform:uppercase;letter-spacing:.17em;font-weight:bold;text-align:center}.button:hover{background:var(--light);color:var(--navy);border-color:var(--light)}.button.primary{background:var(--white);color:var(--navy);border-color:var(--white)}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--navy);border-radius:4px;margin-top:2.5rem}.service-grid article{min-width:0;padding:2rem;border-left:1px solid var(--navy)}.service-grid article:first-child{border:0}.service-grid p{font-size:.95rem;margin:0}.service-number{display:block;font-size:.75rem;letter-spacing:.2em;margin-bottom:2rem}.people-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;margin-top:3rem}.people-grid article,.contact-grid>div{min-width:0}.people-grid article{border-top:1px solid var(--navy);padding-top:2rem}.people-grid h3{font-size:1.5rem}.role{margin-bottom:1rem}#footer{background:var(--navy);color:var(--light)}#footer>.inner{padding-top:2rem;padding-bottom:2rem}.menu{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;font-size:.75rem}
@media(max-width:1280px){html{scroll-padding-top:var(--bar)}section[id]{scroll-margin-top:var(--bar)}#sidebar{inset:0 0 auto;width:auto;height:var(--bar);padding:0 1rem;overflow:visible}#sidebar>.inner{display:block;min-height:0;height:100%;text-align:center}#sidebar .studio-brand,#sidebar .sidebar-location{display:none}#sidebar nav,#sidebar nav ul{height:100%}#sidebar nav ul{display:flex;justify-content:center;gap:2rem}#sidebar nav a{height:100%;display:flex;align-items:center;padding:0}#wrapper{margin-left:0;padding-top:var(--bar)}#intro{min-height:calc(100svh - var(--bar))}.wrapper>.inner{padding-top:4rem;padding-bottom:4rem}}
@media(max-width:800px){.service-grid{grid-template-columns:1fr}.service-grid article{border-left:0;border-top:1px solid var(--navy)}.people-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.desktop-break{display:none}}
@media(max-width:480px){body{font-size:16px}#sidebar{padding:0 .5rem}#sidebar nav ul{gap:0;justify-content:space-between}#sidebar nav a{font-size:.55rem;letter-spacing:.05em}.wrapper>.inner{padding:3rem 1.5rem}#intro h1{font-size:2.2rem}.button{padding:.75rem 1.4rem}.service-grid article{padding:1.5rem}.people-grid a{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original supplied logo, displayed without recoloring or modifying the image. */
.studio-brand{display:block;background:var(--white);border-radius:4px;overflow:hidden;line-height:0;letter-spacing:normal}
.studio-brand img{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:center}
.intro-logo{display:none}
@media(max-width:1280px){.intro-logo{display:block;background:var(--white);width:clamp(9rem,20vw,13rem);border-radius:4px;overflow:hidden;margin-bottom:2rem}.intro-logo img{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:center}}

/* Decorative Milan architecture, served locally; grayscale preserves the palette. */
#intro{position:relative;isolation:isolate;overflow:hidden}
#intro:before{content:"";position:absolute;inset:0;z-index:-2;background:url("../../images/milano-architettura.jpg") center 48%/cover no-repeat;filter:grayscale(1);opacity:.5;pointer-events:none}
#intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,35,63,.94) 0%,rgba(13,35,63,.78) 50%,rgba(13,35,63,.32) 100%);pointer-events:none}
@media(max-width:800px){#intro:before{background-position:58% center}#intro:after{background:rgba(13,35,63,.74)}}

@media(min-width:801px){.service-grid article:nth-child(odd){border-left:0}.service-grid article:nth-child(n+3){border-top:1px solid var(--navy)}}
