:root{--bg:#202020;--fg:#f1f1f1;--muted:#aaa;--pad:clamp(20px,5vw,85px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}.site-header{position:absolute;z-index:30;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:flex-start;padding:clamp(22px,3vw,50px) var(--pad);pointer-events:none}.brand,.nav-wrap{pointer-events:auto}.brand{display:block;color:#fff;font-size:clamp(42px,5.3vw,84px);line-height:1;letter-spacing:-.055em;font-weight:400;text-shadow:0 1px 15px #0003}.brand-image{width:clamp(190px,25vw,390px);max-height:110px;object-fit:contain}.nav-wrap{position:relative}.menu-toggle{width:46px;height:40px;border:0;background:transparent;padding:7px;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-end;position:relative;z-index:35}.menu-toggle span{display:block;width:30px;height:1px;background:#fff}.side-menu{position:fixed;top:0;right:0;bottom:0;width:clamp(230px,19vw,320px);background:rgba(20,24,29,.79);backdrop-filter:blur(7px);padding:115px 26px 45px;transform:translateX(102%);opacity:0;visibility:hidden;transition:transform .4s ease,opacity .4s ease,visibility .4s;overflow-y:auto}.nav-wrap.is-open .side-menu{transform:translateX(0);opacity:1;visibility:visible}.menu-top{display:flex;gap:16px;color:#ccc;font-size:11px;letter-spacing:.18em;margin-bottom:40px}.menu-links{list-style:none;margin:0;padding:0}.menu-links li{border-bottom:1px solid #ffffff55}.menu-links a{display:block;padding:21px 0;font-size:clamp(15px,1.3vw,21px);letter-spacing:.08em}.menu-links a:hover{opacity:.65}.hero{height:100svh;min-height:550px;position:relative;background:#303236;overflow:hidden}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}.hero-slide.is-active{opacity:1}.hero-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#434444,#262729);color:#bbb;text-align:center;padding:20px}.hero-shade{background:linear-gradient(0deg,#0009,transparent 45%),linear-gradient(90deg,#0003,transparent 50%)}.hero-content{position:absolute;inset:auto var(--pad) 6% var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.counter,.hero-caption p,.small-link,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero-caption h1{font-size:clamp(36px,5vw,74px);font-weight:300;letter-spacing:-.035em;margin:12px 0 6px}.hero-caption p{margin:0 0 26px}.small-link{border-bottom:1px solid #ffffff99;padding-bottom:8px}.hero-controls,.gallery-controls{display:flex;gap:18px}.hero-controls button,.gallery-controls button{border:0;background:none;color:#fff;font-size:30px;font-weight:200;padding:10px}.section{padding:40px var(--pad) 65px}.dark-section{background:#202020}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2,.approach-copy h2{font-size:clamp(19px,2vw,31px);letter-spacing:.17em;font-weight:300;margin:0}.horizontal-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}.project-card{flex:0 0 clamp(210px,22vw,360px);scroll-snap-align:start;min-width:0}.card-image{aspect-ratio:1.45;overflow:hidden;background:#333}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.035)}.project-card h3{font-size:14px;font-weight:400;letter-spacing:.02em;margin:14px 0 6px}.project-card p{font-size:11px;color:#aaa;letter-spacing:.12em;text-transform:uppercase;margin:0}.empty-image,.empty-gallery{display:grid;place-items:center;height:100%;color:#888;font-size:12px;letter-spacing:.08em;padding:20px}.empty-gallery{min-height:150px}.approach{display:grid;grid-template-columns:1fr 1fr;min-height:400px;background:#292929}.approach-visual{background:linear-gradient(140deg,#593c2e 0%,#2b2b2b 50%,#171717 100%)}.approach-copy{padding:clamp(40px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.rule{width:32px;border-top:1px solid #ddd;margin:24px 0}.approach-copy p{max-width:470px;color:#ccc;font-size:clamp(14px,1.2vw,18px);line-height:1.7}.site-footer{border-top:1px solid #444;display:flex;justify-content:space-between;padding:30px var(--pad);font-size:12px;letter-spacing:.12em}.inner-page{min-height:70vh;padding:170px var(--pad) 80px}.inner-page h1{font-size:clamp(34px,5vw,70px);font-weight:300}.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}.archive-grid h2{font-size:20px;font-weight:300}.single-cover{width:100%;max-height:75vh;object-fit:cover}.article-content{max-width:900px;margin:40px auto;line-height:1.8}.article-content img{height:auto}@media(max-width:700px){.site-header{padding:24px 20px}.brand{font-size:44px}.brand-image{width:210px}.hero{min-height:520px}.hero-content{bottom:8%}.hero-caption h1{font-size:36px}.hero-controls button{font-size:22px}.section{padding:32px 20px 45px}.section-heading h2{font-size:17px}.project-card{flex-basis:75vw}.approach{grid-template-columns:1fr}.approach-visual{min-height:220px}.approach-copy{padding:45px 25px}.side-menu{width:min(80vw,310px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


/* 2STUDIO — Inter 18pt: font forniti dal committente.
   Caricare i tre file TTF in assets/fonts/ (senza rinominarli). */
@font-face{font-family:'2STUDIO Inter';src:url('../fonts/Inter_18pt-Thin.ttf') format('truetype');font-style:normal;font-weight:100;font-display:swap}
@font-face{font-family:'2STUDIO Inter';src:url('../fonts/Inter_18pt-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'2STUDIO Inter';src:url('../fonts/Inter_18pt-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
/* Solo homepage: nessuna modifica a logo e pagine dei progetti. */
body.home .hero-caption h1,body.home .section-heading h2,body.home .approach-copy h2,body.home .project-card h3,body.home .hero-caption p,body.home .hero-caption .counter,body.home .hero-caption .small-link,body.home .project-card p,body.home .approach-copy p,body.home .empty-gallery{font-family:'2STUDIO Inter',Arial,sans-serif}
body.home .hero-caption h1{font-size:clamp(32px,2.9vw,42px);font-weight:100;letter-spacing:-.025em;line-height:1.12}
body.home .section-heading h2,body.home .approach-copy h2{font-size:clamp(18px,1.65vw,23px);font-weight:100;letter-spacing:.18em;line-height:1.3}
body.home .project-card h3{font-size:clamp(12px,.96vw,14px);font-weight:100;letter-spacing:.035em;line-height:1.35}
body.home .hero-caption p{font-size:clamp(11px,.9vw,13px);font-weight:400;letter-spacing:.22em}
body.home .hero-caption .counter,body.home .hero-caption .small-link{font-size:10px;font-weight:400;letter-spacing:.16em}
body.home .project-card p{font-size:10px;font-weight:400;letter-spacing:.11em;line-height:1.5}
body.home .approach-copy p{font-size:clamp(13px,1.04vw,15px);font-weight:400;letter-spacing:.012em;line-height:1.58}
@media(max-width:700px){body.home .hero-caption h1{font-size:clamp(30px,8vw,38px)}body.home .section-heading h2,body.home .approach-copy h2{font-size:17px}body.home .project-card h3{font-size:13px}body.home .approach-copy p{font-size:14px}}

/* 2STUDIO: Inter Thin per località, scopri progetto e menu laterale */
body.home .hero-caption [data-hero-location],
body.home .hero-caption [data-hero-link],
body.home .hero-caption p,
body.home .hero-caption .small-link,
.site-header .side-menu,
.site-header .side-menu a,
.site-header .side-menu .menu-top,
.site-header .side-menu .menu-links a {
  font-family:'2STUDIO Inter',Arial,sans-serif;
  font-weight:100;
}


/* 2STUDIO — tipografia Inter nelle schede progetto (CPT ts_project).
   Non altera homepage, menu o logo. */
body.single-ts_project .ts-detail,
body.single-ts_project .ts-detail button,
body.single-ts_project .ts-detail input {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
}
/* Titoli, località, etichette e testi della galleria: Thin */
body.single-ts_project .ts-detail .ts-detail-hero-caption h1,
body.single-ts_project .ts-detail .ts-detail-hero-caption p,
body.single-ts_project .ts-detail .ts-detail-intro-label,
body.single-ts_project .ts-detail .ts-detail-gallery-heading,
body.single-ts_project .ts-detail .ts-project-slide-caption,
body.single-ts_project .ts-detail .ts-project-carousel-count,
body.single-ts_project .ts-detail .article-content h1,
body.single-ts_project .ts-detail .article-content h2,
body.single-ts_project .ts-detail .article-content h3,
body.single-ts_project .ts-detail .article-content h4,
body.single-ts_project .ts-detail .article-content h5,
body.single-ts_project .ts-detail .article-content h6 {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:100 !important;
}
/* Testi descrittivi: Inter Regular, per leggibilità. */
body.single-ts_project .ts-detail .article-content,
body.single-ts_project .ts-detail .article-content p,
body.single-ts_project .ts-detail .article-content li,
body.single-ts_project .ts-detail .article-content a {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:400 !important;
}

/* Scheda progetto: titolo dimezzato rispetto a clamp(48px,6vw,100px) del template. */
body.single-ts_project .ts-detail .ts-detail-hero-caption h1 {
  font-size:clamp(24px,3vw,50px) !important;
}
/* Descrizione del progetto: Inter Thin (100), inclusi paragrafi, elenchi e link. */
body.single-ts_project .ts-detail .article-content,
body.single-ts_project .ts-detail .article-content p,
body.single-ts_project .ts-detail .article-content li,
body.single-ts_project .ts-detail .article-content a {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:100 !important;
}

/* Homepage: titolo principale del progetto in Inter Medium (500). */
body.home .hero-caption h1 { font-family: '2STUDIO Inter', Arial, sans-serif; font-weight: 500; }

/* Homepage: nasconde il contatore sopra il titolo del progetto. */
body.home .hero-caption .counter { display: none !important; }

/* Logo 2STUDIO: riduzione del 20% su desktop e mobile. */
.site-header .brand { font-size:clamp(33.6px,4.24vw,67.2px); }
@media (max-width:700px) { .site-header .brand { font-size:35.2px; } }


/* ABOUT US — tipografia dedicata, senza modificare le altre pagine.
   Slug WordPress supportati: about-us, about, chi-siamo. */
body:is(.page-about-us,.page-about,.page-chi-siamo) .inner-page {
  font-family:'2STUDIO Inter',Arial,sans-serif;
  font-weight:100;
}
body:is(.page-about-us,.page-about,.page-chi-siamo) .inner-page h1 {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(20.4px,3vw,42px) !important; /* 60% di clamp(34px,5vw,70px) */
}
body:is(.page-about-us,.page-about,.page-chi-siamo) .inner-page :is(p,li,a,blockquote,span,strong,em),
body:is(.page-about-us,.page-about,.page-chi-siamo) .inner-page .article-content {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:100 !important;
}

/* ABOUT US: identificazione esplicita tramite classe nel template page.php */
body .inner-page.ts-about-page > h1 {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(20.4px,3vw,42px) !important;
}
body .inner-page.ts-about-page .article-content,
body .inner-page.ts-about-page .article-content p,
body .inner-page.ts-about-page .article-content li,
body .inner-page.ts-about-page .article-content span,
body .inner-page.ts-about-page .article-content a,
body .inner-page.ts-about-page .article-content strong,
body .inner-page.ts-about-page .article-content em {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:100 !important;
}


/* 2STUDIO — DESIGN APPROACH: Inter Thin, corpo -10%, altezza -25% */
body.home #design-approach.approach {
  min-height:300px; /* precedente 400px */
}
body.home #design-approach .approach-copy {
  padding:clamp(24px,3.5vw,60px);
}
body.home #design-approach .approach-copy p {
  font-family:'2STUDIO Inter',Arial,sans-serif !important;
  font-weight:100 !important;
  font-size:clamp(11.7px,0.936vw,13.5px) !important;
  line-height:1.58;
}
@media (max-width:700px) {
  body.home #design-approach.approach { min-height:0; }
  body.home #design-approach .approach-copy { padding:34px 25px; }
  body.home #design-approach .approach-copy p { font-size:12.6px !important; }
}
