.brand-title + .lang { margin: .4em 0 0; font-size: .85em; }
.lang a { text-decoration: none; }
.lang a:hover { text-decoration: underline; }
.photo-grid a[data-caption]:not([data-caption=""]) { cursor: zoom-in; }

/* home */
.lead { font-size: 1.1em; line-height: 1.5; margin: 0 0 1.6em; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.6em 1.2em; margin: 0 0 2.2em; }
.card { display: block; text-decoration: none; color: inherit; }
.card-img { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 4 / 3; background: #e9e2d3; }
.card-img img { width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; transition: transform .5s ease; }
.card:hover .card-img img, .card:focus-visible .card-img img { transform: scale(1.06); }
.card-meta { display: block; margin: .6em 0 .1em; font-size: .75em; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }
.card-title { display: block; font-size: 1.05em; line-height: 1.25; }
.card:hover .card-title { text-decoration: underline; }
.card-text { display: block; margin-top: .35em; font-size: .85em; line-height: 1.45; opacity: .8; }
@media (min-width: 48em) { .content.home-wide { width: 74%; max-width: 76em; } }
@media (max-width: 600px) { .cards { grid-template-columns: repeat(2, 1fr); gap: 1.2em .8em; } .card-text { display: none; } .lead { font-size: 1em; } }
.legende-galerie { font-size: .8em; opacity: .7; margin: -1em 0 1.5em; }

/* griglia foto nelle pagine dei progetti */
article.page .photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .9em; margin: 2em 0 1.2em; }
article.page .photo-grid a { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 4 / 3; background: #e9e2d3; }
article.page .photo-grid img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; margin: 0; border-radius: 0; transition: transform .5s ease; }
article.page .photo-grid a:hover img, article.page .photo-grid a:focus-visible img { transform: scale(1.06); }
@media (max-width: 600px) { article.page .photo-grid { grid-template-columns: repeat(2, 1fr); gap: .6em; } }

/* pagine progetto: colonna larga, ma testo di lunghezza di riga leggibile */
.content.home-wide article.page > p:not(.photo-grid):not(.lead):not(.legende-galerie),
.content.home-wide article.page > .page-title,
.content.home-wide article.page > h2 { max-width: 42em; }
.content.home-wide article.page > iframe { max-width: 100%; }

/* Tema unico chiaro, sfondo beige leggero (ignora la modalita scura del sistema) */
:root:root {
  color-scheme: light;
  --body-color: var(--oc-gray-9);
  --body-color-light: var(--oc-gray-7);
  --body-bg: #f7f2e8;
  --link-color: var(--oc-blue-8);
  --heading-color: var(--oc-indigo-9);
  --message-color: var(--oc-white);
  --message-bg: var(--oc-yellow-9);
  --border-color: #ddd5c3;
  --code-bg: #efe8d8;
  --box-shadow: 3px 3px 3px #ddd5c3;
  --mono: ui-monospace, "SFMono-Regular", "DejaVu Sans Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
  --body-font: var(--mono);
  --brand-title-font: var(--mono);
  --page-font: var(--mono);
  --code-font: var(--mono);
  --body-font-size: 13px;
  --body-line-height: 1.55;
}
.lead, .card-title, .card h3, h1, h2, h3 { font-family: var(--mono); }
.header .brand-title, .header a { letter-spacing: -.02em; }

@media (min-width: 48rem) { body { font-size: var(--body-font-size); } }
