/* ==========================================================================
   Enyty - rifiniture grafiche (novembre 2026)
   Si carica DOPO i fogli di stile esistenti e ne corregge i dettagli, senza
   cambiare identità: stesso blu, stessi sfondi acquerello, stessi caratteri.
   Per tornare all'aspetto precedente basta non caricare questo file.
   ========================================================================== */

:root {
    --enyty-blue: #465a7b;
    --enyty-blue-strong: #456297;
    --enyty-sky: #b3d4e7;
    --enyty-ink: #1c2434;
    --enyty-text: rgba(28, 36, 52, .74);
    --enyty-line: rgba(70, 90, 123, .12);
    --enyty-shadow: 0 10px 30px -12px rgba(41, 122, 254, .22), 0 2px 6px rgba(28, 36, 52, .04);
    --enyty-shadow-hover: 0 18px 40px -14px rgba(41, 122, 254, .30), 0 3px 8px rgba(28, 36, 52, .06);
    --enyty-radius: 18px;
}

/* ---------- Base ---------------------------------------------------------- */
html { scroll-behavior: smooth; }
body {
    color: var(--enyty-ink);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1, h2, h3 { color: var(--enyty-ink); letter-spacing: -.01em; text-wrap: balance; }
main p { text-wrap: pretty; }
.txt-light { color: var(--enyty-text); }
main h1 { font-size: clamp(2rem, 1.2rem + 2.6vw, 3.1rem); line-height: 1.14; }
main h2.h1, main h2 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.18; }
main p.h5, main .h5.txt-light { font-size: clamp(1rem, .95rem + .25vw, 1.18rem); line-height: 1.55; font-weight: 400; }

/* Il grassetto usa il carattere Bold vero, non quello "ingrossato" dal browser */
a.nav-link.text-capitalize, .fw-bold, .fw-bolder, b, strong { font-family: Larsseit-Bold, Larsseit-Medium, sans-serif; font-weight: 400 !important; }
h1 b, h2 b, h3 b, h1 strong, h2 strong, h3 strong, .font-league, .font-galada { font-family: inherit; }
.font-league { font-family: "League Gothic", sans-serif; }
.font-galada { font-family: Galada, cursive; }

/* Elementi raggiungibili da tastiera: contorno sempre visibile */
a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, summary:focus-visible {
    outline: 3px solid rgba(69, 98, 151, .45);
    outline-offset: 3px;
    border-radius: 6px;
}

/* ---------- Barra in alto ------------------------------------------------- */
.top-nav-bg { padding-top: .45rem; padding-bottom: .45rem; }
.top-nav-bg .navbar-text { align-items: center; padding: 0; }
.top-nav-bg .navbar-text > a,
.top-nav-bg .navbar-text form > a { opacity: .92; transition: opacity .15s ease; font-size: 15px; }
.top-nav-bg .navbar-text > a:hover,
.top-nav-bg .navbar-text form > a:hover { opacity: 1; }
.top-nav-bg .navbar-text > a:hover span,
.top-nav-bg .navbar-text form > a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.top-nav-bg .navbar-nav .nav-link { opacity: .85; transition: opacity .15s ease, transform .15s ease; }
.top-nav-bg .navbar-nav .nav-link:hover { opacity: 1; transform: translateY(-1px); }
.top-nav-bg .vr { align-self: center; min-height: 18px; }

/* ---------- Menu principale ----------------------------------------------- */
header + nav.navbar a.nav-link.text-capitalize span,
nav.navbar.position-absolute a.nav-link.text-capitalize span {
    position: relative;
    padding-bottom: 6px;
    border-bottom: 0 !important;
    background-image: linear-gradient(var(--enyty-sky), var(--enyty-sky));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 3px;
    transition: background-size .22s ease;
}
nav.navbar.position-absolute a.nav-link.text-capitalize span:hover,
nav.navbar.position-absolute a.nav-link.text-capitalize span.active { background-size: 100% 3px; }
nav.navbar.position-absolute .text-capitalize .active:before { display: none; }
nav.navbar.position-absolute a.nav-link.text-capitalize { color: var(--enyty-ink); }

/* ---------- Pulsanti ------------------------------------------------------ */
.hero-btn, .btn.hero-btn {
    border-radius: 12px;
    border: 1px solid rgba(70, 90, 123, .10);
    box-shadow: 0 6px 22px -8px rgba(41, 122, 254, .35);
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}
.hero-btn:hover, .btn.hero-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -10px rgba(41, 122, 254, .45);
}
.hero-btn:active, .btn.hero-btn:active { transform: translateY(0); }
a.nav-link.hero-btn:hover { background: #fff; }
.btn:hover img[src*="arrow"] { filter: brightness(0) invert(1); }

/* ---------- Home: testata ------------------------------------------------- */


/* ---------- Home: titoli di sezione --------------------------------------- */
main > section > h2.text-center,
main > section > div > h2.text-center,
main > section .d-flex > h2.text-center {
    position: relative;
    padding-bottom: .9rem;
}
main > section > h2.text-center::after,
main > section > div > h2.text-center::after,
main > section .d-flex > h2.text-center::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    width: 56px; height: 3px; margin-left: -28px;
    border-radius: 3px;
    background: var(--enyty-sky);
}

/* ---------- Home: schede "ultime persone" --------------------------------- */
#recipeCarousel .carousel-inner { padding-top: 1.5rem !important; padding-bottom: 2.5rem !important; }
.memory-card-link { display: block; height: 100%; }
.memory-card {
    height: 100%;
    display: flex; flex-direction: column; align-items: center;
    background: #fff !important;
    border: 1px solid var(--enyty-line);
    border-radius: var(--enyty-radius) !important;
    box-shadow: var(--enyty-shadow) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}
.memory-card-link:hover .memory-card { transform: translateY(-4px); box-shadow: var(--enyty-shadow-hover) !important; }
.memory-card__kicker { margin: 0 0 .35rem; font-size: .95rem; color: var(--enyty-text); }
.memory-card__title { margin: 0 0 1rem; font-size: 1.9rem !important; line-height: 1; color: var(--enyty-blue); }
.memory-card__photo {
    width: 156px; height: 188px; min-height: 0 !important;
    object-fit: cover; border-radius: 999px 999px 14px 14px;
    border: 5px solid #fff;
    box-shadow: 0 0 0 1px var(--enyty-line), 0 10px 22px -10px rgba(28, 36, 52, .35);
    background: #eef4f9;
    margin-bottom: 1.1rem;
}
.memory-card__name { font-size: 1.45rem; letter-spacing: .04em; line-height: 1.15; color: var(--enyty-ink); }
.memory-card__dates { margin: .35rem 0 0; font-size: .9rem; color: var(--enyty-text); }

/* poche persone: griglia centrata, niente frecce */
#recipeCarousel.is-static .carousel-item { display: flex !important; flex-wrap: wrap; justify-content: center; row-gap: 1.5rem; transform: none !important; }
#recipeCarousel.is-static .carousel-item > div { display: block !important; }
#recipeCarousel.is-static .carousel-control-prev,
#recipeCarousel.is-static .carousel-control-next { display: none; }

#recipeCarousel .carousel-control-prev img,
#recipeCarousel .carousel-control-next img { width: 44px; opacity: .8; transition: opacity .15s ease, transform .15s ease; }
#recipeCarousel .carousel-control-prev:hover img,
#recipeCarousel .carousel-control-next:hover img { opacity: 1; transform: scale(1.08); }

@media (max-width: 767px) {
    .memory-card { max-width: 300px; margin: 0 auto; }
    .memory-card__photo { width: 180px; height: 216px; }
    #recipeCarousel.is-static .carousel-item > div { width: 100%; }
}
@media (max-width: 472px) {
    /* su telefono restano visibili anche "Nel caro Ricordo" e il cuore */
    .memory-card .slide-top-section { display: block; }
    .memory-card img.slide-top-section { display: block; }
}

/* ---------- Home: pagina commemorativa d'esempio -------------------------- */
.demo-dates { font-size: 1.05rem; letter-spacing: .08em; color: var(--enyty-text); }
.second-section .fred_clr { font-family: Larsseit-Bold, sans-serif; letter-spacing: .04em; }
.demo-photos {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(.9rem, 2vw, 1.75rem);
    width: 100%; max-width: 1240px; margin: 0 auto 1.5rem;
}
.demo-photos__item {
    margin: 0; padding: 10px; background: #fff;
    border-radius: 6px;
    box-shadow: 0 14px 30px -16px rgba(41, 122, 254, .45), 0 0 0 1px var(--enyty-line);
    transition: transform .25s ease;
}
.demo-photos__item:nth-child(odd) { transform: rotate(-1.2deg); }
.demo-photos__item:nth-child(even) { transform: rotate(1deg); }
.demo-photos__item img { display: block; width: 100%; height: auto; aspect-ratio: 346 / 333; object-fit: cover; border-radius: 2px; }
@media (max-width: 767px) { .demo-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 460px; } }
.bynamecombo { align-items: flex-end !important; text-align: right; color: var(--enyty-text); }

/* ---------- Home: omaggi -------------------------------------------------- */
.cards-bg1 {
    height: 100%;
    background: #fff !important;
    border: 1px solid var(--enyty-line);
    box-shadow: var(--enyty-shadow) !important;
    padding: 1.6rem 1.25rem !important;
    transition: transform .2s ease, box-shadow .2s ease;
}
.cards-bg1 .card-image1 { width: 76px; height: 76px; object-fit: cover; border-radius: 50%; margin-bottom: .25rem !important; }
.cards-bg1 p { font-size: 1.02rem; line-height: 1.5; font-style: italic; }
.cards-bg1 h6 { margin-top: auto; font-family: Larsseit-Bold, sans-serif; letter-spacing: .02em; }
@media (max-width: 575px) {
    .cards-bg1 { padding: 1.1rem .7rem !important; }
    .cards-bg1 p { font-size: .92rem; }
}

/* ---------- Home: sostegno e newsletter ----------------------------------- */
.Supporting { border: 1px solid var(--enyty-line); box-shadow: var(--enyty-shadow) !important; background: rgba(255, 255, 255, .7) !important; }
#subscribe-form .form-control { min-height: 52px; padding-left: 1.4rem; border-color: var(--enyty-line) !important; }
#subscribe-form .form-control:focus { border-color: var(--enyty-blue-strong) !important; box-shadow: 0 0 0 4px rgba(69, 98, 151, .14); }
#subscribe-form .btn { top: 4px; bottom: 4px; right: 4px; display: inline-flex; align-items: center; letter-spacing: .06em; }
.Invite_section a:hover span, .Invite_section-images a:hover span { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Finestre di avviso: altezza adattiva -------------------------- */
.modal-content.successModal { height: auto !important; min-height: 320px; padding-bottom: 2rem; border: 0; box-shadow: 0 30px 80px -30px rgba(28, 36, 52, .45); }
.modal-content.successModal .modal-body { padding: 1rem 1.5rem !important; }
.modal-content.successModal .h1 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); }
.modal-content.successModal .h3, .modal-content.successModal .h2 { font-size: clamp(1.1rem, 1rem + .6vw, 1.5rem); line-height: 1.35; }
.modal-content.successModal .donation-url, .modal-content.successModal a.rounded-3 { transition: transform .16s ease, box-shadow .16s ease; box-shadow: 0 10px 24px -12px rgba(69, 98, 151, .8); }
.modal-content.successModal .donation-url:hover, .modal-content.successModal a.rounded-3:hover { transform: translateY(-2px); }
@media (max-width: 472px) { .modal-content.successModal { height: auto !important; min-height: 240px; } }

/* ---------- Pagine interne: testate e schede ------------------------------ */
main h1.col-12 { width: auto; max-width: 30ch; }
#events_buttons .nav .nav-item a.nav-link { transition: background-color .16s ease, transform .16s ease; letter-spacing: .05em; }
#events_buttons .nav .nav-item a.nav-link:hover { background: #a9c1ee; transform: translateY(-1px); }
.searchbox, #Filter-dropdown, #Short-dropdown { border-color: var(--enyty-line) !important; transition: border-color .15s ease, box-shadow .15s ease; }
.searchbox:focus, #Filter-dropdown:hover, #Short-dropdown:hover { border-color: var(--enyty-blue-strong) !important; box-shadow: 0 0 0 4px rgba(69, 98, 151, .12); }
.bg-Ellipse_13 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }

/* ---------- Chi preferisce meno animazioni -------------------------------- */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .demo-photos__item { transform: none !important; }
}

/* ==========================================================================
   Testata della home: il messaggio a sinistra, i ricordini a destra
   ========================================================================== */
.hero.top_section {
    position: relative;
    padding-top: clamp(8.5rem, 6rem + 9vw, 12rem);
    padding-bottom: clamp(3rem, 2rem + 5vw, 6rem);
    background-position: right bottom;
    overflow: hidden;
}
.hero__inner {
    display: grid; align-items: center;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 5vw, 5rem);
    max-width: 1280px; margin: 0 auto;
}
.hero__text h1 {
    font-size: clamp(2.3rem, 1.2rem + 3.6vw, 4.1rem);
    line-height: 1.06; letter-spacing: -.015em;
    margin: 0 0 1.4rem;
}
.hero__lead { font-size: clamp(1.05rem, 1rem + .35vw, 1.3rem); line-height: 1.55; max-width: 34em; margin: 0 0 2.1rem; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; }
.hero__primary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .95rem 1.7rem; border-radius: 999px;
    background: var(--enyty-blue-strong); color: #fff; text-decoration: none;
    font-family: Larsseit-Bold, sans-serif; font-size: 1.05rem;
    box-shadow: 0 14px 30px -14px rgba(69, 98, 151, .9);
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.hero__primary:hover { background: #3a5586; color: #fff; transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(69, 98, 151, 1); }
.hero__secondary {
    color: var(--enyty-ink); text-decoration: none; font-family: Larsseit-Bold, sans-serif; font-size: 1.05rem;
    padding-bottom: 4px;
    background: linear-gradient(var(--enyty-sky), var(--enyty-sky)) no-repeat 0 100% / 100% 3px;
    transition: background-size .2s ease;
}
.hero__secondary:hover { color: var(--enyty-ink); background-size: 100% 100%; }

/* ---------- I ricordini --------------------------------------------------- */
.hero__cards { position: relative; height: 470px; --fan: 1; }
.ricordino {
    position: absolute; left: 50%; top: 50%;
    width: 232px; margin: -205px 0 0 -116px;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 1.15rem 1.1rem 1.25rem;
    background: #fff; border-radius: 14px;
    box-shadow: 0 28px 50px -26px rgba(28, 36, 52, .55), 0 0 0 1px var(--enyty-line);
    color: var(--enyty-ink); text-decoration: none;
    transform: translate(var(--x, 0), var(--y, 0)) rotate(var(--r, 0deg));
    transition: transform .28s cubic-bezier(.2, .7, .2, 1), box-shadow .28s ease;
    animation: ricordino-in .9s cubic-bezier(.2, .7, .2, 1) both;
}
.ricordino--1 { z-index: 3; --r: -2deg; animation-delay: .05s; }
.ricordino--2 { z-index: 2; --x: -62%; --y: 5%; --r: -10deg; animation-delay: .16s; }
.ricordino--3 { z-index: 1; --x: 62%; --y: 7%; --r: 8deg; animation-delay: .27s; }
.hero__cards--2 .ricordino--1 { --x: 50%; --r: 5deg; }
.hero__cards--2 .ricordino--2 { --x: -50%; --y: 3%; --r: -7deg; }
.hero__cards--1 .ricordino--1 { --r: -3deg; }
a.ricordino:hover, a.ricordino:focus-visible {
    z-index: 5; color: var(--enyty-ink);
    transform: translate(var(--x, 0), calc(var(--y, 0%) - 14px)) rotate(0deg);
    box-shadow: 0 38px 60px -26px rgba(28, 36, 52, .6), 0 0 0 1px rgba(69, 98, 151, .35);
}
@keyframes ricordino-in {
    from { opacity: 0; transform: translate(0, 26px) rotate(0deg); }
    to   { opacity: 1; transform: translate(var(--x, 0), var(--y, 0)) rotate(var(--r, 0deg)); }
}
.ricordino__kicker { font-size: .85rem; color: var(--enyty-text); line-height: 1.2; }
.ricordino__title { font-size: 1.75rem; line-height: 1.05; color: var(--enyty-blue); margin-bottom: .8rem; }
.ricordino__photo {
    width: 168px; height: 204px; object-fit: cover;
    border-radius: 999px 999px 12px 12px;
    background: #eef4f9;
    box-shadow: 0 0 0 1px var(--enyty-line);
    margin-bottom: .9rem;
}
.ricordino__name { font-size: 1.5rem; letter-spacing: .04em; line-height: 1.1; text-transform: uppercase; }
.ricordino__dates { margin-top: .25rem; font-size: .92rem; color: var(--enyty-text); }

@media (max-width: 1199px) {
    .hero__cards { height: 420px; }
    .ricordino { width: 204px; margin: -185px 0 0 -102px; }
    .ricordino__photo { width: 144px; height: 176px; }
    .ricordino__name { font-size: 1.3rem; }
}
@media (max-width: 991px) {
    .hero__inner { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
    .hero__text { text-align: center; }
    .hero__lead { margin-left: auto; margin-right: auto; }
    .hero__actions { justify-content: center; }
    .hero__cards { height: 400px; max-width: 560px; width: 100%; margin: 0 auto; }
}
@media (max-width: 575px) {
    .hero.top_section { padding-top: 7.5rem; }
    .hero__cards { height: 330px; }
    .ricordino { width: 164px; margin: -150px 0 0 -82px; padding: .8rem .7rem .9rem; border-radius: 12px; }
    .ricordino__title { font-size: 1.35rem; margin-bottom: .55rem; }
    .ricordino__kicker { font-size: .75rem; }
    .ricordino__photo { width: 116px; height: 142px; margin-bottom: .6rem; }
    .ricordino__name { font-size: 1.05rem; }
    .ricordino__dates { font-size: .8rem; }
    .ricordino--2 { --x: -56%; } .ricordino--3 { --x: 56%; }
}

/* ---------- Omaggi: la frase prima di tutto ------------------------------- */
.cards-bg1 { align-items: flex-start !important; text-align: left; gap: .9rem !important; position: relative; padding: 2.6rem 1.5rem 1.4rem !important; }
.cards-bg1::before {
    content: "\201C"; position: absolute; top: .35rem; left: 1.2rem;
    font-family: "DM Serif Display", serif; font-size: 4.2rem; line-height: 1; color: var(--enyty-sky);
}
.cards-bg1 p { order: 1; text-align: left !important; margin: 0 !important; font-style: normal; font-size: 1.08rem; line-height: 1.5; color: var(--enyty-ink) !important; }
.cards-bg1 .card-image1 { order: 2; width: 44px; height: 44px; margin: .4rem 0 0 !important; }
.cards-bg1 h6 { order: 3; margin: -2.9rem 0 0 3.4rem !important; align-self: flex-start; text-align: left !important; line-height: 44px; min-height: 44px; font-size: .98rem; }
@media (max-width: 575px) {
    .cards-bg1 { padding: 2.2rem .9rem 1rem !important; }
    .cards-bg1::before { font-size: 3.2rem; left: .7rem; }
    .cards-bg1 p { font-size: .95rem; }
    .cards-bg1 .card-image1 { width: 34px; height: 34px; }
    .cards-bg1 h6 { margin: -2.3rem 0 0 2.6rem !important; line-height: 34px; min-height: 34px; font-size: .85rem; }
}

/* ---------- Piè di pagina: chiude la pagina con il blu della barra in alto -- */
footer { background: var(--enyty-blue); color: rgba(255, 255, 255, .86); }
footer .top-footer-bg { background: transparent !important; padding-top: clamp(2.5rem, 2rem + 3vw, 4.5rem) !important; }
footer .top-footer-bg > div { align-items: flex-start !important; }
footer .top-footer-bg .col-12.d-flex.flex-column { align-items: flex-start !important; }
@media (min-width: 768px) { footer .top-footer-bg .col-12.d-flex.flex-column { align-items: center !important; } }
footer .Logo_vettoriale { filter: brightness(0) invert(1); }
footer .top-footer-bg p.text-black { color: rgba(255, 255, 255, .78) !important; max-width: 32ch; font-size: 1.02rem; }
footer .top-footer-bg h5 { font-family: "DM Serif Display", serif; font-size: 1.35rem; color: #fff; margin-bottom: 1.1rem !important; }
footer .top-footer-bg a.text-black, footer .top-footer-bg p.text-decoration-none { color: rgba(255, 255, 255, .86) !important; }
footer .top-footer-bg a.text-black:hover { color: #fff !important; text-decoration: underline !important; text-underline-offset: 4px; }
footer .top-footer-bg img[src*="Assets/"]:not(.Logo_vettoriale) { filter: brightness(0) invert(1); opacity: .9; }
footer .top-footer-bg .d-flex.gap-2 a { transition: transform .15s ease; }
footer .top-footer-bg .d-flex.gap-2 a:hover { transform: translateY(-2px); }
footer > .p-3.text-center { border-top: 1px solid rgba(255, 255, 255, .16); }
footer > .p-3.text-center small { color: rgba(255, 255, 255, .7); line-height: 1.9; }
footer > .p-3.text-center small a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .4); text-underline-offset: 3px; }
footer > .p-3.text-center small a:hover { text-decoration-color: #fff; }
footer a#rycc { color: #fff; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
    .ricordino { animation: none; }
}

/* ---------- Logo nella barra: i quattro punti si accendono ---------------- */
.enyty-logo { display: block; overflow: visible; }
.enyty-logo--nav { width: 200px; max-width: 100%; height: auto; color: #231F20; }
.enyty-logo--nav .lg-dot { transform-box: fill-box; transform-origin: center; transition: fill .3s ease, filter .3s ease; }
.navbar-brand:hover .enyty-logo--nav .lg-dot,
.navbar-brand:focus-visible .enyty-logo--nav .lg-dot { fill: var(--enyty-blue-strong); filter: drop-shadow(0 0 3px rgba(69, 98, 151, .55)); }
.enyty-logo--nav.is-twinkle .lg-dot { animation: lg-twinkle 1.4s ease calc(var(--k, 0) * .18s) 1 both; }
@keyframes lg-twinkle {
    0%, 100% { fill: currentColor; filter: none; }
    45%      { fill: var(--enyty-blue-strong); filter: drop-shadow(0 0 4px rgba(69, 98, 151, .7)); }
}
@media (prefers-reduced-motion: reduce) { .enyty-logo--nav.is-twinkle .lg-dot { animation: none; } }

/* ---------- Pallino di luce che segue il mouse (js/enyty-cursor.js, solo computer) ----------
   Il puntatore del sistema resta visibile; il pallino lo accompagna e la luce lo segue piano.
   Blu sulle parti chiare, luce calda sulle parti blu notte (classe is-dark), piu' grande sui link. */
.ecur { position: fixed; left: 0; top: 0; z-index: 2147483000; pointer-events: none; opacity: 0; transition: opacity .35s ease; }
.ecur.is-on { opacity: 1; }
.ecur__glow, .ecur__dot { position: fixed; left: 0; top: 0; will-change: transform; }
.ecur__glow { width: 48px; height: 48px; margin: -24px 0 0 -24px; }
.ecur__dot { width: 8px; height: 8px; margin: -4px 0 0 -4px; }
.ecur__glow::before, .ecur__dot::before {
    content: ""; position: absolute; inset: 0; border-radius: 50%;
    transition: transform .45s cubic-bezier(.16, 1, .3, 1), background-color .4s ease, box-shadow .4s ease, opacity .4s ease;
}
.ecur__glow::before {
    background: radial-gradient(circle, rgba(69, 98, 151, .2) 0, rgba(179, 212, 231, .18) 42%, rgba(179, 212, 231, 0) 70%);
}
.ecur__dot::before { background-color: #456297; box-shadow: 0 0 0 2px rgba(255, 255, 255, .8), 0 0 10px 2px rgba(69, 98, 151, .4); }
.ecur.is-dark .ecur__glow::before { background: radial-gradient(circle, rgba(255, 236, 200, .32) 0, rgba(255, 214, 150, .16) 42%, rgba(255, 214, 150, 0) 70%); }
.ecur.is-dark .ecur__dot::before { background-color: #fff3d6; box-shadow: 0 0 0 1px rgba(255, 255, 255, .25), 0 0 12px 4px rgba(255, 214, 150, .75); }
.ecur.is-link .ecur__glow::before { transform: scale(1.9); box-shadow: inset 0 0 0 1px rgba(69, 98, 151, .22); }
.ecur.is-dark.is-link .ecur__glow::before { box-shadow: inset 0 0 0 1px rgba(255, 236, 200, .3); }
.ecur.is-link .ecur__dot::before { transform: scale(.5); }
.ecur.is-down .ecur__glow::before { transform: scale(.8); }
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) { .ecur { display: none !important; } }
@media print { .ecur { display: none !important; } }
