@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--red:#b41624;--text:#292626;--muted:#77716f;--line:#ebe5e1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.header{height:102px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,7vw,110px);max-width:1600px;margin:auto}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:10px;letter-spacing:.14em;line-height:1.6}.brand strong{font-size:12px;letter-spacing:.07em}.brand-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:3px solid var(--red);border-radius:50%;color:var(--red);font-weight:700;font-size:29px;letter-spacing:-5px;padding-right:6px}.brand-mark span{font-size:9px;letter-spacing:-1px;align-self:flex-end;margin-bottom:12px}.back{color:var(--red);text-decoration:none;font-weight:700;font-size:12px}.red-rule{height:4px;background:var(--red)}.hero{background:#f8f6f3;padding:83px clamp(24px,7vw,110px) 77px;position:relative;overflow:hidden}.hero:after{content:'C';position:absolute;right:5%;top:-98px;font-family:Georgia,serif;font-size:520px;line-height:1;color:#eee9e3;pointer-events:none}.hero>*{position:relative;z-index:1}.eyebrow,.section-label{color:var(--red);font-size:11px;letter-spacing:.18em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{height:2px;width:28px;background:var(--red)}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(46px,5.4vw,80px);line-height:1.14;font-weight:500;letter-spacing:-.035em;margin:27px 0 20px}.hero em{font-weight:500;color:var(--red)}.hero p{color:var(--muted);font-size:17px}.layout{max-width:1600px;margin:auto;padding:96px clamp(24px,7vw,110px) 115px;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(370px,.83fr);gap:clamp(35px,6vw,90px)}.event{min-width:0}.event-icon{display:grid;place-items:center;width:65px;height:65px;margin-top:37px;background:#f9ecee;color:var(--red);font-size:29px}.event-state{color:var(--red);font-size:10px;letter-spacing:.16em;font-weight:700;margin:21px 0 0}.event h1{font:600 clamp(38px,4vw,56px)/1.2 'Playfair Display',Georgia,serif;margin:12px 0 5px}.event-subtitle{font:italic 23px Georgia,serif;color:#a71b28;margin:8px 0}.event-date{color:#46413f;font-weight:700;font-size:12px;letter-spacing:.1em;margin-top:26px}.event hr{border:0;border-top:1px solid var(--line);margin:34px 0}.intro{line-height:1.9;color:#5f5956;font-size:16px}.event h2{font:600 27px Georgia,serif;margin:35px 0 17px}.schedule>div{display:flex;gap:19px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.65}.schedule b{font-size:12px;color:var(--red);flex:none}.schedule strong{font-weight:700}.price-box{display:flex;gap:17px;padding:25px;background:#faf3f3;margin-top:34px}.euro{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--red);color:white;font-size:24px}.price-box strong{color:#a61925}.price-box p{margin:8px 0 0;color:#77716b;line-height:1.7;font-size:13px}.form-card{align-self:start;border:1px solid #eee7e2;box-shadow:0 20px 70px rgba(50,24,22,.09)}.form-head{background:var(--red);color:white;padding:44px 42px 38px}.form-head>span{font-size:11px;color:#f7cfd3;letter-spacing:.16em;font-weight:700}.form-head h2{font:500 49px/1.09 'Playfair Display',Georgia,serif;margin:20px 0}.form-head p{color:#f7dfe1;font-size:14px;line-height:1.75}.form{padding:37px 40px 39px;display:flex;flex-direction:column;gap:23px}.form label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:700;color:#49413e}.form label b{color:var(--red)}.form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #e4dedb;border-radius:2px;padding:14px;font:400 14px 'DM Sans',Arial,sans-serif;outline:none;color:#282626}.form input:not([type=checkbox]):focus{border-color:var(--red);box-shadow:0 0 0 2px #f8e4e6}.form input::placeholder{color:#b4aeab}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form small{font-size:10px;font-weight:400;color:#8a817d;line-height:1.55}.form .privacy{display:flex;flex-direction:row;align-items:flex-start;font-size:12px;line-height:1.65;font-weight:400;color:#746e6b;gap:11px}.privacy input{margin-top:4px;accent-color:var(--red)}.privacy a{color:var(--red)}.submit{border:0;background:var(--red);color:white;min-height:56px;padding:18px 21px;font-weight:700;letter-spacing:.1em;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.submit:hover{background:#90131c}.required{text-align:center;color:#9a918d;font-size:11px;margin:0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.message{margin:28px 38px 0;padding:20px;font-size:14px;line-height:1.6}.message p{margin:5px 0}.message.success{background:#edf7ef;color:#28763c}.message.error{background:#fff0f0;color:#9d1725}.message a{color:inherit}footer{display:flex;justify-content:space-between;gap:20px;background:#282322;padding:33px clamp(24px,7vw,110px);font-size:11px;color:#c4bbb6}footer a{color:white;text-decoration:none}.privacy-page{max-width:850px;margin:70px auto 110px;padding:0 24px;line-height:1.8}.privacy-page h1{font:500 45px Georgia,serif}.privacy-page h2{font-size:19px;margin-top:32px}.privacy-page .warning{padding:18px;background:#fff1df;color:#774318;border-left:4px solid #d49b47}@media(max-width:900px){.layout{grid-template-columns:1fr;gap:56px;padding-top:65px}.form-card{max-width:650px;width:100%}.hero:after{right:-15%}}@media(max-width:550px){.header{height:83px}.brand-mark{width:43px;height:43px;font-size:24px}.brand{font-size:8px;gap:9px}.brand strong{font-size:9px}.back{font-size:10px}.hero{padding-top:65px;padding-bottom:65px}.hero h1{font-size:44px}.two{grid-template-columns:1fr}.form-head{padding:33px}.form-head h2{font-size:43px}.form{padding:30px 25px}.layout{padding-bottom:70px}footer{flex-direction:column}}
/* Etichette e asterischi obbligatori sulla stessa riga. */
.form label:not(.privacy){display:block}
.form label:not(.privacy) b{display:inline;color:var(--red);margin-left:3px}
.form label:not(.privacy) input{display:block;margin-top:9px}
.form label:not(.privacy) small{display:block;margin-top:8px}
