:root {
    --black: #000;
    --text: #111;
    --muted: #6e6e73;
    --line: #e5e5e7;
    --soft: #f5f5f7;
    --white: #fff;
    --radius: 28px;
    --shadow: 0 18px 60px rgba(0, 0, 0, .07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    background: var(--white);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-underline-offset: 3px; }

.background-phrases {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.background-phrases span {
    position: absolute;
    color: rgba(0,0,0,.14);
    font-family: "La Belle Aurore", cursive;
    font-size: clamp(1.35rem, 2.1vw, 2.35rem);
    white-space: nowrap;
    animation: breathe 12s ease-in-out infinite alternate;
}
.p1{top:3%;left:2%;transform:rotate(-2deg)}
.p2{top:11%;left:4%;transform:rotate(-4deg)}
.p3{top:24%;left:2%;transform:rotate(-3deg)}
.p4{top:39%;left:4%;transform:rotate(2deg)}
.p5{top:55%;left:2%;transform:rotate(-4deg)}
.p6{top:70%;left:3%;transform:rotate(3deg)}
.p7{top:84%;left:2%;transform:rotate(-3deg)}
.p8{top:4%;right:4%;transform:rotate(2deg)}
.p9{top:22%;right:3%;transform:rotate(-4deg)}
.p10{top:42%;right:4%;transform:rotate(3deg)}
.p11{top:62%;right:2%;transform:rotate(-2deg)}
.p12{top:82%;right:4%;transform:rotate(4deg)}
@keyframes breathe { from { opacity:.72; transform:translateY(0) } to { opacity:1; transform:translateY(-8px) } }

.page-shell {
    position: relative;
    z-index: 1;
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 70px 0 36px;
}

.hero {
    min-height: 76vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 70px 20px 90px;
}
.brand {
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 500;
    letter-spacing: .21em;
    margin-right: -.21em;
    line-height: .95;
}
.arrival {
    margin: 28px 0 62px;
    font-size: .78rem;
    letter-spacing: .55em;
    margin-right: -.55em;
    font-weight: 500;
}
.hero h1 {
    max-width: 900px;
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(3.2rem, 7.4vw, 6.6rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}
.hero-subtitle {
    margin: 42px 0 28px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.4rem, 2.3vw, 2rem);
}

.button {
    border: 0;
    border-radius: 999px;
    transition: transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
    min-width: 230px;
    padding: 18px 30px;
    background: var(--black);
    color: var(--white);
    font-size: .86rem;
    font-weight: 600;
    letter-spacing: .18em;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.form-card {
    width: min(980px, 100%);
    margin: 0 auto;
    padding: clamp(24px, 5vw, 54px);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: var(--radius);
    background: rgba(255,255,255,.94);
    box-shadow: var(--shadow);
    opacity: 0;
    transform: translateY(34px);
    visibility: hidden;
    transition: opacity .55s ease, transform .55s ease, visibility .55s;
}
.form-card.is-visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.field-grid { display: grid; gap: 22px; }
.field-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.field-grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 32px; }
label, fieldset { min-width: 0; }
label > span, legend {
    display: block;
    margin-bottom: 9px;
    font-size: .82rem;
    font-weight: 600;
}
small { color: var(--muted); font-weight: 400; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
    color: var(--text);
    outline: none;
    padding: 14px 15px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus {
    border-color: #9b9b9f;
    box-shadow: 0 0 0 4px rgba(0,0,0,.045);
}
textarea { resize: vertical; min-height: 118px; }
input[type=file] { padding: 10px; color: var(--muted); }

.language-fieldset {
    border: 0;
    padding: 0;
    margin: 34px 0 0;
}
.field-hint { margin: -5px 0 16px; color: var(--muted); font-size: .73rem; }
.language-pills { display: flex; flex-wrap: wrap; gap: 11px; }
.language-pill {
    padding: 12px 18px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--text);
    transition: all .2s ease;
}
.language-pill.is-active {
    background: var(--black);
    border-color: var(--black);
    color: var(--white);
}
.other-language-wrap { margin-top: 14px; max-width: 420px; }
.full-width { display: block; margin-top: 32px; }

.consent-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 24px;
}
.check-row {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    font-size: .82rem;
    line-height: 1.45;
}
.check-row input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #000; }
.check-row span { margin: 0; font-weight: 400; }

.button-submit {
    display: block;
    min-width: 330px;
    max-width: 100%;
    margin: 34px auto 0;
    padding: 17px 28px;
    background: var(--black);
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .16em;
}
.privacy-note { margin: 16px 0 0; color: var(--muted); text-align: center; font-size: .78rem; }

.error-box {
    margin-bottom: 28px;
    padding: 16px 18px;
    border-radius: 14px;
    background: var(--soft);
    color: #b42318;
}
.error-box p { margin: 5px 0; }
.honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.success-panel {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.success-panel h2 {
    margin: 14px 0 20px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(3rem, 7vw, 5.6rem);
    font-weight: 400;
}
.success-panel p { margin: 5px 0; font-size: 1.12rem; }
.success-panel .muted { color: var(--muted); }
.paper-plane { font-size: 2.4rem; transform: rotate(-12deg); }

footer {
    position: relative;
    z-index: 1;
    padding: 34px 20px 46px;
    text-align: center;
    color: #9b9b9f;
    font-size: .72rem;
    letter-spacing: .18em;
}

@media (max-width: 900px) {
    .field-grid.four { grid-template-columns: 1fr 1fr; }
    .field-grid.three { grid-template-columns: 1fr; }
    .consent-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .page-shell { width: min(100% - 20px, 1120px); padding-top: 20px; }
    .hero { min-height: 84vh; padding: 50px 8px 70px; }
    .brand { font-size: 2.65rem; }
    .arrival { margin: 20px 0 48px; font-size: .62rem; }
    .hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
    .field-grid.four { grid-template-columns: 1fr; }
    .form-card { border-radius: 22px; padding: 24px 18px; }
    .button-submit { min-width: 100%; }
    .background-phrases span { font-size: 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* Preview-only registration state */
.preview-banner {
    width: max-content;
    margin: 0 auto 32px;
    padding: 7px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--muted);
}
.preview-interactive { cursor: pointer; }
.preview-interactive input,
.preview-interactive textarea,
.preview-interactive button { cursor: pointer; }
.preview-interactive input[readonly],
.preview-interactive textarea[readonly] { user-select: none; }
.preview-modal[hidden] { display: none; }
.preview-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .22s ease;
}
.preview-modal.is-open { opacity: 1; }
.preview-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.76);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.preview-modal-card {
    position: relative;
    width: min(520px, 100%);
    padding: 52px 38px 40px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0,0,0,.14);
    text-align: center;
    transform: translateY(18px) scale(.98);
    transition: transform .22s ease;
}
.preview-modal.is-open .preview-modal-card { transform: translateY(0) scale(1); }
.preview-modal-card h2 {
    margin: 14px 0 12px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.6rem, 7vw, 4.2rem);
    font-weight: 400;
    line-height: 1;
}
.preview-modal-card p { color: var(--muted); line-height: 1.55; }
.modal-kicker { color: #111 !important; font-size: .7rem; font-weight: 600; letter-spacing: .35em; }
.modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: var(--soft);
    color: #111;
    font-size: 1.45rem;
}
.modal-button { margin-top: 18px; min-width: 150px; }
.modal-open { overflow: hidden; }

/* Email-only waitlist */
.email-card {
    width: min(680px, 100%);
    padding: clamp(30px, 6vw, 62px);
}
.email-intro { text-align: center; margin-bottom: 34px; }
.email-intro h2 {
    margin: 0 0 12px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    font-weight: 400;
    line-height: 1;
}
.email-intro p { margin: 0; color: var(--muted); font-size: 1rem; }
.email-form { max-width: 500px; margin: 0 auto; }
.email-field > span { font-size: .78rem; letter-spacing: .02em; }
.email-field input {
    padding: 18px 19px;
    border-radius: 16px;
    font-size: 1rem;
}
.email-consent { margin-top: 20px; }
.email-submit { min-width: 260px; }
.compact-success { min-height: 290px; }
.compact-success h2 { font-size: clamp(3.2rem, 8vw, 5.2rem); }
@media (max-width: 620px) {
    .email-card { padding: 34px 20px; }
    .email-submit { min-width: 100%; }
}

/* Pannello statistiche HIGUYS */
.admin-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.admin-header h1{margin:0 0 6px}.admin-header p{margin:0;color:#6e6e73}.admin-header nav{display:flex;gap:14px;flex-wrap:wrap}.admin-header a{text-decoration:none;padding:10px 14px;border:1px solid #e5e5e7;border-radius:999px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.stats-grid article{padding:24px;border:1px solid #e5e5e7;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.045)}.stats-grid strong{display:block;font-size:2rem}.stats-grid span{color:#6e6e73}
.admin-table-wrap{overflow:auto;border:1px solid #e5e5e7;border-radius:20px}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:15px 18px;text-align:left;border-bottom:1px solid #ededf0}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6e6e73}
@media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-header{flex-direction:column}}
