
/* Revisione mobile, accessibilità e portfolio — font originali conservati. */
html{scroll-padding-top:1rem}
body{overflow-wrap:break-word}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #987544;outline-offset:4px}
.site-header nav a,.header-cta{display:inline-flex;align-items:center;min-height:44px}
.menu{min-width:48px;min-height:48px}
body.inner-page .site-header{color:var(--ink)}
body.inner-page .site-header .brand-logo img,.page-cta .footer-logo img,.contact-footer .footer-logo img{filter:brightness(0)}
.inner-page .site-header nav{color:inherit}
.hero-copy,.inner-hero-copy{min-width:0}
.contact-form label,.contact-main,.contact-aside{min-width:0}
.contact-methods a{overflow-wrap:anywhere}
.contact-form input,.contact-form select,.contact-form textarea{font-family:var(--sans);font-size:16px;line-height:1.5;letter-spacing:normal;text-transform:none;min-height:48px}
.contact-form .privacy input{min-height:24px;min-width:24px;margin:0}
.contact-form button{font:inherit;min-height:48px;cursor:pointer}
.contact-form button:disabled{opacity:.6;cursor:wait}
.contact-form .privacy{flex-wrap:wrap;line-height:1.7}
.form-status{padding:1rem 1.2rem;background:#ece6dc;border-left:3px solid #987544;max-width:980px;line-height:1.7}
.inner-hero-media{opacity:1;filter:none}
.inner-hero-shade{background:linear-gradient(90deg,rgba(248,246,241,.90),rgba(248,246,241,.65) 48%,rgba(248,246,241,.20))}
.gallery,.managed-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;align-items:start}
.gallery figure,.gallery figure:first-child,.managed-gallery figure{grid-row:auto;height:auto;min-height:0}
.gallery img,.managed-gallery img{height:auto;width:100%;object-fit:contain;transform:none!important}
.gallery-single{grid-template-columns:1fr;max-width:1100px;margin:auto;padding:1rem}
.gallery-single figure{width:100%}
.managed-gallery:empty{display:none}
.photo-link{display:block;cursor:zoom-in}
.photo-link img{display:block}
.photo-open{overflow:hidden}
.photo-dialog{border:0;padding:64px 56px 24px;background:#171411;color:#fff;width:min(96vw,1500px);max-width:96vw;height:94svh;max-height:94svh;overflow:hidden}
.photo-dialog::backdrop{background:rgba(0,0,0,.85)}
.photo-dialog figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.photo-dialog img{max-height:calc(94svh - 145px);max-width:100%;height:auto;width:auto;object-fit:contain}
.photo-dialog figcaption{font-family:var(--sans);font-size:14px;text-align:center;line-height:1.4}
.photo-dialog button{position:absolute;min-height:48px;min-width:48px;border:1px solid #ffffff66;border-radius:4px;background:#171411;color:#fff;font:32px Arial,sans-serif;cursor:pointer}
.photo-close{right:12px;top:8px}.photo-prev{left:4px;top:50%}.photo-next{right:4px;top:50%}
.category.moda .category-media{background-image:linear-gradient(135deg,#302b24,#78674f)}
.moda-hero .inner-hero-media{background-image:linear-gradient(135deg,#ddd2c0,#aa9679)}
@media(max-width:900px){
 .inner-page .site-header nav{color:#fff}
 .site-header nav{max-height:calc(100svh - 125px);overflow-y:auto;gap:.25rem;padding:1rem 7vw}
 .site-header nav a{width:100%;padding:.5rem 0}
 .hero-copy{padding-top:150px;padding-bottom:100px}
 .inner-hero-copy{padding-top:150px;padding-bottom:3rem}
 .hero h1{font-size:clamp(3.2rem,14vw,6rem);line-height:.98}
 .inner-hero h1{font-size:clamp(3rem,13vw,6rem);line-height:1}
 .inner-hero-copy>p:last-child{margin-top:1.5rem}
 .intro{font-size:1rem;line-height:1.65}
 .hero .eyebrow{line-height:1.8}
 .inner-hero-shade{background:linear-gradient(90deg,rgba(248,246,241,.90),rgba(248,246,241,.72))}
 .category-copy{grid-template-columns:1fr;gap:.5rem}
 .category h2{font-size:clamp(2.75rem,11.5vw,5rem);overflow-wrap:normal}
 .category p{font-size:.95rem;line-height:1.5}
 .service-tags{flex-wrap:wrap}
 .editorial,.story-panel,.contact-grid{padding:4rem 7vw}
 .quote,.reviews{padding-top:4rem;padding-bottom:4rem}
 .page-cta,.contact{padding-top:4rem}
 .page-cta footer,.contact footer{margin-top:4rem}
 .contact-form-wrap{padding:1rem 7vw 4rem}
 .gallery,.managed-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-single{grid-template-columns:1fr}
}
@media(max-width:600px){
 .gallery,.managed-gallery{grid-template-columns:1fr}
 .photo-dialog{padding:60px 8px 72px;width:100vw;max-width:100vw;height:100svh;max-height:100svh}
 .photo-dialog img{max-height:calc(100svh - 210px)}
 .photo-prev,.photo-next{top:auto;bottom:12px}
 .photo-prev{left:20px}.photo-next{right:20px}
 .review-card{padding:1.5rem}
 .contact-main h2{font-size:clamp(2.5rem,11vw,3.5rem)}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}
