.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Instrument Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Instrument Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --rally-yellow:#FFD60A; --rally-ink:#141412; --rally-night:#0E0E0C; --rally-paper:#F3F1EB; --rally-muted:#5A584F; --rally-body:#3A3934; --rally-soft:#B9B6AC; --rally-line:#C9C4B6; --rally-blue:#1F3FA8; --font-display:Archivo; --font-mono:IBM Plex Mono; --font-body:Instrument Sans; }
/* Start custom CSS *//* Rally: sticky header (topbar scrolls away, nav pill stays 12px from top) */
.elementor-location-header { position: sticky; top: -36px; z-index: 50; }
.elementor-location-footer { position: relative; z-index: 1; }
@media (max-width: 767px) { .elementor-location-header { top: -60px; } }
html { scroll-behavior: smooth; }
body { background: #F3F1EB; }

/* Rally: animated shine on hero headline + category ribbon marquee (pure CSS, GPU friendly) */
@keyframes rallyShine { 0% { background-position: 100% 0; } 100% { background-position: 0% 0; } }
.r-shine span { animation: rallyShine 4.2s ease-in-out .6s infinite; }
/* Ribbon holds 6 copies of the categories; moving by -50% (= 3 copies) loops seamlessly on screens up to ~3300px wide. */
@keyframes rallyMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.r-marquee { animation: rallyMarquee 90s linear infinite; will-change: transform; }

/* Rally: instructor carousel (scroll-snap, swipe on mobile) */
.r-carousel { scroll-snap-type: x mandatory; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #141412 rgba(20,20,18,.08); }
.r-carousel > * { scroll-snap-align: start; }
.r-carousel::-webkit-scrollbar { height: 6px; }
.r-carousel::-webkit-scrollbar-track { background: rgba(20,20,18,.08); border-radius: 999px; }
.r-carousel::-webkit-scrollbar-thumb { background: #141412; border-radius: 999px; }

@media (prefers-reduced-motion: reduce) { .r-shine span, .r-marquee { animation: none; } }

/* RALLY EXTRA START */
/* Social icons: links stay editable text; icon is picked from the URL (facebook / instagram). */
.r-social a { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #FFD60A; font-size: 0 !important; color: transparent !important; text-decoration: none; transition: transform .25s, background .25s; }
.r-social a::before { content: ""; width: 19px; height: 19px; background: #141412; -webkit-mask: var(--r-ico) center / contain no-repeat; mask: var(--r-ico) center / contain no-repeat; }
.r-social a[href*="facebook"] { --r-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M14%208h3V4h-3c-2.8%200-5%202.2-5%205v2H6v4h3v9h4v-9h3l1-4h-4V9c0-.6.4-1%201-1z'%2F%3E%3C%2Fsvg%3E"); }
.r-social a[href*="instagram"] { --r-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2.2'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'18'%20height%3D'18'%20rx%3D'5'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'4.2'%2F%3E%3Ccircle%20cx%3D'17.4'%20cy%3D'6.6'%20r%3D'1.2'%20fill%3D'black'%20stroke%3D'none'%2F%3E%3C%2Fsvg%3E"); }
.r-social a:hover { transform: translateY(-2px) scale(1.06); background: #F3F1EB; }
.elementor-location-header .r-social a { width: 24px; height: 24px; background: transparent; }
.elementor-location-header .r-social a::before { width: 14px; height: 14px; background: #FFD60A; }
.elementor-location-header .r-social a:hover { background: rgba(255,214,10,.15); }

/* Team: uniform photo treatment so different shots look like one set. */
.r-team-photo img { filter: saturate(.9) contrast(1.05) brightness(1.02); }
.r-team-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(20,20,18,0) 58%, rgba(20,20,18,.32) 100%), linear-gradient(160deg, rgba(255,214,10,.14) 0%, rgba(255,214,10,0) 42%); }
.r-team-role a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #141412; color: #FFD60A !important; font: 600 12px/1 'Instrument Sans', system-ui, sans-serif; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .25s, color .25s, transform .25s; }
.r-team-role a::after { content: "+"; font-size: 14px; }
.r-team-role a:hover { background: #FFD60A; color: #141412 !important; transform: translateY(-1px); }
body:not(.elementor-editor-active) .r-team-more { display: none !important; }
.elementor-editor-active .r-team-more { display: block; padding: 10px 12px; border-radius: 12px; background: rgba(20,20,18,.06); outline: 1px dashed rgba(20,20,18,.25); }
.elementor-editor-active .r-team-more::before { content: "Sadržaj popupa (vidljivo samo u editoru)"; display: block; margin-bottom: 6px; font: 10px/1.2 'IBM Plex Mono', monospace; text-transform: uppercase; color: #5A584F; }

/* Upis form: GDPR consent checkbox readable on the dark panel. */
.rally-form .wpcf7-acceptance { display: block; margin: 4px 0 14px; color: #B9B6AC; font-size: 13px; line-height: 1.5; }
.rally-form .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.rally-form .wpcf7-acceptance input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: #FFD60A; }
/* RALLY EXTRA END */

/* RALLY PERF START */
/* Scroll reveal without Elementor interactions: hidden only when JS is running (html.r-js), revealed by IntersectionObserver. */
.r-js .r-reveal { opacity: 0; translate: 0 28px; transition: opacity .9s cubic-bezier(.2,.7,.2,1), translate .9s cubic-bezier(.2,.7,.2,1); }
.r-js .r-reveal.is-in { opacity: 1; translate: 0 0; }
.r-js .r-reveal:nth-child(2) { transition-delay: .08s; } .r-js .r-reveal:nth-child(3) { transition-delay: .16s; }
.r-js .r-reveal:nth-child(4) { transition-delay: .24s; } .r-js .r-reveal:nth-child(5) { transition-delay: .32s; } .r-js .r-reveal:nth-child(6) { transition-delay: .4s; }
/* Hero floating cards (compositor-only "translate" animation). */
@keyframes rFloatA { 50% { translate: 0 -8px; } }
@keyframes rFloatB { 50% { translate: 0 6px; } }
.r-float-a { animation: rFloatA 7.2s ease-in-out infinite; }
.r-float-b { animation: rFloatB 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .r-js .r-reveal { opacity: 1; translate: none; transition: none; } .r-float-a, .r-float-b { animation: none; } }
/* RALLY PERF END *//* End custom CSS */