
/* Layout: museo bianco e cemento — la collezione si visita in 3D, sala dopo sala; il resto del sito resta editoriale, con segni d'archivio in bronzo */
:root{
  --white:rgba(26,17,8,.62);--concrete:rgba(16,10,4,.12);--line:rgba(255,244,228,.22);--muted:#e3d8c6;--ink:#f6f1e8;--bronze:#86d3d4;--paper:rgba(18,12,5,.42);color-scheme:dark;
  --serif:"Archivo","Helvetica Neue",Arial,sans-serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --max:1240px; --hdr:96px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--white:rgba(26,17,8,.62);--concrete:rgba(16,10,4,.12);--line:rgba(255,244,228,.22);--muted:#e3d8c6;--ink:#f6f1e8;--bronze:#86d3d4;--paper:rgba(18,12,5,.42);color-scheme:dark}}
:root[data-theme="dark"]{--white:rgba(26,17,8,.62);--concrete:rgba(16,10,4,.12);--line:rgba(255,244,228,.22);--muted:#e3d8c6;--ink:#f6f1e8;--bronze:#86d3d4;--paper:rgba(18,12,5,.42);color-scheme:dark}
*{box-sizing:border-box}
body{background:#3b2710;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:rgba(26,17,8,.8)}
#tela{position:fixed;left:0;right:0;top:-8vh;height:116vh;z-index:-1;pointer-events:none;background:linear-gradient(rgba(28,17,6,.1),rgba(28,17,6,.1)),var(--tela) center/cover no-repeat;filter:brightness(1.12) saturate(1.12) contrast(1.03);will-change:transform}
main{text-shadow:0 1px 2px rgba(20,10,0,.7),0 0 18px rgba(20,10,0,.55),0 0 40px rgba(20,10,0,.3)}
main .label,main .c-row label,main .fam-photo figcaption{color:#fff!important;font-weight:600}
main p,main blockquote footer,main .c-addr,main .meta,main dd,main dt{color:#fffaf0!important}
main .btn,main input,main select,main textarea,.panel,.panel *,.hud,.hud *{text-shadow:none}
main,footer.site{position:relative}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{background:var(--concrete)}
.serif{font-family:var(--serif)}
.label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0}
.inv{font-variant-numeric:tabular-nums;color:var(--bronze);font-size:12.5px;letter-spacing:.06em}
h1,h2,h3{font-family:var(--sans);font-stretch:118%;font-weight:400;text-wrap:balance;margin:0;letter-spacing:-.005em}
body *{font-style:normal!important}
.brand,.brand i{font-family:var(--sans)!important;font-stretch:125%;font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:14px!important}
.demo{position:relative;z-index:21;background:rgba(18,12,5,.88);color:#e3d8c6;font-size:12px;text-align:center;padding-block:7px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));letter-spacing:.03em}

.lang{display:flex;gap:2px;margin-left:8px;padding-left:16px;border-left:1px solid var(--line)}
.fallback,.fallback *{text-shadow:none!important}.fallback p,.fallback h1{color:#232322!important}.fallback a:not(.btn){color:#232322}
.lang a{color:inherit!important;background:none;border:0;cursor:pointer;text-decoration:none;font-size:11.5px;font-weight:500;letter-spacing:.14em;padding:4px 6px;color:inherit;opacity:.6}
.lang a[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.lang a:hover{opacity:1}
@media (max-width:760px){.lang{margin:12px 0 0;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.lang a{font-size:14px;padding:8px 10px}}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(26,17,8,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
body.on-home .demo{display:none}
body.on-home header.top{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#f4f1ec;transition:background .4s,border-color .4s,backdrop-filter .4s}
body.on-home header.top .brand{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-stretch:125%;font-weight:600;font-size:14px;letter-spacing:.32em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.45)}
body.on-home header.top .brand i{font-style:normal;color:inherit}
body.on-home nav.menu a{color:#f4f1ec;text-shadow:0 1px 3px rgba(0,0,0,.45);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
body.on-home nav.menu a[aria-current="page"]{border-color:#f4f1ec}
body.on-home.scrolled header.top{background:rgba(18,17,16,.86);border-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
body.on-home .burger{color:#f4f1ec}
@media (max-width:760px){body.on-home nav.menu{background:#161514}body.on-home nav.menu a{border-color:rgba(255,255,255,.1);font-family:var(--sans)}}
body.on-home::before{background:transparent}
/* animazioni allo scorrimento */
.rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.pre{opacity:0;transform:translateY(36px)}
@media (prefers-reduced-motion:reduce){.rv,.rv.pre{opacity:1;transform:none;transition:none}}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.brand{font-family:var(--serif);font-size:21px;text-decoration:none}
.brand i{color:var(--bronze)}
nav.menu{display:flex;gap:28px;align-items:center}
nav.menu a{text-decoration:none;font-size:13.5px;letter-spacing:.04em;padding-block:4px;border-bottom:1px solid transparent}
nav.menu a[aria-current="page"]{border-color:var(--ink)}
nav.menu a:hover{color:var(--bronze)}
.burger{display:none;background:none;border:0;padding:6px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#22170b;border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}
  nav.menu.open{display:flex}
  nav.menu a{padding-block:12px;font-size:17px;font-family:var(--serif);border-bottom:1px solid var(--line)}
  .burger{display:block}
}
main section{padding-block:clamp(56px,9vw,120px)}
.cta{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;letter-spacing:.06em;border-bottom:1px solid var(--ink);padding-bottom:4px}
.cta:hover{color:var(--bronze);border-color:var(--bronze)}
.btn{display:inline-flex;align-items:center;gap:10px;background:#f6f1e8;color:#22170b;text-decoration:none;padding:14px 22px;font-size:14px;letter-spacing:.06em;border:0;cursor:pointer}
.btn:hover{background:var(--bronze)}

/* ---------- 3D museum ---------- */
.stage{position:relative;overflow:hidden;background:#E9E7E3}
.stage canvas{display:block;width:100%;height:100%;touch-action:none}
.hero-stage{height:clamp(440px,74vh,800px)}
/* home: parete in cemento con lettere in acciaio */
.wall{position:relative;overflow:hidden;color:#f4f1ec;background:transparent;min-height:clamp(560px,88vh,940px);display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.wall::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(16,10,4,.3),rgba(0,0,0,0) 16%)}
.wall .wrap{will-change:transform;width:100%}
.wall .proto{position:absolute;left:max(20px,env(safe-area-inset-left,0px));bottom:24px;font-size:11.5px;letter-spacing:.08em;color:rgba(244,241,236,.75)}
.wall .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(18px,3vw,34px);padding-block:clamp(80px,10vw,140px)}
.steel{position:relative;display:inline-block;margin:0;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-stretch:125%;font-weight:600;line-height:1;color:transparent;white-space:nowrap}
.steel::before,.steel::after{content:attr(data-t);position:absolute;inset:0}
.steel::before{color:#2f3235;text-shadow:.003em .004em 0 #3d4044,.006em .008em 0 #383b3f,.009em .012em 0 #34373a,.012em .016em 0 #303336,.015em .02em 0 #2c2f32,.018em .024em 0 #292b2e,.03em .06em .04em rgba(0,0,0,.5),.06em .14em .16em rgba(0,0,0,.38)}
.steel::after{background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,rgba(0,0,0,.07) 1px 2px,rgba(255,255,255,0) 2px 4px),linear-gradient(180deg,#ffffff 0%,#eceef0 18%,#c3c8cd 40%,#7b8188 49%,#5d636a 51%,#b9bec4 58%,#eef0f2 80%,#a3a9af 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.6px rgba(255,255,255,.28)}
.steel.big{font-size:clamp(50px,13vw,180px);letter-spacing:.02em;margin-right:-.02em;font-weight:700}
.steel.small{font-size:clamp(15px,2vw,28px);letter-spacing:.56em;margin-right:-.56em;font-weight:600}
.engraved{margin:0;font-family:var(--sans);font-weight:500;font-size:clamp(12px,1.25vw,15px);letter-spacing:.3em;text-transform:uppercase;color:#f4f1ec;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.plaque-rule{width:min(320px,60%);height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.7),rgba(255,255,255,0))}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#f4f1ec;text-shadow:0 1px 3px rgba(0,0,0,.55);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-cue::after{content:"";width:1px;height:42px;background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,0));animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (prefers-reduced-motion:reduce){.scroll-cue::after{animation:none}}
.cine{background:transparent;color:#efece6}
main section.cine{padding:0}
.cine-pin{height:360vh;position:relative}
.cine-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.cine .cine-sticky .frame{position:absolute;inset:0;aspect-ratio:auto;transform-origin:50% 50%}
.cine-shade{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(to top,rgba(10,9,8,.78),rgba(10,9,8,0) 48%),linear-gradient(to bottom,rgba(10,9,8,.45),rgba(10,9,8,0) 22%)}
.cine-cap{position:absolute;z-index:3;left:max(28px,env(safe-area-inset-left,0px),calc((100vw - var(--max))/2 + 20px));bottom:clamp(64px,11vh,120px);max-width:min(980px,88vw);opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none;color:#f4f1ec}
.cine-cap.on{opacity:1;transform:none;pointer-events:auto}
.cine-cap .kick{margin:0 0 12px;font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#d8d2c8}
.cine-cap h2{font-family:var(--sans);font-weight:600;font-size:clamp(34px,5.4vw,78px);letter-spacing:.06em;text-transform:uppercase;line-height:1;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.cine-cap p{margin:16px 0 0;max-width:44ch;color:#e2ddd4;font-size:16px;line-height:1.5}
.cine-bar{position:absolute;z-index:3;left:max(28px,env(safe-area-inset-left,0px),calc((100vw - var(--max))/2 + 20px));right:max(28px,env(safe-area-inset-right,0px),calc((100vw - var(--max))/2 + 20px));bottom:32px;height:2px;background:rgba(255,255,255,.18)}
.cine-bar span{position:absolute;inset:0;background:#f4f1ec;transform-origin:0 50%;transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){.cine-cap{transition:none}}
.paint-title{margin:0;width:100%;display:flex;justify-content:center}
.paint-title canvas{display:block;max-width:100%;height:auto}
.steel-title{margin:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.4vw,18px)}
.steelcv{display:block;max-width:100%;height:auto}
.t2d{display:flex;flex-direction:column;align-items:center;gap:inherit;width:100%}
.titlegl{display:none;width:100%;max-width:1240px}
.gl-on .titlegl{display:block}.gl-on .t2d{display:none}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cine .frame{position:relative;aspect-ratio:2.39/1;max-width:100%;overflow:hidden;background:#222;transform-origin:50% 40%;will-change:transform,border-radius}
.cine .frame .stage{position:absolute;inset:0;height:auto}
.cine .frame canvas{pointer-events:none}
.cine-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.cine-head h2{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-stretch:125%;font-size:clamp(30px,4vw,54px);letter-spacing:.04em;font-weight:400}
.cine-head p{margin:0;max-width:40ch;color:#b9b4ab;font-family:var(--serif);font-size:18px}
.cine .label{color:#9c968c}
.btn.light{background:#efece6;color:#141312}.btn.light:hover{background:#c9a48f;color:#141312}
.cine-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:13px;color:#9c968c;letter-spacing:.06em}
.statement{display:grid;grid-template-columns:4fr 8fr;gap:clamp(24px,5vw,80px);align-items:start}
.statement p.big{font-family:var(--serif);font-size:clamp(24px,2.8vw,38px);line-height:1.32;margin:0;font-weight:300;max-width:30ch}
.figures{display:flex;gap:clamp(28px,5vw,64px);margin-top:40px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap}
.figures div{display:flex;flex-direction:column;gap:4px}
.figures strong{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-stretch:125%;font-weight:400;font-size:clamp(36px,4vw,56px);line-height:1;font-variant-numeric:tabular-nums}
@media (max-width:760px){.statement{grid-template-columns:1fr}}
.salas{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px)}
.sala{text-decoration:none;display:flex;flex-direction:column;gap:18px}
.sala .shot{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:linear-gradient(135deg,#d7d3cc,#b8b3aa)}
.sala .shot img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .8s}
.sala .shot img[data-wait]{opacity:0}
.sala .shot img{transform:translateY(var(--py,0px))}
.sala .shot .tag{position:absolute;left:18px;bottom:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.sala h3{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-stretch:125%;font-size:clamp(28px,3vw,42px);letter-spacing:.03em;font-weight:400}
.sala .meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:13.5px;color:var(--muted)}
.sala:hover h3{color:var(--bronze)}
@media (max-width:760px){.salas{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sala .shot img{transition:none}}
.hero-stage canvas{pointer-events:none}
.hero-over{position:absolute;z-index:2;inset:auto 0 0 0;padding-block:120px 40px;background:linear-gradient(to top,rgba(245,244,241,.96) 30%,rgba(245,244,241,0));color:#232322}
.hero-over .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.hero-over h1{font-size:clamp(54px,9vw,136px);line-height:.9;font-weight:300;letter-spacing:-.025em}
.hero-over h1 em{color:#79594B}
.hero-over p{font-family:var(--serif);font-size:clamp(18px,1.7vw,22px);max-width:32ch;margin:0 0 20px;line-height:1.4}
.hero-over .btn{background:#232322;color:#F5F4F1}
.hero-over .btn:hover{background:#79594B}
.hero-over .label{color:#67635D}

.museum{height:calc(100dvh - var(--hdr) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:420px}
.hud{position:absolute;pointer-events:none;inset:0;color:#232322}
.hud > *{pointer-events:auto}
.room-tag{position:absolute;top:18px;left:max(18px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.88);padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.room-tag strong{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.1}
.room-tag span{font-size:12px;color:#67635D;font-variant-numeric:tabular-nums}
.hud-tools{position:absolute;top:18px;right:max(18px,env(safe-area-inset-right,0px));display:flex;gap:8px}
.chip{background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.08);color:#232322;padding:9px 14px;font-size:13px;text-decoration:none;cursor:pointer}
.chip:hover{background:#fff}
.nav-rooms{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.nav-rooms .chip{min-width:44px;text-align:center}
.hint{position:absolute;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:rgba(35,35,34,.82);color:#F5F4F1;font-size:12.5px;padding:8px 14px;white-space:nowrap;transition:opacity .6s}
.hint.gone{opacity:0;pointer-events:none}
@media (max-width:600px){.hint{white-space:normal;width:calc(100% - 40px);text-align:center}.room-tag strong{font-size:18px}}
.stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 75% 70% at 50% 46%,rgba(0,0,0,0) 55%,rgba(24,22,19,.32) 100%)}
.grain{display:none;position:absolute;inset:-60px;pointer-events:none;z-index:1;opacity:.09;mix-blend-mode:multiply;background-size:180px 180px;animation:grain .9s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-22px,14px)}40%{transform:translate(18px,-26px)}60%{transform:translate(-30px,-8px)}80%{transform:translate(26px,22px)}100%{transform:translate(0,0)}}
.hud{z-index:2}.panel{z-index:3}
.stage.loading::before{content:attr(data-loading);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;background:#E9E7E3;color:#67635D;font-family:var(--serif);font-size:22px;font-style:italic}
.caption-card{position:absolute;left:max(18px,env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.92);color:#232322;padding:16px 18px;display:flex;flex-direction:column;gap:2px;max-width:300px;z-index:2}
.caption-card strong{font-weight:500;font-size:14px;margin-top:4px}
.caption-card em{font-family:var(--serif);font-size:19px}
.caption-card span:not(.inv){font-size:12.5px;color:#67635D}
.caption-card .chip{margin-top:10px;align-self:flex-start;border-color:#232322}
@media (max-width:700px){.caption-card{bottom:calc(70px + env(safe-area-inset-bottom,0px));right:max(18px,env(safe-area-inset-right,0px));max-width:none}.hud-tools{flex-direction:column;align-items:flex-end}}
@media (prefers-reduced-motion:reduce){.grain{animation:none}}
.fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:24px;color:#232322}

.panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:#1f160b;color:var(--ink);overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.12);transform:translateX(102%);transition:transform .45s cubic-bezier(.2,.7,.2,1);padding:24px max(28px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) 28px;display:flex;flex-direction:column;gap:20px}
.panel.open{transform:none}
@media (max-width:700px){.panel{top:auto;width:100%;max-height:82%;transform:translateY(102%);padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}}
.panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.panel-top button{background:none;border:1px solid var(--line);padding:7px 12px;font-size:13px;cursor:pointer}
.panel img{width:100%;height:auto;display:block;background:var(--concrete);cursor:zoom-in}
.panel h2{font-size:clamp(28px,3vw,36px);font-style:italic;font-weight:300;line-height:1.1}
.panel .artist{font-size:14.5px;font-weight:500;text-decoration:none}
.panel .artist:hover{color:var(--bronze)}
dl.cat{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;margin:0;font-size:14px;border-top:1px solid var(--line);padding-top:16px}
dl.cat dt{color:var(--muted)}
dl.cat dd{margin:0;font-variant-numeric:tabular-nums}
.panel h3{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:6px}
.panel p{font-family:var(--serif);font-size:17px;line-height:1.6;margin:0}
.todo{color:var(--muted);font-style:italic}
.pn{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.pn button{background:none;border:0;cursor:pointer;font-size:13.5px;padding:4px 0}
.pn button:hover{color:var(--bronze)}

/* ---------- pagine editoriali ---------- */
.art{position:relative;display:block;max-width:100%;background:var(--paper)}
.art img{display:block;width:100%;height:auto}
.ph{position:absolute;left:10px;top:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:rgba(26,17,8,.8);color:var(--muted);padding:3px 7px;border:1px solid var(--line)}
.work-cap{margin-top:12px;display:flex;flex-direction:column;gap:1px}
.work-cap .a{font-size:13.5px;font-weight:500}
.work-cap .t{font-family:var(--serif);font-style:italic;font-size:17px}
.work-cap .y{font-size:13px;color:var(--muted)}
a:hover .work-cap .t{color:var(--bronze)}
.intro{display:grid;grid-template-columns:3fr 9fr;gap:32px}
.intro p.big{font-family:var(--serif);font-size:clamp(22px,2.6vw,34px);line-height:1.35;margin:0;max-width:34ch;font-weight:300}
@media (max-width:760px){.intro{grid-template-columns:1fr;gap:16px}}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(32px,4vw,52px);font-weight:300}
.rooms-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.rooms-preview a{text-decoration:none;display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--white);border:1px solid var(--line)}
.rooms-preview a:hover{border-color:var(--ink)}
.rooms-preview .num{font-family:var(--serif);font-size:56px;line-height:1;font-weight:300;color:var(--bronze)}
.rooms-preview .thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;align-items:end}
.rooms-preview .thumbs img{width:100%;height:auto;display:block}
@media (max-width:860px){.rooms-preview{grid-template-columns:1fr}}
.family-teaser{display:grid;grid-template-columns:6fr 6fr;gap:clamp(28px,5vw,72px);align-items:center}
.fam-photo{margin:0;display:flex;flex-direction:column;gap:12px}
.fam-photo img{display:block;width:100%;max-width:100%;height:auto;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.family-teaser .fam-photo{max-width:320px;width:100%;justify-self:end}
.fam-photo.wide{max-width:620px}
.family-teaser{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)!important}
@media (max-width:760px){.family-teaser{grid-template-columns:1fr!important}.family-teaser .fam-photo{justify-self:start;max-width:260px}}
.fam-photo figcaption{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.archive-photo{aspect-ratio:4/5;max-width:100%;background:repeating-linear-gradient(135deg,var(--line) 0 1px,transparent 1px 9px),var(--paper);border:1px solid var(--line);display:flex;align-items:flex-end;padding:18px}
.archive-photo span{font-size:12px;color:var(--muted);background:var(--paper);padding:4px 8px;border:1px solid var(--line)}
blockquote{margin:0;font-family:var(--serif);font-size:clamp(24px,2.8vw,36px);line-height:1.3;font-weight:300;font-style:italic}
blockquote footer{font-family:var(--sans);font-style:normal;font-size:13px;color:var(--muted);margin-top:16px}
@media (max-width:760px){.family-teaser{grid-template-columns:1fr}}
.artist-index{columns:2;column-gap:48px}
.artist-index a{display:flex;justify-content:space-between;gap:16px;break-inside:avoid;text-decoration:none;padding-block:16px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(20px,2vw,26px)}
.artist-index a span{font-family:var(--sans);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.artist-index a:hover{color:var(--bronze)}
@media (max-width:640px){.artist-index{columns:1}}
.page-head{padding-block:clamp(40px,6vw,80px) 32px}
.page-head h1{font-size:clamp(44px,6.5vw,88px);font-weight:300;letter-spacing:-.015em}
.page-head p{max-width:56ch;color:var(--muted);margin:16px 0 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px;padding-block:32px 96px;align-items:end}
.grid a{text-decoration:none;display:block}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr);gap:40px 24px}}
@media (max-width:480px){.grid{grid-template-columns:1fr}}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:end}
.related a{text-decoration:none}
@media (max-width:640px){.related{grid-template-columns:1fr 1fr}}
.fam-open{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,72px);align-items:end;padding-block:clamp(40px,6vw,80px)}
.fam-open h1{font-size:clamp(44px,6.5vw,92px);font-weight:300;line-height:.98}
.fam-open h1 em{color:var(--bronze)}
@media (max-width:860px){.fam-open{grid-template-columns:1fr}}
.chapter{display:grid;grid-template-columns:3fr 9fr;gap:32px;padding-block:44px;border-top:1px solid var(--line)}
.chapter h2{font-size:clamp(24px,2.4vw,32px)}
.chapter p{font-family:var(--serif);font-size:19px;line-height:1.65;max-width:60ch;margin:0}
@media (max-width:760px){.chapter{grid-template-columns:1fr;gap:12px}}
.timeline{list-style:none;margin:0 0 0 6px;padding:0;border-left:1px solid var(--bronze)}
.timeline li{position:relative;padding:0 0 40px 32px}
.timeline li::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;background:var(--concrete);border:1px solid var(--bronze);border-radius:50%}
.timeline .yr{font-family:var(--serif);font-size:26px;color:var(--bronze);font-variant-numeric:tabular-nums}
.timeline p{margin:4px 0 0;max-width:56ch}
.artist-head{display:grid;grid-template-columns:8fr 4fr;gap:40px;align-items:end;padding-block:clamp(40px,6vw,80px) 40px;border-bottom:1px solid var(--line)}
.artist-head h1{font-size:clamp(44px,6.5vw,88px);font-weight:300}
@media (max-width:760px){.artist-head{grid-template-columns:1fr}}
.story p{font-family:var(--serif);font-size:19px;line-height:1.65;max-width:62ch;margin:0}
.contact{display:grid;grid-template-columns:6fr 6fr;gap:40px;align-items:end}
.contact .mail{font-family:var(--serif);font-size:clamp(30px,4.6vw,60px);font-weight:300;word-break:break-word;user-select:all}
.copy{background:none;border:1px solid var(--ink);padding:10px 18px;font-size:13px;letter-spacing:.06em;cursor:pointer;margin-top:20px}
.copy:hover{background:#f6f1e8;color:#22170b}
@media (max-width:760px){.contact{grid-template-columns:1fr}}
main section.canvasbg{background:transparent;color:#f3eee5}
.canvasbg .label{color:#dccfb9}
.canvasbg .figures{border-color:rgba(255,255,255,.22)}
.canvasbg blockquote footer,.canvasbg p[style]{color:#ddd4c6!important}
.canvasbg .cta{color:#f3eee5;border-color:#f3eee5}.canvasbg .cta:hover{color:#7ccfd1;border-color:#7ccfd1}
.canvasbg .archive-photo{background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 1px,transparent 1px 9px),rgba(0,0,0,.25);border-color:rgba(255,255,255,.2)}
.canvasbg .archive-photo span{background:rgba(0,0,0,.4);color:#ddd4c6;border-color:rgba(255,255,255,.2)}
main section.contact-band{background:rgba(16,10,4,.18);color:#efece6;padding-block:clamp(80px,11vw,150px)}
.contact-band .label{color:#9c968c}
.c-title{font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(22px,2.4vw,34px);line-height:1.18;max-width:22ch;margin-top:16px}
.contact-band .mail{font-family:var(--sans);font-weight:400;font-size:clamp(30px,4.2vw,60px);letter-spacing:-.01em;line-height:1.1;display:inline-block;padding-bottom:8px;border-bottom:1px solid rgba(239,236,230,.35)}
.contact{align-items:start!important}
.c-left{display:flex;flex-direction:column;gap:28px;min-width:0}
.contact-band a.mail{color:#efece6;text-decoration:none;align-self:flex-start;word-break:break-word;transition:color .3s,border-color .3s}
.contact-band a.mail:hover{color:#86d3d4;border-color:#86d3d4}
.c-addr{font-style:normal;display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.6;color:#e3d8c6}
.c-addr .label{margin-bottom:6px}
.c-form{display:grid;gap:18px;min-width:0}
.c-row{display:flex;flex-direction:column;gap:8px}
.c-row label{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#cfc4b2}
.c-row input,.c-row select,.c-row textarea{font:inherit;font-size:15px;color:#f6f1e8;background:rgba(10,6,2,.42);border:0;border-bottom:1px solid rgba(239,236,230,.35);padding:12px 2px;border-radius:0;outline:none;width:100%;min-width:0}
.c-row select option{color:#22170b}
.c-row input:focus,.c-row select:focus,.c-row textarea:focus{border-bottom-color:#86d3d4;background:rgba(10,6,2,.5)}
.c-row textarea{resize:vertical;min-height:110px}
.c-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px}
.c-note{font-size:13px;color:#e3d8c6}
.contact-band .copy{border-color:rgba(239,236,230,.6);color:#efece6;text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;font-weight:500;padding:12px 20px;margin-top:28px}
.contact-band .copy:hover{background:#efece6;color:#161514}
footer.site{border-top:1px solid var(--line);padding-block:40px calc(40px + env(safe-area-inset-bottom,0px))}
footer.site .wrap{text-transform:uppercase;letter-spacing:.14em;font-size:11.5px!important}
footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
footer.site a{text-decoration:none}
body.immersive footer.site{display:none}
.view{animation:rise .6s ease-out both}
@keyframes rise{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}.panel{transition:none}}
.lightbox{position:fixed;inset:0;z-index:50;background:#141311;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 56px) max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) max(16px,env(safe-area-inset-left,0px));overflow:hidden;cursor:zoom-in}
.lightbox img{max-width:100%;max-height:100%;transition:transform .35s ease}
.lightbox.zoomed img{transform:scale(2.4)}
.lightbox .close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:max(16px,env(safe-area-inset-right,0px));background:none;border:1px solid #555;color:#eee;padding:6px 14px;cursor:pointer;font-size:13px}
