/* Pagina Contatti — v14. Isolata dal foglio CSS del sito. */
html { scroll-behavior:smooth; }
body { margin:0; background:#f5f3ee; color:#1c292a; }
.contact-page, .contact-page * { box-sizing:border-box; }
.contact-page { overflow-x:clip; background:#f5f3ee; }
.contact-page h1, .contact-page h2, .contact-page h3, .contact-page p, .contact-page figure { margin:0; }
.contact-page .eyebrow { display:block; color:#777b73; font:500 11px/1.6 Arial,Helvetica,sans-serif; letter-spacing:.21em; text-transform:uppercase; }
.contact-page .serif { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.047em; font-weight:400; }
.contact-page .contact-hero { display:grid; grid-template-columns:minmax(0, 55%) minmax(0, 45%); border-bottom:1px solid #d8d6ce; }
.contact-page .hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(65px,8.4vw,152px) clamp(28px,5.1vw,90px); min-width:0; }
.contact-page .hero-copy h1 { font-size:clamp(64px,7.2vw,124px);line-height:.97;max-width:800px;margin:27px 0 35px;color:#19282a; }
.contact-page .hero-copy .intro { max-width:620px; font:400 clamp(19px,1.45vw,25px)/1.66 Georgia,serif; color:#5a625e; }
.contact-page .hero-copy .crosslink { margin-top:38px;display:inline-flex;align-self:flex-start;gap:18px;align-items:center;text-decoration:none;color:#25373b;border-bottom:1px solid #283d3e;padding-bottom:8px;font:500 11px/1.3 Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase; }
.contact-page .hero-copy .crosslink:hover { color:#6c675b; }
.contact-page .contact-panel { padding:clamp(45px,5.1vw,90px) clamp(30px,5vw,86px); display:flex;flex-direction:column; justify-content:center; background:#122126;color:#f5efe6;min-height:560px;min-width:0; }
.contact-page .contact-panel .eyebrow { color:#bec5bf; }
.contact-page .contact-panel h2 { font-size:clamp(48px,4.6vw,82px);line-height:1.06;margin:20px 0 28px; }
.contact-page .contact-panel .panel-description { max-width:470px;color:#d0d2cd;font:400 clamp(15px,1vw,18px)/1.75 Arial,sans-serif; }
.contact-page .email-reveal { margin-top:36px; padding-top:32px;border-top:1px solid rgba(244,238,228,.24); }
.contact-page .reveal-button { display:inline-flex;align-items:center;gap:28px;justify-content:space-between;min-height:50px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #d3d1c7; color:#f5efe6;cursor:pointer;text-transform:uppercase;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.12em;text-align:left; }
.contact-page .reveal-button span { font-size:22px; font-weight:400; }
.contact-page .reveal-button:hover { color:#fff;border-color:#fff; }
.contact-page .revealed {margin-top:21px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:100%;}
.contact-page .email-address { color:#f5efe6;font:400 clamp(17px,1.42vw,24px)/1.5 Georgia,serif;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:6px;}
.contact-page .email-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;}
.contact-page .copy-button{cursor:pointer;background:transparent;color:#e1e4db;border:1px solid rgba(236,233,223,.45);padding:10px 14px;font:500 11px/1.2 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;}
.contact-page .copy-button:hover {border-color:#fff;color:#fff;}
.contact-page .copy-feedback{color:#d6d8d1;font:400 12px/1.5 Arial,sans-serif;}
.contact-page button:focus-visible, .contact-page a:focus-visible { outline:2px solid #bea98a;outline-offset:5px;}
.contact-page .security-note { margin-top:26px; max-width:480px; font:400 12px/1.65 Arial,sans-serif;color:#afbab3; }
.contact-page .detail-section { max-width:1760px;margin:0 auto;padding:clamp(55px,6vw,100px) clamp(28px,5vw,90px) clamp(60px,7vw,110px);display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);gap:clamp(40px,5vw,100px); }
.contact-page .section-title {font-size:clamp(36px,3.2vw,58px);line-height:1.14;margin:18px 0 22px;color:#18282b;max-width:460px;}
.contact-page .section-description { font:400 clamp(15px,1vw,18px)/1.78 Arial,sans-serif;color:#5b625f;max-width:460px; }
.contact-page .detail-list { list-style:none;margin:0;padding:0;counter-reset:contact-detail; }
.contact-page .detail-list li { counter-increment:contact-detail;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:start;border-top:1px solid rgba(33,45,46,.22);padding:22px 0;gap:16px; }
.contact-page .detail-list li::before { content:'0' counter(contact-detail);font:400 12px/1.9 Arial,sans-serif;letter-spacing:.1em;color:#878b83; }
.contact-page .detail-list strong { display:block;font:400 clamp(21px,1.7vw,29px)/1.3 Georgia,serif;color:#1d2c30;margin-bottom:6px; }
.contact-page .detail-list span {font:400 14px/1.7 Arial,sans-serif;color:#66706a;}
.contact-page .gallery-strip { border-top:1px solid #d8d6ce; padding:clamp(38px,4.7vw,76px) clamp(28px,5vw,90px);display:flex;justify-content:space-between;align-items:center;gap:35px; background:#ebe8df; }
.contact-page .gallery-strip > div {max-width:700px;}
.contact-page .gallery-strip h2 {font-size:clamp(30px,2.4vw,45px);line-height:1.2;margin:12px 0 14px;}
.contact-page .gallery-strip p {font:400 15px/1.7 Arial,sans-serif;color:#58615b;max-width:620px;}
.contact-page .gallery-strip a { flex:0 0 auto;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #243537;text-decoration:none;color:#243537;padding-bottom:9px;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase; }
.contact-page .gallery-strip a:hover{color:#777064;}
@media(max-width:960px){.contact-page .contact-hero{grid-template-columns:1fr}.contact-page .hero-copy{padding-top:75px;padding-bottom:76px}.contact-page .contact-panel{min-height:380px}.contact-page .detail-section{grid-template-columns:1fr;gap:30px}}
@media(max-width:650px){.contact-page .hero-copy h1{font-size:clamp(55px,14vw,85px)}.contact-page .contact-panel{padding:45px 28px 58px}.contact-page .gallery-strip{flex-direction:column;align-items:flex-start}.contact-page .detail-section{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V15 — contatti social in continuità con la pagina museale, senza form né widget esterni. */
.contact-page .contact-socials { margin-top: clamp(26px, 3vw, 42px); padding-top: 22px; border-top: 1px solid rgba(244,238,228,.24); }
.contact-page .social-heading { color:#c9cfc8; font:500 11px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.14em; text-transform:uppercase; margin:0 0 18px; }
.contact-page .contact-social-links { display:flex; flex-wrap:wrap; gap:12px 30px; }
.contact-page .contact-social-links a { display:inline-flex; align-items:center; gap:14px; padding:10px 0 8px; border-bottom:1px solid rgba(245,239,230,.65); color:#f5efe6; font:500 13px/1.45 Arial,Helvetica,sans-serif; text-decoration:none; }
.contact-page .contact-social-links a:hover {color:#fff;border-color:#fff;}
.contact-page .contact-social-links span {font-size:17px;}
