/* Fonts are served from our own server (/fonts) as one shared set for every page, so the browser
   downloads them once and pages never flash a fallback font between navigations.
   Latin subset; the main weights are preloaded in each page <head>. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/archivo.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/poppins-400i.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/poppins-300.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/poppins-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Fallback shown for a moment while Poppins downloads, resized to Poppins' measurements
   so text does not jump (layout shift) when the real font arrives. */
@font-face{font-family:"Poppins Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica");ascent-override:105%;descent-override:35%;line-gap-override:10%}
/* Yogi Rock — shared section components
   Loaded by EVERY page (homepage + inner pages). Each shared section has one
   markup source in /partials and its styles here, so an edit to a section
   applies on all pages at once. Values mirror the homepage theme (vw-based
   Kaala/Elementor sizing). Self-contained: no dependency on yr-kit.css vars.

   partials/backdrop.html   -> page background, glows, 3D canvas, side rails
   partials/header.html     -> logo + menu
   partials/community.html  -> "Join to the community"
   partials/contact.html    -> "Contact us"
   partials/footer.html     -> copyright bar + back-to-top */

/* orange -> pink gradient text used by shared headings */
.yr-grad{background:linear-gradient(96deg,#F7951E 0%,#FF579E 52%,#E5176B 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- backdrop (partials/backdrop.html + page background) ---------- */
html,body{background:#0a0a0e !important}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60% 50% at 78% -5%, rgba(229,23,107,.22), transparent 60%),
    radial-gradient(50% 45% at 8% 8%, rgba(247,149,30,.15), transparent 60%),
    #0a0a0e}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;
  background-image:linear-gradient(#f4f3ef 1px,transparent 1px),linear-gradient(90deg,#f4f3ef 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 85%);
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 85%)}
.yr-split{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(48% 78% at -5% 50%, rgba(247,149,30,.14), transparent 72%),
    radial-gradient(48% 78% at 105% 50%, rgba(229,23,107,.15), transparent 72%)}
.yr-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(42% 32% at 50% 110%, rgba(247,149,30,.10), transparent 70%),
    radial-gradient(34% 30% at 102% 58%, rgba(229,23,107,.11), transparent 70%)}
#yr3d{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
.yr-rail{position:fixed;top:50%;z-index:5;pointer-events:none;writing-mode:vertical-rl;
  font:700 11.5px/1 Poppins,sans-serif;letter-spacing:.36em;text-transform:uppercase;white-space:nowrap;opacity:.9;transition:opacity .3s ease}
/* fades out while a full-width scrolling band ([.yr-rail-avoid]) passes over it -- js/yr-components.js */
.yr-rail.is-covered{opacity:0}
.yr-rail-l{left:13px;transform:translateY(-50%) rotate(180deg);color:#F7951E}
.yr-rail-r{right:13px;transform:translateY(-50%);color:#FF579E}
@media(max-width:1100px){.yr-rail{display:none}}

/* ---------- header (partials/header.html) ----------
   Kaala theme values: header 1vw 4vw .5vw, branding .4vw 2vw, menu 1.4vw
   text, 1vw spacing, .5vw item padding, 1.5em item height; <=768px: 14px
   text + magenta toggle button. */
.yr-header{position:relative;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  margin:0;padding:1vw 4vw .5vw;box-sizing:border-box;font-family:Poppins,"Poppins Fallback",sans-serif}
/* Logo gets an explicit width (SVG is 362x128 -> 58px tall = 164px wide, 36px = 102px):
   iOS Safari sized a width:auto SVG from its built-in 362px width, which pushed the
   menu button onto a second line and hid the logo under the status bar. */
.yr-header__logo{display:block;flex:none;line-height:0;padding:.4vw 2vw;background:transparent}
.yr-header__logo img{display:block;width:164px;height:58px;min-width:0;max-width:none;object-fit:contain}
.yr-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1vw}
.yr-nav li{margin:0;padding:0}
.yr-nav a{
  display:block;background:#E5176B;border:2px solid #E5176B;border-radius:0;color:#FFFFFF;
  font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:600;font-size:1.4vw;line-height:1.5em;padding:0 .5vw;
  text-decoration:none;text-transform:none;letter-spacing:normal;transition:.3s;
}
.yr-nav a:hover,.yr-nav a:focus-visible{background:#FF579E;border-color:#FF579E;color:#FFFFFF;transform:rotate(-5deg)}
.yr-burger{display:none;position:relative;z-index:3;margin:0;background:#E5176B;border:2px solid #E5176B;border-radius:0;box-shadow:none;color:#F4F3EF;
  padding:.3vw 2vw .5vw;line-height:28.5px;font-size:19px;text-transform:none;transform:none;align-items:center;justify-content:center;cursor:pointer;
  transition:background .3s,border-color .3s}
.yr-burger:hover,.yr-burger:focus{background:#E5176B;color:#F4F3EF}
/* three lines that morph into an X */
.yr-burger__lines{position:relative;display:block;width:20px;height:16px;margin:6.25px 0}
.yr-burger__lines i{position:absolute;left:0;right:0;height:2.5px;border-radius:2px;background:currentColor;
  transition:transform .45s cubic-bezier(.77,0,.18,1),opacity .25s,top .45s cubic-bezier(.77,0,.18,1),width .45s}
.yr-burger__lines i:nth-child(1){top:0}
.yr-burger__lines i:nth-child(2){top:6.75px;width:70%;left:auto}
.yr-burger__lines i:nth-child(3){top:13.5px}
.yr-burger:hover .yr-burger__lines i:nth-child(2){width:100%}
.yr-burger[aria-expanded="true"]{background:#0a0a0e;border-color:#F4F3EF}
.yr-burger[aria-expanded="true"] .yr-burger__lines i:nth-child(1){top:6.75px;transform:rotate(45deg)}
.yr-burger[aria-expanded="true"] .yr-burger__lines i:nth-child(2){opacity:0;transform:translateX(12px)}
.yr-burger[aria-expanded="true"] .yr-burger__lines i:nth-child(3){top:6.75px;transform:rotate(-45deg)}

/* ---------- full-screen mobile menu: "circle burst" ----------
   A dark circle with a pink/orange glow grows out of the burger (--mx/--my set
   by js/yr-components.js), then the links rise in one after another. */
.yr-menu{display:none}
@media(max-width:768px){
  .yr-header__logo{position:relative;z-index:3}
  .yr-header__logo img{width:102px;height:36px}
  .yr-burger{display:inline-flex}
  .yr-nav{display:none}
  html.yr-menu-open,html.yr-menu-open body{overflow:hidden}
  html.yr-menu-open .yr-header{z-index:1000}
  .yr-menu{display:block;position:fixed;inset:0;z-index:2;pointer-events:none;visibility:hidden;transition:visibility 0s linear .75s}
  .yr-menu.is-open{pointer-events:auto;visibility:visible;transition:visibility 0s}
  .yr-menu__bg{position:absolute;inset:0;background:
      radial-gradient(60% 45% at 85% 12%,rgba(229,23,107,.38),transparent 70%),
      radial-gradient(55% 40% at 10% 90%,rgba(247,149,30,.28),transparent 72%),
      #0a0a0e;
    clip-path:circle(0px at var(--mx,90%) var(--my,40px));transition:clip-path .7s cubic-bezier(.77,0,.18,1)}
  .yr-menu.is-open .yr-menu__bg{clip-path:circle(150vmax at var(--mx,90%) var(--my,40px))}
  .yr-menu__inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-start;
    /* content flows from the top (button right under the links), so floating browser
       toolbars at the bottom -- e.g. iOS Safari -- can never cover it; scrolls if short */
    padding:calc(92px + env(safe-area-inset-top)) 7vw calc(110px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .yr-menu__links{list-style:none;margin:0;padding:0;counter-reset:yrm}
  .yr-menu__links li{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);counter-increment:yrm}
  .yr-menu__links a{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 0 12px;
    font:900 clamp(34px,11.5vw,56px)/1 Poppins,sans-serif;text-transform:uppercase;letter-spacing:-.01em;color:#F4F3EF;text-decoration:none;
    transform:translateY(105%);opacity:0;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s,color .3s}
  .yr-menu__links a::after{content:"0" counter(yrm);font:700 13px/1 Poppins,sans-serif;letter-spacing:.2em;color:#F7951E}
  .yr-menu__links a[aria-current]{background:linear-gradient(96deg,#F7951E 0%,#FF579E 52%,#E5176B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .yr-menu__links a:active{color:#FF579E}
  .yr-menu.is-open .yr-menu__links a{transform:none;opacity:1}
  .yr-menu.is-open .yr-menu__links li:nth-child(1) a{transition-delay:.28s}
  .yr-menu.is-open .yr-menu__links li:nth-child(2) a{transition-delay:.35s}
  .yr-menu.is-open .yr-menu__links li:nth-child(3) a{transition-delay:.42s}
  .yr-menu.is-open .yr-menu__links li:nth-child(4) a{transition-delay:.49s}
  .yr-menu.is-open .yr-menu__links li:nth-child(5) a{transition-delay:.56s}
  .yr-menu__foot{margin-top:30px;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .45s}
  .yr-menu.is-open .yr-menu__foot{opacity:1;transform:none;transition-delay:.6s}
  .yr-menu__cta .yr-btn__label{font-size:16px}
  .yr-menu__contact{display:flex;flex-direction:column;gap:6px;margin-top:22px;font:500 15px/1.4 Poppins,sans-serif;color:#b6b6c0}
  .yr-menu__contact a{color:#F4F3EF;text-decoration:none}
  /* closing: links drop away quickly, then the circle shrinks back */
  .yr-menu:not(.is-open) .yr-menu__links a{transition-duration:.25s,.2s,.3s;transition-delay:0s}
  .yr-menu:not(.is-open) .yr-menu__bg{transition-delay:.12s}
}
@media(max-width:768px) and (prefers-reduced-motion:reduce){
  .yr-menu__bg,.yr-menu__links a,.yr-menu__foot,.yr-burger__lines i{transition:opacity .2s !important;transition-delay:0s !important}
  .yr-menu__bg{clip-path:none;opacity:0}
  .yr-menu.is-open .yr-menu__bg{opacity:1}
  .yr-menu__links a,.yr-menu__foot{transform:none}
}

/* ---------- buttons: homepage wpkoi button (hover-effect-10) ----------
   markup: a.yr-btn > .yr-btn__plane(--normal|--hover) + .yr-btn__state(--normal|--hover) */
.yr-btn{position:relative;display:inline-flex;overflow:hidden;text-decoration:none !important;border-radius:6px;
  box-shadow:0 14px 34px -16px rgba(229,23,107,.7);transition:transform .3s ease,box-shadow .3s ease}
.yr-btn:hover{transform:translateY(-3px);box-shadow:0 20px 46px -14px rgba(247,149,30,.78)}
.yr-btn__plane{position:absolute;inset:0;border:2px solid #111;transition:all .3s cubic-bezier(.5,.12,.46,.88)}
.yr-btn__plane--normal{z-index:1;background:linear-gradient(96deg,#F7951E 0%,#E5176B 100%);opacity:1}
.yr-btn__plane--hover{z-index:3;background:#0a0a0e;transform:translateX(-100%)}
.yr-btn__state{display:flex;align-items:center;justify-content:center;padding:10px 30px;transition:all .3s cubic-bezier(.5,.12,.46,.88)}
.yr-btn__state--normal{position:relative;z-index:2}
.yr-btn__state--hover{position:absolute;inset:0;z-index:4;opacity:0;transform:translateX(-100%)}
.yr-btn:hover .yr-btn__plane--normal,.yr-btn:focus-visible .yr-btn__plane--normal{opacity:0}
.yr-btn:hover .yr-btn__plane--hover,.yr-btn:focus-visible .yr-btn__plane--hover{transform:translateX(0)}
.yr-btn:hover .yr-btn__state--normal,.yr-btn:focus-visible .yr-btn__state--normal{opacity:0;transform:translateY(100%)}
.yr-btn:hover .yr-btn__state--hover,.yr-btn:focus-visible .yr-btn__state--hover{opacity:1;transform:translateX(0);transition-delay:.1s}
.yr-btn__label{font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:700;font-size:1.8vw;line-height:1.2;text-transform:uppercase;color:#0a0a0e !important;white-space:nowrap}
.yr-btn__state--hover .yr-btn__label{color:#F4F3EF !important}
.yr-btn__icon{display:flex;width:25px;margin-right:14.4px}
.yr-btn__icon svg{width:100%;height:auto;fill:#fff}
@media(max-width:767px){.yr-btn__label{font-size:4vw}.yr-btn__icon{width:4vw}}

/* glass card -- same values as the homepage "GLASS CARDS" rule */
.yr-social,.yr-contact__card{
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:20px;
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  box-shadow:0 18px 50px -28px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.yr-social:hover,.yr-contact__card:hover{transform:translateY(-6px);border-color:rgba(247,149,30,.45);
  box-shadow:0 28px 60px -26px rgba(229,23,107,.5),inset 0 1px 0 rgba(255,255,255,.08)}

/* ---------- "Join to the community" (partials/community.html) ---------- */
.yr-community{display:flex;flex-direction:column;align-items:center;padding:2vw 4vw 6vw;box-sizing:border-box;font-family:Poppins,"Poppins Fallback",sans-serif}
.yr-community__title{width:100%;margin:0;text-align:center;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:900;text-transform:uppercase;line-height:1;letter-spacing:normal;font-size:10vw}
.yr-community__row{display:flex;flex-wrap:wrap;justify-content:center;gap:4vw;width:100%;padding:4vw 0 3vw;box-sizing:border-box}
.yr-social{flex:0 0 33.26vw;display:flex;flex-direction:column;align-items:center;gap:14.4px;text-align:center;box-sizing:border-box}
.yr-social__icon{display:inline-block;padding:2.5vw;border:2px solid #111;border-radius:16px;line-height:0;
  box-shadow:0 0 0 1px rgba(247,149,30,.35),0 0 34px -6px rgba(229,23,107,.5);transition:transform .35s ease,box-shadow .35s ease}
.yr-social__icon svg{width:5vw;height:5vw;fill:#111}
.yr-social__icon:hover,.yr-social__icon:focus,.yr-social__icon:active{transform:translateY(-3px) scale(1.04);
  box-shadow:0 0 0 1px rgba(247,149,30,.6),0 0 46px -4px rgba(229,23,107,.72);animation:yr-pulse 1s linear infinite}
@keyframes yr-pulse{25%{transform:scale(1.1)}75%{transform:scale(.9)}}
.yr-social--ig .yr-social__icon{background:#F7951E}
.yr-social--li .yr-social__icon{background:#E5176B}
.yr-social h3{margin:0;padding:0;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:900;text-transform:uppercase;line-height:1;letter-spacing:normal;font-size:3.5vw;color:#F4F3EF}
.yr-social__handle{margin:0;padding:0 0 1vw;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:500;font-size:max(1.5vw,15px);line-height:1;color:#F4F3EF}
.yr-community__quote{margin:0;padding:1vw 0 0;text-align:center;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:500;line-height:1;font-size:max(2.2vw,16px);color:#F4F3EF}
@media(max-width:767px){
  .yr-social{flex-basis:100%}
  .yr-social h3{font-size:7vw}
  .yr-social__handle{font-size:4vw}
  .yr-community__quote{font-size:max(3vw,14px);line-height:1.3}
}

/* ---------- "Contact us" (partials/contact.html) ---------- */
.yr-contact{display:flex;flex-direction:column;gap:4vw;padding:4vw 4vw 8vw;font-family:Poppins,"Poppins Fallback",sans-serif;box-sizing:border-box}
.yr-contact *,.yr-contact *::before,.yr-contact *::after{box-sizing:border-box}
.yr-contact__title{margin:0;text-align:center;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:900;text-transform:uppercase;
  line-height:1;letter-spacing:normal;font-size:12vw}
.yr-contact__row{display:flex;gap:3vw;padding-top:1vw}
.yr-contact__card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px}
.yr-contact__head{padding:.5vw 0 .5vw 1.8vw;border-bottom:2px solid #F4F3EF}
.yr-contact__head h3{margin:0;padding:0;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:900;text-transform:uppercase;
  font-size:max(1.2vw,15px);line-height:1.3;letter-spacing:.02em;color:#F4F3EF}
.yr-contact__body{display:flex;flex-direction:column;gap:10px;padding:.8vw 1.8vw 1.8vw}
.yr-contact__body svg{align-self:flex-start;height:clamp(32px,3.2vw,48px);width:clamp(32px,3.2vw,48px);fill:#F4F3EF}
/* card titles / icons / text: a notch smaller than before (was 1.6vw titles, 5vw icons, 1.5vw text),
   same styling; max(): never below a readable size on tablets */
.yr-contact__body p{margin:0;padding:0;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:600;font-size:max(1.2vw,15px);line-height:1.35;color:#F4F3EF}
.yr-contact__body a{color:#FF579E;text-decoration:underline}
@media(max-width:767px){
  .yr-contact__row{flex-direction:column;gap:5vw}
  .yr-contact__head{padding:10px 16px 8px}
  .yr-contact__head h3{font-size:14px}
  .yr-contact__body{padding:12px 16px 16px;gap:8px}
  .yr-contact__body svg{height:36px;width:36px}
  .yr-contact__body p{font-size:17px}
}

/* ---------- footer (partials/footer.html) ---------- */
.yr-site-info{margin:0;background:#000;color:#fff;font-family:Poppins,"Poppins Fallback",sans-serif;font-weight:600;font-size:18px;line-height:1.3;padding:0 4vw 1vw}
@media(max-width:768px){.yr-site-info{font-size:19px}}
/* homepage theme back-to-top (wpkoi): orange box, dark arrow, 2px magenta
   border, lighter orange on hover; shown after 300px of scroll */
.yr-top{box-sizing:content-box;display:block;position:fixed;right:20px;bottom:20px;z-index:10;width:30px;padding:5px;border-radius:0;
  background:#F7951E;border:2px solid #E5176B;line-height:0;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out,background-color .3s ease-in-out}
.yr-top.is-visible{opacity:1;visibility:visible}
.yr-top:hover,.yr-top:focus{background:#FFB13D}
.yr-top svg{display:block;margin:0;width:100%;height:auto;fill:#0a0a0e}
.yr-top:hover svg,.yr-top:focus svg{fill:#0a0a0e}

/* ---------- "Have some fun! / Next Project" (partials/next-project.html) ----------
   Values copied from the homepage Elementor section e43630e (post-1940.css +
   index overrides): vw-based, 44vw columns, 50vh boxes, magenta countdown. */
.yr-np{box-sizing:border-box;position:relative;display:flex;flex-wrap:wrap;gap:2vw;padding:4vw;width:100%;font-family:"Poppins","Poppins Fallback",sans-serif}
.yr-np *,.yr-np *::before,.yr-np *::after{box-sizing:border-box}
.yr-np__fun,.yr-np__card{width:44vw;min-height:50vh;display:flex;flex-direction:column;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}
.yr-np__fun{justify-content:flex-end;gap:20px;padding:2vw 2vw 4vw;
  background:center/cover no-repeat} /* image: inline style from the dashboard */
.yr-np__tag{align-self:flex-start;padding:0 2vw;background:#F7951E;border:2px solid #000;transform:rotate(-5deg);
  font-size:3vw;font-weight:900;line-height:1.2em;text-transform:uppercase;color:#0a0a0e}
.yr-np__tag a{color:#0a0a0e;-webkit-text-fill-color:#0a0a0e;text-decoration:underline}
.yr-np__card{gap:1vw;padding:2vw;border:2px solid #000;border-radius:20px;
  background:center/cover no-repeat} /* image: inline style from the dashboard */
.yr-np__title{margin:0;padding:0 0 2vw;font-size:4vw;font-weight:900;line-height:1;text-transform:uppercase;
  background:linear-gradient(96deg,#F7951E 0%,#FF579E 52%,#E5176B 100%);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.yr-np__desc{margin:0 0 2vw;font-size:1.4vw;font-weight:400;line-height:1.6;color:#fff}
.yr-np__count{list-style:none;display:table;table-layout:fixed;width:calc(100% + 10px);margin:0 -5px;padding:0}
.yr-np__count li{display:table-cell;list-style:none;margin:0;padding:0;position:relative}
.yr-np__count li > div{margin:0 5px;padding:2vw 0;background:#E5176B;text-align:center}
.yr-np__digits,.yr-np__label{display:block;text-align:center;color:#F4F3EF;line-height:1}
.yr-np__digits{font-size:3vw;font-weight:900}
.yr-np__label{font-size:1.4vw;font-weight:400}
@media(max-width:1024px){.yr-np__fun,.yr-np__card{min-height:25vw}}
@media(max-width:767px){
  .yr-np__fun,.yr-np__card{width:100%}
  .yr-np__fun{min-height:25vh}
  .yr-np__card{padding:4vw}
  .yr-np__title{font-size:8vw}
  .yr-np__desc{font-size:3vw}
  .yr-np__digits{font-size:5vw}
  .yr-np__label{font-size:3vw}
}

/* ---------- buttons as <button> (same look as a.yr-btn) ---------- */
button.yr-btn{border:0;padding:0;margin:0;background:none;font:inherit;cursor:inherit;-webkit-appearance:none;appearance:none}
button.yr-btn:disabled{opacity:.6;pointer-events:none}

/* ---------- "Book a strategy call" lead popup (partials/cta.html, js/yr-lead.js) ---------- */
html.yr-modal-open{overflow:hidden}
/* own box model: the homepage's theme doesn't set border-box globally like the inner pages do */
.yr-modal,.yr-modal *,.yr-modal *::before,.yr-modal *::after,.yr-menu,.yr-menu *,.yr-menu *::before,.yr-menu *::after{box-sizing:border-box}
.yr-modal{width:min(640px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;background:transparent;color:#F4F3EF;overflow:visible}
.yr-modal::backdrop{background:rgba(6,6,9,.82)}
.yr-modal[open]{animation:yr-modal-in .28s ease-out}
@keyframes yr-modal-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.yr-modal__box{position:relative;max-height:calc(100dvh - 32px);overflow:auto;font-family:"Poppins","Poppins Fallback",sans-serif;
  background:#121118;border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:clamp(26px,4vw,44px);
  box-shadow:0 40px 90px -30px rgba(229,23,107,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.yr-modal__box::before{content:"";position:absolute;top:0;left:24px;right:24px;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#F7951E,#FF579E,#E5176B)}
.yr-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:10px;border:0;background:#E5176B;color:#fff;
  display:grid;place-items:center;cursor:inherit;transition:background .3s,transform .3s}
.yr-modal__close:hover{background:#FF579E;transform:rotate(-5deg)}
.yr-modal__close svg{width:20px;height:20px;fill:currentColor}
.yr-modal .yr-eyebrow{display:inline-block;font-weight:700;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#F7951E;margin-bottom:12px}
.yr-modal__title{margin:0;font-size:clamp(30px,4vw,46px);font-weight:900;text-transform:uppercase;line-height:1.02;color:#F4F3EF}
.yr-modal__intro{margin:12px 0 24px;font-size:15.5px;line-height:1.6;color:#b6b6c0}
form.yr-lead{display:grid;gap:16px} /* form only: .yr-lead is also the site's intro-paragraph class */
.yr-lead__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.yr-lead__row{grid-template-columns:1fr}}
.yr-lead__field{display:grid;gap:7px}
.yr-lead__field > span,.yr-lead__types legend{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F4F3EF}
.yr-lead input[type=text],.yr-lead input[type=tel],.yr-lead input[type=email]{width:100%;min-width:0;padding:13px 15px;border-radius:10px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#F4F3EF;font:500 16px/1.3 "Poppins",sans-serif;
  transition:border-color .25s,box-shadow .25s}
.yr-lead input::placeholder{color:#6f6f7b}
.yr-lead input:focus{outline:none;border-color:#F7951E;box-shadow:0 0 0 3px rgba(247,149,30,.22)}
.yr-lead input[aria-invalid=true]{border-color:#FF579E}
.yr-lead__types{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.yr-lead__types legend{margin-bottom:10px;padding:0}
.yr-lead__types label{position:relative}
.yr-lead__types input{position:absolute;opacity:0;width:1px;height:1px}
.yr-lead__types label span{display:inline-block;padding:10px 15px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#FF8FBE;background:rgba(229,23,107,.14);border:1px solid rgba(229,23,107,.35);transition:background .25s,color .25s,border-color .25s}
.yr-lead__types label:hover span{border-color:rgba(247,149,30,.6);color:#FFC06A}
.yr-lead__types input:checked + span{background:linear-gradient(96deg,#F7951E 0%,#E5176B 100%);border-color:transparent;color:#fff}
.yr-lead__types input:focus-visible + span{outline:3px solid #F7951E;outline-offset:2px}
.yr-lead__types .yr-lead__err{flex-basis:100%}
.yr-lead__err{display:block;font-style:normal;font-size:13px;color:#FF8FBE;min-height:0}
.yr-lead__err:empty{display:none}
.yr-lead__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.yr-lead__captcha{min-height:78px}
.yr-lead__captcha[hidden]{display:none}
.yr-lead__legal{margin:0;font-size:12px;line-height:1.5;color:#8d8d99}
.yr-lead__legal a{color:#b6b6c0;text-decoration:underline}
/* v3 badge replaced by the legal note above (allowed by Google's reCAPTCHA FAQ) */
.grecaptcha-badge{visibility:hidden !important}
.yr-lead__msg{margin:0;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.5;background:rgba(229,23,107,.12);border:1px solid rgba(229,23,107,.35);color:#FFC2DA}
.yr-lead__submit{justify-self:start}
.yr-lead__submit.is-busy .yr-btn__label{opacity:.6}
.yr-modal .yr-btn__label{font-size:18px}
@media(max-width:767px){.yr-modal .yr-btn__label{font-size:16px}}
@media(max-width:360px){.yr-lead__captcha{transform:scale(.88);transform-origin:0 0}}
.yr-lead__done .yr-btn{margin-top:4px}

/* ---------- performance: off-screen animation pausing (js/yr-components.js) ---------- */
.yr-offscreen,.yr-offscreen *,.yr-offscreen::before,.yr-offscreen::after,
.yr-offscreen *::before,.yr-offscreen *::after{animation-play-state:paused !important}

/* ---------- performance: no live backdrop blur ----------
   backdrop-filter re-blurred the moving 3D background under every glass card
   on every scroll frame (measured: 105 -> 118 fps while scrolling with it off).
   A dark underlay in place of the 4% white tint dims the lines behind the
   card the way the blur did, at no per-frame cost. */
html body .yr-svc-card, html body .yr-social, html body .yr-contact__card,
html body .yr-card, html body .yr-team__card, html body .yr-stat,
html body .elementor-1940 .elementor-element-6d279a56,
html body .elementor-1940 .elementor-element-3bb16018,
html body .elementor-1940 .elementor-element-1e0152f5,
html body .elementor-1940 .elementor-element-2e47b2a1,
html body .elementor-1940 .elementor-element-3b8db5c,
html body .elementor-1940 .elementor-element-201994f2,
html body .elementor-1940 .elementor-element-44b53602,
html body .elementor-1940 .elementor-element-5506ca6f,
html body .elementor-1940 .elementor-element-578a51f,
html body .elementor-1940 .elementor-element-8c37f55,
html body .elementor-1940 .elementor-element-1d228946,
html body .elementor-1940 .elementor-element-1d609476,
html body .elementor-1940 .elementor-element-39db9a36,
html body .elementor-1940 .elementor-element-39f8d0d5,
html body .elementor-1940 .elementor-element-72871a2{
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important}
html body .yr-svc-card, html body .yr-social, html body .yr-contact__card,
html body .yr-card, html body .yr-team__card, html body .yr-stat,
html body .elementor-1940 .elementor-element-6d279a56,
html body .elementor-1940 .elementor-element-3bb16018,
html body .elementor-1940 .elementor-element-1e0152f5,
html body .elementor-1940 .elementor-element-2e47b2a1,
html body .elementor-1940 .elementor-element-3b8db5c,
html body .elementor-1940 .elementor-element-201994f2,
html body .elementor-1940 .elementor-element-44b53602,
html body .elementor-1940 .elementor-element-5506ca6f,
html body .elementor-1940 .elementor-element-578a51f,
html body .elementor-1940 .elementor-element-8c37f55,
html body .elementor-1940 .elementor-element-72871a2{
  background-color:rgba(24,23,30,.62) !important}
/* brand-tinted panels keep their pink->orange gradient; the underlay sits beneath it */
html body .elementor-1940 .elementor-element-1d228946,
html body .elementor-1940 .elementor-element-1d609476,
html body .elementor-1940 .elementor-element-39db9a36,
html body .elementor-1940 .elementor-element-39f8d0d5{
  background-color:rgba(12,11,16,.55) !important}

/* ONE body-text rhythm on every page: same font, letter spacing and line spacing
   for all paragraphs and text blocks (headings, buttons, labels and menus keep their own). */
body :is(p, dd, blockquote, .yr-lead, .elementor-widget-text-editor):not(nav *, .yr-menu *, .yr-btn *, .yr-np__count *, .elementor-heading-title, .wpkoi-scrolling-content){
  font-family:"Poppins","Poppins Fallback",sans-serif !important;letter-spacing:normal !important;line-height:1.6 !important}
/* width-based body text never shrinks below the site's small body size (15.5px) on tablets and phones */
.yr-np__desc,.elementor-1940 .elementor-element.elementor-element-b9e0b60 .wpkoi-elements-adv-accordion .wpkoi-elements-accordion-list .wpkoi-elements-accordion-content{font-size:max(15.5px,1.4vw) !important}

/* ===== Page-to-page transition (desktop) =====
   The old page fades into the mobile menu's dark pink/orange-glow panel, then the next
   page fades in with a gentle zoom out of it. Only opacity and scale are animated, so the
   graphics card does all the work (no lag). Uses the browser's own cross-page View
   Transitions (Chrome, Edge, Safari; other browsers simply load the page). */
@media (min-width:1025px) and (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
::view-transition-group(root){animation-duration:.6s;
  background:radial-gradient(60% 45% at 85% 12%,rgba(229,23,107,.38),transparent 70%),radial-gradient(55% 40% at 10% 90%,rgba(247,149,30,.28),transparent 72%),#0a0a0e}
::view-transition-old(root){mix-blend-mode:normal;animation:yr-vt-out .28s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){mix-blend-mode:normal;animation:yr-vt-in .42s cubic-bezier(.16,1,.3,1) .16s both}
@keyframes yr-vt-out{to{opacity:0;transform:scale(.97)}}
@keyframes yr-vt-in{from{opacity:0;transform:scale(1.04)}}

/* Services (homepage): phones show the top 3 capabilities per engine, "Show all 6" opens the rest */
.yr-svc-more{display:none}
@media(max-width:767px){
  .yr-svc-list li:nth-child(n+4){display:none}
  .yr-svc-card.is-open .yr-svc-list li{display:flex}
  .yr-svc-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;padding:0 22px;border-radius:999px;
    border:1px solid rgba(247,149,30,.45);background:rgba(247,149,30,.12);color:#FFC06A;cursor:pointer;
    font:700 13px/1 Poppins,"Poppins Fallback",sans-serif;letter-spacing:.1em;text-transform:uppercase}
}

/* Tap targets (Fitts's law): everything tappable is at least 44px on phones.
   Small text links keep their look and get a larger invisible tap area instead. */
@media(max-width:767px){
  .yr-burger{min-width:44px;min-height:44px}
  .yr-header__logo{display:flex;align-items:center;min-height:44px}
  .yr-btn__state{min-height:44px;box-sizing:border-box}
  .wpkoi-button__instance,.wpkoi-button__state{min-height:44px;box-sizing:border-box}
  .yr-social__icon{min-width:44px;min-height:44px;box-sizing:border-box}
  .yr-np__tag a{position:relative}
  .yr-np__tag a::after{content:"";position:absolute;inset:-10px -6px}
}

/* ===== Button border glow: two light streaks travel around every button's edge =====
   A white-hot core with pink and orange tails (brand colours), running over the button's
   2px outline. Light by design: one <span class="yr-glow"> per button is masked to a 2px
   ring, and inside it a rotating conic gradient spins with transform only, so the
   graphics card animates it (no repaint, no JavaScript). Paused off-screen
   (js/yr-components.js) and still for reduced motion. */
.yr-glow{position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;padding:2px;overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.9;transition:opacity .3s ease}
.yr-glow::before{content:"";position:absolute;left:50%;top:50%;width:200%;aspect-ratio:1;
  background:conic-gradient(from 0deg,
    transparent 0deg 105deg,#E5176B 150deg,#FF579E 168deg,#FFF 178deg,transparent 181deg 285deg,
    #F7951E 330deg,#FFC06A 348deg,#FFF 358deg,transparent 360deg);
  transform:translate(-50%,-50%) rotate(0deg);animation:yr-glow-spin 4s linear infinite;will-change:transform}
@keyframes yr-glow-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.yr-btn:hover .yr-glow,.yr-btn:focus-visible .yr-glow,.wpkoi-button__instance:hover .yr-glow{opacity:1}
.yr-glow.yr-offscreen::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.yr-glow::before{animation:none;transform:translate(-50%,-50%) rotate(-40deg)}}
