.visit-invite{width:min(calc(100% - 2rem),75rem);margin:2rem auto;display:grid;grid-template-columns:8rem 1fr;gap:2rem;align-items:center;background:#f3eee5;border:1px solid #ded5c7;border-left:5px solid #a32f5c;border-radius:1.2rem;padding:1.8rem 2rem}
.visit-date{text-align:center;display:grid;line-height:1.2;gap:.35rem;color:#a32f5c}.visit-date span{font-size:.8rem;letter-spacing:.15em;font-weight:700}.visit-date strong{font-family:Georgia,serif;font-size:4.8rem;font-weight:400}.visit-invite h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.1rem 0 .5rem}.visit-invite p{margin:0 0 .8rem;max-width:50rem}.visit-link{display:inline-block;font-weight:750;text-underline-offset:.3em;color:#813249}.visit-page{max-width:75rem;margin:auto;padding:2rem 1.5rem 4rem}.visit-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;margin:2rem 0 3rem}.visit-hero h1{font-family:Georgia,serif;font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:1.12;margin:.6rem 0 1.4rem}.visit-hero img{width:100%;height:26rem;object-fit:cover;border-radius:1.4rem}.visit-lead{font-size:1.2rem;max-width:32rem}.visit-note{background:#eef6f0;border-radius:1.2rem;padding:2rem clamp(1.2rem,4vw,3.5rem);max-width:58rem;margin:0 auto 3rem}.visit-note h2,.visit-program h2,.visit-future h2{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;margin:.5rem 0 1rem}.visit-note p{max-width:46rem}.visit-signature{font-family:Georgia,serif;font-style:italic;font-size:1.4rem}.visit-program{max-width:58rem;margin:0 auto 3rem}.visit-pending{color:#813249}.visit-program-card{display:flex;gap:1.5rem;padding:1.5rem 0;border-block:1px solid var(--line)}.visit-program-card>span{font-family:Georgia,serif;font-size:2rem;color:#813249}.visit-program-card h3{margin:0;font-size:1.3rem}.visit-program-card p{margin:.5rem 0}.visit-future{max-width:58rem;margin:0 auto 3rem;padding:2rem;background:#f3eee5;border-radius:1.2rem}@media(max-width:48rem){.visit-invite{grid-template-columns:4rem 1fr;gap:1rem;padding:1.3rem 1rem}.visit-date strong{font-size:3.4rem}.visit-date span{font-size:.6rem}.visit-hero{grid-template-columns:1fr;gap:1.5rem}.visit-hero img{height:17rem}.visit-page{padding:1.5rem 1rem 3rem}.visit-invite .eyebrow{font-size:.7rem}}
/* Invito essenziale con programma direttamente in home. */
.visit-invite{grid-template-columns:5.5rem minmax(0,1fr);gap:1.5rem;align-items:start;background:transparent;border:0;border-block:1px solid var(--line);border-radius:0;margin:1.5rem auto;padding:1.25rem 0}
.visit-date{color:var(--ink);gap:.2rem;padding-top:.15rem}
.visit-date strong{font-size:2.4rem}
.visit-date span{font-size:.85rem;letter-spacing:0;font-weight:400}
.visit-invite h2{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35;margin:0 0 .6rem}
.visit-invite p{font-size:1rem;line-height:1.5;margin:0;max-width:none}
.visit-program-placeholder{color:var(--ink-soft)}
@media(max-width:48rem){.visit-invite{grid-template-columns:4rem minmax(0,1fr);gap:1rem;padding:1rem 0}.visit-date strong{font-size:2.1rem}.visit-date span{font-size:.75rem}}
.visit-invite{align-items:center;padding:.8rem 0}.visit-invite h2{margin:0}.visit-invite h2 a{text-decoration:underline;text-underline-offset:.25em}.visit-invite h2 a:hover{color:var(--rose-dark)}
/* Richiamo alla visita integrato nella fotografia iniziale. */
.hero{position:relative}
.hero-visit{position:absolute;right:clamp(1rem,3vw,3rem);bottom:1.25rem;z-index:2;display:flex;gap:1rem;align-items:center;padding:.8rem 1.1rem;background:rgba(255,253,249,.94);color:var(--ink);border-radius:1rem;text-decoration:none;box-shadow:0 3px 16px rgba(0,0,0,.12);max-width:calc(100% - 2rem)}
.hero-visit-date{display:grid;justify-items:center;gap:.25rem;flex-shrink:0}
.hero-visit-date time{display:grid;place-items:center;width:3.6rem;height:3.6rem;border:1.5px solid var(--ink);border-radius:50%;font-family:Georgia,serif;font-size:1.45rem}
.hero-visit-date>span{font-size:.65rem;font-weight:600}
.hero-visit-title{font-size:1rem;line-height:1.4;font-weight:600}
.hero-visit:hover{background:var(--paper);box-shadow:0 4px 20px rgba(0,0,0,.2)}
@media(max-width:48rem){.hero{padding-bottom:8rem}.hero-visit{bottom:1rem;right:1rem;gap:.75rem;padding:.6rem .8rem}.hero-visit-title{font-size:.9rem}}
.hero-visit-date time{width:4.4rem;height:4.4rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;line-height:1.1}.hero-visit-date time strong{font-size:1.65rem;font-weight:400}.hero-visit-date time small{font-family:inherit;font-size:.72rem}