/* Tre concept con linguaggi visivi diversi. Le anteprime mostrano già la home. */
.site-preview-grid { gap: clamp(18px, 2.4vw, 34px); align-items: start; }
.site-preview:nth-child(2) { margin-top: clamp(22px, 3.5vw, 52px); }
.site-preview:nth-child(3) { margin-top: clamp(8px, 1.5vw, 24px); }
.preview-window { border: 1px solid #b5b0a6; box-shadow: 0 18px 35px rgba(41,34,25,.12); overflow: hidden; }
.preview-browser { background: #efede7; border-bottom-color: #d5d0c8; color: #817d74; }
.preview-dots { color: #a7a197; }
.premium-mini { height: clamp(340px, 34vw, 430px); overflow: hidden; position: relative; }
.premium-mini * { box-sizing: border-box; }
.mini-forma { display: grid; grid-template-columns: 25px 1fr; grid-template-rows: 58px 1fr; background: #111510; color: #eeeae0; }
.mini-forma-rail { grid-row: 1/3; display: flex; align-items: center; justify-content: space-between; flex-direction: column; padding: 12px 0; border-right: 1px solid #5c5d52; color: #bfbba8; font: 6px 'Space Mono', monospace; writing-mode: vertical-rl; }
.mini-forma header { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 14px 12px; border-bottom: 1px solid #5c5d52; }
.mini-forma header b { font: 900 17px 'Archivo Black', sans-serif; letter-spacing: -.08em; line-height: .8; }
.mini-forma header b small { display: block; font: 600 6px 'Archivo', sans-serif; letter-spacing: .5em; margin-top: 5px; }
.mini-forma header span { font: 6px 'Space Mono', monospace; text-align: right; }
.mini-forma-body { display: grid; grid-template-columns: 54% 46%; min-height: 0; }
.mini-forma-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 14px 0 18px 13px; position: relative; z-index: 1; }
.mini-forma-copy small { font: 7px 'Space Mono', monospace; color: #c8b88a; letter-spacing: .04em; margin-bottom: 18px; }
.mini-forma-copy strong { font: 900 clamp(25px, 2.6vw, 39px)/.9 'Archivo Black', sans-serif; letter-spacing: -.065em; white-space: nowrap; }
.mini-forma-copy strong em { color: #c6aa77; font-style: normal; }
.mini-forma-copy span { margin-top: 24px; border-bottom: 1px solid #c6aa77; padding-bottom: 4px; font: 7px 'Space Mono', monospace; white-space: nowrap; }
.mini-forma-photo { background: url('../img/forma-club-preview.webp') 52% center/cover; filter: saturate(.65) contrast(1.07); }
.mini-lume { background: #eee9dd; color: #2e3930; display: flex; flex-direction: column; padding: 0 16px; }
.mini-lume header { display: flex; align-items: center; justify-content: space-between; min-height: 59px; border-bottom: 1px solid #a8b0a3; }
.mini-lume header b { font: 500 24px/.8 'Cormorant Garamond', Georgia, serif; letter-spacing: .14em; }
.mini-lume header b small { display: block; font: 600 6px 'Archivo', sans-serif; letter-spacing: .45em; margin-top: 6px; }
.mini-lume header span { font: 6px 'Space Mono', monospace; }
.mini-lume-copy { padding: 27px 2px 20px; }
.mini-lume-copy small { font: 7px 'Space Mono', monospace; letter-spacing: .12em; color: #758074; }
.mini-lume-copy strong { display: block; margin-top: 12px; font: 500 clamp(31px, 3.2vw, 48px)/.95 'Cormorant Garamond', Georgia, serif; letter-spacing: -.05em; }
.mini-lume-copy em { font-weight: 400; }
.mini-lume-photo { flex: 1; min-height: 120px; margin: 0 -16px; background: url('../img/lume-studio-hero.webp') 53% 55%/cover; }
.mini-lume-foot { display: flex; justify-content: space-between; gap: 4px; padding: 10px 0; font: 7px 'Space Mono', monospace; }
.mini-forno { display: flex; flex-direction: column; background: #b63e27; color: #fbf1df; }
.mini-forno header { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 9px 15px; background: #f3e6cf; color: #8e3022; }
.mini-forno header b { font: 900 21px/1 'Archivo Black', sans-serif; letter-spacing: -.08em; }
.mini-forno header span { font: 7px 'Space Mono', monospace; }
.mini-forno-copy { padding: 20px 17px 15px; }
.mini-forno-copy small { font: 7px 'Space Mono', monospace; letter-spacing: .12em; }
.mini-forno-copy strong { display: block; margin: 14px 0 10px; font: 900 clamp(29px, 3.4vw, 47px)/.94 'Archivo Black', sans-serif; letter-spacing: -.055em; }
.mini-forno-copy span { font: 7px 'Space Mono', monospace; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.mini-forno-photo { flex: 1; min-height: 90px; background: url('../img/forno-vivo-hero.webp') 50% 55%/cover; border-top: 4px solid #f3e6cf; }
.site-preview-caption { padding-top: 20px; }
.site-preview-caption .mono { color: #8e4d34; }
.site-preview-caption h3 { margin-top: 8px; }
.site-preview-caption p { min-height: 0; max-width: 32ch; }
.site-preview-caption a { color: #432d23; }
.site-preview-caption a:focus-visible, .site-preview-caption a:hover { color: #b63e27; }

/* Il form usa campi ampi, messaggi chiari e un'alternativa via calendario. */
.contact-layout { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(28px,5vw,72px); align-items: start; margin-top: 36px; }
.contact-aside { border-top: 1px solid currentColor; padding-top: 22px; }
.contact-aside h3 { font-family: 'Archivo Black',sans-serif; font-size: clamp(1.5rem,2.5vw,2.5rem); line-height: 1.05; margin: 0 0 16px; }
.contact-aside p { max-width: 38ch; }
.contact-aside a { display: inline-block; margin-top: 15px; text-underline-offset: 5px; }
.contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 20px; }
.contact-form label { display: flex; flex-direction: column; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.contact-form .wide, .contact-form .form-note, .contact-form button { grid-column: 1/-1; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; min-height: 48px; border: 1px solid #8f8a80; border-radius: 0; padding: 12px 14px; background: #faf8f1; color: #26231f; font: 16px 'Archivo',sans-serif; }
.contact-form textarea { min-height: 140px; resize: vertical; }
.contact-form :is(input,textarea,select):focus-visible { outline: 2px solid #b63e27; outline-offset: 2px; }
.contact-form .form-note { font-size: 12px; line-height: 1.5; margin: 0; }
.contact-form .form-note a { text-underline-offset: 3px; }
.contact-form button { cursor: pointer; width: fit-content; min-width: 195px; border: 0; padding: 16px 21px; background: #22201d; color: #fffaf1; font: 700 11px 'Space Mono',monospace; transition: background .2s ease, transform .2s ease; }
.contact-form button:hover { background: #b63e27; transform: translateY(-2px); }
.contact-form .trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 800px) {
  .site-preview:nth-child(2),.site-preview:nth-child(3) { margin-top: 0; }
  .premium-mini { height: clamp(350px, 105vw, 470px); }
  .mini-forma-copy strong { font-size: clamp(31px, 8vw, 48px); }
  .mini-lume-copy strong { font-size: clamp(37px, 10vw, 56px); }
  .mini-forno-copy strong { font-size: clamp(35px, 10vw, 58px); }
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .contact-form { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .contact-form button { transition: none; } .contact-form button:hover { transform: none; } }
