/* Ambient motion: scoped to the existing hero, ribbon, services and mascots. */
.ribbon {display:block;padding-inline:0;max-width:100%;margin-inline:0;rotate:0deg}
.ribbon-track {display:flex;width:max-content;animation:ribbon-loop 22s linear infinite}
.ribbon-group {display:flex;align-items:center;justify-content:space-around;gap:28px;padding-inline:14px;flex-shrink:0;min-width:100vw}
@keyframes ribbon-loop {to {transform:translateX(-50%)}}
/* Activated only after the official photograph has been supplied. */
.hero-living-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:living-photo 16s ease-in-out infinite;pointer-events:none}
@keyframes living-photo {0%,100%{transform:scale(1.025) translate(-.3%,-.2%)}50%{transform:scale(1.06) translate(.4%,.35%)}}
.service-photo-card {--decor-delay:0s}
.services .party-confetti {animation:ambient-confetti var(--drift-duration,11s) ease-in-out var(--decor-delay,0s) infinite;opacity:.5}
.services .party-balloon-single {animation:ambient-balloon var(--drift-duration,9s) ease-in-out var(--decor-delay,0s) infinite}
.service-photo-card::after {right:-8px;top:-19px;width:15px;height:15px;animation:ambient-star 4.7s ease-in-out var(--decor-delay) infinite}
.card-spark {position:absolute;top:48%;left:-9px;width:5px;height:9px;background:var(--tile-color);border-radius:1px;pointer-events:none;animation:ambient-confetti 8s ease-in-out var(--decor-delay) infinite;transition:translate .5s}
.card-spark:last-child {top:75%;left:auto;right:-9px;background:#ffb53b;animation-duration:11s}
@keyframes ambient-balloon {0%,100%{transform:translate(0,0) rotate(var(--tilt))}50%{transform:translate(3px,-12px) rotate(calc(var(--tilt) + 4deg))}}
@keyframes ambient-confetti {0%,100%{transform:translateY(0) rotate(var(--turn,15deg))}50%{transform:translateY(-5px) rotate(calc(var(--turn,15deg) + 24deg))}}
@keyframes ambient-star {0%,100%{transform:scale(.8) rotate(-8deg);opacity:.4}50%{transform:scale(1.12) rotate(10deg);opacity:.9}}
.service-photo-card:focus-within {translate:0 -5px;box-shadow:0 22px 44px #4a2e661a}
.service-photo-card:is(:hover,:focus-within,:active) .card-spark {translate:0 -4px}
.mascot-open {display:block;border:0;background:transparent;padding:0;width:100%;height:100%;position:relative;color:inherit;border-radius:24px}
#mascotte .mascot-photo .portrait-space img {animation:soft-pulse var(--pulse-duration,3.6s) ease-in-out var(--pulse-delay,0s) infinite;transform-origin:50% 85%;scale:1;translate:none;transition:translate .45s}
@keyframes soft-pulse {0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
#mascotte .mascot-photo .portrait-space::after {animation:shadow-pulse var(--pulse-duration,3.6s) ease-in-out var(--pulse-delay,0s) infinite}
@keyframes shadow-pulse {0%,100%{transform:scaleX(1);opacity:.7}50%{transform:scaleX(.88);opacity:.4}}
#mascotte .mascot-photo:focus-within img {translate:0 -4px}
@media(hover:hover) {#mascotte .mascot-photo:hover img {scale:1.01;translate:0 -4px}#mascotte .mascot-photo:hover .portrait-space::before {box-shadow:0 12px 28px var(--mascot-tint)}}
.sonic-energy {position:absolute;inset:0;pointer-events:none;z-index:2}
.sonic-bolt {position:absolute;width:19px;height:65px;fill:none;stroke:#26aaff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #64dfff);opacity:0;animation:energy-arc var(--arc-duration) ease-in-out var(--arc-delay) infinite}
.sonic-bolt:nth-child(1) {left:0;top:28%}.sonic-bolt:nth-child(2) {right:0;top:46%;rotate:180deg}.sonic-bolt:nth-child(3) {left:8%;bottom:5%;rotate:-25deg}
@keyframes energy-arc {0%,65%,85%,100%{opacity:0;transform:scale(.9)}73%{opacity:.85;transform:scale(1)}}
.sonic-energy::after {content:'';position:absolute;right:5%;top:22%;width:4px;height:4px;border-radius:50%;background:#9cecff;box-shadow:0 0 7px #26aaff;animation:energy-arc 6.7s ease-in-out -2s infinite}
#mascotte .sonic-boost .mascot-open {animation:sonic-bounce 1s ease-out}
.sonic-boost .sonic-energy {animation:sonic-charge 1s ease-out}
.sonic-boost .sonic-bolt {animation:energy-burst 1s ease-out}
@keyframes sonic-bounce {0%,100%{transform:translateY(0)}35%{transform:translateY(-6px)}65%{transform:translateY(-2px)}}
@keyframes sonic-charge {0%,100%{transform:scale(1)}40%{transform:scale(1.04)}}
@keyframes energy-burst {0%,100%{opacity:0}35%{opacity:1}70%{opacity:.2}}
.motion-paused,.motion-paused *,.motion-paused::after,.motion-paused *::after {animation-play-state:paused!important}
html.motion-hidden :is(.ribbon-track,.party-balloon-single,.party-confetti,.card-spark,.sonic-bolt,.hero-living-photo),html.motion-hidden #mascotte * {animation-play-state:paused!important}
.mascot-viewer {border:0;border-radius:24px;padding:48px 24px 24px;max-width:min(90vw,650px);max-height:90svh;color:var(--ink);background:#fff8f0}
.mascot-viewer::backdrop {background:#101c40b3}
.mascot-viewer img {height:65svh;max-width:100%;object-fit:contain;margin:auto}
.mascot-viewer button {position:absolute;right:12px;top:10px;border:0;border-radius:20px;padding:6px 16px;background:#ffe0a8}
.mascot-viewer p {text-align:center;font-weight:700;margin-top:10px}
@media(max-width:599px) {.ribbon-group{gap:18px;padding-inline:9px}.services .party-confetti:nth-child(2n),.services .party-balloon-single:nth-child(n+5){display:none}.sonic-bolt:nth-child(3),.sonic-energy::after{display:none}.services .party-balloon-single{width:23px}.services .party-balloon-single.left{left:-26px}.services .party-balloon-single.right{right:-26px}}
@media(prefers-reduced-motion:reduce) {
 .ribbon-track{animation:none;width:100%}.ribbon-group{min-width:0;width:100%;flex-wrap:wrap;white-space:normal;gap:12px}.ribbon-group[aria-hidden]{display:none}
 .hero-living-photo,#mascotte .mascot-photo .portrait-space img,#mascotte .mascot-photo .portrait-space::after,.card-spark,.service-photo-card::after,.sonic-energy,.sonic-bolt,#mascotte .sonic-boost .mascot-open{animation:none!important}
 .sonic-energy{display:none}#mascotte .mascot-photo,#mascotte .mascot-photo img,.service-photo-card,.card-spark{transition:none!important}
 #mascotte .mascot-photo:hover img{scale:1;translate:none}
}
html.motion-hidden .service-photo-card::after,html.motion-hidden #mascotte .portrait-space::after,html.motion-hidden .sonic-energy::after {animation-play-state:paused!important}
/* Character signatures remain behind the original photographs. */
.mascot-emblem{position:absolute;inset:-12px -6% 0;z-index:0;pointer-events:none;color:#3284dc}
.mascot-emblem>svg{position:absolute;left:-3%;top:5%;width:62%;height:auto;fill:currentColor;fill-opacity:.09;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;opacity:.65;animation:emblem-float 7s ease-in-out var(--pulse-delay) infinite;transition:opacity .4s}
.mascot-emblem .emblem-echo{width:23%;left:auto;right:0;top:57%;animation-duration:9s;animation-direction:reverse;opacity:.5}
.emblem-spider{color:#da4660}.emblem-spider>svg{fill:none;stroke-width:1.4;left:-8%;width:76%}
.emblem-marie{color:#e871b1}.emblem-marie>svg{fill-opacity:.2}
.emblem-stitch{color:#1eacb6}.emblem-stitch>svg{fill-opacity:.16}
.motif-active .mascot-emblem>svg{animation:emblem-greet 1.1s ease-in-out;opacity:1}
@keyframes emblem-float{0%,100%{transform:translate(0,0) rotate(-8deg) scale(.96)}50%{transform:translate(5px,-11px) rotate(5deg) scale(1.04)}}
@keyframes emblem-greet{0%,100%{transform:scale(1) rotate(-8deg)}45%{transform:translateY(-9px) scale(1.12) rotate(7deg)}}
.scene-cloud{animation:cloud-roam var(--scene-duration,14s) ease-in-out var(--scene-delay,0s) infinite}
@keyframes cloud-roam{0%,100%{translate:0 0}35%{translate:32px -16px}70%{translate:8px 7px}}
.paint-splash{animation:paint-roam var(--scene-duration,16s) ease-in-out var(--scene-delay,0s) infinite}
@keyframes paint-roam{0%,100%{translate:0 0;rotate:-3deg;scale:.97}50%{translate:10px -15px;rotate:5deg;scale:1.055}}
/* Compact contact backdrop; clouds stay within the lower transition. */
#contatti{min-height:0;padding-top:95px;padding-bottom:150px;background:#111d4d}
#contatti .contact-video{object-position:center;max-width:none;left:0;transform:none}
#contatti::before{background:linear-gradient(180deg,#111d4d55,#111d4d88 55%,#111d4dcc)}
#contatti .contact-actions{position:relative;z-index:2}
#contatti>.eyebrow,#contatti>.illustrated-title,#contatti>p{position:relative;z-index:1}
#contatti .scene-transition{height:100px}
#contatti .scene-cloud{width:clamp(180px,22vw,290px);bottom:-22px;rotate:0deg;animation-name:contact-cloud-drift}
#contatti .cloud-left{left:-55px}
#contatti .cloud-right{right:-65px;bottom:-12px;scale:.9}
@keyframes contact-cloud-drift{0%,100%{translate:0 0}50%{translate:12px -5px}}
html.motion-hidden :is(.scene-cloud,.paint-splash,.mascot-emblem>svg){animation-play-state:paused!important}
@media(max-width:599px){
 .scene-cloud{animation-duration:18s}
 @keyframes cloud-roam{0%,100%{translate:0 0}35%{translate:20px -10px}70%{translate:5px 4px}}
 .paint-splash{animation-duration:20s}
 .mascot-emblem .emblem-echo{display:none}
 #contatti{padding-top:75px;padding-bottom:120px}
 #contatti .contact-video{height:100%;width:100%;object-fit:cover;object-position:48% center}
 #contatti::before{background:linear-gradient(180deg,#111d4d65,#111d4da6 70%,#111d4dd9)}
 #contatti .illustrated-title{width:100%}
 #contatti .scene-transition{height:75px}
 #contatti .scene-cloud{width:180px;animation-duration:18s}
}
@media(prefers-reduced-motion:reduce){.scene-cloud,.paint-splash,.mascot-emblem>svg,.motif-active .mascot-emblem>svg{animation:none!important;transition:none}}

/* The previous section meets the film directly, without a solid blue band. */
#come-funziona{padding-bottom:55px}
#contatti{padding-top:145px}
#contatti .contact-top-transition{top:-1px;bottom:auto;height:90px;z-index:3!important}
#contatti .contact-top-transition .scene-cloud{bottom:-42px}
#contatti .contact-top-transition .cloud-right{bottom:-28px}
@media(max-width:599px){
 #come-funziona{padding-bottom:40px}
 #contatti{padding-top:120px}
 #contatti .contact-top-transition{height:65px}
 #contatti .contact-top-transition .scene-cloud{bottom:-24px}
 #contatti .contact-top-transition .cloud-right{bottom:-18px}
}
/* Quiet reading areas and a consistent transition rhythm. */
.button,.floating-whatsapp,main :is(.about-link,.reviews-link,.map-link){animation:none}
.scene-transition{height:clamp(85px,9vw,125px)}
.scene-wave{height:calc(100% + 2px);top:-1px}
.scene-cloud{bottom:-24px;rotate:0deg}
.scene-cloud.cloud-right{bottom:-20px;rotate:0deg;scale:.88}
@keyframes cloud-roam{0%,100%{translate:0 0}40%{translate:18px -6px}75%{translate:5px 2px}}
@keyframes paint-roam{0%,100%{translate:0 0;rotate:-1deg;scale:1}50%{translate:5px -7px;rotate:2deg;scale:1.025}}
/* Short, character-specific reactions instead of a shared bounce. */
.mascot-emblem>svg{animation-duration:9s}
.motif-active .emblem-spider>svg{animation:none;transform:none}
.motif-active .emblem-spider path{stroke-dasharray:650;animation:web-draw 1.1s ease-out both}
@keyframes web-draw{from{stroke-dashoffset:650;opacity:.3}to{stroke-dashoffset:0;opacity:1}}
.motif-active .emblem-chase>svg{animation:badge-salute 1.1s ease-in-out}
@keyframes badge-salute{0%,100%{transform:scale(1);opacity:.65}45%{transform:translateY(-4px) scale(1.07);opacity:1}}
.motif-active .emblem-marie>svg{animation:bow-sway 1.1s ease-in-out}
@keyframes bow-sway{0%,100%{transform:rotate(-4deg)}35%{transform:rotate(9deg)}70%{transform:rotate(-7deg)}}
.motif-active .emblem-stitch>svg{animation:flower-turn 1.1s ease-in-out}
@keyframes flower-turn{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(18deg) scale(1.08)}}
.mascot-viewer{width:min(92vw,600px);padding:54px 24px 26px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;text-align:center}
.mascot-viewer img{height:min(48svh,420px);width:100%;margin-bottom:16px}
.mascot-viewer h2{font:600 28px var(--heading);margin:0 0 8px}
.mascot-viewer p{font-size:14px;line-height:1.6;font-weight:400;margin:0 0 18px}
.mascot-viewer .mascot-booking{display:flex;min-height:52px;font-size:14px;line-height:1.4;padding:14px 18px;animation:none;white-space:normal}
.mascot-viewer>button{min-height:40px}
@media(max-width:599px){
 .scene-cloud{width:200px;bottom:-20px}
 .scene-cloud.cloud-right{bottom:-18px}
 .mascot-viewer{padding-inline:16px}
 .mascot-viewer img{height:42svh}
}
@media(prefers-reduced-motion:reduce){
 .motif-active .mascot-emblem>svg,.motif-active .mascot-emblem path{animation:none!important;stroke-dasharray:none}
 .scene-cloud,.paint-splash{animation:none!important}
}
.mascot-viewer{padding-top:16px}
.mascot-viewer>button{position:sticky;top:0;right:auto;display:block;margin:0 0 12px auto;z-index:2}

:is(.mascot-open,.mascot-viewer,.mascot-viewer button):focus-visible{outline:3px solid #187cf5;outline-offset:4px}
html.mascot-pointer-input :is(.mascot-open,.mascot-viewer,.mascot-viewer button):focus{outline:none}
/* Calm, continuous reviews; the text itself remains still within each card. */
#recensioni .reviews-grid{display:block;width:100%;max-width:1160px;margin-inline:auto;overflow:hidden;scroll-snap-type:none;scroll-behavior:auto;padding:20px 0 34px;touch-action:pan-y;cursor:grab}
#recensioni .reviews-grid:active{cursor:grabbing}
.review-belt{display:flex;width:max-content;will-change:transform}
.review-group{display:flex;gap:24px;padding-right:24px;flex-shrink:0}
#recensioni .review-card{--review-accent:#187cc4;position:relative;display:flex;flex-direction:column;flex:0 0 auto;width:370px;min-height:305px;margin:0;padding:30px;border-radius:28px;background:linear-gradient(145deg,#fff,#f3faff);border:1px solid #fff;box-shadow:0 10px 24px #543c5610;scroll-snap-align:start;transition:box-shadow .3s}
#recensioni .review-card:nth-child(2){--review-accent:#c05d83;background:linear-gradient(145deg,#fff,#fff3f7)}
#recensioni .review-card:nth-child(3){--review-accent:#318a77;background:linear-gradient(145deg,#fff,#eefaf5)}
#recensioni .review-card::before{content:'“';position:absolute;top:50px;right:25px;width:auto;height:auto;background:none;color:var(--review-accent);font:90px/1 Georgia,serif;opacity:.12}
#recensioni .review-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}
#recensioni .review-stars{gap:3px}#recensioni .review-stars svg{width:18px;height:18px;fill:#df9b1b}
#recensioni .review-source{font-size:10px;letter-spacing:.03em;background:#fff;border:1px solid #17234d0c;padding:5px 10px}
#recensioni .review-card blockquote{position:relative;margin:0 0 28px;font-size:21px;line-height:1.55;letter-spacing:-.025em;font-weight:500;color:#263252}
#recensioni .review-card figcaption{margin-top:auto;padding-top:18px;border-top:1px solid #17234d0d}
#recensioni .review-avatar{background:color-mix(in srgb,var(--review-accent) 12%,white);color:var(--review-accent);border:1px solid color-mix(in srgb,var(--review-accent) 18%,white)}
#recensioni .review-card figcaption strong{font-size:13px}#recensioni .review-card figcaption a{font-size:11px;text-underline-offset:3px}
#recensioni .review-card:focus-within{box-shadow:0 12px 26px #543c5624}
.review-motion-toggle{border:1px solid #17234d22;background:#ffffffa6;border-radius:30px;min-height:44px;padding:10px 18px;color:#33405e;font-size:12px}
.review-motion-toggle[aria-pressed=true]{background:#17234d;color:#fff}
#recensioni .review-navigation{gap:16px;flex-wrap:wrap}
#recensioni .review-page{font-size:11px;letter-spacing:.02em;min-width:85px}
@media(max-width:599px){#recensioni .review-card{width:min(82vw,340px);min-height:290px;padding:25px}#recensioni .review-card blockquote{font-size:20px}#recensioni .review-navigation{gap:12px}.review-motion-toggle{flex-basis:auto;font-size:11px}}
@media(prefers-reduced-motion:reduce){#recensioni .reviews-grid{overflow-x:auto;touch-action:auto;scroll-snap-type:x proximity}.review-group[aria-hidden]{display:none}.review-belt{transform:none!important;will-change:auto}.review-motion-toggle{display:none}}
/* One original photograph, shown in full in place of the three-photo collage. */
#chi-siamo .about-single-visual{min-height:0;margin:0;isolation:isolate}
.about-single-photo{position:relative;margin:0;padding:9px;border-radius:28px;background:#fff;box-shadow:0 20px 48px #28336620;overflow:hidden}
.about-single-photo img{display:block;width:100%;height:auto;aspect-ratio:1280/853;object-fit:contain;border-radius:20px}
#chi-siamo .about-single-visual .spark-one{left:-15px;top:-22px;font-size:30px}
#chi-siamo .about-single-visual .spark-two{right:-12px;bottom:-22px;font-size:25px}
@media(max-width:599px){.about-single-photo{padding:6px;border-radius:22px}.about-single-photo img{border-radius:16px}}
/* Straight, unobstructed location map. */
#dove-lavoriamo .location-scene{width:100%;margin:0;padding:0;min-width:0}
#dove-lavoriamo .location-map{width:100%;min-height:0;rotate:0deg;transform:none;border:8px solid #fff;border-radius:26px;overflow:hidden;box-shadow:0 16px 36px #1f538518}
#dove-lavoriamo .location-map iframe{display:block;width:100%;height:390px;border:0}
@media(max-width:599px){#dove-lavoriamo .location-map{border-width:6px;border-radius:22px}#dove-lavoriamo .location-map iframe{height:310px}}
/* A single clickable event poster replaces the social icon pair. */
.instagram-feature{position:relative;display:block;width:min(100%,430px);margin:34px auto 0;padding:0;border:1px solid #fff;border-radius:26px;background:#fff;box-shadow:0 18px 48px #65457a1c;overflow:hidden;text-align:left;transition:translate .35s,box-shadow .35s}
.instagram-feature-header{display:flex;align-items:center;gap:12px;padding:16px 18px;color:#17234d}
.instagram-feature-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#ffad43,#f15b98 55%,#9b60d2);color:white;font:600 22px var(--heading)}
.instagram-feature-header strong{display:block;font-size:13px;font-weight:600;line-height:1.5}
.instagram-feature-header small{display:block;font-size:10px;line-height:1.5;color:#64708a}
.instagram-feature-header>svg{width:23px;height:23px;margin-left:auto;color:#b65398}
.instagram-poster{display:block;width:100%;height:auto;object-fit:contain}
.instagram-feature-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;color:#92437e;background:#fffbfe;font-size:12px;font-weight:600}
.instagram-feature-footer>span:last-child{font-size:22px;line-height:1}
@media(hover:hover){.instagram-feature:hover{translate:0 -4px;box-shadow:0 24px 52px #65457a2b}}
@media(max-width:599px){.instagram-feature{border-radius:21px}.instagram-feature-header{padding:13px 15px}.instagram-feature-footer{padding:15px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.instagram-feature{transition:none}.instagram-feature:hover{translate:none}}
.instagram-feature-footer>svg{width:20px;height:20px;flex-shrink:0}
.instagram-feature-avatar{background:#fff7e9;border:2px solid #e560a1;overflow:hidden}
.instagram-feature-avatar img{display:block;width:100%;height:100%;object-fit:contain}
/* Visible service-specific interactions, isolated from titles and contact links. */
.service-photo-window{position:relative;isolation:isolate}
.service-hover-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none!important;color:var(--effect-primary);border-radius:inherit;background:linear-gradient(150deg,#10254e29,#10254e12);opacity:1;transition:opacity .25s}
.service-hover-layer.is-leaving{opacity:0}
.service-hover-layer::after{content:'';position:absolute;inset:0;border:2px solid color-mix(in srgb,var(--effect-primary) 65%,transparent);border-radius:inherit;box-shadow:inset 0 0 32px color-mix(in srgb,var(--effect-primary) 28%,transparent);pointer-events:none}
.service-hover-particle svg{display:block;width:100%;height:100%}
.service-hover-particle{position:absolute;left:var(--px);top:var(--py);width:var(--ps);height:var(--ps);color:inherit;opacity:0;filter:drop-shadow(0 1px 2px #15234675);animation:service-spark var(--pd) ease-in-out var(--pdelay) infinite}
.service-hover-particle.is-confetti{height:calc(var(--ps) * 1.7);background:currentColor;border-radius:2px}
.effect-snow{background:linear-gradient(180deg,#123f7652,#123f7612)}
.effect-snow .service-hover-particle{top:-18px;animation-name:service-snow;animation-timing-function:linear}
.effect-snow .service-hover-particle:nth-child(3n){border-radius:50%;background:#fff;padding:2px}
.effect-rise .service-hover-particle{top:auto;bottom:-35px;animation-name:service-rise}
.theme-bubbles .service-hover-particle,.theme-foam .service-hover-particle{width:calc(var(--ps) * 1.5);height:calc(var(--ps) * 1.5);border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffffffa6,transparent 30%),#d3f6ff24;color:#e3faff}
.theme-foam .service-hover-particle{background:#ffffffe0;color:#fff;filter:drop-shadow(0 2px 4px #4385a85c)}
.effect-confetti .service-hover-particle{top:-25px;animation-name:service-snow;animation-timing-function:linear}
.service-hover-active{box-shadow:0 20px 40px #4a2e6626!important}
@keyframes service-snow{0%{opacity:0;transform:translate(0,0) rotate(0deg)}12%{opacity:1}85%{opacity:.95}100%{opacity:0;transform:translate(18px,370px) rotate(160deg)}}
@keyframes service-rise{0%{opacity:0;transform:translate(0,0) rotate(calc(var(--pturn) * -1)) scale(.65)}15%{opacity:.95}80%{opacity:.9}100%{opacity:0;transform:translate(12px,-340px) rotate(var(--pturn)) scale(1.15)}}
@keyframes service-spark{0%,100%{opacity:0;transform:scale(.35) rotate(-15deg)}25%,65%{opacity:1;transform:scale(1) rotate(12deg)}85%{opacity:.4;transform:translateY(-14px) scale(.7) rotate(25deg)}}
@media(prefers-reduced-motion:reduce){.service-hover-layer{transition:none}.service-hover-particle{display:none}.service-hover-active{translate:none!important}}
.castle-discovery{position:relative;display:flex;align-items:center;gap:17px;width:min(100%,540px);margin:28px auto 0;padding:23px;background:linear-gradient(135deg,#32204e,#4b2e6f);color:#fff7ea;border:1px solid #68448b;border-radius:24px;text-align:left;box-shadow:0 12px 28px #43245518;transition:translate .3s,box-shadow .3s}
.castle-discovery-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#ffffff0d;color:#ffca79}.castle-discovery-icon svg{width:38px;height:38px}
.castle-discovery small{display:block;font-size:8px;letter-spacing:.13em;color:#d9c4ef;margin-bottom:6px}.castle-discovery strong{display:block;font:500 25px/1.1 var(--heading);color:#ffca79}.castle-discovery strong+span{display:block;font-size:10px;color:#e5d9ef;margin-top:8px}.castle-discovery-arrow{width:22px;height:22px;flex-shrink:0;margin-left:auto}
@media(hover:hover){.castle-discovery:hover{translate:0 -3px;box-shadow:0 18px 35px #4324552b}}
@media(max-width:599px){.castle-discovery{padding:18px 15px;gap:12px}.castle-discovery strong{font-size:22px}.castle-discovery-icon{flex-basis:42px;width:42px;height:48px}.castle-discovery-icon svg{width:30px}.castle-discovery small{font-size:7px}.castle-discovery strong+span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.castle-discovery{transition:none}.castle-discovery:hover{translate:none}}
