:root{--ink:#4f5357;--paper:#fffdfb;--pink:#f6e0ee;--pink-soft:#fff8fb;--blue:#2c9fbc;--sage:#9eaf91;--sage-dark:#7e9276;--white:#fff;--shadow:0 18px 50px rgba(46,42,45,.12);--script:'Alex Brush',cursive;--serif:'Lora',Georgia,serif;--display:'Cardo',Georgia,serif;--wrap:min(1280px,calc(100% - 64px));--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:74px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}body.cl-menu-open,body.cl-modal-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}.cl-wrap{width:var(--wrap);margin-inline:auto}.cl-narrow{width:min(920px,calc(100% - 64px));margin-inline:auto}.cl-script{font-family:var(--script);font-weight:400;line-height:.98}.cl-section{position:relative;padding:78px 0 64px;overflow:hidden}.cl-section-heading{position:relative;display:flex;justify-content:center;align-items:center;min-height:116px;margin-bottom:20px}.cl-section-heading:before{content:"";position:absolute;left:0;top:-78px;width:280px;height:220px;background-image:var(--cl-leaf);background-size:contain;background-repeat:no-repeat;background-position:left top;opacity:.82;pointer-events:none}.cl-section-heading h2{position:relative;z-index:1;color:var(--blue);font-size:64px;margin:0;text-align:center}.cl-kicker{text-align:center;font-family:var(--display);font-size:20px;margin:0 auto 38px;color:#333}.cl-heading-light h2{color:white;text-shadow:0 2px 16px rgba(0,0,0,.16)}
.cl-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:68px;display:flex;align-items:center;justify-content:center;padding:0 28px;color:#fff;transition:.25s;background:linear-gradient(to bottom,rgba(0,0,0,.36),transparent)}.cl-header.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px 14px rgba(0,0,0,.08);color:#313539}.cl-mini-brand{display:none;font-family:var(--script);font-size:28px;text-decoration:none}.cl-mini-brand span{color:#d6a871}.cl-nav{display:flex;align-items:center;gap:29px}.cl-nav a{font-family:var(--display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;position:relative}.cl-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-6px;height:1px;background:currentColor;transition:.2s}.cl-nav a:hover:after{left:0;right:0}.cl-menu-toggle{display:none;border:0;background:none;padding:10px}.cl-menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px 0}
.cl-hero{position:relative;min-height:100svh;background-image:var(--hero-desktop);background-size:cover;background-position:center center;display:grid;grid-template-columns:1fr 1fr;align-items:center}.cl-hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(21,30,34,.12),rgba(21,30,34,.04) 50%,rgba(21,30,34,.18))}.cl-hero-logo{grid-column:2;position:relative;z-index:1;width:min(88%,720px);justify-self:center;padding:30px}.cl-hero-logo img{width:100%;filter:drop-shadow(0 5px 12px rgba(0,0,0,.14))}
.cl-intro{padding:65px 0 58px;text-align:center;background-color:#fff;background-image:var(--cl-rosa);background-position:center;background-size:cover}.cl-intro-title{font-size:64px;margin:0 0 18px}.cl-intro p{font-size:18px;margin:0;color:#4b4d50}.cl-countdown{background:linear-gradient(90deg,#f7e3ee,#efd5e3);padding:34px 0}.cl-countdown-grid{display:grid;grid-template-columns:1fr 2.2fr;align-items:center;gap:40px}.cl-countdown-label{font-family:var(--display);text-align:right;line-height:1.05}.cl-countdown-label small{display:block;font-size:17px}.cl-countdown-label strong{display:block;font-size:37px;color:#4d5155}.cl-counter{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cl-counter div{text-align:center}.cl-counter span{display:block;font-family:var(--script);font-size:68px;line-height:.85}.cl-counter small{display:block;margin-top:10px;font-family:var(--display);font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.cl-couple{padding:120px 0;background-size:cover;background-position:center}.cl-couple-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.cl-person{border-radius:var(--radius);padding:62px 50px;text-align:center;box-shadow:var(--shadow);backdrop-filter:blur(1px)}.cl-person-luca{background:rgba(44,152,179,.90);color:#fff}.cl-person-chiara{background:rgba(247,223,238,.94)}.cl-person h2{font-size:55px;margin:0 0 4px}.cl-person h3{font-family:var(--display);font-size:16px;letter-spacing:.12em;margin:0 0 26px}.cl-person p{font-size:17px;margin:0 auto;max-width:530px;line-height:1.55}
.cl-story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cl-story-card{background:#fffafa;border-radius:14px;overflow:hidden;box-shadow:0 10px 32px rgba(60,47,51,.07);display:flex;flex-direction:column}.cl-story-card>img{width:100%;aspect-ratio:4/4.6;object-fit:cover}.cl-story-copy{padding:20px 20px 25px;text-align:center}.cl-story-copy h3{font-size:34px;color:var(--blue);margin:0 0 9px}.cl-story-copy p{font-size:15.5px;line-height:1.5;margin:0;color:#53575a}
.cl-dogs{padding-bottom:82px}.cl-dogs-wrap{display:grid;gap:26px}.cl-dog{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:520px;background:#fffafa;border-radius:16px;overflow:hidden;box-shadow:0 8px 34px rgba(60,47,51,.06)}.cl-dog-reverse .cl-dog-photo{order:2}.cl-dog-photo{min-height:0}.cl-dog-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.cl-dog-reverse .cl-dog-photo img{object-position:50% 18%}.cl-dog-copy{padding:52px 58px;display:flex;flex-direction:column;justify-content:center;text-align:center}.cl-dog-copy h3{font-size:44px;color:var(--blue);margin:0 0 18px}.cl-dog-copy p{font-size:17px;line-height:1.6;margin:0 0 16px}.cl-dog-copy p:last-child{margin-bottom:0}
.cl-program-section{padding-bottom:0}.cl-program{display:grid;grid-template-columns:38% 62%;background:linear-gradient(150deg,#fff 55%,rgba(209,221,196,.35));min-height:700px}.cl-program-photo img{width:100%;height:100%;object-fit:cover}.cl-program-list{padding:54px clamp(38px,6vw,100px) 64px;display:grid;align-content:center;gap:22px}.cl-program-item{display:grid;grid-template-columns:88px 1fr;gap:24px;align-items:start}.cl-program-item time{display:inline-block;background:var(--sage);color:#fff;font-family:var(--display);font-size:15px;line-height:1;padding:10px 12px;text-align:center;border-radius:2px}.cl-program-item h3{font-size:41px;color:var(--blue);margin:-2px 0 7px}.cl-program-item p{font-size:16.5px;line-height:1.48;margin:0;max-width:720px}
.cl-location{padding-bottom:0}.cl-location-copy{text-align:center;margin-bottom:44px}.cl-location-copy p{font-size:17.5px;line-height:1.65;margin:0 0 14px}.cl-location-photo{width:calc(100% - 64px);max-width:1500px;margin:auto}.cl-location-photo img{width:100%;max-height:600px;object-fit:cover;border-radius:16px 16px 0 0}
.cl-faq{padding:88px 0;background-size:cover;background-position:center}.cl-faq .cl-section-heading:before{filter:brightness(1.5);opacity:.65}.cl-faq-panel{width:min(950px,calc(100% - 64px));margin:auto;background:rgba(255,255,255,.93);padding:14px 24px;border-radius:16px;box-shadow:var(--shadow);backdrop-filter:blur(5px)}.cl-faq-item{border-bottom:1px solid rgba(80,93,99,.18)}.cl-faq-item:last-child{border-bottom:0}.cl-faq-item summary{cursor:pointer;list-style:none;font-family:var(--display);font-size:17px;color:var(--blue);padding:17px 42px 17px 10px;position:relative}.cl-faq-item summary::-webkit-details-marker{display:none}.cl-faq-item summary:after{content:'+';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:22px}.cl-faq-item[open] summary{color:#333}.cl-faq-item[open] summary:after{content:'−'}.cl-faq-answer{background:var(--pink);margin:0 -8px 10px;padding:16px 18px;border-radius:8px}.cl-faq-answer p{margin:0 0 7px;font-size:16px}.cl-faq-answer p:last-child{margin-bottom:0}.cl-faq-answer a{color:var(--blue);font-weight:600}
.cl-gifts-grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:16px;box-shadow:0 8px 34px rgba(60,47,51,.06)}.cl-gifts-photo img{width:100%;height:100%;min-height:430px;object-fit:cover}.cl-gifts-copy{background:linear-gradient(140deg,#fff 30%,rgba(208,222,194,.37));display:flex;flex-direction:column;justify-content:center;text-align:center;padding:54px}.cl-gifts-copy h3{font-size:43px;color:var(--blue);margin:0 0 18px}.cl-gifts-copy p{font-size:17px;margin:0 auto 12px;max-width:560px}
.cl-gallery-section{padding-bottom:0}.cl-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 4px}.cl-gallery-item{appearance:none;border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden}.cl-gallery-item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:.3s}.cl-gallery-item:hover img{transform:scale(1.035)}
.cl-contact{background:var(--sage);color:#fff;padding:30px 0}.cl-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.cl-contact-grid>div{text-align:center;display:grid;justify-items:center;gap:3px}.cl-contact-icon{font-size:25px}.cl-contact small{font-family:var(--display);font-size:10px;letter-spacing:.12em}.cl-contact strong,.cl-contact a{font-family:var(--display);font-size:14px;text-decoration:none}.cl-map iframe{display:block;width:100%;height:500px;border:0;filter:saturate(.72)}.cl-footer{text-align:center;padding:46px 20px 36px;background:#fff}.cl-footer-brand{font-family:var(--script);font-size:48px}.cl-footer-brand span{color:#d4a66e}.cl-footer-date{font-family:var(--display);font-size:12px;letter-spacing:.08em}.cl-backtop,.cl-rsvp-fab{position:fixed;z-index:800;bottom:22px;border:0;box-shadow:0 8px 22px rgba(0,0,0,.16)}.cl-backtop{left:22px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;text-decoration:none;font-size:27px}.cl-rsvp-fab{right:22px;background:var(--blue);color:#fff;font-family:var(--display);font-size:12px;letter-spacing:.04em;padding:15px 22px;border-radius:3px;cursor:pointer}
.cl-modal{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s}.cl-modal.is-open{opacity:1;visibility:visible}.cl-modal-backdrop{position:absolute;inset:0;background:rgba(12,20,25,.78);backdrop-filter:blur(3px)}.cl-modal-card{position:relative;width:min(880px,calc(100% - 42px));max-height:92svh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 26px 90px rgba(0,0,0,.32);scrollbar-width:thin}.cl-modal-close{position:sticky;float:right;top:12px;margin:12px 12px -56px 0;z-index:5;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:27px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.08)}.cl-rsvp-photo{width:100%;max-height:350px;object-fit:cover}.cl-rsvp-body{padding:34px 54px 48px;background:var(--pink-soft)}.cl-rsvp-body>h2{text-align:center;font-size:50px;color:var(--blue);margin:0 0 6px}.cl-rsvp-lead{text-align:center;margin:0 0 28px;font-size:15px}.cl-rsvp-form{display:grid;gap:18px}.cl-rsvp-form label,.cl-rsvp-form legend{font-family:var(--display);font-size:16px;color:#4d4f52}.cl-rsvp-form label{display:grid;gap:6px}.cl-rsvp-form input[type=text],.cl-rsvp-form input[type=email],.cl-rsvp-form input[type=number],.cl-rsvp-form textarea{width:100%;font:inherit;font-family:var(--display);font-size:16px;padding:12px 13px;border:1px solid #9da4a7;border-radius:3px;background:#fff;color:#333;outline:none}.cl-rsvp-form input:focus,.cl-rsvp-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(44,159,188,.14)}.cl-rsvp-form fieldset{border:0;padding:0;margin:0}.cl-choice{display:inline-flex!important;align-items:center;grid-template-columns:auto 1fr!important;gap:7px!important;margin:6px 16px 0 0;font-family:var(--display)!important}.cl-choice input{accent-color:var(--blue)}.cl-submit{border:0;background:var(--blue);color:#fff;font-family:var(--display);font-weight:700;font-size:14px;padding:14px;cursor:pointer;border-radius:3px}.cl-form-message{padding:12px 14px;border-radius:8px;margin-bottom:20px;font-size:14px}.cl-success{background:#e5f1e5;color:#34543b}.cl-error{background:#fbe3e3;color:#7c3030}.cl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.cl-lightbox{position:fixed;z-index:4000;inset:0;background:rgba(0,0,0,.9);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s;padding:30px}.cl-lightbox.is-open{opacity:1;visibility:visible}.cl-lightbox img{max-width:min(1200px,94vw);max-height:88vh;object-fit:contain}.cl-lightbox button{position:absolute;right:22px;top:18px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;font-size:28px;cursor:pointer}.cl-generic{padding:120px 0}.cl-generic h1{font-family:var(--script);font-size:58px;color:var(--blue)}
@media(max-width:1024px){:root{--wrap:min(100% - 44px,1000px)}.cl-section{padding:66px 0 52px}.cl-section-heading h2{font-size:52px}.cl-section-heading:before{width:230px;height:180px}.cl-hero{min-height:90svh}.cl-hero-logo{width:95%}.cl-countdown-grid{grid-template-columns:1fr;gap:16px}.cl-countdown-label{text-align:center}.cl-counter span{font-size:58px}.cl-couple{padding:80px 0}.cl-couple-grid{gap:26px}.cl-person{padding:50px 30px}.cl-person h2{font-size:48px}.cl-story-grid{grid-template-columns:repeat(2,1fr);gap:22px}.cl-story-card>img{aspect-ratio:4/3.5}.cl-dog{min-height:460px}.cl-dog-copy{padding:38px}.cl-program{grid-template-columns:34% 66%}.cl-program-list{padding:42px 34px}.cl-program-item{grid-template-columns:76px 1fr;gap:18px}.cl-program-item h3{font-size:36px}.cl-gallery{grid-template-columns:repeat(3,1fr)}.cl-map iframe{height:400px}}
@media(max-width:767px){:root{--wrap:calc(100% - 40px)}html{scroll-padding-top:62px}body{font-size:16px;line-height:1.58}.cl-header{height:60px;justify-content:space-between;padding:0 18px;background:rgba(255,255,255,.94);color:#34383b;box-shadow:0 1px 10px rgba(0,0,0,.06)}.cl-mini-brand{display:block}.cl-menu-toggle{display:block;color:inherit}.cl-nav{position:fixed;inset:60px 0 auto 0;background:#fff;display:grid;gap:0;padding:8px 20px 22px;transform:translateY(-120%);opacity:0;visibility:hidden;transition:.25s;box-shadow:0 12px 30px rgba(0,0,0,.12)}.cl-nav.is-open{transform:none;opacity:1;visibility:visible}.cl-nav a{font-size:14px;padding:13px 4px;color:#333;border-bottom:1px solid #eee}.cl-nav a:last-child{border-bottom:0}.cl-section{padding:52px 0 42px}.cl-section-heading{min-height:78px;margin-bottom:16px}.cl-section-heading:before{width:145px;height:120px;top:-48px;opacity:.58}.cl-section-heading h2{font-size:38px}.cl-kicker{font-size:16px;line-height:1.45;margin:0 auto 28px;padding:0 24px}.cl-hero{min-height:calc(100svh - 60px);margin-top:60px;display:flex;align-items:flex-end;justify-content:center;background-image:var(--hero-mobile);background-size:cover;background-position:center top}.cl-hero-overlay{background:linear-gradient(to top,rgba(0,0,0,.24),transparent 48%)}.cl-hero-logo{width:min(88%,440px);padding:22px 18px 34px;grid-column:auto}.cl-intro{padding:48px 20px 44px;background-position:center}.cl-intro .cl-narrow{width:100%}.cl-intro-title{font-size:44px;margin-bottom:15px}.cl-intro p{font-size:16px;line-height:1.6}.cl-countdown{padding:24px 0}.cl-countdown-grid{gap:14px}.cl-countdown-label small{font-size:13px}.cl-countdown-label strong{font-size:31px}.cl-counter{gap:6px}.cl-counter span{font-size:43px}.cl-counter small{font-size:9px;margin-top:6px}.cl-couple{padding:54px 0;background-position:center}.cl-couple-grid{grid-template-columns:1fr;gap:20px}.cl-person{padding:36px 24px;border-radius:14px}.cl-person h2{font-size:41px}.cl-person h3{font-size:13px;margin-bottom:18px}.cl-person p{font-size:15.5px}.cl-story-grid{grid-template-columns:1fr;gap:18px}.cl-story-card{border-radius:12px}.cl-story-card>img{aspect-ratio:4/3.1}.cl-story-copy{padding:17px 20px 22px}.cl-story-copy h3{font-size:31px}.cl-story-copy p{font-size:15.5px;line-height:1.55}.cl-dogs{padding-bottom:52px}.cl-dogs-wrap{gap:18px}.cl-dog,.cl-dog.cl-dog-reverse{display:flex;flex-direction:column;min-height:0}.cl-dog-reverse .cl-dog-photo{order:0}.cl-dog-photo{height:auto}.cl-dog-photo img{height:auto;aspect-ratio:4/4.4;object-fit:cover}.cl-dog-reverse .cl-dog-photo img{object-position:50% 20%}.cl-dog-copy{padding:28px 22px 32px}.cl-dog-copy h3{font-size:36px;margin-bottom:12px}.cl-dog-copy p{font-size:16px;line-height:1.58}.cl-program{display:block;min-height:0}.cl-program-photo{padding:0 20px}.cl-program-photo img{height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px}.cl-program-list{padding:34px 20px 48px;gap:26px}.cl-program-item{grid-template-columns:1fr;gap:7px}.cl-program-item time{width:max-content;font-size:14px;padding:8px 12px}.cl-program-item h3{font-size:32px;margin:0 0 6px}.cl-program-item p{font-size:16px;line-height:1.55}.cl-location-copy{width:calc(100% - 40px);margin-bottom:30px}.cl-location-copy p{font-size:16px;line-height:1.65;margin-bottom:16px}.cl-location-photo{width:100%}.cl-location-photo img{border-radius:0;max-height:none;aspect-ratio:4/3;object-fit:cover}.cl-faq{padding:58px 0;background-position:center}.cl-faq-panel{width:calc(100% - 28px);padding:8px 10px;border-radius:12px}.cl-faq-item summary{font-size:16px;line-height:1.38;padding:14px 36px 14px 8px}.cl-faq-answer{padding:14px;margin:0 0 8px}.cl-faq-answer p{font-size:15.5px;line-height:1.55}.cl-gifts-grid{grid-template-columns:1fr;border-radius:12px}.cl-gifts-photo img{min-height:0;aspect-ratio:4/3;object-fit:cover}.cl-gifts-copy{padding:34px 23px 38px}.cl-gifts-copy h3{font-size:36px}.cl-gifts-copy p{font-size:16px;line-height:1.58}.cl-gallery{grid-template-columns:repeat(2,1fr);gap:3px;padding:0 3px}.cl-contact{padding:28px 0}.cl-contact-grid{grid-template-columns:1fr;gap:22px}.cl-map iframe{height:310px}.cl-footer{padding:38px 20px 90px}.cl-footer-brand{font-size:42px}.cl-backtop{left:14px;bottom:16px;width:46px;height:46px}.cl-rsvp-fab{right:14px;bottom:16px;font-size:10px;padding:13px 14px;border-radius:24px}.cl-modal{align-items:end}.cl-modal-card{width:100%;max-height:94svh;border-radius:18px 18px 0 0}.cl-rsvp-photo{height:185px;object-fit:cover}.cl-rsvp-body{padding:26px 20px 34px}.cl-rsvp-body>h2{font-size:40px}.cl-rsvp-lead{font-size:14px;margin-bottom:22px}.cl-rsvp-form{gap:16px}.cl-rsvp-form label,.cl-rsvp-form legend{font-size:15.5px}.cl-rsvp-form input[type=text],.cl-rsvp-form input[type=email],.cl-rsvp-form input[type=number],.cl-rsvp-form textarea{font-size:16px;padding:11px 12px}.cl-choice{display:flex!important;margin:8px 0 0!important}.cl-modal-close{width:38px;height:38px}.cl-lightbox{padding:18px}.cl-generic{padding:90px 0}}
@media(max-width:390px){.cl-section-heading h2{font-size:35px}.cl-intro-title{font-size:41px}.cl-counter span{font-size:39px}.cl-person h2{font-size:38px}.cl-program-item h3{font-size:30px}.cl-footer-brand{font-size:39px}}

/* ==========================================================
   v3.1 — Mobile readability + hero refinement
   Feedback: Nokia 30 / Android compact viewport
   ========================================================== */
@media (max-width:767px){
  :root{--wrap:calc(100% - 36px)}

  /* Header sovrapposto alla hero: nessuna fascia bianca sopra la foto. */
  .cl-header{
    height:64px;
    padding:0 14px;
    background:transparent;
    box-shadow:none;
    color:#fff;
    justify-content:flex-end;
    pointer-events:none;
  }
  .cl-header.is-scrolled{
    background:rgba(255,255,255,.96);
    color:#34383b;
    box-shadow:0 1px 12px rgba(0,0,0,.08);
    backdrop-filter:blur(10px);
    pointer-events:auto;
  }
  .cl-mini-brand{display:none}
  .cl-header.is-scrolled .cl-mini-brand{
    display:block;
    margin-right:auto;
    font-size:31px;
    pointer-events:auto;
  }
  .cl-menu-toggle{
    display:block;
    pointer-events:auto;
    color:inherit;
    padding:9px;
    border-radius:8px;
    background:rgba(38,45,50,.34);
    backdrop-filter:blur(4px);
  }
  .cl-header.is-scrolled .cl-menu-toggle{background:rgba(44,159,188,.10)}
  .cl-menu-toggle span{width:27px;height:2.5px}
  .cl-nav{inset:64px 0 auto 0;padding:10px 20px 24px}
  .cl-nav a{font-size:16px;padding:15px 4px}

  /* La hero parte subito dal bordo superiore e il logo è sopra, nel cielo. */
  .cl-hero{
    min-height:100svh;
    margin-top:0;
    display:block;
    background-position:center top;
  }
  .cl-hero-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.08),transparent 32%,rgba(0,0,0,.10))}
  .cl-hero-logo{
    position:absolute;
    z-index:2;
    top:78px;
    left:50%;
    transform:translateX(-50%);
    width:min(86%,430px);
    padding:0 10px;
  }
  .cl-hero-logo img{filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}

  /* Scala tipografica mobile più leggibile. */
  body{font-size:18px;line-height:1.62}
  .cl-section{padding:58px 0 46px}
  .cl-section-heading{min-height:88px;margin-bottom:20px}
  .cl-section-heading h2{font-size:46px;line-height:1}
  .cl-section-heading:before{width:152px;height:126px;top:-50px}
  .cl-kicker{font-size:19px;line-height:1.5;margin-bottom:32px;padding:0 18px}

  .cl-intro{padding:54px 18px 50px}
  .cl-intro-title{font-size:50px;line-height:1;margin-bottom:18px}
  .cl-intro p{font-size:18.5px;line-height:1.65}

  .cl-countdown{padding:28px 0}
  .cl-countdown-label small{font-size:15px}
  .cl-countdown-label strong{font-size:35px}
  .cl-counter span{font-size:47px}
  .cl-counter small{font-size:10.5px;letter-spacing:.10em}

  .cl-couple{padding:58px 0}
  .cl-person{padding:40px 25px}
  .cl-person h2{font-size:46px;line-height:1}
  .cl-person h3{font-size:14.5px;margin-bottom:20px}
  .cl-person p{font-size:18px;line-height:1.62}

  .cl-story-grid{gap:22px}
  .cl-story-copy{padding:22px 22px 27px}
  .cl-story-copy h3{font-size:38px;margin-bottom:12px}
  .cl-story-copy p{font-size:18px;line-height:1.62}

  .cl-dogs-wrap{gap:22px}
  .cl-dog-copy{padding:32px 23px 36px}
  .cl-dog-copy h3{font-size:42px;margin-bottom:15px}
  .cl-dog-copy p{font-size:18px;line-height:1.64}

  .cl-program-list{padding:38px 18px 54px;gap:32px}
  .cl-program-item{gap:9px}
  .cl-program-item time{font-size:16px;padding:9px 13px}
  .cl-program-item h3{font-size:38px;line-height:1;margin-bottom:9px}
  .cl-program-item p{font-size:18px;line-height:1.62}

  .cl-location-copy{width:calc(100% - 36px);margin-bottom:34px}
  .cl-location-copy p{font-size:18px;line-height:1.68;margin-bottom:18px}

  .cl-faq-panel{width:calc(100% - 24px);padding:9px 11px}
  .cl-faq-item summary{font-size:18px;line-height:1.48;padding:16px 40px 16px 10px}
  .cl-faq-answer{padding:16px}
  .cl-faq-answer p{font-size:17.5px;line-height:1.62}

  .cl-gifts-copy{padding:38px 24px 42px}
  .cl-gifts-copy h3{font-size:42px}
  .cl-gifts-copy p{font-size:18px;line-height:1.62}

  .cl-contact small{font-size:11px}
  .cl-contact strong,.cl-contact a{font-size:16px}

  .cl-rsvp-body{padding:30px 20px 38px}
  .cl-rsvp-body>h2{font-size:45px}
  .cl-rsvp-lead{font-size:16.5px;line-height:1.5}
  .cl-rsvp-form label,.cl-rsvp-form legend{font-size:17px}
  .cl-rsvp-form input[type=text],.cl-rsvp-form input[type=email],.cl-rsvp-form input[type=number],.cl-rsvp-form textarea{font-size:17px;line-height:1.45;padding:13px}
  .cl-submit{font-size:16px;padding:15px}
}

@media (max-width:390px){
  .cl-section-heading h2{font-size:43px}
  .cl-intro-title{font-size:47px}
  .cl-counter span{font-size:44px}
  .cl-person h2{font-size:43px}
  .cl-story-copy h3{font-size:36px}
  .cl-dog-copy h3{font-size:39px}
  .cl-program-item h3{font-size:35px}
  .cl-hero-logo{width:min(88%,390px);top:74px}
}

/* ==========================================================
   v3.2 — Desktop refinements
   Programma, menu, storia, location hover e FAQ background
   ========================================================== */

/* FAQ: il motivo floreale mantiene dimensione/posizione quando si apre una risposta. */
.cl-faq{
  background-image:none!important;
  background-color:#60464d;
  isolation:isolate;
}
.cl-faq::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(53,31,38,.42),rgba(53,31,38,.42)),
    var(--cl-faq-bg);
  background-size:100% 100%,100% auto;
  background-position:center center,center top;
  background-repeat:no-repeat,no-repeat;
}
.cl-faq>.cl-section-heading,
.cl-faq>.cl-faq-panel{position:relative;z-index:1}

/* Location: foto staccata dalle FAQ con hover informativo. */
.cl-location{padding-bottom:78px}
.cl-location-photo{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 12px 34px rgba(46,42,45,.08);
}
.cl-location-photo img{
  border-radius:0;
  transition:transform .45s ease,filter .45s ease;
}
.cl-location-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  background:linear-gradient(rgba(24,39,31,.18),rgba(24,39,31,.50));
  color:#fff;
  text-decoration:none;
  opacity:0;
  transition:opacity .3s ease;
}
.cl-location-overlay-title{
  font-size:58px;
  line-height:1;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}
.cl-location-overlay-button{
  font-family:var(--display);
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:13px 22px;
  border:1px solid rgba(255,255,255,.92);
  background:rgba(255,255,255,.10);
  border-radius:2px;
  backdrop-filter:blur(3px);
}
.cl-location-photo:hover img,.cl-location-photo:focus-within img{transform:scale(1.025);filter:brightness(.88)}
.cl-location-photo:hover .cl-location-overlay,.cl-location-overlay:focus-visible{opacity:1}

@media (min-width:1025px){
  /* Menu: tutte le voci bianche sulla hero; rosa soltanto in hover/focus. */
  .cl-nav a{transition:color .2s ease}
  .cl-header:not(.is-scrolled) .cl-nav a,
  .cl-header:not(.is-scrolled) .cl-nav a:visited{color:#fff!important}
  .cl-header:not(.is-scrolled) .cl-nav a:hover,
  .cl-header:not(.is-scrolled) .cl-nav a:focus-visible{color:#f2c7da!important}
  .cl-header.is-scrolled .cl-nav a,
  .cl-header.is-scrolled .cl-nav a:visited{color:#313539!important}
  .cl-header.is-scrolled .cl-nav a:hover,
  .cl-header.is-scrolled .cl-nav a:focus-visible{color:#d792b1!important}

  /* Storia: meno vuoto tra il titolo e la frase introduttiva. */
  #nostrastoria .cl-section-heading{min-height:88px;margin-bottom:0}
  #nostrastoria .cl-kicker{margin-top:0;margin-bottom:34px}

  /* Programma: l'immagine non decide più l'altezza della riga.
     Si adegua all'altezza reale della timeline, quindi niente colonna rose troppo lunga. */
  .cl-program{
    grid-template-columns:34% 66%;
    min-height:0;
    align-items:stretch;
  }
  .cl-program-photo{
    position:relative;
    min-height:0;
    overflow:hidden;
  }
  .cl-program-photo img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:center center;
  }
  .cl-program-list{
    padding:44px clamp(46px,5vw,88px) 46px;
    gap:20px;
    align-content:center;
  }
  .cl-program-item{grid-template-columns:102px 1fr;gap:26px;align-items:start}
  .cl-program-item time{
    min-width:102px;
    background:#829576;
    color:#fff;
    font-size:17px;
    font-weight:700;
    letter-spacing:.025em;
    padding:12px 14px;
    border-radius:3px;
    box-shadow:0 3px 10px rgba(67,86,59,.16);
  }
  .cl-program-item h3{font-size:40px;margin:-2px 0 6px}
  .cl-program-item p{font-size:16.5px;line-height:1.48}
}

@media (min-width:768px) and (max-width:1024px){
  .cl-location{padding-bottom:62px}
  .cl-location-overlay-title{font-size:50px}
}

@media (max-width:767px){
  /* Manteniamo la v3.1 mobile invariata: la foto resta pulita e tappabile senza overlay visivo. */
  .cl-location{padding-bottom:52px}
  .cl-location-photo{border-radius:0;box-shadow:none}
  .cl-location-overlay{opacity:0;pointer-events:none}
  .cl-faq::before{
    background-size:100% 100%,auto 100%;
    background-position:center center,center top;
  }
}

/* ==========================================================
   v3.3 — Readability, gallery carousel, dogs layout, CTA fix
   ========================================================== */
body{font-size:18px;line-height:1.68}
.cl-section-heading{overflow:visible}
.cl-section-heading:after{content:"";position:absolute;right:0;bottom:-86px;width:250px;height:188px;background-image:var(--cl-leaf);background-size:contain;background-repeat:no-repeat;background-position:right bottom;transform:scaleX(-1) scaleY(-1);opacity:.34;pointer-events:none}
.cl-section-heading h2{font-size:68px;letter-spacing:.01em}
.cl-kicker{font-size:22px;line-height:1.55;color:#45484b}
.cl-intro p,.cl-person p,.cl-story-copy p,.cl-dog-copy p,.cl-program-item p,.cl-location-copy p,.cl-faq-answer p,.cl-gifts-copy p{font-size:18px;line-height:1.7}
.cl-intro p,.cl-kicker,.cl-location-copy p,.cl-gifts-copy p{font-weight:500}
.cl-story-card,.cl-dog{background:#f9f0f4;box-shadow:0 16px 40px rgba(60,47,51,.10)}
.cl-story-copy{padding:22px 24px 28px}
.cl-story-copy h3{font-size:38px}
.cl-dog-copy h3{font-size:48px}
.cl-gifts-grid{box-shadow:0 16px 40px rgba(60,47,51,.10)}
.cl-gifts-copy{background:linear-gradient(140deg,#fff 10%,#f1e6ec 100%)}
.cl-gifts-copy h3{font-size:54px;margin-bottom:22px}
.cl-gifts-copy p{max-width:680px}
.cl-faq-panel{background:rgba(255,255,255,.96)}
.cl-rsvp-fab{z-index:2200;pointer-events:auto;font-size:15px;letter-spacing:.02em;padding:16px 28px;background:#319fbc;box-shadow:0 10px 24px rgba(0,0,0,.18)}

/* Lightbox navigabile */
.cl-lightbox{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:18px 22px;align-items:center}
.cl-lightbox img{grid-column:2;grid-row:1;max-width:min(1260px,88vw);max-height:82vh;border-radius:10px;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.cl-lightbox button{display:grid;place-items:center}
.cl-lightbox-close{position:absolute;right:22px;top:18px;width:48px;height:48px;border-radius:50%;background:#fff;font-size:28px}
.cl-lightbox-prev,.cl-lightbox-next{position:relative;width:54px;height:54px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:40px;line-height:1;color:#32363a;cursor:pointer}
.cl-lightbox-prev{grid-column:1;grid-row:1}
.cl-lightbox-next{grid-column:3;grid-row:1}
.cl-lightbox-caption{grid-column:1 / -1;grid-row:2;justify-self:center;color:#fff;font-family:var(--display);font-size:14px;letter-spacing:.08em;text-transform:uppercase}

/* Striscia contatti più curata */
.cl-contact{background:linear-gradient(90deg,#91a281,#a5b593);padding:36px 0 40px}
.cl-contact-grid{gap:24px;align-items:stretch}
.cl-contact-grid>div{padding:12px 20px 14px;background:rgba(255,255,255,.05);border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.cl-contact-icon{font-size:34px;line-height:1}
.cl-contact small{font-size:13px;letter-spacing:.18em;opacity:.92}
.cl-contact strong,.cl-contact a{font-size:18px;font-weight:700}

/* CTA / menu رنگ */
.cl-header:not(.is-scrolled) .cl-nav a,
.cl-header:not(.is-scrolled) .cl-nav a:link,
.cl-header:not(.is-scrolled) .cl-nav a:visited,
.cl-header:not(.is-scrolled) .cl-nav a[data-rsvp-open],
.cl-header:not(.is-scrolled) .cl-nav a[data-rsvp-open]:link,
.cl-header:not(.is-scrolled) .cl-nav a[data-rsvp-open]:visited{color:#fff!important}
.cl-header:not(.is-scrolled) .cl-nav a:hover,
.cl-header:not(.is-scrolled) .cl-nav a:focus-visible{color:#f2c7da!important}

@media (min-width:1025px){
  .cl-nav a{font-size:15px;letter-spacing:.06em}
  #nostrastoria .cl-section-heading{min-height:80px}
  #nostrastoria .cl-kicker{margin-bottom:28px}
  .cl-story-grid{gap:20px}
  .cl-story-copy p{font-size:16.8px;line-height:1.62}
  .cl-dogs-wrap{grid-template-columns:repeat(2,1fr);gap:24px;align-items:start}
  .cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:1fr;min-height:0}
  .cl-dog-reverse .cl-dog-photo{order:0}
  .cl-dog-photo img,.cl-dog-reverse .cl-dog-photo img{height:auto;aspect-ratio:4/4.2;max-height:430px;object-position:center center}
  .cl-dog-copy{padding:34px 30px 40px}
  .cl-program-item time{min-width:108px;background:#788d6b;font-size:18px;font-weight:700;padding:13px 14px;box-shadow:0 5px 14px rgba(67,86,59,.20)}
  .cl-program-item h3{font-size:44px}
  .cl-program-item p{font-size:17.5px;line-height:1.56}
  .cl-location-copy{margin-bottom:48px}
  .cl-gifts-copy{padding:62px}
}

@media (min-width:768px) and (max-width:1024px){
  .cl-dogs-wrap{grid-template-columns:1fr 1fr}
  .cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:1fr;min-height:0}
  .cl-dog-reverse .cl-dog-photo{order:0}
  .cl-dog-photo img,.cl-dog-reverse .cl-dog-photo img{height:auto;aspect-ratio:4/4.3;object-position:center center}
  .cl-dog-copy{padding:30px 24px 34px}
  .cl-story-grid{grid-template-columns:repeat(2,1fr)}
  .cl-contact strong,.cl-contact a{font-size:16px}
}

@media (max-width:767px){
  .cl-section-heading:after{width:140px;height:110px;bottom:-44px;opacity:.22}
  .cl-section-heading h2{font-size:46px}
  .cl-kicker{font-size:19px;line-height:1.55}
  .cl-story-card,.cl-dog{background:#fbf2f6}
  .cl-gifts-copy h3{font-size:42px}
  .cl-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}
  .cl-lightbox img{max-width:100%;max-height:72vh}
  .cl-lightbox-prev,.cl-lightbox-next{width:42px;height:42px;font-size:30px}
  .cl-lightbox-close{width:42px;height:42px;right:12px;top:10px}
  .cl-contact-grid>div{padding:14px 16px}
}

/* ==========================================================
   v3.4 — desktop refinements from latest feedback
   ========================================================== */

/* remove mirrored/duplicated leaves on the right */
.cl-section-heading:after{display:none!important;content:none!important}

/* menu: RSVP must behave exactly like the other items */
.cl-nav a.cl-nav-rsvp,
.cl-nav a.cl-nav-rsvp:link,
.cl-nav a.cl-nav-rsvp:visited,
.cl-nav a.cl-nav-rsvp:focus,
.cl-nav a.cl-nav-rsvp:active{color:inherit!important}
.cl-header:not(.is-scrolled) .cl-nav a,
.cl-header:not(.is-scrolled) .cl-nav a:link,
.cl-header:not(.is-scrolled) .cl-nav a:visited,
.cl-header:not(.is-scrolled) .cl-nav a.cl-nav-rsvp,
.cl-header:not(.is-scrolled) .cl-nav a.cl-nav-rsvp:link,
.cl-header:not(.is-scrolled) .cl-nav a.cl-nav-rsvp:visited,
.cl-header:not(.is-scrolled) .cl-nav a.cl-nav-rsvp:focus,
.cl-header:not(.is-scrolled) .cl-nav a.cl-nav-rsvp:active{color:#fff!important}
.cl-header.is-scrolled .cl-nav a,
.cl-header.is-scrolled .cl-nav a:link,
.cl-header.is-scrolled .cl-nav a:visited,
.cl-header.is-scrolled .cl-nav a.cl-nav-rsvp,
.cl-header.is-scrolled .cl-nav a.cl-nav-rsvp:link,
.cl-header.is-scrolled .cl-nav a.cl-nav-rsvp:visited,
.cl-header.is-scrolled .cl-nav a.cl-nav-rsvp:focus,
.cl-header.is-scrolled .cl-nav a.cl-nav-rsvp:active{color:#313539!important}
.cl-nav a:focus-visible{outline:1px solid rgba(255,255,255,.55);outline-offset:4px}
.cl-header:not(.is-scrolled) .cl-nav a:hover{color:#f2c7da!important}
.cl-header.is-scrolled .cl-nav a:hover{color:#d792b1!important}
.cl-header:not(.is-scrolled) .cl-nav a:focus-visible,
.cl-header.is-scrolled .cl-nav a:focus-visible{color:inherit!important}

/* lightbox: close stays top-right, arrows lighter and centered vertically */
.cl-lightbox-close{position:absolute;top:18px;right:18px;width:42px;height:42px;background:rgba(255,255,255,.92);color:#1f2326;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.cl-lightbox-prev,.cl-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);color:#fff;font-size:26px;line-height:1;box-shadow:none}
.cl-lightbox-prev{left:22px;right:auto}
.cl-lightbox-next{right:22px;left:auto}
.cl-lightbox button:hover{filter:brightness(1.06)}
.cl-lightbox img{max-width:min(1180px,84vw)}

/* FAQ: more readable question text */
.cl-faq-item summary{font-size:20px;font-weight:500;line-height:1.48;color:#2f9dbd;padding:18px 52px 18px 14px}
.cl-faq-item summary:after{font-size:18px;font-weight:700;right:16px}

/* location photo overlay */
.cl-location-overlay{gap:24px;background:linear-gradient(rgba(24,39,31,.16),rgba(24,39,31,.52))}
.cl-location-overlay-title{font-size:84px;letter-spacing:.01em}
.cl-location-overlay-button{font-size:14px;padding:14px 24px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px)}

/* dogs: equal-height horizontal cards with photo left / text right */
.cl-dogs-wrap{grid-template-columns:1fr;gap:26px}
.cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:minmax(360px,.96fr) minmax(0,1.04fr);min-height:390px;align-items:stretch}
.cl-dog-reverse .cl-dog-photo{order:0}
.cl-dog-photo{height:100%}
.cl-dog-photo img,.cl-dog-reverse .cl-dog-photo img{height:100%;aspect-ratio:auto;max-height:none;object-fit:cover;object-position:center center}
.cl-dog-copy{padding:34px 40px 36px;justify-content:center;text-align:center}
.cl-dog-copy p{font-size:17px;line-height:1.62}

/* contact strip above map */
.cl-contact{background:linear-gradient(90deg,#9caf90 0%,#a9b899 52%,#9caf90 100%);padding:40px 0 44px}
.cl-contact-grid{gap:26px}
.cl-contact-grid>div{padding:16px 20px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(246,239,243,.18),rgba(255,255,255,.09));border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(73,92,63,.10)}
.cl-contact-icon{font-size:32px}
.cl-contact small{font-size:13px;letter-spacing:.18em;color:rgba(255,255,255,.92)}
.cl-contact strong,.cl-contact a{font-size:19px;color:#fff;text-decoration:none}

@media (min-width:1025px){
  .cl-story-copy p,
  .cl-dog-copy p,
  .cl-program-item p,
  .cl-location-copy p,
  .cl-gifts-copy p{font-size:18.3px}
  .cl-nav a{font-size:15px;letter-spacing:.055em}
}

@media (max-width:1200px){
  .cl-location-overlay-title{font-size:70px}
  .cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)}
}

@media (max-width:1024px){
  .cl-faq-item summary{font-size:19px}
  .cl-dogs-wrap{grid-template-columns:1fr;gap:22px}
  .cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:minmax(280px,.94fr) minmax(0,1.06fr);min-height:360px}
  .cl-dog-copy{padding:28px 26px 30px}
  .cl-location-overlay-title{font-size:58px}
}

@media (max-width:767px){
  .cl-faq-item summary{font-size:18px;font-weight:500}
  .cl-lightbox-prev,.cl-lightbox-next{width:40px;height:40px;font-size:22px;top:50%}
  .cl-lightbox-prev{left:10px}
  .cl-lightbox-next{right:10px}
  .cl-lightbox-close{top:10px;right:10px;width:38px;height:38px}
  .cl-location-overlay-title{font-size:42px}
  .cl-dog,.cl-dog.cl-dog-reverse{display:flex;flex-direction:column;min-height:0}
  .cl-dog-photo img,.cl-dog-reverse .cl-dog-photo img{height:auto;aspect-ratio:4/3.6;object-fit:cover}
  .cl-contact strong,.cl-contact a{font-size:17px}
}

/* ==========================================================
   v3.5 — hard fixes: RSVP controls, dogs, FAQ tail, lightbox
   ========================================================== */

/* RSVP in the navigation is now a real button, so it can never inherit
   browser :visited colours from a link. */
.cl-nav .cl-nav-rsvp{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  margin:0;
  padding:0;
  font-family:var(--display);
  font-size:15px;
  line-height:1.2;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  position:relative;
  cursor:pointer;
  color:#fff!important;
}
.cl-nav .cl-nav-rsvp::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-6px;
  height:1px;
  background:currentColor;
  transition:.2s;
}
.cl-nav .cl-nav-rsvp:hover{color:#f2c7da!important}
.cl-nav .cl-nav-rsvp:hover::after{left:0;right:0}
.cl-header.is-scrolled .cl-nav .cl-nav-rsvp{color:#313539!important}
.cl-header.is-scrolled .cl-nav .cl-nav-rsvp:hover{color:#d792b1!important}
.cl-nav .cl-nav-rsvp:focus,
.cl-nav .cl-nav-rsvp:focus-visible,
.cl-nav .cl-nav-rsvp:active{color:inherit!important;outline:none}
.cl-header:not(.is-scrolled) .cl-nav .cl-nav-rsvp:focus,
.cl-header:not(.is-scrolled) .cl-nav .cl-nav-rsvp:focus-visible,
.cl-header:not(.is-scrolled) .cl-nav .cl-nav-rsvp:active{color:#fff!important}
.cl-header.is-scrolled .cl-nav .cl-nav-rsvp:focus,
.cl-header.is-scrolled .cl-nav .cl-nav-rsvp:focus-visible,
.cl-header.is-scrolled .cl-nav .cl-nav-rsvp:active{color:#313539!important}

/* Floating RSVP CTA: always above page sections and always clickable. */
.cl-rsvp-fab{
  position:fixed!important;
  z-index:2147483000!important;
  pointer-events:auto!important;
  touch-action:manipulation;
  transform:translateZ(0);
  isolation:isolate;
}
.cl-modal{z-index:2147483600!important}
.cl-lightbox{z-index:2147483640!important}

/* FAQ: keep the floral backdrop uniform, without visible seams. */
.cl-faq{background-color:var(--paper)!important}
.cl-faq::before{
  background-size:100% 100%,cover!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center center,center center!important;
}

/* Gallery lightbox: subtle arrows halfway down the viewport. */
.cl-lightbox button.cl-lightbox-prev,
.cl-lightbox button.cl-lightbox-next{
  position:absolute!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:12px 14px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.86)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  font-size:46px!important;
  font-family:Arial,sans-serif!important;
  font-weight:200!important;
  line-height:1!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
  cursor:pointer;
}
.cl-lightbox button.cl-lightbox-prev{left:24px!important;right:auto!important}
.cl-lightbox button.cl-lightbox-next{right:24px!important;left:auto!important}
.cl-lightbox button.cl-lightbox-prev:hover,
.cl-lightbox button.cl-lightbox-next:hover{color:#fff!important;transform:translateY(-50%) scale(1.08)!important}
.cl-lightbox button.cl-lightbox-close{
  position:absolute!important;
  top:16px!important;
  right:18px!important;
  left:auto!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#202326!important;
  box-shadow:0 7px 20px rgba(0,0,0,.18)!important;
  font-size:27px!important;
  line-height:1!important;
}

/* Dogs: two cards in the same row, equal height, horizontal layout. */
@media (min-width:1180px){
  .cl-dogs-wrap{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:stretch!important;
  }
  .cl-dog,
  .cl-dog.cl-dog-reverse{
    display:grid!important;
    grid-template-columns:44% 56%!important;
    grid-template-rows:1fr!important;
    min-height:455px!important;
    height:100%!important;
    align-self:stretch!important;
  }
  .cl-dog-reverse .cl-dog-photo{order:0!important}
  .cl-dog-photo{height:100%!important;min-height:0!important}
  .cl-dog-photo img,
  .cl-dog-reverse .cl-dog-photo img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .cl-dog-copy{
    min-width:0!important;
    padding:28px 26px 30px!important;
    justify-content:center!important;
  }
  .cl-dog-copy h3{font-size:42px!important;margin-bottom:13px!important}
  .cl-dog-copy p{font-size:15.8px!important;line-height:1.58!important}
}

@media (max-width:1179px) and (min-width:768px){
  .cl-dogs-wrap{grid-template-columns:1fr!important}
  .cl-dog,.cl-dog.cl-dog-reverse{grid-template-columns:42% 58%!important}
}

@media (max-width:767px){
  .cl-nav .cl-nav-rsvp{
    width:100%;
    padding:15px 4px;
    border-bottom:1px solid #eee;
    color:#333!important;
    font-size:16px;
    text-align:left;
  }
  .cl-header.is-scrolled .cl-nav .cl-nav-rsvp,
  .cl-header:not(.is-scrolled) .cl-nav .cl-nav-rsvp{color:#333!important}
  .cl-nav .cl-nav-rsvp::after{display:none}
  .cl-lightbox button.cl-lightbox-prev,
  .cl-lightbox button.cl-lightbox-next{font-size:38px!important;padding:10px!important}
  .cl-lightbox button.cl-lightbox-prev{left:4px!important}
  .cl-lightbox button.cl-lightbox-next{right:4px!important}
}

/* ==========================================================
   v3.6 — RSVP hard fix + Alex Brush titles + cleaner headings
   ========================================================== */

/* All decorative/emotional headings use Alex Brush explicitly. */
.cl-intro-title,
.cl-section-heading h2,
.cl-person h2,
.cl-story-copy h3,
.cl-dog-copy h3,
.cl-program-item h3,
.cl-countdown-label strong,
.cl-gifts-copy h3,
.cl-location-overlay-title,
.cl-footer-brand{
  font-family:var(--script)!important;
  font-weight:400!important;
}

/* No leaf ornament for Programma or Gallery title. */
.cl-program-section .cl-section-heading::before,
.cl-gallery-section .cl-section-heading::before{
  display:none!important;
  content:none!important;
  background-image:none!important;
}

/* RSVP navigation button: explicit state colours; never visited-link pink. */
.cl-nav button.cl-nav-rsvp,
.cl-nav button.cl-nav-rsvp:link,
.cl-nav button.cl-nav-rsvp:visited,
.cl-nav button.cl-nav-rsvp:focus,
.cl-nav button.cl-nav-rsvp:active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cl-header.is-scrolled .cl-nav button.cl-nav-rsvp,
.cl-header.is-scrolled .cl-nav button.cl-nav-rsvp:focus,
.cl-header.is-scrolled .cl-nav button.cl-nav-rsvp:active{
  color:#313539!important;
  -webkit-text-fill-color:#313539!important;
}
@media (hover:hover) and (pointer:fine){
  .cl-header:not(.is-scrolled) .cl-nav button.cl-nav-rsvp:hover{
    color:#f2c7da!important;
    -webkit-text-fill-color:#f2c7da!important;
  }
  .cl-header.is-scrolled .cl-nav button.cl-nav-rsvp:hover{
    color:#d792b1!important;
    -webkit-text-fill-color:#d792b1!important;
  }
}

/* Floating RSVP control: direct, isolated click target above all page content. */
html body .cl-rsvp-fab{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147483646!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
  isolation:isolate!important;
  transform:translate3d(0,0,1px)!important;
}
html body .cl-modal{z-index:2147483647!important}

@media (max-width:767px){
  .cl-nav button.cl-nav-rsvp,
  .cl-header:not(.is-scrolled) .cl-nav button.cl-nav-rsvp,
  .cl-header.is-scrolled .cl-nav button.cl-nav-rsvp{
    color:#333!important;
    -webkit-text-fill-color:#333!important;
  }
  html body .cl-rsvp-fab{right:14px!important;bottom:16px!important}
}

/* ==========================================================
   v3.7 — typography consistency
   ========================================================== */

/* All body copy uses the same serif family and regular weight. */
.cl-intro p,
.cl-person p,
.cl-story-copy p,
.cl-dog-copy p,
.cl-program-item p,
.cl-location-copy p,
.cl-faq-answer p,
.cl-gifts-copy p{
  font-family:var(--serif)!important;
  font-weight:400!important;
}

/* Dogs match the story cards on desktop. */
@media (min-width:1025px){
  .cl-story-copy p,
  .cl-dog-copy p{
    font-family:var(--serif)!important;
    font-size:16.8px!important;
    line-height:1.62!important;
    font-weight:400!important;
  }

  /* Location matches the Programma body copy. */
  .cl-program-item p,
  .cl-location-copy p{
    font-family:var(--serif)!important;
    font-size:17.5px!important;
    line-height:1.56!important;
    font-weight:400!important;
  }
}


/* ==========================================================
   v3.8 — Decorative watercolor backgrounds + floating leaves
   Uses user-supplied artwork for a richer, elegant atmosphere
   ========================================================== */
:root{
  --cl-rose-wash:url('../img/decor/bg-rose-watercolor.webp');
  --cl-sage-wash:url('../img/decor/bg-sage-watercolor.jpg');
  --cl-leaf-float:url('../img/decor/leaf-float.webp');
  --cl-leaf-corner-left:url('../img/decor/leaf-corner-left.webp');
  --cl-leaf-corner-right:url('../img/decor/leaf-corner-right.webp');
  --cl-petal-img:url('../img/decor/rose-petal-soft.webp');
}

.cl-intro-soft{
  background-color:#fffdfd;
  background-image:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.9)),var(--cl-rose-wash);
  background-position:center,center top;
  background-size:cover,cover;
  background-repeat:no-repeat;
}

.cl-soft-rose,.cl-soft-sage{isolation:isolate}
.cl-soft-rose::before,.cl-soft-sage::before,.cl-soft-sage::after{content:"";position:absolute;pointer-events:none;z-index:0;opacity:.88;background-repeat:no-repeat}
.cl-soft-rose>*,.cl-soft-sage>*{position:relative;z-index:1}

.cl-soft-rose::before{
  inset:0;
  background-image:var(--cl-rose-wash);
  background-size:min(1250px,96%) auto;
  background-position:center 14px;
  filter:saturate(.95);
  opacity:.55;
}

.cl-soft-sage::before{
  left:-2%;
  right:48%;
  top:22px;
  bottom:18%;
  background-image:var(--cl-sage-wash);
  background-size:100% auto;
  background-position:left top;
  opacity:.32;
}
.cl-soft-sage::after{
  width:340px;
  height:380px;
  right:-36px;
  bottom:22px;
  background-image:var(--cl-leaf-corner-right);
  background-size:contain;
  background-position:right bottom;
  opacity:.26;
}

#nostrastoria .cl-section-heading:before,
#listanozze .cl-section-heading:before,
#location .cl-section-heading:before{
  background-image:var(--cl-leaf-corner-left);
  width:290px;height:210px;top:-58px;left:-18px;opacity:.68;
}
#programma .cl-section-heading:before,
#foto .cl-section-heading:before{display:none}

#programma::before{
  background-size:min(1180px,92%) auto;
  background-position:center 8px;
  opacity:.43;
}
#foto::before{
  background-size:min(1160px,90%) auto;
  background-position:center -24px;
  opacity:.40;
}
#listanozze::before{
  background-size:min(1100px,88%) auto;
  background-position:center 18px;
  opacity:.38;
}
#location::after{display:none}
#location .cl-location-copy{position:relative;z-index:1}
#location .cl-location-photo{position:relative;z-index:1}

.cl-story-grid,.cl-dogs-wrap,.cl-gifts-grid,.cl-location-photo{position:relative;z-index:1}
.cl-story-card,.cl-dog,.cl-gifts-grid{position:relative;z-index:1}

.cl-float-leaf{
  position:absolute;
  width:var(--size,132px);
  aspect-ratio:1/1;
  left:var(--left,auto);
  right:var(--right,auto);
  top:var(--top,auto);
  bottom:var(--bottom,auto);
  background-image:var(--cl-leaf-float);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  opacity:var(--opacity,.72);
  pointer-events:none;
  z-index:1;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(var(--rotate,0deg));
  transform-origin:center;
  transition:transform .24s ease-out, opacity .25s ease;
  will-change:transform;
  filter:drop-shadow(0 10px 20px rgba(70,83,64,.10));
}

.cl-leaf-story-1{--size:118px;--top:72px;--right:4.2%;--rotate:10deg;--opacity:.52}
.cl-leaf-story-2{--size:144px;--bottom:18px;--left:1.5%;--rotate:-16deg;--opacity:.50}
.cl-leaf-dogs-1{--size:136px;--top:118px;--left:3%;--rotate:-9deg;--opacity:.60}
.cl-leaf-dogs-2{--size:118px;--bottom:72px;--right:4%;--rotate:18deg;--opacity:.56}
.cl-leaf-location-1{--size:132px;--top:136px;--right:3.8%;--rotate:22deg;--opacity:.52}
.cl-leaf-location-2{--size:110px;--bottom:62px;--left:3%;--rotate:-18deg;--opacity:.38}
/* Programma leaves removed in v4.6 to avoid overlap with the photo. */
.cl-leaf-program-1{display:none!important}
.cl-leaf-program-2{display:none!important}
.cl-leaf-gallery-1{--size:124px;--top:108px;--left:3%;--rotate:-14deg;--opacity:.46}
.cl-leaf-gallery-2{--size:118px;--top:114px;--right:3%;--rotate:14deg;--opacity:.40}
.cl-leaf-contact-1{--size:96px;--top:10px;--right:4%;--rotate:15deg;--opacity:.24}
.cl-leaf-gifts-1{--size:122px;--top:132px;--left:3%;--rotate:-14deg;--opacity:.64}
.cl-leaf-gifts-2{--size:150px;--bottom:40px;--right:3%;--rotate:16deg;--opacity:.58}

.cl-story-card::after,.cl-dog::after,.cl-gifts-grid::after{
  content:"";position:absolute;inset:auto 16px 0 16px;height:40px;border-radius:0 0 18px 18px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.18));pointer-events:none;opacity:.45
}

.cl-program{background:linear-gradient(150deg,rgba(255,255,255,.96) 48%,rgba(240,228,236,.72) 100%)}
.cl-location-copy p,.cl-program-item p,.cl-gifts-copy p,.cl-story-copy p,.cl-dog-copy p{position:relative;z-index:1}

@media (min-width:1025px){
  #nostrastoria{padding-top:88px}
  #listanozze .cl-gifts-grid{box-shadow:0 16px 40px rgba(60,47,51,.08)}
  #location .cl-location-photo{box-shadow:0 18px 42px rgba(60,47,51,.10)}
}

@media (max-width:1024px){
  .cl-soft-rose::before{background-size:110% auto;background-position:center top;opacity:.40}
  .cl-soft-sage::before{left:-10%;right:35%;top:28px;opacity:.24}
  .cl-float-leaf{display:none}
  .cl-section-petal{display:none}
  #nostrastoria .cl-section-heading:before,
  #listanozze .cl-section-heading:before,
  #location .cl-section-heading:before{width:210px;height:156px;left:-10px;top:-42px;opacity:.56}
}

@media (max-width:767px){
  .cl-intro-soft{background-size:cover,155% auto;background-position:center,center 4px}
  .cl-soft-rose::before{background-size:138% auto;background-position:center 6px;opacity:.33}
  .cl-soft-sage::before{background-size:145% auto;left:-18%;right:20%;top:18px;bottom:auto;height:240px;opacity:.18}
  #nostrastoria .cl-section-heading:before,
  #listanozze .cl-section-heading:before,
  #location .cl-section-heading:before{width:155px;height:120px;top:-30px;left:-6px;opacity:.48}
  #programma .cl-section-heading:before,
  #foto .cl-section-heading:before{display:none}
}


/* ==========================================================
   v3.9 — Section cleanup after background review
   Reduce hard section gaps, refine decorative artwork placement
   ========================================================== */

/* Intro: stronger watercolor presence + two floating side leaves. */
.cl-intro-soft{
  position:relative;
  overflow:hidden;
  background-color:#fffdfd!important;
  background-image:linear-gradient(rgba(255,255,255,.70),rgba(255,255,255,.76)),var(--cl-rose-wash)!important;
  background-size:cover,min(1380px,96%) auto!important;
  background-position:center,center 18px!important;
  background-repeat:no-repeat,no-repeat!important;
}
.cl-intro-soft > *{position:relative;z-index:1}
.cl-intro-soft::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 42%,rgba(248,219,235,.44),transparent 58%);
  opacity:1;z-index:0;
}
.cl-leaf-intro-left{--size:136px;--left:5.5%;--top:50%;--rotate:-12deg;--opacity:.60}
.cl-leaf-intro-right{--size:132px;--right:5.5%;--top:48%;--rotate:15deg;--opacity:.56}

/* Remove visible section breaks between consecutive sections. */
#nostrastoria,#location,#listanozze{padding-top:0!important;margin-top:0!important}
#nostrastoria .cl-section-heading,
#location .cl-section-heading,
#listanozze .cl-section-heading{margin-top:0!important}
#nostrastoria .cl-section-heading{min-height:94px!important}
#location .cl-section-heading,
#listanozze .cl-section-heading{min-height:98px!important}

/* Story section stays as-is, just closer to previous block. */
#nostrastoria .cl-kicker{margin-top:0!important}

/* Dogs section: remove background wash and decorative clumps, keep focus on cards. */
#cani{background:#fffdfb!important}
#cani::before,#cani::after,
#cani .cl-float-leaf,
#cani .cl-section-heading::before{display:none!important;content:none!important}
#cani .cl-dogs-wrap{position:relative;z-index:1}

/* Program section: clean white backdrop, no watercolor behind heading. */
#programma::before,#programma::after{display:none!important;content:none!important}
#programma{background:#fffdfb!important}
#programma .cl-program{background:#fff!important}

/* Location: remove the hard mid-section green seam; keep only a very soft full-section wash. */
#location{background:#fffdfb!important}
#location::before{
  display:block!important;content:""!important;position:absolute;inset:0!important;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.88)),var(--cl-sage-wash)!important;
  background-size:cover,cover!important;
  background-position:center center,center center!important;
  background-repeat:no-repeat,no-repeat!important;
  opacity:.22!important;
}
#location::after{display:none!important;content:none!important}
#location .cl-location-copy,#location .cl-location-photo,#location .cl-section-heading{position:relative;z-index:1}

/* Gifts: just remove top break above the title. */
#listanozze .cl-section-heading::before{top:-42px!important}

/* Slightly calmer section-heading leaf placements where kept. */
#nostrastoria .cl-section-heading::before,
#listanozze .cl-section-heading::before,
#location .cl-section-heading::before{opacity:.56!important}

@media (min-width:1025px){
  #nostrastoria{padding-top:0!important}
  #location{padding-top:0!important}
  #listanozze{padding-top:0!important}
  .cl-leaf-intro-left{--left:7%;--size:148px}
  .cl-leaf-intro-right{--right:7%;--size:144px}
}

@media (max-width:1024px){
  .cl-intro-soft{background-size:cover,120% auto!important;background-position:center,center 10px!important}
  .cl-leaf-intro-left{--left:2.5%;--size:108px;--top:58%}
  .cl-leaf-intro-right{--right:2.5%;--size:104px;--top:56%}
  #location::before{opacity:.17!important}
}

@media (max-width:767px){
  #nostrastoria,#location,#listanozze{padding-top:0!important}
  #nostrastoria .cl-section-heading,
  #location .cl-section-heading,
  #listanozze .cl-section-heading{min-height:72px!important;margin-bottom:14px!important}
  .cl-intro-soft{background-size:cover,170% auto!important;background-position:center,center 14px!important}
  .cl-intro-soft::before{background:radial-gradient(circle at 50% 34%,rgba(248,219,235,.40),transparent 56%)}
  .cl-leaf-intro-left,.cl-leaf-intro-right{display:none!important}
  #location::before{opacity:.14!important}
}


/* ==========================================================
   v4.0 — restore comfortable top breathing room + visible intro leaves
   ========================================================== */

/* Bring back a light top inset above section titles without recreating heavy gaps. */
#nostrastoria,#programma,#location,#listanozze{
  padding-top:24px!important;
}
#nostrastoria .cl-section-heading,
#programma .cl-section-heading,
#location .cl-section-heading,
#listanozze .cl-section-heading{
  padding-top:10px!important;
  margin-bottom:18px!important;
}
#location .cl-section-heading,
#listanozze .cl-section-heading{min-height:108px!important}
#nostrastoria .cl-section-heading,
#programma .cl-section-heading{min-height:102px!important}

/* Make the decorative floating leaves around the intro actually noticeable on desktop/tablet. */
.cl-intro-soft .cl-float-leaf{z-index:2;opacity:var(--opacity,.72)}
.cl-leaf-intro-left{
  --size:170px;
  --left:3.2%;
  --top:30%;
  --rotate:-14deg;
  --opacity:.72;
}
.cl-leaf-intro-right{
  --size:166px;
  --right:3.2%;
  --top:28%;
  --rotate:16deg;
  --opacity:.70;
}

@media (min-width:1025px){
  #nostrastoria,#programma,#location,#listanozze{padding-top:28px!important}
  .cl-leaf-intro-left{--left:4.2%;--top:34%;--size:176px}
  .cl-leaf-intro-right{--right:4.2%;--top:32%;--size:172px}
}

@media (max-width:1024px){
  #nostrastoria,#programma,#location,#listanozze{padding-top:18px!important}
  #nostrastoria .cl-section-heading,
  #programma .cl-section-heading,
  #location .cl-section-heading,
  #listanozze .cl-section-heading{padding-top:8px!important}
  .cl-leaf-intro-left{--left:2%;--top:28%;--size:118px;--opacity:.64}
  .cl-leaf-intro-right{--right:2%;--top:26%;--size:114px;--opacity:.62}
}

@media (max-width:767px){
  #nostrastoria,#programma,#location,#listanozze{padding-top:12px!important}
  #nostrastoria .cl-section-heading,
  #programma .cl-section-heading,
  #location .cl-section-heading,
  #listanozze .cl-section-heading{padding-top:6px!important}
  .cl-leaf-intro-left,.cl-leaf-intro-right{display:none!important}
}


/* ==========================================================
   v4.1 — cleanup: gifts/location artifact, FAQ leaf, dogs spacing, intro leaves
   ========================================================== */

/* Guarantee the floating intro leaves render as actual images, not only backgrounds. */
.cl-intro-soft img.cl-float-leaf{
  display:block!important;
  position:absolute!important;
  height:auto!important;
  max-width:none!important;
  background:none!important;
  object-fit:contain;
  z-index:3!important;
  pointer-events:none!important;
  mix-blend-mode:multiply;
}
.cl-leaf-intro-left{
  width:158px!important;
  left:5.5%!important;
  right:auto!important;
  top:38%!important;
  opacity:.60!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-18deg)!important;
}
.cl-leaf-intro-right{
  width:154px!important;
  right:5.5%!important;
  left:auto!important;
  top:34%!important;
  opacity:.58!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-16deg)!important;
}

/* No decorative leaf in FAQ: the floral photo is already enough. */
#faq .cl-section-heading::before,
#faq .cl-section-heading::after{
  display:none!important;
  content:none!important;
  background-image:none!important;
}

/* Tighten the dogs heading-to-cards rhythm to match the rest of the page. */
#cani{padding-top:34px!important;}
#cani .cl-section-heading{
  min-height:88px!important;
  margin-bottom:12px!important;
  padding-top:0!important;
}
#cani .cl-section-heading h2{margin:0!important;}
#cani .cl-dogs-wrap{margin-top:0!important;}

/* Remove any decorative layer that can peek out behind the location/gifts image. */
#listanozze::before,
#listanozze::after,
#listanozze .cl-section-heading::before,
#listanozze .cl-section-heading::after,
#listanozze .cl-float-leaf{
  display:none!important;
  content:none!important;
  background-image:none!important;
}
#listanozze{background:#fffdfb!important;}
#listanozze .cl-gifts-grid,
#listanozze .cl-gifts-photo,
#listanozze .cl-gifts-photo img{
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
}
#listanozze .cl-gifts-grid{overflow:hidden!important;}

/* Same protection for the location image so no prior ornament can show below it. */
#location .cl-location-photo{
  overflow:hidden!important;
  background:#fff!important;
}
#location .cl-location-photo::before,
#location .cl-location-photo::after{display:none!important;content:none!important;}

@media (max-width:1024px){
  .cl-leaf-intro-left{width:112px!important;left:2.5%!important;top:42%!important;}
  .cl-leaf-intro-right{width:108px!important;right:2.5%!important;top:38%!important;}
  #cani{padding-top:26px!important;}
  #cani .cl-section-heading{min-height:78px!important;margin-bottom:10px!important;}
}

@media (max-width:767px){
  .cl-intro-soft img.cl-float-leaf{display:none!important;}
  #cani{padding-top:18px!important;}
  #cani .cl-section-heading{min-height:68px!important;margin-bottom:8px!important;}
}


/* ==========================================================
   v4.2 — subtle motion, gifts atmosphere, FAQ button, dogs rhythm
   ========================================================== */

/* Dogs: close the visual gap between the previous cards, title and dog cards. */
#nostrastoria{padding-bottom:30px!important;}
#cani{padding-top:10px!important;}
#cani .cl-section-heading{
  min-height:68px!important;
  margin-bottom:14px!important;
  padding-top:0!important;
}
#cani .cl-dogs-wrap{margin-top:0!important;}

/* Hotel Marrani: replace the raw URL with an actual button. */
.cl-faq-answer a.cl-inline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  margin-top:8px;
  padding:11px 19px;
  border:1px solid rgba(47,157,189,.28);
  border-radius:999px;
  background:#2f9dbd;
  color:#fff!important;
  font-family:var(--display);
  font-size:14px;
  font-weight:600;
  letter-spacing:.025em;
  line-height:1;
  text-decoration:none!important;
  box-shadow:0 8px 20px rgba(47,157,189,.18);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.cl-faq-answer a.cl-inline-btn::after{content:'↗';font-size:13px;opacity:.82}
.cl-faq-answer a.cl-inline-btn:hover{
  background:#278da9;
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(47,157,189,.23);
}

/* Gifts: soft blush atmosphere, two floating leaves at different heights. */
#listanozze{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 34%,rgba(242,213,227,.34),transparent 31%),
    radial-gradient(circle at 84% 72%,rgba(218,229,205,.25),transparent 29%),
    linear-gradient(180deg,#fffdfc 0%,#fff9fb 52%,#fffdfc 100%)!important;
}
#listanozze::before{
  display:block!important;
  content:""!important;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:var(--cl-rose-wash)!important;
  background-size:min(1180px,86%) auto!important;
  background-position:center 72%!important;
  background-repeat:no-repeat!important;
  opacity:.19!important;
}
#listanozze .cl-section-heading,
#listanozze .cl-gifts-grid{position:relative;z-index:2;}
#listanozze img.cl-float-leaf{
  display:block!important;
  position:absolute!important;
  height:auto!important;
  max-width:none!important;
  background:none!important;
  object-fit:contain;
  pointer-events:none!important;
  z-index:1!important;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 12px 24px rgba(76,92,69,.08));
}
#listanozze .cl-leaf-gifts-1{
  width:138px!important;
  left:2.5%!important;
  right:auto!important;
  top:34%!important;
  bottom:auto!important;
  opacity:.54!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-17deg)!important;
}
#listanozze .cl-leaf-gifts-2{
  width:156px!important;
  right:2.2%!important;
  left:auto!important;
  top:auto!important;
  bottom:10%!important;
  opacity:.48!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-10deg)!important;
}
#listanozze .cl-gifts-grid{
  box-shadow:0 18px 44px rgba(68,55,60,.09)!important;
}
#listanozze .cl-gifts-photo img{
  object-fit:cover;
  object-position:center center;
}

/* Hero mark: a quiet entrance on first load. */
@keyframes clHeroLogoIn{
  from{opacity:0;transform:translateY(16px) scale(.985);filter:blur(2px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
.cl-hero-logo img{
  animation:clHeroLogoIn 1.15s cubic-bezier(.22,.72,.25,1) .16s both;
}

/* Scroll entrance animation. JS only enables these when supported. */
body.cl-reveal-ready .cl-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .72s cubic-bezier(.22,.72,.25,1),
    transform .72s cubic-bezier(.22,.72,.25,1);
  transition-delay:var(--cl-reveal-delay,0ms);
  will-change:opacity,transform;
}
body.cl-reveal-ready .cl-reveal.cl-is-visible{
  opacity:1;
  transform:translateY(0);
}
body.cl-reveal-ready .cl-reveal-soft{
  transform:translateY(14px) scale(.995);
}
body.cl-reveal-ready .cl-reveal-soft.cl-is-visible{
  transform:translateY(0) scale(1);
}

@media (max-width:1024px){
  #nostrastoria{padding-bottom:24px!important;}
  #cani{padding-top:8px!important;}
  #cani .cl-section-heading{min-height:62px!important;margin-bottom:12px!important;}
  #listanozze .cl-leaf-gifts-1{width:104px!important;left:1%!important;top:31%!important;}
  #listanozze .cl-leaf-gifts-2{width:116px!important;right:1%!important;bottom:8%!important;}
}

@media (max-width:767px){
  #nostrastoria{padding-bottom:20px!important;}
  #cani{padding-top:6px!important;}
  #cani .cl-section-heading{min-height:58px!important;margin-bottom:10px!important;}
  #listanozze img.cl-float-leaf{display:none!important;}
  #listanozze::before{background-size:150% auto!important;opacity:.14!important;}
  .cl-faq-answer a.cl-inline-btn{font-size:13px;padding:10px 16px;}
}

@media (prefers-reduced-motion:reduce){
  .cl-hero-logo img{animation:none!important;}
  body.cl-reveal-ready .cl-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .cl-float-leaf{transition:none!important;}
}

/* ==========================================================
   v4.2 — reveal animations, gifts refresh, spacing polish
   ========================================================== */

/* Generic reveal animation on scroll */
body.cl-reveal-ready .cl-reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .72s ease, transform .72s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--cl-reveal-delay,0ms);
  will-change:opacity,transform;
}
body.cl-reveal-ready .cl-reveal.cl-is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* Hero logo: soft initial fade in */
.cl-reveal-hero{
  opacity:0;
  transform:translate3d(0,16px,0);
  animation:clHeroFade 1.15s cubic-bezier(.22,.61,.36,1) .28s forwards;
}
@keyframes clHeroFade{
  from{opacity:0;transform:translate3d(0,16px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* FAQ links become elegant buttons */
.cl-inline-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:12px 24px;
  border-radius:999px;
  background:linear-gradient(135deg,#37a7c3,#2c9fbc);
  color:#fff!important;
  text-decoration:none;
  font-family:var(--display);
  font-size:14px;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 12px 24px rgba(44,159,188,.22);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.cl-inline-btn:hover,
.cl-inline-btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(44,159,188,.28);
  filter:saturate(1.04);
}
#faq .cl-faq-answer p:last-child{margin-top:14px}

/* Intro floating leaves: make them unmistakably visible on desktop */
.cl-intro-soft .cl-float-leaf{
  z-index:3!important;
}
.cl-intro-soft img.cl-float-leaf,
#listanozze img.cl-float-leaf{
  background:none!important;
  object-fit:contain;
  height:auto;
}
.cl-leaf-intro-left{
  --size:172px;
  --left:calc(50% - 510px);
  --top:72px;
  --rotate:-18deg;
  --opacity:.84;
}
.cl-leaf-intro-right{
  --size:166px;
  --right:calc(50% - 505px);
  --top:88px;
  --rotate:18deg;
  --opacity:.82;
}

/* Dogs: tighten the title/cards spacing */
#cani{
  padding-top:6px!important;
}
#cani .cl-section-heading{
  min-height:54px!important;
  margin-bottom:2px!important;
  padding-top:0!important;
  align-items:flex-end!important;
}
#cani .cl-section-heading::before,
#cani .cl-section-heading::after{
  opacity:.22;
}
#cani .cl-dogs-wrap{
  margin-top:0!important;
}

/* Gifts section: softer background, different leaves, new image emphasis */
#listanozze{
  background:
    radial-gradient(circle at 50% 12%, rgba(247,225,236,.55), rgba(247,225,236,0) 32%),
    linear-gradient(180deg, #fffdfd 0%, #fffafc 100%);
}
#listanozze::before{
  background-size:min(1120px,86%) auto;
  background-position:center 10px;
  opacity:.28;
}
#listanozze::after{
  display:block!important;
  content:"";
  position:absolute;
  inset:auto 8% 42px 8%;
  height:190px;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 35%, rgba(237,214,228,.42), transparent 27%),
    radial-gradient(circle at 78% 64%, rgba(219,234,219,.24), transparent 24%),
    radial-gradient(circle at 48% 100%, rgba(244,230,238,.40), transparent 28%);
  opacity:.85;
  z-index:0;
}
#listanozze .cl-gifts-grid{
  background:rgba(255,255,255,.80)!important;
  backdrop-filter:blur(1px);
}
#listanozze .cl-gifts-photo{
  overflow:hidden;
  background:#f7f4f5;
}
#listanozze .cl-gifts-photo img{
  min-height:460px;
  object-position:center 52%;
}
#listanozze .cl-gifts-copy{
  background:linear-gradient(145deg,rgba(255,255,255,.92) 8%, rgba(246,235,241,.96) 100%);
}
#listanozze .cl-leaf-gifts-1{
  --size:150px;
  --left:3.2%;
  --top:180px;
  --rotate:-18deg;
  --opacity:.72;
}
#listanozze .cl-leaf-gifts-2{
  --size:168px;
  --right:2.8%;
  --bottom:92px;
  --rotate:20deg;
  --opacity:.64;
}

@media (min-width:1025px){
  .cl-inline-btn{font-size:14px}
  #cani .cl-section-heading{min-height:48px!important;margin-bottom:0!important}
  .cl-leaf-intro-left{--left:calc(50% - 560px);--top:68px;--size:184px}
  .cl-leaf-intro-right{--right:calc(50% - 552px);--top:84px;--size:178px}
}

@media (max-width:1024px){
  #cani{padding-top:2px!important}
  #cani .cl-section-heading{min-height:52px!important;margin-bottom:0!important}
  .cl-leaf-intro-left{--left:calc(50% - 300px);--top:76px;--size:116px;--opacity:.74}
  .cl-leaf-intro-right{--right:calc(50% - 298px);--top:80px;--size:112px;--opacity:.72}
  #listanozze .cl-gifts-photo img{min-height:0}
}

@media (max-width:767px){
  .cl-reveal,.cl-reveal-hero{transition:none;animation:none;opacity:1;transform:none}
  #cani{padding-top:10px!important}
  #cani .cl-section-heading{min-height:54px!important;margin-bottom:8px!important}
  #listanozze::after{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  .cl-reveal,.cl-reveal-hero,.cl-inline-btn{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
}


/* ==========================================================
   v4.3 — spacing polish, clean gifts wash, full RSVP photo
   ========================================================== */

/* Dogs: keep a little elegant breathing room between title and cards. */
#cani{padding-top:12px!important;}
#cani .cl-section-heading{
  min-height:64px!important;
  margin-bottom:24px!important;
  padding-top:0!important;
}
#cani .cl-dogs-wrap{margin-top:0!important;}

/* Story: bring the subtitle closer to the title. */
#nostrastoria .cl-section-heading{
  min-height:78px!important;
  margin-bottom:2px!important;
  padding-top:8px!important;
}
#nostrastoria .cl-kicker{
  margin-top:0!important;
  margin-bottom:32px!important;
}

/* Gifts: same soft atmosphere, but use a clean watercolor without the blue line-art flower. */
#listanozze::before{
  background-image:url('../img/decor/bg-rose-watercolor-clean.webp')!important;
  background-size:min(1120px,86%) auto!important;
  background-position:center 10px!important;
  background-repeat:no-repeat!important;
}

/* RSVP: show the whole hero photo instead of cropping the top edge. */
.cl-rsvp-photo{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
}

@media (max-width:1024px){
  #cani .cl-section-heading{margin-bottom:20px!important;}
  #nostrastoria .cl-section-heading{min-height:72px!important;margin-bottom:0!important;}
  #nostrastoria .cl-kicker{margin-bottom:28px!important;}
}

@media (max-width:767px){
  #cani .cl-section-heading{margin-bottom:16px!important;}
  #nostrastoria .cl-section-heading{min-height:64px!important;padding-top:4px!important;}
  #nostrastoria .cl-kicker{margin-bottom:24px!important;}
  .cl-rsvp-photo{height:auto!important;max-height:none!important;object-fit:contain!important;}
}

/* ==========================================================
   v4.4 — lighter blush theme, unified section atmospheres,
   graceful floating petals, polished gifts/gallery transition
   ========================================================== */

:root{
  --cl-blush-light:rgba(247,222,234,.16);
  --cl-blush-lighter:rgba(247,222,234,.10);
  --cl-blush-green:rgba(219,232,220,.10);
}

main#top{
  position:relative;
  isolation:isolate;
  background:linear-gradient(180deg,#fffdfd 0%,#fffcfd 100%);
}
main#top > section,
main#top > .cl-countdown,
main#top > .cl-couple,
main#top > .cl-contact,
main#top > .cl-map{
  position:relative;
  z-index:1;
}

/* Global, ultra-light rose petals drifting across the page. */
.cl-petal-stage{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.cl-petal{
  position:absolute;
  left:var(--left,0%);
  top:var(--top,-8%);
  width:var(--w,34px);
  height:var(--h,24px);
  opacity:var(--o,.26);
  background-image:var(--cl-petal-img);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  filter:drop-shadow(0 10px 18px rgba(240,173,200,.10));
  transform:translate3d(0,0,0) rotate(var(--r,0deg));
  transform-origin:center;
  animation:
    clPetalFall var(--dur,18s) linear var(--delay,0s) infinite,
    clPetalSway var(--sway,5.8s) ease-in-out var(--delay,0s) infinite alternate;
  will-change:transform,opacity;
}
.cl-petal::after{content:none}

/* Local decorative petals placed only in selected white areas of sections. */
.cl-section-petal{
  position:absolute!important;
  z-index:0!important;
  width:var(--pw,30px);
  aspect-ratio:1 / .78;
  left:var(--left,auto);
  right:var(--right,auto);
  top:var(--top,auto);
  bottom:var(--bottom,auto);
  opacity:var(--po,.22);
  pointer-events:none;
  background-image:var(--cl-petal-img);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  transform:rotate(var(--pr,0deg));
  filter:drop-shadow(0 8px 16px rgba(240,173,200,.08));
  animation:clPetalFloat 6.5s ease-in-out infinite alternate;
}
#cani .cl-section-petal{opacity:var(--po,.17)}
#programma .cl-section-petal{opacity:var(--po,.16)}
.cl-petal-dogs-1{--pw:32px;--top:92px;--left:11%;--pr:-18deg;--po:.15;animation-delay:-1.4s}
.cl-petal-dogs-2{--pw:24px;--top:164px;--right:13%;--pr:12deg;--po:.13;animation-delay:-3.2s}
.cl-petal-dogs-3{--pw:28px;--bottom:34px;--left:48%;--pr:28deg;--po:.12;animation-delay:-5s}
.cl-petal-program-1{--pw:28px;--top:118px;--right:8%;--pr:-16deg;--po:.14;animation-delay:-2s}
.cl-petal-program-2{--pw:22px;--top:230px;--right:4%;--pr:18deg;--po:.12;animation-delay:-4.5s}
.cl-petal-program-3{--pw:30px;--bottom:34px;--left:57%;--pr:-24deg;--po:.11;animation-delay:-1s}
@keyframes clPetalFloat{
  from{transform:translate3d(0,0,0) rotate(var(--pr,0deg))}
  to{transform:translate3d(6px,-8px,0) rotate(calc(var(--pr,0deg) + 8deg))}
}
@keyframes clPetalFall{
  0%{transform:translate3d(0,-10vh,0) rotate(var(--r,0deg));opacity:0}
  8%{opacity:var(--o,.30)}
  100%{transform:translate3d(var(--drift,28px),110vh,0) rotate(calc(var(--r,0deg) + var(--spin,40deg)));opacity:0}
}
@keyframes clPetalSway{
  from{margin-left:-8px}
  to{margin-left:10px}
}
.cl-petal-1{--left:4%;--top:-8%;--w:28px;--h:20px;--o:.24;--r:-16deg;--dur:22s;--delay:-2s;--drift:30px;--spin:38deg}
.cl-petal-2{--left:12%;--top:-14%;--w:18px;--h:13px;--o:.20;--r:12deg;--dur:18s;--delay:-9s;--drift:-16px;--spin:-34deg}
.cl-petal-3{--left:23%;--top:-10%;--w:32px;--h:24px;--o:.26;--r:14deg;--dur:20s;--delay:-5s;--drift:24px;--spin:46deg}
.cl-petal-4{--left:34%;--top:-16%;--w:22px;--h:16px;--o:.18;--r:-22deg;--dur:24s;--delay:-12s;--drift:-22px;--spin:22deg}
.cl-petal-5{--left:48%;--top:-12%;--w:38px;--h:27px;--o:.22;--r:20deg;--dur:21s;--delay:-4s;--drift:34px;--spin:-40deg}
.cl-petal-6{--left:58%;--top:-20%;--w:16px;--h:12px;--o:.17;--r:32deg;--dur:17s;--delay:-7s;--drift:12px;--spin:26deg}
.cl-petal-7{--left:66%;--top:-9%;--w:30px;--h:22px;--o:.24;--r:-10deg;--dur:23s;--delay:-14s;--drift:-28px;--spin:42deg}
.cl-petal-8{--left:75%;--top:-15%;--w:20px;--h:14px;--o:.20;--r:8deg;--dur:19s;--delay:-10s;--drift:20px;--spin:-24deg}
.cl-petal-9{--left:83%;--top:-13%;--w:42px;--h:30px;--o:.20;--r:26deg;--dur:26s;--delay:-3s;--drift:26px;--spin:48deg}
.cl-petal-10{--left:91%;--top:-7%;--w:26px;--h:18px;--o:.17;--r:-18deg;--dur:22s;--delay:-11s;--drift:-18px;--spin:-30deg}
.cl-petal-11{--left:37%;--top:-5%;--w:14px;--h:10px;--o:.13;--r:-30deg;--dur:16s;--delay:-1s;--drift:10px;--spin:18deg}
.cl-petal-12{--left:54%;--top:-18%;--w:24px;--h:17px;--o:.16;--r:18deg;--dur:25s;--delay:-15s;--drift:-12px;--spin:34deg}
.cl-petal-13{--left:7%;--top:-20%;--w:20px;--h:14px;--o:.13;--r:22deg;--dur:24s;--delay:-6s;--drift:14px;--spin:20deg}
.cl-petal-14{--left:29%;--top:-12%;--w:24px;--h:17px;--o:.15;--r:-12deg;--dur:28s;--delay:-18s;--drift:-14px;--spin:-18deg}
.cl-petal-15{--left:71%;--top:-17%;--w:18px;--h:13px;--o:.12;--r:16deg;--dur:21s;--delay:-8s;--drift:18px;--spin:22deg}
.cl-petal-16{--left:88%;--top:-15%;--w:28px;--h:20px;--o:.14;--r:-24deg;--dur:27s;--delay:-13s;--drift:-16px;--spin:-26deg}

/* Make the pink watercolor more delicate everywhere and align section moods. */
.cl-intro-soft,
#nostrastoria,
#programma,
#location,
#listanozze,
#foto{
  background-color:#fffdfd!important;
}
.cl-intro-soft{
  background-image:
    linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.84)),
    var(--cl-rose-wash)!important;
  background-size:cover,min(1500px,105%) auto!important;
  background-position:center,center 6px!important;
}
.cl-intro-soft::before{
  background:radial-gradient(circle at 50% 40%, rgba(248,219,235,.24), transparent 60%)!important;
}

#nostrastoria,
#programma,
#location,
#listanozze,
#foto{
  position:relative;
}
#nostrastoria::before,
#programma::before,
#location::before,
#listanozze::before,
#foto::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-repeat:no-repeat!important;
}

/* Story / program / location get a whisper of watercolor, not a strong pink block. */
#nostrastoria::before{
  background:
    radial-gradient(circle at 18% 24%, var(--cl-blush-light), transparent 26%),
    radial-gradient(circle at 82% 22%, rgba(247,222,234,.14), transparent 24%),
    url('../img/decor/bg-rose-watercolor-clean.webp') center -16px / min(1500px,112%) auto no-repeat;
  opacity:.10!important;
}
#programma::before{
  display:block!important;
  background:
    radial-gradient(circle at 24% 18%, rgba(247,222,234,.12), transparent 22%),
    radial-gradient(circle at 76% 80%, rgba(244,232,238,.14), transparent 24%),
    url('../img/decor/bg-rose-watercolor-clean.webp') center top / min(1480px,108%) auto no-repeat;
  opacity:.09!important;
}
#location::before{
  background:
    radial-gradient(circle at 18% 18%, rgba(218,233,219,.14), transparent 22%),
    radial-gradient(circle at 80% 22%, rgba(247,222,234,.10), transparent 24%),
    url('../img/decor/bg-rose-watercolor-clean.webp') center top / min(1520px,110%) auto no-repeat!important;
  opacity:.08!important;
}

/* Gifts + gallery share the same soft wash so the transition feels seamless. */
#listanozze,
#foto{
  background:
    linear-gradient(180deg,rgba(255,253,253,.98) 0%, rgba(255,251,252,.98) 100%)!important;
}
#listanozze::before,
#foto::before{
  background-image:url('../img/decor/bg-rose-watercolor-clean.webp')!important;
  background-size:min(1650px,122%) auto!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  opacity:.10!important;
}
#listanozze::after,
#foto::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:180px;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 14% 86%, rgba(247,222,234,.16), transparent 26%),
    radial-gradient(circle at 50% 96%, rgba(247,222,234,.12), transparent 24%),
    radial-gradient(circle at 84% 88%, rgba(218,233,219,.10), transparent 24%);
  opacity:.82;
}
#foto::before{
  background-position:center -38px!important;
  opacity:.095!important;
}
#foto::after{
  top:0;bottom:auto;height:140px;
  background:
    radial-gradient(circle at 20% 0%, rgba(247,222,234,.12), transparent 28%),
    radial-gradient(circle at 78% 6%, rgba(247,222,234,.10), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(247,222,234,0), transparent 100%);
  opacity:.70;
}
#listanozze .cl-section-heading,
#listanozze .cl-gifts-grid,
#foto .cl-section-heading,
#foto .cl-gallery{position:relative;z-index:2;}

/* Keep only the elegant decorative leaves in gifts; hide any hard background edge. */
#listanozze{
  padding-bottom:78px!important;
}
#listanozze .cl-gifts-grid{
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 20px 48px rgba(68,55,60,.08)!important;
}
#listanozze .cl-gifts-copy{
  background:linear-gradient(145deg,rgba(255,255,255,.94) 10%, rgba(248,241,245,.95) 100%)!important;
}
#listanozze .cl-gifts-photo{
  background:#f8f5f6;
}
#listanozze .cl-gifts-photo img{
  object-position:center 48%!important;
}

/* A touch more harmony and less white emptiness in the photo gallery section. */
#foto{padding-top:52px!important;padding-bottom:42px!important;}
#foto .cl-section-heading{min-height:86px!important;margin-bottom:26px!important;}

/* Keep the dogs spacing comfortable. */
#cani{padding-top:18px!important;}
#cani .cl-section-heading{margin-bottom:32px!important;min-height:68px!important;}

/* Reduced-motion respect. */
@media (prefers-reduced-motion:reduce){
  .cl-petal{animation:none!important;opacity:.12}
}

@media (max-width:1024px){
  .cl-petal-stage{opacity:.82}
  .cl-intro-soft{background-size:cover,125% auto!important;background-position:center,center 10px!important}
  #listanozze::before,#foto::before{background-size:155% auto!important;opacity:.085!important}
  #listanozze::after{height:140px}
  #cani .cl-section-heading{margin-bottom:26px!important}
}

@media (max-width:767px){
  .cl-petal-stage{opacity:.65}
  .cl-petal:nth-child(odd){display:none}
  .cl-intro-soft{background-size:cover,175% auto!important;background-position:center,center 14px!important}
  #nostrastoria::before,#programma::before,#location::before,#listanozze::before,#foto::before{background-size:175% auto!important;opacity:.08!important}
  #listanozze::after,#foto::after{height:96px;opacity:.55}
  #listanozze .cl-gifts-grid{background:rgba(255,255,255,.92)!important}
  #cani{padding-top:14px!important}
  #cani .cl-section-heading{margin-bottom:22px!important;min-height:62px!important}
}


/* ==========================================================
   v4.7 — stronger decorative petals + balanced intro leaves
   ========================================================== */

/* Ci sposiamo: side leaves slightly larger and aligned with equal margins. */
.cl-intro-soft .cl-leaf-intro-left,
.cl-intro-soft .cl-leaf-intro-right{
  top:46%!important;
  width:clamp(150px,11vw,210px)!important;
  opacity:.72!important;
}
.cl-intro-soft .cl-leaf-intro-left{
  left:clamp(28px,4.2vw,72px)!important;
  right:auto!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-17deg)!important;
}
.cl-intro-soft .cl-leaf-intro-right{
  right:clamp(28px,4.2vw,72px)!important;
  left:auto!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-17deg)!important;
}

/* Programma: add two visible leaves in the white area, not behind the photo. */
.cl-leaf-program-left,
.cl-leaf-program-right{
  position:absolute;
  z-index:1;
}
.cl-leaf-program-left{
  --size:126px;
  --top:110px;
  --left:3.2%;
  --rotate:-16deg;
  --opacity:.52;
}
.cl-leaf-program-right{
  --size:122px;
  --top:114px;
  --right:3.2%;
  --rotate:16deg;
  --opacity:.48;
}

/* Make section petals clearly visible and react to scrolling/mouse movement through JS. */
.cl-section-petal{
  position:absolute!important;
  z-index:1!important;
  width:var(--pw,48px)!important;
  aspect-ratio:1 / .78;
  opacity:var(--po,.30)!important;
  background-image:var(--cl-petal-img)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  filter:drop-shadow(0 10px 18px rgba(236,164,193,.18));
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(var(--pr,0deg));
  transform-origin:center;
  transition:transform .22s ease-out, opacity .25s ease;
  will-change:transform;
}
#cani .cl-section-petal{opacity:var(--po,.28)!important}
#programma .cl-section-petal{opacity:var(--po,.26)!important}
#listanozze .cl-section-petal{opacity:var(--po,.30)!important}

/* Dogs petals */
.cl-petal-dogs-1{--pw:52px;--top:92px;--left:12%;--pr:-18deg;--po:.28}
.cl-petal-dogs-2{--pw:44px;--top:176px;--right:12%;--pr:12deg;--po:.24}
.cl-petal-dogs-3{--pw:48px;--bottom:46px;--left:49%;--pr:24deg;--po:.23}

/* Program petals */
.cl-petal-program-1{--pw:50px;--top:116px;--right:10%;--pr:-16deg;--po:.24}
.cl-petal-program-2{--pw:42px;--top:228px;--right:5.5%;--pr:18deg;--po:.22}
.cl-petal-program-3{--pw:54px;--bottom:42px;--left:58%;--pr:-24deg;--po:.20}

/* Lista di nozze petals: clearly visible, mostly in the white/open areas. */
.cl-petal-gifts-1{--pw:60px;--top:108px;--right:8%;--pr:-12deg;--po:.30}
.cl-petal-gifts-2{--pw:46px;--top:182px;--left:11%;--pr:18deg;--po:.25}
.cl-petal-gifts-3{--pw:56px;--bottom:72px;--right:16%;--pr:14deg;--po:.28}
.cl-petal-gifts-4{--pw:42px;--bottom:34px;--left:46%;--pr:-22deg;--po:.22}

/* Gallery: keep two visible leaves around the title. */
.cl-leaf-gallery-1{
  --size:126px!important;
  --top:104px!important;
  --left:3.5%!important;
  --rotate:-14deg!important;
  --opacity:.48!important;
}
.cl-leaf-gallery-2{
  --size:120px!important;
  --top:108px!important;
  --right:3.5%!important;
  --rotate:15deg!important;
  --opacity:.44!important;
}

@media (max-width:1200px){
  .cl-intro-soft .cl-leaf-intro-left,.cl-intro-soft .cl-leaf-intro-right{width:140px!important;top:48%!important;}
  .cl-leaf-program-left{--size:108px;--left:2.2%;--top:124px}
  .cl-leaf-program-right{--size:104px;--right:2.2%;--top:128px}
}
@media (max-width:1024px){
  .cl-section-petal,.cl-leaf-program-left,.cl-leaf-program-right{display:none!important;}
}


/* ==========================================================
   v4.8 — petals above the boxes + heading-side leaves
   ========================================================== */

/* Keep decorative petals above cards/boxes instead of behind them. */
.cl-section-petal{
  z-index:5!important;
  opacity:var(--po,.34)!important;
  filter:drop-shadow(0 12px 20px rgba(236,164,193,.22))!important;
}
#cani .cl-dogs-wrap,
#programma .cl-program,
#listanozze .cl-gifts-grid{
  position:relative;
  z-index:2!important;
}
#cani .cl-section-petal{opacity:var(--po,.30)!important}
#programma .cl-section-petal{opacity:var(--po,.30)!important}
#listanozze .cl-section-petal{opacity:var(--po,.34)!important}

/* Programma: place the two leaves beside the title, fully visible. */
#programma .cl-leaf-program-left,
#programma .cl-leaf-program-right{
  z-index:4!important;
  top:132px!important;
}
#programma .cl-leaf-program-left{
  left:calc(50% - 365px)!important;
  right:auto!important;
  width:118px!important;
  opacity:.56!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-16deg)!important;
}
#programma .cl-leaf-program-right{
  right:calc(50% - 365px)!important;
  left:auto!important;
  width:114px!important;
  opacity:.54!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-16deg)!important;
}

/* Lista di nozze: leaves above the content box, not behind it. */
#listanozze .cl-leaf-gifts-1,
#listanozze .cl-leaf-gifts-2{
  z-index:4!important;
  top:138px!important;
  bottom:auto!important;
  opacity:.58!important;
}
#listanozze .cl-leaf-gifts-1{
  left:3.4%!important;
  right:auto!important;
  width:124px!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-15deg)!important;
}
#listanozze .cl-leaf-gifts-2{
  right:3.4%!important;
  left:auto!important;
  width:120px!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-13deg)!important;
}

/* More visible petals over the dogs cards. */
.cl-petal-dogs-1{--pw:56px;--top:96px;--left:9%;--pr:-18deg;--po:.32}
.cl-petal-dogs-2{--pw:48px;--top:188px;--right:10%;--pr:12deg;--po:.28}
.cl-petal-dogs-3{--pw:54px;--bottom:32px;--left:47%;--pr:24deg;--po:.27}
.cl-petal-dogs-4{--pw:46px;--top:340px;--left:27%;--pr:-10deg;--po:.25}
.cl-petal-dogs-5{--pw:50px;--bottom:74px;--right:24%;--pr:18deg;--po:.26}

/* More visible petals over the Programma box area. */
.cl-petal-program-1{--pw:56px;--top:178px;--left:21%;--pr:-16deg;--po:.30}
.cl-petal-program-2{--pw:48px;--top:236px;--right:10%;--pr:18deg;--po:.27}
.cl-petal-program-3{--pw:58px;--bottom:56px;--left:58%;--pr:-24deg;--po:.25}
.cl-petal-program-4{--pw:44px;--top:432px;--left:48%;--pr:14deg;--po:.24}
.cl-petal-program-5{--pw:52px;--bottom:160px;--right:12%;--pr:-10deg;--po:.23}

/* Lista di nozze: many visible petals over the card area. */
.cl-petal-gifts-1{--pw:60px;--top:166px;--left:18%;--pr:-12deg;--po:.34}
.cl-petal-gifts-2{--pw:52px;--top:226px;--right:12%;--pr:18deg;--po:.30}
.cl-petal-gifts-3{--pw:58px;--bottom:82px;--right:18%;--pr:14deg;--po:.32}
.cl-petal-gifts-4{--pw:48px;--bottom:34px;--left:46%;--pr:-22deg;--po:.26}
.cl-petal-gifts-5{--pw:44px;--top:126px;--right:5.5%;--pr:-6deg;--po:.28}
.cl-petal-gifts-6{--pw:50px;--top:356px;--left:8%;--pr:22deg;--po:.26}
.cl-petal-gifts-7{--pw:46px;--bottom:140px;--left:58%;--pr:-18deg;--po:.24}

@media (max-width:1360px){
  #programma .cl-leaf-program-left{left:calc(50% - 320px)!important;width:108px!important;}
  #programma .cl-leaf-program-right{right:calc(50% - 320px)!important;width:104px!important;}
}
@media (max-width:1180px){
  #programma .cl-leaf-program-left{left:calc(50% - 270px)!important;width:96px!important;}
  #programma .cl-leaf-program-right{right:calc(50% - 270px)!important;width:92px!important;}
  #listanozze .cl-leaf-gifts-1{width:110px!important;left:2.4%!important;}
  #listanozze .cl-leaf-gifts-2{width:106px!important;right:2.4%!important;}
}


/* ==========================================================
   v4.9 — intro leaves lifted slightly + more delicate petals
   ========================================================== */

/* Move the intro leaves a little higher while keeping equal margins. */
.cl-intro-soft .cl-leaf-intro-left,
.cl-intro-soft .cl-leaf-intro-right{
  top:40%!important;
}
@media (max-width:1200px){
  .cl-intro-soft .cl-leaf-intro-left,
  .cl-intro-soft .cl-leaf-intro-right{top:42%!important;}
}

/* Add a few more soft floating petals across the page. */
.cl-petal-stage{opacity:.96!important;}
.cl-petal-17{--left:9%;--top:-18%;--w:24px;--h:17px;--o:.15;--r:-8deg;--dur:24s;--delay:-4s;--drift:18px;--spin:24deg}
.cl-petal-18{--left:19%;--top:-11%;--w:34px;--h:24px;--o:.18;--r:16deg;--dur:22s;--delay:-10s;--drift:-20px;--spin:-28deg}
.cl-petal-19{--left:31%;--top:-22%;--w:20px;--h:14px;--o:.14;--r:-20deg;--dur:27s;--delay:-13s;--drift:14px;--spin:20deg}
.cl-petal-20{--left:43%;--top:-9%;--w:30px;--h:21px;--o:.17;--r:10deg;--dur:20s;--delay:-6s;--drift:24px;--spin:32deg}
.cl-petal-21{--left:57%;--top:-16%;--w:22px;--h:15px;--o:.15;--r:24deg;--dur:25s;--delay:-8s;--drift:-12px;--spin:-18deg}
.cl-petal-22{--left:68%;--top:-12%;--w:36px;--h:26px;--o:.18;--r:-14deg;--dur:23s;--delay:-15s;--drift:20px;--spin:28deg}
.cl-petal-23{--left:79%;--top:-19%;--w:18px;--h:13px;--o:.13;--r:18deg;--dur:26s;--delay:-5s;--drift:-16px;--spin:-22deg}
.cl-petal-24{--left:92%;--top:-10%;--w:28px;--h:20px;--o:.16;--r:-26deg;--dur:21s;--delay:-12s;--drift:16px;--spin:26deg}


/* ==========================================================
   v5.0 — more sitewide petals + program leaf by the title
   ========================================================== */

/* Global floating petals: add a few more, still soft and airy. */
.cl-petal-stage{opacity:1!important;}
.cl-petal-25{--left:6%;--top:-9%;--w:26px;--h:18px;--o:.16;--r:12deg;--dur:23s;--delay:-3s;--drift:18px;--spin:24deg}
.cl-petal-26{--left:15%;--top:-17%;--w:20px;--h:14px;--o:.14;--r:-20deg;--dur:27s;--delay:-9s;--drift:-14px;--spin:-18deg}
.cl-petal-27{--left:28%;--top:-7%;--w:32px;--h:23px;--o:.18;--r:10deg;--dur:22s;--delay:-12s;--drift:22px;--spin:28deg}
.cl-petal-28{--left:40%;--top:-19%;--w:18px;--h:13px;--o:.13;--r:24deg;--dur:25s;--delay:-6s;--drift:12px;--spin:20deg}
.cl-petal-29{--left:53%;--top:-10%;--w:30px;--h:21px;--o:.17;--r:-16deg;--dur:24s;--delay:-14s;--drift:-20px;--spin:-24deg}
.cl-petal-30{--left:64%;--top:-18%;--w:22px;--h:15px;--o:.15;--r:14deg;--dur:21s;--delay:-7s;--drift:16px;--spin:22deg}
.cl-petal-31{--left:82%;--top:-8%;--w:34px;--h:24px;--o:.18;--r:-10deg;--dur:26s;--delay:-10s;--drift:24px;--spin:30deg}
.cl-petal-32{--left:95%;--top:-16%;--w:20px;--h:14px;--o:.14;--r:18deg;--dur:23s;--delay:-5s;--drift:-12px;--spin:-20deg}

/* Programma: keep a single green leaf clearly beside the title. */
#programma .cl-leaf-program-left{display:none!important;}
#programma .cl-section-heading{position:relative;z-index:6!important;}
#programma .cl-leaf-program-right{
  z-index:6!important;
  top:108px!important;
  right:calc(50% - 300px)!important;
  width:126px!important;
  opacity:.58!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-14deg)!important;
}
@media (max-width:1360px){
  #programma .cl-leaf-program-right{right:calc(50% - 265px)!important;width:114px!important;}
}
@media (max-width:1180px){
  #programma .cl-leaf-program-right{right:calc(50% - 230px)!important;width:100px!important;top:116px!important;}
}

/* Lista di nozze: leaves and petals must stay above the white box. */
#listanozze{overflow:visible!important;}
#listanozze > .cl-float-leaf,
#listanozze > .cl-section-petal{z-index:7!important;}
#listanozze .cl-gifts-grid{position:relative;z-index:2!important;overflow:visible!important;}
#listanozze .cl-leaf-gifts-1,
#listanozze .cl-leaf-gifts-2{top:118px!important;opacity:.60!important;}
#listanozze .cl-leaf-gifts-1{left:2.6%!important;width:126px!important;}
#listanozze .cl-leaf-gifts-2{right:2.6%!important;width:122px!important;}
#listanozze .cl-section-petal{opacity:var(--po,.36)!important;}
.cl-petal-gifts-1{--pw:62px;--top:122px;--left:17%;--pr:-12deg;--po:.36}
.cl-petal-gifts-2{--pw:54px;--top:178px;--right:11%;--pr:18deg;--po:.32}
.cl-petal-gifts-3{--pw:58px;--bottom:74px;--right:17%;--pr:14deg;--po:.34}
.cl-petal-gifts-4{--pw:48px;--bottom:26px;--left:45%;--pr:-22deg;--po:.28}
.cl-petal-gifts-5{--pw:46px;--top:108px;--right:5%;--pr:-6deg;--po:.30}
.cl-petal-gifts-6{--pw:52px;--top:334px;--left:7%;--pr:22deg;--po:.29}
.cl-petal-gifts-7{--pw:48px;--bottom:130px;--left:57%;--pr:-18deg;--po:.27}
.cl-petal-gifts-8{--pw:44px;--top:246px;--left:36%;--pr:12deg;--po:.28}
.cl-petal-gifts-9{--pw:56px;--top:214px;--right:29%;--pr:-16deg;--po:.30}
.cl-petal-gifts-10{--pw:42px;--bottom:24px;--right:6%;--pr:20deg;--po:.27}


/* ==========================================================
   v5.1 — more petals in more sections of the site
   ========================================================== */

/* Extra global petals, still very soft. */
.cl-petal-33{--left:3%;--top:-14%;--w:22px;--h:15px;--o:.14;--r:-14deg;--dur:26s;--delay:-7s;--drift:16px;--spin:18deg}
.cl-petal-34{--left:11%;--top:-6%;--w:30px;--h:21px;--o:.17;--r:18deg;--dur:24s;--delay:-11s;--drift:-18px;--spin:-24deg}
.cl-petal-35{--left:26%;--top:-16%;--w:18px;--h:13px;--o:.13;--r:12deg;--dur:22s;--delay:-3s;--drift:12px;--spin:20deg}
.cl-petal-36{--left:38%;--top:-8%;--w:28px;--h:20px;--o:.16;--r:-20deg;--dur:27s;--delay:-15s;--drift:22px;--spin:26deg}
.cl-petal-37{--left:51%;--top:-18%;--w:20px;--h:14px;--o:.14;--r:16deg;--dur:23s;--delay:-9s;--drift:-12px;--spin:-18deg}
.cl-petal-38{--left:63%;--top:-7%;--w:32px;--h:23px;--o:.18;--r:-10deg;--dur:25s;--delay:-6s;--drift:18px;--spin:24deg}
.cl-petal-39{--left:77%;--top:-15%;--w:18px;--h:13px;--o:.13;--r:22deg;--dur:21s;--delay:-12s;--drift:14px;--spin:-16deg}
.cl-petal-40{--left:89%;--top:-9%;--w:26px;--h:18px;--o:.15;--r:-16deg;--dur:24s;--delay:-4s;--drift:16px;--spin:22deg}

/* More local petals in additional sections. */
.cl-intro-soft .cl-section-petal{z-index:4!important;opacity:var(--po,.28)!important}
.cl-petal-intro-1{--pw:44px;--top:54px;--left:18%;--pr:-16deg;--po:.24}
.cl-petal-intro-2{--pw:38px;--top:74px;--right:20%;--pr:18deg;--po:.22}
.cl-petal-intro-3{--pw:48px;--bottom:18px;--left:49%;--pr:-10deg;--po:.20}

#nostrastoria .cl-section-petal{z-index:4!important;opacity:var(--po,.28)!important}
.cl-petal-story-1{--pw:46px;--top:104px;--left:13%;--pr:-14deg;--po:.24}
.cl-petal-story-2{--pw:42px;--top:154px;--right:11%;--pr:16deg;--po:.22}
.cl-petal-story-3{--pw:40px;--bottom:74px;--left:8%;--pr:20deg;--po:.20}
.cl-petal-story-4{--pw:50px;--bottom:52px;--right:14%;--pr:-18deg;--po:.24}

#location .cl-section-petal{z-index:4!important;opacity:var(--po,.26)!important}
.cl-petal-location-1{--pw:44px;--top:110px;--left:15%;--pr:-12deg;--po:.22}
.cl-petal-location-2{--pw:48px;--top:186px;--right:12%;--pr:18deg;--po:.24}
.cl-petal-location-3{--pw:42px;--bottom:38px;--left:56%;--pr:-20deg;--po:.20}

#foto .cl-section-petal{z-index:4!important;opacity:var(--po,.28)!important}
.cl-petal-gallery-1{--pw:46px;--top:108px;--left:16%;--pr:-16deg;--po:.24}
.cl-petal-gallery-2{--pw:40px;--top:126px;--right:16%;--pr:20deg;--po:.22}
.cl-petal-gallery-3{--pw:44px;--bottom:22px;--left:9%;--pr:12deg;--po:.20}
.cl-petal-gallery-4{--pw:50px;--bottom:30px;--right:10%;--pr:-22deg;--po:.24}

.cl-contact{position:relative;overflow:hidden}
#contatti .cl-section-petal{z-index:4!important;opacity:var(--po,.22)!important}
.cl-petal-contact-1{--pw:40px;--top:14px;--left:18%;--pr:-14deg;--po:.18}
.cl-petal-contact-2{--pw:44px;--top:22px;--right:16%;--pr:18deg;--po:.20}


/* ==========================================================
   v5.2 — petals slightly more visible while staying delicate
   ========================================================== */

/* Boost the floating petals without making them heavy. */
@keyframes clPetalFall{
  0%{transform:translate3d(0,-10vh,0) rotate(var(--r,0deg));opacity:0}
  8%{opacity:calc(var(--o,.30) + .10)}
  88%{opacity:calc(var(--o,.30) + .07)}
  100%{transform:translate3d(var(--drift,28px),110vh,0) rotate(calc(var(--r,0deg) + var(--spin,40deg)));opacity:0}
}

/* Section petals: a little less transparent, still soft. */
.cl-intro-soft .cl-section-petal,
#nostrastoria .cl-section-petal,
#cani .cl-section-petal,
#programma .cl-section-petal,
#location .cl-section-petal,
#listanozze .cl-section-petal,
#foto .cl-section-petal,
#contatti .cl-section-petal{
  opacity:calc(var(--po,.28) + .10)!important;
  filter:drop-shadow(0 12px 20px rgba(236,164,193,.26)) saturate(1.04)!important;
}


/* ==========================================================
   v5.3 — final placement fixes requested after visual review
   ========================================================== */

/* 1) Ci sposiamo: move the side leaves a bit higher. */
.cl-intro-soft .cl-leaf-intro-left,
.cl-intro-soft .cl-leaf-intro-right{
  top:34%!important;
  opacity:.74!important;
}
@media (max-width:1200px){
  .cl-intro-soft .cl-leaf-intro-left,
  .cl-intro-soft .cl-leaf-intro-right{top:38%!important;}
}
@media (max-width:900px){
  .cl-intro-soft .cl-leaf-intro-left,
  .cl-intro-soft .cl-leaf-intro-right{top:40%!important;}
}

/* 2) Gallery area: remove that nearby petal and make the leaf clearer. */
#foto .cl-petal-gallery-2{display:none!important;}
#foto .cl-leaf-gallery-2{
  opacity:.62!important;
  top:98px!important;
  right:3.8%!important;
  width:126px!important;
}

/* 3) Add one extra green leaf in I nostri cani. */
.cl-leaf-dogs-3{
  --size:118px;
  --top:94px;
  --right:4.5%;
  --rotate:16deg;
  --opacity:.42;
}

/* 4) Put rose petals around the location text block. */
#location{overflow:hidden;}
#location .cl-location-copy{position:relative;z-index:2;}
#location .cl-section-petal{z-index:3!important;opacity:calc(var(--po,.22) + .12)!important;}
.cl-petal-location-1{--pw:46px;--top:106px;--left:16%;--pr:-12deg;--po:.24}
.cl-petal-location-2{--pw:50px;--top:190px;--right:14%;--pr:18deg;--po:.26}
.cl-petal-location-3{--pw:44px;--top:286px;--left:61%;--pr:-18deg;--po:.22}

/* 5) FAQ background must stay visually stable when opening an answer. */
.cl-faq{
  position:relative;
  background-color:#5a4349!important;
}
.cl-faq::before{
  inset:auto 0 0 0;
  top:0;
  bottom:auto;
  height:560px;
  background-image:linear-gradient(rgba(53,31,38,.42),rgba(53,31,38,.42)),var(--cl-faq-bg)!important;
  background-size:100% 100%,cover!important;
  background-position:center center,center top!important;
  background-repeat:no-repeat,no-repeat!important;
}
@media (max-width:1200px){
  .cl-faq::before{height:520px;}
}
@media (max-width:767px){
  .cl-faq::before{height:460px;}
}

/* 6) Lista di nozze: keep the green leaves above the text box. */
#listanozze{overflow:visible!important;}
#listanozze .cl-gifts-grid{position:relative;z-index:2;overflow:visible!important;}
#listanozze .cl-leaf-gifts-1,
#listanozze .cl-leaf-gifts-2{
  z-index:8!important;
  top:92px!important;
  bottom:auto!important;
  opacity:.72!important;
}
#listanozze .cl-leaf-gifts-1{
  left:47.5%!important;
  right:auto!important;
  width:116px!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-14deg)!important;
}
#listanozze .cl-leaf-gifts-2{
  right:2.6%!important;
  left:auto!important;
  width:118px!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-12deg)!important;
}
#listanozze > .cl-section-petal{z-index:7!important;}

/* Programma: keep the single leaf right beside the title. */
#programma .cl-leaf-program-right{
  top:78px!important;
  right:calc(50% - 270px)!important;
  width:118px!important;
  opacity:.60!important;
}
@media (max-width:1360px){
  #programma .cl-leaf-program-right{right:calc(50% - 242px)!important;width:108px!important;}
}
@media (max-width:1180px){
  #programma .cl-leaf-program-right{right:calc(50% - 210px)!important;top:88px!important;width:96px!important;}
}

/* Slightly stronger section petals overall, but still delicate. */
.cl-intro-soft .cl-section-petal,
#nostrastoria .cl-section-petal,
#cani .cl-section-petal,
#programma .cl-section-petal,
#location .cl-section-petal,
#listanozze .cl-section-petal,
#foto .cl-section-petal,
#contatti .cl-section-petal{
  filter:drop-shadow(0 12px 18px rgba(236,164,193,.28)) saturate(1.08)!important;
}


/* ==========================================================
   v5.4 — FAQ floral background repeats instead of zooming
   ========================================================== */

/* Keep the FAQ floral image full and stable: no zoom, repeat vertically. */
.cl-faq{
  position:relative;
  background-color:#5a4349!important;
  overflow:hidden;
}
.cl-faq::before{
  content:"";
  position:absolute;
  inset:0!important;
  height:auto!important;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(53,31,38,.42),rgba(53,31,38,.42)),
    var(--cl-faq-bg)!important;
  background-size:100% 100%, 100% auto!important;
  background-position:center center, center top!important;
  background-repeat:no-repeat, repeat-y!important;
}
.cl-faq > .cl-section-heading,
.cl-faq > .cl-faq-panel{position:relative;z-index:1;}


/* ==========================================================
   v5.5 — more rose petals and more green leaves
   ========================================================== */

/* Extra floating petals across the whole site. */
.cl-petal-41{--left:4%;--top:-11%;--w:24px;--h:17px;--o:.18;--r:8deg;--dur:22s;--delay:-6s;--drift:14px;--spin:18deg}
.cl-petal-42{--left:13%;--top:-19%;--w:18px;--h:13px;--o:.16;--r:-18deg;--dur:26s;--delay:-11s;--drift:-10px;--spin:-16deg}
.cl-petal-43{--left:24%;--top:-9%;--w:30px;--h:21px;--o:.20;--r:14deg;--dur:24s;--delay:-8s;--drift:20px;--spin:24deg}
.cl-petal-44{--left:36%;--top:-17%;--w:20px;--h:14px;--o:.17;--r:-22deg;--dur:23s;--delay:-14s;--drift:14px;--spin:18deg}
.cl-petal-45{--left:49%;--top:-8%;--w:28px;--h:20px;--o:.19;--r:16deg;--dur:25s;--delay:-5s;--drift:-18px;--spin:-22deg}
.cl-petal-46{--left:61%;--top:-18%;--w:22px;--h:15px;--o:.17;--r:-10deg;--dur:21s;--delay:-10s;--drift:12px;--spin:20deg}
.cl-petal-47{--left:74%;--top:-10%;--w:32px;--h:23px;--o:.20;--r:20deg;--dur:27s;--delay:-13s;--drift:18px;--spin:-24deg}
.cl-petal-48{--left:87%;--top:-16%;--w:20px;--h:14px;--o:.17;--r:-14deg;--dur:22s;--delay:-7s;--drift:-12px;--spin:18deg}

/* Additional decorative leaves. */
.cl-leaf-intro-center{--size:92px;--top:24px;--left:50%;--rotate:10deg;--opacity:.26}
.cl-leaf-story-3{--size:108px;--top:88px;--right:5%;--rotate:18deg;--opacity:.30}
.cl-leaf-dogs-4{--size:102px;--bottom:30px;--left:3%;--rotate:-14deg;--opacity:.28}
.cl-leaf-location-3{--size:114px;--bottom:42px;--right:3.2%;--rotate:15deg;--opacity:.30}
.cl-leaf-gifts-3{position:absolute;z-index:8!important;--size:108px;--top:96px;--left:52%;--rotate:13deg;--opacity:.62}
.cl-leaf-gallery-3{--size:100px;--bottom:26px;--left:4%;--rotate:-18deg;--opacity:.28}
.cl-leaf-contact-2{--size:92px;--top:8px;--left:6%;--rotate:-16deg;--opacity:.22}

/* Extra section petals, kept delicate but a bit visible. */
.cl-petal-intro-4{--pw:42px;--top:50px;--left:31%;--pr:12deg;--po:.24}
.cl-petal-intro-5{--pw:38px;--top:92px;--right:31%;--pr:-16deg;--po:.22}
.cl-petal-story-5{--pw:44px;--top:122px;--left:34%;--pr:10deg;--po:.22}
.cl-petal-story-6{--pw:40px;--bottom:30px;--right:34%;--pr:-14deg;--po:.20}
.cl-petal-dogs-6{--pw:44px;--top:116px;--left:40%;--pr:-10deg;--po:.24}
.cl-petal-dogs-7{--pw:48px;--bottom:26px;--right:9%;--pr:18deg;--po:.22}
.cl-petal-program-6{--pw:42px;--top:154px;--left:44%;--pr:14deg;--po:.22}
.cl-petal-location-4{--pw:40px;--top:132px;--left:41%;--pr:12deg;--po:.22}
.cl-petal-location-5{--pw:46px;--bottom:24px;--right:22%;--pr:-18deg;--po:.20}
.cl-petal-gifts-11{--pw:48px;--top:148px;--left:33%;--pr:10deg;--po:.28}
.cl-petal-gifts-12{--pw:44px;--bottom:104px;--right:31%;--pr:-14deg;--po:.26}
.cl-petal-gallery-5{--pw:42px;--top:138px;--left:40%;--pr:12deg;--po:.22}
.cl-petal-gallery-6{--pw:44px;--bottom:18px;--right:34%;--pr:-16deg;--po:.20}
.cl-petal-contact-3{--pw:42px;--top:12px;--left:46%;--pr:14deg;--po:.18}

/* Make all local decorative petals slightly easier to notice. */
.cl-section-petal{opacity:calc(var(--po,.22) + .03)!important;}

@media (max-width:1024px){
  .cl-leaf-intro-center,.cl-leaf-story-3,.cl-leaf-dogs-4,.cl-leaf-location-3,.cl-leaf-gifts-3,.cl-leaf-gallery-3,.cl-leaf-contact-2{display:none!important;}
}


/* ==========================================================
   v5.6 — mobile title readability and centering
   ========================================================== */
@media (max-width:767px){
  /* Mobile header title: centered, readable and never clipped. */
  .cl-header{
    position:fixed;
    padding:0 16px!important;
    min-height:60px;
  }
  .cl-mini-brand{
    display:block!important;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:max-content;
    max-width:calc(100vw - 110px);
    margin:0!important;
    padding:2px 8px 4px!important;
    font-size:clamp(28px,8vw,34px)!important;
    line-height:1!important;
    color:#4fa4c2!important;
    text-align:center;
    white-space:nowrap;
    text-shadow:0 1px 0 rgba(255,255,255,.9);
    z-index:2;
  }
  .cl-mini-brand span{color:#d7a9bb!important;}
  .cl-menu-toggle{
    margin-left:auto!important;
    position:relative;
    z-index:3;
  }

  /* All section titles: centered with enough room for script-font flourishes. */
  .cl-section-heading{
    width:100%!important;
    min-height:88px!important;
    padding:10px 22px 12px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:visible!important;
  }
  .cl-section-heading h2{
    display:block!important;
    width:100%!important;
    max-width:calc(100vw - 44px)!important;
    margin:0 auto!important;
    padding:4px 4px 8px!important;
    font-size:clamp(40px,11.5vw,48px)!important;
    line-height:1.06!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  /* Slightly smaller for the two longest headings. */
  #faq .cl-section-heading h2,
  #foto .cl-section-heading h2{
    font-size:clamp(36px,10.2vw,44px)!important;
  }

  /* Intro title also gets a cleaner mobile position. */
  .cl-intro-title{
    width:100%!important;
    max-width:calc(100vw - 48px)!important;
    margin:0 auto 16px!important;
    padding:4px 6px 8px!important;
    font-size:clamp(44px,12vw,52px)!important;
    line-height:1.06!important;
    text-align:center!important;
    overflow:visible!important;
  }
}

@media (max-width:390px){
  .cl-mini-brand{font-size:28px!important;}
  .cl-section-heading h2{font-size:40px!important;}
  #faq .cl-section-heading h2,
  #foto .cl-section-heading h2{font-size:36px!important;}
}


/* ==========================================================
   v5.7 — Inviti section with downloadable invitation
   ========================================================== */
#inviti{overflow:hidden;}
#inviti .cl-section-heading{margin-bottom:18px;}
#inviti .cl-inviti-grid{
  display:grid;
  grid-template-columns:minmax(300px,520px) 1fr;
  align-items:center;
  gap:42px;
  background:linear-gradient(140deg,rgba(255,255,255,.96),rgba(241,230,236,.92));
  border-radius:20px;
  padding:30px;
  box-shadow:0 16px 42px rgba(60,47,51,.10);
  position:relative;
  z-index:2;
}
#inviti .cl-inviti-preview{
  display:block;
  width:100%;
  max-width:520px;
  justify-self:center;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 36px rgba(60,47,51,.14);
  transition:transform .22s ease, box-shadow .22s ease;
}
#inviti .cl-inviti-preview:hover,
#inviti .cl-inviti-preview:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 22px 40px rgba(60,47,51,.18);
}
#inviti .cl-inviti-preview img{width:100%;height:auto;display:block;}
#inviti .cl-inviti-copy{padding:10px 8px;text-align:center;}
#inviti .cl-inviti-copy h3{font-size:50px;color:var(--blue);margin:0 0 16px;}
#inviti .cl-inviti-copy p{font-size:18px;line-height:1.68;margin:0 auto 14px;max-width:520px;}
#inviti .cl-inline-btn{margin-top:8px;}

#inviti .cl-leaf-inviti-1,
#inviti .cl-leaf-inviti-2{z-index:1;opacity:.54!important;}
#inviti .cl-leaf-inviti-1{top:100px;left:1.8%;width:122px;transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-16deg);}
#inviti .cl-leaf-inviti-2{bottom:44px;right:2.2%;width:116px;transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-14deg);}
#inviti .cl-section-petal{z-index:3!important;opacity:calc(var(--po,.22) + .05)!important;}
.cl-petal-inviti-1{--pw:48px;--top:116px;--left:20%;--pr:-12deg;--po:.24}
.cl-petal-inviti-2{--pw:44px;--top:158px;--right:16%;--pr:16deg;--po:.22}
.cl-petal-inviti-3{--pw:46px;--bottom:32px;--left:56%;--pr:-18deg;--po:.22}

@media(max-width:1024px){
  #inviti .cl-inviti-grid{grid-template-columns:1fr;gap:28px;padding:24px;}
  #inviti .cl-inviti-copy h3{font-size:44px;}
}
@media(max-width:767px){
  #inviti .cl-section-heading{margin-bottom:12px!important;}
  #inviti .cl-inviti-grid{padding:18px;border-radius:14px;gap:20px;}
  #inviti .cl-inviti-copy h3{font-size:36px;}
  #inviti .cl-inviti-copy p{font-size:16px;line-height:1.58;}
  #inviti .cl-leaf-inviti-1{width:88px;top:72px;left:0;}
  #inviti .cl-leaf-inviti-2{width:82px;bottom:18px;right:-8px;}
}


/* ==========================================================
   v5.8 — uniform background for Inviti section
   ========================================================== */
#inviti{
  background:linear-gradient(180deg,#fbf9fa 0%,#f7f4f6 100%)!important;
  overflow:hidden;
}
#inviti::before,
#inviti::after{
  display:none!important;
  content:none!important;
}
#inviti > *{position:relative;z-index:1;}


/* ==========================================================
   v5.9 — tighter spacing and more uniform flow around Inviti
   ========================================================== */
/* Bring Lista nozze and Inviti closer together and reduce empty white space. */
#listanozze{
  padding-bottom:30px!important;
}
#inviti{
  margin-top:0!important;
  padding-top:28px!important;
  padding-bottom:48px!important;
  background:linear-gradient(180deg,#f8f5f7 0%,#f7f4f6 100%)!important;
}
#inviti .cl-section-heading{
  min-height:82px!important;
  margin-bottom:10px!important;
}
#inviti .cl-section-heading h2{
  margin-top:0!important;
}
#inviti .cl-inviti-grid{
  margin-top:0!important;
}

@media(max-width:1024px){
  #listanozze{padding-bottom:24px!important;}
  #inviti{padding-top:22px!important;padding-bottom:42px!important;}
  #inviti .cl-section-heading{min-height:70px!important;margin-bottom:8px!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:20px!important;}
  #inviti{padding-top:16px!important;padding-bottom:34px!important;}
  #inviti .cl-section-heading{min-height:56px!important;margin-bottom:6px!important;}
}


/* ==========================================================
   v6.0 — much tighter transition between Lista nozze and Inviti
   ========================================================== */
/* Remove most of the vertical gap and make the two sections feel continuous. */
#listanozze{
  padding-bottom:10px!important;
  margin-bottom:0!important;
}
#listanozze .cl-section-heading{margin-bottom:12px!important;}
#inviti{
  margin-top:-8px!important;
  padding-top:6px!important;
  padding-bottom:38px!important;
  background:linear-gradient(180deg,#f8f5f7 0%,#f7f4f6 100%)!important;
}
#inviti .cl-section-heading{
  min-height:44px!important;
  margin:0 0 8px!important;
}
#inviti .cl-section-heading h2{
  line-height:1!important;
}
#inviti .cl-inviti-grid{
  margin-top:0!important;
}

@media(max-width:1024px){
  #listanozze{padding-bottom:8px!important;}
  #inviti{margin-top:-6px!important;padding-top:4px!important;padding-bottom:32px!important;}
  #inviti .cl-section-heading{min-height:38px!important;margin-bottom:6px!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:4px!important;}
  #inviti{margin-top:-4px!important;padding-top:0!important;padding-bottom:28px!important;}
  #inviti .cl-section-heading{min-height:30px!important;margin-bottom:4px!important;}
  #inviti .cl-section-heading h2{font-size:34px!important;}
}


/* ==========================================================
   v6.1 — bring the “Inviti” title much closer to Lista di nozze
   ========================================================== */
#listanozze{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
#listanozze .cl-gifts-grid{margin-bottom:0!important;}
#inviti{
  margin-top:-22px!important;
  padding-top:0!important;
  padding-bottom:32px!important;
}
#inviti .cl-section-heading{
  min-height:0!important;
  height:auto!important;
  margin-top:-10px!important;
  margin-bottom:8px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
#inviti .cl-section-heading h2{
  margin:0!important;
  line-height:.92!important;
}
#inviti .cl-inviti-grid{margin-top:0!important;}

@media(max-width:1024px){
  #inviti{margin-top:-28px!important;padding-bottom:28px!important;}
  #inviti .cl-section-heading{margin-top:-16px!important;margin-bottom:6px!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:0!important;}
  #inviti{margin-top:-40px!important;padding-top:0!important;padding-bottom:24px!important;}
  #inviti .cl-section-heading{min-height:0!important;margin-top:-26px!important;margin-bottom:4px!important;}
  #inviti .cl-section-heading h2{font-size:32px!important;}
}


/* ==========================================================
   v6.2 — pull Inviti much closer to Lista di nozze
   ========================================================== */
#listanozze{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
#listanozze .cl-gifts-grid{
  margin-bottom:0!important;
}
#inviti{
  margin-top:-70px!important;
  padding-top:0!important;
  padding-bottom:28px!important;
}
#inviti .cl-section-heading{
  min-height:0!important;
  height:auto!important;
  margin-top:-42px!important;
  margin-bottom:2px!important;
  padding:0!important;
}
#inviti .cl-section-heading h2{
  margin:0!important;
  line-height:.9!important;
}
#inviti .cl-inviti-grid{
  margin-top:0!important;
}

@media(max-width:1024px){
  #inviti{margin-top:-92px!important;padding-bottom:24px!important;}
  #inviti .cl-section-heading{margin-top:-56px!important;margin-bottom:0!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:0!important;}
  #inviti{margin-top:-130px!important;padding-top:0!important;padding-bottom:20px!important;}
  #inviti .cl-section-heading{min-height:0!important;margin-top:-82px!important;margin-bottom:0!important;}
  #inviti .cl-section-heading h2{font-size:31px!important;}
}
@media(max-width:480px){
  #inviti{margin-top:-165px!important;padding-bottom:18px!important;}
  #inviti .cl-section-heading{margin-top:-108px!important;}
}


/* ==========================================================
   v6.3 — cut the white gap between Lista di nozze and Inviti
   ========================================================== */
/* Pull the Inviti section much further upward, especially on mobile. */
#inviti{
  margin-top:-105px!important;
  padding-top:0!important;
}
#inviti .cl-section-heading{
  margin-top:-68px!important;
  margin-bottom:0!important;
}

@media(max-width:1024px){
  #inviti{margin-top:-130px!important;}
  #inviti .cl-section-heading{margin-top:-86px!important;}
}
@media(max-width:767px){
  #inviti{margin-top:-190px!important;padding-bottom:18px!important;}
  #inviti .cl-section-heading{margin-top:-128px!important;margin-bottom:0!important;}
}
@media(max-width:480px){
  #inviti{margin-top:-225px!important;padding-bottom:16px!important;}
  #inviti .cl-section-heading{margin-top:-154px!important;}
}


/* ==========================================================
   v6.4 — uniform Inviti transition with more leaves/petals and less white gap
   ========================================================== */
/* Make the transition from Lista di nozze to Inviti much tighter and more decorated. */
#listanozze{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
#inviti{
  margin-top:-165px!important;
  padding-top:0!important;
  padding-bottom:26px!important;
  background:linear-gradient(180deg,#f7f4f6 0%,#f8f5f7 100%)!important;
  overflow:hidden!important;
}
#inviti .cl-section-heading{
  min-height:0!important;
  height:auto!important;
  margin-top:-118px!important;
  margin-bottom:6px!important;
  padding:0!important;
  align-items:flex-start!important;
}
#inviti .cl-section-heading h2{
  margin:0!important;
  line-height:.9!important;
  transform:translateY(-6px);
}
#inviti .cl-inviti-grid{margin-top:-2px!important;}

/* Add a more uniform leafy floral feel around the Inviti title area. */
#inviti .cl-section-heading::before{
  display:block!important;
  content:""!important;
  left:10px!important;
  top:-14px!important;
  width:176px!important;
  height:136px!important;
  background-image:var(--cl-leaf)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:left top!important;
  opacity:.42!important;
}
#inviti .cl-section-heading::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  right:16px!important;
  top:-10px!important;
  bottom:auto!important;
  width:164px!important;
  height:128px!important;
  background-image:var(--cl-leaf)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:right top!important;
  transform:scaleX(-1)!important;
  opacity:.32!important;
  pointer-events:none!important;
}
#inviti .cl-leaf-inviti-1,
#inviti .cl-leaf-inviti-2{
  z-index:1!important;
  opacity:.66!important;
}
#inviti .cl-leaf-inviti-1{
  top:36px!important;
  left:-8px!important;
  width:154px!important;
  bottom:auto!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-14deg)!important;
}
#inviti .cl-leaf-inviti-2{
  top:42px!important;
  right:-8px!important;
  bottom:auto!important;
  width:146px!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-12deg)!important;
}
#inviti .cl-section-petal{
  z-index:3!important;
  opacity:calc(var(--po,.22) + .09)!important;
  filter:drop-shadow(0 10px 16px rgba(236,164,193,.26));
}
.cl-petal-inviti-1{--pw:48px;--top:54px;--left:34%;--pr:-10deg;--po:.28}
.cl-petal-inviti-2{--pw:44px;--top:82px;--right:22%;--pr:16deg;--po:.26}
.cl-petal-inviti-3{--pw:46px;--top:132px;--left:63%;--pr:-16deg;--po:.24;--bottom:auto}

@media(max-width:1024px){
  #inviti{margin-top:-205px!important;padding-bottom:22px!important;}
  #inviti .cl-section-heading{margin-top:-146px!important;margin-bottom:4px!important;}
  #inviti .cl-section-heading::before{width:150px!important;height:118px!important;left:4px!important;top:-8px!important;}
  #inviti .cl-section-heading::after{width:140px!important;height:110px!important;right:4px!important;top:-6px!important;}
}
@media(max-width:767px){
  #inviti{margin-top:-255px!important;padding-top:0!important;padding-bottom:18px!important;}
  #inviti .cl-section-heading{margin-top:-178px!important;margin-bottom:2px!important;}
  #inviti .cl-section-heading h2{font-size:33px!important;}
  #inviti .cl-section-heading::before{width:126px!important;height:98px!important;left:-10px!important;top:-4px!important;opacity:.36!important;}
  #inviti .cl-section-heading::after{width:116px!important;height:90px!important;right:-10px!important;top:-2px!important;opacity:.24!important;}
  #inviti .cl-leaf-inviti-1{width:98px!important;top:22px!important;left:-18px!important;}
  #inviti .cl-leaf-inviti-2{width:92px!important;top:28px!important;right:-16px!important;}
  .cl-petal-inviti-1{--pw:34px;--top:32px;--left:30%;--po:.26}
  .cl-petal-inviti-2{--pw:30px;--top:56px;--right:18%;--po:.24}
  .cl-petal-inviti-3{--pw:34px;--top:88px;--left:60%;--po:.22}
}
@media(max-width:480px){
  #inviti{margin-top:-285px!important;padding-bottom:16px!important;}
  #inviti .cl-section-heading{margin-top:-202px!important;}
}


/* ==========================================================
   v6.5 — restore full Lista di nozze content while keeping Inviti close
   ========================================================== */
/* The previous overlap was too strong and cropped the gifts photo/text.
   Keep the sections close, but stop covering the previous section content. */
#listanozze{
  position:relative!important;
  z-index:3!important;
  padding-bottom:18px!important;
  margin-bottom:0!important;
}
#listanozze .cl-gifts-grid,
#listanozze .cl-gifts-photo,
#listanozze .cl-gifts-copy{
  position:relative!important;
  z-index:3!important;
}

#inviti{
  position:relative!important;
  z-index:2!important;
  margin-top:-72px!important;
  padding-top:0!important;
  padding-bottom:26px!important;
}
#inviti .cl-section-heading{
  min-height:0!important;
  height:auto!important;
  margin-top:-46px!important;
  margin-bottom:10px!important;
  padding:0!important;
}
#inviti .cl-section-heading h2{
  margin:0!important;
  line-height:.94!important;
  transform:none!important;
}
#inviti .cl-inviti-grid{
  margin-top:0!important;
}

@media(max-width:1024px){
  #listanozze{padding-bottom:14px!important;}
  #inviti{margin-top:-88px!important;padding-bottom:22px!important;}
  #inviti .cl-section-heading{margin-top:-58px!important;margin-bottom:8px!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:10px!important;}
  #inviti{margin-top:-110px!important;padding-bottom:18px!important;}
  #inviti .cl-section-heading{margin-top:-70px!important;margin-bottom:6px!important;}
  #inviti .cl-section-heading h2{font-size:33px!important;}
}
@media(max-width:480px){
  #listanozze{padding-bottom:8px!important;}
  #inviti{margin-top:-126px!important;padding-bottom:16px!important;}
  #inviti .cl-section-heading{margin-top:-82px!important;}
}


/* ==========================================================
   v6.6 — move "Inviti" closer to the section above
   ========================================================== */
/* Pull the Inviti heading upward more, without cropping Lista di nozze. */
#listanozze{
  padding-bottom:14px!important;
}
#inviti{
  margin-top:-118px!important;
  padding-top:0!important;
  padding-bottom:24px!important;
}
#inviti .cl-section-heading{
  min-height:0!important;
  height:auto!important;
  margin-top:-92px!important;
  margin-bottom:8px!important;
  padding:0!important;
}
#inviti .cl-section-heading h2{
  margin:0!important;
  line-height:.92!important;
}
#inviti .cl-inviti-grid{
  margin-top:0!important;
}

@media(max-width:1024px){
  #listanozze{padding-bottom:12px!important;}
  #inviti{margin-top:-138px!important;padding-bottom:20px!important;}
  #inviti .cl-section-heading{margin-top:-108px!important;margin-bottom:6px!important;}
}
@media(max-width:767px){
  #listanozze{padding-bottom:8px!important;}
  #inviti{margin-top:-168px!important;padding-bottom:18px!important;}
  #inviti .cl-section-heading{margin-top:-132px!important;margin-bottom:4px!important;}
  #inviti .cl-section-heading h2{font-size:33px!important;}
}
@media(max-width:480px){
  #inviti{margin-top:-188px!important;padding-bottom:16px!important;}
  #inviti .cl-section-heading{margin-top:-148px!important;}
}


/* ==========================================================
   v6.7 — cleaner green leaves, less cluttered, better in corners
   ========================================================== */
/* General refinement for all leaf decorations. */
.cl-float-leaf{
  filter:drop-shadow(0 8px 16px rgba(70,83,64,.08))!important;
  opacity:var(--opacity,.44)!important;
}
.cl-section-heading:before,
.cl-section-heading:after{
  opacity:.22!important;
  width:210px!important;
  height:160px!important;
  top:-28px!important;
  bottom:auto!important;
}
.cl-section-heading:before{
  left:-8px!important;
  background-image:var(--cl-leaf-corner-left)!important;
  background-position:left top!important;
}
.cl-section-heading:after{
  right:-8px!important;
  transform:none!important;
  background-image:var(--cl-leaf-corner-right)!important;
  background-position:right top!important;
}

/* Hide the extra messy leaf duplicates. */
.cl-leaf-intro-center,
.cl-leaf-story-3,
.cl-leaf-dogs-3,
.cl-leaf-dogs-4,
.cl-leaf-location-3,
.cl-leaf-gifts-3,
.cl-leaf-gallery-3,
.cl-leaf-contact-2{
  display:none!important;
}

/* Use cleaner leaf art for span-based corner fillers. */
.cl-leaf-story-1,.cl-leaf-dogs-1,.cl-leaf-program-left,.cl-leaf-location-1,.cl-leaf-gallery-1,.cl-leaf-contact-1{
  background-image:var(--cl-leaf-corner-left)!important;
  background-position:left top!important;
}
.cl-leaf-story-2,.cl-leaf-dogs-2,.cl-leaf-program-right,.cl-leaf-location-2,.cl-leaf-gallery-2{
  background-image:var(--cl-leaf-corner-right)!important;
  background-position:right bottom!important;
}

/* Section-by-section cleaner corner placement. */
.cl-intro-soft .cl-leaf-intro-left{
  width:150px!important;left:-6px!important;top:44px!important;opacity:.58!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-10deg)!important;
}
.cl-intro-soft .cl-leaf-intro-right{
  width:146px!important;right:-6px!important;top:44px!important;opacity:.54!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-8deg)!important;
}

#nostrastoria .cl-leaf-story-1{
  width:130px!important;left:0!important;right:auto!important;top:86px!important;bottom:auto!important;opacity:.36!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-8deg)!important;
}
#nostrastoria .cl-leaf-story-2{
  width:124px!important;right:0!important;left:auto!important;bottom:10px!important;top:auto!important;opacity:.32!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(6deg)!important;
}

#cani .cl-leaf-dogs-1{
  width:136px!important;left:-2px!important;top:98px!important;bottom:auto!important;opacity:.40!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-10deg)!important;
}
#cani .cl-leaf-dogs-2{
  width:130px!important;right:-2px!important;top:98px!important;bottom:auto!important;opacity:.36!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(8deg)!important;
}

#programma .cl-leaf-program-left{
  width:112px!important;left:calc(50% - 240px)!important;top:86px!important;right:auto!important;opacity:.40!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-10deg)!important;
}
#programma .cl-leaf-program-right{
  width:112px!important;right:calc(50% - 240px)!important;top:86px!important;left:auto!important;opacity:.40!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(10deg)!important;
}

#location .cl-leaf-location-1{
  width:130px!important;left:-4px!important;top:86px!important;right:auto!important;bottom:auto!important;opacity:.34!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-6deg)!important;
}
#location .cl-leaf-location-2{
  width:124px!important;right:-4px!important;bottom:16px!important;left:auto!important;top:auto!important;opacity:.30!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(8deg)!important;
}

#listanozze .cl-leaf-gifts-1{
  width:138px!important;left:-6px!important;top:82px!important;opacity:.58!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-10deg)!important;
}
#listanozze .cl-leaf-gifts-2{
  width:136px!important;right:-6px!important;top:86px!important;bottom:auto!important;opacity:.54!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-8deg)!important;
}

#inviti .cl-leaf-inviti-1{
  width:140px!important;left:-10px!important;top:58px!important;opacity:.50!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-9deg)!important;
}
#inviti .cl-leaf-inviti-2{
  width:136px!important;right:-10px!important;top:60px!important;bottom:auto!important;opacity:.46!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) scaleX(-1) rotate(-8deg)!important;
}

#foto .cl-leaf-gallery-1{
  width:130px!important;left:-4px!important;top:92px!important;opacity:.34!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(-9deg)!important;
}
#foto .cl-leaf-gallery-2{
  width:124px!important;right:-4px!important;top:92px!important;opacity:.30!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(8deg)!important;
}

#contatti .cl-leaf-contact-1{
  width:114px!important;right:0!important;top:12px!important;opacity:.26!important;
  transform:translate3d(var(--leaf-x,0px),var(--leaf-y,0px),0) rotate(8deg)!important;
}

@media (max-width:1024px){
  .cl-section-heading:before,.cl-section-heading:after{width:160px!important;height:122px!important;opacity:.18!important;}
  .cl-intro-soft .cl-leaf-intro-left,.cl-intro-soft .cl-leaf-intro-right,
  #listanozze .cl-leaf-gifts-1,#listanozze .cl-leaf-gifts-2,
  #inviti .cl-leaf-inviti-1,#inviti .cl-leaf-inviti-2{width:108px!important;}
  #programma .cl-leaf-program-left{left:calc(50% - 198px)!important;top:88px!important;width:90px!important;}
  #programma .cl-leaf-program-right{right:calc(50% - 198px)!important;top:88px!important;width:90px!important;}
}
@media (max-width:767px){
  .cl-section-heading:before,.cl-section-heading:after{width:116px!important;height:88px!important;opacity:.14!important;top:-8px!important;}
  .cl-intro-soft .cl-leaf-intro-left,.cl-intro-soft .cl-leaf-intro-right,
  #listanozze .cl-leaf-gifts-1,#listanozze .cl-leaf-gifts-2,
  #inviti .cl-leaf-inviti-1,#inviti .cl-leaf-inviti-2,
  #cani .cl-leaf-dogs-1,#cani .cl-leaf-dogs-2,
  #nostrastoria .cl-leaf-story-1,#nostrastoria .cl-leaf-story-2,
  #location .cl-leaf-location-1,#location .cl-leaf-location-2,
  #foto .cl-leaf-gallery-1,#foto .cl-leaf-gallery-2{width:84px!important;opacity:.22!important;}
  #programma .cl-leaf-program-left,#programma .cl-leaf-program-right{width:70px!important;top:84px!important;}
  #programma .cl-leaf-program-left{left:calc(50% - 152px)!important;}
  #programma .cl-leaf-program-right{right:calc(50% - 152px)!important;}
}


/* ==========================================================
   v6.8 — remove green leaves below “Programma” title
   ========================================================== */
#programma .cl-leaf-program-left,
#programma .cl-leaf-program-right{
  display:none!important;
}


/* ==========================================================
   v6.9 — remove green leaves in “Inviti” section
   ========================================================== */
#inviti .cl-leaf-inviti-1,
#inviti .cl-leaf-inviti-2{
  display:none!important;
}
#inviti .cl-section-heading::before,
#inviti .cl-section-heading::after{
  display:none!important;
  content:none!important;
}


/* ==========================================================
   v7.0 — Inviti title centered with neat green leaves at the sides
   ========================================================== */
#inviti .cl-section-heading{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:86px!important;
  margin-bottom:14px!important;
  text-align:center!important;
}
#inviti .cl-section-heading h2{
  position:relative!important;
  display:inline-block!important;
  margin:0 auto!important;
  padding:0 96px!important;
  z-index:2!important;
}
#inviti .cl-section-heading::before,
#inviti .cl-section-heading::after{
  display:none!important;
  content:none!important;
}
#inviti .cl-section-heading h2::before,
#inviti .cl-section-heading h2::after{
  content:"";
  position:absolute;
  top:50%;
  width:78px;
  height:54px;
  background-size:contain;
  background-repeat:no-repeat;
  pointer-events:none;
  opacity:.38;
}
#inviti .cl-section-heading h2::before{
  left:0;
  background-image:var(--cl-leaf-corner-left);
  background-position:left center;
  transform:translate(-16px,-50%) rotate(-8deg);
}
#inviti .cl-section-heading h2::after{
  right:0;
  background-image:var(--cl-leaf-corner-right);
  background-position:right center;
  transform:translate(16px,-50%) rotate(8deg);
}

@media(max-width:767px){
  #inviti .cl-section-heading{
    min-height:62px!important;
    margin-bottom:10px!important;
  }
  #inviti .cl-section-heading h2{
    padding:0 58px!important;
    font-size:36px!important;
  }
  #inviti .cl-section-heading h2::before,
  #inviti .cl-section-heading h2::after{
    width:48px;
    height:34px;
    opacity:.34;
  }
  #inviti .cl-section-heading h2::before{transform:translate(-8px,-50%) rotate(-8deg);}
  #inviti .cl-section-heading h2::after{transform:translate(8px,-50%) rotate(8deg);}
}


/* ==========================================================
   v7.2 — bridge section “Inviti al matrimonio” between gifts and inviti
   ========================================================== */
#inviti-matrimonio{
  padding:30px 0 16px!important;
  margin:0!important;
  background:linear-gradient(180deg,#f8f5f7 0%,#f7f4f6 100%)!important;
  position:relative;
  z-index:4;
}
#inviti-matrimonio .cl-wrap{max-width:1200px;}
#inviti-matrimonio .cl-inviti-bridge-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
}
#inviti-matrimonio h2{
  margin:0;
  color:var(--blue);
  font-size:66px;
  line-height:1;
}
#inviti-matrimonio .cl-bridge-leaf{
  display:block;
  width:86px;
  height:58px;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:.42;
  filter:drop-shadow(0 8px 12px rgba(70,83,64,.08));
}
#inviti-matrimonio .cl-bridge-leaf-left{
  background-image:var(--cl-leaf-corner-left);
  background-position:left center;
  transform:rotate(-8deg);
}
#inviti-matrimonio .cl-bridge-leaf-right{
  background-image:var(--cl-leaf-corner-right);
  background-position:right center;
  transform:rotate(8deg);
}

/* keep the next inviti section visually connected */
#inviti{
  margin-top:0!important;
}

@media(max-width:767px){
  #inviti-matrimonio{padding:18px 0 10px!important;}
  #inviti-matrimonio .cl-inviti-bridge-heading{gap:10px;}
  #inviti-matrimonio h2{font-size:40px;}
  #inviti-matrimonio .cl-bridge-leaf{width:46px;height:30px;opacity:.36;}
}


/* ==========================================================
   v7.3 — remove bridge strip background, smooth FAQ backdrop
   ========================================================== */
/* 1) "Inviti al matrimonio": remove the pale strip behind the bridge title. */
#inviti-matrimonio{
  background:transparent!important;
  padding-top:12px!important;
  padding-bottom:10px!important;
}
#inviti-matrimonio::before,
#inviti-matrimonio::after{
  display:none!important;
  content:none!important;
}
#inviti-matrimonio .cl-wrap,
#inviti-matrimonio .cl-inviti-bridge-heading{
  background:transparent!important;
}
#inviti-matrimonio .cl-inviti-bridge-heading{
  gap:14px!important;
}
#inviti-matrimonio .cl-bridge-leaf{
  opacity:.36!important;
}

/* 2) FAQ: keep the floral background uniform with no visible duplicate seam. */
.cl-faq{
  background:none!important;
  background-color:#5a4349!important;
  overflow:hidden!important;
}
.cl-faq::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  height:auto!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(rgba(53,31,38,.44),rgba(53,31,38,.44)),
    var(--cl-faq-bg)!important;
  background-size:100% 100%,cover!important;
  background-position:center center,center center!important;
  background-repeat:no-repeat,no-repeat!important;
}
.cl-faq > .cl-section-heading,
.cl-faq > .cl-faq-panel{
  position:relative!important;
  z-index:1!important;
}

@media(max-width:767px){
  #inviti-matrimonio{padding-top:10px!important;padding-bottom:8px!important;}
  #inviti-matrimonio .cl-inviti-bridge-heading{gap:8px!important;}
}


/* ==========================================================
   v7.4 — mobile hero full-width fix
   ========================================================== */
@media (max-width:767px){
  html,body{overflow-x:hidden!important;}

  /* Hero always fills the entire mobile viewport. The vertical artwork is
     zoomed just enough to crop away its pale right-hand area. */
  .cl-hero{
    width:100vw!important;
    max-width:none!important;
    min-height:100svh!important;
    margin:0!important;
    left:0!important;
    right:0!important;
    display:block!important;
    overflow:hidden!important;
    background-image:var(--hero-mobile)!important;
    background-repeat:no-repeat!important;
    background-size:172% auto!important;
    background-position:0% 10%!important;
    background-color:#75a9cf!important;
  }
  .cl-hero-overlay{
    inset:0!important;
    width:100%!important;
    background:linear-gradient(to bottom,rgba(16,28,38,.08),transparent 42%,rgba(16,28,38,.08))!important;
  }

  /* Do not duplicate the couple name in the transparent header while the
     main hero logo is already visible. Show it only after scrolling. */
  .cl-header:not(.is-scrolled) .cl-mini-brand{display:none!important;}
  .cl-header.is-scrolled .cl-mini-brand{
    display:block!important;
    position:absolute!important;
    left:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    max-width:calc(100vw - 100px)!important;
    padding:0!important;
    font-size:30px!important;
    white-space:nowrap!important;
  }
  .cl-header:not(.is-scrolled){
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none!important;
  }
  .cl-header:not(.is-scrolled) .cl-menu-toggle{pointer-events:auto!important;}
  .cl-menu-toggle{
    margin-left:auto!important;
    border-radius:12px!important;
    padding:10px!important;
  }

  /* Main wedding logo centered over the photo. */
  .cl-hero-logo{
    position:absolute!important;
    z-index:3!important;
    top:104px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(86vw,430px)!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }
  .cl-hero-logo img{
    width:100%!important;
    height:auto!important;
    filter:drop-shadow(0 4px 12px rgba(0,0,0,.22))!important;
  }
}

@media (max-width:480px){
  .cl-hero{
    background-size:184% auto!important;
    background-position:0% 8%!important;
  }
  .cl-hero-logo{
    top:96px!important;
    width:88vw!important;
  }
}

@media (max-width:390px){
  .cl-hero{
    background-size:192% auto!important;
    background-position:0% 7%!important;
  }
  .cl-hero-logo{
    top:90px!important;
    width:90vw!important;
  }
}


/* ==========================================================
   v7.5 — mobile hero: couple centered and image less zoomed
   ========================================================== */
@media (max-width:767px){
  .cl-hero{
    /* Show more of the portrait and center the couple better. */
    background-size:138% auto!important;
    background-position:40% 16%!important;
    background-color:#75a9cf!important;
  }
  .cl-hero-logo{
    top:96px!important;
    width:min(82vw,390px)!important;
  }
}

@media (max-width:480px){
  .cl-hero{
    background-size:148% auto!important;
    background-position:42% 15%!important;
  }
  .cl-hero-logo{
    top:92px!important;
    width:84vw!important;
  }
}

@media (max-width:390px){
  .cl-hero{
    background-size:154% auto!important;
    background-position:43% 14%!important;
  }
  .cl-hero-logo{
    top:88px!important;
    width:86vw!important;
  }
}


/* ==========================================================
   v7.6 — mobile hero: less cropped, couple better centered
   ========================================================== */
@media (max-width:767px){
  .cl-hero{
    /* Zoom out more so the portrait is not cut halfway and both faces stay centered. */
    background-size:122% auto!important;
    background-position:50% 18%!important;
    min-height:92svh!important;
  }
  .cl-hero-logo{
    top:88px!important;
    width:min(78vw,360px)!important;
  }
}

@media (max-width:480px){
  .cl-hero{
    background-size:128% auto!important;
    background-position:50% 17%!important;
    min-height:90svh!important;
  }
  .cl-hero-logo{
    top:84px!important;
    width:80vw!important;
  }
}

@media (max-width:390px){
  .cl-hero{
    background-size:132% auto!important;
    background-position:50% 16%!important;
  }
  .cl-hero-logo{
    top:80px!important;
    width:82vw!important;
  }
}


/* ==========================================================
   v7.7 — mobile hero: taller section so faces are not cut off
   ========================================================== */
@media (max-width:767px){
  .cl-hero{
    background-size:116% auto!important;
    background-position:50% 15%!important;
    min-height:112svh!important;
  }
  .cl-hero-logo{
    top:86px!important;
    width:min(78vw,360px)!important;
  }
}

@media (max-width:480px){
  .cl-hero{
    background-size:120% auto!important;
    background-position:50% 14%!important;
    min-height:108svh!important;
  }
  .cl-hero-logo{
    top:82px!important;
    width:80vw!important;
  }
}

@media (max-width:390px){
  .cl-hero{
    background-size:123% auto!important;
    background-position:50% 13%!important;
    min-height:106svh!important;
  }
  .cl-hero-logo{
    top:78px!important;
    width:82vw!important;
  }
}


/* ==========================================================
   v7.8 — mobile menu visible on hero + always fixed while scrolling
   ========================================================== */
@media (max-width:767px){
  /* Keep the mobile header fixed and readable everywhere, including the hero. */
  .cl-header,
  .cl-header:not(.is-scrolled),
  .cl-header.is-scrolled{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:64px!important;
    z-index:2147482500!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 18px!important;
    background:rgba(255,255,255,.96)!important;
    color:#313539!important;
    box-shadow:0 1px 12px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    pointer-events:auto!important;
  }

  /* Always show the small Chiara & Luca brand in the fixed mobile header. */
  .cl-header .cl-mini-brand,
  .cl-header:not(.is-scrolled) .cl-mini-brand,
  .cl-header.is-scrolled .cl-mini-brand{
    display:block!important;
    position:static!important;
    transform:none!important;
    max-width:calc(100vw - 105px)!important;
    margin:0!important;
    padding:0!important;
    font-size:30px!important;
    line-height:1!important;
    color:#54a6c2!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  .cl-header .cl-mini-brand span{color:#d6a7ba!important;}

  .cl-menu-toggle,
  .cl-header:not(.is-scrolled) .cl-menu-toggle,
  .cl-header.is-scrolled .cl-menu-toggle{
    display:block!important;
    position:relative!important;
    z-index:2147482600!important;
    margin-left:auto!important;
    padding:10px!important;
    color:#313539!important;
    background:rgba(75,164,194,.10)!important;
    border-radius:12px!important;
    pointer-events:auto!important;
  }
  .cl-menu-toggle span{background:#313539!important;}

  /* Dropdown sits directly under the fixed header and remains usable on the hero. */
  .cl-nav{
    position:fixed!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    z-index:2147482400!important;
    display:grid!important;
    gap:0!important;
    max-height:calc(100dvh - 64px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:8px 24px 22px!important;
    background:#fff!important;
    box-shadow:0 14px 28px rgba(0,0,0,.13)!important;
    transform:translateY(-115%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .24s ease,opacity .2s ease,visibility .2s ease!important;
  }
  .cl-nav.is-open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Important: previous desktop/hero rules made these links white on a white menu. */
  .cl-header .cl-nav a,
  .cl-header:not(.is-scrolled) .cl-nav a,
  .cl-header.is-scrolled .cl-nav a,
  .cl-header .cl-nav a:link,
  .cl-header .cl-nav a:visited{
    display:block!important;
    padding:17px 14px!important;
    color:#313539!important;
    font-size:16px!important;
    line-height:1.25!important;
    letter-spacing:.08em!important;
    border-bottom:1px solid #ece9ea!important;
    text-decoration:none!important;
  }
  .cl-header .cl-nav a:hover,
  .cl-header .cl-nav a:focus-visible{
    color:#d58fac!important;
  }

  .cl-header .cl-nav button.cl-nav-rsvp,
  .cl-header:not(.is-scrolled) .cl-nav button.cl-nav-rsvp,
  .cl-header.is-scrolled .cl-nav button.cl-nav-rsvp{
    width:100%!important;
    display:block!important;
    padding:17px 14px!important;
    color:#313539!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid #ece9ea!important;
    text-align:left!important;
    font-family:var(--display)!important;
    font-size:16px!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body.cl-menu-open{overflow:hidden!important;}

  /* Account for the always-visible fixed header. */
  .cl-hero{margin-top:64px!important;}
}


/* ==========================================================
   v7.9 — harden mobile menu label visibility
   ========================================================== */
@media (max-width:767px){
  body.cl-menu-open .cl-nav.is-open > a,
  body.cl-menu-open .cl-nav.is-open > a:link,
  body.cl-menu-open .cl-nav.is-open > a:visited,
  .cl-header .cl-nav.is-open > a,
  .cl-header:not(.is-scrolled) .cl-nav.is-open > a,
  .cl-header.is-scrolled .cl-nav.is-open > a{
    color:#313539!important;
    -webkit-text-fill-color:#313539!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .cl-nav.is-open > a::after{display:none!important;}
}


/* ==========================================================
   v8.0 — mobile: improve Arsenio photo crop
   ========================================================== */
@media (max-width:767px){
  /* Show more of Arsenio's head/face in the second dog card on mobile. */
  #cani .cl-dog.cl-dog-reverse .cl-dog-photo img{
    aspect-ratio:4/4.9!important;
    object-fit:cover!important;
    object-position:50% 8%!important;
  }
}

@media (max-width:480px){
  #cani .cl-dog.cl-dog-reverse .cl-dog-photo img{
    aspect-ratio:4/5.1!important;
    object-position:50% 6%!important;
  }
}


/* ==========================================================
   v8.1 — desktop leaf cleanup + FAQ accordion behavior
   ========================================================== */
@media (min-width:768px){
  /* Remove the lower green leaf decoration from “La nostra storia” / “Il nostro giorno”. */
  #nostrastoria .cl-leaf-story-2{
    display:none!important;
  }
}


/* ==========================================================
   v8.2 — FAQ answers slide open and closed smoothly
   ========================================================== */
#faq .cl-faq-answer{
  overflow:hidden!important;
  max-height:0;
  opacity:0;
  transform:translateY(-8px);
  transition:max-height .42s cubic-bezier(.22,.61,.36,1),
             opacity .30s ease,
             transform .36s ease!important;
  will-change:max-height,opacity,transform;
}
#faq .cl-faq-item[open] .cl-faq-answer{
  opacity:1;
}
@media (prefers-reduced-motion:reduce){
  #faq .cl-faq-answer{transition:none!important;transform:none!important;}
}


/* ==========================================================
   v8.3 — smoother FAQ animation + sharper FAQ floral background
   ========================================================== */
#faq .cl-faq-answer{
  overflow:hidden!important;
  max-height:none!important;
  height:0;
  opacity:0;
  transform:translateY(-6px) translateZ(0);
  transition:height .52s cubic-bezier(.22,.61,.36,1),
             opacity .32s ease,
             transform .42s ease!important;
  will-change:height,opacity,transform;
  contain:layout paint;
}
#faq .cl-faq-item[open] .cl-faq-answer{
  opacity:1;
}

.cl-faq{
  position:relative;
  isolation:isolate;
  background:#5a4349!important;
  overflow:hidden!important;
}
.cl-faq::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:var(--cl-faq-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:.98!important;
  filter:contrast(1.08) saturate(1.06) brightness(.96);
  transform:translateZ(0) scale(1.015);
}
.cl-faq::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(rgba(53,31,38,.24),rgba(53,31,38,.24));
}
.cl-faq > .cl-section-heading,
.cl-faq > .cl-faq-panel{
  position:relative!important;
  z-index:1!important;
}
@media (max-width:767px){
  .cl-faq::before{
    background-position:center center!important;
    filter:contrast(1.06) saturate(1.04) brightness(.97);
  }
}
@media (prefers-reduced-motion:reduce){
  #faq .cl-faq-answer{transition:none!important;transform:none!important;}
}


/* ==========================================================
   v8.4 — FAQ rose HD + translucent panel + no-stutter accordion
   ========================================================== */

/* The FAQ background is sized from the viewport WIDTH only, not from the
   changing section height. This prevents the floral image from zooming or
   snapping when an answer opens. On narrow screens we keep a minimum image
   width so one tile remains tall enough; repeat-y covers unusually long FAQ. */
#faq.cl-faq{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  padding:88px 0 92px!important;
  background:#6f4f58!important;
}
#faq.cl-faq::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:var(--cl-faq-bg)!important;
  background-size:max(100%, 760px) auto!important;
  background-position:center top!important;
  background-repeat:repeat-y!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  will-change:auto!important;
}
#faq.cl-faq::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(65,30,42,.16),rgba(65,30,42,.20))!important;
}
#faq > .cl-section-heading,
#faq > .cl-faq-panel{
  position:relative!important;
  z-index:1!important;
}

#faq .cl-section-heading{
  margin-bottom:26px!important;
}
#faq .cl-section-heading h2{
  color:#fff!important;
  text-shadow:0 3px 18px rgba(49,20,31,.28)!important;
}

/* Deliberately no backdrop-filter here: transparency remains visible while
   avoiding the expensive live blur repaint that can make mobile accordions jerk. */
#faq .cl-faq-panel{
  width:min(980px,calc(100% - 64px))!important;
  margin-inline:auto!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  background:linear-gradient(145deg,rgba(255,252,252,.82),rgba(255,242,247,.74))!important;
  box-shadow:0 22px 60px rgba(55,26,36,.20)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

#faq .cl-faq-item{
  position:relative;
  overflow:hidden;
  margin:10px 0;
  border:1px solid rgba(149,91,111,.16)!important;
  border-radius:14px;
  background:rgba(255,255,255,.46);
  box-shadow:0 7px 18px rgba(92,53,65,.055);
}
#faq .cl-faq-item:first-child{margin-top:0;}
#faq .cl-faq-item:last-child{margin-bottom:0;}

#faq .cl-faq-question{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:62px;
  display:flex;
  align-items:center;
  gap:18px;
  border:0;
  margin:0;
  padding:17px 58px 17px 20px;
  background:transparent;
  color:#6d3e50;
  text-align:left;
  font-family:var(--display);
  font-size:20px;
  font-weight:700;
  line-height:1.42;
  cursor:pointer;
  position:relative;
}
#faq .cl-faq-question:hover{
  background:rgba(255,255,255,.20);
}
#faq .cl-faq-question:focus-visible{
  outline:2px solid rgba(173,95,126,.78);
  outline-offset:-4px;
  border-radius:12px;
}
#faq .cl-faq-question-text{display:block;}

#faq .cl-faq-icon{
  position:absolute;
  right:22px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
}
#faq .cl-faq-icon::before,
#faq .cl-faq-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:15px;
  height:2px;
  border-radius:2px;
  background:#bd6d8c;
  transform:translate(-50%,-50%);
  transition:transform .26s ease,opacity .20s ease;
}
#faq .cl-faq-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
#faq .cl-faq-item.is-open .cl-faq-icon::after{
  transform:translate(-50%,-50%) rotate(0deg);
  opacity:0;
}

/* Smooth intrinsic-height animation without JS scrollHeight measurements. */
#faq .cl-faq-answer-wrap{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .40s cubic-bezier(.22,.61,.36,1);
}
#faq .cl-faq-answer-inner{
  min-height:0;
  overflow:hidden;
}
#faq .cl-faq-answer{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  contain:none!important;
  will-change:auto!important;
  margin:0!important;
  padding:4px 20px 19px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4f4549;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .24s ease .03s,transform .30s ease;
}
#faq .cl-faq-item.is-open .cl-faq-answer-wrap{
  grid-template-rows:1fr;
}
#faq .cl-faq-item.is-open .cl-faq-answer{
  opacity:1!important;
  transform:translateY(0)!important;
}
#faq .cl-faq-answer p{
  margin:0 0 8px!important;
  font-size:17px!important;
  line-height:1.65!important;
  color:#4d4548!important;
}
#faq .cl-faq-answer p:last-child{margin-bottom:0!important;}
#faq .cl-faq-answer a.cl-inline-btn{
  background:rgba(255,255,255,.60)!important;
  border-color:rgba(177,103,132,.30)!important;
  box-shadow:none!important;
}

@media (max-width:767px){
  #faq.cl-faq{
    padding:58px 0 64px!important;
  }
  #faq.cl-faq::before{
    background-size:760px auto!important;
    background-position:center top!important;
  }
  #faq .cl-section-heading{
    margin-bottom:18px!important;
  }
  #faq .cl-faq-panel{
    width:calc(100% - 28px)!important;
    padding:10px!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,rgba(255,252,252,.86),rgba(255,242,247,.78))!important;
  }
  #faq .cl-faq-item{
    margin:8px 0;
    border-radius:12px;
  }
  #faq .cl-faq-question{
    min-height:58px;
    padding:15px 48px 15px 14px;
    font-size:17px!important;
    line-height:1.45!important;
  }
  #faq .cl-faq-icon{right:16px;}
  #faq .cl-faq-answer{
    padding:2px 14px 16px!important;
  }
  #faq .cl-faq-answer p{
    font-size:15.5px!important;
    line-height:1.58!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #faq .cl-faq-answer-wrap,
  #faq .cl-faq-answer,
  #faq .cl-faq-icon::before,
  #faq .cl-faq-icon::after{
    transition:none!important;
  }
}


/* ===== v8.5 – FAQ readability, one-at-a-time accordion, HD floral background ===== */
#faq.cl-faq::before{
  background-image:var(--cl-faq-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  image-rendering:auto;
}

#faq .cl-faq-panel{
  background:linear-gradient(145deg,rgba(255,252,252,.84),rgba(255,244,248,.78))!important;
  border:1px solid rgba(255,255,255,.76)!important;
}

#faq .cl-faq-answer{
  color:#4d4448!important;
}

#faq .cl-faq-answer a.cl-inline-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:48px!important;
  padding:12px 22px!important;
  margin-top:6px!important;
  border-radius:999px!important;
  border:1px solid #ad6581!important;
  background:linear-gradient(180deg,#bf7693,#a95f7e)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:var(--display)!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 24px rgba(115,57,80,.18)!important;
}
#faq .cl-faq-answer a.cl-inline-btn:visited{
  color:#fff!important;
}
#faq .cl-faq-answer a.cl-inline-btn:hover,
#faq .cl-faq-answer a.cl-inline-btn:focus-visible{
  background:linear-gradient(180deg,#c97e9c,#b16586)!important;
  border-color:#9d5673!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(115,57,80,.24)!important;
}
#faq .cl-faq-answer a.cl-inline-btn::after{
  content:'↗';
  font-size:14px;
  opacity:.95;
}

@media (max-width:767px){
  #faq .cl-faq-answer a.cl-inline-btn{
    width:100%!important;
    font-size:14px!important;
    padding:12px 18px!important;
  }
}


/* ===== v8.6 – refined FAQ glass panel + luxury CTA + smoother accordion ===== */
#faq .cl-faq-panel{
  background:linear-gradient(145deg,rgba(255,252,252,.76),rgba(255,243,248,.67))!important;
  border:1px solid rgba(255,255,255,.74)!important;
  box-shadow:0 24px 64px rgba(55,26,36,.18)!important;
}

#faq .cl-faq-item{
  background:rgba(255,255,255,.50)!important;
  border-color:rgba(139,77,99,.17)!important;
}

#faq .cl-faq-question{
  color:#63394a!important;
}

#faq .cl-faq-answer-wrap{
  transition:grid-template-rows .32s cubic-bezier(.22,.61,.36,1)!important;
}
#faq .cl-faq-answer{
  transition:opacity .20s ease .015s,transform .24s ease!important;
}

#faq .cl-faq-answer a.cl-inline-btn{
  min-height:50px!important;
  padding:12px 24px!important;
  border:1px solid rgba(224,190,149,.88)!important;
  background:linear-gradient(180deg,#9b536d,#804158)!important;
  color:#fffafc!important;
  box-shadow:0 9px 22px rgba(82,36,53,.24), inset 0 1px 0 rgba(255,255,255,.18)!important;
  letter-spacing:.055em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12)!important;
}
#faq .cl-faq-answer a.cl-inline-btn:visited{color:#fffafc!important;}
#faq .cl-faq-answer a.cl-inline-btn:hover,
#faq .cl-faq-answer a.cl-inline-btn:focus-visible{
  background:linear-gradient(180deg,#aa5b77,#8e4962)!important;
  border-color:#e1bf96!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(82,36,53,.30), inset 0 1px 0 rgba(255,255,255,.22)!important;
  transform:translateY(-1px);
}
#faq .cl-faq-answer a.cl-inline-btn:active{
  transform:translateY(0);
}

@media (max-width:767px){
  #faq .cl-faq-panel{
    background:linear-gradient(145deg,rgba(255,252,252,.80),rgba(255,243,248,.72))!important;
  }
  #faq .cl-faq-answer a.cl-inline-btn{
    min-height:48px!important;
    width:auto!important;
    max-width:100%!important;
  }
}


/* ===== v8.8 – floral background more visible + balanced glass FAQ ===== */
#faq.cl-faq::before{
  background-size:max(100%,760px) auto!important;
  background-position:center 10%!important;
  background-repeat:repeat-y!important;
}
#faq.cl-faq::after{
  background:linear-gradient(180deg,rgba(65,30,42,.08),rgba(65,30,42,.11))!important;
}
#faq .cl-faq-panel{
  background:linear-gradient(145deg,rgba(255,252,252,.64),rgba(255,243,248,.54))!important;
  border:1px solid rgba(255,255,255,.80)!important;
  box-shadow:0 24px 62px rgba(55,26,36,.17)!important;
}
#faq .cl-faq-item{
  background:rgba(255,255,255,.66)!important;
  border-color:rgba(139,77,99,.20)!important;
  box-shadow:0 7px 20px rgba(92,53,65,.07)!important;
}
#faq .cl-faq-answer{
  color:#433b3f!important;
}
#faq .cl-faq-answer p{
  color:#433b3f!important;
}
@media (max-width:767px){
  #faq.cl-faq::before{
    background-size:100% auto!important;
    background-position:center top!important;
  }
  #faq .cl-faq-panel{
    background:linear-gradient(145deg,rgba(255,252,252,.68),rgba(255,243,248,.58))!important;
  }
  #faq .cl-faq-item{
    background:rgba(255,255,255,.72)!important;
  }
}


/* ===== v8.9 – smoother transition into FAQ / less visual gap ===== */
#faq.cl-faq{
  margin-top:-18px!important;
  padding-top:34px!important;
  padding-bottom:88px!important;
}
#faq.cl-faq::before{
  background-position:center top!important;
  background-size:100% auto!important;
}
#faq.cl-faq::after{
  background:
    linear-gradient(180deg, rgba(255,248,251,.10) 0%, rgba(255,248,251,0) 90px),
    linear-gradient(180deg, rgba(65,30,42,.05), rgba(65,30,42,.10))!important;
}
#faq .cl-section-heading{
  min-height:0!important;
  margin-bottom:16px!important;
  padding-top:0!important;
}
#faq .cl-section-heading h2{
  margin:0!important;
}
#location .cl-location-photo{
  margin-bottom:0!important;
  overflow:hidden!important;
}
@media (max-width:767px){
  #faq.cl-faq{
    margin-top:-10px!important;
    padding-top:24px!important;
    padding-bottom:62px!important;
  }
  #faq.cl-faq::before{
    background-size:cover!important;
    background-position:center top!important;
  }
  #faq .cl-section-heading{
    margin-bottom:12px!important;
  }
}


/* ===== v8.10 – lighter white fade behind FAQ title ===== */
#faq.cl-faq::after{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,1) 0%,
      rgba(255,252,253,.96) 52px,
      rgba(255,248,251,.84) 120px,
      rgba(255,244,248,.48) 200px,
      rgba(255,244,248,0) 310px
    ),
    linear-gradient(180deg, rgba(65,30,42,.03), rgba(65,30,42,.09))!important;
}
#faq .cl-section-heading h2{
  text-shadow:0 1px 10px rgba(151,102,120,.10)!important;
}
@media (max-width:767px){
  #faq.cl-faq::after{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,1) 0%,
        rgba(255,252,253,.97) 40px,
        rgba(255,248,251,.88) 92px,
        rgba(255,244,248,.52) 150px,
        rgba(255,244,248,0) 230px
      ),
      linear-gradient(180deg, rgba(65,30,42,.02), rgba(65,30,42,.08))!important;
  }
}


/* ===== v8.11 – FAQ title readability fix ===== */
#faq .cl-section-heading{
  position:relative!important;
}
#faq .cl-section-heading::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(760px, 88%)!important;
  height:132px!important;
  border-radius:999px!important;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.52) 0%, rgba(255,252,253,.26) 46%, rgba(255,252,253,0) 78%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
#faq .cl-section-heading h2,
#faq .cl-heading-light h2{
  position:relative!important;
  z-index:1!important;
  color:#b96e8b!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.78),
    0 0 16px rgba(255,255,255,.72),
    0 8px 22px rgba(129,71,94,.16)!important;
}
@media (max-width:767px){
  #faq .cl-section-heading::after{
    width:92%!important;
    height:104px!important;
  }
  #faq .cl-section-heading h2,
  #faq .cl-heading-light h2{
    color:#b36784!important;
  }
}


/* ===== v8.12 – FAQ background softer / less saturated ===== */
#faq.cl-faq::before{
  opacity:.82!important;
  filter:saturate(.82) brightness(1.04) contrast(.96)!important;
}
#faq.cl-faq::after{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,1) 0%,
      rgba(255,252,253,.97) 56px,
      rgba(255,248,251,.88) 126px,
      rgba(255,244,248,.62) 212px,
      rgba(255,244,248,.22) 320px,
      rgba(255,244,248,0) 420px
    ),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(65,30,42,.08))!important;
}
@media (max-width:767px){
  #faq.cl-faq::before{
    opacity:.84!important;
    filter:saturate(.84) brightness(1.04) contrast(.97)!important;
  }
  #faq.cl-faq::after{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,1) 0%,
        rgba(255,252,253,.97) 42px,
        rgba(255,248,251,.90) 96px,
        rgba(255,244,248,.64) 162px,
        rgba(255,244,248,.22) 236px,
        rgba(255,244,248,0) 300px
      ),
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(65,30,42,.07))!important;
  }
}


/* ===== v8.13 – mobile performance pass (desktop appearance unchanged) ===== */
@media (max-width:767px){
  /* The full-page petal rain is intentionally removed on phones. */
  .cl-petal-stage{display:none!important;visibility:hidden!important;}
  .cl-petal{animation:none!important;filter:none!important;will-change:auto!important;}

  /* Reveal effects are already visually disabled on mobile; also remove paint hints. */
  .cl-reveal,
  .cl-reveal-hero,
  body.cl-reveal-ready .cl-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
  }
}

@media (max-width:1024px){
  /* These decorations are hidden at tablet/mobile widths, so they need no GPU hints. */
  .cl-float-leaf,
  .cl-section-petal{
    transition:none!important;
    will-change:auto!important;
  }
}

/* ===== v8.14 – mobile hero title visually centered ===== */
@media (max-width:767px){
  /* The hero title artwork has internal transparent space, so on phones we
     reduce it slightly and nudge it left to center the visible lettering. */
  .cl-hero-logo{
    left:50%!important;
    top:84px!important;
    width:min(68vw,320px)!important;
    transform:translateX(-56%)!important;
  }
}
@media (max-width:480px){
  .cl-hero-logo{
    top:82px!important;
    width:72vw!important;
    transform:translateX(-57%)!important;
  }
}
@media (max-width:390px){
  .cl-hero-logo{
    top:78px!important;
    width:74vw!important;
    transform:translateX(-58%)!important;
  }
}

/* ===== v8.15 – mobile hero title larger and better centered ===== */
@media (max-width:767px){
  .cl-hero-logo{
    left:50%!important;
    top:84px!important;
    width:min(82vw,390px)!important;
    transform:translateX(-54%)!important;
  }
}
@media (max-width:480px){
  .cl-hero-logo{
    top:82px!important;
    width:84vw!important;
    transform:translateX(-54%)!important;
  }
}
@media (max-width:390px){
  .cl-hero-logo{
    top:78px!important;
    width:86vw!important;
    transform:translateX(-55%)!important;
  }
}


/* ===== v8.16 – RSVP adult attendee names ===== */
.cl-adult-name-fields{display:grid;gap:14px;}
.cl-adult-name-fields:empty{display:none;}

/* ===== v8.18 – RSVP children conditional fields reliability ===== */
.cl-rsvp-form [data-children-fields]{gap:18px;}
.cl-rsvp-form [data-children-fields][hidden]{display:none!important;}


/* ===== v8.19 – RSVP children fields: robust CSS + JS toggle ===== */
.cl-rsvp-form [data-children-fields]{
  display:none;
  gap:18px;
}
.cl-rsvp-form [data-children-fields].is-visible{
  display:grid!important;
}
/* CSS fallback: modern browsers reveal the fields immediately when “Sì” is selected,
   even before/during delayed JavaScript execution. */
@supports selector(:has(*)){
  .cl-rsvp-form [data-attending-fields]:has(input[name="children"][value="yes"]:checked) [data-children-fields]{
    display:grid!important;
  }
}
