/* Homepage blocks: isolated from Avada and driven by the shared plugin palette. */
.arci-home-root {
    --arci-home-bg: #111315;
    --arci-home-card: #191c20;
    --arci-home-text: #f7f7f4;
    --arci-home-muted: #aeb3b9;
    --arci-home-accent: #73a7ff;
    --arci-home-warm: #ef6a4c;
    --arci-home-border: #34383e;
    --arci-section-top-border: #34383e;
    --arci-section-bottom-border: #34383e;
    --arci-strong-text: #73a7ff;
    --arci-home-button-text: #08111f;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    margin-block-start: var(--arci-shortcode-margin-top, 0px) !important;
    margin-block-end: var(--arci-shortcode-margin-bottom, 0px) !important;
    overflow: hidden;
    color: var(--arci-home-text);
    background: var(--arci-home-bg);
    background:
        radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--arci-home-accent) 16%, transparent), transparent 31%),
        var(--arci-home-bg);
    border: 1px solid var(--arci-home-border);
    border-radius: 28px;
    box-sizing: border-box;
    font-family: "Rubik", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    text-align: left;
    -webkit-font-smoothing: antialiased;
}

.arci-home-root *,
.arci-home-root *::before,
.arci-home-root *::after { box-sizing: border-box; }

.arci-home-root.arci-home-width-full { border-right: 0; border-left: 0; border-radius: 0; }
.arci-home-root.arci-home-width-boxed { max-width: 1180px; }

.arci-home-shell { position: relative; z-index: 2; width: min(100%, 1180px); margin: 0 auto; padding: clamp(34px, 6vw, 82px); }
.arci-home-root p { color: inherit; }
.arci-home-root a { color: inherit; text-decoration: none; }
.arci-home-root button,
.arci-home-root a { font-family: inherit; }

.arci-home-header { display: flex; gap: 34px; align-items: flex-start; justify-content: space-between; }
.arci-home-eyebrow { margin: 0 0 12px !important; color: var(--arci-home-accent) !important; font-size: 12px; font-weight: 750; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.arci-home-root h2 { max-width: 820px; margin: 0; color: var(--arci-home-text); font: 700 clamp(34px, 5vw, 68px)/.98 "Rubik", Arial, sans-serif; letter-spacing: -.035em; }
.arci-home-intro { max-width: 650px; margin: 18px 0 0 !important; color: var(--arci-home-muted) !important; font-size: clamp(15px, 1.5vw, 19px); }
.arci-home-richtext { max-width: 720px; margin-top: 26px; color: var(--arci-home-muted); font-size: clamp(16px, 1.5vw, 20px); }
.arci-home-richtext p { margin: 0 0 1em; }
.arci-home-inline-icon { display: inline-grid; flex: 0 0 auto; width: 20px; height: 20px; place-items: center; line-height: 0; }
.arci-home-inline-icon svg { display: block; width: 100%; height: 100%; }

.arci-home-root > .arci-section-icon {
    position: absolute;
    z-index: 4;
    top: clamp(26px, 4vw, 52px);
    right: clamp(26px, 4vw, 58px);
    display: grid;
    width: clamp(52px, 6vw, 76px);
    height: clamp(52px, 6vw, 76px);
    place-items: center;
    overflow: hidden;
    color: var(--arci-home-accent);
    background: color-mix(in srgb, var(--arci-home-card) 85%, transparent);
    border: 1px solid color-mix(in srgb, var(--arci-home-accent) 42%, var(--arci-home-border));
    border-radius: 50%;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
}
.arci-home-root > .arci-section-icon svg { width: 52%; height: 52%; }
.arci-home-root.has-section-icon .arci-home-header > div:first-child,
.arci-home-root.has-section-icon .arci-about-copy,
.arci-home-root.has-section-icon .arci-app-copy { padding-right: clamp(60px, 8vw, 100px); }

.arci-home-root.is-visible .arci-home-shell { animation: arciHomeEnter .64s cubic-bezier(.2,.72,.2,1) both; }
.arci-home-root.is-visible .arci-home-eyebrow { animation: arciHomeEnter .55s .08s cubic-bezier(.2,.72,.2,1) both; }
@keyframes arciHomeEnter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.arci-home-root .arci-icon-animation-float { animation: arciHomeFloat 4.8s ease-in-out infinite; }
.arci-home-root .arci-icon-animation-pulse { animation: arciHomePulse 2.6s ease-in-out infinite; }
.arci-home-root .arci-icon-animation-sway { animation: arciHomeSway 4s ease-in-out infinite; transform-origin: 50% 10%; }
.arci-home-root .arci-icon-animation-sparkle::before,
.arci-home-root .arci-icon-animation-sparkle::after { position: absolute; content: "✦"; color: var(--arci-home-warm); font-size: 13px; animation: arciHomeSparkle 2.4s ease-in-out infinite; }
.arci-home-root .arci-icon-animation-sparkle::before { top: 6px; right: 7px; }
.arci-home-root .arci-icon-animation-sparkle::after { bottom: 7px; left: 8px; animation-delay: -1.2s; }
.arci-home-root .arci-icon-animation-shine::after { position: absolute; inset: -25%; content: ""; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%); transform: translateX(-115%) rotate(8deg); animation: arciHomeShine 3.6s ease-in-out infinite; }
.arci-home-root .arci-icon-animation-glow { animation: arciHomeGlow 2.8s ease-in-out infinite; }
@keyframes arciHomeFloat { 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes arciHomePulse { 50% { transform: scale(1.07); } }
@keyframes arciHomeSway { 50% { transform: rotate(5deg); } }
@keyframes arciHomeSparkle { 0%,100% { opacity: .2; transform: scale(.6) rotate(0); } 50% { opacity: 1; transform: scale(1.15) rotate(70deg); } }
@keyframes arciHomeShine { 0%,30% { transform: translateX(-115%) rotate(8deg); } 62%,100% { transform: translateX(115%) rotate(8deg); } }
@keyframes arciHomeGlow { 50% { box-shadow: 0 0 34px color-mix(in srgb, var(--arci-home-accent) 58%, transparent), 0 18px 48px rgba(0,0,0,.18); } }

/* Opening hours */
.arci-home-hours::before { position: absolute; z-index: 0; top: -120px; right: -90px; width: 380px; height: 380px; content: ""; background: var(--arci-home-accent); border-radius: 50%; filter: blur(160px); opacity: .12; }
.arci-home-hours .arci-home-header { padding-right: 0; }
.arci-home-hours.has-section-icon .arci-home-header { padding-right: clamp(66px, 8vw, 105px); }
.arci-hours-status { display: flex; flex: 0 0 auto; gap: 13px; align-items: center; min-width: 220px; padding: 15px 18px; background: color-mix(in srgb, var(--arci-home-card) 84%, transparent); border: 1px solid var(--arci-home-border); border-radius: 17px; }
.arci-hours-status-dot { width: 13px; height: 13px; background: var(--arci-home-muted); border: 3px solid color-mix(in srgb, var(--arci-home-muted) 22%, transparent); border-radius: 50%; box-shadow: 0 0 0 6px color-mix(in srgb, var(--arci-home-muted) 11%, transparent); }
.arci-home-hours.is-open .arci-hours-status-dot { background: #4bd782; border-color: color-mix(in srgb, #4bd782 34%, transparent); box-shadow: 0 0 0 6px color-mix(in srgb, #4bd782 14%, transparent); animation: arciOpenDot 1.8s ease-out infinite; }
@keyframes arciOpenDot { 50% { box-shadow: 0 0 0 11px color-mix(in srgb, #4bd782 0%, transparent); } }
.arci-hours-status strong,
.arci-hours-status small { display: block; }
.arci-hours-status strong { font-size: 17px; line-height: 1.2; }
.arci-hours-status small { margin-top: 4px; color: var(--arci-home-muted); font-size: 12px; }
.arci-hours-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin-top: clamp(35px, 5vw, 64px); overflow: hidden; border: 1px solid var(--arci-home-border); border-radius: 20px; }
.arci-hours-day { position: relative; min-height: 128px; padding: 22px 15px; background: color-mix(in srgb, var(--arci-home-card) 76%, transparent); border-right: 1px solid var(--arci-home-border); }
.arci-hours-day:last-child { border-right: 0; }
.arci-hours-day span,
.arci-hours-day strong { display: block; }
.arci-hours-day span { color: var(--arci-home-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.arci-hours-day strong { margin-top: 14px; color: var(--arci-home-text); font-size: clamp(13px, 1.25vw, 16px); font-weight: 550; line-height: 1.55; }
.arci-hours-day.is-today { background: color-mix(in srgb, var(--arci-home-accent) 15%, var(--arci-home-card)); }
.arci-hours-day.is-today::before { position: absolute; top: 0; right: 13px; left: 13px; height: 3px; content: ""; background: var(--arci-home-accent); border-radius: 0 0 5px 5px; }
.arci-hours-day.is-today span { color: var(--arci-home-accent); }
.arci-hours-exceptions { margin-top: 20px; padding: 8px 20px; background: color-mix(in srgb, var(--arci-home-warm) 8%, transparent); border: 1px solid color-mix(in srgb, var(--arci-home-warm) 35%, var(--arci-home-border)); border-radius: 18px; }
.arci-hours-exceptions-title { margin: 12px 0 6px !important; color: var(--arci-home-warm) !important; font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.arci-hours-exceptions > div { display: grid; grid-template-columns: minmax(130px, .7fr) 1fr auto; gap: 16px; padding: 12px 0; border-top: 1px solid color-mix(in srgb, var(--arci-home-warm) 18%, transparent); }
.arci-hours-exceptions time { color: var(--arci-home-muted); }
.arci-hours-exceptions strong { color: var(--arci-home-warm); }
.arci-hours-note { display: flex; gap: 8px; align-items: center; margin: 22px 0 0 !important; color: var(--arci-home-muted) !important; font-size: 13px; }
.arci-hours-note .arci-home-inline-icon { width: 16px; height: 16px; color: var(--arci-home-warm); }

/* About */
.arci-home-about { background: radial-gradient(circle at 80% 35%, color-mix(in srgb, var(--arci-home-warm) 16%, transparent), transparent 31%), var(--arci-home-bg); }
.arci-about-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(300px, .97fr); gap: clamp(34px, 7vw, 100px); align-items: center; min-height: 600px; }
.arci-home-about.has-activities .arci-about-grid { align-items: start; }
.arci-about-copy { min-width: 0; }
.arci-home-about.arci-home-no-visual .arci-about-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.arci-home-about.arci-home-no-visual .arci-about-copy { width: 100%; max-width: none; }
.arci-home-about.arci-home-no-visual.has-section-icon .arci-about-copy { padding-right: 0; }
.arci-home-about.arci-home-no-visual.has-section-icon .arci-home-eyebrow,
.arci-home-about.arci-home-no-visual.has-section-icon h2 { max-width: min(820px, calc(100% - clamp(58px, 8vw, 100px))); }
.arci-home-about.arci-home-no-visual .arci-home-richtext { max-width: 820px; }
.arci-about-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.arci-about-links a,
.arci-about-links a:visited { display: grid; grid-template-columns: 34px minmax(0,1fr) 18px; gap: 12px; align-items: center; min-height: 56px; padding: 9px 13px 9px 9px; color: var(--arci-home-text) !important; background: color-mix(in srgb, var(--arci-home-card) 80%, transparent); border: 1px solid var(--arci-home-border); border-radius: 14px; font-size: 13px; font-weight: 700; transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.arci-about-links a span { color:inherit !important; }
.arci-about-link-index { display:grid; width:34px; height:34px; color:var(--arci-home-button-text)!important; background:var(--arci-home-accent); border-radius:10px; font-size:9px; font-weight:800; letter-spacing:.08em; place-items:center; }
.arci-about-link-label { min-width:0; line-height:1.15; }
.arci-about-links a .arci-home-inline-icon { width: 19px; height: 19px; color: var(--arci-home-accent); transition: transform .25s ease; }
.arci-about-links a:hover,
.arci-about-links a:focus,
.arci-about-links a:focus-visible,
.arci-about-links a:active { color: var(--arci-home-button-text) !important; background: var(--arci-home-accent); border-color: var(--arci-home-accent); outline: 0; transform: translateY(-2px); }
.arci-about-links a:hover .arci-home-inline-icon,
.arci-about-links a:focus .arci-home-inline-icon,
.arci-about-links a:focus-visible .arci-home-inline-icon,
.arci-about-links a:active .arci-home-inline-icon { color: inherit; transform: translate(2px,-2px); }
.arci-about-media { position: relative; min-height: 470px; margin: 0; overflow: hidden; background: color-mix(in srgb, var(--arci-home-card) 78%, transparent); border: 1px solid var(--arci-home-border); border-radius: 48% 48% 24px 24px; box-shadow: 0 40px 80px rgba(0,0,0,.24); }
.arci-about-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.arci-about-media svg { position: absolute; inset: 4%; width: 92%; height: 92%; overflow: visible; }
.arci-about-media svg circle { fill: color-mix(in srgb, var(--arci-home-accent) 20%, transparent); stroke: var(--arci-home-accent); stroke-width: 2; }
.arci-about-orbit { fill: none; stroke-width: 4; }
.arci-about-orbit.orbit-one { stroke: var(--arci-home-warm); }
.arci-about-orbit.orbit-two { stroke: var(--arci-home-accent); stroke-dasharray: 12 18; }
.arci-about-face { fill: color-mix(in srgb, var(--arci-home-text) 86%, var(--arci-home-accent)); }
.arci-about-spark { fill: var(--arci-home-warm); }
.arci-home-root.is-visible .arci-about-media { animation: arciArtworkIn .8s .12s cubic-bezier(.2,.72,.2,1) both; }
.arci-home-root.is-visible .arci-about-media svg { animation: arciHomeFloat 7s ease-in-out infinite; }
@keyframes arciArtworkIn { from { opacity: 0; transform: translateX(28px) rotate(2deg); } to { opacity: 1; transform: none; } }

/* Animated image-free artwork: a lighter alternative to large raster images. */
.arci-about-media.has-rays,
.arci-about-media.has-artwork,
.arci-app-visual.has-rays { display: grid; overflow: hidden; background: color-mix(in srgb, var(--arci-home-card) 82%, transparent); border: 1px solid color-mix(in srgb, var(--arci-home-accent) 28%, var(--arci-home-border)); place-items: center; }
.arci-app-visual.has-rays { min-height: 520px; border-radius: 42% 42% 24px 24px; box-shadow: 0 40px 80px rgba(0,0,0,.24); }
.arci-rays-artwork { position: relative; display: grid; width: min(92%, 500px); aspect-ratio: 1; place-items: center; color: var(--arci-home-text); border-radius: 50%; isolation: isolate; }
.arci-rays-artwork::before { position: absolute; z-index: -3; inset: 0; content: ""; background: repeating-conic-gradient(from 8deg, color-mix(in srgb, var(--arci-home-accent) 78%, transparent) 0 8deg, transparent 8deg 17deg, color-mix(in srgb, var(--arci-home-warm) 68%, transparent) 17deg 22deg, transparent 22deg 32deg); opacity: .6; -webkit-mask: radial-gradient(circle, transparent 0 18%, #000 19% 68%, transparent 69%); mask: radial-gradient(circle, transparent 0 18%, #000 19% 68%, transparent 69%); animation: arciRaysRotate 28s linear infinite; }
.arci-rays-disc { position: absolute; z-index: -2; width: 48%; aspect-ratio: 1; background: radial-gradient(circle at 35% 28%, color-mix(in srgb, #fff 22%, transparent), transparent 32%), linear-gradient(145deg, var(--arci-home-accent), color-mix(in srgb, var(--arci-home-warm) 72%, var(--arci-home-accent))); border-radius: 50%; box-shadow: 0 0 70px color-mix(in srgb, var(--arci-home-accent) 34%, transparent); }
.arci-rays-ring { position: absolute; z-index: -1; width: 62%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--arci-home-text) 30%, transparent); border-radius: 50%; animation: arciRaysPulse 4.4s ease-in-out infinite; }
.arci-rays-artwork svg { position: relative !important; inset: auto !important; width: 32% !important; height: auto !important; overflow: visible; filter: drop-shadow(0 14px 22px rgba(0,0,0,.28)); }
.arci-rays-spark { position: absolute; width: 13px; aspect-ratio: 1; background: var(--arci-home-text); clip-path: polygon(50% 0, 61% 38%, 100% 50%, 61% 62%, 50% 100%, 39% 62%, 0 50%, 39% 38%); animation: arciRaysSpark 2.8s ease-in-out infinite; }
.arci-rays-spark.spark-one { top: 20%; right: 14%; }
.arci-rays-spark.spark-two { bottom: 19%; left: 16%; width: 9px; color: var(--arci-home-warm); animation-delay: -1.35s; }
@keyframes arciRaysRotate { to { transform: rotate(360deg); } }
@keyframes arciRaysPulse { 50% { opacity: .38; transform: scale(1.08); } }
@keyframes arciRaysSpark { 0%,100% { opacity: .25; transform: scale(.65) rotate(0); } 50% { opacity: 1; transform: scale(1.2) rotate(90deg); } }

/* Selectable animated artwork for [arci_circolo]. */
.arci-about-artwork { position: relative; display: grid; width: min(92%, 470px); aspect-ratio: 4 / 5; place-items: center; isolation: isolate; }
.arci-about-artwork::before { position: absolute; z-index: -3; inset: 5%; content: ""; background: radial-gradient(circle at 34% 28%, color-mix(in srgb, var(--arci-home-accent) 30%, transparent), transparent 42%), radial-gradient(circle at 72% 70%, color-mix(in srgb, var(--arci-home-warm) 24%, transparent), transparent 43%); border: 1px solid color-mix(in srgb, var(--arci-home-text) 10%, transparent); border-radius: 48% 48% 24px 24px; }
.arci-about-artwork::after { position: absolute; z-index: -4; width: 78%; aspect-ratio: 1; content: ""; background: var(--arci-home-accent); border-radius: 50%; filter: blur(90px); opacity: .12; animation: arciArtHalo 5.8s ease-in-out infinite; }
.arci-about-artwork > svg { position: relative !important; inset: auto !important; width: 92% !important; height: 92% !important; overflow: visible !important; color: var(--arci-home-text); filter: drop-shadow(0 18px 26px rgba(0,0,0,.24)); }
.arci-about-artwork > svg circle { stroke-width: initial; }
.arci-art-aurora { position: absolute; z-index: -2; width: 64%; height: 78%; background: linear-gradient(150deg, color-mix(in srgb, var(--arci-home-accent) 30%, transparent), color-mix(in srgb, var(--arci-home-warm) 22%, transparent)); border-radius: 50%; filter: blur(38px); opacity: .7; animation: arciArtAurora 8s ease-in-out infinite; }
.arci-art-dot { position: absolute; width: 9px; aspect-ratio: 1; background: var(--arci-home-text); border-radius: 50%; box-shadow: 0 0 18px currentColor; animation: arciArtTwinkle 2.6s ease-in-out infinite; }
.arci-art-dot.dot-a { top: 17%; left: 19%; }
.arci-art-dot.dot-b { right: 14%; bottom: 21%; width: 6px; color: var(--arci-home-warm); animation-delay: -1.1s; }
.arci-art-dot.dot-c { top: 29%; right: 13%; width: 4px; color: var(--arci-home-accent); animation-delay: -.5s; }

/* Stars and constellation. */
.arci-art-stars .arci-constellation-lines { fill: none; stroke: color-mix(in srgb, var(--arci-home-text) 48%, transparent); stroke-width: 1.7; stroke-dasharray: 5 7; animation: arciArtDash 13s linear infinite; }
.arci-art-stars .arci-constellation-nodes circle { fill: var(--arci-home-accent); stroke: color-mix(in srgb, var(--arci-home-text) 88%, transparent); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: arciArtNode 3.2s ease-in-out infinite; }
.arci-art-stars .arci-constellation-nodes circle:nth-child(2n) { fill: var(--arci-home-warm); animation-delay: -1.45s; }
.arci-art-stars .arci-constellation-star { fill: color-mix(in srgb, var(--arci-home-text) 92%, var(--arci-home-accent)); stroke: none; transform-box: fill-box; transform-origin: center; animation: arciArtStar 4s ease-in-out infinite; }
.arci-art-stars .star-b { fill: var(--arci-home-warm); animation-delay: -2s; }

/* Planetary system. */
.arci-art-planets .arci-planet-sun { fill: color-mix(in srgb, var(--arci-home-warm) 72%, var(--arci-home-text)); stroke: color-mix(in srgb, var(--arci-home-text) 35%, transparent); stroke-width: 2; filter: drop-shadow(0 0 22px color-mix(in srgb, var(--arci-home-warm) 68%, transparent)); animation: arciArtSun 3.8s ease-in-out infinite; }
.arci-art-planets .arci-planet-orbit { fill: none; stroke: color-mix(in srgb, var(--arci-home-text) 25%, transparent); stroke-width: 1.5; stroke-dasharray: 5 8; }
.arci-art-planets .arci-orbiting-planet { transform-box: view-box; transform-origin: 120px 140px; animation: arciArtOrbit 13s linear infinite; }
.arci-art-planets .planet-b { animation-duration: 18s; animation-direction: reverse; }
.arci-art-planets .planet-c { animation-duration: 24s; }
.arci-art-planets .planet-a circle:first-child { fill: var(--arci-home-accent); stroke: var(--arci-home-text); stroke-width: 1.5; }
.arci-art-planets .planet-a .arci-planet-band { fill: var(--arci-home-warm); stroke: none; opacity: .75; }
.arci-art-planets .planet-b circle { fill: var(--arci-home-warm); stroke: var(--arci-home-text); stroke-width: 1.5; }
.arci-art-planets .planet-c circle { fill: color-mix(in srgb, var(--arci-home-accent) 42%, var(--arci-home-card)); stroke: var(--arci-home-text); stroke-width: 1.5; }
.arci-art-planets .planet-c path { fill: none; stroke: var(--arci-home-warm); stroke-width: 3; }
.arci-art-planets .arci-planet-star { fill: var(--arci-home-text); stroke: none; animation: arciArtTwinkle 2.6s ease-in-out infinite; }

/* Floating astronaut. */
.arci-art-astronaut .arci-astronaut-orbit { fill: none; stroke: color-mix(in srgb, var(--arci-home-accent) 55%, transparent); stroke-width: 1.6; stroke-dasharray: 7 10; animation: arciArtDash 14s linear infinite; }
.arci-art-astronaut .arci-astronaut-body { transform-box: fill-box; transform-origin: center; animation: arciAstronautFloat 6s ease-in-out infinite; }
.arci-art-astronaut .arci-astronaut-pack { fill: color-mix(in srgb, var(--arci-home-accent) 35%, var(--arci-home-card)); stroke: var(--arci-home-text); stroke-width: 3; }
.arci-art-astronaut .arci-astronaut-helmet { fill: color-mix(in srgb, var(--arci-home-text) 88%, var(--arci-home-accent)); stroke: var(--arci-home-text); stroke-width: 3; }
.arci-art-astronaut .arci-astronaut-visor { fill: color-mix(in srgb, var(--arci-home-card) 72%, var(--arci-home-accent)); stroke: var(--arci-home-accent); stroke-width: 2; }
.arci-art-astronaut .arci-astronaut-suit { fill: color-mix(in srgb, var(--arci-home-text) 80%, var(--arci-home-card)); stroke: var(--arci-home-text); stroke-width: 3; }
.arci-art-astronaut .arci-astronaut-limb { fill: none; stroke: var(--arci-home-text); stroke-width: 15; stroke-linecap: round; stroke-linejoin: round; }
.arci-art-astronaut .arci-astronaut-button { fill: var(--arci-home-warm); stroke: none; }
.arci-art-astronaut .arci-astronaut-button.second { fill: var(--arci-home-accent); }
.arci-art-astronaut .arci-astronaut-spark { fill: var(--arci-home-warm); stroke: none; transform-box: fill-box; transform-origin: center; animation: arciArtStar 3.6s ease-in-out infinite; }
.arci-art-astronaut .spark-b { fill: var(--arci-home-accent); animation-delay: -1.7s; }

/* Mountains and living landscape. */
.arci-art-nature .arci-nature-sun { fill: color-mix(in srgb, var(--arci-home-warm) 74%, var(--arci-home-text)); stroke: none; filter: drop-shadow(0 0 24px color-mix(in srgb, var(--arci-home-warm) 46%, transparent)); animation: arciArtSun 4.4s ease-in-out infinite; }
.arci-art-nature .arci-nature-mountain { stroke: color-mix(in srgb, var(--arci-home-text) 15%, transparent); stroke-width: 1; }
.arci-art-nature .mountain-back { fill: color-mix(in srgb, var(--arci-home-accent) 32%, var(--arci-home-card)); }
.arci-art-nature .mountain-front { fill: color-mix(in srgb, var(--arci-home-warm) 24%, var(--arci-home-card)); }
.arci-art-nature .arci-nature-river { fill: none; stroke: color-mix(in srgb, var(--arci-home-text) 78%, var(--arci-home-accent)); stroke-width: 12; stroke-linecap: round; animation: arciArtRiver 5s ease-in-out infinite; }
.arci-art-nature .arci-nature-leaves { fill: color-mix(in srgb, var(--arci-home-accent) 55%, var(--arci-home-warm)); stroke: var(--arci-home-text); stroke-width: 2.2; stroke-linecap: round; transform-box: fill-box; transform-origin: 50% 100%; animation: arciNatureSway 5.6s ease-in-out infinite; }
.arci-art-nature .arci-nature-birds { fill: none; stroke: var(--arci-home-text); stroke-width: 2.4; stroke-linecap: round; animation: arciBirds 7s ease-in-out infinite; }

/* Moonlit botanical garden. */
.arci-art-botanical .arci-botanical-moon { fill: color-mix(in srgb, var(--arci-home-accent) 33%, var(--arci-home-text)); stroke: color-mix(in srgb, var(--arci-home-text) 32%, transparent); stroke-width: 2; filter: drop-shadow(0 0 24px color-mix(in srgb, var(--arci-home-accent) 38%, transparent)); animation: arciArtSun 5s ease-in-out infinite; }
.arci-art-botanical .arci-botanical-stems { fill: color-mix(in srgb, var(--arci-home-accent) 46%, var(--arci-home-warm)); stroke: color-mix(in srgb, var(--arci-home-text) 78%, var(--arci-home-accent)); stroke-width: 2.3; stroke-linecap: round; transform-box: fill-box; transform-origin: 50% 100%; animation: arciNatureSway 6.4s ease-in-out infinite; }
.arci-art-botanical .arci-botanical-flowers { fill: var(--arci-home-warm); stroke: var(--arci-home-text); stroke-width: 1.4; transform-box: fill-box; transform-origin: center; animation: arciBotanicalBloom 4.8s ease-in-out infinite; }
.arci-art-botanical .arci-botanical-flowers circle { fill: var(--arci-home-warm); stroke: var(--arci-home-text); stroke-width: 1.4; }

@keyframes arciArtHalo { 50% { opacity: .22; transform: scale(1.12); } }
@keyframes arciArtAurora { 50% { border-radius: 38% 62% 57% 43%; transform: translate(5%, -3%) rotate(8deg) scale(1.08); } }
@keyframes arciArtDash { to { stroke-dashoffset: -90; } }
@keyframes arciArtNode { 50% { filter: drop-shadow(0 0 10px currentColor); transform: scale(1.28); } }
@keyframes arciArtStar { 50% { opacity: .48; transform: rotate(45deg) scale(.72); } }
@keyframes arciArtTwinkle { 0%,100% { opacity: .25; transform: scale(.65); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes arciArtSun { 50% { filter: drop-shadow(0 0 42px color-mix(in srgb, var(--arci-home-warm) 68%, transparent)); transform: scale(1.06); } }
@keyframes arciArtOrbit { to { transform: rotate(360deg); } }
@keyframes arciAstronautFloat { 50% { transform: translate(5px,-11px) rotate(3deg); } }
@keyframes arciArtRiver { 50% { stroke-width: 16; opacity: .75; } }
@keyframes arciNatureSway { 50% { transform: rotate(2.5deg); } }
@keyframes arciBirds { 50% { opacity: .62; transform: translate(9px,-5px); } }
@keyframes arciBotanicalBloom { 50% { transform: scale(1.08) rotate(3deg); } }

/* App */
.arci-home-app { background: radial-gradient(circle at 18% 60%, color-mix(in srgb, var(--arci-home-accent) 24%, transparent), transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--arci-home-bg) 88%, var(--arci-home-accent)), var(--arci-home-bg)); }
.arci-home-app::after { position: absolute; z-index: 0; right: -10%; bottom: -45%; width: 60%; height: 80%; content: ""; background: var(--arci-home-warm); border-radius: 50%; filter: blur(170px); opacity: .11; }
.arci-home-app-stars::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .54;
    background: transparent;
    animation: arciHomeAppStarsRise 19.7s linear infinite;
    will-change: mask-position, opacity;
}
@supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
    .arci-home-app-stars::before {
        --arci-home-app-star-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 46.75l1.05 2.2 2.45.35-1.75 1.7.4 2.4-2.15-1.15-2.15 1.15.4-2.4-1.75-1.7 2.45-.35z' fill='black'/%3E%3C/svg%3E");
        background: linear-gradient(125deg, color-mix(in srgb, var(--arci-home-text) 90%, transparent), color-mix(in srgb, var(--arci-home-accent) 92%, transparent) 48%, color-mix(in srgb, var(--arci-home-warm) 88%, transparent));
        -webkit-mask-image: var(--arci-home-app-star-shape), var(--arci-home-app-star-shape), var(--arci-home-app-star-shape), var(--arci-home-app-star-shape);
        mask-image: var(--arci-home-app-star-shape), var(--arci-home-app-star-shape), var(--arci-home-app-star-shape), var(--arci-home-app-star-shape);
        -webkit-mask-repeat: repeat;
        mask-repeat: repeat;
        -webkit-mask-size: 128px 167px, 211px 263px, 173px 227px, 293px 347px;
        mask-size: 128px 167px, 211px 263px, 173px 227px, 293px 347px;
    }
}
@keyframes arciHomeAppStarsRise {
    0% { -webkit-mask-position: 18px 220px, 84px 350px, 37px 475px, 126px 285px; mask-position: 18px 220px, 84px 350px, 37px 475px, 126px 285px; opacity: .34; }
    19% { -webkit-mask-position: -9px 132px, 121px 226px, 8px 365px, 164px 178px; mask-position: -9px 132px, 121px 226px, 8px 365px, 164px 178px; opacity: .58; }
    43% { -webkit-mask-position: 42px 14px, 67px 79px, 76px 216px, 94px 32px; mask-position: 42px 14px, 67px 79px, 76px 216px, 94px 32px; opacity: .43; }
    68% { -webkit-mask-position: 1px -116px, 137px -88px, 26px 51px, 181px -121px; mask-position: 1px -116px, 137px -88px, 26px 51px, 181px -121px; opacity: .64; }
    84% { -webkit-mask-position: 53px -214px, 92px -267px, 88px -137px, 103px -318px; mask-position: 53px -214px, 92px -267px, 88px -137px, 103px -318px; opacity: .48; }
    100% { -webkit-mask-position: 31px -335px, 55px -451px, 61px -372px, 149px -538px; mask-position: 31px -335px, 55px -451px, 61px -372px, 149px -538px; opacity: .36; }
}
.arci-app-grid { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 8vw, 120px); align-items: center; min-height: 650px; }
.arci-home-app.arci-home-no-visual .arci-app-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.arci-home-app.arci-home-no-visual .arci-app-copy { max-width: 900px; }
.arci-app-copy h2 { max-width: 720px; }
.arci-app-lead { max-width: 720px; margin: 24px 0 0 !important; color: var(--arci-home-text) !important; font-size: clamp(19px, 2vw, 27px); font-weight: 560; line-height: 1.35; }
.arci-app-visual { display: grid; min-height: 500px; place-items: center; }
.arci-app-visual > img { display: block; width: min(100%, 360px); max-height: 590px; object-fit: contain; filter: drop-shadow(0 34px 38px rgba(0,0,0,.32)); }
.arci-app-phone { position: relative; width: min(82%, 300px); aspect-ratio: .53; padding: 56px 20px 24px; overflow: hidden; color: #fff; background: linear-gradient(155deg, #15191d, #090b0d); border: 7px solid #d8dbe0; border-radius: 48px; box-shadow: 0 36px 70px rgba(0,0,0,.4), inset 0 0 0 2px #363b41; transform: rotate(-4deg); }
.arci-app-phone-speaker { position: absolute; top: 18px; left: 50%; width: 32%; height: 7px; background: #050607; border-radius: 10px; transform: translateX(-50%); }
.arci-app-phone-logo { color: #fff; font-size: 23px; font-weight: 750; letter-spacing: -.04em; }
.arci-app-phone-logo span { color: var(--arci-home-warm); }
.arci-app-phone-logo.has-image { width: 104px; height: 60px; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; box-shadow: 0 8px 22px rgba(0,0,0,.22); }
.arci-app-phone-logo.has-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.arci-app-phone-card { display: grid; min-height: 150px; margin-top: 35px; padding: 20px; align-content: end; background: linear-gradient(135deg, var(--arci-home-warm), color-mix(in srgb, var(--arci-home-warm) 42%, var(--arci-home-accent))); border-radius: 22px; }
.arci-app-phone-card.has-image { height: 150px; padding: 0; overflow: hidden; background: #171b20; }
.arci-app-phone-card.has-image img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.arci-app-phone-card small { font-size: 8px; letter-spacing: .15em; }
.arci-app-phone-card strong { font-size: 42px; line-height: 1; }
.arci-app-phone-card span { font-size: 12px; }
.arci-app-phone-events { display: grid; gap: 10px; margin-top: 30px; }
.arci-app-phone-events i { display: block; height: 48px; background: #24292e; border-radius: 12px; }
.arci-app-phone-events i::before { display: block; width: 48px; height: 48px; content: ""; background: color-mix(in srgb, var(--arci-home-accent) 50%, #252a2f); border-radius: inherit; }
.arci-home-root.is-visible .arci-app-visual { animation: arciPhoneIn .8s .08s cubic-bezier(.2,.72,.2,1) both; }
.arci-home-root.is-visible .arci-app-phone { animation: arciPhoneFloat 5.5s .9s ease-in-out infinite; }
@keyframes arciPhoneIn { from { opacity: 0; transform: translateY(42px) rotate(-3deg); } to { opacity: 1; transform: none; } }
@keyframes arciPhoneFloat { 50% { transform: translateY(-10px) rotate(-2deg); } }
.arci-app-stores { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.arci-app-stores a { display: flex; gap: 11px; align-items: center; min-width: 177px; padding: 11px 15px; color: #121519; background: #fff; border: 1px solid rgba(255,255,255,.6); border-radius: 14px; box-shadow: 0 13px 35px rgba(0,0,0,.18); transition: transform .25s ease, box-shadow .25s ease; }
.arci-app-stores a:hover,
.arci-app-stores a:focus-visible { outline: 3px solid color-mix(in srgb, var(--arci-home-accent) 45%, transparent); outline-offset: 3px; transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.arci-app-stores svg { width: 27px; height: 27px; fill: currentColor; }
.arci-app-stores small,
.arci-app-stores strong { display: block; }
.arci-app-stores small { font-size: 8px; letter-spacing: .08em; line-height: 1.2; }
.arci-app-stores strong { font-size: 16px; line-height: 1.2; }
.arci-app-info { display: inline-flex; gap: 18px; align-items: center; margin-top: 24px; color: var(--arci-home-accent) !important; font-size: 14px; font-weight: 650; }
.arci-app-info .arci-home-inline-icon { width: 19px; height: 19px; transition: transform .2s ease; }
.arci-app-info:hover .arci-home-inline-icon { transform: translateX(4px); }
.arci-app-info:focus-visible { outline: 2px solid var(--arci-home-accent); outline-offset: 5px; }
.arci-app-national-brand { display:block; width:clamp(108px,10vw,148px); margin:0 0 clamp(18px,2.5vw,28px); padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.arci-app-national-brand img { display:none !important; width:100% !important; max-width:none !important; height:auto !important; margin:0 !important; object-fit:contain !important; }
.arci-app-national-brand.is-negative .arci-app-national-logo-negative,
.arci-app-national-brand.is-auto .arci-app-national-logo-negative,
.arci-app-national-brand.is-positive .arci-app-national-logo-positive { display:block !important; }

/* Activities carousel */
.arci-about-activities { width: 100%; max-width: 100%; min-width: 0; margin-top: clamp(22px, 3vw, 34px); padding-top: clamp(17px, 2.4vw, 24px); overflow: hidden; border-top: 1px solid var(--arci-home-border); }
.arci-activities-toolbar { display: flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom: 12px; }
.arci-activities-caption { display:flex; gap:14px; align-items:center; color:var(--arci-home-text); font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.arci-activities-count { display:flex; gap:5px; align-items:baseline; color:var(--arci-home-muted); font-variant-numeric:tabular-nums; }
.arci-activities-count b { color:var(--arci-home-accent); font:inherit; }
.arci-activities-count i { font-style:normal; opacity:.55; }
.arci-activities-controls { display: flex; flex: 0 0 auto; gap: 9px; }
.arci-activities-controls button { display: grid; width: 40px; height: 40px; padding: 0; color: var(--arci-home-text); background: color-mix(in srgb, var(--arci-home-card) 86%, transparent); border: 1px solid var(--arci-home-border); border-radius: 50%; cursor: pointer; place-items: center; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease; }
.arci-activities-controls button:hover,
.arci-activities-controls button:focus-visible { color: var(--arci-home-button-text); background: var(--arci-home-accent); border-color: var(--arci-home-accent); outline: 0; transform: translateY(-2px); }
.arci-activities-controls button:disabled { cursor: default; opacity: .28; transform: none; }
.arci-activities-track { display: flex; width: 100%; max-width: 100%; gap: clamp(12px, 1.6vw, 18px); margin-top: 0; padding: 2px 2px 16px; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; scrollbar-color: color-mix(in srgb, var(--arci-home-accent) 58%, transparent) transparent; scrollbar-width: thin; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.arci-activities-track::-webkit-scrollbar { height: 5px; }
.arci-activities-track::-webkit-scrollbar-track { background: transparent; }
.arci-activities-track::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--arci-home-accent) 58%, transparent); border-radius: 99px; }
.arci-activity-card { position: relative; display: flex; flex: 0 0 clamp(270px, 32vw, 385px); min-height: 315px; padding: clamp(22px, 3vw, 32px); overflow: hidden; flex-direction: column; color: var(--arci-home-text) !important; background: linear-gradient(145deg, color-mix(in srgb, var(--arci-home-card) 96%, var(--arci-home-accent)), color-mix(in srgb, var(--arci-home-card) 88%, transparent)); border: 1px solid var(--arci-home-border); border-radius: 24px; box-shadow: 0 20px 55px rgba(0,0,0,.16); scroll-snap-align: start; scroll-snap-stop: always; transition: border-color .3s ease, box-shadow .3s ease, transform .3s cubic-bezier(.2,.72,.2,1); }
.arci-about-activities .arci-activity-card { flex-basis: clamp(230px, 76%, 305px); min-height: 228px; padding: clamp(17px, 2.2vw, 22px); border-radius: 19px; }
.arci-activity-card::before { position: absolute; right: -55px; bottom: -75px; width: 190px; height: 190px; content: ""; background: repeating-conic-gradient(from 20deg, color-mix(in srgb, var(--arci-home-accent) 42%, transparent) 0 9deg, transparent 9deg 20deg); border-radius: 50%; opacity: .38; transition: opacity .3s ease, transform .65s ease; }
.arci-activity-card:nth-child(3n+2)::before { background: repeating-conic-gradient(from 20deg, color-mix(in srgb, var(--arci-home-warm) 44%, transparent) 0 9deg, transparent 9deg 20deg); }
.arci-activity-card:hover,
.arci-activity-card:focus-visible { border-color: color-mix(in srgb, var(--arci-home-accent) 75%, var(--arci-home-border)); box-shadow: 0 28px 65px rgba(0,0,0,.26); outline: 0; transform: translateY(-6px); }
.arci-activity-card:hover::before,
.arci-activity-card:focus-visible::before { opacity: .7; transform: rotate(28deg) scale(1.08); }
.arci-activity-card-number { position: absolute; top: 22px; right: 24px; color: var(--arci-home-muted); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.arci-activity-card-icon { display: grid; width: 64px; height: 64px; color: var(--arci-home-accent); background: color-mix(in srgb, var(--arci-home-accent) 12%, var(--arci-home-card)); border: 1px solid color-mix(in srgb, var(--arci-home-accent) 34%, var(--arci-home-border)); border-radius: 19px; place-items: center; }
.arci-activity-card:nth-child(3n+2) .arci-activity-card-icon { color: var(--arci-home-warm); background: color-mix(in srgb, var(--arci-home-warm) 10%, var(--arci-home-card)); border-color: color-mix(in srgb, var(--arci-home-warm) 34%, var(--arci-home-border)); }
.arci-activity-card-icon svg { width: 31px; height: 31px; }
.arci-activity-card.has-no-icon:not(.has-image) .arci-activity-card-copy { padding-top: 12px; }
.arci-activity-card.has-image { min-height: 470px; }
.arci-about-activities .arci-activity-card.has-image { min-height: 345px; }
.arci-activity-card-media { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 18px; overflow: hidden; background: color-mix(in srgb, var(--arci-home-card) 72%, var(--arci-home-bg)); border: 1px solid color-mix(in srgb, var(--arci-home-accent) 30%, var(--arci-home-border)); border-radius: 17px; box-shadow: 0 16px 30px rgba(0,0,0,.2); }
.arci-activity-card-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 48%, rgba(8,13,20,.24)); pointer-events: none; }
.arci-activity-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .65s cubic-bezier(.2,.72,.2,1); }
.arci-activity-card:hover .arci-activity-card-media img,
.arci-activity-card:focus-visible .arci-activity-card-media img { transform: scale(1.045); }
.arci-activity-card.has-image .arci-activity-card-number { z-index: 3; top: 39px; right: 39px; padding: 5px 8px; color: var(--arci-home-text); background: rgba(8,13,20,.7); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; backdrop-filter: blur(7px); }
.arci-activity-card.has-image .arci-activity-card-icon { position: relative; z-index: 2; width: 50px; height: 50px; border-radius: 15px; }
.arci-activity-card.has-image .arci-activity-card-icon svg { width: 25px; height: 25px; }
.arci-activity-card-copy { position: relative; z-index: 1; display: block; margin-top: auto; padding-top: 42px; }
.arci-activity-card.has-image .arci-activity-card-copy { margin-top: 0; padding-top: 22px; }
.arci-activity-card-copy strong,
.arci-activity-card-copy small { display: block; }
.arci-activity-card-copy strong { max-width: 14ch; font-size: clamp(21px, 2.2vw, 29px); font-weight: 650; letter-spacing: -.025em; line-height: 1.08; }
.arci-about-activities .arci-activity-card-copy strong { max-width: 20ch; font-size: clamp(18px, 1.65vw, 22px); }
.arci-activity-card-copy small { max-width: 31ch; margin-top: 13px; color: var(--arci-home-muted); font-size: 13px; line-height: 1.48; }
.arci-activity-card-arrow { position: absolute; z-index: 2; right: 24px; bottom: 24px; display: grid; width: 36px; height: 36px; color: var(--arci-home-text); background: color-mix(in srgb, var(--arci-home-bg) 76%, transparent); border: 1px solid var(--arci-home-border); border-radius: 50%; place-items: center; transition: color .2s ease, background .2s ease, transform .2s ease; }
.arci-activity-card:hover .arci-activity-card-arrow,
.arci-activity-card:focus-visible .arci-activity-card-arrow { color: var(--arci-home-button-text); background: var(--arci-home-accent); transform: translate(2px,-2px); }
.arci-activity-card-arrow .arci-home-inline-icon { width: 17px; height: 17px; }
.arci-activities-progress { position:relative; display:none; width:100%; height:3px; overflow:hidden; background:color-mix(in srgb,var(--arci-home-border) 78%,transparent); }
.arci-activities-progress i { position:absolute; inset:0; display:block; background:var(--arci-home-accent); transform:scaleX(.1); transform-origin:left center; transition:transform .28s ease; }

/* Without the optional artwork the copy and its embedded carousel occupy the
 * complete shell. Cards become a balanced three-column viewport while keeping
 * the horizontal scroll behaviour for additional activities. */
@media (min-width: 921px) {
    .arci-home-about.arci-home-no-visual .arci-about-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .arci-home-about.arci-home-no-visual .arci-about-activities .arci-activity-card { flex-basis: clamp(260px, calc((100% - 36px) / 3), 360px); }
}

@media (max-width: 920px) {
    .arci-home-root { border-radius: 22px; }
    .arci-home-root.arci-home-width-full { border-radius: 0; }
    .arci-hours-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .arci-hours-day { min-height: 92px; border-bottom: 1px solid var(--arci-home-border); }
    .arci-hours-day:nth-child(2n) { border-right: 0; }
    .arci-hours-day:last-child { grid-column: 1 / -1; border-bottom: 0; }
    .arci-about-grid,
    .arci-app-grid { grid-template-columns: 1fr; }
    .arci-about-grid { min-height: 0; }
    .arci-about-media { min-height: 400px; }
    .arci-app-grid { min-height: 0; }
    .arci-app-visual { min-height: 430px; order: 2; }
    .arci-app-copy { order: 1; }
}

@media (max-width: 600px) {
    .arci-home-root { font-size: 15px; }
    .arci-home-about .arci-home-shell { padding: 25px 17px 27px; }
    .arci-home-shell { padding: 30px 22px 34px; }
    .arci-home-root h2 { padding-right: 0; font-size: clamp(31px, 11vw, 44px); line-height: 1.02; }
    .arci-home-about .arci-home-richtext { margin-top:17px; font-size:14px; line-height:1.52; }
    .arci-home-about .arci-home-richtext p { margin-bottom:.78em; }
    .arci-about-links { gap:8px; margin-top:17px; }
    .arci-about-links a { grid-template-columns:29px minmax(0,1fr) 15px; min-height:45px; gap:9px; padding:6px 10px 6px 6px; font-size:12px; }
    .arci-about-link-index { width:29px; height:29px; border-radius:7px; font-size:8px; }
    .arci-about-links a .arci-home-inline-icon { width:15px; height:15px; }
    .arci-about-activities { margin-top: 16px; padding-top: 13px; }
    .arci-activities-toolbar { margin-bottom: 8px; }
    .arci-activities-caption { width:100%; justify-content:space-between; font-size:10px; }
    .arci-activities-controls { display:none; }
    .arci-activities-track { gap:10px; padding:2px 2px 8px; scrollbar-width:none; }
    .arci-activities-track::-webkit-scrollbar { display:none; }
    .arci-about-activities .arci-activity-card { flex-basis:min(76vw,282px); min-width:min(76vw,282px); min-height:182px; padding:14px; }
    .arci-about-activities .arci-activity-card.has-image { min-height:266px; }
    .arci-about-activities .arci-activity-card::before { right:-34px; bottom:-48px; width:120px; height:120px; opacity:.22; }
    .arci-about-activities .arci-activity-card-number { top:13px; right:14px; font-size:8px; }
    .arci-about-activities .arci-activity-card-icon { width:39px; height:39px; border-radius:10px; }
    .arci-about-activities .arci-activity-card-icon svg { width:20px; height:20px; }
    .arci-about-activities .arci-activity-card-copy { padding-top:16px; }
    .arci-about-activities .arci-activity-card-copy strong { max-width:calc(100% - 28px); font-size:16px; line-height:1.1; }
    .arci-about-activities .arci-activity-card-copy small { display:-webkit-box; max-width:calc(100% - 28px); margin-top:7px; padding-right:0; overflow:hidden; font-size:11px; line-height:1.36; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .arci-about-activities .arci-activity-card-arrow { right:11px; bottom:11px; width:27px; height:27px; }
    .arci-about-activities .arci-activity-card-arrow .arci-home-inline-icon { width:14px; height:14px; }
    .arci-about-activities .arci-activity-card-media { margin-bottom:9px; border-radius:8px; }
    .arci-about-activities .arci-activity-card.has-image .arci-activity-card-number { top:20px; right:20px; }
    .arci-about-activities .arci-activity-card.has-image .arci-activity-card-copy { padding-top:10px; }
    .arci-activities-progress { display:block; margin-top:2px; }
    .arci-home-root > .arci-section-icon { top: 20px; right: 19px; width: 46px; height: 46px; }
    .arci-home-root.has-section-icon .arci-home-header > div:first-child,
    .arci-home-root.has-section-icon .arci-about-copy,
    .arci-home-root.has-section-icon .arci-app-copy { padding-right: 48px; }
    .arci-home-header { display: block; }
    .arci-home-hours.has-section-icon .arci-home-header { padding-right: 0; }
    .arci-home-intro { margin-top: 13px !important; font-size: 14px; line-height: 1.5; }
    .arci-hours-status { width: 100%; min-width: 0; margin-top: 24px; padding: 13px 15px; }
    .arci-hours-grid { margin-top: 22px; border-radius: 15px; }
    .arci-hours-day { min-height: 82px; padding: 16px 13px; }
    .arci-hours-day span { font-size: 9px; }
    .arci-hours-day strong { margin-top: 7px; font-size: 12px; }
    .arci-hours-exceptions { padding: 7px 14px; border-radius: 15px; }
    .arci-hours-exceptions > div { grid-template-columns: 1fr auto; gap: 3px 12px; font-size: 12px; }
    .arci-hours-exceptions > div span { grid-column: 1 / -1; grid-row: 2; color: var(--arci-home-muted); }
    .arci-hours-note { font-size: 12px; }
    .arci-home-richtext { margin-top: 20px; font-size: 15px; }
    .arci-about-grid,
    .arci-app-grid { gap: 34px; }
    .arci-about-links { grid-template-columns: 1fr; }
    .arci-about-media { min-height: 320px; border-radius: 44% 44% 20px 20px; }
    .arci-app-lead { margin-top: 18px !important; font-size: 18px; }
    .arci-app-visual { min-height: 390px; }
    .arci-app-phone { width: min(78%, 250px); padding: 47px 17px 20px; border-width: 6px; border-radius: 39px; }
    .arci-app-phone-card { min-height: 120px; margin-top: 25px; }
    .arci-app-stores { display: grid; grid-template-columns: 1fr; }
    .arci-app-stores a { width: 100%; min-width: 0; }
    .arci-app-national-brand { width:112px; margin-bottom:18px; }
    .arci-app-visual.has-rays { min-height: 350px; border-radius: 36% 36% 20px 20px; }
    .arci-rays-artwork { width: min(100%, 340px); }
    .arci-activities-header { display: block; }
    .arci-activities-controls { margin-top: 22px; }
    .arci-activities-controls button { width: 43px; height: 43px; }
    .arci-activities-track { margin-top: 0; }
    .arci-activity-card { flex-basis: min(82vw, 310px); min-height: 275px; padding: 22px; border-radius: 20px; }
    .arci-activity-card.has-image { min-height: 425px; }
    .arci-activity-card-media { margin-bottom: 15px; border-radius: 15px; }
    .arci-activity-card.has-image .arci-activity-card-number { top: 30px; right: 30px; }
    .arci-activity-card.has-image .arci-activity-card-icon { width: 46px; height: 46px; border-radius: 14px; }
    .arci-activity-card.has-image .arci-activity-card-copy { padding-top: 18px; }
    .arci-activity-card-icon { width: 55px; height: 55px; border-radius: 17px; }
    .arci-activity-card-icon svg { width: 27px; height: 27px; }
    .arci-activity-card-copy strong { max-width: 13ch; font-size: 21px; }
    .arci-activity-card-copy small { padding-right: 24px; font-size: 12px; }
    .arci-activity-card-arrow { right: 18px; bottom: 18px; }
}

/* Homepage hero slider: isolated, lightweight replacement for Revolution Slider. */
.arci-media-slider {
    --arci-slider-duration: 900ms;
    --arci-slider-overlay: .42;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 1180px;
    min-height: 520px;
    margin: var(--arci-shortcode-margin-top, 0px) auto var(--arci-shortcode-margin-bottom, 0px) !important;
    overflow: hidden;
    color: var(--arci-home-text, #fff);
    background: var(--arci-home-bg, #111315);
    border-top: 1px solid var(--arci-section-top-border, transparent);
    border-bottom: 1px solid var(--arci-section-bottom-border, transparent);
    box-sizing: border-box;
    font-family: "Rubik", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.arci-media-slider *,
.arci-media-slider *::before,
.arci-media-slider *::after { box-sizing: border-box; }
.arci-media-slider.arci-slider-width-full { left: 50%; width: 100vw; max-width: none; margin-left: -50vw !important; }
.arci-slider-height-compact { min-height: clamp(380px, 54vh, 600px); }
.arci-slider-height-medium { min-height: clamp(500px, 68vh, 780px); }
.arci-slider-height-large { min-height: clamp(620px, 84vh, 940px); }
.arci-slider-height-fullscreen { min-height: 100svh; }
.arci-slider-stage,
.arci-slider-slide,
.arci-slider-media,
.arci-slider-shade { position: absolute; inset: 0; }
.arci-slider-stage { z-index: 0; }
.arci-slider-slide { z-index: 0; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--arci-slider-duration) ease, transform var(--arci-slider-duration) cubic-bezier(.2,.72,.2,1), clip-path var(--arci-slider-duration) cubic-bezier(.2,.72,.2,1), visibility 0s linear var(--arci-slider-duration); }
.arci-slider-slide.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.arci-slider-media img,
.arci-slider-media video { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: center; }
.arci-slider-media video { background: #050607; }
.arci-slider-shade { z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,var(--arci-slider-overlay)) 0%, rgba(0,0,0,var(--arci-slider-overlay)) 42%, transparent 100%); pointer-events: none; }
.arci-slider-slide.has-no-copy .arci-slider-shade { background: rgba(0,0,0,var(--arci-slider-overlay)); opacity: .28; }
.arci-slider-copy { position: absolute; z-index: 2; bottom: clamp(70px, 10vh, 116px); left: max(26px, calc((100% - 1180px) / 2 + clamp(28px, 5vw, 70px))); width: min(760px, calc(100% - 56px)); text-align: left; }
.arci-slider-text-center .arci-slider-copy { top: 50%; bottom: auto; left: 50%; text-align: center; transform: translate(-50%,-50%); }
.arci-slider-text-bottom .arci-slider-copy { right: 28px; left: 28px; width: auto; max-width: 850px; margin: auto; text-align: center; }
.arci-slider-eyebrow { margin: 0 0 12px !important; color: var(--arci-home-accent, #73a7ff) !important; font-size: clamp(11px, 1.1vw, 14px); font-weight: 750; letter-spacing: .17em; line-height: 1.35; text-transform: uppercase; }
.arci-slider-copy h2 { max-width: 12ch; margin: 0; color: #fff !important; font: 720 clamp(38px, 6vw, 82px)/.96 "Rubik", Arial, sans-serif; letter-spacing: -.045em; text-shadow: 0 4px 25px rgba(0,0,0,.28); }
.arci-slider-text-center .arci-slider-copy h2,
.arci-slider-text-bottom .arci-slider-copy h2 { max-width: none; }
.arci-slider-text { max-width: 58ch; margin: 20px 0 0 !important; color: rgba(255,255,255,.88) !important; font-size: clamp(16px, 1.7vw, 22px); line-height: 1.48; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.arci-slider-text-center .arci-slider-text,
.arci-slider-text-bottom .arci-slider-text { margin-right: auto !important; margin-left: auto !important; }
.arci-slider-button { display: inline-flex; gap: 14px; align-items: center; min-height: 50px; margin-top: 25px; padding: 13px 19px; color: var(--arci-home-button-text, #08111f) !important; background: var(--arci-home-accent, #73a7ff); border: 1px solid transparent; border-radius: 999px; box-shadow: 0 15px 38px rgba(0,0,0,.24); font-size: 14px; font-weight: 700; text-decoration: none !important; transition: transform .22s ease, filter .22s ease; }
.arci-slider-button:hover,
.arci-slider-button:focus-visible { color: var(--arci-home-button-text, #08111f) !important; outline: 3px solid rgba(255,255,255,.72); outline-offset: 3px; filter: brightness(1.07); transform: translateY(-2px); }
.arci-slider-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.arci-slider-controls { position: absolute; z-index: 5; right: max(22px, calc((100% - 1180px) / 2 + 34px)); bottom: 26px; left: max(22px, calc((100% - 1180px) / 2 + 34px)); display: flex; gap: 14px; align-items: center; justify-content: flex-end; pointer-events: none; }
.arci-slider-controls button { display: grid; width: 44px; height: 44px; padding: 0; color: #fff; background: rgba(12,14,17,.5); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; backdrop-filter: blur(12px); cursor: pointer; place-items: center; pointer-events: auto; transition: color .2s ease, background .2s ease, transform .2s ease; }
.arci-slider-controls button:hover,
.arci-slider-controls button:focus-visible { color: var(--arci-home-button-text, #08111f); background: var(--arci-home-accent, #73a7ff); border-color: var(--arci-home-accent, #73a7ff); outline: 0; transform: translateY(-2px); }
.arci-slider-controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.arci-slider-arrows { display: flex; gap: 8px; margin-right: auto; }
.arci-slider-dots { display: flex; gap: 8px; align-items: center; pointer-events: auto; }
.arci-slider-dots button { width: 9px; height: 9px; background: rgba(255,255,255,.42); border: 0; box-shadow: none; backdrop-filter: none; }
.arci-slider-dots button[aria-current="true"] { width: 28px; background: var(--arci-home-accent, #73a7ff); border-radius: 999px; }
.arci-slider-pause .arci-slider-play-icon { display: none; }
.arci-slider-pause[aria-pressed="true"] .arci-slider-pause-icon { display: none; }
.arci-slider-pause[aria-pressed="true"] .arci-slider-play-icon { display: block; }

.arci-slider-effect-slide .arci-slider-slide { transform: translateX(10%); }
.arci-slider-effect-slide .arci-slider-slide.is-active { transform: translateX(0); }
.arci-slider-effect-wipe .arci-slider-slide { clip-path: inset(0 0 0 100%); }
.arci-slider-effect-wipe .arci-slider-slide.is-active { clip-path: inset(0); }
.arci-slider-effect-zoom .arci-slider-slide.is-active .arci-slider-media,
.arci-media-slider[data-current-effect="zoom"] .arci-slider-slide.is-active .arci-slider-media { animation: arciSliderZoom calc(var(--arci-slider-duration) + 5.5s) ease-out both; }
.arci-media-slider[data-current-effect="slide"] .arci-slider-slide { transform: translateX(10%); }
.arci-media-slider[data-current-effect="slide"] .arci-slider-slide.is-active { transform: translateX(0); }
.arci-media-slider[data-current-effect="wipe"] .arci-slider-slide { clip-path: inset(0 0 0 100%); }
.arci-media-slider[data-current-effect="wipe"] .arci-slider-slide.is-active { clip-path: inset(0); }
@keyframes arciSliderZoom { from { transform: scale(1.08); } to { transform: scale(1); } }

@media (max-width: 700px) {
    .arci-slider-mobile-height-compact { min-height: 300px; }
    .arci-slider-mobile-height-medium { min-height: 420px; }
    .arci-slider-mobile-height-large { min-height: 520px; }
    .arci-slider-mobile-height-fullscreen { min-height: min(100svh, 760px); }
    .arci-slider-copy { bottom: 90px; left: 24px; width: calc(100% - 48px); }
    .arci-slider-text-center .arci-slider-copy { left: 50%; width: calc(100% - 48px); }
    .arci-slider-copy h2 { font-size: clamp(32px, 11vw, 52px); }
    .arci-slider-text { margin-top: 14px !important; font-size: 15px; line-height: 1.45; }
    .arci-slider-button { min-height: 44px; margin-top: 18px; padding: 10px 16px; font-size: 13px; }
    .arci-slider-controls { right: 18px; bottom: 18px; left: 18px; }
    .arci-slider-controls button { width: 40px; height: 40px; }
    .arci-slider-dots { gap: 6px; }
    .arci-slider-dots button { width: 8px; height: 8px; }
    .arci-slider-dots button[aria-current="true"] { width: 22px; }
    .arci-slider-mobile-height-compact .arci-slider-copy { bottom: 72px; }
    .arci-slider-mobile-height-compact .arci-slider-copy h2 { font-size: clamp(28px, 9.5vw, 42px); }
    .arci-slider-mobile-height-compact .arci-slider-text { display: -webkit-box; overflow: hidden; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .arci-slider-mobile-height-compact .arci-slider-button { min-height: 40px; margin-top: 13px; padding: 8px 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .arci-media-slider { --arci-slider-duration: 1ms !important; }
    .arci-home-root *,
    .arci-home-root *::before,
    .arci-home-root *::after,
    .arci-media-slider *,
    .arci-media-slider *::before,
    .arci-media-slider *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
