/* ==========================================================================
   Colheng S.a.s. — foglio di stile unico
   Palette e tipografia derivate dal logo: serif grigio, "h" corsiva rossa.
   ========================================================================== */

/* --- Font self-hosted ------------------------------------------------------
   Sottoinsiemi latini di Newsreader, IBM Plex Sans e IBM Plex Mono (SIL OFL 1.1),
   ospitati sul server: nessuna richiesta a domini esterni, nessun cookie.

   ATTENZIONE — blocco DISATTIVATO.
   I cinque file .woff2 non sono presenti in assets/fonts/. Lasciare le regole
   attive produrrebbe cinque errori 404 a ogni caricamento di pagina.
   Il sito funziona comunque: le pile di font qui sotto (--display, --testo,
   --dati) hanno fallback di sistema molto simili (Palatino/Georgia per il
   serif, Segoe UI/Helvetica per il testo).

   PER RIATTIVARE: scaricare i .woff2 (vedi assets/fonts/LEGGIMI-FONT.txt),
   metterli in assets/fonts/ e togliere i marcatori di commento qui sotto.
   --------------------------------------------------------------------------- */
/*
{ font-family:"Newsreader"; src:url("fonts/newsreader-400.woff2") format("woff2");
             font-weight:400; font-style:normal; font-display:swap; }
{ font-family:"Newsreader"; src:url("fonts/newsreader-400-italic.woff2") format("woff2");
             font-weight:400; font-style:italic; font-display:swap; }
{ font-family:"IBM Plex Sans"; src:url("fonts/plexsans-400.woff2") format("woff2");
             font-weight:400; font-style:normal; font-display:swap; }
{ font-family:"IBM Plex Sans"; src:url("fonts/plexsans-600.woff2") format("woff2");
             font-weight:600; font-style:normal; font-display:swap; }
{ font-family:"IBM Plex Mono"; src:url("fonts/plexmono-400.woff2") format("woff2");
             font-weight:400; font-style:normal; font-display:swap; }
*/

:root{
  /* colori */
  --inchiostro:#191A1C;      /* testo principale */
  --grafite:#5E6064;         /* testo secondario */
  --carta:#F4F4F3;           /* fondo pagina, neutro freddo come il grigio del logo */
  --carta-alta:#FFFFFF;
  --grigio-logo:#C0C0C0;     /* campionato dal logo */
  --filo:#DCDCDA;            /* righe sottili */
  --rosso:#C25B5B;           /* accento display, versione leggibile del rosso del logo */
  --rosso-scuro:#993F3F;     /* link e testo piccolo */
  --rosso-chiaro:#DA8080;    /* campionato dal logo, solo decorativo */

  /* tipografia */
  --display:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --testo:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --dati:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;

  /* misure */
  --gutter:clamp(1.5rem,5vw,5rem);
  --max:74rem;
  --stretta:38rem;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

body{
  margin:0;
  background:var(--carta);
  color:var(--inchiostro);
  font-family:var(--testo);
  font-size:clamp(1rem,.95rem + .25vw,1.125rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--rosso-scuro);text-underline-offset:.18em;text-decoration-thickness:1px;}
a:hover{color:var(--inchiostro);}
:focus-visible{outline:2px solid var(--rosso-scuro);outline-offset:3px;}

.skip{
  position:absolute;left:-9999px;top:0;background:var(--inchiostro);color:#fff;
  padding:.75rem 1rem;z-index:10;
}
.skip:focus{left:0;}

/* eyebrow: etichetta in mono, unico elemento "da laboratorio" ------------- */
.eyebrow{
  font-family:var(--dati);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--grafite);
  margin:0 0 1.25rem;
}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:-.015em;}

/* la firma del marchio: una parola in corsivo rosso dentro il titolo,
   come la "h" del logo dentro la parola Colheng */
h1 em,h2 em{font-style:italic;color:var(--rosso);}

/* --- testata ------------------------------------------------------------- */
.site-head{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  flex-wrap:wrap;
  padding:1.75rem var(--gutter);
  max-width:var(--max);margin:0 auto;
}
.brand img{width:clamp(150px,18vw,208px);}
.site-head .colheng-nav{display:flex;gap:1.75rem;flex-wrap:wrap;}
.site-head .colheng-nav a{
  font-size:.9rem;color:var(--grafite);text-decoration:none;
  padding-bottom:.2rem;border-bottom:1px solid transparent;
}
.site-head .colheng-nav a:hover{color:var(--inchiostro);border-bottom-color:var(--rosso-chiaro);}
.site-head .colheng-nav .lang{font-family:var(--dati);font-size:.75rem;letter-spacing:.1em;}

/* --- impaginazione sezioni ---------------------------------------------- */
.wp-block-post-content>section{
  max-width:var(--max);
  margin:0 auto;
  padding:clamp(4rem,9vw,7.5rem) var(--gutter);
  border-top:1px solid var(--filo);
}
.wp-block-post-content>section:first-child{border-top:0;}

/* --- hero ---------------------------------------------------------------- */
.hero{padding-top:clamp(3rem,7vw,6rem);}
.hero h1{
  font-size:clamp(2.4rem,1.4rem + 4.4vw,5rem);
  margin:0 0 1.75rem;
  max-width:20ch;
}
.lede{
  font-size:clamp(1.1rem,1rem + .5vw,1.45rem);
  color:var(--grafite);
  max-width:46ch;
  margin:0 0 2.5rem;
}
.actions{display:flex;gap:.9rem;flex-wrap:wrap;margin:0;}
.btn{
  display:inline-block;padding:.85rem 1.9rem;
  background:var(--inchiostro);color:var(--carta-alta);
  text-decoration:none;font-size:.95rem;
  border:1px solid var(--inchiostro);
  transition:background .18s ease,color .18s ease;
}
.btn:hover{background:var(--rosso-scuro);border-color:var(--rosso-scuro);color:#fff;}
.btn-ghost{background:transparent;color:var(--inchiostro);border-color:var(--filo);}
.btn-ghost:hover{background:transparent;border-color:var(--inchiostro);color:var(--inchiostro);}

/* --- manifesto ----------------------------------------------------------- */
.manifesto{max-width:calc(var(--stretta) + 2*var(--gutter));}
.manifesto p{
  font-family:var(--display);
  font-size:clamp(1.2rem,1.05rem + .6vw,1.55rem);
  line-height:1.5;
  margin:0 0 1.5rem;
}
.manifesto p:last-child{margin-bottom:0;}
.manifesto em{font-style:italic;color:var(--rosso);}
.manifesto strong{font-weight:400;box-shadow:inset 0 -.35em 0 rgba(218,128,128,.28);}

/* --- metodo: una sequenza vera, quindi numerata -------------------------- */
.method h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem);margin:0 0 3rem;max-width:22ch;}
.steps{
  list-style:none;margin:0;padding:0;
  display:grid;gap:2.5rem;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
}
.steps > .colheng-item{border-top:2px solid var(--inchiostro);padding-top:1rem;}
.steps .num{
  font-family:var(--dati);font-size:.78rem;letter-spacing:.12em;
  color:var(--rosso);display:block;margin-bottom:.75rem;
}
.steps h3{font-size:1.3rem;margin:0 0 .5rem;}
.steps p{margin:0;color:var(--grafite);font-size:.98rem;}

/* --- competenze: righe, non schede --------------------------------------- */
.areas > .colheng-list{list-style:none;margin:0;padding:0;}
.areas .colheng-item{
  display:grid;
  grid-template-columns:minmax(12rem,20rem) 1fr;
  gap:1rem 3rem;
  padding:1.6rem 0;
  border-bottom:1px solid var(--filo);
}
.areas .colheng-item:first-child{border-top:1px solid var(--filo);}
.areas h3{font-size:1.35rem;margin:0;}
.areas p{margin:0;color:var(--grafite);align-self:center;}
@media (max-width:44rem){
  .areas .colheng-item{grid-template-columns:1fr;gap:.4rem;}
}

/* --- casi: scheda tecnica a sinistra, racconto a destra ------------------ */
.cases h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem);margin:0 0 1rem;max-width:20ch;}
.cases-note{color:var(--grafite);max-width:48ch;margin:0 0 3rem;font-size:.98rem;}
.case-list{list-style:none;margin:0;padding:0;}
.case-list > .colheng-item{
  display:grid;
  grid-template-columns:minmax(11rem,15rem) 1fr;
  gap:1.5rem 3.5rem;
  padding:2.25rem 0;
  border-top:1px solid var(--filo);
}
.case-list > .colheng-item:last-child{border-bottom:1px solid var(--filo);}
.case-meta p{
  font-family:var(--dati);font-size:.78rem;line-height:1.5;
  margin:0 0 .7rem;color:var(--inchiostro);
}
.case-meta span{
  display:block;
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--grafite);
}
.case-body h3{font-size:1.4rem;margin:0 0 .7rem;}
.case-body p{margin:0 0 .8rem;color:var(--grafite);}
.case-result{
  font-family:var(--dati);font-size:.85rem;line-height:1.6;
  color:var(--inchiostro)!important;
  padding-left:.9rem;border-left:2px solid var(--rosso);
  margin:1.1rem 0 0!important;
}
@media (max-width:44rem){
  .case-list > .colheng-item{grid-template-columns:1fr;gap:1rem;}
  .case-meta{display:flex;flex-wrap:wrap;gap:0 2rem;}
}

/* --- profilo -------------------------------------------------------------- */
.profile{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:clamp(2rem,5vw,4.5rem);
  align-items:start;
}
.profile h2{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);margin:0 0 1.5rem;}
.profile p{max-width:52ch;}
.portrait{margin:0;max-width:26rem;}
.portrait img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  filter:grayscale(1) contrast(1.04);
}
.portrait figcaption{
  font-family:var(--dati);
  font-size:.72rem;letter-spacing:.05em;
  color:var(--grafite);
  margin-top:.85rem;
  padding-left:.9rem;
  border-left:2px solid var(--rosso-chiaro);
  line-height:1.5;
}
.profile-link{
  margin:1.75rem 0 0;
  font-family:var(--dati);
  font-size:.82rem;letter-spacing:.04em;
}
.profile-link a{
  text-decoration:none;
  border-bottom:1px solid var(--rosso-chiaro);
  padding-bottom:.15rem;
}
.profile-link a:hover{border-bottom-color:var(--inchiostro);}
.profile-link span{margin-left:.2em;}

.facts{
  margin:2.5rem 0 0;
  border-top:1px solid var(--filo);
  font-family:var(--dati);
  font-size:.82rem;
}
.facts > .wp-block-group{
  display:grid;grid-template-columns:9rem 1fr;gap:1rem;
  padding:.7rem 0;border-bottom:1px solid var(--filo);
}
.facts .fact-label{color:var(--grafite);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;padding-top:.15rem;}
.facts .fact-value{margin:0;}
@media (max-width:52rem){
  .profile{grid-template-columns:1fr;}
  .portrait{order:-1;max-width:22rem;}
  .facts > .wp-block-group{grid-template-columns:1fr;gap:.15rem;}
}

/* --- contatti ------------------------------------------------------------- */
.contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.contact h2{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.8rem);margin:0 0 1.25rem;}
.contact-intro p:not(.eyebrow){color:var(--grafite);max-width:34ch;}
.contact-card{
  background:var(--carta-alta);
  border:1px solid var(--filo);
  padding:clamp(1.75rem,3vw,2.5rem);
}
.card-label{
  font-family:var(--dati);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grafite);
  margin:0 0 .35rem;
}
.card-label + .card-value{margin-top:0;}
.card-value{
  font-family:var(--display);
  font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);
  line-height:1.35;
  margin:0 0 1.85rem;
}
.card-value:last-child{margin-bottom:0;}
.card-value a{text-decoration:none;border-bottom:1px solid var(--rosso-chiaro);}
.card-value a:hover{border-bottom-color:var(--inchiostro);}
.card-small{font-size:1.05rem;color:var(--grafite);line-height:1.6;}
@media (max-width:52rem){
  .contact{grid-template-columns:1fr;}
}

/* --- pagine legali -------------------------------------------------------- */
.legal-page{
  max-width:calc(44rem + 2*var(--gutter));
  margin:0 auto;
  padding:clamp(2.5rem,6vw,4.5rem) var(--gutter) clamp(4rem,8vw,6rem);
}
.legal-page h1{
  font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);
  margin:0 0 1.5rem;
}
.legal-lede{
  font-family:var(--display);
  font-size:clamp(1.1rem,1rem + .5vw,1.35rem);
  line-height:1.5;
  color:var(--inchiostro);
  margin:0 0 1.5rem;
}
.legal-date{
  font-family:var(--dati);font-size:.74rem;letter-spacing:.06em;
  color:var(--grafite);
  border-top:1px solid var(--filo);border-bottom:1px solid var(--filo);
  padding:.8rem 0;margin:0 0 3rem;
}
.legal-page h2{
  font-size:1.35rem;
  margin:2.75rem 0 .9rem;
  padding-left:.85rem;
  border-left:2px solid var(--rosso);
}
.legal-page p,.legal-page li{color:var(--grafite);}
.legal-page ul{padding-left:1.15rem;}
.legal-page li{margin-bottom:.5rem;}
.legal-table{
  width:100%;border-collapse:collapse;
  margin:1.25rem 0 1.5rem;
  font-size:.94rem;
}
.legal-table th,.legal-table td{
  text-align:left;vertical-align:top;
  padding:.75rem 0;
  border-bottom:1px solid var(--filo);
}
.legal-table th{
  width:11rem;padding-right:1.5rem;
  font-family:var(--dati);font-weight:400;
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--inchiostro);
}
.legal-table td{color:var(--grafite);}
@media (max-width:40rem){
  .legal-table th,.legal-table td{display:block;width:auto;border-bottom:0;padding:.2rem 0;}
  .legal-table tr{display:block;padding:.75rem 0;border-bottom:1px solid var(--filo);}
}
.legal-back{
  margin-top:3.5rem;padding-top:1.75rem;
  border-top:1px solid var(--filo);
  font-family:var(--dati);font-size:.8rem;
}

/* --- piede ---------------------------------------------------------------- */
.site-foot{
  border-top:1px solid var(--filo);
  max-width:var(--max);margin:0 auto;
  padding:3.5rem var(--gutter) 4rem;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:2rem 3rem;
  font-size:.9rem;color:var(--grafite);
}
.wordmark{font-family:var(--display);font-size:1.7rem;color:var(--grigio-logo);margin:0;line-height:1;}
.wordmark em{font-style:italic;color:var(--rosso-chiaro);font-size:1.1rem;}
.payoff{font-family:var(--display);font-size:.85rem;color:var(--grigio-logo);margin:.5rem 0 0;letter-spacing:.02em;}
.site-foot .colheng-address{font-style:normal;}
.site-foot .colheng-nav{display:flex;flex-direction:column;gap:.5rem;}
.site-foot .colheng-nav a,.site-foot .colheng-address a{color:var(--grafite);}
.site-foot .colheng-nav a:hover,.site-foot .colheng-address a:hover{color:var(--inchiostro);}
.legal{
  grid-column:1/-1;
  font-family:var(--dati);font-size:.72rem;letter-spacing:.04em;
  color:var(--grigio-logo);
  border-top:1px solid var(--filo);padding-top:1.5rem;margin:1rem 0 0;
}
@media (max-width:44rem){
  .site-foot{grid-template-columns:1fr;}
}

/* Revisione Colheng: gerarchie, ritmo e adattamento ai dispositivi. */
:root{--rosso:#a64444;--rosso-scuro:#903838;--max:80rem;--gutter:clamp(1.25rem,5vw,4.5rem);--carta:#f7f6f3;--filo:#dedcd6;--testo:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;--display:Georgia,'Iowan Old Style',serif;}
body{font-size:1rem;line-height:1.7;}
.preview-note{background:#292b2b;color:#eeece7;padding:.45rem var(--gutter);font-size:.7rem;letter-spacing:.045em;display:flex;justify-content:space-between;gap:1rem;}
.preview-note span{color:#d2d0cb;}
.site-head{padding-top:1.6rem;padding-bottom:1.6rem;gap:1.5rem;}
.brand{display:block;width:clamp(210px,25vw,300px);flex-shrink:0;}
.brand img{width:100%;}
.site-head .colheng-nav{gap:1.4rem;}
.site-head .colheng-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.82rem;}
.wp-block-post-content>section{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem);}
.wp-block-post-content>section.hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:3.5rem;padding-top:4.4rem;padding-bottom:5rem;align-items:end;}
.hero h1{font-size:clamp(2.45rem,4.5vw,4.6rem);line-height:1.08;letter-spacing:-.045em;max-width:21ch;margin-bottom:1.6rem;}
.hero h1 em{font-weight:normal;}
.hero .eyebrow{letter-spacing:.12em;font-size:.69rem;}
.lede{font-size:1.1rem;line-height:1.65;max-width:49ch;margin-bottom:1.7rem;}
.hero-signature{font-size:.85rem;margin:0 0 2rem;font-weight:600;}
.hero-signature span{display:block;font-size:.76rem;color:var(--grafite);font-weight:400;}
.actions{align-items:center;gap:1.6rem;}
.btn{font-size:.84rem;padding:.9rem 1.25rem;}
.btn span{margin-left:1.1rem;font-size:1.1rem;}
.text-link{font-size:.8rem;color:var(--inchiostro);}
.hero-aside{padding:1.4rem 0 0 1.6rem;border-left:1px solid #bdbab3;}
.hero-aside .eyebrow{font-size:.59rem;letter-spacing:.08em;}
.hero-aside > .colheng-list{padding:0;margin:0;list-style:none;}
.hero-aside .colheng-list-item{border-top:1px solid var(--filo);padding:.7rem 0;font-family:var(--display);font-size:1.55rem;display:flex;align-items:center;gap:1rem;}
.hero-aside .colheng-list-item span{font-family:var(--dati);font-size:.6rem;color:var(--rosso);}
.hero-aside>p:last-child{font-size:.75rem;color:var(--grafite);margin:1.1rem 0 0;}
.wp-block-post-content>section.manifesto{max-width:var(--max);display:grid;grid-template-columns:1fr 1fr;column-gap:5rem;background:#eeede8;}
.manifesto>.eyebrow{grid-column:1/-1;font-family:var(--dati);font-size:.7rem;line-height:1.5;margin-bottom:1.4rem;}
.manifesto h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.2;margin:0;}
.manifesto div p{font-family:var(--testo);font-size:1rem;line-height:1.75;}
.method h2,.areas h2,.partnership h2,.cases h2{font-size:clamp(2rem,3.2vw,3rem);max-width:25ch;line-height:1.2;letter-spacing:-.03em;}
.areas h2{margin:0 0 2.5rem;}
.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;}
.steps h3{font-size:1.15rem;line-height:1.3;}
.steps p{font-size:.9rem;}
.steps .num{color:var(--rosso-scuro);margin:0 0 1.5rem;}
.areas .colheng-item{grid-template-columns:minmax(12rem,21rem) minmax(0,1fr);padding:1.65rem 0;}
.areas p{font-size:.95rem;max-width:65ch;}
.partnership{display:grid;grid-template-columns:1fr 1fr;gap:5rem;background:#292b2b;color:#f7f6f3;}
.partnership .eyebrow{color:#d0c9be;}
.partnership h2{margin:0;}
.partnership h2 em{color:#e49c94;}
.engagements article{border-top:1px solid #656563;padding:1.3rem 0 1rem;}
.engagement-label{font-family:var(--dati);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:#e49c94;}
.engagements h3{font-size:1.5rem;margin:.65rem 0;line-height:1.3;}
.engagements p{font-size:.94rem;color:#e1ddd6;margin:.5rem 0;}
.engagements .collaboration-note{font-size:.8rem;color:#c5c3bd;border-top:1px solid #656563;padding-top:1.5rem;}
.cases-note{max-width:65ch;}
.case-list > .colheng-item{border:1px dashed #c8c3ba;margin-top:1rem;padding:1.5rem;background:#f0efeb;}
.case-list > .colheng-item:last-child{border-bottom:1px dashed #c8c3ba;}
.case-body h3{font-size:1.3rem;}
.case-body p{font-size:.9rem;}
.profile{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:5rem;}
.profile h2{font-size:clamp(1.9rem,3vw,2.8rem);}
.profile p{font-size:.95rem;}
.portrait{padding-top:.3rem;}
.portrait img{filter:none;}
.facts{font-size:.75rem;margin-top:2rem;}
.facts > .wp-block-group{grid-template-columns:7rem minmax(0,1fr);}
.contact{background:#eeede8;}
.contact h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.03em;}
.contact-intro p:not(.eyebrow){max-width:47ch;}
.contact-card{border-top:3px solid var(--rosso);}
.card-value a{overflow-wrap:anywhere;}
.site-foot{padding-top:2.7rem;padding-bottom:2rem;}
.wordmark,.payoff,.legal{color:#666764;}
.legal{font-size:.7rem;}
section[id]{scroll-margin-top:1.5rem;}
@media(max-width:64rem){
 .site-head{align-items:center;}.site-head .colheng-nav{gap:1rem;}
 .wp-block-post-content>section.hero{grid-template-columns:minmax(0,1fr) 190px;gap:2rem;}
 .hero h1{font-size:clamp(2.5rem,5vw,3.6rem);}
 .hero-aside{padding-left:1rem;}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
 .manifesto,.partnership,.profile{gap:2.5rem;}
 .facts > .wp-block-group{grid-template-columns:1fr;gap:.1rem;}
}
@media(max-width:52rem){
 .site-head{display:block;}.site-head .colheng-nav{margin-top:1rem;gap:.2rem 1.4rem;}
 .wp-block-post-content>section.hero{grid-template-columns:1fr;padding-top:2.5rem;}
 .hero h1{max-width:23ch;font-size:clamp(2.4rem,6.2vw,3.6rem);}
 .hero-aside{border-left:0;border-top:1px solid var(--filo);padding:1.3rem 0 0;}
 .hero-aside > .colheng-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
 .hero-aside .colheng-list-item{font-size:1.15rem;gap:.6rem;border:0;}
 .hero-aside .eyebrow,.hero-aside>p:last-child{display:none;}
 .wp-block-post-content>section.manifesto,.partnership,.profile,.contact{grid-template-columns:1fr;gap:2rem;}
 .portrait{order:0;max-width:25rem;}
 .areas .colheng-item{grid-template-columns:1fr;gap:.5rem;}
}
@media(max-width:36rem){
 .preview-note span{display:none;}
 .site-head .colheng-nav{gap:0 1.1rem;}.site-head .colheng-nav a{font-size:.77rem;}
 .hero h1 br{display:none;}.hero h1{font-size:2.55rem;}
 .hero-aside > .colheng-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;}
 .hero-aside .colheng-list-item{border-bottom:1px solid var(--filo);font-size:1.25rem;}
 .steps{grid-template-columns:1fr;gap:2rem;}
 .steps .num{margin-bottom:.6rem;}
 .case-list > .colheng-item{grid-template-columns:1fr;padding:1.1rem;gap:1rem;}
 .case-meta{gap:0 1.3rem;}.case-meta p{font-size:.65rem;}
 .actions{gap:1.2rem;}
 .legal{overflow-wrap:anywhere;}
}
/* Il fondo scuro rende leggibile il marchio originale grigio chiaro. */
.site-head{background:#292b2b;max-width:none;padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));}
.site-head .colheng-nav a{color:#e4e1dc;}.site-head .colheng-nav a:hover{color:#fff;}
.preview-note{border-bottom:1px solid #444643;}

/* WordPress block integration */
.wp-site-blocks{padding:0}.wp-site-blocks > *{margin-block-start:0}
.wp-block-group,.wp-block-post-content{box-sizing:border-box}
.wp-block-post-content > *{margin-block-start:0}
.colheng-nav p{margin:0}.site-head .brand{margin:0}
.colheng-list{padding:0}.colheng-list-item{margin:0}
.facts .fact-label,.facts .fact-value{margin:0}
.site-foot .colheng-nav{display:flex;flex-direction:column;gap:.5rem}
.legal-page > .colheng-list{padding-left:1.15rem}
.legal-page .colheng-list-item{display:list-item;margin-bottom:.5rem}
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table td,.wp-block-table th{border:0;border-bottom:1px solid var(--filo)}
.legal-table th{width:11rem}.legal-table{overflow-x:auto}
.colheng-nav a{overflow-wrap:anywhere}
.wp-block-image img{max-width:100%;height:auto}
.editor-styles-wrapper .wp-block-post-content>section{max-width:var(--max)}
@media(max-width:52rem){.hero-aside .colheng-list-item{flex-wrap:wrap;font-size:1.1rem}}

.legal-row{display:grid;grid-template-columns:11rem 1fr;gap:1.5rem;padding:.75rem 0;border-bottom:1px solid var(--filo)}
.legal-row p{margin:0}.legal-key{font-family:var(--dati);text-transform:uppercase;font-size:.7rem}
@media(max-width:40rem){.legal-row{grid-template-columns:1fr;gap:.2rem}}
