:root{--navy:#0c2034;--cream:#fff8e9;--gold:#edc880;--red:#8e292a;--ink:#233c38;--line:#d9ccad}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,.brand,.subtitle{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.8rem,5.6vw,5.6rem);line-height:1.08;letter-spacing:-.045em;margin:20px 0}h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.15;letter-spacing:-.025em;margin:14px 0 28px}h3{font-size:1.7rem;line-height:1.25;margin:12px 0}p{margin:0 0 20px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:650;margin:0 0 18px;color:var(--red)}header{background:var(--navy);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 6%;border-bottom:1px solid #ffffff26}.brand{text-decoration:none;font-size:1.6rem;line-height:1.25}.brand span{display:block;font-family:system-ui,sans-serif;font-size:.75rem;letter-spacing:.06em;margin-top:6px}nav{display:flex;gap:28px;font-size:.9rem}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{background:radial-gradient(ellipse at 85% 30%,#23405a 0,transparent 60%),var(--navy);color:var(--cream);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7%;padding:68px 8% 95px;overflow:hidden}.hero .eyebrow{color:var(--gold)}.subtitle{color:var(--gold);font-style:italic;font-size:1.5rem;margin:26px 0}.intro{max-width:580px;color:#eee5d5}.button{display:inline-block;background:var(--gold);color:var(--navy);padding:14px 25px;border-radius:3px;font-weight:650;text-decoration:none;margin:10px 0}.button:hover{background:#ffdda0}.age{font-size:.8rem;color:#d4d4cd;margin:12px 0 0}.book-wrap{position:relative;max-width:390px;margin:auto;transform:rotate(3deg)}.book{box-shadow:-12px 16px 0 #071827,0 30px 65px #0008;border-radius:2px}.book-note{position:absolute;right:-24px;bottom:-36px;padding:14px 23px;background:var(--cream);color:var(--red);font-family:Georgia,serif;font-size:1.15rem;line-height:1.4;transform:rotate(-6deg);box-shadow:0 5px 20px #0002}.section{padding:100px 8%}.story{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.story-image img{border-radius:4px;aspect-ratio:2/1;object-fit:contain}.story-end{font-family:Georgia,serif;color:var(--red);font-style:italic;font-size:1.35rem}.section-heading{display:flex;align-items:end;gap:10%;justify-content:space-between}.section-heading>p{max-width:420px}.preview{background:#eee7d7}.page-viewer{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:25px}.page-viewer figure{margin:0;max-width:430px;flex:1}.page-viewer img{width:100%;box-shadow:0 12px 40px #243a3026}.page-viewer figcaption{text-align:center;font-size:.9rem;margin-top:20px;min-height:3em}.round{border:1px solid var(--ink);background:transparent;color:var(--ink);font:36px Georgia;cursor:pointer;border-radius:50%;width:50px;height:50px;flex:none}.round:hover{background:var(--ink);color:var(--cream)}.dots{display:flex;justify-content:center;gap:7px}.dots button{width:38px;height:38px;border:0;background:transparent;cursor:pointer;position:relative}.dots button:after{content:'';position:absolute;inset:13px;border-radius:50%;background:#89958a}.dots button.active:after{background:var(--red)}.preview-tip{text-align:center;max-width:600px;margin:20px auto 0;font-family:Georgia,serif;font-style:italic}.letter-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.letter-art{background:#ede1cb;padding:35px 18%;border-radius:50% 50% 0 0}.letter-art img{width:100%;box-shadow:0 15px 30px #4d351626;transform:rotate(-3deg)}.letter-grid article:nth-child(2) .letter-art{background:#dce5dd}.letter-grid article:nth-child(2) img{transform:rotate(3deg)}.letter-copy{padding:28px 10px}.letter-copy .eyebrow{margin-bottom:9px}.ritual{background:var(--navy);color:var(--cream)}.ritual .eyebrow{color:var(--gold)}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:50px}.number{color:var(--gold);font:italic 2.7rem Georgia}.ritual-grid p{color:#e0e4dc}.questions{max-width:1000px;margin:auto}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-family:Georgia,serif;font-size:1.35rem}details p{padding-top:15px;margin:0}.contact{text-align:center;background:var(--red);color:var(--cream)}.contact .eyebrow{color:var(--gold)}.contact>p:not(.eyebrow){max-width:600px;margin:0 auto 24px}#contact-action p{font-size:1rem;color:#ffe6d0}.email{display:block;margin-top:15px;font-size:1rem;overflow-wrap:anywhere}footer{padding:40px 8%;display:flex;justify-content:space-between;gap:30px;font-size:.85rem}footer p{margin:10px 0}.skip{position:absolute;top:-100px;left:10px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #d28c22;outline-offset:5px}@media(max-width:760px){header{padding:20px 6%;display:block}nav{gap:19px;margin-top:20px;flex-wrap:wrap;font-size:.85rem}.hero{grid-template-columns:1fr;padding:40px 6% 80px;gap:50px}.hero-copy{max-width:600px}.book-wrap{width:75%;max-width:330px}.book-note{right:-15px;font-size:1rem}.section{padding:65px 6%}.story{grid-template-columns:1fr;gap:40px}.story-image{max-width:480px;margin:auto}.story-image img{aspect-ratio:2/1}.section-heading{display:block}.section-heading>p{max-width:none}.page-viewer{gap:10px}.round{width:40px;height:44px}.letter-grid{gap:20px}.letter-art{padding:24px 12%;border-radius:25% 25% 0 0}.letter-copy{padding:20px 0}.letter-copy h3{font-size:1.4rem}.letter-copy p{font-size:1rem}.ritual-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}footer{display:block}}@media(max-width:420px){.letter-grid{grid-template-columns:1fr}.letter-art{padding:30px 22%}.page-viewer{gap:6px}.round{width:34px;height:40px}h1{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Ritmo e a capo adattabili alle diverse larghezze. */
h1{font-size:clamp(2.25rem,4.8vw,4.9rem);line-height:1.14;letter-spacing:-.035em}
.title-line{display:block;white-space:nowrap}
h2,h3,.subtitle,.eyebrow,summary{ text-wrap:balance }
p,figcaption,.brand span{ text-wrap:pretty }
.hero-copy,.story>div,.section-heading>div,.section-heading>p,.letter-grid article,.ritual-grid>div{min-width:0}
.intro{max-width:48ch}.hero .intro+.intro{margin-top:8px}
.copy-break{display:block;margin-top:16px}
.section-heading>div{flex:1 1 54%}.section-heading>p{flex:1 1 38%}
.letter-copy p{max-width:40ch}.ritual-grid p{max-width:34ch}
details p{max-width:62ch}details p+p{padding-top:14px}
.contact>p:not(.eyebrow){max-width:42ch}
@media(min-width:761px) and (max-width:1050px){.hero{gap:5%;padding-left:6%;padding-right:6%}.story{gap:5%}.section-heading{gap:6%}}
@media(max-width:760px){h1{font-size:clamp(2.25rem,7.6vw,3.6rem)}.intro{max-width:44ch}.section-heading>p{max-width:48ch}}

.photo-wrap{max-width:560px;transform:none}.photo-wrap .book{box-shadow:0 18px 45px #0005;border-radius:5px}.story-image img{aspect-ratio:3/2;object-fit:contain}.lifestyle{margin:35px 0 50px}.lifestyle img{width:100%;max-height:620px;object-fit:contain;border-radius:4px}.lifestyle figcaption,.kit-photo figcaption{font-size:.9rem;text-align:center;margin:16px auto 0;max-width:62ch;text-wrap:pretty}.kit-photo{margin:0;padding:0 8% 70px}.kit-photo img{width:100%;max-height:700px;object-fit:contain;border-radius:4px}@media(max-width:760px){.photo-wrap{width:100%}.story-image img{aspect-ratio:3/2}.kit-photo{padding:0 6% 55px}}

/* Kit coordinati aggiornati */
.coordinati{display:grid;gap:20px;margin:24px 0}.coordinati figure,.box-grid figure{margin:0}.coordinati img{width:100%;transform:none!important;box-shadow:0 8px 24px #243a3019}.coordinati figcaption,.box-grid figcaption{text-align:center;font-size:1rem;margin:12px 0}.box-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.box-grid img{width:100%;border-radius:4px}.kit-boxes{padding-top:20px}.image-note{max-width:65ch;margin:0 auto;text-align:center;font-size:.9rem}.hands{max-width:1100px;margin:55px auto 35px}.brand span,.age,.eyebrow{font-size:.875rem}.title-line{white-space:normal}summary{line-height:1.45}@media(max-width:760px){.box-grid{grid-template-columns:1fr;gap:30px}.letter-grid{grid-template-columns:1fr}.letter-art{padding:30px 18%}}

.hero-secondary{display:block;color:var(--cream);font-size:.95rem;margin-top:12px;text-underline-offset:5px}.offer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin:35px 0}.offer{padding:38px;background:#fffdf7;border:1px solid var(--line);border-radius:10px}.offer.featured{border:2px solid #ad7e36;background:#faf0dc}.offer-label{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}.offer ul{padding-left:22px}.offer-price{font-weight:650;margin-top:24px;font-size:1rem}.button{border:0;font:inherit;cursor:pointer}.order-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:45px;background:#e9eee9;border-radius:10px;scroll-margin-top:24px}.field{margin:0 0 20px}.field label{display:block;font-size:.95rem;font-weight:600;margin-bottom:7px}.field label span{font-weight:400}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #8b9b90;border-radius:4px;background:#fffdf7;color:var(--navy);font:inherit;min-height:48px}.field textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.small{font-size:.86rem;line-height:1.6}.summary{padding:14px;border-left:3px solid #ac833d;background:#fff9ed;font-size:1rem}.final-invitation{text-align:center;background:var(--navy);color:var(--cream)}.final-invitation .eyebrow{color:var(--gold)}.final-invitation p{max-width:620px;margin-left:auto;margin-right:auto}.album-invitation{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center;background:#e5eced}.album-invitation img{max-height:440px;margin:auto;box-shadow:0 14px 35px #10233420}.text-link{color:var(--red);text-underline-offset:6px}[hidden]{display:none!important}input:invalid:not(:placeholder-shown){box-shadow:none}@media(max-width:760px){.offer-grid,.order-panel,.album-invitation{grid-template-columns:1fr}.offer,.order-panel{padding:26px}.album-invitation img{margin-top:28px}.hero-secondary{font-size:.9rem}}

.certificate-access{max-width:920px;margin:auto}.certificate-access form{max-width:540px;padding:28px;background:#e9eee9;border-radius:8px;margin:30px 0}.certificate-access h1{font-size:clamp(2.3rem,5vw,4rem)}
