:root{--ink:#11110f;--sage:#9ca88d;--sage-dark:#68735d;--rose:#d9b7b6;--cream:#f7f6f1;--paper:#fff;--gold:#7b5300;--gold-light:#ba9a58;--muted:#6f7069;--ok:#60775f;--danger:#8e3538}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;background:var(--cream)}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Lato",Arial,sans-serif;background:radial-gradient(circle at 8% 3%,#fff 0,transparent 30%),linear-gradient(150deg,#fff 0%,#f5f5f0 52%,#edf0e9 100%)}
body:before,body:after{content:"";position:fixed;pointer-events:none;opacity:.45}body:before{width:260px;height:420px;left:-120px;top:18%;border:1px solid rgba(156,168,141,.45);border-radius:100% 0 100% 0;transform:rotate(24deg)}body:after{width:420px;height:240px;right:-240px;bottom:-65px;border:1px solid rgba(123,83,0,.2);border-radius:50%}
.shell{width:min(100%,760px);min-height:100vh;margin:auto;padding:22px 20px 18px;display:flex;flex-direction:column}.brand{text-align:center;margin:0 auto 24px}.brand img{display:block;width:min(220px,58vw);height:auto;margin:auto}.step{align-self:center;padding:7px 14px;border:1px solid rgba(123,83,0,.28);border-radius:999px;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}.card{position:relative;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(123,83,0,.14);border-radius:4px;padding:clamp(27px,6vw,56px);box-shadow:0 25px 75px rgba(42,47,37,.1);text-align:center}.card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(156,168,141,.24);pointer-events:none}.card>*{position:relative}.eyebrow{font-size:.69rem;text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-weight:900}.icon{width:76px;height:76px;margin:4px auto 20px;border:1px solid var(--gold-light);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--gold);font-family:"EB Garamond",Garamond,Georgia,serif;font-size:2rem}.icon.rose{background:#fbf5f5;border-color:var(--rose);color:#9b6866}.icon.win{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}h1{font-family:"EB Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(2.25rem,8vw,4.8rem);line-height:.94;margin:12px auto 20px;max-width:650px;letter-spacing:-.02em}h2{font-family:"EB Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(1.7rem,5vw,2.7rem);margin:10px 0 18px}.lead{font-size:clamp(.98rem,2.6vw,1.12rem);font-weight:300;line-height:1.72;color:#4f514b;max-width:580px;margin:0 auto 24px}.highlight{color:var(--gold);font-style:italic}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.button,button{appearance:none;border:0;text-decoration:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 26px;border-radius:2px;background:var(--ink);color:#fff;font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;transition:.2s transform,.2s background}.button:hover,button:hover{transform:translateY(-2px);background:var(--gold)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.landing-hero{padding-top:clamp(48px,8vw,78px);padding-bottom:clamp(44px,8vw,72px)}.landing-hero h1{font-size:clamp(3rem,10vw,6.2rem);margin-top:20px}.hero-lead{max-width:610px;font-size:clamp(1.08rem,3vw,1.3rem);line-height:1.7}.giveaway-title{display:flex;justify-content:center;align-items:center;gap:10px;color:var(--gold);font-family:"EB Garamond",Garamond,serif;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1;letter-spacing:.04em}.giveaway-title em{font-weight:500}.giveaway-title span{font-family:"Lato",Arial,sans-serif;font-size:1rem}.scroll-button{gap:15px;min-width:260px}.scroll-button span{font-size:1.25rem;line-height:1;font-weight:400}.landing-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:620px;margin:34px auto 0;background:#dfe3da;border:1px solid #dfe3da}.landing-progress div{display:flex;flex-direction:column;gap:8px;padding:18px 12px;background:#fff}.landing-progress span,.insight-grid article>span{font-size:.65rem;font-weight:900;letter-spacing:.15em;color:var(--gold)}.landing-progress strong{font-family:"EB Garamond",Garamond,serif;font-weight:500;font-size:1rem}.landing-section{position:relative;margin-top:28px;padding:clamp(42px,8vw,76px) clamp(25px,7vw,62px);background:rgba(255,255,255,.88);border:1px solid rgba(156,168,141,.25);text-align:center}.landing-section .section-number{font-size:.65rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:28px}.landing-section h2{font-size:clamp(2rem,6vw,3.7rem);line-height:1.02}.landing-section>p:not(.eyebrow):not(.observatory-payoff){max-width:590px;margin:20px auto 0;color:#565952;font-weight:300;line-height:1.75}.observatory{background:var(--ink);color:#fff;border-color:var(--gold)}.observatory:before{content:"";position:absolute;inset:9px;border:1px solid rgba(186,154,88,.4)}.observatory>*{position:relative}.observatory .section-number{color:var(--sage)}.observatory .eyebrow{color:var(--gold-light)}.observatory h2{font-size:clamp(2.2rem,7vw,4.4rem)}.observatory .highlight{color:var(--gold-light)}.observatory-payoff{max-width:630px;margin:27px auto;font-family:"EB Garamond",Garamond,serif;font-size:clamp(1.25rem,3.8vw,1.75rem);line-height:1.35;color:#fff}.observatory>p:not(.eyebrow):not(.observatory-payoff){color:#c9cbc4}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;text-align:left}.insight-grid article{padding:24px 20px;background:#f4f6f1;border-top:2px solid var(--sage)}.insight-grid h3{font-family:"EB Garamond",Garamond,serif;font-size:1.35rem;font-weight:500;margin:12px 0 8px}.insight-grid p{font-size:.83rem;font-weight:300;line-height:1.6;color:#5e6259;margin:0}.steps-list{list-style:none;padding:0;margin:34px auto;max-width:560px;text-align:left}.steps-list li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid #e2e5dc}.steps-list li>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold-light);border-radius:50%;font-family:"EB Garamond",Garamond,serif;color:var(--gold)}.steps-list strong{font-family:"EB Garamond",Garamond,serif;font-size:1.25rem;font-weight:500}.steps-list p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.final-claim{margin:42px auto 0;padding:30px 18px;border-top:1px solid var(--gold-light);border-bottom:1px solid var(--gold-light)}.final-claim small{font-size:.62rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.final-claim p{font-family:"EB Garamond",Garamond,serif;font-size:clamp(1.25rem,4vw,1.7rem);line-height:1.35;margin:12px 0 0}.final-claim em{color:var(--sage-dark)}
.scan-found{max-width:520px;margin:32px auto 0;padding:25px 20px;background:#f2f5ef;border-top:2px solid var(--sage)}.scan-found>span{display:block;font-size:.62rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:10px}.scan-found strong{display:block;font-family:"EB Garamond",Garamond,serif;font-size:clamp(1.5rem,5vw,2rem);font-weight:500;line-height:1.12}.scan-found p{margin:10px 0 0;color:var(--muted);font-size:.88rem}.match-section{overflow:hidden;background:var(--ink);color:#fff;border-color:rgba(186,154,88,.65);padding-top:clamp(52px,9vw,88px);padding-bottom:clamp(52px,9vw,88px)}.match-section:before{content:"";position:absolute;inset:9px;border:1px solid rgba(186,154,88,.38);pointer-events:none}.match-section>*{position:relative}.match-section .section-number{color:var(--gold-light);margin-bottom:12px}.match-word{font-family:"Lato",Arial,sans-serif;font-size:clamp(3.7rem,14vw,8rem);font-weight:900;line-height:.88;letter-spacing:-.06em;color:#fff;margin:8px 0 24px;text-shadow:0 0 45px rgba(186,154,88,.18)}.match-section h2{font-size:clamp(1.85rem,5.5vw,3.2rem);line-height:1.08;margin-bottom:28px;color:#fff}.match-section h2 em{font-weight:500;color:var(--gold-light)}.match-section>p{color:#d7d8d3!important;max-width:570px!important}.match-section>p strong{color:#fff}.rings{height:65px;display:flex;justify-content:center;align-items:center;margin-bottom:18px}.rings span{width:58px;height:58px;border:2px solid var(--gold-light);border-radius:50%;display:block}.rings span+span{margin-left:-16px}.win-badge{width:max-content;margin:0 auto 28px;padding:9px 17px 9px 10px;display:flex;align-items:center;gap:10px;border:1px solid rgba(156,168,141,.55);border-radius:999px;background:rgba(156,168,141,.12);text-transform:uppercase;letter-spacing:.16em;font-size:.67rem}.win-badge span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--ink);font-weight:900}.celebration-dots i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-light)}.celebration-dots i:nth-child(1){left:10%;top:16%}.celebration-dots i:nth-child(2){left:20%;top:72%;background:var(--sage)}.celebration-dots i:nth-child(3){right:12%;top:24%;width:7px;height:7px;background:var(--sage)}.celebration-dots i:nth-child(4){right:19%;bottom:15%}.celebration-dots i:nth-child(5){left:7%;bottom:25%;width:3px;height:3px}.celebration-dots i:nth-child(6){right:7%;top:58%;width:3px;height:3px}.observatory-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:34px auto 0;background:rgba(186,154,88,.35);border:1px solid rgba(186,154,88,.35)}.observatory-values div{padding:22px 16px;background:#181916;text-align:left}.observatory-values strong{display:block;font-family:"EB Garamond",Garamond,serif;font-size:1.25rem;font-weight:500;color:var(--gold-light);margin-bottom:7px}.observatory-values span{font-size:.78rem;font-weight:300;line-height:1.5;color:#c9cbc4}.observatory .document-value{margin-top:30px!important;color:#fff!important;font-family:"EB Garamond",Garamond,serif;font-size:1.15rem;font-style:italic}.final-section{padding-top:28px}.final-section .final-claim{margin-top:0}
form{text-align:left;max-width:500px;margin:26px auto 0}label{display:block;font-weight:700;margin-bottom:8px}input[type=email],input[type=password]{width:100%;border:1px solid #d9ddd4;background:#fff;border-radius:2px;padding:15px 16px;font:400 16px "Lato",Arial,sans-serif;color:var(--ink);outline:none}input:focus{border-color:var(--sage-dark);box-shadow:0 0 0 3px rgba(104,115,93,.1)}.check{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.5;font-weight:400;margin-top:14px;color:var(--muted)}.check input{margin-top:3px;accent-color:var(--sage-dark)}.check a{color:var(--gold)}form button{width:100%;margin-top:22px}.message{border-radius:2px;padding:13px 15px;margin:18px auto;max-width:500px;text-align:left;font-size:.9rem}.message.error{background:#fff0f1;color:var(--danger)}.message.success{background:#edf8f2;color:var(--ok)}
.progress{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:26px auto}.progress div{padding:14px 10px;border:1px solid #e4e5df;background:#fafafa;color:var(--muted);font-size:.75rem;font-weight:700}.progress .done{background:#eef2eb;border-color:#d7dfd1;color:var(--ok)}.prize{margin:24px auto 0;padding:22px;border:1px solid rgba(123,83,0,.28);background:#fffcf5;max-width:560px}.prize small{display:block;color:var(--gold);letter-spacing:.16em;font-weight:900;text-transform:uppercase;margin-bottom:8px}.prize strong{font-family:"EB Garamond",Garamond,Georgia,serif;font-size:1.38rem;font-weight:500}.note{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:16px}footer{margin-top:auto;padding-top:32px;display:flex;justify-content:space-between;gap:15px;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}footer a{color:inherit}
.admin{width:min(1100px,100%)}.admin .card{text-align:left;padding:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.stat{background:#f1f3ee;border-left:3px solid var(--sage);padding:18px}.stat strong{font-family:"EB Garamond",Garamond,Georgia,serif;font-size:2rem;display:block}.stat span{font-size:.75rem;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:.82rem}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #e4e6df}th{color:var(--muted);font-size:.7rem;text-transform:uppercase}.adminbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.adminbar .actions{margin:0}.admin .button{min-height:42px;padding:10px 17px;font-size:.72rem}
@media(max-width:620px){.shell{padding:18px 14px 14px}.brand{margin-bottom:18px}.card{border-radius:4px}.landing-progress,.observatory-values{grid-template-columns:1fr}.landing-progress div{flex-direction:row;align-items:center;text-align:left}.insight-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.admin-table{overflow:auto}footer{flex-direction:column;align-items:center}.button{width:100%}}

/* Osservatorio — variante verde salvia */
.observatory{overflow:hidden;background:#7d8973;color:#fff;border-color:#d7bc83;box-shadow:0 24px 70px rgba(74,85,65,.22)}
.observatory:before{border-color:rgba(255,255,255,.42)}
.observatory:after{content:"";position:absolute;width:250px;height:250px;right:-135px;top:-125px;border:1px solid rgba(255,255,255,.16);border-radius:50%;pointer-events:none}
.observatory>*{position:relative;z-index:1}
.observatory .section-number{color:#f6f2e8}
.observatory .eyebrow{color:#f1d89f}
.observatory h2{color:#fff}
.observatory .highlight{color:#f1d89f}
.observatory-payoff{color:#fff}
.observatory>p:not(.eyebrow):not(.observatory-payoff){color:#f1f3ed}
.observatory-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:38px auto 0;background:transparent;border:0}
.observatory-values div{display:block;min-width:0;padding:24px 20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.32);text-align:left}
.observatory-values strong{display:block;margin:0 0 9px;color:#fff;font-family:"EB Garamond",Garamond,serif;font-size:1.4rem;font-weight:500}
.observatory-values span{display:block;color:#f4f5f1;font-size:.8rem;font-weight:300;line-height:1.55}
.observatory .document-value{margin-top:34px!important;padding-top:28px;border-top:1px solid rgba(255,255,255,.3);color:#fff!important;font-size:1.18rem}
.how-it-works{scroll-margin-top:18px}.how-it-works h2{margin-bottom:38px}.how-it-works .steps-list{max-width:610px;margin-top:0}.how-it-works .steps-list li{grid-template-columns:52px 1fr;gap:22px;padding:25px 0}.how-it-works .steps-list li>span{width:50px;height:50px;font-size:1.05rem}.how-it-works .steps-list strong{font-size:1.45rem}.how-it-works .steps-list p{font-size:.91rem;line-height:1.65;margin-top:7px}.observatory{scroll-margin-top:18px}
@media(max-width:620px){.observatory-values{grid-template-columns:1fr;gap:10px}.observatory-values div{text-align:center;padding:20px}.observatory h2{font-size:clamp(2.15rem,12vw,3.3rem)}}

/* Osservatorio — impaginazione editoriale */
.observatory{background:#aeb8a3;color:#111;border-color:rgba(17,17,17,.28);text-align:left;box-shadow:0 24px 70px rgba(74,85,65,.2)}
.observatory:before{border-color:rgba(17,17,17,.22)}
.observatory:after{border-color:rgba(17,17,17,.11)}
.observatory .section-number,.observatory .eyebrow,.observatory h2,.observatory .highlight{color:#111;text-align:left}
.observatory .section-number{margin-bottom:18px}
.observatory .eyebrow{margin-bottom:18px}
.observatory h2{margin:0;line-height:1}
.observatory-list{list-style:none;max-width:720px;margin:38px 0 0;padding:0;text-align:left}
.observatory-list li{position:relative;margin:0;padding:18px 0 18px 28px;border-bottom:1px solid rgba(17,17,17,.18);color:#111;font-family:"Lato",Arial,sans-serif;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:400;line-height:1.65}
.observatory-list li:first-child{border-top:1px solid rgba(17,17,17,.18)}
.observatory-list li::before{content:"•";position:absolute;left:2px;top:18px;color:#111;font-size:1.15em;line-height:1.65}
.observatory-list strong{font-weight:900}
.observatory-action{justify-content:flex-start;margin-top:34px}
.observatory-action .button{background:#111;color:#fff;border-color:#111}
.observatory-action .button:hover{background:#fff;color:#111}
.final-section{scroll-margin-top:18px}
@media(max-width:620px){.observatory{padding-left:28px;padding-right:28px}.observatory h2{font-size:clamp(2.15rem,12vw,3.3rem)}.observatory-list{margin-top:30px}.observatory-list li{padding-left:24px}}

/* Hero — titolo su una riga e testo regular */
.landing-hero h1{white-space:nowrap;font-size:clamp(2.35rem,8vw,5rem)}
.hero-lead{font-weight:400}
.hero-lead strong{font-weight:400}
.hero-lead .win-word{color:var(--gold);font-weight:900}
@media(max-width:420px){.landing-hero{padding-left:24px;padding-right:24px}.landing-hero h1{font-size:clamp(2rem,10.5vw,2.75rem);letter-spacing:-.035em}}

/* Landing — scala tipografica uniforme */
:root{--landing-title-size:clamp(2.35rem,7vw,4.4rem);--landing-tag-size:.72rem;--landing-text-size:clamp(1rem,2.5vw,1.1rem)}
.landing-hero h1,.landing-section h2,.observatory h2{font-size:var(--landing-title-size);line-height:1.02}
.giveaway-title,.landing-section .section-number,.landing-section .eyebrow,.final-claim small{font-size:var(--landing-tag-size);line-height:1.3}
.giveaway-title span{font-size:inherit}
.hero-lead,.how-it-works .steps-list strong,.how-it-works .steps-list p,.observatory-list li,.final-claim p{font-size:var(--landing-text-size);line-height:1.65}
.how-it-works .steps-list strong{font-family:"Lato",Arial,sans-serif;font-weight:700}
@media(max-width:420px){.landing-hero h1,.landing-section h2,.observatory h2{font-size:clamp(2rem,10.5vw,2.75rem)}}

/* Tag iniziale uniforme agli altri tag della landing */
.giveaway-title{display:block;color:var(--sage-dark);font-family:"Lato",Arial,sans-serif;font-size:var(--landing-tag-size);font-style:normal;font-weight:900;line-height:1.3;letter-spacing:.2em;text-transform:uppercase}
