/* gaiamarturano.it — static rebuild of the Cargo "Virgo" layout */
/* Raleway 200, self-hosted (SIL OFL, see fonts/OFL-Raleway.txt) — no Google Fonts requests */
@font-face{font-family:Raleway;font-style:normal;font-weight:200;font-display:swap;src:url(../fonts/raleway-latin-200-normal.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;color:#000;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;border:0;display:block}
a{color:#333;text-decoration:none}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:100}

/* ---------- sidebar ---------- */
.sidebar{position:fixed;top:0;left:0;width:215px;padding:24px 12px 24px 28px;z-index:10}
.header_text{font-family:Raleway,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;font-size:40px;line-height:1.05;letter-spacing:1px;color:#333}
.header_text a{color:#333;display:block}
.header_text a:hover{color:#4682B4}
.navigation{margin-top:1.6em;font-size:15px;line-height:1.7em}
.navigation ul{list-style:none;margin:0;padding:0}
.navigation li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navigation a{color:#333}
.navigation a:hover{color:#4682B4}
.navigation li.active > a{color:#708090}
.subnav{margin:.15em 0 .9em 0 !important;padding-left:14px !important}
.subnav li{font-size:14px;line-height:1.65em;white-space:normal}
.subnav a{color:#666}

/* ---------- content ---------- */
.container{margin-left:252px;padding:24px 45px 90px 0;min-width:275px}

/* gallery grid — Cargo columnize, 300px columns, 12px gutters */
.grid{columns:300px;column-gap:0}
.shot{margin:0;padding:20px 12px 0 12px;break-inside:avoid;-webkit-column-break-inside:avoid}
.shot img{width:100%;cursor:zoom-in}

.hero{max-width:640px;padding-top:20px}

/* selected work index */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px 24px;padding-top:20px;max-width:1000px}
.card span{display:block;padding-top:8px;font-size:14px;color:#333}
.card:hover span{color:#4682B4}

/* news and exhibitions */
.news .container{max-width:640px}
.entry{padding:0 0 56px 0}
.entry_text p{margin:0}
.entry_text{padding-bottom:14px}
.entry_text p:first-child{font-weight:600}
.entry a{text-decoration:underline}
.entry img{max-width:472px;width:100%}
.pending{max-width:472px;padding:28px 12px;border:1px dashed #ccc;color:#999;font-size:13px;text-align:center}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;background:rgba(255,255,255,.97);display:none;z-index:200;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;width:auto;object-fit:contain}
.lb button{position:absolute;border:0;background:none;color:#333;font-size:26px;line-height:1;cursor:pointer;padding:16px;font-family:inherit}
.lb button:hover{color:#4682B4}
.lb .lb-prev{left:8px;top:50%;transform:translateY(-50%)}
.lb .lb-next{right:8px;top:50%;transform:translateY(-50%)}
.lb .lb-close{right:8px;top:6px;font-size:22px}
.lb .lb-count{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#999;font-size:12px}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .sidebar{position:static;width:auto;padding:20px 20px 0 20px}
  .header_text{font-size:32px}
  .navigation{margin-top:1.1em}
  .container{margin-left:0;padding:8px 20px 70px 20px}
  .grid{columns:260px}
  .shot{padding:16px 0 0 0}
  .news .container,.hero{max-width:none}
}
@media (max-width:520px){
  .header_text{font-size:27px}
  .grid{columns:1}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- legal links + pages ---------- */
.legal-links{margin-top:2.2em;font-size:12px;color:#999}
.legal-links a{color:#999}
.legal-links a:hover{color:#4682B4}
.legal-page{max-width:640px;padding-top:20px}
.legal-page h1{font-size:18px;font-weight:600;margin:0 0 1.4em}
.legal-page h1 span{font-weight:400;color:#999}
.legal-page h2{font-size:15px;font-weight:600;margin:1.8em 0 .4em}
.legal-page p{margin:0 0 .8em}
.legal-page a{text-decoration:underline}
.legal-page .stand{margin-top:2em;color:#999;font-size:13px}
@media (max-width:860px){.legal-links{margin-top:.8em}}
