
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}

/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */

/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
[data-accordion] [data-content] {overflow: hidden; max-height: 0;}
[data-accordion] {line-height: auto;}
[data-control],
[data-content] > * {padding: 5px;}
[data-content] [data-accordion] {border: 0; padding: 0;}
[data-accordion] [data-control] {position: relative;}
[data-accordion] > [data-control]:after {content: ""; position: absolute; right: 10px; top: 0; bottom: 0; color: #444; width: 24px; background: url('/wp-content/plugins/sp-faq/assets/images/down.png') center center no-repeat; background-size: 50%;}
[data-accordion].open > [data-control]:after {-webkit-transform: rotate(-180deg); -ms-transform: rotate(-180deg); transform: rotate(-180deg);}

.faq-title{cursor:pointer; padding:15px 30px 15px 15px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.faq-title h4{margin:0px !important; font-size:20px !important; line-height:22px !important; padding: 0 !important;}
.faq-accordion .faq-main{border:1px solid #d9d9d9; margin-bottom:15px; background:#f4f4f4; -webkit-transition: all 0.5s ease 0s; transition: all 0.5s ease 0s;}
.faq-accordion .faq-main.open{background:#fff;}
.faq-accordion .faq-main.open h4{color:#333}/* Slider */
.slick-slider
{
  position: relative;

  display: block;
  box-sizing: border-box;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list
{
  position: relative;

  display: block;
  overflow: hidden;

  margin: 0;
  padding: 0;
}
.slick-list:focus
{
  outline: none;
}
.slick-list.dragging
{
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track
{
  position: relative;
  top: 0;
  left: 0;

  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
  display: table;

  content: '';
}
.slick-track:after
{
  clear: both;
}
.slick-loading .slick-track
{
  visibility: hidden;
}

.slick-slide
{
  display: none;
  float: left;

  height: 100%;
  min-height: 1px;
}
[dir='rtl'] .slick-slide
{
  float: right;
}
.slick-slide img
{
  display: block;
}
.slick-slide.slick-loading img
{
  display: none;
}
.slick-slide.dragging img
{
  pointer-events: none;
}
.slick-initialized .slick-slide
{
  display: block;
}
.slick-loading .slick-slide
{
  visibility: hidden;
}
.slick-vertical .slick-slide
{
  display: block;

  height: auto;

  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
    rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
    rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@media (prefers-reduced-motion) {
  .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}/**
 * Navigation — Single-bar layout (rank-tracker style)
 * Full-width white bar: logos | centered links | right icons
 * Animated gradient top edge, bottom-line hover effects
 * Full-width background, content contained to max-width 1800px
 * Mobile: hamburger → absolute dropdown drawer at 620px
 */

/* ── Variables (scoped to nav) ── */
.eb-nav {
  --accent: #0f1624;
  --accent-dk: #1e40af;
  --accent-lt: rgba(37, 99, 235, .05);
  --accent-glow: rgba(37, 99, 235, .12);
  --neon: #2563eb;
  --neon2: #7c3aed;
  --neon3: #f43f5e;
  --border: #d4d7dd;
  --border-lt: #e8eaee;
  --bg: #eef0f4;
  --card: #fff;
  --nav-dark: #0a0e1a;
  --txt: #060c19;
  --txt2: #555d6e;
  --txt3: #0c1424;
  --green: #16a34a;
  --red: #ef4444;
}

/* ── Nav bar ── */
.eb-nav {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  background: var(--card) !important;
  height: 65px !important;
  padding: 0 max(1.2rem, calc((100% - 1700px) / 2)) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 24px rgba(0,0,0,.07) !important;
  position: relative !important;
  z-index: 100 !important;
  border-bottom: 1px solid var(--border-lt) !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

.eb-nav::after { display: none !important; }

/* Kill any legacy wrapper styling */
.eb-nav .container,
.eb-nav .header-wrap {
  all: unset !important;
  display: contents !important;
}

/* ═══════════════════════════════════
   LEFT: Game logos
   ═══════════════════════════════════ */
.nav-left {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-right: 18px;
  margin-right: 10px;
  height: 100%;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  position: relative;
  z-index: 2;
}

.nav-left .logo-item {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  transition: all .25s cubic-bezier(.16,1,.3,1);
  border: 1.5px solid var(--border-lt);
  background: var(--card);
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  clip-path: polygon(8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%, 0 8%);
  text-decoration: none;
  overflow: visible;
}

.nav-left .logo-item:hover {
  transform: translateY(-3px) scale(1.1);
  border-color: var(--accent);
  box-shadow: 0 6px 16px rgba(37,99,235,.12), 0 2px 6px rgba(0,0,0,.06);
  z-index: 10;
  background: var(--accent-lt);
}

.nav-left .logo-item:active {
  transform: translateY(0) scale(1);
}

.nav-left .logo-item img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

/* Tooltip */
.nav-left .logo-item .logo-label {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  font-family: 'avenirnextcyr-medium', 'Roboto', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  background: var(--nav-dark);
  border: 1px solid rgba(0,0,0,.15);
  padding: 5px 10px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  transition: all .2s;
  pointer-events: none;
  z-index: 200;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nav-left .logo-item .logo-label::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--nav-dark);
}

.nav-left .logo-item:hover .logo-label {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ═══════════════════════════════════
   CENTER: WordPress menu links
   ═══════════════════════════════════ */
.nav-center {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  justify-content: center;
  overflow: visible;
  position: relative;
  z-index: 2;
}

/* WordPress menu reset */
.nav-center .header-menu {
  all: unset !important;
  display: contents !important;
}

.nav-center .menu {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  height: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nav-center .menu > li {
  all: unset !important;
  display: inline-flex !important;
  height: 100% !important;
  list-style: none !important;
  position: relative !important;
}

/* Kill WP's ::before bullets */
.nav-center .menu > li::before {
  content: none !important;
  display: none !important;
}

/* ── Menu link styling ── */
.nav-center .menu > li > a {
  all: unset !important;
  font-family: avenirnextcyr-bold !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #191a1d !important;
  padding: 0 1rem !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: all .2s !important;
  position: relative !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* FA icon inside menu link */
.nav-center .menu > li > a i.fas,
.nav-center .menu > li > a i.far {
  font-size: 14px !important;
  opacity: .5 !important;
  transition: .2s !important;
  flex-shrink: 0 !important;
  color: #0364a9 !important;
}

/* Accent bottom line on hover */
.nav-center .menu > li > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 20% !important;
  right: 20% !important;
  height: 2.5px !important;
  background: var(--accent) !important;
  border-radius: 1px !important;
  transform: scaleX(0) !important;
  transition: transform .25s cubic-bezier(.16,1,.3,1) !important;
  box-shadow: 0 0 6px var(--accent-glow) !important;
}

.nav-center .menu > li > a:hover {
  color: var(--txt) !important;
  background: var(--bg) !important;
}

.nav-center .menu > li > a:hover::after {
  transform: scaleX(1) !important;
}

.nav-center .menu > li > a:hover i.fas,
.nav-center .menu > li > a:hover i.far {
  opacity: .7 !important;
  color: var(--accent) !important;
}

/* Active link */
.nav-center .menu > li.current-menu-item > a,
.nav-center .menu > li.current_page_item > a {
  color: var(--accent) !important;
}

.nav-center .menu > li.current-menu-item > a::after,
.nav-center .menu > li.current_page_item > a::after {
  transform: scaleX(1) !important;
}

.nav-center .menu > li.current-menu-item > a i.fas,
.nav-center .menu > li.current_page_item > a i.fas {
  opacity: .8 !important;
  color: var(--accent) !important;
}

/* ── HOT badge (added via JS to .hot-item) ── */
.nav-center .menu > li.hot-item > a {
  overflow: visible !important;
  padding-right: 1.2rem !important;
}

.nav-center .menu > li.hot-item > a .hot-badge {
  position: absolute;
  top: 3px;
  right: -4px;
  font-family: 'Roboto', monospace;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #fff;
  line-height: 1;
  padding: 3.5px 7px;
  border-radius: 4px;
  background: linear-gradient(135deg, #ff2d00, #ff6b00, #ffaa00, #ff6b00, #ff2d00);
  background-size: 400% 100%;
  animation: hotShift 2s ease infinite;
  box-shadow:
    0 0 12px rgba(255,69,0,.5),
    0 0 24px rgba(255,106,0,.2),
    0 3px 6px rgba(0,0,0,.2);
  z-index: 5;
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
  pointer-events: none;
}

/* Fire glow */
.nav-center .menu > li.hot-item > a .hot-badge::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 7px;
  background: linear-gradient(135deg, #ff2d00, #ff8c00, #ffaa00);
  background-size: 200% 100%;
  filter: blur(8px);
  opacity: 0;
  z-index: -1;
  animation: fireGlow 1s ease-in-out infinite alternate;
}

/* Ember particles */
.nav-center .menu > li.hot-item > a .hot-badge::after {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fbbf24;
  bottom: 100%;
  left: 50%;
  box-shadow:
    -6px 2px 0 1px #ff6b00,
    8px -2px 0 1px #fbbf24,
    -2px -6px 0 0 #ff8c00,
    5px 4px 0 1px #ff4500,
    10px -4px 0 0 #fbbf24,
    -8px -3px 0 1px #ff6b00,
    3px -8px 0 0 #ffaa00;
  animation: embers 1.6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes hotShift {
  0%, 100% { background-position: 0% 0; }
  50% { background-position: 100% 0; }
}

@keyframes fireGlow {
  0%   { opacity: .2; filter: blur(6px); }
  100% { opacity: .6; filter: blur(10px); }
}

@keyframes embers {
  0%   { transform: translateY(0) scale(1); opacity: .9; }
  40%  { transform: translateY(-12px) scale(.7); opacity: .5; }
  100% { transform: translateY(-22px) scale(0); opacity: 0; }
}


/* ── Submenu dropdown ── */
.nav-center .menu > li > ul {
  all: unset !important;
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--card) !important;
  border: 1px solid var(--border-lt) !important;
  border-radius: 8px !important;
  padding: 6px !important;
  min-width: 210px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.1), 0 0 0 1px var(--accent-glow) !important;
  z-index: 200 !important;
  list-style: none !important;
  flex-direction: column !important;
}

.nav-center .menu > li:hover > ul {
  display: flex !important;
}

.nav-center .menu > li > ul > li {
  all: unset !important;
  display: flex !important;
  list-style: none !important;
}

.nav-center .menu > li > ul > li::before {
  content: none !important;
  display: none !important;
}

.nav-center .menu > li > ul > li > a {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  font-family: avenirnextcyr-bold !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: var(--txt2) !important;
  text-decoration: none !important;
  transition: .15s !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* FA icons in submenu */
.nav-center .menu > li > ul > li > a i.fas,
.nav-center .menu > li > ul > li > a i.far {
  font-size: 13px !important;
  opacity: .5 !important;
  color: #0364a9 !important;
  flex-shrink: 0 !important;
}

.nav-center .menu > li > ul > li > a:hover {
  background: var(--bg) !important;
  color: var(--txt) !important;
}

.nav-center .menu > li > ul > li > a:hover i.fas,
.nav-center .menu > li > ul > li > a:hover i.far {
  opacity: .7 !important;
  color: var(--accent) !important;
}

/* ═══════════════════════════════════
   RIGHT: Icons + Login/Logout
   ═══════════════════════════════════ */
.nav-right {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 14px;
  margin-left: 10px;
  height: 100%;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  position: relative;
  z-index: 2;
}

.nav-icon-btn {
  width: 44px;
  height: 44px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--txt3);
  background: var(--card);
  border: 1.5px solid var(--border-lt);
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 3px 8px rgba(0,0,0,.04);
  transition: all .25s cubic-bezier(.16,1,.3,1);
  position: relative;
  text-decoration: none;
}

.nav-icon-btn svg {
  width: 20px;
  height: 20px;
}

.nav-icon-btn:hover {
  background: var(--accent-lt);
  color: var(--accent);
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(37,99,235,.12), 0 0 0 3px var(--accent-glow);
}

.nav-icon-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

/* Login button */
.nav-login-btn {
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  background: #054978;
  border: none;
  border-radius: 9px;
  height: 44px;
  padding: 0 24px;
  cursor: pointer;
  transition: all .25s cubic-bezier(.16,1,.3,1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(5,73,120,.3);
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(5,73,120,.45), 0 0 0 2px rgba(5,73,120,.2);
  background: #043a5e;
  color: #fff;
}

.nav-login-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(37,99,235,.3);
}

/* Shimmer */
.nav-login-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.25) 50%, transparent 80%);
  transform: skewX(-20deg);
  transition: left .5s;
  pointer-events: none;
}

.nav-login-btn:hover::after {
  left: 150%;
}

/* Logout link */
.nav-logout {
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--txt2);
  text-decoration: none;
  padding: 0 1.1rem;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  border-radius: 9px;
  transition: all .25s cubic-bezier(.16,1,.3,1);
  white-space: nowrap;
  background: var(--card);
  border: 1.5px solid var(--border-lt);
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 3px 8px rgba(0,0,0,.04);
}

.nav-logout svg {
  width: 17px;
  height: 17px;
  opacity: .4;
  flex-shrink: 0;
  transition: .2s;
}

.nav-logout:hover {
  color: var(--red);
  border-color: var(--red);
  background: rgba(239,68,68,.03);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(239,68,68,.1), 0 0 0 3px rgba(239,68,68,.08);
}

.nav-logout:hover svg {
  opacity: .8;
  color: var(--red);
}

/* ═══════════════════════════════════
   HAMBURGER (mobile only)
   ═══════════════════════════════════ */
.eb-nav .hamburger {
  display: none;
  height: 46px;
  border-radius: 6px;
  background: var(--bg);
  border: 1.5px solid var(--border-lt);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--txt3);
  transition: .15s;
  flex: 1 1 0;
  min-width: 48px;
  padding: 0;
  margin-left: 6px;
  clip-path: polygon(4% 0, 100% 0, 100% 96%, 96% 100%, 0 100%, 0 4%);
}

.eb-nav .hamburger:hover {
  background: var(--accent-lt);
  color: var(--accent);
  border-color: var(--accent-glow);
}

.eb-nav .hamburger:active {
  background: rgba(37,99,235,.08);
}

.eb-nav .hamburger svg {
  width: 24px;
  height: 24px;
}

/* ═══════════════════════════════════
   MOBILE DRAWER
   ═══════════════════════════════════ */
.mobile-drawer {
  display: none;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--card);
  border: 1px solid var(--border-lt);
  border-top: none;
  box-shadow: 0 12px 30px rgba(0,0,0,.1);
  max-height: 0;
  overflow-y: auto;
  transition: max-height .35s cubic-bezier(.16,1,.3,1);
  z-index: 200;
}

.mobile-drawer.open {
  max-height: 80vh;
}

/* WP menu in drawer */
.mobile-drawer .header-menu {
  all: unset !important;
  display: block !important;
}

.mobile-drawer .menu {
  all: unset !important;
  display: flex !important;
  flex-direction: column !important;
  padding: .5rem !important;
  gap: 1px !important;
  list-style: none !important;
  margin: 0 !important;
}

.mobile-drawer .menu li {
  all: unset !important;
  display: flex !important;
  flex-wrap: wrap !important;
  list-style: none !important;
}

.mobile-drawer .menu li::before {
  content: none !important;
  display: none !important;
}

.mobile-drawer .menu li a {
  all: unset !important;
  font-family: 'avenirnextcyr-medium', 'Roboto', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--txt2) !important;
  text-decoration: none !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: .15s !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.mobile-drawer .menu li a i.fas {
  font-size: 14px !important;
  opacity: .35 !important;
  flex-shrink: 0 !important;
}

.mobile-drawer .menu li a:active,
.mobile-drawer .menu li a:hover {
  background: var(--bg) !important;
  color: var(--txt) !important;
}

.mobile-drawer .menu li.current-menu-item > a,
.mobile-drawer .menu li.current_page_item > a {
  color: var(--accent) !important;
  background: var(--accent-lt) !important;
}

.mobile-drawer .menu li.current-menu-item > a i.fas {
  opacity: .8 !important;
  color: var(--accent) !important;
}

/* HOT badge in drawer */
.mobile-drawer .menu li.hot-item > a .hot-badge {
  font-family: 'Roboto', monospace;
  font-size: 8px;
  font-weight: 700;
  background: linear-gradient(135deg, #f43f5e, #ff6b00);
  color: #fff;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: auto;
}


/* Drawer bottom row */
.drawer-bottom {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-top: 1px solid var(--border-lt);
}

.drawer-bottom .nav-icon-btn {
  width: 44px;
  height: 44px;
}

.drawer-bottom .nav-logout {
  margin-left: auto;
}

/* ═══════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════ */
@media (max-width: 1200px) {
  .nav-center .menu > li > a { font-size: 13px !important; padding: 0 .65rem !important; }
  .nav-logout { font-size: 12px; padding: 0 .7rem; }
}

@media (max-width: 1050px) {
  .eb-nav { height: 56px !important; }
  .nav-center .menu > li > a { font-size: 12px !important; padding: 0 .5rem !important; letter-spacing: .04em !important; gap: 5px !important; }
  .nav-center .menu > li > a i.fas { font-size: 12px !important; }
  .nav-left .logo-item { width: 40px; height: 40px; }
  .nav-left .logo-item img { width: 28px; height: 28px; }
  .nav-icon-btn { width: 38px; height: 38px; }
  .nav-icon-btn svg { width: 17px; height: 17px; }
  .nav-logout { font-size: 11px; padding: 0 .5rem; height: 38px; gap: 4px; }
  .nav-logout svg { width: 14px; height: 14px; }
  .nav-login-btn { height: 38px; font-size: 11px; padding: 0 16px; }
  .hot-badge { font-size: 7px !important; padding: 2.5px 5px !important; }
}

@media (max-width: 900px) {
  .nav-center .menu > li > a i.fas { display: none !important; }
  .nav-center .menu > li > a { padding: 0 .4rem !important; font-size: 11px !important; gap: 3px !important; }
}

@media (max-width: 780px) {
  .nav-center .menu > li > a { font-size: 10.5px !important; padding: 0 .3rem !important; letter-spacing: .02em !important; }
  .nav-logout { display: none; }
  .nav-right { gap: 4px; padding-left: 8px; margin-left: 4px; }
}

@media (max-width: 620px) {
  .eb-nav { height: 54px !important; padding: 0 .6rem !important; }
  .nav-center, .nav-right { display: none !important; }
  .eb-nav .hamburger { display: flex; }
  .mobile-drawer { display: flex; }
  .nav-left { border-right: none; padding-right: 6px; margin-right: 0; }
  .nav-left .logo-item { width: 38px; height: 38px; }
  .nav-left .logo-item img { width: 26px; height: 26px; }
}

@media (max-width: 400px) {
  .nav-left .logo-item:nth-child(3) { display: none; }
}

/* ── Hide old header elements ── */
.eb-nav .header-logos,
.eb-nav .wrap-menu > .burger,
.eb-nav .log-link,
.eb-nav .push-button,
.eb-nav #profile-settings-button {
  display: none !important;
}

/* ═══════════════════════════════════
   LOGIN FORM — Order-preview card style
   ═══════════════════════════════════ */
.head-frm-bnr {
  float: none !important;
  position: relative !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 max(1.2rem, calc((100% - 1700px) / 2)) !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: flex-end !important;
  z-index: 99 !important;
  pointer-events: none !important;
}

.form-login-signup {
  position: absolute !important;
  top: 5px !important;
  right: max(1.2rem, calc((100% - 1700px) / 2)) !important;
  max-width: 380px !important;
  width: 100% !important;
  z-index: 99 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  animation: lf-slideIn .3s ease both !important;
}

@keyframes lf-slideIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: none; }
}

.form-login-signup .arrow {
  display: none !important;
}

/* Card shell */
.form-login-signup .login-signup-form {
  float: none !important;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid var(--border-lt, #e8eaee) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.1), 0 20px 48px rgba(5,73,120,.12) !important;
  overflow: hidden !important;
}

/* Tab header */
.form-login-signup .tab-group {
  background: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  list-style: none !important;
  border-bottom: 1px solid var(--border-lt, #e8eaee) !important;
  background: linear-gradient(135deg, rgba(37,99,235,.04), rgba(255,255,255,.9), rgba(37,99,235,.03)) !important;
}

.form-login-signup .tab-group li {
  list-style: none !important;
}

.form-login-signup .tab-group li a,
.form-login-signup .tab-group .active a {
  display: block !important;
  width: 100% !important;
  padding: 1.1rem 1.6rem !important;
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #0a0f1a !important;
  text-decoration: none !important;
  text-align: left !important;
  float: none !important;
  box-sizing: border-box !important;
  cursor: default !important;
}

/* Form fields section */
.form-login-signup .frm-fld-section {
  background: #fff !important;
  float: none !important;
  width: 100% !important;
  border: none !important;
  padding: 0 !important;
}

.form-login-signup .field-wrap {
  float: none !important;
  width: 100% !important;
  padding: 1rem 1.6rem !important;
  border-bottom: 1px solid var(--border-lt, #e8eaee) !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.form-login-signup .field-wrap:last-child {
  border-bottom: none !important;
}

.form-login-signup label {
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #555d6e !important;
  padding-bottom: 8px !important;
  display: block !important;
}

.form-login-signup input[type="text"],
.form-login-signup input[type="password"],
.form-login-signup input[type="email"] {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  font-family: 'avenirnextcyr-medium', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #0a0f1a !important;
  background: #f8f9fb !important;
  border: 1.5px solid #e8eaee !important;
  border-radius: 8px !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
  box-sizing: border-box !important;
  display: block !important;
}

.form-login-signup input:focus {
  border-color: #0364a9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(3,100,169,.1) !important;
}

/* reCAPTCHA injects a hidden <textarea name="g-recaptcha-response"> — keep it hidden */
.form-login-signup textarea[name="g-recaptcha-response"],
.form-login-signup .g-recaptcha textarea {
  display: none !important;
  position: absolute !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Password + forgot row */
.form-login-signup .login-pass {
  float: none !important;
  width: 100% !important;
  text-align: left !important;
  margin-bottom: 8px !important;
}

.form-login-signup .login-forg-pass {
  float: none !important;
  width: 100% !important;
  text-align: right !important;
}

.form-login-signup .login-forg-pass a,
.form-login-signup .forgot.tab-link a {
  font-family: 'avenirnextcyr-medium', system-ui, sans-serif !important;
  font-size: 12px !important;
  color: #0364a9 !important;
  text-decoration: none !important;
  padding: 0 !important;
  display: inline !important;
}

.form-login-signup .login-forg-pass a:hover,
.form-login-signup .forgot.tab-link a:hover {
  text-decoration: underline !important;
}

/* Checkbox */
.form-login-signup .logincheckbox {
  margin-bottom: 12px !important;
}

.form-login-signup .logincheckbox label {
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  color: #555d6e !important;
  padding-bottom: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.form-login-signup .logincheckbox input[type=checkbox] {
  display: none !important;
}

.form-login-signup .logincheckbox input[type=checkbox]+label:before {
  content: '' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  background: #f8f9fb !important;
  border: 1.5px solid #d4d7dd !important;
  border-radius: 4px !important;
  margin-right: 0 !important;
  transition: .15s !important;
}

.form-login-signup .logincheckbox input[type=checkbox]:checked+label:before {
  content: '\2714' !important;
  background: #0364a9 !important;
  border-color: #0364a9 !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 16px !important;
  text-align: center !important;
}

/* Submit button — matches order-preview CTA */
.form-login-signup .button {
  width: 100% !important;
  height: 48px !important;
  background: #0364a9 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .25s cubic-bezier(.16,1,.3,1) !important;
  box-shadow: 0 4px 14px rgba(3,100,169,.3) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.form-login-signup .button:hover {
  background: #024e85 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(3,100,169,.4) !important;
}

.form-login-signup .button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(3,100,169,.3) !important;
}

/* Bottom info section */
.form-login-signup .frm-btm-section {
  float: none !important;
  width: 100% !important;
  padding: 1rem 1.6rem !important;
  margin: 0 !important;
  background: linear-gradient(135deg, rgba(37,99,235,.03), #fff) !important;
  border: none !important;
  border-top: 1px solid var(--border-lt, #e8eaee) !important;
  border-radius: 0 0 10px 10px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.form-login-signup .frm-btm-section p {
  font-family: 'avenirnextcyr-medium', system-ui, sans-serif !important;
  font-size: 12px !important;
  color: #555d6e !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.form-login-signup .frm-btm-section strong {
  font-family: 'avenirnextcyr-bold', 'Roboto', system-ui, sans-serif !important;
  color: #0a0f1a !important;
  font-size: 13px !important;
  display: block !important;
  margin-bottom: 4px !important;
}

/* Status messages — shown while submitting or on error */
.form-login-signup .status {
  font-family: 'avenirnextcyr-medium', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: #0364a9 !important;
  padding: .7rem 1rem !important;
  margin: .25rem 1.6rem .75rem !important;
  background: #eff6ff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 8px !important;
  letter-spacing: .01em !important;
}
.form-login-signup .status.error,
.form-login-signup .status[data-type="error"] {
  color: #b91c1c !important;
  background: #fef2f2 !important;
  border-color: #fecaca !important;
}

/* ── Login form responsive ── */
@media (max-width: 620px) {
  .head-frm-bnr {
    padding: 0 .6rem !important;
  }

  .form-login-signup {
    right: .6rem !important;
    max-width: calc(100% - 1.2rem) !important;
    left: .6rem !important;
  }

  .form-login-signup .tab-group li a,
  .form-login-signup .tab-group .active a {
    font-size: 16px !important;
    padding: .9rem 1.2rem !important;
  }

  .form-login-signup .field-wrap {
    padding: .8rem 1.2rem !important;
  }

  .form-login-signup .frm-btm-section {
    padding: .8rem 1.2rem !important;
  }
}
/* ==================================================
   VALBOOSTING — F3 chrome re-skin (site-wide)
   The live .eb-nav header (parent boosting/nav.css) + cookie banner + footer are
   re-skinned to the "Cream compact" design: Valorant red #ff4655 on cream / ink
   #1b1f2a, fonts League (wordmark) / Barlow (nav links) / Oxanium (UI labels),
   and the nav links as plain text links (not boxed tiles). Enqueued site-wide and
   depends on 'boosting-nav' so it loads AFTER nav.css (needed for the !important
   mirrors to win). valboosting-only — EBL/OWB never load it. Fonts must be loaded
   for live (Barlow/Oxanium/League are self-hosted in f3-fonts.css). */
   /* ================================================== */

/* --- NAV: swap the blue token set to F3 rose, scoped to the header. nav.css
   declares these on :root and reads them via var(--neon)/var(--accent-*) in
   .eb-nav rules; redeclaring them on .eb-nav (a nearer ancestor than :root for
   every nav descendant) recolors all token-driven nav chrome with no
   !important and no risk of leaking past the header. --- */
.eb-nav {
  --neon: #ff4655;
  --neon3: #ff4655;
  --accent-dk: #c0303d;
  --accent-lt: rgba(255, 70, 85, 0.06);
  --accent-glow: rgba(255, 70, 85, 0.16);
}


/* --- COOKIE CONSENT banner (#bt-cb). The plugin ships its colors as an inline
   <style> printed in the footer (later in source order than this enqueued
   sheet), so each recolor needs !important to win. The inline rules are not
   !important, so this is a clean override; ids / JS / localStorage untouched.
   Navy #071535 + yellow #fdfb62 -> F3 dark-rose + rose. --- */
#bt-cb {
  background: #1c0e12 !important;
  border-color: rgba(255, 70, 85, 0.35) !important;
  /* Drop the plugin's 3px accent top border (the "double top border") for a uniform
     1px edge, and use the site font (Barlow) instead of the plugin's system stack. */
  border-top: 1px solid rgba(255, 70, 85, 0.35) !important;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}
#bt-cb .bt-cb-icon {
  background: rgba(255, 70, 85, 0.12) !important;
  border-color: rgba(255, 70, 85, 0.30) !important;
}
#bt-cb .bt-cb-icon svg { stroke: #ff4655 !important; }
#bt-cb .bt-cb-icon svg circle { fill: #ff4655 !important; }
#bt-cb .bt-cb-desc a { color: #ffea3d !important; }
#bt-cb-accept {
  background: #ff4655 !important;
  color: #ffffff !important;
  border-bottom-color: #c0303d !important;
}
#bt-cb-accept:hover { background: #c0303d !important; }

/* ============================================================
   F3 NAV RESTYLE (site-wide) — re-skin .eb-nav to the F3 home design.
   header.php now renders a "Val·Boosting" wordmark brand whose caret reveals a
   hover dropdown holding the three cross-site foxes (Val / LoL / OW), plus a
   .drawer-services row in the mobile drawer. This styles that markup + nudges
   the WP menu links, icon buttons and login/logout to the F3 look. The F3 token
   set is .vb-rd-scoped and does NOT reach the global header, so the rose / ink /
   line values + fonts (League / Barlow / Oxanium — enqueued site-wide in
   functions.php) are hardcoded here. Everything is scoped to .eb-nav (or
   .mobile-drawer) and !important to beat nav.css's own !important rules, since
   this sheet loads after nav.css (depends 'boosting-nav'). No JS / contract /
   menu-source change — the WP menu, login dropdown trigger, logout and
   hamburger all keep working.
   ============================================================ */

/* Align the nav content box with the PAGE content box (max-width 1584 + 28.8px
   gutters, same as .cc-inner / .calc-layout) so the brand sits directly above the
   hero text's left edge and Login above the order-panel right edge. nav.css used a
   1700px box (≈87px wider each side) → the menu didn't line up with the content. */
.eb-nav { padding: 0 max(31.68px, calc((100% - 1742.4px) / 2 + 31.68px)) !important; }

/* brand cluster replaces the old 3-fox strip → drop the divider, keep a gap */
.eb-nav .nav-left {
  border-right: none !important;
  padding-right: 0 !important;
  margin-right: 19.8px !important;
  gap: 0 !important;
  z-index: 50 !important; /* lift above .nav-center (z-2) so the dropdown paints over it */
}
/* left-align the WP menu (like the F3 design) so it never centre-overflows back
   under the wide wordmark; overflow at tight widths spills toward the actions. */
.eb-nav .nav-center { justify-content: center !important; }

/* --- Wordmark brand --- */
.eb-nav .nav-brand-wrap { position: relative; display: inline-flex; align-items: center; }
.eb-nav .nav-brand {
  display: inline-flex; align-items: center; gap: 11.88px;
  font-family: 'League', 'Oswald', sans-serif !important;
  font-weight: 700; font-size: 26.4px; letter-spacing: -0.005em;
  color: #1b1f2a; text-decoration: none; line-height: 1;
}
.eb-nav .nav-brand-mark {
  width: 41.8px; height: 41.8px; border-radius: 6.6px;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.eb-nav .nav-brand-mark.has-fox {
  background: linear-gradient(135deg, #fbf8f1 0%, #efebe1 100%);
  box-shadow: 0 3.3px 9.6px -4.8px rgba(27, 31, 42, 0.22);
  border: 1px solid #e4ded2;
  padding: 0.9px;
}
.eb-nav .nav-brand-mark .brand-mark-fox { width: 40px; height: 40px; object-fit: contain; }
.eb-nav .nav-brand .dot { color: #ff4655; margin: 0 1.32px; }
.eb-nav .nav-brand small {
  display: block;
  font-family: 'Oxanium', sans-serif !important;
  font-size: 9.9px; font-weight: 500; letter-spacing: 0.1em;
  text-transform: uppercase; color: #8a8578; margin-top: 3.3px;
}

/* --- Caret + service-switcher dropdown --- */
.eb-nav .nav-brand-caret {
  display: inline-flex; align-items: center; gap: 6.6px;
  margin-left: 10.56px; padding: 6.6px 10.56px;
  background: #efebe1; border: 1px solid #e7e1d6; border-radius: 8.8px; cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.eb-nav .nav-brand-caret .caret-grid { width: 17.6px; height: 17.6px; color: #ff4655; }
.eb-nav .nav-brand-caret .caret-chev { width: 14.3px; height: 14.3px; color: #8a8578; transition: transform .24s cubic-bezier(.16,1,.3,1); }
.eb-nav .nav-brand-wrap:hover .nav-brand-caret { background: #fff; border-color: #f5c4ca; box-shadow: 0 3.6px 12px -4.8px rgba(255,70,85,.3); }
.eb-nav .nav-brand-wrap:hover .nav-brand-caret .caret-chev { transform: rotate(180deg); color: #ff4655; }
.eb-nav .brand-dropdown {
  position: absolute; top: calc(100% + 13.2px); left: 0; z-index: 120;
  width: 352px; padding: 9.9px;
  background: #fff; border: 1px solid #e7e1d6; border-radius: 17.6px;
  box-shadow: 0 2.4px 4.8px rgba(27,31,42,.05), 0 28.8px 72px rgba(27,31,42,.10);
  opacity: 0; visibility: hidden; transform: translateY(-9.9px);
  transition: opacity .2s ease, transform .22s cubic-bezier(.16,1,.3,1), visibility .2s;
}
.eb-nav .brand-dropdown::before { content: ''; position: absolute; top: -17.6px; left: 0; right: 0; height: 17.6px; }
.eb-nav .nav-brand-wrap:hover .brand-dropdown,
.eb-nav .nav-brand-wrap:focus-within .brand-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.eb-nav .brand-dropdown-label {
  display: block; font-family: 'Oxanium', sans-serif !important;
  font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: #8a8578; padding: 8.8px 13.2px 6.6px;
}
.eb-nav .brand-service { display: flex; align-items: center; gap: 14.3px; padding: 12.1px 13.2px; border-radius: 11px; text-decoration: none; transition: background .16s ease; }
.eb-nav .brand-service:hover { background: #fdecee; }
.eb-nav .brand-service.is-current { background: #efebe1; }
.eb-nav .brand-service-fox { width: 37.4px; height: 39.6px; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0 2.64px 3.96px rgba(8,31,66,.18)); }
.eb-nav .brand-service-text { display: flex; flex-direction: column; gap: 1.1px; }
.eb-nav .brand-service-text b { font-family: 'League', 'Oswald', sans-serif; font-size: 18.7px; font-weight: 700; color: #1b1f2a; line-height: 1.1; }
.eb-nav .brand-service-text small { font-family: 'Oxanium', sans-serif; font-size: 11px; letter-spacing: 0.04em; color: #8a8578; }

/* FAQ → VIP Price dropdown (desktop nav-center only; the mobile drawer keeps both
   links flat). Mirrors the .brand-dropdown reveal: a white card that fades in on
   hover/focus of the FAQ trigger. Items reuse .nav-link, so they inherit this
   site's hover colours automatically (no per-site colour duplication here). */
.eb-nav .nav-dd-wrap { position: relative; display: inline-flex; align-items: center; }
.eb-nav .nav-dd-wrap > .nav-link .nav-dd-caret { width: 13.2px; height: 13.2px; margin-left: -2.64px; transition: transform .22s ease; }
.eb-nav .nav-dd-wrap:hover > .nav-link .nav-dd-caret,
.eb-nav .nav-dd-wrap:focus-within > .nav-link .nav-dd-caret { transform: rotate(180deg); }
.eb-nav .nav-dd {
  position: absolute; top: calc(100% + 6.6px); left: 0; z-index: 120;
  min-width: 211.2px; padding: 6.6px;
  display: flex; flex-direction: column; gap: 2.64px;
  background: #fff; border: 1px solid #e7e1d6; border-radius: 13.2px;
  box-shadow: 0 2.4px 4.8px rgba(27,31,42,.05), 0 28.8px 72px rgba(27,31,42,.10);
  opacity: 0; visibility: hidden; transform: translateY(-8.8px);
  transition: opacity .2s ease, transform .22s cubic-bezier(.16,1,.3,1), visibility .2s;
}
.eb-nav .nav-dd::before { content: ''; position: absolute; top: -11px; left: 0; right: 0; height: 11px; }
.eb-nav .nav-dd-wrap:hover .nav-dd,
.eb-nav .nav-dd-wrap:focus-within .nav-dd { opacity: 1; visibility: visible; transform: translateY(0); }
/* box-sizing:border-box so the link's 17px side padding stays INSIDE the 100%
   width (= the card's content box). Without it the content-box link is card-width
   PLUS padding, so its hover fill spills past the dropdown's right edge. */
.eb-nav .nav-dd .nav-link { box-sizing: border-box; width: 100%; white-space: nowrap; }

/* ============================================================
   F3 NAV MENU — single source (desktop bar + mobile drawer), styled like the BOOST
   PAGE PRODUCT BUTTONS (.prod-tab in boost-page.css): each link is a card with a
   rounded ICON-BOX + Barlow link label; the CURRENT page is the rose-gradient
   "active" fill (like the selected boost tab) with a white icon-box; the HOT badge
   sits at the top-right corner (like .prod-tab-hot). header.php emits the design's
   OWN .nav-links/.nav-link/.nav-hot in BOTH menus (NOT the WP-menu `.menu > li > a`)
   so nav.css's menu rules + its `.hot-badge` match nothing here — this block is the
   ONLY place the links are styled (no `!important` war). Tokens hardcoded (the
   .vb-rd set doesn't reach the global chrome): royal #ff4655/#c0303d, royal-soft
   #f5c4ca, royal-tint #fdecee, line #e7e1d6, ink #1b1f2a, bg-soft #efebe1, orange
   #ff7a2a/#d65a10, Rajdhani. To restyle the bar, edit HERE — nowhere else.
   ============================================================ */
.eb-nav .nav-links { display: flex; align-items: center; }
.eb-nav .nav-center .nav-links { gap: 7.92px; height: 100%; }
.eb-nav .nav-link {
  position: relative;
  display: inline-flex; align-items: center; gap: 7.92px;
  padding: 11.88px 17.16px;
  border: 1.2px solid transparent;
  border-radius: 9.24px;
  background: transparent;
  font-family: 'Barlow', sans-serif;
  font-weight: 600; font-size: 17.16px; letter-spacing: 0;
  color: #1b1f2a; text-decoration: none; line-height: 1; white-space: nowrap;
  transition: background 200ms ease, color 200ms ease;
}
/* nav icons: plain inline outline SVG (the design's icon set), no boxed tile.
   currentColor drives stroke/fill; the legacy <i> fallback keeps font-size sizing. */
.eb-nav .nav-link i, .eb-nav .nav-link svg {
  flex-shrink: 0;
  width: 19.8px; height: 19.8px; font-size: 16.5px;
  color: #1b1f2a; opacity: 0.55;
  transition: color 200ms ease, opacity 200ms ease;
}
.eb-nav .nav-link:hover { background: #fdecee; color: #ff4655; }
.eb-nav .nav-link:hover i, .eb-nav .nav-link:hover svg { color: #ff4655; opacity: 1; }
.eb-nav .nav-link.is-current { background: #fdecee; color: #ff4655; }
.eb-nav .nav-link.is-current i, .eb-nav .nav-link.is-current svg { color: #ff4655; opacity: 1; }
/* Mobile drawer: the SAME buttons, full-width vertical rows. */
.eb-nav .mobile-drawer .nav-links { flex-direction: column; align-items: stretch; gap: 7.92px; width: 100%; }
.eb-nav .mobile-drawer .nav-link { font-size: 19.8px; padding: 7.92px 13.2px 7.92px 7.92px; }

/* --- Right: icon buttons / login / logout / hamburger → F3 --- */
/* drop nav.css's vertical divider before the action cluster (the design has none) */
.eb-nav .nav-right { border-left: none !important; padding-left: 0 !important; }
.eb-nav .nav-icon-btn {
  width: 47.3px !important; height: 47.3px !important;
  border-radius: 6.6px !important; border: 1px solid #e7e1d6 !important;
  background: #fff !important; color: #4a5563 !important; box-shadow: none !important;
}
.eb-nav .nav-icon-btn:hover { background: #fdecee !important; border-color: #f5c4ca !important; color: #ff4655 !important; transform: none !important; box-shadow: none !important; }
.eb-nav .nav-login-btn {
  background: #ff4655 !important; border-radius: 3.96px !important; padding: 0 21.12px !important;
  font-family: 'Oxanium', sans-serif !important; font-weight: 600 !important; font-size: 14.52px !important; letter-spacing: 0.09em !important;
  box-shadow: 0 4.8px 12px -4.8px rgba(255,70,85,.5) !important;
}
.eb-nav .nav-login-btn:hover { background: #1b1f2a !important; box-shadow: 0 6px 16px -4.8px rgba(27,31,42,.5) !important; }
.eb-nav .nav-logout {
  border-radius: 6.6px !important; border: 1px solid #e7e1d6 !important; box-shadow: none !important;
  font-family: 'Oxanium', sans-serif !important; color: #4a5563 !important;
}
.eb-nav .nav-logout:hover { color: #ff4655 !important; border-color: #f5c4ca !important; background: #fdecee !important; transform: none !important; box-shadow: none !important; }
.eb-nav .nav-logout:hover svg { color: #ff4655 !important; }
.eb-nav .hamburger {
  border-radius: 6.6px !important; background: #fff !important;
  border: 1px solid #e7e1d6 !important; color: #4a5563 !important; clip-path: none !important;
}
.eb-nav .hamburger:hover { background: #fdecee !important; border-color: #f5c4ca !important; color: #ff4655 !important; }

/* --- Mobile drawer: cross-site services row --- */
.mobile-drawer .drawer-services { display: flex; gap: 8.8px; padding: 13.2px 15.4px; border-top: 1px solid #eef1f4; }
.mobile-drawer .drawer-service {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6.6px;
  padding: 11px 6.6px; border: 1px solid #e7e1d6; border-radius: 11px; text-decoration: none;
  color: #4a5563; font-family: 'Oxanium', sans-serif; font-size: 11.55px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.mobile-drawer .drawer-service img { width: 30.8px; height: 30.8px; object-fit: contain; }
.mobile-drawer .drawer-service.is-current { border-color: #f5c4ca; background: #fdecee; color: #ff4655; }
.mobile-drawer .drawer-service:hover { border-color: #f5c4ca; color: #ff4655; }

/* --- Responsive. The wide wordmark + the full WP menu + the action cluster only
   coexist cleanly on real desktops. Below 1200px, rather than cram/overflow the
   bar (nav.css shrinks the menu font down to 620px, but a long menu still spills),
   switch to the hamburger + drawer EARLY — the drawer already carries the full
   menu plus the .drawer-services cross-site links, so nothing is lost. First drop
   the tagline ≤1300px to give the menu more room before the switch. --- */
@media (max-width: 1300px) {
  .eb-nav .nav-brand small { display: none !important; }
  .eb-nav .nav-brand { font-size: 24.2px !important; }
}
@media (max-width: 1200px) {
  .eb-nav .nav-center, .eb-nav .nav-right { display: none !important; }
  .eb-nav .hamburger { display: flex !important; }
  /* Keep the caret grid icon as a visible affordance that tapping the site name opens
     the menu (header.php wires .nav-brand-wrap → the mobile drawer on tap). The desktop
     hover cross-site dropdown never fires on touch, so this is now a pure "open menu"
     cue, not the hover trigger. */
  .eb-nav .nav-brand-caret { display: inline-flex !important; }
  .eb-nav .nav-brand-caret .caret-chev { display: none; }
  .eb-nav .nav-brand-wrap { cursor: pointer; }
  .eb-nav .nav-brand-wrap .brand-dropdown { display: none !important; } /* touch uses the drawer, not the hover panel */
  .mobile-drawer { display: flex !important; }
}
@media (max-width: 620px) {
  .eb-nav .nav-brand { font-size: 22px !important; }
  .eb-nav .nav-brand-mark { width: 37.4px !important; height: 37.4px !important; }
  .eb-nav .nav-brand-mark .brand-mark-fox { width: 35.6px; height: 35.6px; }
}

/* ============================================================
   F3 FOOTER (site-wide) — footer.php now renders <footer class="site-footer">
   with the F3 design: a Secure-payments chip row, the Val·Boosting brand block,
   four FIXED link columns and the legal bottom bar (replacing the parent
   boosting widget-grid footer + .soc-icon row). This is the site-wide port of
   home-page.css's .site-footer block, with the .vb-rd tokens resolved to literals
   (gold #ffea3d, navy #1b1f2a, rose #ff4655; League / Barlow / Oxanium — all
   enqueued site-wide in functions.php). Loads after main.css (dep 'boosting-nav');
   !important + .site-footer scoping beat main.css's parent `.footer-col` / `footer`
   rules + f3-base's old-footer rules on every page (main.css still loads on the
   non-F3 pages), and survive LiteSpeed's CSS-combine reordering. valboosting-only
   — EBL/OWB never load this. */
.site-footer {
  background: #070c12 !important;
  border-top: 3.6px solid #ffea3d !important;
  color: rgba(255,255,255,0.75) !important;
  font-family: 'Barlow', system-ui, sans-serif !important;
  padding: 40px 30px !important; /* equal top/bottom (user request 2026-07-09) */
}
/* Secure-payments row */
.site-footer .footer-pay {
  max-width: 1742.4px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  gap: 31.68px; flex-wrap: wrap;
  padding: 0 0 29.04px; border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
.site-footer .footer-pay-label {
  font-family: 'Oxanium', sans-serif; font-size: 12.54px;
  letter-spacing: 0.099em; text-transform: uppercase; color: rgba(255,255,255,0.5);
  flex-shrink: 0;
}
/* white, chip-less payment marks on the near-black footer */
.site-footer .pay-chips { display: flex; align-items: center; gap: 26.4px; flex-wrap: wrap; }
.site-footer .pay-chip { display: inline-flex; align-items: center; }
.site-footer .pay-chip img {
  height: 23.76px; width: auto; max-width: 85.8px; object-fit: contain; display: block;
  filter: brightness(0) invert(1); opacity: 0.9;
}
/* Brand + columns grid */
.site-footer .footer-grid {
  max-width: 1742.4px; margin: 0 auto;
  display: grid !important; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 47.52px; padding: 52.8px 0;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
/* Neutralise the parent main.css / f3-base `.footer-col` (border / padding / width
   / float) so the new grid columns stay clean on every page. */
.site-footer .footer-col {
  display: flex !important; flex-direction: column;
  width: auto !important; float: none !important;
  border: 0 !important; padding: 0 !important; margin: 0 !important;
}
/* Brand cluster (mirrors the .eb-nav wordmark, recoloured for the dark footer) */
.site-footer .footer-brand .nav-brand {
  display: inline-flex; align-items: center; gap: 11.88px;
  font-family: 'League', 'Oswald', sans-serif; font-weight: 700; font-size: 24.2px;
  letter-spacing: -0.005em; color: #fff !important; text-decoration: none; line-height: 1;
  margin-bottom: 18.48px;
}
.site-footer .nav-brand-mark {
  width: 41.8px; height: 41.8px; border-radius: 6.6px;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.site-footer .nav-brand-mark.has-fox {
  background: linear-gradient(135deg, #fbf8f1 0%, #efebe1 100%);
  box-shadow: 0 4.8px 12px -4.8px rgba(0,0,0,0.35); border: 1px solid #e4ded2; padding: 0.9px;
}
.site-footer .nav-brand-mark .brand-mark-fox { width: 40px; height: 40px; object-fit: contain; }
.site-footer .nav-brand .dot { color: #ff4655; margin: 0 1.32px; }
.site-footer .nav-brand small {
  display: block; font-family: 'Oxanium', sans-serif;
  font-size: 9.9px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.45); margin-top: 3.3px;
}
.site-footer .footer-brand p {
  font-size: 17.16px; line-height: 1.7; color: rgba(255,255,255,0.55);
  max-width: 369.6px; margin: 0 0 23.76px;
}
.site-footer .footer-social { display: flex; gap: 10.56px; }
.site-footer .footer-social a {
  width: 42.24px; height: 42.24px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.2px solid rgba(255,255,255,0.15); border-radius: 3.96px;
  color: rgba(255,255,255,0.7); font-size: 17.6px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.site-footer .footer-social a:hover { background: #ffea3d; border-color: #ffea3d; color: #1b1f2a; }
/* Column headings + links */
.site-footer .footer-col h4 {
  font-family: 'Oxanium', sans-serif !important; font-size: 13.2px !important; font-weight: 600 !important;
  letter-spacing: 0.111em !important; text-transform: uppercase !important; color: #ffea3d !important;
  margin: 0 0 21.12px !important;
}
.site-footer .footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11.88px; }
.site-footer .footer-col li { margin: 0; }
.site-footer .footer-col a { font-size: 17.16px !important; color: rgba(255,255,255,0.65) !important; text-decoration: none; transition: color .18s ease; }
.site-footer .footer-col a:hover { color: #ffffff !important; }
/* Legal bottom bar */
.site-footer .footer-bottom {
  max-width: 1742.4px; margin: 0 auto;
  /* full shorthand (not just padding-top) so main.css's `.footer-bottom{padding:20px 0}`
     can't leak a 20px bottom on non-F3 pages where main.css still loads. */
  padding: 29.04px 0 0 !important;
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 21.12px; flex-wrap: wrap;
  font-size: 15.18px; color: rgba(255,255,255,0.4); line-height: 1.7;
  border-top: 0 !important; background: transparent !important;
}
.site-footer .footer-bottom p { margin: 0; color: rgba(255,255,255,0.42) !important; }
.site-footer .footer-disclaimer { max-width: 686.4px; }
@media (max-width: 1200px) { .site-footer .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 672px)  { .site-footer .footer-grid { grid-template-columns: 1fr; } }

/* The brand-dropdown is a desktop hover menu kept in the DOM at full width; cap it
   so it can never widen the page (it caused a small horizontal overflow on phones
   after the global +10% scale). */
.brand-dropdown { max-width: calc(100vw - 32px); }
/* Drop the brand tagline + desktop service-switcher caret on phones — at +10% the
   wordmark + caret + hamburger no longer fit a ~390px bar (the caret alone is ~69px,
   and mobile switches service via the drawer's .drawer-services instead). */
@media (max-width: 480px) { .nav-brand-name small, .nav-brand-caret { display: none; } }
/* Final safety net: clip any residual few-px horizontal overflow the global +10%
   leaves on the densest phone layouts (a dropdown option edge, a hover menu). The
   F3 side panels are stacked (not sticky) at this width, so this can't trap them. */
@media (max-width: 480px) { html, body { overflow-x: hidden !important; } }

/* round 3 — the nav bar carried ~31.68px side padding; on a phone that squeezed
   the bar and the absolute hamburger drawer (left:0/right:0 of the bar's padding
   box) inherited it, so the drawer + its right edge sat tight. Halve the bar
   padding on phones and hard-bound the drawer to the viewport so its right side
   can never clip. */
@media (max-width: 1200px) {
  .eb-nav .mobile-drawer { left: 0 !important; right: 0 !important; max-width: 100vw !important; box-sizing: border-box !important; }
  .eb-nav .mobile-drawer .nav-link { white-space: normal; }
}
@media (max-width: 480px) {
  .eb-nav { padding-left: 15.84px !important; padding-right: 15.84px !important; }
}
/* ==================================================
   VALBOOSTING — SELF-HOSTED F3 FONTS (latin woff2)
   Replaces the Google Fonts css2 links. On live, LiteSpeed's "Load Google Fonts
   Asynchronously" rewrote those css2 links into a legacy WebFont.load call that
   couldn't parse them, so Rajdhani / Geist never loaded and the F3
   display headings + body + mono UI fell back to a system sans site-wide (the F1
   bug). Serving the fonts from the theme means there is no external request for
   LiteSpeed to rewrite — they always load. Latin subset only (English site; the
   € sign is in this subset). font-display:swap. Weights match the prior enqueue:
   Rajdhani 400/500/600/700, Geist 400/500/600/700.

   The src URLs are ABSOLUTE (/wp-content/themes/valboosting/assets/fonts/…), NOT
   relative (../fonts/): LiteSpeed's CSS-combine moves this sheet into a hashed
   /wp-content/litespeed/css/<hash>.css file, and a relative ../fonts/ URL would
   then resolve against THAT path and 404 — so the fonts silently fell back even
   after self-hosting. Absolute URLs survive the combine unchanged.
   ================================================== */
@font-face{  font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-400.woff2') format('woff2');  }
@font-face{  font-family: 'Rajdhani'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-500.woff2') format('woff2');  }
@font-face{  font-family: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-600.woff2') format('woff2');  }
@font-face{  font-family: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/rajdhani-700.woff2') format('woff2');  }

@font-face{  font-family: 'Geist'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-400.woff2') format('woff2');  }
@font-face{  font-family: 'Geist'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-500.woff2') format('woff2');  }
@font-face{  font-family: 'Geist'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-600.woff2') format('woff2');  }
@font-face{  font-family: 'Geist'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geist-700.woff2') format('woff2');  }


/* League — custom display face (handoff). One master mapped to both display
   weights. Absolute URL (combine-safe). Barlow (body) + Oxanium (UI) load from
   Google Fonts in the page <head>; they have no self-hosted faces here yet. */
@font-face{  font-family: 'League'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype');  }
@font-face{  font-family: 'League'; font-style: normal; font-weight: 800; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype');  }

/* Barlow (body) + Oxanium (UI) — self-hosted latin woff2 for the "Cream compact"
   re-skin. Without these, the .vb-rd --font-body / --font-ui tokens point at fonts
   that aren't loaded on live (LiteSpeed mangles Google css2 links — see top), so
   body + UI text fell back to system sans. Absolute URLs (combine-safe). Barlow is
   static (one file per weight); Oxanium is a variable face (one file spans 500-700). */
@font-face{  font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-400.woff2') format('woff2');  }
@font-face{  font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-500.woff2') format('woff2');  }
@font-face{  font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-600.woff2') format('woff2');  }
@font-face{  font-family: 'Barlow'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/barlow-700.woff2') format('woff2');  }
@font-face{  font-family: 'Oxanium'; font-style: normal; font-weight: 500 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/oxanium.woff2') format('woff2');  }
/* ==================================================
   F3 design tokens — LIVE base for the redesigned pages
   --------------------------------------------------
   The preview builds get these custom properties from home-page.css,
   whose :root block ships alongside a global `* { margin:0; padding:0 }`
   reset and an `html, body { ... }` override. Loading that whole file on
   a LIVE page would clobber the existing .eb-nav header / footer chrome.

   The token block is mirrored here on its own, and — critically — scoped
   to `.vb-rd`, the class added to the F3 SECTION (e.g. .auth-page), NOT to
   <body>. That matters because nav.css declares its OWN :root tokens of the
   same name for the live header:
       nav.css  :root { --accent:#0f1624; --bg:#eef0f4; --red:#ef4444; }
   If these F3 values were defined on body.vb-rd they would be inherited by
   the .eb-nav header (a body descendant) and repaint the chrome on the
   login page. Defining them on the redesigned section instead keeps them
   confined to F3 content; the header/footer sit outside .vb-rd and keep
   nav.css's values.

   Reused by every F3 page wired into the live site: each override section
   carries `class="... vb-rd"`. Keep in sync with the :root block in
   assets/css/home-page.css.
   ================================================== */
.vb-rd {
  --font-display: 'League', 'Oswald', 'Rajdhani', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-ui: 'Oxanium', sans-serif;

  --royal: #ff4655;
  --royal-deep: #c0303d;
  --royal-tint: #fdecee;
  --royal-soft: #f5c4ca;

  --navy: #1b1f2a;
  --navy-deep: #11141c;
  --gold: #ffea3d;
  --gold-deep: #f5d400;
  --green: #22b358;
  --red: #e64a3a;
  --purple: #7b5cd1;
  --orange: #ff7a2a;
  --orange-deep: #d65a10;

  --bg: #ffffff;
  --bg-soft: #f5f6f8;
  --bg-deep: #eceef1;
  --ink: #1b1f2a;
  --ink-soft: #445870;
  --ink-muted: #8a8578;
  --line: #e6e8ec;
  --line-soft: #f0f1f3;

  --accent: #ff4655;
  --bar: #ff4655;
  --r: 7.92px;
  --tracking: 0.62;

  --shadow-soft: 0 1.2px 2.4px rgba(27, 31, 42, 0.05), 0 9.6px 28.8px rgba(27, 31, 42, 0.07);
  --shadow-pop: 0 2.4px 4.8px rgba(27, 31, 42, 0.05), 0 28.8px 72px rgba(27, 31, 42, 0.10);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* status colours — used by the auth card's message line; the preview
     pulls these from order-page.css, mirrored here so the token base is
     self-contained. */
  --status: #22b358;
  --status-soft: #e4f7ec;
}

/* ---- .vb-rd BASE (font / colour / anchor reset) -----------------------
   home-page.css applies `.vb-rd { font-family:var(--font-body); color:var(--ink) }`
   + `.vb-rd a { color:inherit; text-decoration:none }` right after its token
   block (home-page.css ~57-65). The F3 pages that DON'T load home-page.css
   (order, booster, blog, legal, 404, checkout) used to inherit a base font from
   the parent main.css `body{font-family:Montserrat}` and its bare `a{text-
   decoration:none}` — both gone now that boosting-main is stripped. Without this
   the F3 SECTION text falls back to UA serif and button/crumb anchors get the UA
   underline. Re-home the base here (loads on every F3 page via vb_enqueue_f3_base)
   so those pages match the home-page.css-loading ones. Scoped to .vb-rd — the
   chrome (.eb-nav / footer, OUTSIDE .vb-rd) is untouched and keeps nav.css /
   chrome-f3.css fonts. Keep in sync with home-page.css. */
.vb-rd {
  font-family: var(--font-body);
  color: var(--ink);
}
.vb-rd a { color: inherit; text-decoration: none; }

/* ---- shared F3 utilities ----------------------------------------------
   Page stylesheets like order-page.css are authored against home-page.css
   and assume its `.btn` base exists ("Inherits … .btn base … from
   home-page.css"). Since home-page.css can't load on a live page (its
   global reset would hit the chrome), the handful of shared utilities are
   ported here, each scoped under `.vb-rd` so they apply only inside an F3
   section and never touch a chrome `.btn`. Mirror of home-page.css lines
   ~272-311. */
.vb-rd .btn {
  display: inline-flex; align-items: center; gap: 11.88px;
  padding: 17.16px 29.04px; border-radius: 3.96px;
  font-family: var(--font-ui); font-size: 15.84px; font-weight: 600;
  letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase;
  transition: transform 180ms var(--ease-out), box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
  cursor: pointer; border: none;
  /* Neutralise the PARENT main.css .btn primitive that leaks onto every F3 button:
     its default card box-shadow (1.86px 1.67px ... rgba) and its skewed EBL-blue
     #0062a6 ::after hover-sweep. The gradient F3 buttons (.btn-royal/.btn-gold) set
     their own box-shadow AFTER this rule so they keep it; flat buttons (.btn-climb/
     .btn-back/.btn-dark) no longer show the stray shadow. .vb-rd-scoped → chrome .btn
     untouched. This kills the bleed site-wide, not just on one page. */
  box-shadow: none;
}
.vb-rd .btn::after { content: none !important; }
.vb-rd .btn svg { width: 18.48px; height: 18.48px; }
.vb-rd .btn-royal { background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); color: #fff; box-shadow: 0 9.6px 36px -9.6px rgba(255, 70, 85, 0.5); }
.vb-rd .btn-royal:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(255, 70, 85, 0.6); }
.vb-rd .btn-gold { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); color: var(--navy); box-shadow: 0 9.6px 36px -9.6px rgba(245, 212, 0, 0.55); }
.vb-rd .btn-gold:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(245, 212, 0, 0.65); }
.vb-rd .btn-ghost-light { background: rgba(255,255,255,0.08); color: #fff; border: 1.2px solid rgba(255,255,255,0.25); }
.vb-rd .btn-ghost-light:hover { background: rgba(255,255,255,0.16); transform: translateY(-1.32px); }
.vb-rd .btn-ghost { background: var(--bg); color: var(--royal); border: 1.2px solid var(--line); }
.vb-rd .btn-ghost:hover { border-color: var(--royal-soft); background: var(--royal-tint); transform: translateY(-1.32px); }

/* ---- .panel card (ported from home-page.css; order-page.css also defines it,
   but checkout-page.css does not, so it lives here for any F3 page). ---- */
.vb-rd .panel {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: calc(var(--r) + 2.64px);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.vb-rd .panel-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 15.84px; padding: 21.12px 26.4px;
  border-bottom: 1.2px solid var(--line-soft);
  background: var(--bg-soft);
}
.vb-rd .panel-title {
  font-family: var(--font-ui); font-size: 14.52px; font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase;
  color: var(--ink-soft); display: inline-flex; align-items: center; gap: 11.88px;
}
.vb-rd .panel-title svg { width: 18.48px; height: 18.48px; color: var(--accent); }
/* ==================================================
   VALBOOSTING · F3 SHARED BASE (main.css compensation)
   --------------------------------------------------
   functions.php blanks the parent boosting-main <link> (boosting/assets/css/
   main.css, ~16.7k lines) on every F3 page via a style_loader_tag filter, so
   none of main.css's rules can bleed onto the F3 design — that ends the cascade
   whack-a-mole the order page started (the EBL-blue .btn::after skew, the bare
   `i{margin-right:5px}` / `h1-5{margin-bottom:18px}` / `ul{margin-left:30px}`
   leaks, the .chat-* margins/fonts, the #chat_outer clamp, …) and trims a big
   sheet off every page.

   main.css was ALSO the shared site BASE, though. The handful of primitives the
   live chrome + F3 content actually lean on are re-homed here, scoped to the
   `.vb-f3` body class (added by functions.php body_class on every F3 page) so
   nothing leaks to a non-F3 page (those keep main.css). This is the generalised
   form of what order-live.css proved on the order page (PR #358); it now serves
   every page that strips main.css.

   What needs NOTHING here: the header (.eb-nav) lives in nav.css (boosting-nav,
   never stripped, self-contained — own box-sizing + all:unset); chrome-f3.css
   recolours both header + footer; vendor.css + font-awesome stay loaded. Pages
   that also load home-page.css get its `.vb-rd *{box-sizing;margin:0;padding:0}`
   reset on top — this file is the floor for the pages that don't (order,
   booster, blog, legal).
   ================================================== */

/* 1 — document base (main.css reset `body{margin:0}` + body{} lines 157-163).
   overflow-y:scroll keeps the scrollbar gutter stable so layout doesn't shift
   between short/tall pages; antialiasing keeps F3 text the same weight it has
   with main.css present. */
body.vb-f3 {
  margin: 0;
  /* neutralise the parent main.css `body{min-width:1275px}` (body-level, OUTSIDE
     .vb-rd so the reset can't catch it) — it would break the F3 responsive
     breakpoints if main.css leaks past the F3 strip (LiteSpeed combine). */
  min-width: 0;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

/* 2 — F3 content box model. The previews (body.vb-rd) + home-page.css
   (`.vb-rd, .vb-rd *{box-sizing:border-box}`) render border-box; main.css never
   set a global box-sizing, so without this the live .vb-rd content is content-box
   and padding inflates widths vs the preview. Restore border-box. Scoped to
   .vb-rd so the footer grid below keeps the content-box main.css authored it
   under. (Matches order-live.css's proven approach — margin/padding zeroing is
   left to home-page.css where loaded + each design's own rules, so this can't
   collapse a bespoke page that relies on UA-default margins.) */
body.vb-f3 .vb-rd,
body.vb-f3 .vb-rd * { box-sizing: border-box; }

/* 3 — stray media (main.css `img,video{max-width:100%;height:auto}`). */
body.vb-f3 img,
body.vb-f3 video { max-width: 100%; height: auto; }

/* FOOTER LAYOUT — removed. footer.php no longer emits the parent widget-grid
   markup (.container > .soc-icon + .footer-top > .footer-col__w* / .footer-logo);
   it now renders <footer class="site-footer"> (the F3 design), styled site-wide
   in chrome-f3.css (.site-footer …). The old re-homed float-grid rules that used
   to live here are dead, and their bare `.footer-col` / `.footer-bottom` rules
   would have collided with the new grid columns, so the whole block is gone. */

/* ---- the checkout modal shell, re-homed from main.css ----------------------
   parts/boosting_modal.php prints #boosting-modal-bg + #boosting-modal into EVERY
   page.php render, and main.css was what took them out of flow
   (.boosting-modal{position:fixed;top:-120%} + .boosting-modal-bg{display:none}).
   Blanking main.css on F3 pages left both in normal flow, so the modal's 22px
   header showed up as a stray gap above the footer on every F3 page that was not
   also loading checkout-modal.css. Only the OUT-OF-FLOW half is re-homed here; the
   modal's appearance still comes from checkout-modal.css on the pages that open
   it, and .bm-visible / .bmbg-visible still do the showing. */
.boosting-modal {
  position: fixed;
  top: -120%;
  left: 10%;
  width: 80%;
  z-index: 100001;
  transform-origin: center center;
}
.boosting-modal-bg {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 3;
}
.boosting-modal-bg.bmbg-visible { display: block; }
/* ==================================================
   VALBOOSTING · HOMEPAGE / SHARED BASE
   Palette: Valorant red on frost  (handoff "Cream compact", Frost colourway)
   Type:    League (display) · Barlow (body) · Oxanium (UI)
   ================================================== */
/* League display face — the custom .otf already shipped in the theme
   (assets/fonts/League.otf), now activated. Oswald/Rajdhani are condensed
   fallbacks if it fails to load. The face has one master; map both display
   weights (700/800) to it. Absolute URL so a LiteSpeed CSS-combine can't break
   the path (see f3-fonts.css for the same reasoning on the woff2 faces). */
@font-face{  font-family: 'League'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype');  }
@font-face{  font-family: 'League'; font-style: normal; font-weight: 800; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype');  }

/* Tokens scoped to .vb-rd (not :root) so enqueuing this on the LIVE front page
   can't override the live theme's global custom properties on the .eb-nav
   chrome/footer. Previews still match (their <body> carries .vb-rd).
   Keep in sync with f3-tokens.css (the live-base mirror). */
.vb-rd {
  --font-display: 'League', 'Oswald', 'Rajdhani', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-ui: 'Oxanium', sans-serif;
  --royal: #ff4655;       /* Valorant red — primary / accents / wedge */
  --royal-deep: #c0303d;  /* darker red — gradient end */
  --royal-tint: #fdecee;  /* faint red surface (nav hover, reward) */
  --royal-soft: #f5c4ca;  /* soft red border */
  /* product-card tweak knobs */
  --card-w: 369.6px;
  --card-gap: 18.48px;
  --card-minh: 216.48px;
  --card-scale: 1;
  --navy: #1b1f2a;        /* dark ink base */
  --navy-deep: #11141c;
  --gold: #ffea3d;        /* highlight (stars, em words, badges) */
  --gold-deep: #f5d400;
  --green: #22b358;
  --red: #e64a3a;
  --purple: #7b5cd1;
  --orange: #ff7a2a;
  --orange-deep: #d65a10;

  /* Page + sections + cards are WHITE — the handoff's --bg is #ffffff. The hero
     tint lives ONLY in the hero (.vhero carries its own frost gradient), NOT the
     page. bg-soft / line are neutral near-whites (a previous cream --bg turned the
     whole page beige instead of the design's white-with-tinted-hero). */
  --bg: #ffffff;
  --bg-soft: #f5f6f8;
  --bg-deep: #eceef1;
  --ink: #1b1f2a;
  --ink-soft: #445870;
  --ink-muted: #8a8578;
  --line: #e6e8ec;
  --line-soft: #f0f1f3;

  --accent: #ff4655;
  --bar: #ff4655;
  --r: 7.92px;             /* 6px base × 1.2 site scale; cards add +4/+6 */
  --tracking: 0.62; /* global letter-spacing scale (1 = original) */

  --shadow-soft: 0 1.32px 2.64px rgba(27, 31, 42, 0.05), 0 10.56px 31.68px rgba(27, 31, 42, 0.07);
  --shadow-pop: 0 2.4px 4.8px rgba(27, 31, 42, 0.05), 0 28.8px 72px rgba(27, 31, 42, 0.10);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Scoped to .vb-rd so this full-page stylesheet can be enqueued on the LIVE
   front page (front-page.php) without its global reset/body rules clobbering
   the live .eb-nav chrome. The standalone previews still get these (their
   <body> carries .vb-rd). See functions.php is_front_page() enqueue. */
.vb-rd, .vb-rd * { box-sizing: border-box; margin: 0; padding: 0; }
.vb-rd {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  scroll-behavior: smooth;
}
.vb-rd a { color: inherit; text-decoration: none; }
.wrap { max-width: 1742.4px; margin: 0 auto; padding: 0 31.68px; }

/* ==================================================
   SITE HEADER
   ================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(15.84px);
  -webkit-backdrop-filter: blur(15.84px);
  border-bottom: 1.2px solid var(--line);
  box-shadow: 0 1.2px 0 rgba(27, 31, 42, 0.06);
}
/* logo dropdown (service switcher) */
.nav-brand-wrap { position: relative; }
.nav-brand-caret {
  display: inline-flex;
  align-items: center;
  gap: 7.92px;
  margin-left: 10.56px;
  padding: 7.92px 13.2px;
  background: var(--bg-soft);
  border: 1.2px solid var(--line);
  border-radius: 10.56px;
  transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
.nav-brand-caret .caret-grid { display: inline-flex; width: 18.48px; height: 18.48px; color: var(--royal); }
.nav-brand-caret svg { width: 18.48px; height: 18.48px; }
.nav-brand-caret .caret-chev { width: 14.52px; height: 14.52px; color: var(--ink-muted); transition: transform 240ms var(--ease-out); }
.nav-brand-wrap:hover .nav-brand-caret { background: #fff; border-color: var(--royal-soft); box-shadow: 0 3.6px 12px -4.8px rgba(255, 70, 85, 0.3); }
.nav-brand-wrap:hover .nav-brand-caret .caret-chev { transform: rotate(180deg); color: var(--royal); }
.brand-dropdown {
  position: absolute; top: calc(100% + 15.84px); left: 0; z-index: 120;
  width: 382.8px; padding: 10.56px;
  background: #fff; border: 1.2px solid var(--line); border-radius: 18.48px;
  box-shadow: var(--shadow-pop);
  opacity: 0; visibility: hidden; transform: translateY(-10.56px);
  transition: opacity 200ms ease, transform 220ms var(--ease-out), visibility 200ms;
}
.brand-dropdown::before { content: ''; position: absolute; top: -18.48px; left: 0; right: 0; height: 18.48px; }
.nav-brand-wrap:hover .brand-dropdown,
.nav-brand-wrap:focus-within .brand-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.brand-dropdown-label { display: block; font-family: var(--font-ui); font-size: 11.88px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); padding: 10.56px 13.2px 7.92px; }
.brand-service { display: flex; align-items: center; gap: 15.84px; padding: 13.2px; border-radius: 11.88px; transition: background 160ms ease; }
.brand-service:hover { background: var(--royal-tint); }
.brand-service.is-current { background: var(--bg-soft); }
.brand-service-dot { width: 13.2px; height: 13.2px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 4.8px color-mix(in srgb, currentColor 0%, transparent); }
.brand-service-dot.lol { background: var(--orange); }
.brand-service-dot.ow { background: var(--green); }
.brand-service-dot.val { background: var(--red); }
.brand-service-fox {
  width: 39.6px; height: 42.24px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 2.64px 3.96px rgba(8,31,66,0.18));
}
.brand-service-text { display: flex; flex-direction: column; gap: 1.32px; }
.brand-service-text b { font-family: var(--font-display); font-size: 19.14px; font-weight: 700; color: var(--ink); }
.brand-service-text small { font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }

.main-nav {
  max-width: 1742.4px;
  margin: 0 auto;
  padding: 10.56px 31.68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 31.68px;
}
.nav-brand {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26.4px;
  letter-spacing: -0.03em;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.nav-brand-mark {
  width: 36.96px; height: 36.96px;
  border-radius: 3.96px;
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-deep) 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4.8px 12px -4.8px rgba(255, 122, 42, 0.45);
}
.nav-brand-mark svg { width: 21.12px; height: 21.12px; }
.nav-brand-mark.has-fox {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  box-shadow: 0 4.8px 12px -4.8px rgba(255, 70, 85, 0.45);
  padding: 2.64px;
}
.nav-brand-mark .brand-mark-fox { width: 29.04px; height: 29.04px; object-fit: contain; }
.nav-brand .dot { color: var(--royal); margin: 0 2.64px; }
.nav-brand small {
  display: block;
  font-family: var(--font-ui);
  font-size: 10.56px;
  font-weight: 500;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 1.32px;
}
/* phones: drop the tagline + desktop service-switcher caret so the +10% wordmark +
   hamburger fit a ~390px bar (mobile switches service via the drawer instead) */
@media (max-width: 480px) { .nav-brand small, .nav-brand-caret { display: none; } }
/* cap the desktop hover service-switcher + clip residual few-px overflow on phones */
.brand-dropdown { max-width: calc(100vw - 32px); }
@media (max-width: 480px) { html, body { overflow-x: hidden !important; } }
.nav-links { display: flex; align-items: center; gap: 2.64px; }
.nav-link {
  font-family: var(--font-nav, var(--font-body));
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9.24px;
  padding: 11.88px 17.16px;
  font-size: 17.16px;
  font-weight: 600;
  color: var(--ink-soft);
  border-radius: 11.88px;
  transition: background 200ms ease, color 200ms ease;
}
.nav-link svg { width: 19.8px; height: 19.8px; opacity: 0.55; transition: transform 240ms var(--ease-out), opacity 200ms ease, color 200ms ease; }
.nav-link::after {
  content: '';
  position: absolute;
  left: 17.16px; right: 17.16px; bottom: 6.6px;
  height: 2.64px;
  background: var(--royal);
  border-radius: 2.64px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms var(--ease-out);
}
.nav-link:hover { background: var(--royal-tint); color: var(--royal); }
.nav-link:hover svg { opacity: 1; color: var(--royal); transform: translateY(-2.64px); }
.nav-link:hover::after { transform: scaleX(1); }
.nav-link.is-current { background: var(--royal-tint); color: var(--royal); }
.nav-hot {
  font-family: var(--font-ui);
  font-size: 10.56px;
  font-weight: 800;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-deep) 100%);
  border-radius: 1318.68px;
  padding: 3.96px 7.92px;
  margin-left: 3.96px;
  box-shadow: 0 3.6px 10.8px -2.4px rgba(255, 122, 42, 0.6);
}
@media (prefers-reduced-motion: no-preference) { .nav-hot { animation: hot-pulse 1.6s ease-in-out infinite; } }
@keyframes hot-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.13); } }
@media (max-width: 1320px) { .nav-links { display: none; } }
.nav-actions { display: flex; align-items: center; gap: 13.2px; }
.vb-rd .nav-icon-btn {
  width: 47.52px; height: 47.52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  background: var(--bg);
  color: var(--ink-soft);
  cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
  position: relative;
}
.vb-rd .nav-icon-btn:hover { background: var(--royal-tint); border-color: var(--royal-soft); color: var(--royal); }
.vb-rd .nav-icon-btn svg { width: 21.12px; height: 21.12px; }
.vb-rd .nav-icon-btn .badge-dot {
  position: absolute;
  top: 7.92px; right: 9.24px;
  width: 9.24px; height: 9.24px;
  background: var(--gold);
  border-radius: 50%;
  border: 1.8px solid var(--bg);
}
.nav-login {
  height: 47.52px;
  display: inline-flex;
  align-items: center;
  padding: 0 21.12px;
  font-family: var(--font-ui);
  font-size: 14.52px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--royal);
  border-radius: 3.96px;
  transition: background 200ms ease, transform 160ms ease;
}
.nav-login:hover { background: var(--navy); transform: translateY(-1.32px); }
/* .vb-rd a{color:inherit} (0,1,1) outranks bare .nav-login (0,1,0) and would
   force the Login anchor onto inherited dark ink — scope it so the white wins.
   (.nav-hot keeps its own flame-badge dark text from boost-page.css.) */
.vb-rd .nav-login, .vb-rd .nav-login:hover { color: #fff; }
.nav-mobile {
  display: none;
  width: 47.52px; height: 47.52px;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  background: var(--bg);
  cursor: pointer;
}
.nav-mobile svg { width: 23.76px; height: 23.76px; color: var(--ink); }
@media (max-width: 1320px) { .nav-mobile { display: inline-flex; } }
@media (max-width: 912px) { .nav-login { display: none; } }

/* ==================================================
   SHARED: buttons, section heads
   ================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
  padding: 17.16px 29.04px;
  border-radius: 3.96px;
  font-family: var(--font-ui);
  font-size: 15.84px;
  font-weight: 600;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  transition: transform 180ms var(--ease-out), box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
  cursor: pointer;
  border: none;
}
.btn svg { width: 18.48px; height: 18.48px; }
.btn-royal {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  color: #fff;
  box-shadow: 0 9.6px 36px -9.6px rgba(255, 70, 85, 0.5);
}
.btn-royal:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(255, 70, 85, 0.6); }
.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: var(--navy);
  box-shadow: 0 9.6px 36px -9.6px rgba(245, 212, 0, 0.55);
}
.btn-gold:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(245, 212, 0, 0.65); }
/* Button text contrast — gold/yellow = near-black, royal/red = white.
   Higher specificity (.vb-rd a.btn-*) defeats any inherited anchor colour. */
.vb-rd a.btn-gold,  .vb-rd a.btn-gold svg,
.vb-rd button.btn-gold, .vb-rd button.btn-gold svg { color: #14181f; }
.vb-rd a.btn-royal, .vb-rd a.btn-royal svg,
.vb-rd button.btn-royal, .vb-rd button.btn-royal svg { color: #ffffff; }
.btn-ghost-light {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1.2px solid rgba(255,255,255,0.25);
}
.btn-ghost-light:hover { background: rgba(255,255,255,0.16); transform: translateY(-1.32px); }
.btn-ghost {
  background: var(--bg);
  color: var(--royal);
  border: 1.2px solid var(--line);
}
.btn-ghost:hover { border-color: var(--royal-soft); background: var(--royal-tint); transform: translateY(-1.32px); }

/* ==================================================
   SHARED: CTA STRIP (dark closing support band)
   Lived in boost-page.css until it became the site-wide closing banner. It now
   also ends the FAQ, careers and refund pages, and none of those load
   boost-page.css. home-page.css is the one sheet every F3 chain already enqueues
   (boost page: vb-home-page then vb-boost-page, which depends on it; the content
   pages: vb-home-page then vb-pages then the page sheet), so the base sits here
   and the boost page's 100vw full-bleed override still wins from boost-page.css.
   .btn-orange exists ONLY inside .cta-strip; it extends the .btn base above.
   ================================================== */
.cta-strip { background: var(--navy); padding: 29.04px 31.68px; }
.cta-inner {
  max-width: 1452px; margin: 0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:31.68px; flex-wrap:wrap;
}
.cta-lead { display:flex; align-items:center; gap:18.48px; min-width:0; }
.cta-badge { width:60.72px; height:60.72px; flex-shrink:0; border-radius: var(--r); background: rgba(255,255,255,0.1); border:1.2px solid rgba(255,255,255,0.16); display:flex; align-items:center; justify-content:center; color: var(--gold); }
.cta-badge svg { width:26.4px; height:26.4px; }
.cta-text { display:flex; flex-direction:column; gap:2.64px; min-width:0; }
.cta-text b { font-family: var(--font-display); font-weight:700; font-size:23.76px; letter-spacing:-0.01em; color:#fff; }
.cta-text small { font-family: var(--font-body); font-size:16.5px; color: rgba(255,255,255,0.62); }
.cta-strip .btn-orange { background: linear-gradient(135deg, var(--orange), var(--orange-deep)); color:#fff; box-shadow: 0 9.6px 31.2px -9.6px rgba(255,122,42,0.55); flex-shrink:0; }
.cta-strip .btn-orange:hover { transform: translateY(-1.32px); }
/* .vb-rd a { color: inherit } would leave the button's icon taking the page's
   dark ink on the content pages, where the strip is no longer the boost page's
   own last section. State white for the label and the svg, same shape as the
   .btn-gold / .btn-royal contrast rules above. */
.vb-rd a.btn-orange, .vb-rd a.btn-orange svg { color: #fff; }
@media (max-width: 480px) {
  /* reclaim the scaled side padding on a phone, matching the other three sites. The
     only copy of this rule used to live in boost-page.css, which the careers, refund
     and FAQ pages never enqueue, so the band ran to the full 31.68px inset there. */
  .cta-strip { padding-left: 16px; padding-right: 16px; }
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 31.68px;
  flex-wrap: wrap;
  margin-bottom: 21.12px;
}
.section-eyebrow { display: flex; align-items: center; gap: 13.2px; margin-bottom: 21.12px; }
.section-tag {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--accent);
  padding: 5.28px 11.88px;
  border-radius: 2.64px;
  white-space: nowrap;
}
.section-eyebrow-text {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(39.6px, 3.8vw, 63.36px);
  letter-spacing: -0.03em;
  line-height: 1.04;
  color: var(--ink);
}
.section-title em { font-style: normal; font-weight: 700; color: var(--accent); }
.section-lead {
  font-family: var(--font-display);
  font-size: clamp(19.8px, 1.5vw, 23.76px);
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 739.2px;
}
.section-lead em { font-style: normal; color: var(--accent); }
.head-badge {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
  background: var(--bg);
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  padding: 11.88px 17.16px;
  display: inline-flex;
  align-items: center;
  gap: 10.56px;
  box-shadow: var(--shadow-soft);
}
.head-badge em { font-style: normal; color: var(--accent); font-weight: 700; }
.head-badge svg { width: 15.84px; height: 15.84px; color: var(--gold-deep); }

/* On-dark variants */
.on-dark .section-tag { background: var(--gold); color: var(--navy); }
.on-dark .section-eyebrow-text { color: rgba(255,255,255,0.55); }
.on-dark .section-title { color: #fff; }
.on-dark .section-title em { color: var(--gold); }
.on-dark .section-lead { color: rgba(255,255,255,0.75); }
.on-dark .section-lead em { color: var(--gold); }

/* ==================================================
   HERO
   ================================================== */
.hero {
  position: relative;
  overflow: hidden;
  color: var(--ink);
  /* frost — same cool gradient as the boost page .vhero */
  background:
    radial-gradient(1003.2px 580.8px at 88% -20%, rgba(255,70,85,0.16), transparent 60%),
    linear-gradient(160deg, #ffffff 0%, #f7f9fc 55%, #eef1f7 100%);
  border-bottom: 1.2px solid #ececf0;
  --cc-wedge: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  --cc-glow: rgba(255,70,85,0.55);
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1742.4px;
  margin: 0 auto;
  padding: 92.664px 31.68px;
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 46.332px;
  align-items: stretch;
}
@media (max-width: 1104px) { .hero-inner { grid-template-columns: 1fr; gap: 43.2432px; padding: 61.776px 31.68px 72.072px; } }

.hero-text {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.hero-eyebrow { display: inline-flex; align-items: center; gap: 15.444px; margin-bottom: 27.7992px; }
.hero-eyebrow-dash { width: 43.2432px; height: 3.861px; border-radius: 2.574px; background: var(--royal); flex-shrink: 0; }
.hero-eyebrow-text {
  font-family: var(--font-ui);
  font-size: 16.9884px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #8b909c;
}
.hero h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(42.0079px, 4.306vw, 71.6606px);
  letter-spacing: -0.03em;
  line-height: 0.9;
  color: var(--ink);
  margin-bottom: 30.888px;
  max-width: 988.416px;
  text-wrap: balance;
}
.hero h1 em { font-style: normal; font-weight: 700; color: var(--royal); }
.hero-lead {
  font-family: var(--font-body);
  font-size: clamp(20.0772px, 1.584vw, 23.166px);
  font-weight: 400;
  color: #4a4e57;
  line-height: 1.45;
  max-width: 772.2px;
  margin-bottom: 37.0656px;
}
.hero-lead em { font-style: normal; font-weight: 700; color: var(--ink); }

.hero-feats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15.444px;
  max-width: 772.2px;
  margin-bottom: 37.0656px;
}
@media (max-width: 672px) { .hero-feats { grid-template-columns: 1fr; } }
.hero-feat {
  display: flex;
  align-items: center;
  gap: 15.444px;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  padding: 16.9884px 20.0772px;
  box-shadow: 0 7.02px 21.06px -15.21px rgba(27,31,42,0.3);
  transition: border-color 200ms ease, transform 200ms var(--ease-out), box-shadow 200ms ease;
}
.hero-feat:hover { border-color: var(--royal-soft); transform: translateY(-1.5444px); box-shadow: 0 16.38px 30.42px -18.72px rgba(255,70,85,0.45); }
.hero-feat-icon {
  width: 49.4208px; height: 49.4208px;
  border-radius: var(--r);
  background: var(--royal-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--royal);
  flex-shrink: 0;
}
.hero-feat-icon svg { width: 24.7104px; height: 24.7104px; }
.hero-feat > span:last-child { min-width: 0; }
.hero-feat-name { display: block; font-family: var(--font-body); font-size: 19.305px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.hero-feat-sub {
  display: block;
  font-family: var(--font-ui);
  font-size: 13.8996px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 3.861px;
}

.hero-ctas { display: flex; gap: 16.9884px; flex-wrap: wrap; }
.hero-ctas .btn { padding: 20.0772px 33.9768px; font-size: 18.5328px; }
.hero-ctas .btn svg { width: 21.6216px; height: 21.6216px; }
.hero-ctas .btn-ghost { background: #fff; color: var(--ink); border: 1.2px solid var(--line); }
.hero-ctas .btn-ghost:hover { border-color: var(--royal-soft); background: var(--royal-tint); color: var(--royal); transform: translateY(-1.32px); }

/* RIGHT — red diagonal wedge (same recipe as the boost-page .cc-slash) holding
   the fox-in-a-circle + the brand block */
.hero-panel { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 494.208px; }
.hero-wedge {
  position: absolute; z-index: 1;
  top: -92.664px; bottom: -92.664px;
  left: 21.6216px; right: min(-61.776px, calc(818.4px - 50vw));
  background: var(--cc-wedge);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 36px 96px -40px var(--cc-glow);
}
.hero-wedge::after {
  content: '';
  position: absolute; inset: 0;
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  background-image: radial-gradient(rgba(255,255,255,0.13) 1.32px, transparent 1.32px);
  background-size: 30.888px 30.888px;
  opacity: 0.5;
  mask-image: linear-gradient(115deg, #000, transparent 75%);
}
/* right-align the brand so the circle's RIGHT edge lands on the content
   boundary (same x as the options cards' right edge), and sits clear of the
   diagonal — no horizontal padding so circle-right == panel-right. */
.hero-brand {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  align-items: center; gap: 21.6216px;
  text-align: center; padding: 30.888px 0;
}
.hero-circle {
  width: 407.7216px; height: 407.7216px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 32%, #fbf8f1 0%, #ece5d6 100%);
  border: 10.107px solid rgba(255,255,255,0.5);
  box-shadow: 0 39.312px 70.2px -30.888px rgba(0,0,0,0.5), inset 0 1.2px 0 rgba(255,255,255,0.6);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.hero-circle img { width: 86%; height: auto; object-fit: contain; filter: drop-shadow(0 12.3552px 21.6216px rgba(0,0,0,0.32)); }
.hero-brand-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 46.332px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
}
.hero-brand-sub {
  font-family: var(--font-ui);
  font-size: 15.444px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
}

@media (max-width: 1104px) {
  .hero-panel { order: -1; min-height: 0; justify-content: center; }
  .hero-wedge { top: -61.776px; bottom: -36.036px; left: -31.68px; right: -31.68px; clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%); }
  .hero-brand { padding: 43.2432px 30.888px 27.7992px; }
}
@media (max-width: 672px) {
  .hero-circle { width: 315.0576px; height: 315.0576px; border-width: 8.424px; }
  .hero-brand-name { font-size: 38.61px; }
}

/* ==================================================
   OPTIONS
   ================================================== */
.options { padding: 95.04px 31.68px 79.2px; background: var(--bg); }
.options-grid {
  max-width: 1742.4px;
  margin: 52.8px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 23.76px;
}
@media (max-width: 1080px) { .options-grid { grid-template-columns: 1fr; } }
.option-card {
  position: relative;
  min-height: 448.8px;
  border-radius: var(--r);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: var(--navy);
  box-shadow: var(--shadow-pop);
}
.option-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% 12%;
  /* the art stays SHARP now — only the left/bottom/right edges are softened by the
     masked backdrop-blur on .option-card::after below (A4). */
  transform: scale(1.06);
  transition: transform 800ms var(--ease-out);
}
.option-card:hover .option-art { transform: scale(1.04); }
.option-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(0deg, rgba(5, 15, 34, 0.94) 0%, rgba(5, 15, 34, 0.55) 38%, rgba(5, 15, 34, 0.05) 70%),
    linear-gradient(120deg, color-mix(in srgb, var(--royal-deep) 55%, transparent) 0%, transparent 55%);
}
.option-body { position: relative; z-index: 2; padding: 34.32px 34.32px 34.32px; display: flex; flex-direction: column; gap: 13.2px; width: 100%; }
.option-kicker {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
}
.option-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 39.6px;
  letter-spacing: -0.01em;
  color: #fff;
}
.option-copy { font-size: 18.48px; line-height: 1.6; color: rgba(255,255,255,0.92); max-width: 686.4px; }
.option-foot { display: flex; align-items: center; justify-content: space-between; gap: 15.84px; margin-top: 10.56px; }
.option-price {
  font-family: var(--font-ui);
  font-size: 13.86px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.option-price em { font-style: normal; color: var(--gold); font-weight: 700; }
.option-price em.price-big { font-weight: 800; font-size: 42.24px; line-height: 0.9; display: inline-block; vertical-align: -5.28px; font-family: var(--font-display); letter-spacing: -0.02em; }

/* ==================================================
   RANK CARDS BOARD (light)
   ================================================== */
.board-wrap { padding: 58.08px 31.68px 73.92px; background: var(--bg); }
.board {
  position: relative;
  max-width: 1742.4px;
  margin: 0 auto;
  border-radius: calc(var(--r) + 5.28px);
  background:
    radial-gradient(1188px 554.4px at 88% -10%, rgba(255, 70, 85, 0.07), transparent 60%),
    radial-gradient(924px 501.6px at 0% 115%, rgba(255, 234, 61, 0.10), transparent 55%),
    var(--bg-soft);
  border: 1.2px solid var(--line);
  overflow: hidden;
}
.board-inner { position: relative; z-index: 2; padding: 63.36px 58.08px 58.08px; }
@media (max-width: 912px) { .board-inner { padding: 44.88px 29.04px 36.96px; } }
.board-count {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
  border: 1.2px solid var(--line);
  background: #fff;
  border-radius: 3.96px;
  padding: 13.2px 18.48px;
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.board-count strong {
  font-family: var(--font-display);
  font-size: 23.76px;
  font-weight: 700;
  color: var(--accent);
}
.board .section-lead { margin-bottom: 47.52px; }

.boost-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(369.6px, 100%), 1fr));
  gap: 21.12px;
}
@media (max-width: 744px)  { .boost-grid { grid-template-columns: 1fr; } }

.boost-card {
  position: relative;
  border-radius: var(--r);
  background: #ffffff;
  border: 1.2px solid var(--line);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 320ms var(--ease-out), border-color 320ms ease, box-shadow 320ms ease;
}
.boost-card:hover {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  box-shadow: var(--shadow-pop);
}
.boost-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13.2px;
  padding: 19.8px 21.12px 17.16px;
  border-bottom: 1.2px solid var(--line-soft);
  background: var(--bg-soft);
}
.boost-playing {
  display: flex;
  align-items: center;
  gap: 11.88px;
  min-width: 0;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  padding: 6.6px 15.84px 6.6px 7.92px;
}
.boost-playing .champ-emoji { width: 39.6px; height: 39.6px; font-size: 21.12px; border: none; background: var(--bg-soft); display: inline-flex; align-items: center; justify-content: center; line-height: 1; border-radius: 9.9px; }
.boost-playing .champ-emoji-duo { font-size: 15.84px; letter-spacing: -1.32px; }
.champ-pic {
  width: 50.16px; height: 50.16px;
  border-radius: 3.96px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1.2px solid var(--line);
  background: var(--bg-deep);
}
.boost-label {
  display: block;
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 2.64px;
}
.boost-champ {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21.12px;
  letter-spacing: -0.01em;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.boost-window {
  font-family: var(--font-ui);
  font-size: 12.54px;
  font-weight: 600;
  letter-spacing: calc(0.05em * var(--tracking));
  color: var(--ink-soft);
  background: #ffffff;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  padding: 6.6px 10.56px;
  display: inline-flex;
  align-items: center;
  gap: 6.6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.boost-window em { font-style: normal; color: var(--ink-muted); }
/* ≤480 — the order card head is a space-between flex of the "playing" pill +
   the date window; on a phone the fixed-width date pill squeezes the playing
   pill so small that its label/champ text overflows and runs under the date.
   Let the head wrap so the playing pill takes the full first row and the date
   drops below it. Only affects ≤480px. */
@media (max-width: 480px) {
  .boost-head { flex-wrap: wrap; }
  .boost-playing { flex: 1 1 100%; }
  .boost-window { align-self: flex-start; }
}

.boost-journey {
  display: flex;
  flex-direction: column;
  gap: 15.84px;
  padding: 23.76px 21.12px 13.2px;
  flex: 1;
}
.journey-top {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 10.56px;
}
.journey-top .journey-rank { flex: 1; width: auto; min-width: 0; gap: 6.6px; }
.journey-top .journey-crest { width: 100.32px; height: 100.32px; }
.journey-top .journey-rank-name { font-size: 18.48px; color: var(--ink); }
.journey-arrow {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.journey-arrow .oa1 { display: inline-flex; align-items: center; }
.journey-arrow .oa1 svg { width: 15.84px; height: 21.12px; color: var(--royal); opacity: 0.28; margin-left: -9.24px; }
.journey-arrow .oa1 svg:first-child { margin-left: 0; }
.journey-arrow .oa1 svg:nth-child(2) { opacity: 0.55; }
@keyframes oaWave { 0%, 100% { opacity: 0.22; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .journey-arrow .oa1 svg:nth-child(1) { animation: oaWave 2.2s ease-in-out infinite; }
  .journey-arrow .oa1 svg:nth-child(2) { animation: oaWave 2.2s ease-in-out 0.3s infinite; }
  .journey-arrow .oa1 svg:nth-child(3) { animation: oaWave 2.2s ease-in-out 0.6s infinite; }
}
.journey-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.6px;
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  border-radius: var(--r);
  padding: 15.84px 13.2px 18.48px;
}
.journey-current .journey-tier-label { color: var(--accent); }
.journey-current .journey-crest { width: 145.2px; height: 145.2px; }
.journey-current .journey-rank-name { font-size: 22.44px; color: var(--ink); }
body:not(.no-glow) .journey-current .journey-crest {
  filter: drop-shadow(0 7.92px 15.84px rgba(27, 31, 42, 0.25)) drop-shadow(0 0 18.48px color-mix(in srgb, var(--bar) 45%, transparent));
}
.journey-rank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.6px;
  width: 95.04px;
  text-align: center;
}
.journey-crest {
  width: 68.64px; height: 68.64px;
  object-fit: contain;
  filter: drop-shadow(0 6.6px 10.56px rgba(27, 31, 42, 0.22));
}
.journey-tier-label {
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.journey-rank-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15.84px;
  letter-spacing: -0.01em;
  color: var(--ink-soft);
  white-space: nowrap;
}
.journey-rank.is-current { width: 137.28px; }
.journey-rank.is-current .journey-tier-label { color: var(--accent); }
.journey-rank.is-current .crest-halo {
  position: relative;
  width: 121.44px; height: 121.44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.no-glow .crest-halo::before { display: none; }
.journey-rank.is-current .crest-halo::before {
  content: '';
  position: absolute;
  inset: -15.84px;
  background: radial-gradient(circle, var(--tier-glow, rgba(232,178,58,0.35)) 0%, transparent 65%);
  opacity: 0.5;
}
.journey-rank.is-current .journey-crest {
  position: relative;
  width: 121.44px; height: 121.44px;
  filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.30));
}
.journey-rank.is-current .journey-rank-name { font-size: 18.48px; color: var(--ink); }

.boost-progress { padding: 18.48px 21.12px 26.4px; }
.progress-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 13.2px;
  margin-bottom: 9.24px;
}
.progress-label {
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.progress-pct {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22.44px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.progress-bar {
  height: 9.24px;
  border-radius: 3.96px;
  background: var(--bg-deep);
  border: 1.2px solid var(--line-soft);
  overflow: hidden;
}
.progress-fill {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 0%;
  border-radius: 3.96px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--bar) 75%, #fff) 0%, var(--bar) 100%);
  box-shadow: 0 0 9.6px color-mix(in srgb, var(--bar) 50%, transparent);
  transition: width 1.4s var(--ease-out);
}
.board-foot {
  margin-top: 44.88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 23.76px;
  flex-wrap: wrap;
}
.board-foot-note {
  font-family: var(--font-ui);
  font-size: 13.2px;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.board-foot-note svg { width: 17.16px; height: 17.16px; color: var(--accent); flex-shrink: 0; }
.board-foot-note em { font-style: normal; color: var(--ink-soft); font-weight: 600; }

/* ==================================================
   CONVENIENT & PRIVATE
   ================================================== */
.convenient { padding: 73.92px 31.68px 126.72px; background: var(--bg); }
.convenient-grid {
  max-width: 1452px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 73.92px;
  align-items: center;
}
@media (max-width: 1080px) { .convenient-grid { grid-template-columns: 1fr; gap: 47.52px; } }
.convenient-copy .section-lead { margin: 18.48px 0 39.6px; }
/* even rhythm: ~40px between blocks (lead/steps/button), ~26px between the two
   steps — the steps were cramped at 16px vs the 35-40px around them. */
.convenient-steps { display: flex; flex-direction: column; gap: 26.4px; margin-bottom: 39.6px; }
.conv-step { display: flex; align-items: flex-start; gap: 18.48px; }
.conv-step-num {
  font-family: var(--font-ui);
  font-size: 14.52px;
  font-weight: 700;
  color: var(--royal);
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  width: 36.96px; height: 36.96px;
  border-radius: 3.96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.conv-step-name { font-size: 19.14px; font-weight: 600; color: var(--ink); }
.conv-step-sub { font-size: 17.16px; color: var(--ink-soft); margin-top: 2.64px; line-height: 1.55; }

.order-journey {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 29.04px;
  padding: 7.92px 0 23.76px;
  border-bottom: 1.2px dashed var(--line);
  margin-bottom: 18.48px;
}
.order-journey .journey-rank { width: auto; }
.order-journey .journey-crest { width: 81.84px; height: 81.84px; }
.order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15.84px;
  padding: 11.88px 0;
  font-size: 17.16px;
  color: var(--ink-soft);
}
.order-row + .order-row { border-top: 1.2px solid var(--line-soft); }
.order-row b { color: var(--ink); font-weight: 600; }
.order-row.total { font-size: 18.48px; }
.order-row.total b { font-family: var(--font-display); font-size: 26.4px; font-weight: 700; }
.order-row .vip {
  font-family: var(--font-ui);
  font-size: 11.88px;
  font-weight: 700;
  letter-spacing: calc(0.12em * var(--tracking));
  color: var(--navy);
  background: var(--gold);
  border-radius: 2.64px;
  padding: 2.64px 7.92px;
  margin-left: 10.56px;
}

/* ==================================================
   WHAT WE PROVIDE
   ================================================== */
.provide {
  background:
    radial-gradient(1188px 686.4px at 100% 0%, rgba(255, 70, 85, 0.16), transparent 55%),
    linear-gradient(170deg, #16212e 0%, var(--navy) 55%, #11141c 100%);
  padding: 95.04px 31.68px 100.32px;
  color: #fff;
}
.provide-grid {
  max-width: 1742.4px;
  margin: 47.52px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18.48px;
}
@media (max-width: 1080px) { .provide-grid { grid-template-columns: 1fr; } }
.provide-item {
  display: flex;
  align-items: flex-start;
  gap: 21.12px;
  background: rgba(255,255,255,0.06);
  border: 1.2px solid rgba(255,255,255,0.13);
  border-radius: var(--r);
  padding: 29.04px;
  transition: background 220ms ease, border-color 220ms ease, transform 220ms var(--ease-out), box-shadow 220ms ease;
}
.provide-item:hover {
  background: rgba(255,255,255,0.1);
  border-color: color-mix(in srgb, var(--gold) 45%, transparent);
  transform: translateY(-3.96px);
  box-shadow: 0 16.8px 36px -16.8px rgba(0, 0, 0, 0.4);
}
.provide-icon {
  width: 60.72px; height: 60.72px;
  border-radius: 13.2px;
  background: rgba(255,255,255,0.08);
  border: 1.2px solid rgba(255,255,255,0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.provide-icon svg { width: 27.72px; height: 27.72px; }
.provide-item h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 23.76px;
  letter-spacing: -0.01em;
  margin-bottom: 7.92px;
}
.provide-item h3 em { font-style: normal; font-weight: 700; color: var(--gold); }
.provide-item p { font-size: 18.48px; line-height: 1.7; color: rgba(255,255,255,0.86); }

/* ==================================================
   GLOBAL MOBILE PADDING + LAYOUT (round 3)
   The +20%/+10% scale left every section with ~31.68px (and the board with
   ~90px) of side padding — on a phone that squeezes content into a narrow column
   and forces endless vertical scrolling. Halve the side padding everywhere on a
   phone, and stack the icon-left "What we provide" cards so their text gets the
   full width instead of wrapping 2-3 words per line. Only affects ≤600/≤480px.
   ================================================== */
@media (max-width: 600px) {
  /* icon-over-text so the copy isn't crushed into a ~150px column */
  .provide-item { flex-direction: column; gap: 13.2px; padding: 19.8px; }
}
@media (max-width: 480px) {
  /* ~50% side padding across every homepage section (and the shared .wrap) */
  .wrap { padding-left: 15.84px; padding-right: 15.84px; }
  .hero-inner { padding-left: 15.84px; padding-right: 15.84px; }
  .options { padding-left: 15.84px; padding-right: 15.84px; }
  .board-wrap { padding-left: 11.88px; padding-right: 11.88px; }
  .board-inner { padding-left: 13.2px; padding-right: 13.2px; }
  .convenient { padding-left: 15.84px; padding-right: 15.84px; }
  .provide { padding-left: 15.84px; padding-right: 15.84px; }
  .faq { padding-left: 15.84px; padding-right: 15.84px; }
  .reviews { padding-left: 15.84px; padding-right: 15.84px; }
  .start { padding-left: 15.84px; padding-right: 15.84px; }
  .blog { padding-left: 15.84px; padding-right: 15.84px; }
  .site-footer { padding-left: 15.84px; padding-right: 15.84px; }
}

/* ==================================================
   FAQ
   ================================================== */
.faq { padding: 95.04px 31.68px; background: var(--bg-soft); }
.faq-grid {
  max-width: 1742.4px;
  margin: 39.6px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23.76px;
  align-items: start;
}
@media (max-width: 1080px) { .faq-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .faq-grid { grid-template-columns: 1fr; } }
/* display:contents promotes the 6 .faq-item out of their two .faq-col wrappers
   into the grid, so they lay out 3 per row (no markup change needed). */
.faq-col { display: contents; }
.faq-item {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.faq-item.is-open { border-color: var(--royal-soft); box-shadow: var(--shadow-soft); }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18.48px;
  padding: 21.12px 23.76px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-body);
  font-size: 18.48px;
  font-weight: 600;
  color: var(--ink);
}
.faq-q:hover { color: var(--royal); }
.faq-q .faq-toggle {
  width: 36.96px; height: 36.96px;
  border-radius: 5.28px;
  border: 1.2px solid var(--royal-soft);
  background: var(--royal-tint);
  color: var(--royal);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 320ms var(--ease-out), background 220ms ease, color 220ms ease;
}
.faq-q .faq-toggle svg { width: 18.48px; height: 18.48px; }
.faq-item.is-open .faq-toggle { transform: rotate(180deg); background: var(--royal); color: #fff; }
.faq-a {
  display: block;
  overflow: hidden;
  max-height: 0;
  padding: 0 23.76px;
  opacity: 0;
  font-size: 17.82px;
  line-height: 1.7;
  color: var(--ink-soft);
  transition: max-height 380ms var(--ease-out), padding 380ms var(--ease-out), opacity 260ms ease;
}
.faq-item.is-open .faq-a { max-height: 554.4px; padding: 0 23.76px 22.44px; opacity: 1; }

/* ==================================================
   REVIEWS
   ================================================== */
.reviews { padding: 95.04px 31.68px; background: var(--bg); border-top: 1.2px solid var(--line-soft); }
.reviews-grid {
  max-width: 1742.4px;
  margin: 39.6px auto 0;
  display: grid;
  grid-template-columns: minmax(264px, 0.26fr) 1fr auto;
  gap: 23.76px;
  align-items: stretch;
}
@media (max-width: 1320px) { .reviews-grid { grid-template-columns: 1fr; } }
@media (max-width: 744px)  { .reviews-grid { grid-template-columns: 1fr; } }
.review-sum {
  background: linear-gradient(160deg, #ff6470 0%, #e23d4b 100%);
  border-radius: var(--r);
  color: #fff;
  padding: 31.68px 29.04px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  align-self: stretch;
  justify-content: center;
  gap: 21.12px;
}
.review-sum > div:first-child { display: flex; flex-direction: column; align-items: center; gap: 9.24px; }
.review-sum-score {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 60.72px;
  letter-spacing: -0.03em;
  line-height: 1;
}
.review-sum-score small { font-size: 29.04px; font-weight: 500; color: rgba(255,255,255,0.6); }
.review-sum .hero-stars svg { width: 19.8px; height: 19.8px; }
.review-sum-meta {
  font-family: var(--font-ui);
  font-size: 13.86px;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.95);
  line-height: 1.95;
}
.review-sum-meta em { font-style: normal; color: #fff; font-weight: 700; }
.review-card {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow-soft);
  padding: 29.04px;
  display: flex;
  flex-direction: column;
  gap: 13.2px;
}
.review-card .hero-stars { color: var(--gold-deep); }
.review-card .hero-stars svg { width: 18.48px; height: 18.48px; }
.review-title { font-family: var(--font-display); font-weight: 700; font-size: 21.12px; }
.review-body { font-size: 17.82px; line-height: 1.65; color: var(--ink-soft); flex: 1; letter-spacing: -0.01em; }
.review-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13.2px;
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.review-meta b { color: var(--ink-soft); font-weight: 600; }
.review-verified { display: inline-flex; align-items: center; gap: 6.6px; color: var(--green); }
.review-verified svg { width: 14.52px; height: 14.52px; }

/* ==================================================
   START TODAY
   ================================================== */
.start { padding: 95.04px 31.68px; background: var(--bg-soft); border-top: 1.2px solid var(--line-soft); text-align: center; }
.start .section-eyebrow { justify-content: center; }
.start .section-title { margin-bottom: 18.48px; }
.start .section-lead { max-width: 818.4px; margin: 0 auto 42.24px; text-align: center; }
.start-btns { display: flex; flex-direction: column; align-items: center; gap: 15.84px; max-width: 1003.2px; margin: 0 auto; }
.start-btns .btn { flex: 0 0 auto; }
.start-btns .btn-prod {
  color: #fff;
  border: none;
}
.start-btns .btn-prod svg { width: 17.16px; height: 17.16px; }
.start-btns .btn-prod.p1 { background: linear-gradient(135deg, #2cc468 0%, #168a44 100%); }
.start-btns .btn-prod.p2 { background: linear-gradient(135deg, #ff5663 0%, var(--royal-deep) 100%); }
.start-btns .btn-prod.p3 { background: linear-gradient(135deg, #8d6ce0 0%, #5a3cb0 100%); }
.start-btns .btn-prod.p4 { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); color: var(--navy); }
.start-btns .btn-prod:hover { transform: translateY(-2.64px); filter: brightness(1.05); box-shadow: var(--shadow-pop); }
.start-btns .start-row { display: flex; align-items: center; justify-content: center; gap: 13.2px; flex-wrap: wrap; width: 100%; }
.start-btns .start-row-secondary { padding-top: 5.28px; margin-top: 2.64px; }

/* ==================================================
   BLOG
   ================================================== */
.blog { background: radial-gradient(1056px 554.4px at 100% -10%, rgba(255, 70, 85, 0.14), transparent 55%), linear-gradient(180deg, #16212e 0%, var(--navy) 100%); padding: 95.04px 31.68px 68.64px; color: #fff; }
.blog-grid {
  max-width: 1742.4px;
  margin: 42.24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 21.12px;
}
@media (max-width: 1200px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 744px)  { .blog-grid { grid-template-columns: 1fr; } }
.blog-card {
  background: rgba(7, 23, 48, 0.45);
  border: 1.2px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--r);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 260ms var(--ease-out), border-color 260ms ease, background 260ms ease;
}
.blog-card:hover { border-color: rgba(255, 255, 255, 0.28); background: rgba(7, 23, 48, 0.62); }
.blog-card image-slot { width: 100%; height: 224.4px; display: block; }
.blog-card-body { padding: 21.12px 23.76px 23.76px; display: flex; flex-direction: column; gap: 10.56px; flex: 1; }
.blog-cat {
  font-family: var(--font-ui);
  font-size: 11.88px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
}
.blog-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21.78px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #fff;
  flex: 1;
}
.blog-meta {
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

/* ==================================================
   FOOTER
   ================================================== */
.site-footer { background: #070c12; border-top: 3.6px solid var(--gold); color: rgba(255,255,255,0.75); padding: 79.2px 31.68px 39.6px; }
.footer-grid {
  max-width: 1742.4px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 47.52px;
  padding-bottom: 52.8px;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
@media (max-width: 1200px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 672px)  { .footer-grid { grid-template-columns: 1fr; } }
.footer-brand .nav-brand { color: #fff; margin-bottom: 18.48px; }
.footer-brand .nav-brand small { color: rgba(255,255,255,0.45); }
.footer-brand p { font-size: 17.16px; line-height: 1.7; color: rgba(255,255,255,0.55); max-width: 369.6px; margin-bottom: 23.76px; }
.footer-social { display: flex; gap: 10.56px; }
.footer-social a {
  width: 42.24px; height: 42.24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid rgba(255,255,255,0.15);
  border-radius: 3.96px;
  color: rgba(255,255,255,0.7);
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.footer-social a:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.footer-social a svg { width: 18.48px; height: 18.48px; }
.footer-col h4 {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 21.12px;
}
.footer-col { display: flex; flex-direction: column; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 11.88px; }
.footer-col a { font-size: 17.16px; color: rgba(255,255,255,0.65); transition: color 180ms ease; }
.footer-col a:hover { color: #fff; }

.footer-pay {
  max-width: 1742.4px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 21.12px;
  flex-wrap: wrap;
  padding: 0 0 29.04px;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
.footer-pay-label {
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.pay-chips { display: flex; gap: 10.56px; flex-wrap: wrap; }
.pay-chip {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.08em * var(--tracking));
  color: rgba(255,255,255,0.75);
  border: 1.2px solid rgba(255,255,255,0.15);
  border-radius: 2.64px;
  padding: 6.6px 13.2px;
}
.footer-bottom {
  max-width: 1742.4px;
  margin: 0 auto;
  padding-top: 29.04px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 21.12px;
  flex-wrap: wrap;
  font-size: 15.18px;
  color: rgba(255,255,255,0.4);
  line-height: 1.7;
}
.footer-disclaimer { max-width: 686.4px; }

/* ==================================================
   REVEAL (frozen-clock safe)
   ================================================== */
@media (prefers-reduced-motion: no-preference) {
  .rv.pre-reveal { opacity: 0; transform: scale(0.985); }
  .rv.is-in { opacity: 1; transform: none; transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out); }
}
.rv.is-forced {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.rv.is-forced .progress-fill { transition: none !important; }
.boost-card.is-in { transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out), border-color 320ms ease, box-shadow 320ms ease; }


/* ==================================================
   ADDENDA · emoji chips, icon motion
   ================================================== */
.champ-emoji {
  width: 50.16px; height: 50.16px;
  border-radius: 3.96px;
  flex-shrink: 0;
  border: 1.2px solid var(--line);
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 25.08px;
  line-height: 1;
}

/* unique per-icon animations — removed per review; progress stripes kept */
@keyframes stripes   { from { background-position: 0 0; } to { background-position: 29.832px 0; } }
@media (prefers-reduced-motion: no-preference) {
  .progress-fill::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.35) 0 10.56px, transparent 10.56px 21.12px);
    animation: stripes 0.9s linear infinite;
  }
}

/* footer payments-first layout */
.footer-grid { padding-top: 42.24px; }


/* floating payment emblem (original site treatment) */
.order-emblem {
  position: absolute;
  top: -81.84px;
  left: 50%;
  width: 182.16px;
  height: 182.16px;
  object-fit: contain;
  z-index: 3;
  pointer-events: none;
  transform: translateX(-50%);
  filter: drop-shadow(0 23.76px 34.32px rgba(27, 31, 42, 0.35));
}
@media (prefers-reduced-motion: no-preference) {
  .order-emblem { animation: emblem-float 4.2s ease-in-out infinite; }
}
@keyframes emblem-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(-13.2px); }
}

/* Trustpilot-style stars */
.tp-stars { display: inline-flex; gap: 3.96px; }
.tp-star {
  width: 31.68px;
  height: 31.68px;
  background: #00b67a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tp-star svg { width: 18.48px; height: 18.48px; color: #fff; }
.review-card .tp-star { width: 26.4px; height: 26.4px; }
.review-card .tp-star svg { width: 15.84px; height: 15.84px; }




/* ==================================================
   REWORK v2 · Lighter rank board + white cards
   ================================================== */
.board {
  background:
    radial-gradient(1320px 607.2px at 50% -12%, rgba(255, 70, 85, 0.10) 0%, transparent 60%),
    radial-gradient(897.6px 501.6px at 100% 112%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 55%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg-soft) 100%);
  border: 1.2px solid var(--line);
}
.board .board-count { background: #fff; }

/* ==================================================
   Start today buttons — use the shared site button styles
   ================================================== */
.start-btns { gap: 15.84px; }

/* ==================================================
   REWORK v2 · White rank cards (rebuilt)
   ================================================== */
.boost-card { padding: 0; background: #fff; border: 1.2px solid var(--line); }
.boost-card:hover {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  box-shadow: var(--shadow-pop);
  transform: translateY(-2.64px);
}
.bc-head {
  display: flex; align-items: center; justify-content: space-between; gap: 13.2px;
  padding: 17.16px 19.8px; border-bottom: 1.2px solid var(--line-soft); background: #fbfdff;
}
.bc-champ { display: flex; align-items: center; gap: 13.2px; min-width: 0; }
.bc-emoji {
  width: 44.88px; height: 44.88px; border-radius: 11.88px; flex-shrink: 0;
  background: var(--royal-tint); border: 1.2px solid var(--royal-soft);
  display: inline-flex; align-items: center; justify-content: center; font-size: 22.44px;
}
.bc-champ-text { display: flex; flex-direction: column; min-width: 0; gap: 1.32px; }
.bc-ey { font-family: var(--font-ui); font-size: 10.56px; font-weight: 600; letter-spacing: calc(0.18em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-champ-name { font-family: var(--font-display); font-weight: 700; font-size: 19.8px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-live {
  display: inline-flex; align-items: center; gap: 7.92px; flex-shrink: 0;
  font-family: var(--font-ui); font-size: 11.22px; font-weight: 700; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase;
  color: var(--green); background: color-mix(in srgb, var(--green) 11%, #fff);
  border: 1.2px solid color-mix(in srgb, var(--green) 28%, #fff);
  padding: 6.6px 11.88px; border-radius: 1318.68px;
}
.bc-live-dot { width: 7.92px; height: 7.92px; border-radius: 50%; background: var(--green); }
@media (prefers-reduced-motion: no-preference) { .bc-live-dot { animation: live-pulse 1.9s ease-out infinite; } }
@keyframes live-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--green) 55%, transparent); }
  70%  { box-shadow: 0 0 0 8.4px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.bc-ranks {
  position: relative;
  display: flex; align-items: center; justify-content: center; gap: 7.92px;
  padding: 39.6px 15.84px 31.68px;
  background: radial-gradient(130% 95% at 50% 0%, var(--royal-tint) 0%, transparent 72%);
  overflow: hidden;
}
.bc-rank { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 9.24px; flex: 1; min-width: 0; }
.bc-crest { width: 166.32px; height: 166.32px; object-fit: contain; filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.24)); transition: transform 300ms var(--ease-out); }
.boost-card:hover .bc-rank-target .bc-crest { transform: translateY(-5.28px) scale(1.04); }
.bc-rank-name { font-family: var(--font-display); font-weight: 700; font-size: 22.44px; color: var(--ink); white-space: nowrap; }
.bc-rank-tag { font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.18em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-rank-target .bc-rank-name { color: var(--accent); }
body:not(.no-glow) .bc-ranks .bc-crest {
  filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.24)) drop-shadow(0 0 23.76px color-mix(in srgb, var(--bar) 55%, transparent));
}
.bc-arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--royal);
  transform: translateY(-29.04px);
  position: relative;
  z-index: 1;
}
.bc-arrow svg { width: 29.04px; height: 29.04px; margin: 0 -7.92px; }
.bc-arrow svg:nth-child(1) { opacity: 0.3; }
.bc-arrow svg:nth-child(2) { opacity: 0.55; }
.bc-arrow svg:nth-child(3) { opacity: 0.85; }
@media (prefers-reduced-motion: no-preference) {
  .bc-arrow svg { animation: chev-pulse 1.25s ease-in-out infinite; }
  .bc-arrow svg:nth-child(1) { animation-delay: 0s; }
  .bc-arrow svg:nth-child(2) { animation-delay: 0.16s; }
  .bc-arrow svg:nth-child(3) { animation-delay: 0.32s; }
}
@keyframes chev-pulse {
  0%, 100% { opacity: 0.25; transform: translateX(-2.64px); }
  50%      { opacity: 1; transform: translateX(2.64px); }
}
.bc-time {
  display: inline-flex; align-items: center; gap: 7.92px; flex-shrink: 0;
  line-height: 1;
  font-family: var(--font-ui); font-size: 12.54px; font-weight: 600; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase;
  color: var(--ink-soft); background: #fff; border: 1.2px solid var(--line); border-radius: 1318.68px; padding: 6.6px 14.52px;
}
.bc-time svg { width: 15.84px; height: 15.84px; color: var(--ink-muted); flex-shrink: 0; }
.bc-time em { font-style: normal; color: var(--accent); padding: 0 2.64px; }

/* card duo display */
.bc-emoji-duo { position: relative; width: 58.08px; height: 44.88px; flex-shrink: 0; }
.bc-emoji-duo .bc-emoji { position: absolute; top: 0; width: 36.96px; height: 36.96px; font-size: 18.48px; }
.bc-emoji-duo .bc-emoji:nth-child(1) { left: 0; z-index: 2; }
.bc-emoji-duo .bc-emoji:nth-child(2) { right: 0; top: 7.92px; z-index: 1; background: color-mix(in srgb, var(--gold) 16%, #fff); border-color: color-mix(in srgb, var(--gold-deep) 45%, #fff); }
.boost-card-duo { position: relative; }
.bc-duo-flag {
  position: absolute; top: 13.2px; right: 15.84px; z-index: 3;
  font-family: var(--font-ui); font-size: 10.56px; font-weight: 700; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase;
  color: var(--navy); background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  border-radius: 1318.68px; padding: 5.28px 11.88px; line-height: 1;
  box-shadow: 0 3.6px 10.8px -3.6px color-mix(in srgb, var(--gold-deep) 70%, transparent);
}
.boost-card-duo .bc-time { display: none; }
.boost-card-duo .bc-head { padding-right: 73.92px; }
.bc-foot { padding: 0 21.12px 21.12px; margin-top: auto; }
.bc-prog-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 13.2px; margin-bottom: 9.24px; }
.bc-prog-cur { font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-prog-cur b { color: var(--ink-soft); font-weight: 700; }
.bc-pct { font-family: var(--font-display); font-weight: 700; font-size: 21.12px; color: var(--ink); font-variant-numeric: tabular-nums; }
.bc-window {
  display: block; margin-top: 14.52px; text-align: center;
  font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted);
}
.bc-window em { font-style: normal; color: var(--accent); padding: 0 5.28px; }

/* ==================================================
   CONVENIENT · Lottie dashboard animation (parent faq.json via [bt_lottie])
   main.css is stripped on F3, so .lottie carries no inherited sizing — give the
   container an explicit box; the lottie-web SVG fills it (inline width/height 100%).
   ================================================== */
.conv-visual { width: 100%; }
.conv-visual .lottie { display: block; width: 100%; aspect-ratio: 750 / 500; }
.conv-visual .lottie svg { display: block; }
@media (max-width: 1080px) { .conv-visual { max-width: 616px; margin: 0 auto; } }

/* ==================================================
   REWORK v2 · Option card extras (flags, tags, sheen)
   ================================================== */
.option-body { z-index: 3; }
.option-flag {
  position: absolute; top: 21.12px; left: 21.12px; z-index: 3;
  display: inline-flex; align-items: center; gap: 7.92px;
  font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase;
  color: #fff; background: rgba(8, 20, 40, 0.5); -webkit-backdrop-filter: blur(7.92px); backdrop-filter: blur(7.92px);
  border: 1.2px solid rgba(255, 255, 255, 0.18); border-radius: 7.92px; padding: 9.24px 15.84px;
}
.option-flag svg { width: 15.84px; height: 15.84px; color: var(--gold); }
.option-tags { display: flex; flex-wrap: wrap; gap: 9.24px; margin-top: 2.64px; }
.option-tag {
  font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase;
  color: #fff; background: rgba(6, 16, 34, 0.72); -webkit-backdrop-filter: blur(9.24px); backdrop-filter: blur(9.24px);
  border: 1.2px solid rgba(255, 255, 255, 0.26);
  border-radius: 7.92px; padding: 6.6px 14.52px;
  text-shadow: 0 1.2px 4.8px rgba(0, 0, 0, 0.6);
}
/* edge-only defocus (A4): blur ~the outer 18% of the LEFT / BOTTOM / RIGHT of the
   card art, leaving the center sharp. backdrop-filter softens whatever is painted
   behind (the art + dark overlay); the 3 edge gradients mask it to the edges only.
   z-index 1 keeps it below the body text (z-index 2). */
.option-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  -webkit-mask-image:
    linear-gradient(to right, #000 0%, #000 15%, transparent 33%),
    linear-gradient(to left,  #000 0%, #000 15%, transparent 33%),
    linear-gradient(to top,   #000 0%, #000 15%, transparent 33%);
  mask-image:
    linear-gradient(to right, #000 0%, #000 15%, transparent 33%),
    linear-gradient(to left,  #000 0%, #000 15%, transparent 33%),
    linear-gradient(to top,   #000 0%, #000 15%, transparent 33%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.option-card { transition: box-shadow 260ms var(--ease-out), transform 260ms var(--ease-out); }
.option-card:hover { box-shadow: inset 0 0 0 3.6px var(--gold), var(--shadow-pop); }
.option-card:hover .option-art { transform: scale(1.06); }
/* shadow the overlaid card text for contrast against the art (A1) */
.option-title, .option-copy, .option-kicker, .option-price { text-shadow: 0 1.2px 10px rgba(5, 15, 34, 0.55); }

/* ==================================================
   OPTION CARDS · MOBILE (≤600)
   On a phone the long copy balloons the full-bleed-art card, so the body text
   rises to the top and collides with the absolute flag, and the ~5 backdrop-filter
   blurs per card (edge-defocus ::after + flag + 3 tags ×4 cards) make scrolling
   lag badly. Fix: drop the blurs and switch to a clean art-banner-on-top + solid
   body layout. Desktop ≥601 is untouched.
   ================================================== */
@media (max-width: 600px) {
  .option-card { display: block; min-height: 0; }
  .option-card::after { display: none; }
  .option-art { position: relative; height: 190px; transform: none; }
  .option-card:hover .option-art { transform: none; }
  .option-card::before { bottom: auto; height: 190px; }
  .option-flag { top: 14px; left: 14px; background: rgba(8, 20, 40, 0.85); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .option-body { background: var(--navy); padding: 19.8px 17.16px 21.12px; }
  .option-copy { font-size: 15.84px; line-height: 1.5; }
  .option-tag { background: rgba(255, 255, 255, 0.13); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .option-title, .option-copy, .option-kicker, .option-price { text-shadow: none; }
}

/* ==================================================
   REWORK v2 · Reviews carousel
   ================================================== */
.reviews-head-actions { display: inline-flex; align-items: center; gap: 15.84px; }
/* arrows now live in the 3rd grid column, beside the cards on the right and
   vertically centred with them (no longer in the section head above). */
.reviews-arrows { display: inline-flex; gap: 10.56px; align-self: center; justify-self: center; }
.rev-arrow {
  width: 52.8px; height: 52.8px; border-radius: 50%; border: 1.2px solid var(--royal-soft); background: var(--royal-tint); color: var(--royal);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: var(--shadow-soft);
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, opacity 180ms ease;
}
.rev-arrow:hover { background: var(--royal-tint); border-color: var(--royal-soft); transform: translateY(-1.32px); }
.rev-arrow:disabled { opacity: 0.35; cursor: default; transform: none; }
.rev-arrow svg { width: 21.12px; height: 21.12px; }
.rev-arrow.prev svg { transform: rotate(180deg); }
.reviews-viewport { overflow: hidden; padding: 15.4px 26.4px 44px; margin: -15.4px -26.4px -44px; }
.reviews-track { display: flex; gap: 18.48px; transition: transform 480ms var(--ease-out); will-change: transform; }
.reviews-track .review-card { flex: 0 0 calc((100% - 36.96px) / 3); }
@media (max-width: 912px) { .reviews-track .review-card { flex: 0 0 calc((100% - 18.48px) / 2); } }
@media (max-width: 624px) { .reviews-track .review-card { flex: 0 0 100%; } }
/* Only at the wide (side-by-side) layout: make the carousel track + cards fill the
   row height so they match the red summary box. min-width:0 lets the track honour
   its flex-basis instead of expanding to the full card list. Below 1320 the layout
   stacks, so the carousel keeps its normal (content-height) cards. */
@media (min-width: 1321px) {
  .reviews-viewport { display: flex; align-items: stretch; }
  .reviews-track { flex: 0 0 100%; min-width: 0; }
}

/* ==================================================
   REWORK v2 · Blog pagination
   ================================================== */
.blog-totop { max-width: 1742.4px; margin: 21.12px auto 0; display: flex; justify-content: center; }
.blog-totop-btn {
  display: inline-flex; align-items: center; gap: 10.56px;
  font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  padding: 11.88px 21.12px; border-radius: 1318.68px;
  border: 1.2px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.05);
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease;
}
.blog-totop-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.32); color: #fff; transform: translateY(-2.64px); }
.blog-totop-btn .totop-ico { width: 18.48px; height: 18.48px; transform: rotate(180deg); }
.blog-page-btn {
  min-width: 52.8px; height: 52.8px; padding: 0 17.16px; border-radius: 13.2px;
  border: 1.2px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.05); color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-ui); font-size: 15.84px; font-weight: 600; letter-spacing: calc(0.04em * var(--tracking));
  display: inline-flex; align-items: center; justify-content: center; gap: 9.24px; cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.blog-page-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); transform: translateY(-1.32px); }
.blog-page-btn.is-active { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.blog-page-btn:disabled { opacity: 0.32; cursor: default; }
.blog-page-btn svg { width: 19.8px; height: 19.8px; }
.blog-page-btn.prev svg { transform: rotate(180deg); }

/* ============================================================
   VALBOOSTING ADDITIONS — not in the EBL F3 design source.
   Brand mark recolor + the mobile nav-drawer that the shared
   valboosting chrome markup (header preview part) ships.
   ============================================================ */

/* Logo square + "Hot" pill: design used --orange; Val brand is red */
.nav-brand-mark { background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); box-shadow: 0 4.8px 12px -4.8px rgba(255, 70, 85, 0.5); }
.nav-hot { background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); box-shadow: 0 3.6px 10.8px -2.4px rgba(255, 70, 85, 0.6); }

/* Mobile nav drawer (off-canvas). Hidden on all viewports until .open. */
.nav-drawer-backdrop { position: fixed; inset: 0; z-index: 200; background: rgba(27, 31, 42, 0.55); -webkit-backdrop-filter: blur(2.64px); backdrop-filter: blur(2.64px); opacity: 0; transition: opacity 240ms ease; }
.nav-drawer-backdrop.open { opacity: 1; }
.nav-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 210; width: min(475.2px, 86vw); display: flex; flex-direction: column; background: #fff; border-left: 1.2px solid var(--line); box-shadow: -24px 0 72px -24px rgba(27, 31, 42, 0.4); transform: translateX(101%); transition: transform 300ms var(--ease-out); }
.nav-drawer.open { transform: translateX(0); }
.nav-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 21.12px 23.76px; border-bottom: 1.2px solid var(--line); }
.nav-drawer-close { width: 47.52px; height: 47.52px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 10.56px; background: var(--bg); color: var(--ink); cursor: pointer; }
.nav-drawer-close svg { width: 23.76px; height: 23.76px; }
.nav-drawer-links { display: flex; flex-direction: column; padding: 15.84px; gap: 2.64px; }
.nav-drawer-links .nav-link { font-size: 19.8px; padding: 17.16px 18.48px; }
.nav-drawer-foot { margin-top: auto; padding: 21.12px; border-top: 1.2px solid var(--line); }
.nav-drawer-foot .btn { width: 100%; justify-content: center; }
body.drawer-open { overflow: hidden; }

/* Blog thumbnails: design used <image-slot>; we render a gradient tile. */
.blog-card .blog-thumb { display: block; width: 100%; aspect-ratio: 16 / 10; background-size: cover; background-position: center; }

/* Mobile header fit: after the +20% scale the brand + 3 action buttons no
   longer fit a phone width. On small screens drop the bell/chat icons
   (the hamburger stays) and tighten nav padding so nothing overflows. */
@media (max-width: 600px) {
  .main-nav { padding: 10.56px 17.6px; gap: 13.2px; }
  .nav-actions { gap: 8.8px; }
  .nav-actions .nav-icon-btn { display: none; }
}

/* ==================================================
   FONT HIERARCHY CORRECTION
   --------------------------------------------------
   League (--font-display) is the big-impact DISPLAY face only: hero + section
   headings and numeric stats (prices, %, ratings, LP, counts). It reads too
   heavy/condensed for small titles, names, subtitles and reading text, so those
   take Barlow (--font-body). Appended last so it overrides the per-element
   --font-display declarations above at equal specificity. Kept in League:
   .section-title, .hero h1, .tile-name, .option-title + every number.
   ================================================== */
.section-lead,
.hero-lead,
.brand-service-text b,
.boost-champ,
.journey-rank-name,
.provide-item h3,
.review-title,
.blog-title,
.bc-champ-name,
.bc-rank-name {
  font-family: var(--font-body);
}

/* ≤480 — the fixed fox circle (≈332px incl. border) and the "EloBoostLeague"
   wordmark (≈336px at 38.6px) set the hero column's min-content. On a 360–430px
   phone that floor is wider than the viewport, so the single-column grid blew out
   and dragged the whole hero (h1, lead, CTAs) past the right edge (the wordmark
   itself was visibly clipped). Shrink both to the viewport + let the grid items
   collapse below their min-content. Only affects ≤480px. */
@media (max-width: 480px) {
  .hero-inner > * { min-width: 0; }
  .hero-circle { width: min(248px, 66vw); height: min(248px, 66vw); border-width: 7px; }
  .hero-brand-name { font-size: clamp(22px, 6.6vw, 30px); overflow-wrap: anywhere; }
  .hero-brand { padding-left: 15.84px; padding-right: 15.84px; }
}
/* ==================================================
   VALBOOSTING · SHARED PAGE PRIMITIVES  (F3 redesign)
   Ported from EBLO F3 pages.css: inherits home-page.css tokens
   (red palette), League.otf path fixed, scaled x1.2.
   --- original ---
   ELOBOOSTLEAGUE · SHARED PAGE PRIMITIVES
   Used across FAQ, Reviews, About, Refund, Booster, Demo.
   Extends homepage.css (palette, type, header, footer, buttons).
   ================================================== */

/* League display face — matches the LoL Boosting subpage.
   Big titles + rank descriptions render in this across all pages. */
/* Display face is League (cream-compact). Keep the .vb-rd token (f3-tokens.css /
   home-page.css) authoritative; this :root copy only seeds non-.vb-rd fallbacks
   with the same stack so nothing reverts to the old Rajdhani. */
:root {
  --font-display: 'League', 'Oswald', 'Rajdhani', sans-serif;
}

/* ---------- PAGE HERO · Cream compact, Frost colourway ----------
   Mirrors the live boost hero (boost-page.css .vhero / .cc-slash): cool-white
   page bg + a brand wedge bleeding off the right viewport edge. The copy sits
   left of the wedge on .page-hero-inner (z-index 2). CSS-only — no markup change. */
.page-hero {
  position: relative;
  overflow: hidden;
  color: var(--ink);
  background:
    radial-gradient(912px 528px at 88% -20%, rgba(255,70,85,0.16), transparent 60%),
    linear-gradient(160deg, #ffffff 0%, #f7f9fc 55%, #eef1f7 100%);
  border-bottom: 1.2px solid #ececf0;
}
.page-hero::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0; bottom: 0;
  left: 58%;
  right: min(-48px, calc(744px - 50vw));
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 36px 96px -40px rgba(255,70,85,0.5);
  pointer-events: none;
}
.page-hero::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0; bottom: 0;
  left: 58%;
  right: min(-48px, calc(744px - 50vw));
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  background-image: radial-gradient(rgba(255,255,255,0.14) 1.2px, transparent 1.2px);
  background-size: 24px 24px;
  opacity: 0.5;
  mask-image: linear-gradient(120deg, #000, transparent 78%);
  pointer-events: none;
}
.page-hero-inner {
  position: relative;
  z-index: 2;
  /* match the nav / boost-page content box (1742.4px + 31.68px gutter) so the hero
     copy's left edge lines up with the nav logo on every explanation page (UI batch 5) */
  max-width: 1742.4px;
  margin: 0 auto;
  padding: 52.8px 31.68px 57.6px;
}
.page-hero.tight .page-hero-inner { padding: 40.8px 31.68px 45.6px; }
/* below the wedge the hero stacks; soften so the red panel becomes a top band */
@media (max-width: 760px) {
  .page-hero::before, .page-hero::after { left: -28.8px; right: -28.8px; top: -40px; bottom: auto; height: 96px; clip-path: polygon(0 0, 100% 0, 100% 64%, 0 100%); }
}

.crumbs {
  display: flex;
  align-items: center;
  gap: 9.6px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: #8b909c;
  margin-bottom: 16.8px;
}
.crumbs a { transition: color 180ms ease; }
.crumbs a:hover { color: var(--royal); }
.crumbs svg { width: 13.2px; height: 13.2px; opacity: 0.5; }
.crumbs .cur { color: var(--royal); }

.page-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10.8px;
  margin-bottom: 14.4px;
}
.page-hero-tag {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--royal);
  padding: 4.8px 10.8px;
  border-radius: 2.4px;
}
.page-hero-eytext {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #8b909c;
}
.page-hero h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(36px, 3.4vw, 55.2px);
  letter-spacing: -0.01em;
  line-height: 1.02;
  max-width: 18ch;
}
.page-hero h1 em { font-style: normal; font-weight: 700; color: var(--royal); }
.page-hero .page-lead {
  font-family: var(--font-body);
  font-size: clamp(16.8px, 1.4vw, 19.2px);
  font-weight: 400;
  color: #4a4e57;
  line-height: 1.5;
  max-width: 640px;
  margin-top: 16.8px;
}
.page-hero .page-lead em { font-style: normal; color: var(--ink); font-weight: 500; }

/* hero feats / pills row */
.hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 9.6px;
  margin-top: 21.6px;
}
.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 9.6px;
  background: rgba(255,255,255,0.7);
  border: 1.2px solid #ececf0;
  border-radius: var(--r);
  padding: 10.8px 15.6px;
  font-family: var(--font-ui);
  font-size: 12.6px;
  font-weight: 600;
  letter-spacing: calc(0.08em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink);
  transition: background 200ms ease, border-color 200ms ease;
}
.hero-pill:hover { background: var(--royal-tint); border-color: var(--royal-soft); }
.hero-pill svg { width: 16.8px; height: 16.8px; color: var(--royal); }

.page-hero-rating { display: inline-flex; align-items: center; gap: 12px; margin-top: 19.2px; }
.page-hero-rating .tp-stars { display: flex; gap: 3.6px; }
.page-hero-rating .tp-star { color: #22b358; }
.page-hero-rating .tp-star svg { width: 18px; height: 18px; }
.page-hero-rating-text {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: #8b909c;
}
.page-hero-rating-text em { font-style: normal; color: var(--ink); }

/* ---------- SECTION SHELL ---------- */
.page-section { padding: 76.8px 28.8px; }
.page-section.soft { background: var(--bg-soft); }
.page-section.tightpad { padding: 52.8px 28.8px; }
/* ~50% side padding on a phone so sub-page content isn't squeezed into a narrow
   column (round 3). Only affects ≤480px. */
@media (max-width: 480px) {
  .page-section, .page-section.tightpad { padding-left: 14.52px; padding-right: 14.52px; }
  .page-hero-inner { padding-left: 15.84px; padding-right: 15.84px; }
  .page-hero.tight .page-hero-inner { padding-left: 15.84px; padding-right: 15.84px; }
  .co-wrap { padding-left: 15.84px; padding-right: 15.84px; }
}

/* trustpilot stars helper (shared) */
.tp-stars { display: inline-flex; gap: 3.6px; color: #22b358; }
.tp-star svg { width: 19.2px; height: 19.2px; }
.tp-stars.gold { color: var(--gold-deep); }

/* ---------- PROSE (policy / article text) ---------- */
.prose { max-width: 912px; }
.prose p {
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-soft);
  margin-bottom: 19.2px;
}
.prose p:last-child { margin-bottom: 0; }
.prose strong { color: var(--ink); font-weight: 700; }
.prose a { color: var(--royal); font-weight: 600; text-decoration: underline; text-underline-offset: 2.4px; text-decoration-thickness: 1.2px; }
.prose a:hover { color: var(--royal-deep); }
.prose h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 33.6px 0 12px;
}

/* ---------- CARD ---------- */
.surface-card {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: calc(var(--r) + 2.4px);
  box-shadow: var(--shadow-soft);
}
.card-eyebrow {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}

/* ---------- CONTACT / SUPPORT CALLOUT (red band), RETIRING ----------
   Replaced site-wide by the dark .cta-strip (home-page.css). Nothing in this
   theme renders .support-band any more: careers and refund now emit .cta-strip
   from their parts. The ONE remaining renderer is the /faq/ page body, which is
   editor content, so this block must stay until the owner re-pastes it from
   boosting-core/docs/faq-template-valorant.html. Delete the whole block (down to
   .btn-live:hover) once that paste is done. */
.support-band {
  position: relative;
  background: var(--royal);
  color: #fff;
  overflow: hidden;
}
.support-band::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.10) 1.2px, transparent 1.2px);
  background-size: 19.2px 19.2px;
  mask-image: linear-gradient(120deg, rgba(0,0,0,0.55), transparent 72%);
  pointer-events: none;
}
.support-inner {
  position: relative;
  z-index: 1;
  max-width: 1584px;
  margin: 0 auto;
  padding: 52.8px 28.8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28.8px;
  flex-wrap: wrap;
}
.support-copy { display: flex; align-items: center; gap: 19.2px; }
.support-ico {
  width: 57.6px; height: 57.6px;
  flex-shrink: 0;
  border-radius: var(--r);
  background: rgba(255,255,255,0.08);
  border: 1.2px solid rgba(255,255,255,0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
}
.support-ico svg { width: 26.4px; height: 26.4px; }
.support-band h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28.8px;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.support-band p {
  font-size: 16.2px;
  color: rgba(255,255,255,0.7);
  margin-top: 3.6px;
}
.support-band .live-dot {
  display: inline-block;
  width: 8.4px; height: 8.4px;
  border-radius: 50%;
  background: var(--green);
  margin-right: 7.2px;
  vertical-align: 1.2px;
}
.btn-live {
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-deep) 100%);
  color: #fff;
  box-shadow: 0 9.6px 36px -9.6px rgba(255, 122, 42, 0.5);
}
.btn-live:hover { transform: translateY(-1.2px); box-shadow: 0 14.4px 43.2px -9.6px rgba(255, 122, 42, 0.6); }

/* ---------- back to top ---------- */
.to-top {
  display: flex;
  justify-content: center;
  padding: 9.6px 0 0;
}
.to-top-btn {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 9.6px;
}
.to-top-btn svg { width: 15.6px; height: 15.6px; transform: rotate(180deg); }
.to-top-btn:hover { color: var(--royal); }

/* ---------- reveal (frozen-clock safe, never stuck hidden) ---------- */
.rv { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .rv.is-armed { opacity: 0; transform: translateY(19.2px); }
  .rv.is-in { opacity: 1; transform: none; transition: opacity 640ms var(--ease-out), transform 640ms var(--ease-out); }
}

#tweaks-root { position: relative; z-index: 9999; }

/* ---------- small responsive ---------- */
@media (max-width: 864px) {
  .support-inner { flex-direction: column; align-items: flex-start; }
}

/* ==================================================
   FONT HIERARCHY CORRECTION
   League stays on the page hero + section headings + the CTA band; the in-article
   prose sub-heading reads as content, so it uses Barlow. Appended last to override
   the per-element --font-display at equal specificity.
   ================================================== */
.prose h3 { font-family: var(--font-body); }
/* ==========================================================================
   Accounts store ([bt_accounts]) — F3 skin.
   Consumes the .vb-rd token set (f3-tokens.css); never redeclares tokens.
   Width/layout rules are scoped to the COMPOUND .vb-rd.vb-accounts-page so
   the page body-class can't shrink the whole document (body_class gotcha).
   px values carry the baked-in F3 scale (copy neighbours, don't re-derive).
   ========================================================================== */

.vb-rd.vb-accounts-page {
    background: var(--bg-soft);
}

/* ---- filter / sort bar ------------------------------------------------- */
.vb-rd .acct-toolbar {
    max-width: 1742.4px;
    margin: 0 auto;
    padding: 26.4px 31.68px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10.56px;
    align-items: center;
}
.vb-rd .acct-chip {
    appearance: none;
    border: 1.2px solid var(--line);
    background: #fff;
    color: var(--ink-soft);
    font-family: var(--font-ui);
    font-size: 12.6px;
    letter-spacing: calc(0.04em * var(--tracking));
    text-transform: uppercase;
    padding: 8.4px 15.84px;
    border-radius: 999px;
    cursor: pointer;
    transition: all .18s var(--ease-out);
}
.vb-rd .acct-chip:hover { border-color: var(--royal-soft); color: var(--ink); }
.vb-rd .acct-chip.is-active {
    background: linear-gradient(180deg, var(--royal), var(--royal-deep));
    border-color: var(--royal-deep);
    color: #fff;
}
.vb-rd .acct-toolbar-count {
    margin-left: auto;
    font-family: var(--font-ui);
    font-size: 12.6px;
    color: var(--ink-muted);
    letter-spacing: calc(0.04em * var(--tracking));
}

/* ---- listing grid ------------------------------------------------------ */
.vb-rd.vb-accounts-page .acct-wrap {
    max-width: 1742.4px;
    margin: 0 auto;
    padding: 26.4px 31.68px 52.8px;
}
.vb-rd .acct-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(343.2px, 100%), 1fr));
    gap: 21.12px;
}
.vb-rd .acct-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1.2px solid var(--line);
    border-radius: calc(var(--r) + 2.64px);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s var(--ease-out);
}
.vb-rd .acct-card:hover {
    transform: translateY(-3.96px);
    box-shadow: var(--shadow-pop);
    border-color: var(--royal-soft);
}
.vb-rd .acct-media {
    height: 158.4px;
    background: var(--bg-deep) center / cover no-repeat;
    position: relative;
}
.vb-rd .acct-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(27, 31, 42, .35));
}
.vb-rd .acct-head {
    display: flex;
    align-items: center;
    gap: 10.56px;
    padding: 15.84px 18.48px 0;
}
.vb-rd .acct-crest { width: 39.6px; height: 39.6px; object-fit: contain; }
.vb-rd .acct-tags { display: flex; flex-wrap: wrap; gap: 6.6px; }
.vb-rd .acct-tag {
    font-family: var(--font-ui);
    font-size: 11.4px;
    letter-spacing: calc(0.05em * var(--tracking));
    text-transform: uppercase;
    background: var(--royal-tint);
    color: var(--royal-deep);
    border-radius: 999px;
    padding: 3.3px 11.88px;
}
.vb-rd .acct-tag.is-instant { background: var(--status-soft); color: #178a43; }
.vb-rd .acct-tag.is-manual { background: #fdeede; color: var(--orange-deep); }
.vb-rd .acct-body {
    padding: 13.2px 18.48px 0;
    display: flex;
    flex-direction: column;
    gap: 7.92px;
    flex: 1;
}
.vb-rd .acct-title {
    font-family: var(--font-display);
    font-size: 23.76px;
    line-height: 1.1;
    color: var(--ink);
    margin: 0;
}
.vb-rd .acct-desc {
    font-family: var(--font-body);
    font-size: 14.52px;
    line-height: 1.55;
    color: var(--ink-soft);
    flex: 1;
}
.vb-rd .acct-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 13.2px;
    padding: 15.84px 18.48px;
    margin-top: 13.2px;
    border-top: 1.2px solid var(--line-soft);
}
.vb-rd .acct-price {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.vb-rd .acct-price .amt {
    font-family: var(--font-display);
    font-size: 29.04px;
    color: var(--ink);
}
.vb-rd .acct-price .stock {
    font-family: var(--font-ui);
    font-size: 11.4px;
    letter-spacing: calc(0.04em * var(--tracking));
    text-transform: uppercase;
    color: var(--ink-muted);
    margin-top: 3.3px;
}
.vb-rd .acct-price .stock.is-out { color: var(--red); }
.vb-rd .acct-buy-form { margin: 0; }
.vb-rd .acct-buy-form .btn { white-space: nowrap; }

/* sold-out */
.vb-rd .acct-card.is-out { opacity: .72; }
.vb-rd .acct-card.is-out:hover { transform: none; box-shadow: var(--shadow-soft); border-color: var(--line); }
.vb-rd .acct-soldout-btn {
    font-family: var(--font-ui);
    text-transform: uppercase;
    letter-spacing: calc(0.05em * var(--tracking));
    font-size: 12.6px;
    color: var(--ink-muted);
    border: 1.2px solid var(--line);
    background: var(--bg-soft);
    border-radius: var(--r);
    padding: 11.88px 19.8px;
    cursor: not-allowed;
}

/* ---- empty state ------------------------------------------------------- */
.vb-rd .acct-empty {
    text-align: center;
    padding: 66px 0;
    color: var(--ink-soft);
    font-family: var(--font-body);
    font-size: 16.5px;
}

/* ---- responsive -------------------------------------------------------- */
@media (max-width: 768px) {
    .vb-rd.vb-accounts-page .acct-wrap,
    .vb-rd .acct-toolbar { padding-left: 18.48px; padding-right: 18.48px; }
    .vb-rd .acct-grid { grid-template-columns: 1fr; }
    .vb-rd .acct-toolbar-count { width: 100%; margin-left: 0; }
}
/* ==================================================
   ELOBOOSTLEAGUE · LOL BOOSTING SUBPAGE
   Extends homepage.css (shared tokens, nav, footer,
   buttons, section heads, FAQ, reviews, reveal).
   This sheet adds: page hero, product menu, the rank
   calculator, order panel, extra options, note box,
   review-submit, SEO content blocks, CTA strip.
   ================================================== */

/* The order page's display face is 'Rajdhani' (matches the design), shipped in the
   theme at assets/fonts/League.otf. Drives headings + the big calculator numbers
   (dial value, prices, rank names) via --font-display below. */
/* League.otf @font-face removed — display font is now Google Rajdhani (loaded via the page <head>) */

/* ---- subpage-local knobs (tweakable) ----
   Do NOT re-declare --font-display / --gold / --gold-deep / --bar here. Those are
   owned by the .vb-rd token block (home-page.css + f3-tokens.css). A :root copy
   split the palette — gold rendered yellow inside .vb-rd but the old peach on
   :root, and font-display pinned Rajdhani outside .vb-rd — i.e. the reported
   colliding styles. Only page-local knobs + tier colours belong here. */
:root {
  --calc-skin: classic;       /* calculator version */
  --xopt-skin: chips;         /* extra-options version */
  --menu-skin: rail;          /* product-menu version */
  --tier-iron:#8a7d72; --tier-bronze:#b3744a; --tier-silver:#9fb1c2;
  --tier-gold:#e3ad36; --tier-platinum:#3ec2b4; --tier-emerald:#27ad65;
  --tier-diamond:#5b93e6; --tier-master:#9a5ad1; --tier-grandmaster:#e0563f;
  --tier-challenger:#43b6ec;
}

/* ==================================================
   PAGE HERO · vhero "Cream compact" (handoff hero 6), Frost colourway
   --------------------------------------------------
   Cool-white page bg + a brand diagonal wedge that bleeds to the
   right viewport edge, holding a centred Radiant crest card.
   Ported from valorant-hero.css. The handoff's per-hero
   scale --k (0.58 for hero 6) is multiplied by the site's
   1.2 scale → 0.696, so every calc(Npx * var(--k)) lands at
   1.2×; fixed gutters/gaps are written at 1.2× directly so
   the hero shares the calculator's 1584 / 28.8 box.
   ================================================== */
.vhero {
  --k: 0.696;                 /* 0.58 (hero 6) × 1.2 site scale */
  position: relative; overflow: hidden; color: var(--ink);
  background:
    radial-gradient(1003.2px 580.8px at 88% -20%, rgba(255,70,85,0.16), transparent 60%),
    linear-gradient(160deg, #ffffff 0%, #f7f9fc 55%, #eef1f7 100%);
  border-bottom: 1.2px solid #ececf0;
  --cc-acc: var(--royal);
  --cc-wedge: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  --cc-glow: rgba(255,70,85,0.55);
}
.vhero h1 { font-family: var(--font-display); font-weight: 700; font-size: min(calc(59.4px * var(--k)), 12vw); letter-spacing: -0.03em; line-height: 0.98; text-wrap: balance; }
.vhero h1 em { font-style: normal; color: var(--cc-acc); }
.vhero-lead { font-family: var(--font-body); font-size: max(17.16px, calc(16.5px * var(--k))); font-weight: 400; color: #4a4e57; line-height: 1.5; max-width: 686.4px; }
.vhero-eyebrow { display: inline-flex; align-items: center; gap: 11.88px; font-family: var(--font-ui); font-size: 14.52px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: #8b909c; }
.vhero-eyebrow svg { width: 18.48px; height: 18.48px; color: var(--cc-acc); }
.hs-copy { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: calc(19.8px * var(--k)); }

/* inline perks row — items split by a left border, first has none */
.vhero-frow { display: flex; flex-wrap: wrap; align-items: center; margin-top: 5.28px; }
.vhero-frow .fi { display: inline-flex; align-items: center; gap: 10.56px; padding: 2.64px 19.8px; font-family: var(--font-ui); font-size: 15.84px; font-weight: 600; letter-spacing: calc(0.03em * var(--tracking)); color: #2a2e36; border-left: 1.2px solid #e2e4ea; }
.vhero-frow .fi:first-child { padding-left: 0; border-left: 0; }
.vhero-frow svg { width: 19.8px; height: 19.8px; color: var(--cc-acc); }

/* crest-card / diagonal wedge system */
.cc-inner { position: relative; z-index: 2; max-width: 1742.4px; margin: 0 auto; padding: calc(63.8px * var(--k)) 31.68px; padding-bottom: calc(63.8px * var(--k) + 10.56px); display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 39.6px; align-items: stretch; }
.cc-panel { position: relative; min-height: calc(330px * var(--k)); display: flex; align-items: center; justify-content: center; }
.cc-slash { position: absolute; z-index: 1; top: calc(-63.8px * var(--k)); bottom: calc(-63.8px * var(--k) - 10.56px); left: 18.48px; right: min(-52.8px, calc(818.4px - 50vw)); background: var(--cc-wedge); clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%); box-shadow: 0 36px 96px -40px var(--cc-glow); }
.cc-slash::after { content: ''; position: absolute; inset: 0; clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%); background-image: radial-gradient(rgba(255,255,255,0.13) 1.32px, transparent 1.32px); background-size: 26.4px 26.4px; opacity: 0.5; mask-image: linear-gradient(115deg, #000, transparent 75%); }
.cc-card { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: calc(11px * var(--k)); padding: calc(24.2px * var(--k)); text-align: center; }
.cc-crest { width: calc(154px * var(--k)); height: calc(154px * var(--k)); filter: drop-shadow(0 18.48px 39.6px rgba(0,0,0,0.4)); }
/* Brand fox crest variant (like EBL) — the SVG fox scales by width, natural height. */
.cc-crest-brand { width: calc(177px * var(--k)); height: auto; }
.cc-tag { font-family: var(--font-display); font-weight: 800; font-size: calc(35.2px * var(--k)); letter-spacing: 0.02em; color: #fff; line-height: 1; }
.cc-sub { font-family: var(--font-ui); font-size: max(13.2px, calc(12.1px * var(--k))); font-weight: 600; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase; color: rgba(255,255,255,0.88); }

@keyframes vhIn { from { opacity: 0; transform: translateY(21.12px); } to { opacity: 1; transform: none; } }
@keyframes perkIn { from { opacity: 0; transform: translateY(13.2px) scale(0.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .cc-inner { animation: vhIn 0.55s var(--ease-out) both; }
  .vhero-frow .fi { opacity: 0; animation: perkIn 0.5s var(--ease-out) forwards; }
  .hs-copy .vhero-frow > :nth-child(1) { animation-delay: 0.18s; }
  .hs-copy .vhero-frow > :nth-child(2) { animation-delay: 0.30s; }
  .hs-copy .vhero-frow > :nth-child(3) { animation-delay: 0.42s; }
  .hs-copy .vhero-frow > :nth-child(4) { animation-delay: 0.54s; }
}

/* ---- responsive · stack ≤1104px (handoff 920 × 1.2) ---- */
@media (max-width: 1104px) {
  .cc-inner { grid-template-columns: 1fr; gap: 34.32px; }
  .cc-panel { order: -1; min-height: 0; }
  .cc-slash { top: calc(-17.6px * var(--k)); bottom: calc(-17.6px * var(--k)); left: -31.68px; right: -31.68px; clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%); }
  .cc-card { padding: calc(33px * var(--k)) calc(22px * var(--k)); }
}

/* ==================================================
   CALCULATOR LAYOUT
   ================================================== */
.calc-section { background: var(--bg); padding: 47.52px 31.68px 79.2px; }
.calc-layout {
  /* 1526.4 = 1584 − 2×28.8: matches the hero's content width (.cc-inner is 1584 with
     28.8 internal gutters) so the calculator + order panel line up with the hero text
     and the nav, instead of sticking out 28.8px each side. */
  max-width: 1742.4px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 475.2px; gap: 29.04px; align-items: start;
}
@media (max-width: 1296px) { .calc-layout { grid-template-columns: 1fr; } }
.calc-main { display:flex; flex-direction:column; gap: 23.76px; min-width: 0; }

/* lift the whole calculator up so it overlaps the hero a touch */
.calc-section { margin-top: -36.96px; position: relative; z-index: 5; }

/* ==================================================
   PRODUCT MENU (default: rail of pills)
   ================================================== */
.prod-menu {
  background: #fff; border: 1.2px solid var(--line);
  border-radius: calc(var(--r) + 5.28px);
  box-shadow: var(--shadow-pop);
  padding: 13.2px;
  display: flex; gap: 10.56px; flex-wrap: wrap;
}
/* default rail: 2 big tabs on the top row (50% each), the rest wrap below */
.prod-menu .prod-tab.big { flex: 1 1 calc(50% - 10.56px); }
.prod-menu .prod-tab.big .prod-tab-ico { width: 52.8px; height: 52.8px; }
.prod-menu .prod-tab.big .prod-tab-ico svg { width: 27.72px; height: 27.72px; }
.prod-menu .prod-tab.big .prod-tab-name { font-size: 21.12px; }
.prod-menu .prod-tab:not(.big) { flex: 1 1 0; }
.prod-tab {
  flex: 1 1 auto;
  position: relative;
  display: flex; align-items: center; gap: 14.52px;
  padding: 15.84px 18.48px;
  border-radius: var(--r);
  border: 1.2px solid transparent;
  background: var(--bg-soft);
  cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease, transform 160ms var(--ease-out), box-shadow 200ms ease;
  text-align: left; min-width: 0;
}
.prod-tab:hover { background: var(--royal-tint); border-color: var(--royal-soft); transform: translateY(-1.32px); }
.prod-tab.is-active {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  border-color: var(--royal-deep);
  box-shadow: 0 12px 31.2px -14.4px rgba(255,70,85,0.6);
}
.prod-tab-ico {
  width: 44.88px; height: 44.88px; flex-shrink: 0;
  border-radius: var(--r);
  background: #fff; border:1.2px solid var(--line);
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--royal);
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.prod-tab-ico svg { width:23.76px; height:23.76px; }
.prod-tab.is-active .prod-tab-ico { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.2); color:#fff; }
.prod-tab-txt { display:flex; flex-direction:column; gap:5.28px; min-width:0; }
.prod-tab-name {
  font-family: var(--font-display); font-weight: 700; font-size: 18.48px;
  letter-spacing:-0.01em; color: var(--ink); white-space:nowrap;
}
.prod-tab.is-active .prod-tab-name { color:#fff; }
.prod-tab-sub {
  font-family: var(--font-ui); font-size: 11.22px; font-weight:600;
  letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase;
  color: var(--ink-muted); white-space:nowrap;
}
.prod-tab.is-active .prod-tab-sub { color: rgba(255,255,255,0.7); }
.prod-tab-hot {
  position:absolute; top:-7.92px; right:-5.28px;
  font-family: var(--font-ui); font-size:9.9px; font-weight:800;
  letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase;
  color:#fff; background: linear-gradient(135deg, var(--orange), var(--orange-deep));
  border-radius: var(--r); padding: 2.64px 7.92px;
  box-shadow: 0 3.6px 9.6px -2.4px rgba(255,122,42,0.6);
}

/* ---- MENU SKIN 2 · PILL-ICON (rounded pills, circular gradient icon badge) ---- */
body[data-menu="pillicon"] .prod-menu { background:#fff; border:1.2px solid var(--line); border-radius:1318.68px; padding:9.24px; gap:7.92px; box-shadow: var(--shadow-soft); }
body[data-menu="pillicon"] .prod-tab { border-radius:1318.68px; background:none; border:none; padding:10.56px 23.76px 10.56px 10.56px; }
body[data-menu="pillicon"] .prod-tab:hover { background: var(--royal-tint); transform:none; }
body[data-menu="pillicon"] .prod-tab-ico { width:50.16px; height:50.16px; border-radius:50%; background: var(--bg-deep); border:none; color: var(--royal); }
body[data-menu="pillicon"] .prod-tab.is-active { background: linear-gradient(135deg, var(--royal), var(--royal-deep)); box-shadow: 0 12px 31.2px -14.4px rgba(255,70,85,0.65); }
body[data-menu="pillicon"] .prod-tab.is-active .prod-tab-ico { background: linear-gradient(135deg, var(--gold), var(--gold-deep)); color: var(--navy); }
body[data-menu="pillicon"] .prod-tab.is-active .prod-tab-name { color:#fff; }
body[data-menu="pillicon"] .prod-tab.is-active .prod-tab-sub { color: rgba(255,255,255,0.72); }
body[data-menu="pillicon"] .prod-tab-hot { top:-2.64px; right:7.92px; }

/* ---- MENU SKIN 4 · TOP-ACCENT (white tabs, per-product colour stripe on top) ---- */
body[data-menu="accent"] .prod-menu { background:none; border:none; box-shadow:none; padding:0; gap:13.2px; }
body[data-menu="accent"] .prod-tab {
  background:#fff; border:1.2px solid var(--line); border-top:3.6px solid var(--c, var(--royal));
  border-radius: var(--r); padding:19.8px 21.12px; box-shadow: var(--shadow-soft);
}
body[data-menu="accent"] .prod-tab:nth-child(1){ --c:#22b358; }
body[data-menu="accent"] .prod-tab:nth-child(2){ --c:#ff5663; }
body[data-menu="accent"] .prod-tab:nth-child(3){ --c:#8d6ce0; }
body[data-menu="accent"] .prod-tab:nth-child(4){ --c:var(--gold-deep); }
body[data-menu="accent"] .prod-tab:nth-child(5){ --c:var(--orange); }
body[data-menu="accent"] .prod-tab:hover { transform: translateY(-2.64px); box-shadow: var(--shadow-pop); }
body[data-menu="accent"] .prod-tab.is-active { transform: translateY(-3.96px); border-top-width:6px; box-shadow: var(--shadow-pop); }
body[data-menu="accent"] .prod-tab-ico { background: color-mix(in srgb, var(--c) 14%, #fff); border-color: color-mix(in srgb, var(--c) 30%, var(--line)); color: var(--c); }
body[data-menu="accent"] .prod-tab.is-active .prod-tab-ico { background: var(--c); border-color: var(--c); color:#fff; }
body[data-menu="accent"] .prod-tab.is-active .prod-tab-name { color: var(--c); }

/* ---- MENU SKIN 3 · COLOUR CARDS (like homepage tiles) ---- */
body[data-menu="cards"] .prod-menu {
  background: none; border: none; box-shadow: none; padding: 0; gap: 15.84px;
}
body[data-menu="cards"] .prod-tab {
  flex: 1 1 0; flex-direction: column; align-items: flex-start; gap: 23.76px;
  min-height: 153.12px; padding: 21.12px 21.12px 19.8px; color:#fff;
  border: none; border-radius: var(--r); overflow:hidden;
  box-shadow: var(--shadow-soft);
}
body[data-menu="cards"] .prod-tab:nth-child(1) { background: linear-gradient(140deg, #2cc468, #168a44); }
body[data-menu="cards"] .prod-tab:nth-child(2) { background: linear-gradient(140deg, #ff5663, var(--royal-deep)); }
body[data-menu="cards"] .prod-tab:nth-child(3) { background: linear-gradient(140deg, #8d6ce0, #5a3cb0); }
body[data-menu="cards"] .prod-tab:nth-child(4) { background: linear-gradient(140deg, var(--gold), var(--gold-deep)); color: var(--navy); }
body[data-menu="cards"] .prod-tab:nth-child(5) { background: linear-gradient(140deg, #ff9248, var(--orange-deep)); }
body[data-menu="cards"] .prod-tab:hover { transform: translateY(-3.96px); box-shadow: var(--shadow-pop); }
body[data-menu="cards"] .prod-tab.is-active { box-shadow: 0 0 0 3.6px var(--gold), var(--shadow-pop); }
body[data-menu="cards"] .prod-tab:nth-child(4).is-active { box-shadow: 0 0 0 3.6px var(--royal), var(--shadow-pop); }
body[data-menu="cards"] .prod-tab-ico { background: rgba(255,255,255,0.18); border: none; color:#fff; }
body[data-menu="cards"] .prod-tab:nth-child(4) .prod-tab-ico { background: rgba(27,31,42,0.16); color: var(--navy); }
body[data-menu="cards"] .prod-tab-name { color:#fff; font-size:22.44px; }
body[data-menu="cards"] .prod-tab:nth-child(4) .prod-tab-name { color: var(--navy); }
body[data-menu="cards"] .prod-tab-sub { color: rgba(255,255,255,0.78); }
body[data-menu="cards"] .prod-tab:nth-child(4) .prod-tab-sub { color: rgba(27,31,42,0.7); }
@media (max-width: 912px) { body[data-menu="cards"] .prod-tab { min-height: 121.44px; } }

/* ==================================================
   CALCULATOR CARD
   ================================================== */
.calc-card {
  position: relative;
  background:
    radial-gradient(1082.4px 501.6px at 85% -10%, rgba(255,70,85,0.06), transparent 60%),
    radial-gradient(818.4px 448.8px at 0% 120%, rgba(255,234,61,0.08), transparent 55%),
    var(--bg-soft);
  border: 1.2px solid var(--line);
  border-radius: calc(var(--r) + 5.28px);
  box-shadow: var(--shadow-soft);
  padding: 34.32px 36.96px 39.6px;
  overflow: hidden;
}
.calc-card-head {
  display:flex; align-items:center; justify-content:space-between;
  gap:18.48px; flex-wrap:wrap; margin-bottom: 29.04px;
}
.calc-card-head .ttl {
  font-family: var(--font-display); font-weight:700; font-size:26.4px;
  letter-spacing:-0.02em; color: var(--ink);
  display:inline-flex; align-items:center; gap:13.2px;
}
.calc-card-head .ttl svg { width:23.76px; height:23.76px; color: var(--royal); }
.calc-chip {
  font-family: var(--font-ui); font-size:12.54px; font-weight:600;
  letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase;
  color: var(--green); background: color-mix(in srgb, var(--green) 12%, #fff);
  border:1.2px solid color-mix(in srgb, var(--green) 30%, var(--line));
  border-radius: var(--r); padding: 7.92px 15.84px;
  display:inline-flex; align-items:center; gap:9.24px;
}
.calc-chip .dot { width:9.24px;height:9.24px;border-radius:50%;background:var(--green); }
.calc-chip .chip-ico { width:17.16px; height:17.16px; color: var(--green); }
.calc-chip .chip-dot { width:10.56px; height:10.56px; border-radius:50%; background: var(--green); box-shadow: 0 0 0 3.6px color-mix(in srgb, var(--green) 22%, transparent); }
.calc-chip b { font-weight:800; color: var(--ink); }

/* ---- twin rank stations (the only calculator; 4 skins via data-calc) ---- */
.calc-sel { display: block; }
.rank-vs { display: none; }

.rank-stations {
  display: grid; grid-template-columns: 1fr auto 1fr; gap: 23.76px; align-items: stretch;
}
@media (max-width: 864px) { .rank-stations { grid-template-columns: 1fr; } }
.rank-station {
  background: #fff; border: 1.2px solid var(--line);
  border-radius: var(--r); padding: 23.76px 23.76px 26.4px;
  display:flex; flex-direction:column; align-items:center; gap: 18.48px;
  transition: border-color 240ms ease, box-shadow 240ms ease;
}
.rank-station.is-focus { border-color: var(--royal-soft); box-shadow: var(--shadow-soft); }
.rank-station-label {
  font-family: var(--font-ui); font-size:15.84px; font-weight:600;
  letter-spacing: calc(0.18em * var(--tracking)); text-transform:uppercase;
  color: var(--ink-muted);
  display:flex; align-items:center; gap:10.56px;
}
.rank-station-label .pin { color: var(--royal); }
.rank-station.target .rank-station-label .pin { color: var(--gold-deep); }

/* crest — clean FLOATING crest (no ring). The handoff drops the spinning conic
   ring; the crest just sits on its soft drop-shadow and gently bobs. */
.crest-stage {
  /* full 306px on desktop, but shrinks on phones so the +10% crest can't push the
     rank card past the viewport (stays square via the same min() on both axes). */
  position: relative; width: min(306.24px, 68vw); height: min(306.24px, 68vw);
  display:flex; align-items:center; justify-content:center;
}
.rank-stations, .rank-station, .tier-select, .calc-sel { min-width: 0; }
.crest-ring { display: none; }   /* ring removed → replaced by the float bob below */
/* The float itself (img bob + ground/contact shadow) is the handoff data-float="on"
   block lower in this file, switched on for every boost page via the body attribute
   set in page.php. The crest-img bobs (not the whole stage) so the ::after ground
   shadow can pulse underneath it — a real floating-object contact shadow. */
.crest-glow {
  position:absolute; inset:8%; border-radius:50%;
  background: radial-gradient(circle, var(--tier-c, var(--royal)) 0%, transparent 68%);
  opacity: 0.22; filter: blur(10.56px);
}
body.no-glow .crest-glow { display:none; }
.crest-img {
  position: relative; z-index: 2;
  width: 261.36px; height: 261.36px; object-fit: contain;
  filter: drop-shadow(0 13.2px 21.12px rgba(27,31,42,0.28));
  transform: scale(var(--crest-scale, 1));
  transition: transform 420ms var(--ease-out);
}
/* hover lift only — NO scale. The crest used to grow 1.03x on hover, which then
   "settled in" right after a rank-swap (mouse sits over the station after a pick),
   reading as the crest resizing bigger at the end of the animation. */
.rank-station:hover .crest-img { transform: scale(var(--crest-scale, 1)) translateY(-3.96px); }
/* rank change · the new crest cross-fades + slides in at a CONSTANT size (no scale)
   — scaling up to the rest size read as the crest "resizing bigger" at the end.
   boost-live.js toggles .crest-swap only when the icon src actually changes (with a
   reflow to restart the run), so a same-rank re-render doesn't replay it. */
@keyframes crest-swap {
  0%   { opacity: 0; transform: scale(var(--crest-scale, 1)) translateY(11px); }
  100% { opacity: 1; transform: scale(var(--crest-scale, 1)) translateY(0); }
}
.crest-img.crest-swap { animation: crest-swap 380ms var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1)); }
@media (prefers-reduced-motion: reduce) { .crest-img.crest-swap { animation: none; } }

/* Slide+fade the rank-station name (.rank-name-big) when its value changes —
   boost-live.js swapText() adds .f3-swap after a reflow, and only when the value
   actually changed. The order prices deliberately do NOT animate (user call
   2026-07-09). em-based rise so the travel scales with the font-size. */
@keyframes f3-swap { 0% { opacity: 0; transform: translateY(0.4em); } 100% { opacity: 1; transform: translateY(0); } }
.f3-swap { animation: f3-swap 1000ms var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1)); }
@media (prefers-reduced-motion: reduce) { .f3-swap { animation: none; } }
.rank-name-big {
  font-family: var(--font-display); font-weight:700; font-size: 29.04px;
  letter-spacing:-0.02em; color: var(--ink); text-align:center; line-height:1.05;
}
.rank-name-big small {
  display:block; font-family: var(--font-ui); font-size:13.2px; font-weight:600;
  letter-spacing: calc(0.1em * var(--tracking)); color: var(--ink-muted);
  text-transform:uppercase; margin-top:3.96px;
}

/* tier dropdown */
.tier-select { position: relative; width: 100%; }
.tier-trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:13.2px;
  padding: 13.2px 15.84px; border-radius: var(--r);
  background: var(--bg-soft); border:1.2px solid var(--line);
  cursor:pointer; transition: border-color 200ms ease, background 200ms ease;
  font-family: var(--font-display); font-weight:600; font-size:21.12px; color: var(--ink);
}
.tier-trigger:hover { border-color: var(--royal-soft); background:#fff; }
.tier-trigger .swatch { width:18.48px;height:18.48px;border-radius:5.28px; flex-shrink:0; background: var(--tier-c, var(--royal)); }
.tier-trigger .lab { flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tier-trigger .chev { width:21.12px;height:21.12px; color: var(--ink-muted); transition: transform 240ms var(--ease-out); }
.tier-select.open .tier-trigger .chev { transform: rotate(180deg); }
.tier-pop {
  position:absolute; top: calc(100% + 7.92px); left:0; right:0; z-index: 40;
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r);
  box-shadow: var(--shadow-pop); padding:7.92px;
  display:grid; grid-template-columns: repeat(2, 1fr); gap:5.28px;
  opacity:0; visibility:hidden; transform: translateY(-7.92px);
  transition: opacity 180ms ease, transform 200ms var(--ease-out), visibility 180ms;
  max-height: 422.4px; overflow:auto;
}
.tier-select.open .tier-pop { opacity:1; visibility:visible; transform: translateY(0); }
.tier-opt {
  display:flex; align-items:center; gap:11.88px; padding:11.88px 13.2px; border-radius: 6.6px;
  cursor:pointer; transition: background 150ms ease;
  font-family: var(--font-display); font-size:17.16px; font-weight:600; color: var(--ink);
}
.tier-opt:hover { background: var(--royal-tint); }
.tier-opt.sel { background: var(--bg-soft); }
.tier-opt img { width:31.68px; height:31.68px; object-fit:contain; }
.tier-opt.disabled { opacity: 0.32; cursor: not-allowed; }
.tier-opt.disabled img { filter: grayscale(0.55); }

/* division pills */
.div-pills { display:flex; gap:7.92px; width:100%; }
.div-pill {
  flex:1; padding: 11.88px 0; border-radius: var(--r);
  background: var(--bg-soft); border:1.2px solid var(--line);
  font-family: var(--font-ui); font-size:15.84px; font-weight:700;
  color: var(--ink-soft); cursor:pointer; text-align:center;
  transition: all 180ms var(--ease-out);
}
.div-pill:hover { border-color: var(--royal-soft); color: var(--royal); }
.div-pill.sel {
  background: var(--royal); border-color: var(--royal-deep); color:#fff;
  box-shadow: 0 7.2px 19.2px -9.6px rgba(255,70,85,0.6);
}
.div-pills.apex-hide { opacity: 0.35; pointer-events:none; }

/* center arrow / climb meter */
.rank-arrow {
  align-self: center;
  display:flex; flex-direction:column; align-items:center; gap:13.2px;
}
.rank-arrow-glyph {
  width: auto; height:auto; border-radius:0;
  background: none;
  display:flex; align-items:center; justify-content:center; color: var(--royal);
  box-shadow: none;
}
.rank-arrow-glyph svg { width:66px; height:52.8px; }
/* arrow versions — modern animated icons */
.rank-arrow-glyph .aopt { display: none; color: var(--royal); }
body[data-arrow="flow"] .rank-arrow-glyph .a-flow { display: block; }
/* default = the static "rising" trend glyph (handoff arrowStyle: rising), not the flow chevrons */
body[data-arrow="rising"] .rank-arrow-glyph .a-rising,
body:not([data-arrow]) .rank-arrow-glyph .a-rising { display: block; }
body[data-arrow="rocket"] .rank-arrow-glyph .a-rocket { display: block; }
body[data-arrow="bolt"] .rank-arrow-glyph .a-bolt { display: block; color: var(--gold-deep); }
body[data-arrow="long"] .rank-arrow-glyph .a-long { display: block; }
.rank-arrow-glyph .a-flow { width:39.6px; height:25.08px; --fatchev-base:#b9cde8; --fatchev-hot:#2a7de0; }
.rank-arrow-glyph .a-flow .fatchev { fill: var(--royal); transform-box: fill-box; }
.rank-arrow-glyph .a-rising { width:30.36px; height:30.36px; }
.rank-arrow-glyph .a-rocket { width:29.04px; height:29.04px; }
.rank-arrow-glyph .a-bolt { width:26.4px; height:30.36px; }
.rank-arrow-glyph .a-long { width:36.96px; height:25.08px; }
@media (prefers-reduced-motion: no-preference) {
  .rank-arrow-glyph .a-flow .fatchev { animation: fatchev-ignite 1.6s ease-in-out infinite; }
  .rank-arrow-glyph .a-flow .fatchev:nth-of-type(2) { animation-delay: .28s; }
  .rank-arrow-glyph .a-flow .fatchev:nth-of-type(3) { animation-delay: .56s; }
  /* a-rising stays STATIC between ranks (handoff valorant-hero.css: .a-rising{animation:none}) */
  .rank-arrow-glyph .a-rocket { animation: arr-rocket 1.8s ease-in-out infinite; }
  .rank-arrow-glyph .a-bolt { animation: arr-bolt 1.6s ease-in-out infinite; }
  .rank-arrow-glyph .a-long { animation: arr-long 1.7s ease-in-out infinite; }
}
@keyframes fatchev-ignite { 0%,100%{ fill: var(--fatchev-base); transform: translateY(0); } 50%{ fill: var(--fatchev-hot); transform: translateY(-2.64px); } }
@keyframes arr-rise { 0%,100%{ transform: translateY(2.64px) scale(0.96); } 50%{ transform: translateY(-3.96px) scale(1.04); } }
@keyframes arr-rocket { 0%,100%{ transform: translate(-1.32px,2.64px) rotate(-2deg); } 50%{ transform: translate(2.64px,-3.96px) rotate(2deg); filter: drop-shadow(0 5.28px 7.92px rgba(255,122,42,0.5)); } }
@keyframes arr-bolt { 0%,100%{ opacity:1; transform: scale(1); filter: drop-shadow(0 0 0 transparent); } 35%{ opacity:0.55; transform: scale(0.92); } 55%{ opacity:1; transform: scale(1.08); filter: drop-shadow(0 0 9.24px var(--gold)); } }
@keyframes arr-long { 0%{ transform: translateX(-7.92px); opacity:0.6; } 55%{ transform: translateX(5.28px); opacity:1; } 100%{ transform: translateX(-7.92px); opacity:0.6; } }
.rank-arrow-jump {
  font-family: var(--font-ui); font-size:11.88px; font-weight:600;
  letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase;
  color: var(--ink-muted); text-align:center; white-space:nowrap;
}
.rank-arrow-jump b { color: var(--royal); }
@media (max-width: 864px) {
  .rank-arrow-glyph { transform: rotate(90deg); }
  .rank-arrow-glyph svg { animation: none; }
  /* the trend glyph is a diagonal ↗ — the wrapper's 90° turn (which points the
     chevron variants at the stacked target below) flips it into a downward ↘,
     so counter-rotate it back upright (user report: "a-rising is downwards") */
  .rank-arrow-glyph .a-rising { transform: rotate(-90deg); }
}

/* ==================================================
   CALC v2 · SLIDER LADDER (dual-handle)
   ================================================== */
.calc-slider-stage {
  display:grid; grid-template-columns: 1fr 1fr; gap: 21.12px; margin-bottom: 31.68px;
}
@media (max-width: 672px){ .calc-slider-stage{ grid-template-columns:1fr 1fr; } }
.cs-card {
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r);
  padding: 21.12px; display:flex; align-items:center; gap:18.48px;
  transition: border-color 240ms ease, box-shadow 240ms ease;
}
.cs-card.from { border-left: 3.6px solid var(--royal); }
.cs-card.to   { border-left: 3.6px solid var(--gold-deep); }
.cs-crest { position:relative; width: 145.2px; height:145.2px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.cs-crest .glow { position:absolute; inset:6%; border-radius:50%; background: radial-gradient(circle, var(--tier-c,var(--royal)) 0%, transparent 68%); opacity:0.22; filter: blur(7.92px); }
body.no-glow .cs-crest .glow { display:none; }
.cs-crest img { position:relative; z-index:2; width:126.72px; height:126.72px; object-fit:contain; filter: drop-shadow(0 7.92px 13.2px rgba(27,31,42,0.25)); transition: transform 360ms var(--ease-out); }
.cs-card:hover .cs-crest img { transform: scale(1.06); }
.cs-meta .cs-lab { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cs-card.from .cs-lab { color: var(--royal); }
.cs-card.to .cs-lab { color: var(--gold-deep); }
.cs-meta .cs-name { font-family: var(--font-display); font-weight:700; font-size:25.08px; letter-spacing:-0.02em; color: var(--ink); line-height:1.05; margin-top:2.64px; }
.cs-meta .cs-sub { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:3.96px; }

.cs-rail-wrap { padding: 7.92px 5.28px 2.64px; }
.cs-rail { position: relative; height: 73.92px; }
.cs-rail-track {
  position:absolute; left:13.2px; right:13.2px; top: 11.88px; height: 10.56px; border-radius:1318.68px;
  background: var(--bg-deep); border:1.2px solid var(--line-soft); overflow:hidden;
}
.cs-rail-fill {
  position:absolute; top:0; bottom:0; left: var(--from,0%); right: calc(100% - var(--to,100%));
  background: linear-gradient(90deg, var(--royal), var(--gold-deep));
  transition: left 120ms linear, right 120ms linear;
}
.cs-rail input[type="range"] {
  -webkit-appearance:none; appearance:none; position:absolute; left:0; right:0; top:0;
  width:100%; height: 34.32px; background:none; margin:0; pointer-events:none;
}
.cs-rail input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none; pointer-events:auto; width:31.68px; height:31.68px; border-radius:50%;
  background:#fff; cursor:grab; box-shadow:0 3.6px 12px rgba(27,31,42,0.3);
}
.cs-rail input.from-range::-webkit-slider-thumb { border:4.8px solid var(--royal); }
.cs-rail input.to-range::-webkit-slider-thumb { border:4.8px solid var(--gold-deep); }
.cs-rail input[type="range"]::-moz-range-thumb { pointer-events:auto; width:31.68px; height:31.68px; border-radius:50%; background:#fff; cursor:grab; box-shadow:0 3.6px 12px rgba(27,31,42,0.3); }
.cs-rail input.from-range::-moz-range-thumb { border:4.8px solid var(--royal); }
.cs-rail input.to-range::-moz-range-thumb { border:4.8px solid var(--gold-deep); }
.cs-rail-ticks { display:flex; justify-content:space-between; padding: 0 7.92px; margin-top: 2.64px; }
.cs-rail-ticks .tk { display:flex; flex-direction:column; align-items:center; gap:3.96px; flex:1; }
.cs-rail-ticks .tk img { width:26.4px; height:26.4px; object-fit:contain; opacity:0.4; transition: opacity 240ms ease, transform 240ms ease; }
.cs-rail-ticks .tk.on img { opacity:1; transform: scale(1.1); }
.cs-rail-ticks .tk span { font-family: var(--font-ui); font-size:9.24px; font-weight:600; letter-spacing: calc(0.04em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
@media (max-width:672px){ .cs-rail-ticks .tk span{ display:none; } }
.cs-hint { text-align:center; font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.1em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:15.84px; }
.cs-hint b { color: var(--royal); }
.cs-divrow { display:flex; gap:21.12px; justify-content:center; margin-top: 18.48px; }
.cs-divrow .grp { display:flex; flex-direction:column; align-items:center; gap:9.24px; }
.cs-divrow .grp .gl { font-family: var(--font-ui); font-size:11.22px; font-weight:600; letter-spacing: calc(0.14em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cs-divrow .div-pills { width: 221.76px; }

/* ==================================================
   CALC v3 · STEPPER ROWS
   ================================================== */
.calc-stepper { display:flex; flex-direction:column; gap: 18.48px; margin-bottom: 10.56px; }
.step-row {
  display:grid; grid-template-columns: 60.72px 1fr 60.72px; align-items:center; gap: 18.48px;
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 21.12px 21.12px;
  transition: border-color 240ms ease, box-shadow 240ms ease;
}
.step-row.from { border-top: 3.6px solid var(--royal); }
.step-row.to { border-top: 3.6px solid var(--gold-deep); }
.step-btn {
  width: 60.72px; height: 60.72px; border-radius:50%; border:1.2px solid var(--line); background: var(--bg-soft);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color: var(--royal);
  transition: all 170ms var(--ease-out);
}
.step-btn:hover { background: var(--royal-tint); border-color: var(--royal-soft); transform: scale(1.06); }
.step-btn:active { transform: scale(0.94); }
.step-btn svg { width:26.4px; height:26.4px; }
.step-btn[disabled] { opacity:0.3; cursor:not-allowed; transform:none; }
.step-mid { display:flex; align-items:center; justify-content:center; gap: 21.12px; min-width:0; }
.step-crest { position:relative; width: 126.72px; height:126.72px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.step-crest .glow { position:absolute; inset:6%; border-radius:50%; background: radial-gradient(circle, var(--tier-c,var(--royal)) 0%, transparent 68%); opacity:0.22; filter: blur(7.92px); }
body.no-glow .step-crest .glow { display:none; }
.step-crest img { position:relative; z-index:2; width:116.16px; height:116.16px; object-fit:contain; filter: drop-shadow(0 7.92px 13.2px rgba(27,31,42,0.25)); }
@media (prefers-reduced-motion: no-preference){
  .step-crest img.pop { animation: crest-pop 380ms var(--ease-out); }
}
@keyframes crest-pop { 0%{ transform: scale(0.8) rotate(-6deg); opacity:0.4; } 100%{ transform:none; opacity:1; } }
.step-info { min-width:0; }
.step-info .sl { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.step-row.from .sl { color: var(--royal); }
.step-row.to .sl { color: var(--gold-deep); }
.step-info .sn { font-family: var(--font-display); font-weight:700; font-size:29.04px; letter-spacing:-0.02em; color: var(--ink); line-height:1.0; margin-top:1.32px; }
.step-info .div-pills { margin-top:11.88px; width: 205.92px; }
.step-info .div-pills .div-pill { padding:7.92px 0; font-size:14.52px; }
.step-between {
  display:flex; align-items:center; justify-content:center; gap:15.84px; padding: 5.28px 0 2.64px;
}
.step-between .line { flex:1; height:1.32px; background: var(--line); max-width: 158.4px; }
.step-between .pill {
  font-family: var(--font-ui); font-size:13.2px; font-weight:700; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase;
  color: var(--royal); background: var(--royal-tint); border:1.2px solid var(--royal-soft);
  border-radius:var(--r); padding: 9.24px 18.48px; display:inline-flex; align-items:center; gap:10.56px;
}
.step-between .pill svg { width:17.16px; height:17.16px; }

/* ---- LP slider ---- */
.calc-controls { margin-top: 21.12px; display:grid; grid-template-columns: 1fr 1fr; gap: 18.48px; }
@media (max-width: 864px) { .calc-controls { grid-template-columns: 1fr; } }
.ctl-block {
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 21.12px 21.12px 23.76px;
}
.ctl-label {
  display:flex; align-items:center; justify-content:space-between; gap:13.2px; margin-bottom:18.48px;
}
.ctl-label .l {
  font-family: var(--font-ui); font-size:12.54px; font-weight:600;
  letter-spacing: calc(0.06em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted);
}
.ctl-label .v {
  font-family: var(--font-display); font-weight:700; font-size:19.8px; color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.ctl-label .v em { font-style:normal; color: var(--royal); }
.lp-slider { -webkit-appearance:none; appearance:none; width:100%; height:10.56px; border-radius:1318.68px;
  background: linear-gradient(90deg, var(--royal) var(--lp,0%), var(--bg-deep) var(--lp,0%));
  border:1.2px solid var(--line-soft); cursor:pointer; outline:none;
}
.lp-slider::-webkit-slider-thumb { -webkit-appearance:none; width:26.4px; height:26.4px; border-radius:50%;
  background:#fff; border:3.6px solid var(--royal); box-shadow: 0 3.6px 9.6px rgba(27,31,42,0.25); cursor:pointer; transition: transform 140ms ease; }
.lp-slider::-webkit-slider-thumb:hover { transform: scale(1.12); }
.lp-slider::-moz-range-thumb { width:26.4px; height:26.4px; border-radius:50%; background:#fff; border:3.6px solid var(--royal); box-shadow: 0 3.6px 9.6px rgba(27,31,42,0.25); cursor:pointer; }
.lp-scale { display:flex; justify-content:space-between; margin-top:13.2px; }
.lp-scale span { font-family: var(--font-ui); font-size:11.88px; color: var(--ink-muted); }

/* queue toggle (Solo / Flex) */
.queue-toggle { display:flex; gap:7.92px; }
.queue-opt {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3.96px;
  padding: 14.52px 10.56px; border-radius: 6.6px; cursor:pointer;
  background: var(--bg-soft); border:1.2px solid var(--line);
  transition: all 180ms var(--ease-out);
}
.queue-opt:hover { border-color: var(--royal-soft); }
.queue-opt.sel { background: var(--royal); border-color: var(--royal-deep); }
.queue-opt .qn { font-family: var(--font-display); font-weight:700; font-size:18.48px; line-height:1.1; color: var(--ink); white-space:nowrap; }
.queue-opt.sel .qn { color:#fff; }
.queue-opt .qs { font-family: var(--font-ui); font-size:10.56px; font-weight:600; line-height:1.1; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); white-space:nowrap; }
.queue-opt.sel .qs { color: rgba(255,255,255,0.7); }

/* server selector */
.server-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(90.2px, 1fr)); gap:7.92px; }
@media (max-width: 552px) { .server-grid { grid-template-columns: repeat(3,1fr); } }
.server-opt {
  display:flex; flex-direction:column; align-items:center; gap: 7.92px;
  padding: 11.88px 5.28px; border-radius: 6.6px; cursor:pointer;
  background: var(--bg-soft); border:1.2px solid var(--line);
  transition: all 170ms var(--ease-out);
}
.server-opt:hover { border-color: color-mix(in srgb, var(--orange) 55%, var(--line)); transform: translateY(-1.32px); }
.server-opt.sel { background: color-mix(in srgb, var(--orange) 12%, #fff); border-color: var(--orange); }
/* bigger flag/icon shown directly — no circle, no white frame */
.server-flag {
  width: 55.44px; height: 55.44px;
  display:flex; align-items:center; justify-content:center;
}
/* recolor the server flag to brand red (same filter as the checkout recap) so the
   picker matches the recap (UI batch 8). */
.server-flag img { width:100%; height:100%; object-fit:contain; border-radius: 3.96px; filter: invert(41%) sepia(48%) saturate(4092%) hue-rotate(330deg) brightness(102%) contrast(103%); }
.server-opt .sname { font-family: var(--font-ui); font-size:11.88px; font-weight:700; letter-spacing: calc(0.06em * var(--tracking)); color: var(--ink-soft); }
.server-opt.sel .sname { color: var(--orange-deep); }
/* Platform icons (PC/PS4/Xbox) inherit the same brand recolor as the server flags
   above so the two pickers match (Valorant keeps its darker red). */

/* ==================================================
   ORDER PANEL (sticky aside)
   ================================================== */
.order-aside { position: sticky; top: 110.88px; align-self: start; max-height: calc(100vh - 132px); overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.order-aside::-webkit-scrollbar { width: 7.92px; }
.order-aside::-webkit-scrollbar-thumb { background: var(--line); border-radius: 1318.68px; }
@media (max-width: 1296px) { .order-aside { position: static; max-height: none; overflow: visible; } }
.order-panel {
  background:#fff; border:1.2px solid var(--line);
  border-radius: calc(var(--r) + 5.28px);
  box-shadow: var(--shadow-pop); overflow:hidden;
}
.order-top {
  /* vivid hero-red diagonal — navy tail dropped per handoff */
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  color:#fff; padding: 23.76px 26.4px 21.12px; position:relative; overflow:hidden;
}
.order-top::before {
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1.32px, transparent 1.32px);
  background-size: 23.76px 23.76px; mask-image: linear-gradient(180deg,#000,transparent); pointer-events:none;
}
.order-top-row { position:relative; display:flex; align-items:center; justify-content:space-between; gap:13.2px; margin-bottom:21.12px; }
.order-title { font-family: var(--font-display); font-weight:800; font-size:23.76px; letter-spacing:-0.01em; }
.order-title em { font-style:normal; color: var(--gold); }
.order-secure { display:inline-flex; align-items:center; gap:7.92px; font-family: var(--font-ui); font-size:11.22px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.7); }
.order-secure svg { width:14.52px;height:14.52px; }
.order-journey { position:relative; display:flex; align-items:center; justify-content:center; gap:18.48px; padding:0; border-bottom:0; margin-bottom:0; }
.order-mini { display:flex; flex-direction:column; align-items:center; gap:6.6px; }
/* object-position:bottom bottom-anchors the contain-scaled crest so a divisionless
   art asset (Unranked/Unrated) with a different aspect ratio / more transparent
   padding lines up on the same baseline as a square tier crest (Silver 3) instead of
   floating centered — the "Unranked misaligned" report. */
.order-mini img { width:158.4px; height:158.4px; object-fit:contain; object-position:center bottom; filter: drop-shadow(0 7.92px 13.2px rgba(0,0,0,0.35)); }
.order-mini span { font-family: var(--font-display); font-size:22.44px; font-weight:700; letter-spacing: -0.01em; color:#fff; white-space:nowrap; }
.order-mini small { font-family: var(--font-ui); font-size:9.9px; font-weight:600; letter-spacing: calc(0.14em * var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.55); }
/* order journey · flowing gold chevrons (handoff a1) */
.order-arrow { display:flex; align-items:center; }
.order-arrow .oa1 { display:inline-flex; align-items:center; }
.order-arrow .oa1 svg { width:15.84px; height:21.12px; color: #fff; opacity:0.28; margin-left:-9.24px; }
.order-arrow .oa1 svg:first-child { margin-left:0; }
.order-arrow .oa1 svg:nth-child(2) { opacity:0.55; }
@keyframes oaWave { 0%,100% { opacity:0.22; } 50% { opacity:1; } }
@media (prefers-reduced-motion: no-preference) {
  .order-arrow .oa1 svg:nth-child(1) { animation: oaWave 2.2s ease-in-out infinite; }
  .order-arrow .oa1 svg:nth-child(2) { animation: oaWave 2.2s ease-in-out 0.3s infinite; }
  .order-arrow .oa1 svg:nth-child(3) { animation: oaWave 2.2s ease-in-out 0.6s infinite; }
}

.order-body { padding: 21.12px 26.4px 5.28px; }
.order-row { display:flex; align-items:center; justify-content:space-between; gap:13.2px; padding: 11.88px 0; font-size:16.5px; color: var(--ink-soft); }
.order-row + .order-row { border-top: 1.2px solid var(--line-soft); }
/* key + value share family/size/weight/spacing/uppercase — differ only by colour (handoff) */
.order-row .k { font-family: var(--font-ui); font-size:13.86px; font-weight:700; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.order-row .v { font-family: var(--font-ui); font-weight:700; font-size:13.86px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink); display:inline-flex; align-items:center; gap:9.24px; font-variant-numeric: tabular-nums; }
.order-row .v .flag-sm { width:23.76px; height:23.76px; border-radius:50%; font-size:10.56px; }

/* chosen extra options, listed under the spec rows in "Your order". The head div
   breaks the .order-row + .order-row chain, so the first extra has no double rule;
   each extra names its title (display font) with the agents as a muted sub-line. */
.order-xo-head { margin-top: 5.28px; padding-top: 15.84px; border-top: 1.2px solid var(--line-soft); font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--accent); }
.order-row.order-xo { align-items: flex-start; }
.order-row.order-xo .k { display: inline-flex; flex-direction: column; gap: 3.96px; min-width: 0; font-family: var(--font-ui); font-size: 15.84px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink); }
.order-xo-pick { font-family: var(--font-ui); font-size: 12.54px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink-muted); line-height: 1.35; }
.order-row.order-xo .v { color: var(--accent); white-space: nowrap; flex-shrink: 0; }
body[data-order="modern"] .order-xo-head { border-top-color: rgba(255,255,255,0.08); }
body[data-order="modern"] .order-row.order-xo .k { color: #fff; }
body[data-order="modern"] .order-xo-pick { color: rgba(255,255,255,0.6); }

/* reward banner · "NEXT PURCHASE REWARD" card with UNLOCKED pill (handoff r1) */
.order-reward {
  margin: 15.84px 26.4px; padding: 14.52px 17.16px;
  display:flex; align-items:center; justify-content:space-between; gap:15.84px;
  border-radius: var(--r); background:#fff; border:1.2px solid var(--line);
}
.order-reward .orw-text { display:flex; flex-direction:column; gap:3.96px; min-width:0; }
.order-reward .orw-title { display:flex; align-items:center; gap:9.24px; font-family: var(--font-ui); font-size:13.86px; font-weight:700; letter-spacing: calc(0.09em * var(--tracking)); text-transform:uppercase; color: var(--ink); }
.order-reward .orw-star { width:17.16px; height:17.16px; color: var(--royal); flex-shrink:0; }
.order-reward .orw-sub { font-family: var(--font-ui); font-size:15.84px; font-weight:600; color: var(--ink-soft); white-space:nowrap; }
.order-reward .orw-sub b { color: var(--ink); font-weight:800; }
.order-reward .orw-badge { display:inline-flex; align-items:center; gap:6.6px; padding:6.6px 11.88px; border-radius:1098.9px; background: color-mix(in srgb, var(--green) 15%, #fff); border:1.2px solid color-mix(in srgb, var(--green) 45%, #fff); color:#1c9150; font-family: var(--font-ui); font-size:11.22px; font-weight:800; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; flex-shrink:0; }
.order-reward .orw-badge svg { width:13.2px; height:13.2px; }

.order-total { padding: 13.2px 26.4px 0; display:flex; align-items:stretch; gap:13.2px; }
.order-total .price-col { flex:1; display:flex; flex-direction:column; gap:7.92px; padding: 15.84px 18.48px; border-radius: var(--r); }
.order-total .price-col.reg { background: var(--bg-soft); border:1.2px solid var(--line); }
.order-total .price-col.vip { background: var(--bg-soft); border:1.2px solid var(--line); }
.order-total .lbl { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:flex; align-items:center; gap:7.92px; white-space:nowrap; }
/* both prices dark-bold + identical (handoff p1) — no muted/strikethrough difference */
.order-total .amt { font-family: var(--font-body); font-weight:800; font-size:39.6px; letter-spacing:-0.03em; line-height:0.95; color: var(--ink); font-variant-numeric: tabular-nums; }
.order-total .price-col.vip .amt.now { color: var(--ink); }
.order-total .vip-badge { font-family: var(--font-ui); font-size:10.56px; font-weight:800; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--navy); background: var(--gold); border-radius:2.64px; padding:2.64px 6.6px; }
.order-foot { padding: 21.12px 26.4px 26.4px; }
.order-foot .btn { width:100%; justify-content:center; font-size:17.16px; padding: 24.2px 19.8px; min-height: 64.9px; }
.order-note { margin-top:13.2px; text-align:center; font-family: var(--font-ui); font-size:11.88px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:flex; align-items:center; justify-content:center; gap:9.24px; }
.order-note svg { width:15.84px;height:15.84px; color: var(--green); }

/* ---- ORDER PANEL · MODERN (dark glass) skin ---- */
body[data-order="modern"] .order-panel {
  background:
    radial-gradient(554.4px 264px at 100% 0%, rgba(255,234,61,0.10), transparent 60%),
    linear-gradient(168deg, #1b1f2a 0%, #1b1f2a 55%, #11141c 100%);
  border: 1.2px solid rgba(255,255,255,0.12);
  box-shadow: 0 28.8px 72px -26.4px rgba(6,18,42,0.7);
}
body[data-order="modern"] .order-top {
  background: none;
}
body[data-order="modern"] .order-mini img {
  width: 168.96px; height: 168.96px;
  filter: drop-shadow(0 10.56px 18.48px rgba(0,0,0,0.4));
}
body[data-order="modern"] .order-body { padding-top: 23.76px; }
body[data-order="modern"] .order-row { color: rgba(255,255,255,0.82); }
body[data-order="modern"] .order-row + .order-row { border-top-color: rgba(255,255,255,0.08); }
body[data-order="modern"] .order-row .k { color: rgba(255,255,255,0.5); }
body[data-order="modern"] .order-row .v { color: #fff; }
body[data-order="modern"] .order-reward {
  background: rgba(255,255,255,0.06); border: 1.2px dashed rgba(255,234,61,0.4);
}
body[data-order="modern"] .order-reward .rt { color: rgba(255,255,255,0.8); }
body[data-order="modern"] .order-reward .rt b { color: #fff; }
body[data-order="modern"] .order-total .lbl { color: rgba(255,255,255,0.55); }
body[data-order="modern"] .order-total .price-col.reg { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.12); }
body[data-order="modern"] .order-total .price-col.vip { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.12); }
body[data-order="modern"] .order-total .amt { color: rgba(255,255,255,0.92); }
body[data-order="modern"] .order-total .price-col.vip .amt.now {
  color: rgba(255,255,255,0.92); -webkit-text-fill-color: rgba(255,255,255,0.92); background: none;
}
body[data-order="modern"] .order-foot .btn-royal {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: var(--navy);
  box-shadow: 0 12px 36px -9.6px rgba(245,212,0,0.5);
}
body[data-order="modern"] .order-note { color: rgba(255,255,255,0.55); }

/* ==================================================
   EXTRA OPTIONS
   ================================================== */
.xopts-section { background: var(--bg); padding: 10.56px 31.68px 39.6px; }
.xopts-wrap { max-width: 1742.4px; margin: 0 auto; }
.xopts-card {
  background: var(--bg-soft); border:1.2px solid var(--line);
  border-radius: calc(var(--r) + 5.28px); padding: 38.016px 41.184px 41.184px;
}
.xopts-head { display:flex; align-items:flex-end; justify-content:space-between; gap:25.344px; flex-wrap:wrap; margin-bottom:28.512px; }
.xopts-head h2 { font-family: var(--font-display); font-weight:700; font-size: clamp(34.848px,2.88vw,47.52px); letter-spacing:-0.02em; color: var(--ink); }
.xopts-head h2 em { font-style:normal; color: var(--royal); }
.xopts-head p { font-size:20.592px; color: var(--ink-soft); margin-top:7.92px; max-width: 633.6px; }
.xopts-allnote { font-family: var(--font-ui); font-size:15.048px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:inline-flex; align-items:center; gap:11.088px; }
.xopts-allnote svg { width:20.592px; height:20.592px; color: var(--green); }

/* default skin: chips */
.xopts-chips { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15.84px; }
@media (max-width:672px){ .xopts-chips{ grid-template-columns: minmax(0, 1fr);} }
.xopt {
  position:relative; display:flex; align-items:flex-start; gap:19.008px;
  padding: 23.76px 23.76px; border-radius: var(--r);
  background:#fff; border:1.2px solid var(--line); cursor:pointer;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 160ms var(--ease-out);
}
.xopt:hover { border-color: var(--royal-soft); transform: translateY(-2.64px); box-shadow: var(--shadow-soft); }
.xopt.on { border-color: var(--royal); box-shadow: 0 12px 28.8px -16.8px rgba(255,70,85,0.5); }
.xopt-ico {
  width: 57.024px; height:57.024px; border-radius: var(--r); flex-shrink:0;
  background: var(--bg-soft); border:1.2px solid var(--line);
  display:flex; align-items:center; justify-content:center; color: var(--royal);
  transition: background 200ms ease, color 200ms ease;
}
.xopt.on .xopt-ico { background: var(--royal); border-color: var(--royal-deep); color:#fff; }
.xopt-ico svg { width:28.512px; height:28.512px; }
.xopt-txt { flex:1; min-width:0; }
.xopt-name { font-family: var(--font-body); font-weight:700; font-size:22.176px; letter-spacing:-0.01em; color: var(--ink); display:flex; align-items:center; gap:11.088px; }
.xopt-price { font-family: var(--font-ui); font-size:13.464px; font-weight:700; letter-spacing: calc(0.06em * var(--tracking)); text-transform:uppercase; color: var(--green); margin-top:7.92px; align-self:center; display:inline-flex; align-items:center; line-height:1; background: color-mix(in srgb, var(--green) 12%, #fff); border:1.2px solid color-mix(in srgb, var(--green) 30%, var(--line)); border-radius: var(--r); padding: 4.752px 12.672px; }
.xopt-price.paid { color: var(--green); background: color-mix(in srgb, var(--green) 12%, #fff); border-color: color-mix(in srgb, var(--green) 30%, var(--line)); }
.xopt-desc { font-size:18.216px; line-height:1.3; color: var(--ink-soft); margin-top:8.4px; }
.xopt-switch {
  width: 60.192px; height:34.848px; border-radius:1318.68px; background: var(--bg-deep); border:1.2px solid var(--line);
  flex-shrink:0; position:relative; transition: background 200ms ease, border-color 200ms ease;
}
.xopt-switch::after { content:''; position:absolute; top:3.168px; left:3.168px; width:25.344px; height:25.344px; border-radius:50%; background:#fff; box-shadow:0 1.2px 3.6px rgba(0,0,0,0.2); transition: transform 220ms var(--ease-out); }
.xopt.on .xopt-switch { background: var(--royal); border-color: var(--royal-deep); }
.xopt.on .xopt-switch::after { transform: translateX(25.344px); }

/* ---- XOPTS SKIN 2 · LIST ROWS ---- */
body[data-xopt="list"] .xopts-chips { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10.56px; }
@media (max-width: 984px){ body[data-xopt="list"] .xopts-chips { grid-template-columns: minmax(0, 1fr); } }
body[data-xopt="list"] .xopt { align-items: center; padding: 19.008px 22.176px; }
body[data-xopt="list"] .xopt-desc { display: none; }
body[data-xopt="list"] .xopt-txt { display: flex; flex-direction: column; }
body[data-xopt="list"] .xopt-name { font-size: 22.176px; }
body[data-xopt="list"] .xopt-ico { width: 42.24px; height: 42.24px; }
body[data-xopt="list"] .xopt-ico svg { width: 21.12px; height: 21.12px; }

/* ---- XOPTS SKIN 3 · COMPACT TAGS ---- */
body[data-xopt="tags"] .xopts-chips { display: flex; flex-wrap: wrap; gap: 11.88px; }
body[data-xopt="tags"] .xopt {
  flex: 0 1 auto; align-items: center; gap: 11.88px; padding: 14.52px 21.12px;
  border-radius: var(--r);
}
body[data-xopt="tags"] .xopt:hover { transform: translateY(-2.64px); }
body[data-xopt="tags"] .xopt-desc,
body[data-xopt="tags"] .xopt-switch { display: none; }
body[data-xopt="tags"] .xopt-ico { width: 39.6px; height: 39.6px; border-radius: 1318.68px; }
body[data-xopt="tags"] .xopt-ico svg { width: 19.8px; height: 19.8px; }
body[data-xopt="tags"] .xopt-txt { flex-direction: row; align-items: center; gap: 11.88px; }
body[data-xopt="tags"] .xopt-name { font-size: 17.82px; }
body[data-xopt="tags"] .xopt-price { margin-top: 0; }
body[data-xopt="tags"] .xopt.on .xopt-price { border-color: color-mix(in srgb, var(--royal) 30%, var(--line)); }

/* ==================================================
   NOTE BOX
   ================================================== */
.note-section { background: var(--bg); padding: 0 31.68px 47.52px; }
.note-card {
  max-width: 1742.4px; margin: 0 auto;
  background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 5.28px);
  box-shadow: var(--shadow-soft); padding: 29.04px 31.68px 31.68px;
}
.note-head { display:flex; align-items:center; justify-content:space-between; gap:15.84px; margin-bottom:18.48px; }
.note-head .nt { font-family: var(--font-display); font-weight:700; font-size:23.76px; letter-spacing:-0.01em; color: var(--ink); display:inline-flex; align-items:center; gap:11.88px; }
.note-head .nt svg { width:21.12px; height:21.12px; color: var(--royal); }
.note-head .opt { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); border:1.2px solid var(--line); border-radius:var(--r); padding:6.6px 13.2px; }
.note-card textarea {
  width:100%; min-height: 126.72px; resize: vertical;
  border:1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft);
  padding: 17.16px 19.8px; font-family: var(--font-body); font-size:17.82px; color: var(--ink);
  outline:none; transition: border-color 200ms ease, background 200ms ease;
}
.note-card textarea:focus { border-color: var(--royal-soft); background:#fff; box-shadow: 0 0 0 3.6px rgba(255,70,85,0.08); }
.note-card textarea::placeholder { color: var(--ink-muted); }
.note-foot { display:flex; align-items:center; justify-content:space-between; gap:13.2px; margin-top:13.2px; }
.note-foot .hint { font-family: var(--font-ui); font-size:11.88px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:inline-flex; align-items:center; gap:9.24px; }
.note-foot .hint svg { width:15.84px; height:15.84px; color: var(--royal); }
.note-foot .count { font-family: var(--font-ui); font-size:13.2px; color: var(--ink-muted); }

/* ==================================================
   SEO CONTENT BLOCKS
   ================================================== */
.seo { background: var(--bg-soft); padding: 84.48px 31.68px; border-top:1.2px solid var(--line-soft); }
.seo-wrap { max-width: 1742.4px; margin: 0 auto; display:grid; grid-template-columns: minmax(0,1fr) 396px; gap: 58.08px; align-items:start; }
.seo-main { display:flex; flex-direction:column; gap: 58.08px; min-width:0; }
.seo-aside { position: sticky; top: 110.88px; display:flex; flex-direction:column; gap:18.48px; }
@media (max-width: 1032px){ .seo-wrap { grid-template-columns: 1fr; gap: 47.52px; } .seo-aside { position: static; } }
.seo-block .seo-kicker {
  font-family: var(--font-ui); font-size:13.2px; font-weight:600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform:uppercase; color: var(--royal);
  display:inline-flex; align-items:center; gap:10.56px; margin-bottom:15.84px;
}
.seo-block .seo-kicker .tag { background: var(--royal); color:#fff; border-radius:2.64px; padding:3.96px 10.56px; }
.seo-block h2 { font-family: var(--font-display); font-weight:700; font-size: clamp(31.68px,2.8vw,44.88px); letter-spacing:-0.02em; color: var(--ink); margin-bottom:18.48px; }
.seo-block h2 em { font-style:normal; color: var(--royal); }
.seo-block p { font-size:19.8px; line-height:1.7; letter-spacing: -0.022em; color: var(--ink-soft); max-width: 1003.2px; margin-bottom:15.84px; }
.seo-block p[data-comment-anchor="8931895b99-p"] { line-height: 1.5; letter-spacing: -0.022em; }
.seo-block p a, .seo-block p .lnk { color: var(--royal); font-weight:600; }
.seo-block p a:hover { text-decoration: underline; }

/* stats row */
.seo-stats { display:grid; grid-template-columns: repeat(4,1fr); gap: 18.48px; margin-top: 10.56px; }
@media (max-width:816px){ .seo-stats{ grid-template-columns: repeat(2,1fr);} }
.seo-stat { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 26.4px 23.76px; text-align:center; }
.seo-stat .n { font-family: var(--font-display); font-weight:800; font-size:39.6px; letter-spacing:-0.03em; color: var(--ink); }
.seo-stat .n em { font-style:normal; color: var(--royal); }
.seo-stat .l { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:7.92px; }

/* steps row */
.seo-steps { display:grid; grid-template-columns: repeat(3,1fr); gap: 21.12px; margin-top: 7.92px; }
@media (max-width:912px){ .seo-steps{ grid-template-columns: 1fr;} }
.seo-step { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 29.04px 26.4px; position:relative; overflow:hidden; }
.seo-step .num { font-family: var(--font-display); font-weight:800; font-size:18.48px; color:#fff; width:39.6px;height:39.6px; border-radius: var(--r); background: linear-gradient(135deg,var(--royal),var(--royal-deep)); display:flex; align-items:center; justify-content:center; margin-bottom:18.48px; }
.seo-step h3 { font-family: var(--font-display); font-weight:700; font-size:21.12px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:9.24px; }
.seo-step h3 em { font-style:normal; color: var(--royal); }
.seo-step p { font-size:17.16px; line-height:1.6; color: var(--ink-soft); margin:0; }

/* ==================================================
   CTA STRIP: base rules MOVED to home-page.css.
   The dark support band is now the one closing banner on the boost pages AND on
   FAQ / careers / refund, and those three never load boost-page.css. home-page.css
   is the only sheet both enqueue chains already pull in (and vb-boost-page declares
   vb-home-page as its dependency), so the base lives there and there is exactly one
   copy. Only the boost-page-ONLY overrides stay here: the 100vw full-bleed and the
   trailing-wpautop killer under body.vb-boost-page, further down this file.
   ================================================== */

/* ==================================================
   REVIEW SUBMIT (extends reviews)
   ================================================== */
.rev-submit-grid { max-width: 1742.4px; margin: 31.68px auto 0; display:grid; grid-template-columns: 422.4px 1fr; gap: 23.76px; align-items:start; }
@media (max-width: 1080px){ .rev-submit-grid{ grid-template-columns:minmax(0, 1fr); } }
.rev-form { background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r)+2.64px); box-shadow: var(--shadow-soft); padding: 29.04px; }
.rev-form h3 { font-family: var(--font-body); font-weight:700; font-size:22.44px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:5.28px; }
.rev-form .sub { font-size:16.5px; color: var(--ink-soft); margin-bottom:21.12px; }
.rev-field { margin-bottom:15.84px; }
.rev-field label { display:block; font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-bottom:7.92px; }
.rev-field input, .rev-field textarea, .rev-field select {
  width:100%; border:1.2px solid var(--line); border-radius: 6.6px; background: var(--bg-soft);
  padding:13.2px 15.84px; font-family: var(--font-body); font-size:17.16px; color: var(--ink); outline:none;
  transition: border-color 180ms ease, background 180ms ease;
}
.rev-field input:focus, .rev-field textarea:focus, .rev-field select:focus { border-color: var(--royal-soft); background:#fff; }
.rev-stars-pick { display:flex; gap:6.6px; }
.rev-star { width:39.6px; height:39.6px; border-radius:6.6px; border:1.2px solid var(--line); background: var(--bg-soft); display:flex; align-items:center; justify-content:center; cursor:pointer; color: var(--ink-muted); transition: all 150ms ease; }
.rev-star svg { width:21.12px; height:21.12px; }
.rev-star.on { background: var(--gold); border-color: var(--gold-deep); color: var(--navy); }
.rev-list { display:flex; flex-direction:column; gap:15.84px; }
.rev-item { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-soft); padding: 23.76px 26.4px; }
.rev-item-top { display:flex; align-items:center; justify-content:space-between; gap:13.2px; margin-bottom:10.56px; }
.rev-item .tp-stars { display:flex; gap:2.64px; color: var(--gold-deep); }
.rev-item .tp-stars svg { width:17.16px; height:17.16px; }
.rev-item .when { font-family: var(--font-ui); font-size:11.88px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.rev-item h4 { font-family: var(--font-body); font-weight:700; font-size:19.8px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:6.6px; }
.rev-item p { font-size:17.16px; line-height:1.6; color: var(--ink-soft); margin-bottom:10.56px; }
.rev-item .who { display:flex; align-items:center; gap:10.56px; font-family: var(--font-ui); font-size:12.54px; letter-spacing: calc(0.06em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.rev-item .who b { color: var(--ink-soft); font-weight:600; }
.rev-item .who .verif { display:inline-flex; align-items:center; gap:5.28px; color: var(--green); }
.rev-item .who .verif svg { width:14.52px; height:14.52px; }

/* faq groups on subpage reuse .faq styles but allow a section title block */
.faq.subfaq { background: #fff; padding: 52.8px 31.68px; }
.faq.subfaq + .faq.subfaq { padding-top: 0; }
.faq.subfaq .wrap { max-width: 1742.4px; padding-left: 0; padding-right: 0; }
.faq.subfaq .section-head { margin-bottom: 0; }
.faq.subfaq .section-title { font-size: clamp(25.08px, 2vw, 33px); }
.faq.subfaq .faq-grid { margin-top: 21.12px; }
.faq.subfaq .faq-col { gap: 10.56px; }
.faq.subfaq .faq-q { padding: 17.16px 19.8px; font-size: 17.16px; }
.faq.subfaq .faq-a { padding: 0 19.8px; }
.faq.subfaq .faq-item.is-open .faq-a { padding: 0 19.8px 17.16px; }
.faq.subfaq .faq-group-head { max-width:1742.4px; margin: 0 auto 5.28px; padding-left: 0; padding-right: 0; }
.faq-group-head .gk { font-family: var(--font-ui); font-size:13.2px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--royal); display:inline-flex; align-items:center; gap:10.56px; }
.faq-group-head .gk svg { width:17.16px; height:17.16px; }

/* tweaks root z-index already set in homepage.css */

/* ==================================================
   HERO C · CENTERED
   ================================================== */
.subhero-c .subhero-c-inner {
  position: relative; z-index: 2; max-width: 1135.2px; margin: 0 auto;
  padding: 73.92px 31.68px 84.48px; display:flex; flex-direction:column; align-items:center; text-align:center; gap: 5.28px;
}
.subhero-c .subhero-crumbs { justify-content:center; }
.subhero-c h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(47.52px,4.6vw,73.92px); letter-spacing:-0.03em; line-height:1.06; margin-bottom:23.76px; }
.subhero-c h1 em { font-style:normal; color: var(--gold); }
.subhero-c .lead { font-family: var(--font-body); font-size: clamp(19.8px,1.5vw,23.76px); font-weight:500; color: rgba(255,255,255,0.78); line-height:1.5; max-width: 792px; margin-bottom: 29.04px; }
.subhero-c-feats { display:flex; gap:10.56px; flex-wrap:wrap; justify-content:center; margin-bottom: 31.68px; }
.subhero-c-ctas { display:flex; gap:15.84px; flex-wrap:wrap; justify-content:center; margin-bottom: 29.04px; }

/* ==================================================
   HERO D · STAT BAND
   ================================================== */
.subhero-d .subhero-d-inner { position: relative; z-index: 2; max-width: 1742.4px; margin: 0 auto; padding: 63.36px 31.68px 0; }
.subhero-d-top { display:flex; align-items:flex-end; justify-content:space-between; gap:31.68px; flex-wrap:wrap; padding-bottom: 42.24px; }
.subhero-d h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(47.52px,4.6vw,73.92px); letter-spacing:-0.03em; line-height:1.0; margin-bottom:15.84px; }
.subhero-d h1 em { font-style:normal; color: var(--gold); }
.subhero-d .lead { font-family: var(--font-body); font-size: clamp(19.8px,1.4vw,23.76px); font-weight:500; color: rgba(255,255,255,0.78); line-height:1.45; max-width: 686.4px; }
.subhero-d-cta { flex-shrink:0; }
.subhero-d-stats { display:grid; grid-template-columns: repeat(5,1fr); gap:0; border-top:1.2px solid rgba(255,255,255,0.14); }
@media (max-width:912px){ .subhero-d-stats{ grid-template-columns: repeat(2,1fr); } }
.sd-stat { padding: 29.04px 23.76px; text-align:center; border-right:1.2px solid rgba(255,255,255,0.1); }
.sd-stat:last-child { border-right:none; }
.sd-stat .n { display:block; font-family: var(--font-display); font-weight:800; font-size: clamp(34.32px,3vw,50.16px); letter-spacing:-0.03em; color:#fff; line-height:1; }
.sd-stat .n em { font-style:normal; color: var(--gold); font-size:0.55em; font-weight:700; }
.sd-stat .l { display:block; font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.12em*var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.55); margin-top:10.56px; }

/* ==================================================
   HERO E · COMPACT BAR
   ================================================== */
.subhero-e .subhero-e-inner { position: relative; z-index: 2; max-width: 1742.4px; margin: 0 auto; padding: 34.32px 31.68px; display:flex; align-items:center; justify-content:space-between; gap:26.4px; flex-wrap:wrap; }
.subhero-e-left { display:flex; align-items:center; gap:23.76px; }
.subhero-e h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(36.96px,3vw,52.8px); letter-spacing:-0.03em; line-height:1; }
.subhero-e h1 em { font-style:normal; color: var(--gold); }
.subhero-e-div { width:1.32px; height:44.88px; background: rgba(255,255,255,0.2); }
.subhero-e-rating { display:flex; align-items:center; gap:10.56px; }
.subhero-e-rating .tp-stars { display:flex; gap:2.64px; color: var(--gold); }
.subhero-e-rating .tp-stars svg { width:18.48px; height:18.48px; }
.subhero-e-rating span { font-family: var(--font-ui); font-size:13.2px; font-weight:600; letter-spacing: calc(0.1em*var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.7); }
.subhero-e-rating span em { font-style:normal; color:#fff; }
.subhero-e-right { display:flex; align-items:center; gap:13.2px; flex-wrap:wrap; }
@media (max-width:744px){ .subhero-e .subhero-e-inner{ padding: 29.04px 31.68px; } .subhero-e-div{ display:none; } }

/* ==================================================
   EXTRA OPTIONS · tag-note box (visible only in Tags layout)
   ================================================== */
.xopts-tagnote { display: none; margin-top: 18.48px; align-items: center; gap: 18.48px; padding: 18.48px 21.12px; background:#fff; border:1.2px solid var(--line); border-radius: var(--r); }
body[data-xopt="tags"] .xopts-tagnote { display: flex; }
.xopts-tagnote .xtn-ico { width:52.8px; height:52.8px; flex-shrink:0; border-radius: var(--r); background: var(--royal-tint); border:1.2px solid var(--royal-soft); color: var(--royal); display:flex; align-items:center; justify-content:center; }
.xopts-tagnote .xtn-ico svg { width:26.4px; height:26.4px; }
.xopts-tagnote .xtn-body { min-width:0; }
.xopts-tagnote .xtn-head { display:flex; align-items:center; gap:13.2px; }
.xopts-tagnote .xtn-name { font-family: var(--font-body); font-weight:700; font-size:19.8px; letter-spacing:-0.01em; color: var(--ink); }
.xopts-tagnote .xtn-price { font-family: var(--font-ui); font-size:11.88px; font-weight:700; letter-spacing: calc(0.06em*var(--tracking)); text-transform:uppercase; color: var(--green); border:1.2px solid color-mix(in srgb,var(--green) 30%,var(--line)); border-radius:var(--r); padding:2.64px 10.56px; }
.xopts-tagnote .xtn-price.paid { color: var(--gold-deep); border-color: color-mix(in srgb,var(--gold) 45%,var(--line)); }
.xopts-tagnote .xtn-desc { font-size:17.16px; line-height:1.5; color: var(--ink-soft); margin-top:3.96px; }

/* ==================================================
   CALC v4 · TIER GRID
   ================================================== */
.cg-preview { display:flex; align-items:center; justify-content:center; gap:29.04px; margin-bottom:23.76px; }
.cg-mini { display:flex; align-items:center; gap:17.16px; background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 15.84px 21.12px; }
.cg-mini.from { border-left:3.6px solid var(--royal); }
.cg-mini.to { border-left:3.6px solid var(--gold-deep); }
.cg-crest { position:relative; width:102.96px; height:102.96px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.cg-crest .glow { position:absolute; inset:6%; border-radius:50%; background: radial-gradient(circle, var(--tier-c,var(--royal)) 0%, transparent 68%); opacity:0.22; filter: blur(7.92px); }
body.no-glow .cg-crest .glow { display:none; }
.cg-crest img { position:relative; z-index:2; width:92.4px; height:92.4px; object-fit:contain; filter: drop-shadow(0 7.92px 13.2px rgba(27,31,42,0.25)); }
.cg-tx { display:flex; flex-direction:column; gap:2.64px; }
.cg-tx .cg-l { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cg-mini.from .cg-l { color: var(--royal); }
.cg-mini.to .cg-l { color: var(--gold-deep); }
.cg-tx .cg-n { font-family: var(--font-display); font-weight:700; font-size:25.08px; letter-spacing:-0.02em; color: var(--ink); }
.cg-arrow { color: var(--royal); display:flex; }
.cg-arrow svg { width:29.04px; height:29.04px; }
.cg-editswitch { display:flex; gap:7.92px; background: var(--bg-deep); border:1.2px solid var(--line); border-radius: var(--r); padding:5.28px; max-width: 554.4px; margin: 0 auto 21.12px; }
.cg-edit { flex:1; padding:11.88px 15.84px; border-radius:calc(var(--r) - 2.64px); border:none; background:none; cursor:pointer; font-family: var(--font-ui); font-size:14.52px; font-weight:700; letter-spacing: calc(0.06em*var(--tracking)); text-transform:uppercase; color: var(--ink-soft); transition: all 160ms var(--ease-out); }
.cg-edit.sel { background:#fff; box-shadow:0 2.4px 7.2px rgba(27,31,42,0.14); color: var(--royal); }
.cg-tiers { display:grid; grid-template-columns: repeat(5, 1fr); gap:10.56px; margin-bottom:21.12px; }
@media (max-width:672px){ .cg-tiers{ grid-template-columns: repeat(3,1fr); } }
.cg-tier { display:flex; flex-direction:column; align-items:center; gap:6.6px; padding:15.84px 7.92px; border-radius: var(--r); background:#fff; border:1.2px solid var(--line); cursor:pointer; transition: all 160ms var(--ease-out); }
.cg-tier:hover { border-color: var(--royal-soft); transform: translateY(-2.64px); box-shadow: var(--shadow-soft); }
.cg-tier img { width:60.72px; height:60.72px; object-fit:contain; }
.cg-tier span { font-family: var(--font-ui); font-size:11.88px; font-weight:700; letter-spacing: calc(0.04em*var(--tracking)); text-transform:uppercase; color: var(--ink-soft); }
.cg-tier.sel-from { border-color: var(--royal); box-shadow: 0 0 0 2.4px var(--royal-soft); }
.cg-tier.sel-to { border-color: var(--gold-deep); box-shadow: 0 0 0 2.4px color-mix(in srgb, var(--gold) 60%, transparent); }
.cg-divrow { display:flex; gap:21.12px; justify-content:center; }
.cg-divrow .grp { display:flex; flex-direction:column; align-items:center; gap:9.24px; }
.cg-divrow .grp .gl { font-family: var(--font-ui); font-size:11.22px; font-weight:600; letter-spacing: calc(0.14em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cg-divrow .div-pills { width: 221.76px; }

/* ==================================================
   CALC v5 · COMPACT DROPDOWNS
   ================================================== */
.cmp-row { display:grid; grid-template-columns: 1fr auto 1fr; gap:18.48px; align-items:center; }
@media (max-width:816px){ .cmp-row{ grid-template-columns: 1fr; } }
.cmp-card { display:flex; align-items:center; gap:18.48px; background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 21.12px; }
.cmp-card.from { border-left:3.6px solid var(--royal); }
.cmp-card.to { border-left:3.6px solid var(--gold-deep); }
.cmp-crest { position:relative; width:110.88px; height:110.88px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.cmp-crest .glow { position:absolute; inset:6%; border-radius:50%; background: radial-gradient(circle, var(--tier-c,var(--royal)) 0%, transparent 68%); opacity:0.22; filter: blur(7.92px); }
body.no-glow .cmp-crest .glow { display:none; }
.cmp-crest img { position:relative; z-index:2; width:100.32px; height:100.32px; object-fit:contain; filter: drop-shadow(0 7.92px 13.2px rgba(27,31,42,0.25)); }
.cmp-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:11.88px; }
.cmp-lab { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cmp-card.from .cmp-lab { color: var(--royal); }
.cmp-card.to .cmp-lab { color: var(--gold-deep); }
.cmp-select { width:100%; border:1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft); padding:13.2px 15.84px; font-family: var(--font-body); font-weight:600; font-size:18.48px; color: var(--ink); outline:none; cursor:pointer; }
.cmp-select:focus { border-color: var(--royal-soft); background:#fff; }
.cmp-arrow { display:flex; align-items:center; justify-content:center; width:60.72px; height:60.72px; border-radius:50%; background: linear-gradient(135deg, var(--royal), var(--royal-deep)); color:#fff; box-shadow: 0 12px 26.4px -12px rgba(255,70,85,0.6); }
.cmp-arrow svg { width:26.4px; height:26.4px; }
@media (max-width:816px){ .cmp-arrow{ transform: rotate(90deg); margin: 0 auto; } }

/* ==================================================
   RANK CALCULATOR · 4 TWIN-CREST VERSIONS
   (data-calc: classic | spotlight | rows | vs)
   ================================================== */

/* ---- v2 · SPOTLIGHT — borderless, oversized crests, big glow ---- */
body[data-calc="spotlight"] .rank-station { background: none; border: none; box-shadow: none; padding: 7.92px 10.56px 15.84px; gap: 15.84px; }
body[data-calc="spotlight"] .rank-station.is-focus { box-shadow: none; }
body[data-calc="spotlight"] .crest-stage { width: 369.6px; height: 369.6px; }
body[data-calc="spotlight"] .crest-img { width: 322.08px; height: 322.08px; }
body[data-calc="spotlight"] .crest-glow { opacity: 0.4; inset: 2%; filter: blur(18.48px); }
body[data-calc="spotlight"] .crest-ring { opacity: 0.7; }
body[data-calc="spotlight"] .rank-name-big { font-size: 36.96px; }
body[data-calc="spotlight"] .tier-select, body[data-calc="spotlight"] .div-pills { max-width: 343.2px; }
body[data-calc="spotlight"] .rank-arrow-glyph { width: 79.2px; height: 79.2px; }

/* ---- v3 · ROWS — each station a horizontal row, stacked vertically ---- */
body[data-calc="rows"] .rank-stations { grid-template-columns: 1fr; gap: 15.84px; }
body[data-calc="rows"] .rank-station {
  flex-direction: row; align-items: center; text-align: left; gap: 26.4px; padding: 23.76px 29.04px;
}
body[data-calc="rows"] .rank-station .crest-stage { width: 198px; height: 198px; flex-shrink: 0; }
body[data-calc="rows"] .rank-station .crest-img { width: 168.96px; height: 168.96px; }
body[data-calc="rows"] .rank-station-label { position: absolute; top: 18.48px; left: 29.04px; }
body[data-calc="rows"] .rank-station { position: relative; padding-top: 52.8px; }
body[data-calc="rows"] .rank-name-big { flex: 0 0 171.6px; text-align: left; }
body[data-calc="rows"] .rank-name-big small { margin-top: 6.6px; }
body[data-calc="rows"] .tier-select { flex: 1; min-width: 158.4px; }
body[data-calc="rows"] .div-pills { flex: 0 0 237.6px; }
body[data-calc="rows"] .rank-arrow { flex-direction: row; gap: 18.48px; padding: 2.64px 0; }
body[data-calc="rows"] .rank-arrow-glyph { transform: rotate(90deg); width: 55.44px; height: 55.44px; }
body[data-calc="rows"] .rank-arrow-glyph svg { animation: none; }
body[data-calc="rows"] .rank-arrow-glyph .a-rising { transform: rotate(-90deg); }
@media (max-width: 816px) {
  body[data-calc="rows"] .rank-station { flex-wrap: wrap; }
  body[data-calc="rows"] .rank-name-big, body[data-calc="rows"] .tier-select, body[data-calc="rows"] .div-pills { flex: 1 1 100%; }
}

/* ---- v4 · VS — dark battle panel with a VS badge ---- */
body[data-calc="vs"] #sel-stations {
  background: radial-gradient(924px 422.4px at 50% -10%, rgba(255,234,61,0.10), transparent 60%), linear-gradient(165deg, #1b1f2a, #0a2752 60%, #11141c);
  border-radius: calc(var(--r) + 5.28px); padding: 34.32px 29.04px; margin: -5.28px 0 5.28px;
  border: 1.2px solid rgba(255,255,255,0.1);
}
body[data-calc="vs"] .rank-station { background: rgba(255,255,255,0.05); border: 1.2px solid rgba(255,255,255,0.12); }
body[data-calc="vs"] .rank-station.is-focus { box-shadow: none; border-color: rgba(255,255,255,0.22); }
body[data-calc="vs"] .rank-station-label { color: rgba(255,255,255,0.6); }
body[data-calc="vs"] .rank-station.from .rank-station-label .pin { color: #6fb0ff; }
body[data-calc="vs"] .rank-name-big { color: #fff; }
body[data-calc="vs"] .rank-name-big small { color: rgba(255,255,255,0.55); }
body[data-calc="vs"] .crest-glow { opacity: 0.45; filter: blur(15.84px); }
body[data-calc="vs"] .tier-trigger { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.16); color: #fff; }
body[data-calc="vs"] .tier-trigger:hover { background: rgba(255,255,255,0.14); }
body[data-calc="vs"] .div-pill { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.14); color: rgba(255,255,255,0.8); }
body[data-calc="vs"] .div-pill.sel { background: var(--gold); border-color: var(--gold-deep); color: var(--navy); box-shadow: none; }
body[data-calc="vs"] .rank-arrow-glyph { display: none; }
body[data-calc="vs"] .rank-arrow-jump { color: rgba(255,255,255,0.6); }
body[data-calc="vs"] .rank-arrow-jump b { color: var(--gold); }
body[data-calc="vs"] .rank-vs {
  display: flex; align-items: center; justify-content: center;
  width: 76.56px; height: 76.56px; border-radius: 50%;
  font-family: var(--font-display); font-weight: 800; font-size: 26.4px; letter-spacing: -0.02em;
  color: var(--navy); background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  box-shadow: 0 0 0 7.2px rgba(255,234,61,0.18), 0 14.4px 31.2px -9.6px rgba(0,0,0,0.5);
  margin-bottom: 7.92px;
}
@media (max-width: 864px) { body[data-calc="vs"] .rank-vs { transform: none; } }

/* ==================================================
   ORDER PANEL · 3 LIGHT VERSIONS (+ modern dark elsewhere)
   data-order: light-a (Clean) | light-b (Sky) | light-c (Receipt) | modern
   ================================================== */
/* light-a = the base look (royal gradient header, white body) — no overrides needed */

/* light-b · SKY — soft-blue panel, lighter header, accent rows */
body[data-order="light-b"] .order-panel { background: var(--bg-soft); border-color: var(--royal-soft); }
body[data-order="light-b"] .order-top { background: linear-gradient(155deg, #ff6470 0%, #e23d4b 100%); }
body[data-order="light-b"] .order-body { background: #fff; }
body[data-order="light-b"] .order-row .v { color: var(--royal); }
body[data-order="light-b"] .order-total .price-col.vip { background: #fff; border-color: var(--royal); box-shadow: 0 9.6px 24px -14.4px rgba(255,70,85,0.5); }
body[data-order="light-b"] .order-reward { background: #fff; }

/* light-c · RECEIPT — white, gold top stripe, dark header text, dashed dividers */
body[data-order="light-c"] .order-panel { border-top: 3.6px solid var(--gold); }
body[data-order="light-c"] .order-top { background: #fff; border-bottom: 1.2px dashed var(--line); }
body[data-order="light-c"] .order-top::before { display: none; }
body[data-order="light-c"] .order-title { color: var(--ink); }
body[data-order="light-c"] .order-title em { color: var(--royal); }
body[data-order="light-c"] .order-secure { color: var(--green); }
body[data-order="light-c"] .order-mini span { color: var(--ink); }
body[data-order="light-c"] .order-mini small { color: var(--ink-muted); }
body[data-order="light-c"] .order-mini img { filter: drop-shadow(0 7.92px 13.2px rgba(27,31,42,0.2)); }
body[data-order="light-c"] .order-arrow { color: var(--royal); }
body[data-order="light-c"] .order-row { border-style: dashed; }
body[data-order="light-c"] .order-row + .order-row { border-top-style: dashed; }
body[data-order="light-c"] .order-total .price-col.reg { background: #fff; border-style: dashed; }
body[data-order="light-c"] .order-total .price-col.vip { background: color-mix(in srgb, var(--gold) 14%, #fff); border-color: var(--gold-deep); }
body[data-order="light-c"] .order-total .price-col.vip .amt.now { color: var(--gold-deep); }
body[data-order="light-c"] .order-foot .btn-royal { background: linear-gradient(135deg, var(--gold), var(--gold-deep)); color: var(--navy); box-shadow: 0 9.6px 28.8px -9.6px rgba(245,212,0,0.5); }

/* ==================================================
   REVIEWS · overall rating box + 3 layout versions
   ================================================== */
.rev-wrap { padding: 0 31.68px; margin-top: 23.76px; }
.rev-summary {
  max-width: 1742.4px; margin: 0 auto 21.12px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 44.88px; align-items: center;
  background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 2.64px);
  box-shadow: var(--shadow-soft); padding: 29.04px 36.96px;
}
@media (max-width: 1032px){ .rev-summary { grid-template-columns: 1fr; gap: 23.76px; justify-items:center; text-align:center; } }
.rev-sum-score { display:flex; flex-direction:column; align-items:center; gap:9.24px; }
.rev-sum-score .big { font-family: var(--font-display); font-weight:800; font-size:73.92px; letter-spacing:-0.03em; line-height:0.9; color: var(--ink); }
.rev-sum-score .big span { font-size:29.04px; font-weight:500; color: var(--ink-muted); }
.rev-sum-score .tp-stars { display:flex; gap:2.64px; color: var(--gold-deep); }
.rev-sum-score .tp-stars svg { width:22.44px; height:22.44px; }
.rev-sum-count { font-family: var(--font-ui); font-size:13.2px; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.rev-sum-count b { color: var(--ink-soft); }
.rev-sum-bars { display:flex; flex-direction:column; gap:7.92px; min-width: 290.4px; width:100%; max-width: 475.2px; }
.rev-bar { display:flex; align-items:center; gap:13.2px; font-family: var(--font-ui); font-size:13.2px; color: var(--ink-muted); }
.rev-bar .s { width:13.2px; text-align:center; color: var(--ink-soft); font-weight:700; }
.rev-bar i { flex:1; height:9.24px; border-radius:1318.68px; background: var(--bg-deep); position:relative; overflow:hidden; }
.rev-bar i::after { content:''; position:absolute; top:0; left:0; bottom:0; width:var(--w,0%); background: linear-gradient(90deg, color-mix(in srgb,var(--gold) 75%,#fff), var(--gold-deep)); border-radius:1318.68px; }
.rev-bar em { width:44.88px; text-align:right; font-style:normal; color: var(--ink-soft); }
.rev-sum-badges { display:flex; flex-direction:column; gap:11.88px; }
.rev-sum-badges span { display:inline-flex; align-items:center; gap:10.56px; font-family: var(--font-ui); font-size:13.2px; font-weight:600; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-soft); }
.rev-sum-badges svg { width:18.48px; height:18.48px; color: var(--green); }
.rev-submit-grid { max-width: 1742.4px; margin: 0 auto; grid-template-columns: 448.8px 1fr; }
/* This second .rev-submit-grid declaration sits after the collapse @media above,
   so it re-introduced 2 columns on mobile (horizontal overflow). Re-assert the
   single-column collapse here so it wins by source order. */
@media (max-width: 1080px){ .rev-submit-grid { grid-template-columns: minmax(0, 1fr); } }

/* summary now lives in the left column, above the form */
.rev-left { display:flex; flex-direction:column; gap:18.48px; min-width:0; }
.rev-left .rev-summary { display:flex; flex-direction:column; align-items:stretch; gap:17.16px; margin:0; padding:23.76px 26.4px; text-align:left; }
.rev-left .rev-summary .rev-sum-score { flex-direction:row; align-items:center; gap:17.16px; justify-content:flex-start; }
.rev-left .rev-summary .rev-sum-score .big { font-size:52.8px; }
.rev-left .rev-summary .rev-sum-bars { max-width:none; min-width:0; }
.rev-left .rev-summary .rev-sum-badges { flex-direction:row; flex-wrap:wrap; gap:11.88px 18.48px; }
@media (max-width: 1080px){ .rev-left .rev-summary .rev-sum-score { justify-content:center; } }

/* version: split (default) — summary+form left, reviews single column right */
/* version: cards — reviews become a 2-col card grid on the right */
body[data-reviews="cards"] .rev-list { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15.84px; align-content:start; }
@media (max-width: 840px){ body[data-reviews="cards"] .rev-list { grid-template-columns: 1fr; } }
/* version: wall — summary + form side-by-side on top, reviews as a 3-col wall below */
body[data-reviews="wall"] .rev-submit-grid { display:flex; flex-direction:column; gap:21.12px; }
body[data-reviews="wall"] .rev-left { flex-direction:row; align-items:stretch; gap:21.12px; }
body[data-reviews="wall"] .rev-left .rev-summary { flex:0 0 422.4px; }
body[data-reviews="wall"] .rev-left .rev-form { flex:1; }
body[data-reviews="wall"] .rev-list { display:grid; grid-template-columns: repeat(3, 1fr); gap: 15.84px; }
@media (max-width: 1080px){ body[data-reviews="wall"] .rev-left { flex-direction:column; } body[data-reviews="wall"] .rev-list { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 744px){ body[data-reviews="wall"] .rev-list { grid-template-columns: 1fr; } }

/* reviews trust strip (3rd-party / Trustpilot) */
.rev-trust { max-width:1742.4px; margin:0 auto 18.48px; display:flex; align-items:center; gap:15.84px; flex-wrap:wrap; background: #fff; border:1.2px solid var(--line); border-radius: var(--r); padding:14.52px 21.12px; }
/* CTA to the full (independently verified) reviews page — pushed right; wraps under on mobile. */
.rev-trust-btn { margin-left:auto; white-space:nowrap; padding:11.88px 19.8px; font-size:14.52px; }
@media (max-width:672px){ .rev-trust-btn { margin-left:0; width:100%; justify-content:center; } }
.rev-trust .tp-stars { display:flex; gap:2.64px; color: var(--green); }
.rev-trust .tp-stars svg { width:19.8px; height:19.8px; }
.rev-trust-txt { font-size:16.5px; color: var(--ink-soft); }
.rev-trust-txt b { color: var(--ink); font-weight:600; }

/* review form auto-submit note */
.rev-auto { display:flex; align-items:flex-start; gap:10.56px; margin-top:15.84px; font-size:15.18px; line-height:1.5; color: var(--ink-muted); }
.rev-auto svg { width:18.48px; height:18.48px; color: var(--green); flex-shrink:0; margin-top:1.32px; }

/* back-to-top button */
.totop-wrap { display:flex; justify-content:center; background: var(--bg); padding: 10.56px 31.68px 39.6px; }
.totop-wrap .totop-btn { display:inline-flex; align-items:center; gap:11.88px; font-family: var(--font-ui); font-size:15.84px; font-weight:700; letter-spacing: calc(0.12em*var(--tracking)); text-transform:uppercase; color: #fff; background: var(--royal); border:1.2px solid var(--royal-deep); border-radius:var(--r); padding:18.48px 34.32px; box-shadow: 0 9.6px 26.4px -12px rgba(255,70,85,0.55); transition: background 180ms ease, border-color 180ms ease, transform 160ms var(--ease-out); }
.totop-wrap .totop-btn:hover { background: var(--royal-deep); border-color: var(--royal-deep); color:#fff; transform: translateY(-2.64px); }
.totop-wrap .totop-btn .totop-ico { width:18.48px; height:18.48px; transform: rotate(180deg); }

/* FAQ "question" section titles read better in the body face than the display face */
.faq.subfaq .section-title { font-family: var(--font-body); }

/* ==================================================
   ABOUT SECTION ASIDE · 3 ways to use the right space
   data-about: highlights (default) | media | wide
   ================================================== */
.seo-aside .sa-card, .seo-aside .sa-media { display: none; }
body[data-about="highlights"] .seo-aside .sa-highlights,
body:not([data-about]) .seo-aside .sa-highlights { display: flex; }
body[data-about="media"] .seo-aside .sa-media { display: block; }
body[data-about="wide"] .seo-wrap { grid-template-columns: 1fr; }
body[data-about="wide"] .seo-aside { display: none; }
body[data-about="wide"] .seo-block p { max-width: 1188px; }

.sa-card { flex-direction: column; gap: 18.48px; background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 2.64px); box-shadow: var(--shadow-soft); padding: 26.4px; }
.sa-card-head { display:flex; align-items:center; gap:11.88px; font-family: var(--font-display); font-weight:700; font-size:19.8px; color: var(--ink); }
.sa-card-head svg { width:23.76px; height:23.76px; color: var(--royal); }
.sa-list { display:flex; flex-direction:column; gap:11.88px; }
.sa-list li { display:flex; align-items:flex-start; gap:11.88px; font-size:16.5px; line-height:1.4; color: var(--ink-soft); }
.sa-list svg { width:18.48px; height:18.48px; color: var(--green); flex-shrink:0; margin-top:1.32px; }
.sa-rating { display:flex; align-items:center; gap:10.56px; padding-top:15.84px; border-top:1.2px solid var(--line-soft); }
.sa-rating .tp-stars { display:flex; gap:1.32px; color: var(--gold-deep); }
.sa-rating .tp-stars svg { width:17.16px; height:17.16px; }
.sa-rating span { font-family: var(--font-ui); font-size:13.2px; color: var(--ink-muted); }
.sa-rating b { color: var(--ink); }
.sa-card .btn { width:100%; justify-content:center; }
.sa-media image-slot { display:block; width:100%; height:422.4px; border-radius:13.2px; overflow:hidden; }
.sa-media-cap { display:flex; align-items:center; gap:10.56px; margin-top:13.2px; font-family: var(--font-ui); font-size:14.52px; font-weight:600; color: var(--ink-soft); }
.sa-media-cap svg { width:18.48px; height:18.48px; color: var(--gold-deep); }

/* keep bottom-content "cards" styling available without conflicting with the aside grid */
body[data-bottom="cards"] .seo-block { background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r)+2.64px); padding: 39.6px 42.24px; box-shadow: var(--shadow-soft); }
body[data-bottom="cards"] .seo-block .seo-stats .seo-stat,
body[data-bottom="cards"] .seo-block .seo-step { box-shadow:none; }

/* ==================================================
   REVIEWS PAGER (1, 2, 3 · Next)
   ================================================== */
.rev-pager { grid-column: 1 / -1; display:flex; align-items:center; justify-content:center; gap:7.92px; margin-top:21.12px; }
.rev-page, .rev-page-nav {
  font-family: var(--font-ui); font-size:15.84px; font-weight:700; color: var(--ink-soft);
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r);
  min-width:44.88px; height:44.88px; padding:0 14.52px; display:inline-flex; align-items:center; justify-content:center; gap:7.92px;
  cursor:pointer; transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.rev-page:hover, .rev-page-nav:hover { border-color: var(--royal-soft); color: var(--royal); }
.rev-page.is-on { background: var(--royal); border-color: var(--royal-deep); color:#fff; }
.rev-page-nav svg { width:17.16px; height:17.16px; }
.rev-page-nav[disabled] { opacity:0.4; cursor:not-allowed; }
.rev-page-nav[disabled]:hover { border-color: var(--line); color: var(--ink-soft); }

/* ==================================================
   TEAMMATE-REVISION PATCHES
   ================================================== */

/* condensed calculator controls (LP + queue) */
.calc-controls .ctl-block { padding: 17.16px 19.8px; }
.calc-controls .ctl-label { margin-bottom: 13.2px; }

/* fonts out of the display category → body face */
.seo h2, .seo h3, .seo .seo-stat .n, .seo .seo-step .num { font-family: var(--font-body); }
/* footer column headings: now owned site-wide by chrome-f3.css (.site-footer);
   the boost-page font override is removed so this page's footer matches the rest. */

/* muted (empty) review star */
.rev-item .tp-stars .tp-star.off { color: var(--line); }

/* ---- reviews sort bar ---- */
.rev-list-head {
  grid-column: 1 / -1;
  display: flex; align-items: center; justify-content: space-between; gap: 15.84px; flex-wrap: wrap;
  padding-bottom: 2.64px;
}
.rlh-count { font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.rlh-count b { color: var(--ink-soft); }
.rev-sort { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5.28px; background: #fff; border: 1.2px solid var(--line); border-radius: var(--r); padding: 3.96px; box-shadow: var(--shadow-soft); }
.rev-sort-lab { font-family: var(--font-ui); font-size: 11.88px; font-weight: 600; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); padding: 0 7.92px 0 9.24px; }
.rev-sort-btn { font-family: var(--font-ui); font-size: 14.52px; font-weight: 700; color: var(--ink-soft); background: none; border: none; border-radius: calc(var(--r) - 2.64px); padding: 7.92px 14.52px; cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.rev-sort-btn:hover { color: var(--royal); }
.rev-sort-btn.is-on { background: var(--royal); color: #fff; }

/* ---- order CTA · hover ----
   The parent boosting/main.css `.btn` is the old blue theme: `.btn` is white, and
   `.btn:not(:disabled):hover { background:0 0 }` strips the background to transparent
   while a skewed blue `::after` panel (#0062a6) sweeps in (0,3,0 — it beats the F3
   `.vb-rd .btn-royal` gradient at 0,2,0). That read as the button "blinking white".
   Pin the royal gradient on hover (!important to win regardless of load order) and
   remove the ::after sweep, so the CTA stays the same red on hover. */
.order-foot .btn { position: relative; }
.order-foot .btn::after { display: none !important; }
.order-foot .btn-royal,
.order-foot .btn-royal:hover {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%) !important;
  color: #fff;
  border-color: transparent;
}
/* hover blink = LIGHT BLUE (per design feedback), not the gold default */
.order-foot .btn:hover { box-shadow: 0 0 0 1.2px #5cc8ff, 0 12px 36px -7.2px rgba(92,200,255,0.6); }
@media (prefers-reduced-motion: no-preference) {
  .order-foot .btn:hover svg { animation: btn-bolt-flicker 0.6s ease-in-out; }
}
.order-foot .btn:hover svg { color: #5cc8ff; filter: drop-shadow(0 0 6.6px #5cc8ff); }
@keyframes btn-bolt-flicker { 0%,100% { opacity: 1; } 12%,32%,52% { opacity: 0.35; } 22%,42%,62% { opacity: 1; } }

/* ==================================================
   ROUND PATCHES
   ================================================== */

/* Footer: removed the boost-page-only .site-footer overrides (brand-colour social
   icons keyed by nth-child + bigger column headings). They predated the global F3
   footer and were dead (no live page emitted .site-footer); now that footer.php
   renders .site-footer site-wide they would only desync THIS page — the design uses
   the ghost social icons + 12px headings chrome-f3.css applies everywhere, and the
   nth-child(1-4) set also missed the new 5th (email) icon. */

/* equal width for extra-options & note cards in the order column */
.calc-main .xopts-card, .calc-main .note-card { max-width: none; width: 100%; margin: 0; }

/* ==================================================
   NAV DROPDOWN (example)
   ================================================== */
.nav-dd { position: relative; display: inline-flex; }
.nav-dd-caret { width: 17.16px; height: 17.16px; margin-left: 3.96px; transition: transform 220ms var(--ease-out); }
.nav-dd:hover .nav-dd-caret { transform: rotate(180deg); }
.nav-dd-menu {
  position: absolute; top: calc(100% + 10.56px); left: 50%; transform: translateX(-50%) translateY(-7.92px);
  width: 382.8px; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 2.64px);
  box-shadow: var(--shadow-pop); padding: 9.24px; z-index: 60;
  opacity: 0; visibility: hidden; transition: opacity 180ms ease, transform 200ms var(--ease-out), visibility 180ms;
}
.nav-dd:hover .nav-dd-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-dd-menu::before { content: ''; position: absolute; top: -10.56px; left: 0; right: 0; height: 10.56px; }
.nav-dd-menu > a { display: flex; align-items: center; gap: 14.52px; padding: 11.88px 13.2px; border-radius: var(--r); transition: background 150ms ease; }
.nav-dd-menu > a:hover { background: var(--royal-tint); }
.nav-dd-menu > a svg { width: 22.44px; height: 22.44px; color: var(--royal); flex-shrink: 0; }
.nav-dd-menu > a span { display: flex; flex-direction: column; gap: 1.32px; min-width: 0; }
.nav-dd-menu > a b { font-family: var(--font-display); font-weight: 700; font-size: 16.5px; letter-spacing: -0.01em; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-dd-menu > a small { font-family: var(--font-ui); font-size: 11.88px; font-weight: 600; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.nav-dd-menu .nav-dd-all { justify-content: center; gap: 9.24px; margin-top: 3.96px; border-top: 1.2px solid var(--line-soft); border-radius: 0 0 var(--r) var(--r); font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--royal); }
.nav-dd-menu .nav-dd-all svg { width: 17.16px; height: 17.16px; }
@media (max-width: 1320px) { .nav-dd { display: none; } }

/* ==================================================
   HOT BADGE · 3 versions (data-hot: flame | ice | neon)
   ================================================== */
.nav-hot { position: relative; overflow: hidden; }
/* flame (default) */
body[data-hot="flame"] .nav-hot,
body:not([data-hot]) .nav-hot {
  background: linear-gradient(0deg, #ff3d00 0%, #ff7a2a 45%, #ffea3d 100%);
  color: #3a1500;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-hot="flame"] .nav-hot, body:not([data-hot]) .nav-hot { animation: hot-flame 1.1s ease-in-out infinite; }
}
@keyframes hot-flame { 0%,100% { box-shadow: 0 0 7.2px -1.2px rgba(255,80,0,0.7); transform: scale(1); } 50% { box-shadow: 0 0 13.2px 1.2px rgba(255,140,0,0.85); transform: scale(1.06); } }
/* ice — cool blue */
body[data-hot="ice"] .nav-hot {
  background: linear-gradient(160deg, #6fe0ff 0%, #2aa6e6 60%, #ff4655 100%);
  color: #042036;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-hot="ice"] .nav-hot { animation: hot-ice 2s ease-in-out infinite; }
}
@keyframes hot-ice { 0%,100% { box-shadow: 0 0 7.2px -1.2px rgba(60,180,255,0.6); } 50% { box-shadow: 0 0 14.4px 1.2px rgba(120,220,255,0.85); } }
/* neon — glow outline */
body[data-hot="neon"] .nav-hot {
  background: #0a0f1f; color: #5cffd0; border: 1.2px solid #5cffd0;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-hot="neon"] .nav-hot { animation: hot-neon 1.4s ease-in-out infinite; }
}
@keyframes hot-neon { 0%,100% { box-shadow: 0 0 6px rgba(92,255,208,0.6), inset 0 0 4.8px rgba(92,255,208,0.4); } 50% { box-shadow: 0 0 15.6px rgba(92,255,208,0.95), inset 0 0 8.4px rgba(92,255,208,0.6); } }

/* banner hero — comfortable bottom padding under the lifted calculator */
body[data-hero="a"] .subhero-a .subhero-inner { padding-bottom: 71.28px; }

/* center the arrow column vertically against the crests (not the full station height) */
.rank-arrow { align-self: start; margin-top: 205.92px; }
@media (max-width: 864px) { .rank-arrow { align-self: center; margin-top: 0; } }
body[data-calc="spotlight"] .rank-arrow { margin-top: 208.56px; }
body[data-calc="rows"] .rank-arrow { align-self: center; margin-top: 0; }

/* ==================================================
   MULTI-PRODUCT CONFIGURATORS
   ================================================== */
.prod-panel { display: none; }
body[data-prod="rank"] .prod-panel[data-for~="rank"],
body[data-prod="duo"] .prod-panel[data-for~="duo"],
body[data-prod="wins"] .prod-panel[data-for~="wins"],
body[data-prod="duowins"] .prod-panel[data-for~="duowins"],
body[data-prod="placement"] .prod-panel[data-for~="placement"],
body[data-prod="coaching"] .prod-panel[data-for~="coaching"],
body[data-prod="packs"] .prod-panel[data-for~="packs"] { display: block; }
body:not([data-prod]) .prod-panel[data-for~="rank"] { display: block; }
/* packs DO show the server/region selector (the region is needed to assign the booster). */

/* product hot badge — "save" pill variant */
.prod-tab-hot.save { background: linear-gradient(135deg, var(--green), #178a44); }

/* ---- shared rankbox (single rank picker) ---- */
.pp-lead { margin-bottom: 23.76px; }

/* wins / duo-wins split: control left, division-style rank station right */
.wins-split { display:grid; grid-template-columns: 1fr 1fr; gap:23.76px; align-items:stretch; }
@media (max-width: 864px){ .wins-split { grid-template-columns: 1fr; } }
/* dial right, rank left */
.wins-split .qty-block { margin:0; display:flex; flex-direction:column; order: 2; }
.wins-split .wins-station { order: 1; }
@media (max-width: 864px){ .wins-split .qty-block { order: 1; } .wins-split .wins-station { order: 2; } }
.wins-station { justify-content:center; }
.wins-station .crest-stage { width: 221.76px; height: 221.76px; }
.wins-station .crest-img { width: 171.6px; height: 171.6px; }
.rankbox { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 21.12px 23.76px 23.76px; }
.rb-label { display:flex; align-items:center; gap:10.56px; font-family: var(--font-ui); font-size:12.54px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-bottom:18.48px; }
.rb-label .pin { color: var(--royal); display:inline-flex; }
.rb-row { display:flex; align-items:center; gap:23.76px; }
.rb-crest { position:relative; width:142.56px; height:142.56px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.rb-crest .glow { position:absolute; inset:6%; border-radius:50%; background: radial-gradient(circle, var(--tier-c,var(--royal)) 0%, transparent 68%); opacity:0.22; filter: blur(10.56px); }
body.no-glow .rb-crest .glow { display:none; }
.rb-crest img { position:relative; z-index:2; width:126.72px; height:126.72px; object-fit:contain; filter: drop-shadow(0 10.56px 18.48px rgba(27,31,42,0.26)); transition: transform 360ms var(--ease-out); }
.rankbox:hover .rb-crest img { transform: scale(1.05) translateY(-2.64px); }
.rb-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:13.2px; }
.rb-tier { position:relative; }
.rb-pills { display:flex; gap:7.92px; }

/* ---- quantity block (wins / hours) ---- */
.qty-block { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 21.12px 23.76px 23.76px; }
.qty-block .ctl-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:18.48px; }
.qty-block .ctl-label .l { font-family: var(--font-ui); font-size:12.54px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.qty-block .ctl-label .v { font-family: var(--font-display); font-weight:700; font-size:19.8px; color: var(--ink); }
.qty-block .ctl-label .v em { font-style:normal; color: var(--royal); }

/* layout toggles for wins quantity */
.qty-slider, .qty-stepper, .dial-host { display: none; }
body[data-wins="dial"] #wins-qty .dial-host { display: flex; }
body[data-wins="stepper"] #wins-qty .qty-stepper { display: flex; }
body:not([data-wins]) #wins-qty .dial-host { display: flex; }
.prod-panel[data-for~="coaching"] .dial-host { display: flex; }
.qty-stepper.solo { display: flex; }

/* ---- circular win/hours dial ---- */
.dial-host { flex-direction: column; align-items: center; gap: 21.12px; }
.win-dial { position: relative; width: 264px; height: 264px; touch-action: none; }
.dial-svg { width: 100%; height: 100%; display: block; transform: rotate(0deg); }
/* transform-origin MUST stay the SVG-viewBox centre (100,100). The +10% px scale
   wrongly bumped it to 110px, pivoting the rotate() off-centre and breaking the
   dial. center + fill-box is scale-proof (always the circle's own centre). */
.dial-track { fill: none; stroke: #ffe0e3; stroke-width: 9; transform: rotate(-90deg); transform-box: fill-box; transform-origin: center; }
body.no-glow .dial-track { stroke: #e4e7ec; }
.dial-prog { fill: none; stroke: var(--orange, #ff7a2a); stroke-width: 10; stroke-linecap: round; transform: rotate(-90deg); transform-box: fill-box; transform-origin: center; transition: stroke-dasharray 220ms var(--ease-out); }
.dial-knob { fill: #fff; stroke: var(--orange, #ff7a2a); stroke-width: 4; cursor: grab; transition: cx 200ms var(--ease-out), cy 200ms var(--ease-out); }
.win-dial:active .dial-knob { cursor: grabbing; }
.dial-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.dial-num { font-family: var(--font-display); font-weight: 800; font-size: 95.04px; line-height: 0.84; letter-spacing: -0.04em; color: var(--ink); font-variant-numeric: tabular-nums; }
.dial-unit { font-family: var(--font-ui); font-size: 14.52px; font-weight: 700; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); margin-top: 10.56px; }
.dial-presets { display: flex; gap: 7.92px; }

.qty-stepper { flex-wrap:wrap; align-items:center; gap:15.84px; }
.qty-btn { width:58.08px; height:58.08px; border-radius:50%; border:1.2px solid var(--line); background: var(--bg-soft); color: var(--royal); display:flex; align-items:center; justify-content:center; cursor:pointer; transition: all 160ms var(--ease-out); flex-shrink:0; }
.qty-btn:hover { background: var(--royal-tint); border-color: var(--royal-soft); transform: scale(1.06); }
.qty-btn:active { transform: scale(0.94); }
.qty-btn[disabled] { opacity:0.3; cursor:not-allowed; transform:none; }
.qty-btn svg { width:23.76px; height:23.76px; }
.qty-readout { display:flex; flex-direction:column; align-items:center; min-width:102.96px; }
.qty-readout span { font-family: var(--font-display); font-weight:800; font-size:44.88px; line-height:0.9; letter-spacing:-0.03em; color: var(--ink); font-variant-numeric: tabular-nums; }
.qty-readout small { font-family: var(--font-ui); font-size:11.22px; font-weight:600; letter-spacing: calc(0.12em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:5.28px; }
.qty-presets { display:flex; gap:7.92px; margin-left:auto; }
.qty-preset { padding:10.56px 17.16px; border-radius: var(--r); border:1.2px solid var(--line); background: var(--bg-soft); font-family: var(--font-ui); font-size:15.84px; font-weight:700; color: var(--ink-soft); cursor:pointer; transition: all 150ms var(--ease-out); }
.qty-preset:hover { border-color: var(--royal-soft); color: var(--royal); }
.qty-preset.sel { background: var(--royal); border-color: var(--royal-deep); color:#fff; }

/* Plain paragraph, not flex: flex turned each inline run into its own item, so the
   bold "net win" wrapped into a two-line column beside the check icon (user report);
   the leading icon was dropped from the markup with it. */
.pp-note { display:block; margin-top:21.12px; font-size:15.84px; line-height:1.5; color: var(--ink-soft); }
.pp-note b { color: var(--ink); }

/* ---- placement games segmented ---- */
#pl-qty .games-seg { display: none; }
body[data-pl="dial"] #pl-qty .dial-host { display: flex; }
body[data-pl="cards"] #pl-qty .games-seg { display: grid; }
body:not([data-pl]) #pl-qty .dial-host { display: flex; }
.games-seg { display:grid; grid-template-columns: 1fr 1fr; gap:13.2px; }
.game-card { display:flex; flex-direction:column; align-items:center; gap:5.28px; padding: 26.4px 18.48px; border-radius: var(--r); border:1.2px solid var(--line); background: var(--bg-soft); cursor:pointer; transition: all 170ms var(--ease-out); }
.game-card:hover { border-color: var(--royal-soft); transform: translateY(-2.64px); box-shadow: var(--shadow-soft); }
.game-card.sel { background: var(--royal-tint); border-color: var(--royal); box-shadow: 0 12px 28.8px -16.8px rgba(255,70,85,0.5); }
.game-card .gc-num { font-family: var(--font-display); font-weight:800; font-size:52.8px; line-height:0.9; letter-spacing:-0.03em; color: var(--royal); }
.game-card .gc-lab { font-family: var(--font-display); font-weight:700; font-size:17.16px; color: var(--ink); }
.game-card .gc-sub { font-family: var(--font-ui); font-size:11.88px; font-weight:600; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
/* placement layout B: compact pills */
body[data-pl="cards"] .games-seg { grid-template-columns: 1fr; gap:13.2px; }

/* ---- coaching roles ---- */
.role-block { margin-bottom:21.12px; }
.role-block .ctl-label { margin-bottom:15.84px; }
.role-block .ctl-label .l { font-family: var(--font-ui); font-size:12.54px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.role-grid { display:grid; grid-template-columns: repeat(5,1fr); gap:10.56px; }
.role-opt { display:flex; flex-direction:column; align-items:center; gap:9.24px; padding:18.48px 7.92px; border-radius: var(--r); border:1.2px solid var(--line); background: var(--bg-soft); cursor:pointer; transition: all 160ms var(--ease-out); color: var(--ink-soft); }
.role-opt:hover { border-color: var(--royal-soft); transform: translateY(-2.64px); color: var(--royal); }
.role-opt.sel { background: var(--royal); border-color: var(--royal-deep); color:#fff; }
.role-opt svg { width:29.04px; height:29.04px; }
.role-opt span { font-family: var(--font-ui); font-size:13.2px; font-weight:700; letter-spacing: calc(0.06em*var(--tracking)); text-transform:uppercase; }
/* coaching layout B: horizontal list */
body[data-co="list"] .role-grid { grid-template-columns: 1fr; gap:7.92px; }
body[data-co="list"] .role-opt { flex-direction:row; justify-content:flex-start; gap:15.84px; padding:14.52px 21.12px; }
body[data-co="list"] .role-opt svg { width:23.76px; height:23.76px; }

/* ---- packs · preset rank-journey deal cards (XL deals) ---- */
.deals-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18.48px; }
@media (max-width: 1228.8px){ .deals-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 720px){ .deals-grid { grid-template-columns: 1fr; } }

/* ===== base deal card (shared DOM, skinned per data-packs) ===== */
.dl {
  position: relative; display: flex; flex-direction: column; gap: 21.12px;
  background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 5.28px);
  padding: 26.4px; cursor: pointer; text-align: left; overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform 220ms var(--ease-out), box-shadow 220ms ease, border-color 220ms ease;
}
.dl:hover { transform: translateY(-5.28px); box-shadow: var(--shadow-pop); border-color: var(--royal-soft); }
.dl.sel { border-color: var(--royal); box-shadow: var(--shadow-pop); }
/* hex check badge — shared across all 4 selection styles */
.dl.sel::after {
  content: '\2713'; position: absolute; z-index: 5; top: 14.52px; left: 14.52px;
  width: 35.64px; height: 39.6px; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-ui); font-weight: 800; font-size: 18.48px; color: #fff;
  background: var(--royal); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
@media (prefers-reduced-motion: no-preference) { .dl.sel::after { animation: hexpop 240ms var(--ease-out); } }
@keyframes hexpop { from { transform: scale(0.4) rotate(-30deg); opacity: 0; } to { transform: none; opacity: 1; } }
/* v1 · BADGE (default) — thin border + hex badge */
body[data-dealsel="badge"] .dl.sel { border-color: var(--royal); }
/* v2 · NOTCH — royal hex badge top-center + accent top edge */
body[data-dealsel="notch"] .dl.sel { border-color: var(--royal); box-shadow: inset 0 4.8px 0 var(--royal), var(--shadow-pop); }
body[data-dealsel="notch"] .dl.sel::after { top: -2.64px; left: 50%; transform: translateX(-50%); width: 52.8px; height: 29.04px; clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 100%, 0 60%); border-radius: 0 0 5.28px 5.28px; }
@media (prefers-reduced-motion: no-preference) { body[data-dealsel="notch"] .dl.sel::after { animation: none; } }
/* v3 · LIFT — gold border + big float shadow under the card */
body[data-dealsel="lift"] .dl.sel { border-color: var(--gold-deep); transform: translateY(-7.92px); box-shadow: 0 31.2px 38.4px -21.6px rgba(27,31,42,0.5), var(--shadow-pop); }
body[data-dealsel="lift"] .dl.sel::after { background: linear-gradient(135deg, var(--gold), var(--gold-deep)); color: var(--navy); }
/* v4 · GLOW — royal glow halo + float shadow */
body[data-dealsel="glow"] .dl.sel { box-shadow: 0 0 0 3.6px color-mix(in srgb, var(--royal) 32%, transparent), 0 26.4px 43.2px -19.2px rgba(255,70,85,0.55); }
body[data-dealsel="glow"] .dl.sel::after { box-shadow: 0 0 16.8px 1.2px color-mix(in srgb, var(--royal) 60%, transparent); }

.dl-off {
  position: absolute; top: 0; right: 0; z-index: 3;
  font-family: var(--font-ui); font-weight: 800; font-size: 17.16px; color: #fff;
  background: linear-gradient(135deg, var(--orange), var(--orange-deep));
  padding: 9.24px 17.16px; border-radius: 0 calc(var(--r) + 5.28px) 0 15.84px;
  box-shadow: 0 4.8px 14.4px -4.8px rgba(255,122,42,0.6);
}

.dl-head { display: flex; flex-direction: column; gap: 3.96px; padding-right: 73.92px; }
.dl-kicker { font-family: var(--font-ui); font-size: 12.54px; font-weight: 700; letter-spacing: calc(0.16em*var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.dl-target { font-family: var(--font-display); font-weight: 800; font-size: 33px; letter-spacing: -0.025em; line-height: 1; color: var(--royal); text-transform: uppercase; }

.dl-journey { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7.92px; padding: 7.92px 0 2.64px; }
.dl-c { display: flex; flex-direction: column; align-items: center; gap: 10.56px; min-width: 0; }
.dl-c { position: relative; }
.dl-c img { position: relative; z-index: 2; width: 102.96px; height: 102.96px; object-fit: contain; filter: drop-shadow(0 7.92px 14.52px rgba(27,31,42,0.24)); }
.dl-c::before { content:''; position:absolute; top:-2.64px; left:50%; transform:translateX(-50%); width:110.88px; height:110.88px; border-radius:50%; background: radial-gradient(circle, var(--tier-c, var(--royal)) 0%, transparent 66%); opacity:0.2; filter: blur(9.24px); }
body.no-glow .dl-c::before { display:none; }
.dl-c i { font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: 16.5px; letter-spacing:-0.01em; color: var(--ink); text-transform: uppercase; white-space: nowrap; }
.dl-arrow { display: flex; align-items: center; justify-content: center; width: 44.88px; height: 44.88px; border-radius: 50%; background: var(--royal-tint); color: var(--royal); align-self: flex-start; margin-top: 29.04px; }
.dl-arrow svg { width: 21.12px; height: 21.12px; }

.dl-pricing { display: flex; align-items: flex-end; justify-content: space-between; gap: 15.84px; padding-top: 18.48px; border-top: 1.2px solid var(--line-soft); }
.dl-price { font-family: var(--font-display); font-weight: 800; font-size: 44.88px; letter-spacing: -0.035em; line-height: 0.9; color: var(--ink); }
.dl-saves { display: flex; flex-direction: column; align-items: flex-end; gap: 5.28px; }
.dl-saves b { font-family: var(--font-ui); font-size: 14.52px; font-weight: 800; letter-spacing: calc(0.04em*var(--tracking)); text-transform: uppercase; color: var(--gold-deep); }
.dl-saves i { font-style: normal; font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; color: var(--royal); background: var(--royal-tint); border-radius: 3.96px; padding: 2.64px 7.92px; }

.dl-eta { display: inline-flex; align-items: center; gap: 9.24px; font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; letter-spacing: calc(0.08em*var(--tracking)); text-transform: uppercase; color: var(--ink-soft); }
.dl-eta svg { width: 17.16px; height: 17.16px; color: var(--gold-deep); }

.dl-cta { display: flex; align-items: center; justify-content: center; gap: 10.56px; margin-top: auto; padding: 18.48px; border-radius: var(--r); background: var(--royal); color: #fff; font-family: var(--font-ui); font-weight: 700; font-size: 15.84px; letter-spacing: calc(0.1em*var(--tracking)); text-transform: uppercase; transition: background 160ms ease, gap 160ms ease; }
.dl:hover .dl-cta { background: var(--royal-deep); gap: 15.84px; }
.dl-cta svg { width: 19.8px; height: 19.8px; }

/* ====== VARIANT 2 · ROWS (full-width horizontal table-style) ====== */
body[data-packs="rows"] .deals-grid { grid-template-columns: 1fr; gap: 13.2px; }
body[data-packs="rows"] .dl { display: grid; grid-template-columns: 1.5fr 1.7fr auto auto auto; align-items: center; gap: 29.04px; padding: 21.12px 29.04px 21.12px 23.76px; }
body[data-packs="rows"] .dl-off { position: static; border-radius: 1318.68px; padding: 6.6px 14.52px; font-size: 14.52px; align-self: center; justify-self: start; order: -1; }
body[data-packs="rows"] .dl-head { padding-right: 0; }
body[data-packs="rows"] .dl-target { font-size: 26.4px; }
body[data-packs="rows"] .dl-journey { padding: 0; gap: 5.28px; }
body[data-packs="rows"] .dl-c img { width: 68.64px; height: 68.64px; }
body[data-packs="rows"] .dl-c::before { width: 73.92px; height: 73.92px; }
body[data-packs="rows"] .dl-c i { font-size: 14.52px; }
body[data-packs="rows"] .dl-arrow { width: 34.32px; height: 34.32px; margin-top: 18.48px; }
body[data-packs="rows"] .dl-arrow svg { width: 17.16px; height: 17.16px; }
body[data-packs="rows"] .dl-pricing { flex-direction: column; align-items: flex-end; gap: 5.28px; padding-top: 0; border-top: none; }
body[data-packs="rows"] .dl-price { font-size: 34.32px; }
body[data-packs="rows"] .dl-eta { flex-direction: column; gap: 5.28px; text-align: center; }
body[data-packs="rows"] .dl-cta { margin-top: 0; padding: 15.84px 29.04px; white-space: nowrap; }
@media (max-width: 1032px){
  body[data-packs="rows"] .dl { grid-template-columns: 1fr 1fr; }
  body[data-packs="rows"] .dl-off { order: 0; }
  body[data-packs="rows"] .dl-cta { grid-column: 1 / -1; }
}

/* ====== VARIANT 3 · SPOTLIGHT (target crest is the hero) ====== */
body[data-packs="spotlight"] .deals-grid { grid-template-columns: repeat(3,1fr); }
@media (max-width:1228.8px){ body[data-packs="spotlight"] .deals-grid { grid-template-columns: repeat(2,1fr);} }
@media (max-width:720px){ body[data-packs="spotlight"] .deals-grid { grid-template-columns: 1fr;} }
body[data-packs="spotlight"] .dl { align-items: center; text-align: center; gap: 15.84px; padding-top: 34.32px; }
body[data-packs="spotlight"] .dl-head { padding-right: 0; align-items: center; order: 2; gap: 2.64px; }
body[data-packs="spotlight"] .dl-kicker { order: 2; }
body[data-packs="spotlight"] .dl-target { order: 1; font-size: 35.64px; }
body[data-packs="spotlight"] .dl-journey { order: 1; display: flex; flex-direction: column; gap: 7.92px; }
body[data-packs="spotlight"] .dl-c:first-child { display: none; }           /* hide FROM crest */
body[data-packs="spotlight"] .dl-arrow { display: none; }
body[data-packs="spotlight"] .dl-c img { width: 163.68px; height: 163.68px; }
body[data-packs="spotlight"] .dl-c::before { width: 174.24px; height: 174.24px; opacity: 0.28; }
body[data-packs="spotlight"] .dl-c i { display: none; }
body[data-packs="spotlight"] .dl-head::after { content: attr(data-route); }
body[data-packs="spotlight"] .dl-pricing { order: 3; flex-direction: column; align-items: center; gap: 7.92px; width: 100%; }
body[data-packs="spotlight"] .dl-price { font-size: 52.8px; }
body[data-packs="spotlight"] .dl-saves { align-items: center; }
body[data-packs="spotlight"] .dl-eta { order: 4; }
body[data-packs="spotlight"] .dl-cta { order: 5; width: 100%; }

/* ====== VARIANT 4 · DARK (premium navy + gold) ====== */
body[data-packs="dark"] .dl {
  background: radial-gradient(554.4px 264px at 100% 0%, rgba(255,234,61,0.10), transparent 60%), linear-gradient(165deg, #1b1f2a 0%, #1b1f2a 55%, #11141c 100%);
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 24px 60px -26.4px rgba(6,18,42,0.6);
}
body[data-packs="dark"] .dl:hover { border-color: rgba(255,234,61,0.4); }
body[data-packs="dark"] .dl.sel { border-color: var(--gold); box-shadow: 0 0 0 2.4px rgba(255,234,61,0.5), 0 24px 60px -26.4px rgba(6,18,42,0.6); }
body[data-packs="dark"] .dl.sel::after { box-shadow: inset 0 3.6px 0 var(--gold); }
body[data-packs="dark"] .dl-off { background: var(--gold); color: var(--navy); box-shadow: none; }
body[data-packs="dark"] .dl-kicker { color: rgba(255,255,255,0.55); }
body[data-packs="dark"] .dl-target { color: #fff; }
body[data-packs="dark"] .dl-c i { color: rgba(255,255,255,0.9); }
body[data-packs="dark"] .dl-c::before { opacity: 0.4; }
body[data-packs="dark"] .dl-arrow { background: rgba(255,255,255,0.12); color: var(--gold); }
body[data-packs="dark"] .dl-pricing { border-top-color: rgba(255,255,255,0.14); }
body[data-packs="dark"] .dl-price { color: #fff; }
body[data-packs="dark"] .dl-saves b { color: var(--gold); }
body[data-packs="dark"] .dl-saves i { color: #fff; background: rgba(255,255,255,0.12); }
body[data-packs="dark"] .dl-eta { color: rgba(255,255,255,0.7); }
body[data-packs="dark"] .dl-eta svg { color: var(--gold); }
body[data-packs="dark"] .dl-cta { background: linear-gradient(135deg, var(--gold), var(--gold-deep)); color: var(--navy); }
body[data-packs="dark"] .dl:hover .dl-cta { background: linear-gradient(135deg, #ffe773, var(--gold-deep)); }

/* ====== SPOTLIGHT CREST · float baseline + 4 unique borders (data-spot) ====== */
/* visible target crest = last .dl-c in the journey (FROM is hidden in spotlight) */
body[data-packs="spotlight"] .dl-journey { position: relative; padding: 10.56px 0 5.28px; }
body[data-packs="spotlight"] .dl-c:last-child { position: relative; padding: 23.76px; }
/* lift the static pack crest ~5px so it sits where the (removed) float used to peak —
   compensates for no longer bobbing (UI batch 8). The ::before ground shadow + ::after
   ring are anchored to the parent, so only the crest moves. */
body[data-packs="spotlight"] .dl-c:last-child img { position: relative; z-index: 3; width: 153.12px; height: 153.12px; transform: translateY(-5px); }
/* grounding shadow — the pack crest sits STILL over a soft static bottom shadow.
   The up/down bob (spot-bob) + pulsing shadow (spot-shadow) were removed per UI
   batch 7 ("packs icons should not float, only have a float shadow in the bottom").
   The crest's own drop-shadow (.dl-c img, above) + this ellipse read as a floating
   icon without any motion. */
body[data-packs="spotlight"] .dl-c:last-child::before {
  content:''; position:absolute; z-index:0; bottom:10.56px; left:50%; transform:translateX(-50%);
  width: 121.44px; height: 17.16px; border-radius:50%;
  background: radial-gradient(ellipse, rgba(27,31,42,0.30), transparent 70%);
}
@keyframes spot-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5.28px); } }
@keyframes spot-shadow { 0%,100% { transform: translateX(-50%) scaleX(1); opacity:0.85; } 50% { transform: translateX(-50%) scaleX(0.72); opacity:0.5; } }
@keyframes spot-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
/* the border ring sits behind the crest, does NOT bob (stays put while crest floats) */
body[data-packs="spotlight"] .dl-c:last-child::after {
  content:''; position:absolute; z-index:1; top:46%; left:50%; width:198px; height:198px;
  transform: translate(-50%,-50%); border-radius:50%; box-sizing:border-box;
}

/* --- border 1 · SOLID ring --- */
body[data-packs="spotlight"][data-spot="solid"] .dl-c:last-child::after {
  border: 3.6px solid var(--tier-c,var(--royal));
  box-shadow: 0 0 0 7.2px color-mix(in srgb, var(--tier-c,var(--royal)) 14%, transparent);
}

/* --- border 2 · DASHED ring (slow rotate) --- */
body[data-packs="spotlight"][data-spot="dashed"] .dl-c:last-child::after {
  border: 3.6px dashed var(--tier-c,var(--royal)); opacity: 0.85;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-packs="spotlight"][data-spot="dashed"] .dl-c:last-child::after { animation: spot-spin 14s linear infinite; }
}

/* --- border 3 · DOUBLE glow ring --- */
body[data-packs="spotlight"][data-spot="double"] .dl-c:last-child::after {
  width:184.8px; height:184.8px; border: 2.4px solid var(--tier-c,var(--royal));
  box-shadow: 0 0 0 6px #fff, 0 0 0 8.4px color-mix(in srgb, var(--tier-c,var(--royal)) 55%, transparent), 0 0 26.4px 4.8px color-mix(in srgb, var(--tier-c,var(--royal)) 30%, transparent);
}

/* --- border 4 · HEX frame --- */
body[data-packs="spotlight"][data-spot="hex"] .dl-c:last-child::after {
  width:205.92px; height:205.92px; border:none; border-radius:0;
  background: var(--tier-c,var(--royal));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  padding: 5.28px;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  opacity: 0.9;
}
/* simpler robust hex outline: tinted hex plate behind crest */
body[data-packs="spotlight"][data-spot="hex"] .dl-c:last-child::after {
  -webkit-mask: none; mask: none; padding: 0; border:none;
  background: linear-gradient(150deg, color-mix(in srgb, var(--tier-c,var(--royal)) 26%, #fff), color-mix(in srgb, var(--tier-c,var(--royal)) 10%, #fff));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  box-shadow: none;
}

/* ====== FLOAT toggle for boost crests (Division / Wins / Placement / Coaching) ====== */
body[data-float="on"] .crest-ring,
body[data-float="on"] .crest-glow { display: none; }       /* remove the circle/rings around it */
body[data-float="on"] .crest-stage { position: relative; }
body[data-float="on"] .crest-stage::after {
  content:''; position:absolute; z-index:0; bottom: 10.56px; left:50%; transform: translateX(-50%);
  width: 54%; height: 15.84px; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(27,31,42,0.30), transparent 70%);
}
@media (prefers-reduced-motion: no-preference) {
  body[data-float="on"] .crest-img { animation: crest-bob 3s ease-in-out infinite; }
  body[data-float="on"] .crest-stage::after { animation: spot-shadow 3s ease-in-out infinite; }
}
@keyframes crest-bob { 0%,100% { transform: translateY(0) scale(var(--crest-scale,1)); } 50% { transform: translateY(-5.28px) scale(var(--crest-scale,1)); } }

/* order panel — quantity badge for non-rank journeys */
.order-qty-badge { display:inline-flex; align-items:center; justify-content:center; gap:6.6px; font-family: var(--font-display); font-weight:800; font-size:29.04px; letter-spacing:-0.02em; color:#fff; }
.order-mini.solo { gap:9.24px; }
/* wins/placement journey — the quantity overlaid on the rank crest (handoff
   valorant-hero.css:385-387, ×1.2). The crest matches the journey crest size so the
   two minis read as a pair; the qbadge is a small pill pinned bottom-right. */
.order-mini .order-qty-crest { position: relative; display: inline-flex; }
.order-mini .order-qty-crest img { width: 158.4px; height: 158.4px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 7.92px 13.2px rgba(0,0,0,0.35)); }
.order-mini .order-qty-crest .qbadge {
  position: absolute; right: 2.64px; bottom: 10.56px;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34.32px; height: 29.04px; padding: 0 9.24px;
  border-radius: 1098.9px; background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 17.16px; line-height: 1;
  box-shadow: 0 4.8px 12px -4.8px rgba(255,70,85,0.7); border: 1.8px solid #fff;
}

/* ============================================================
   VALBOOSTING mobile polish — the +20% scale tightens this dense
   page on phones; keep everything inside the viewport.
   ============================================================ */
/* decorative hero glow must never create sideways scroll (scope to the hero
   only — clipping the calc card would cut off the tier popover) */
.subhero { overflow-x: clip; }
/* let the calc/sidebar grid columns shrink below their content min-width so the
   dense calculator never forces horizontal scroll on narrow screens */
.calc-layout > *, .calc-main, .order-aside { min-width: 0; }
@media (max-width: 600px) {
  /* product-menu switcher: all tabs 2-up so labels fit on a phone */
  .prod-menu { padding: 10.56px; gap: 7.92px; }
  .prod-menu .prod-tab.big,
  .prod-menu .prod-tab:not(.big) { flex: 1 1 calc(50% - 3.96px); }
  .prod-menu .prod-tab.big .prod-tab-name { font-size: 14.3px; }
  .prod-menu .prod-tab.big .prod-tab-ico { width: 42.24px; height: 42.24px; }
  .prod-tab { padding: 10.56px; }
  .prod-tab-name { font-size: 14.3px; }
  .prod-tab-sub { font-size: 9.9px; }
  .prod-tab-txt { gap: 2.2px; }
}

/* ============================================================
   CHECKOUT / PAYMENT MODAL (F3-styled; opens from the order CTA)
   Fields mirror the live checkout so it binds to #paymentform later.
   ============================================================ */
.pay-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 31.68px; }
.pay-overlay[hidden] { display: none; }
.pay-backdrop { position: absolute; inset: 0; background: rgba(27, 31, 42, 0.62); -webkit-backdrop-filter: blur(5.28px); backdrop-filter: blur(5.28px); }
/* overflow-x: clip (not the default auto that overflow-y forces) so a tooltip
   bubble that extends past the modal edge can't trigger a horizontal scrollbar —
   the .pay-tip ::after expands the scroll area even while hidden (UI batch 4). */
.pay-modal { position: relative; z-index: 1; width: 100%; max-width: 712.8px; max-height: 92vh; overflow-y: auto; overflow-x: clip; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 10.56px); box-shadow: 0 48px 120px -24px rgba(27, 31, 42, 0.55); padding: 36.96px; }
/* Open transition — the modal pops in from just above its resting spot (top-down)
   instead of hard-cutting in. Driven by :not([hidden]) so it re-runs each open()
   (UI batch 7 — "checkout should move from top down as a pop up"). */
@keyframes payPopIn { from { opacity: 0; transform: translateY(-40px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes payFadeIn { from { opacity: 0; } to { opacity: 1; } }
.pay-overlay:not([hidden]) { animation: payFadeIn 180ms ease both; }
.pay-overlay:not([hidden]) .pay-modal { animation: payPopIn 320ms cubic-bezier(0.16, 1, 0.3, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .pay-overlay:not([hidden]),
  .pay-overlay:not([hidden]) .pay-modal { animation: none; }
}
.pay-close { position: absolute; top: 21.12px; right: 21.12px; width: 47.52px; height: 47.52px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 10.56px; background: var(--bg); color: var(--ink-soft); cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.pay-close:hover { background: var(--royal-tint); color: var(--accent); }
.pay-close svg { width: 23.76px; height: 23.76px; }
.pay-eyebrow { display: inline-flex; align-items: center; gap: 9.24px; font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.pay-eyebrow svg { width: 17.16px; height: 17.16px; }
.pay-title { font-family: var(--font-display); font-weight: 700; font-size: 36.96px; letter-spacing: -0.02em; color: var(--ink); margin-top: 7.92px; }
.pay-title em { font-style: normal; color: var(--accent); }
/* Recap (UI batch 9): one row — the four minis SPREAD across the left (journey flex:1,
   space-between) and the price hugs the right, so there's no dead gap. nowrap so applying
   a VIP code (which widens the price column with the struck price + badge) never bumps
   the price to a new row; the journey is taller than the price column, so the row height
   is stable in both states. Stacks on a phone (mobile block re-enables wrap). */
.pay-recap { display: flex; flex-wrap: wrap; align-items: center; gap: 16.5px; margin: 26.4px 0; padding: 18.48px 21.12px; background: var(--bg-soft); border: 1.2px solid var(--line); border-radius: var(--r); }
.pay-recap-journey { display: flex; align-items: flex-start; justify-content: space-between; gap: 9.24px; flex: 1 1 auto; min-width: 0; flex-wrap: wrap; }
.pay-recap-total { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; flex-shrink: 0; text-align: right; }
.pay-recap-total-lbl { font-family: var(--font-ui); font-size: 11.88px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
/* price matches the "Your Order" panel (Barlow 800, tabular-nums) instead of League,
   which read badly at this size (UI batch 9). */
.pay-recap-total-amt { font-family: var(--font-body); font-weight: 800; font-size: 33px; color: var(--ink); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
/* VIP price section in the checkout recap — "Today's price" struck above the
   discounted VIP total so the saving is explicit (mirrors the order panel). */
.pay-recap-was { display: inline-flex; align-items: center; gap: 6.6px; margin-bottom: 1.32px; }
.pay-recap-was .prw-lbl { font-family: var(--font-ui); font-size: 10.56px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.pay-recap-was s { font-family: var(--font-body); font-weight: 700; font-size: 14.52px; color: var(--ink-muted); text-decoration-thickness: 1.32px; }
.pay-vip-badge { font-family: var(--font-ui); font-size: 10.56px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy); background: var(--gold); border-radius: 4.4px; padding: 1.32px 6.6px; margin-left: 5.28px; vertical-align: middle; }
/* Normal-by-default total: the recap shows the plain "Total" + normal price; the
   struck normal price + "VIP price -10%" label appear only when a VIP/promo code is
   applied (the checkout JS adds .vip-applied to .pay-recap) (UI batch 7). */
.pay-recap .pay-recap-was { display: none; }
.pay-recap.vip-applied .pay-recap-was { display: inline-flex; }
.pay-recap .prt-vip { display: none; }
.pay-recap.vip-applied .prt-normal { display: none; }
.pay-recap.vip-applied .prt-vip { display: inline; }
.pay-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15.84px; }
.pay-field { display: flex; flex-direction: column; gap: 7.92px; min-width: 0; }
.pay-field-full { grid-column: 1 / -1; }
.pay-label { font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
.pay-label em { color: var(--accent); font-style: normal; }
.pay-label small { text-transform: none; letter-spacing: 0; color: var(--ink-muted); font-size: 12.1px; }
/* Field help tooltip — info icon appended to a label, reveals data-tip on hover/
   focus. Driven by the $tip helper in checkout.php; on every checkout field so each
   input is self-explaining (UI batch 4). Left-anchored so the bubble never clips the
   modal's left edge (fields sit near the modal's left). */
.pay-tip { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 15.84px; height: 15.84px; margin-left: 5.28px; vertical-align: -2.64px; color: var(--ink-muted); cursor: help; }
.pay-tip svg { width: 100%; height: 100%; }
.pay-tip:hover, .pay-tip:focus-visible, .pay-tip:focus { color: var(--accent); outline: none; }
.pay-tip::after { content: attr(data-tip); position: absolute; left: -6.6px; bottom: calc(100% + 9.24px); width: 224.4px; max-width: 58vw; background: var(--navy); color: #fff; font-family: var(--font-body); font-size: 12.54px; font-weight: 500; line-height: 1.45; letter-spacing: 0; text-transform: none; text-align: left; padding: 9.24px 11.88px; border-radius: 9.24px; box-shadow: 0 14.52px 33px -13.2px rgba(0,0,0,0.45); opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity 150ms ease, transform 150ms ease; z-index: 6; }
.pay-tip::before { content: ''; position: absolute; left: 4.62px; bottom: calc(100% + 4.62px); border: 6.6px solid transparent; border-top-color: var(--navy); opacity: 0; transition: opacity 150ms ease; z-index: 6; }
/* include plain :focus (not only :focus-visible) so a TAP on the icon reveals the tip
   on touch devices — :focus-visible doesn't match a pointer-focused span (UI batch 4). */
.pay-tip:hover::after, .pay-tip:focus-visible::after, .pay-tip:focus::after, .pay-tip:hover::before, .pay-tip:focus-visible::before, .pay-tip:focus::before { opacity: 1; }
.pay-tip:hover::after, .pay-tip:focus-visible::after, .pay-tip:focus::after { transform: translateY(0); }
/* right-column field (Discord) on the 2-up grid: anchor the bubble to the right so it
   opens leftward and isn't clipped by the modal's overflow-x: clip (UI batch 4). */
@media (min-width: 561px) {
  .pay-fields > .pay-field:nth-of-type(2) .pay-tip::after { left: auto; right: -6.6px; }
  .pay-fields > .pay-field:nth-of-type(2) .pay-tip::before { left: auto; right: 4.62px; }
}
.pay-field input { font-family: var(--font-body); font-size: 18.48px; padding: 14.52px 17.16px; border: 1.8px solid var(--line); border-radius: var(--r); background: #fff; color: var(--ink); transition: border-color 160ms ease, box-shadow 160ms ease; }
.pay-field input::placeholder { color: var(--ink-muted); }
.pay-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3.6px var(--royal-tint); }
/* VIP / promo code box — sits above the payment methods */
/* margin-top matches the other label→field rhythm so the VIP block sits at the same
   spacing as the fields above it, not jammed against them (UI batch 4). */
.pay-vip-block { margin: 19.8px 0 23.76px; }
/* mirror .pay-label exactly (was inline-flex w/ 0.066em tracking + 10.56 gap, which
   read as misaligned vs the other field labels) (UI batch 4). */
.pay-vip-label { display: block; font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 7.92px; }
.pay-vip-row { display: flex; gap: 10.56px; }
.pay-vip-row input { flex: 1; min-width: 0; font-family: var(--font-body); font-size: 18.48px; padding: 14.52px 17.16px; border: 1.8px solid var(--line); border-radius: var(--r); background: #fff; color: var(--ink); text-transform: uppercase; letter-spacing: 0.04em; transition: border-color 160ms ease, box-shadow 160ms ease; }
.pay-vip-row input::placeholder { color: var(--ink-muted); text-transform: none; letter-spacing: normal; }
.pay-vip-row input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3.6px var(--royal-tint); }
.pay-vip-apply { flex-shrink: 0; padding: 0 26.4px; border: none; border-radius: var(--r); background: var(--royal); color: #fff; font-family: var(--font-ui); font-weight: 700; font-size: 14.52px; letter-spacing: 0.066em; text-transform: uppercase; cursor: pointer; transition: background 160ms ease; }
.pay-vip-apply:hover { background: var(--royal-deep); }
.pay-vip-msg { font-size: 14.52px; margin-top: 8.4px; font-weight: 600; color: var(--green); }
.pay-vip-msg:empty { display: none; }
.pay-vip-msg.is-error { color: var(--accent); }
.pay-vip-msg.is-checking { color: var(--ink-muted); }
/* the live loyalty JS (boosting-calc.js) REPLACES the class with cb-cm-success /
   cb-cm-error, dropping .pay-vip-msg's size/colour — re-home them so the live
   apply-result message stays visible + on-brand (UI batch 7). */
.pay-vip-block .cb-cm-success,
.pay-vip-block .cb-cm-error { font-size: 14.52px; margin-top: 8.4px; font-weight: 600; }
.pay-vip-block .cb-cm-success { color: var(--green); }
.pay-vip-block .cb-cm-error { color: var(--accent); }
/* Loyalty redemption UI — the real boosting-calc.js coins flow, styled for F3 (UI
   batch 8). .cli-coins-block is display:none until a valid ACCOUNT code resolves
   (loadAccount sets display:block); ticking "Use bonus" applies the discount. */
.pay-vip-loyalty:empty { display: none; }
.cli-coins-block.pay-vip-coins { margin-top: 11.88px; padding: 14.52px 16.5px; border: 1.8px solid var(--royal-soft); border-radius: var(--r); background: var(--royal-tint); display: none; }
.cli-coins-block.pay-vip-coins .cb-coin-info { font-size: 15.18px; color: var(--ink-soft); }
.cli-coins-block.pay-vip-coins .cb-coin-info strong { color: var(--accent); font-weight: 800; }
.pay-vip-usecoins { display: flex; align-items: center; gap: 9.24px; margin-top: 9.24px; cursor: pointer; font-family: var(--font-ui); font-size: 15.18px; font-weight: 600; color: var(--ink); }
.pay-vip-usecoins input { width: 19.8px; height: 19.8px; accent-color: var(--accent); flex-shrink: 0; cursor: pointer; }
.cb-deduction-info { margin-top: 7.92px; font-size: 13.86px; font-weight: 600; color: var(--green); transition: opacity 160ms ease; }
.cli-signup-info-block { margin-top: 9.24px; font-size: 13.86px; color: var(--ink-muted); }
.pay-methods-label { font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); margin: 23.76px 0 11.88px; }
.pay-methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13.2px; }
/* Customers see 3 methods, admins 4 (the extra Free tile). Let a lone final
   tile span both columns so the 2-col grid never leaves an empty cell. */
.pay-method:last-child:nth-child(odd) { grid-column: 1 / -1; }
.pay-method { cursor: pointer; position: relative; }
.pay-method input { position: absolute; opacity: 0; pointer-events: none; }
.pay-method-card { display: flex; flex-direction: column; gap: 2.64px; padding: 17.16px 18.48px; border: 1.8px solid var(--line); border-radius: var(--r); background: #fff; transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.pay-method:hover .pay-method-card { border-color: var(--royal-soft); }
.pay-method input:checked + .pay-method-card { border-color: var(--accent); background: var(--royal-tint); box-shadow: 0 0 0 1.2px var(--accent); }
.pay-method input:checked + .pay-method-card::after { content: '✓'; position: absolute; top: 13.2px; right: 17.16px; color: var(--accent); font-weight: 800; font-size: 18.48px; }
.pay-method input:focus-visible + .pay-method-card { box-shadow: 0 0 0 3.6px var(--royal-tint); }
.pay-method-name { font-family: var(--font-display); font-weight: 700; font-size: 19.8px; color: var(--ink); }
.pay-method-sub { font-size: 14.52px; color: var(--ink-muted); }
.pay-tos { display: flex; align-items: flex-start; gap: 11.88px; margin: 23.76px 0 21.12px; font-size: 16.5px; color: var(--ink-soft); line-height: 1.5; }
.pay-tos input { margin-top: 2.64px; width: 21.12px; height: 21.12px; accent-color: var(--accent); flex-shrink: 0; }
.pay-tos a { color: var(--accent); text-decoration: underline; }
.pay-submit { width: 100%; justify-content: center; font-size: 17.16px; padding: 24.2px 19.8px; min-height: 64.9px; }
.pay-trust { display: flex; justify-content: center; flex-wrap: wrap; gap: 23.76px; margin-top: 18.48px; font-family: var(--font-ui); font-size: 13.2px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.pay-trust span { display: inline-flex; align-items: center; gap: 7.92px; }
.pay-trust svg { width: 17.16px; height: 17.16px; color: var(--green); }
body.pay-open { overflow: hidden; }
/* Toast for transient calculator notices (min-order + the Radiant per-win notice). The
   plugin's .buypaymentnotifity is unstyled on F3 (main.css is stripped), so style it as a
   fixed bottom-center toast here — loaded on both live + preview (UI batch 9). */
.buypaymentnotifity {
  position: fixed; left: 50%; bottom: 26.4px; transform: translateX(-50%);
  z-index: 2000; max-width: min(90vw, 460px); text-align: center;
  background: var(--navy); color: #fff;
  font-family: var(--font-body); font-size: 15.84px; font-weight: 600; line-height: 1.4;
  padding: 14.52px 22px; border-radius: var(--r);
  border: 1.2px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 50px -12px rgba(0,0,0,0.45);
}
.buypaymentnotifity b { color: var(--gold); font-weight: 800; }
/* Radiant = per-win CENTERED blocking popup (UI batch 10). Reuses the .agent-pop
   centering recipe in a narrower dedicated class; shown on picking Radiant on a
   division boost AND when "Rank up" is clicked while Radiant is the target. */
body.radiant-pop-open { overflow: hidden; }
/* background:transparent is LOAD-BEARING: this container carries .vb-rd, and
   home-page.css paints .vb-rd with an opaque var(--bg) — on a fixed inset-0
   container that whites out the entire page behind the dim (the "grey void"
   report; .agent-pop fixed the same bug the same way). With the container
   transparent, the dim matches the champions/booster popups. */
.radiant-pop { position: fixed; inset: 0; z-index: 1300; display: none; background: transparent; }
.radiant-pop.open { display: grid; place-items: center; padding: 26.4px; overflow-y: auto; }
.radiant-pop-backdrop { position: fixed; inset: 0; background: rgba(27,31,42,0.62); -webkit-backdrop-filter: blur(5.28px); backdrop-filter: blur(5.28px); }
.radiant-pop-modal { position: relative; z-index: 1; width: 100%; max-width: 462px; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 10.56px); box-shadow: 0 48px 120px -24px rgba(27,31,42,0.55); padding: 33px 31.68px; text-align: center; }
.radiant-pop-ico { width: 59.4px; height: 59.4px; margin: 0 auto 15.84px; border-radius: 50%; background: var(--royal-tint); color: var(--royal); display: inline-flex; align-items: center; justify-content: center; }
.radiant-pop-ico svg { width: 30.36px; height: 30.36px; }
.radiant-pop-title { font-family: var(--font-display); font-weight: 700; font-size: 27.72px; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 10.56px; }
.radiant-pop-title em { font-style: normal; color: var(--accent); }
.radiant-pop-msg { font-family: var(--font-body); font-size: 16.5px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 23.76px; }
.radiant-pop-msg b { color: var(--ink); font-weight: 800; }
.radiant-pop-foot { display: flex; gap: 11.88px; justify-content: center; flex-wrap: wrap; }
.radiant-pop-foot .btn { min-width: 152px; justify-content: center; }

/* ---- extra-option activation popup (boost-live.js openXoptPop) ----
   Same modal mechanics as .radiant-pop (own class set so the two popups never
   collide in querySelector). background:transparent on the container is
   LOAD-BEARING: it carries the token scope class, which paints an opaque
   var(--bg) — on a fixed inset-0 container that would white out the page. */
body.xopt-pop-open { overflow: hidden; }
.xopt-pop { position: fixed; inset: 0; z-index: 1300; display: none; background: transparent; }
.xopt-pop.open { display: grid; place-items: center; padding: 26.4px; overflow-y: auto; }
.xopt-pop-backdrop { position: fixed; inset: 0; background: rgba(27,31,42,0.62); -webkit-backdrop-filter: blur(5.28px); backdrop-filter: blur(5.28px); }
.xopt-pop-modal { position: relative; z-index: 1; width: 100%; max-width: 528px; max-height: 88vh; overflow-y: auto; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 10.56px); box-shadow: 0 48px 120px -24px rgba(27,31,42,0.55); padding: 33px 31.68px; text-align: center; }
.xopt-pop-emoji { display: block; font-size: 47.52px; line-height: 1; margin: 0 auto 13.2px; }
.xopt-pop-title { font-family: var(--font-display); font-weight: 700; font-size: 25.08px; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 13.2px; }
.xopt-pop-title .xopt-pop-price { font-style: normal; font-family: var(--font-ui); font-size: 13.2px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--royal); background: var(--royal-tint); border-radius: 1098.9px; padding: 3.96px 10.56px; vertical-align: middle; margin-left: 6.6px; }
.xopt-pop-desc { font-family: var(--font-body); font-size: 15.84px; line-height: 1.6; color: var(--ink-soft); text-align: left; margin: 0 0 19.8px; }
.xopt-pop-desc p { margin: 0 0 10.56px; }
.xopt-pop-desc p:last-child { margin-bottom: 0; }
/* Admin-authored option descriptions (the_content) sometimes ship a decorative
   .extraimage icon — often a raw inline <svg> with hardcoded width/height="800px"
   that rendered as a giant folder filling the popup. Hide that redundant marker
   (the popup already shows a clean emoji cue up top) and cap any other stray media
   the editor injects so nothing overflows the modal. */
.xopt-pop-desc .extraimage { display: none; }
.xopt-pop-desc img, .xopt-pop-desc svg { max-width: 100%; height: auto; }
.xopt-pop-keys { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10.56px; margin: 0 0 19.8px; }
.xopt-pop-keys .xpk-lab { flex: 1 1 100%; font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.xpk-opt { font-family: var(--font-ui); font-size: 14.52px; font-weight: 600; color: var(--ink-soft); background: var(--bg-soft); border: 1.2px solid var(--line); border-radius: var(--r); padding: 10.56px 15.84px; cursor: pointer; transition: border-color 150ms ease, background 150ms ease, color 150ms ease; }
.xpk-opt b { font-weight: 800; color: var(--ink); }
.xpk-opt:hover { border-color: var(--royal-soft); }
.xpk-opt.sel { border-color: var(--royal); background: var(--royal-tint); color: var(--ink); }
.xopt-pop-foot { display: flex; justify-content: center; }
.xopt-pop-foot .btn { min-width: 152px; justify-content: center; }
@media (max-width: 560px) { .pay-fields, .pay-methods { grid-template-columns: 1fr; } .pay-modal { padding: 29.04px 21.12px; } .pay-title { font-size: 30.36px; } }
/* a .pay-field is display:flex, which beats the UA [hidden] rule — re-hide */
.pay-field[hidden] { display: none; }
/* compact + evenly-aligned cloned order journey inside the recap. Both kinds of
   mini (rank crest, or quantity badge) share a 64px icon row so they line up, and
   each reserves the SAME fixed width so Current/Target sit symmetrically either
   side of the arrow no matter how long the rank label is (labels are nowrap and
   the longest Valorant rank fits inside 92px). */
/* desktop: spread the minis across the journey width (no wrap — see base rule) (UI
   batch 9). The mobile block below re-enables wrap for phone-width modals. */
.pay-recap-journey { align-items: flex-start; justify-content: space-between; gap: 9.24px; flex-wrap: nowrap; }
.pay-recap-journey .order-mini { display: inline-flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 7.92px; width: 92px; flex-shrink: 0; }
/* All four minis (Current / Target / Server / Service) render FRAMELESS — the
   crests/icons spread evenly across the recap with NO white box (UI batch 8 — the
   boxes read as cramped). The shared 50px column keeps them aligned; the qty badge
   keeps its own red pill (it isn't an icon) and is excluded from these rules. */
.pay-recap-journey .order-mini > img,
.pay-recap-journey .order-mini > .order-qty-badge,
.pay-recap-journey .order-mini > .order-svr,
.pay-recap-journey .order-mini > .order-ico { width: 80px; height: 80px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pay-recap-journey .order-mini > img { object-fit: contain; }
.pay-recap-journey .order-mini > .order-svr,
.pay-recap-journey .order-mini > .order-ico { color: var(--royal); }
.pay-recap-journey .order-mini > .order-svr svg,
.pay-recap-journey .order-mini > .order-ico svg { width: 47px; height: 47px; }
.pay-recap-journey .order-mini > .order-svr img,
.pay-recap-journey .order-mini > .order-ico img { width: 88%; height: 88%; object-fit: contain; }
/* recolor the server flag image to brand red (user-supplied filter, UI batch 7) */
.pay-recap-journey .order-mini > .order-svr img { filter: invert(41%) sepia(48%) saturate(4092%) hue-rotate(330deg) brightness(102%) contrast(103%); }
.pay-recap-journey .order-qty-badge { border-radius: 11px; background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 22px; box-shadow: 0 6px 16px -6px rgba(255, 70, 85, 0.55); }
.pay-recap-journey .order-qty-badge svg { color: #fff; }
.pay-recap-journey .order-qty-badge svg { width: 19px; height: 19px; }
/* labels wrap within the crest width (region names like "North America" are wider
   than the crest) instead of overflowing the recap / modal (UI batch 4). */
/* mini label = Barlow (--font-body), not League — League reads badly this small (UI batch 9).
   Reserve TWO lines (min-height) and bottom-align the text so a 1-line label (e.g.
   "Diamond 3") and a 2-line one ("Division Boost") both leave their <small> on the SAME
   baseline — no misaligned CURRENT/SERVICE labels (UI batch 10). */
.pay-recap-journey .order-mini span { font-family: var(--font-body); font-size: 13.2px; font-weight: 700; color: var(--ink); white-space: normal; overflow-wrap: break-word; line-height: 1.14; max-width: 100%; text-align: center; min-height: 2.28em; display: flex; align-items: flex-end; justify-content: center; }
.pay-recap-journey .order-mini small { font-family: var(--font-ui); font-size: 10.56px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
/* arrow removed from the recap — the four minis read as a clean, evenly-spread row
   without the From->To arrow (UI batch 10). */
.pay-recap-journey .order-arrow { display: none; }
/* Below ~767px the modal is narrower than the journey (80px minis) + price, so the
   nowrap desktop recap would push the last mini onto the price. WRAP the recap (price
   stacks below the journey) for the whole sub-desktop band, not just phones, and shrink
   the minis. Gate at 767px (the modal caps at 748px, so >=767 is the clean desktop case)
   (UI batch 10 — fixes the mid-width overlap the 80px minis introduced). */
@media (max-width: 767px) {
  /* stack the journey above the price (re-enable wrap; desktop is nowrap) */
  .pay-recap { flex-wrap: wrap; }
  .pay-recap-journey { gap: 3.3px; flex: 1 1 100%; justify-content: space-around; flex-wrap: wrap; }
  .pay-recap-total { align-items: center; width: 100%; flex-direction: row; justify-content: center; gap: 9.24px; }
  .pay-recap-journey .order-mini { width: 74px; }
  .pay-recap-journey .order-mini > img,
  .pay-recap-journey .order-mini > .order-qty-badge,
  .pay-recap-journey .order-mini > .order-svr,
  .pay-recap-journey .order-mini > .order-ico { width: 60px; height: 60px; }
  .pay-recap-journey .order-mini > .order-svr svg,
  .pay-recap-journey .order-mini > .order-ico svg { width: 35px; height: 35px; }
  .pay-recap-journey .order-mini span { font-size: 12px; }
  .pay-recap-journey .order-arrow { margin: 0 1px; }
  .pay-recap-journey .order-arrow svg { width: 13px; height: 13px; }
  /* tooltip narrower on phones so the shown bubble stays inside the clipped modal */
  .pay-tip::after { width: 190px; max-width: 64vw; }
}

/* ==================================================
   LIVE INTEGRATION (body.vb-boost-page only)
   The preview is a standalone full-width document; live, the boosting plugin
   renders this product template INSIDE the theme's ~1140px centered .container
   and prints its own .banner.banner__page hero above it. Two fixes, both scoped
   to the body class functions.php adds only when vb_f3_product_enabled is on, so
   the preview (which has no such class) is byte-for-byte unaffected:
     1. Hide the legacy banner hero — the F3 .subhero in page.php replaces it.
     2. Break the calc / hero / seo / faq / cta sections out of the narrow
        container to the full viewport width. The calc's order grid is 1fr/432px
        and only lays the order panel beside the calculator above ~1296px; inside
        a 1140px container it would otherwise drop the "Your order" panel below.
   The 100vw + 50%/50vw margin pull is the standard full-bleed; it assumes the
   container is horizontally centered (the live theme's is). margin-left/right
   only — never the shorthand — so .calc-section keeps its -33.6px hero overlap.
   ================================================== */
body.vb-boost-page .banner.banner__page,
body.vb-boost-page .banner__page,
body.vb-boost-page .banner__page + .arrow-page-down,
body.vb-boost-page .arrow-page-down { display: none !important; }

body.vb-boost-page .subhero,
body.vb-boost-page .calc-section,
body.vb-boost-page .seo,
body.vb-boost-page .faq.subfaq,
body.vb-boost-page .totop-wrap,
body.vb-boost-page .cta-strip {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* The CTA strip is the last section; kill any bottom margin and the stray empty
   paragraph wpautop can leave from the template's trailing newline, so the page
   ends flush at the footer with no empty band after "Still have a question?". */
body.vb-boost-page .cta-strip { margin-bottom: 0 !important; }
body.vb-boost-page .cta-strip + p:empty,
body.vb-boost-page .cta-strip ~ p:empty { display: none !important; margin: 0 !important; }

/* Guard against a horizontal scrollbar if any wrapper would otherwise let the
   100vw sections poke a pixel past the viewport edge. */
body.vb-boost-page { overflow-x: hidden; }

/* --------------------------------------------------------------------------
   CALC GRID — the live form vs the preview structure.
   The preview lays .calc-main (col 1) and .order-aside (col 2) as the two direct
   children of .calc-layout's 1fr/432px grid, with NO form. Live wraps both in a
   single <form id="product-form"> so the CTA inside .order-aside submits every
   field; page.php gives that form class .calc-form and puts the four calc blocks
   in an inner .calc-main. display:contents removes the form's own box so its
   children (.calc-main + .order-aside) ARE the grid items — the order panel sits
   in column 2 again instead of dropping to the bottom of column 1.
   The .calculate-end-button dummy carries the [hidden] attribute, but the plugin's
   own ".calculate-end-button{display:inline-block}" overrides that, so without
   this it would render as a third grid item and shove the columns out of place.
   Hidden inputs are display:none already, so they are never grid items. */
body.vb-boost-page .calc-form { display: contents; }
body.vb-boost-page .calc-form > .calculate-end-button { display: none !important; }

/* SECTION HEIGHTS — .vb-rd doubles as the homepage ROOT reset: home-page.css gives
   .vb-rd { min-height: 100vh } for the SINGLE <body>.vb-rd wrapper used on the home
   page and the previews. This template instead puts .vb-rd on EVERY section
   (subhero/calc/seo/faq/cta) purely to resolve the design tokens, so each one
   inherited min-height:100vh and ballooned to a full viewport — the thin cta-strip
   and the faq rendered as 100vh-tall empty bands and the hero sat half-empty. Null
   it here so sections size to their content (the preview, whose .vb-rd IS the body,
   keeps its full-height root and is unaffected). */
body.vb-boost-page .vb-rd { min-height: 0; }

/* HERO BREATHING ROOM (live only). The F3 subhero sits directly beneath the dense
   .eb-nav now that the legacy .banner__page (which used to separate them) is
   hidden, so the preview's tight 31/34px inner padding reads as cramped against
   the nav. Give the hero more vertical room. Preview/EBL/OWB keep the design pad. */
body.vb-boost-page .subhero-inner { padding-top: 57.2px; padding-bottom: 50.6px; }

/* REVIEWS SECTION SHELL. page.php now renders the F3 .rev-* reviews block from the
   REAL Site Reviews (vb_reviews_get_site_reviews()). boost-page.css already ships
   the inner .rev-* styles, but the preview styled the .reviews SECTION wrapper
   inline-only, so add its background + vertical rhythm here and full-bleed it like
   the sibling sections (.wrap / .rev-wrap keep the inner content centered). */
body.vb-boost-page .reviews {
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  background: var(--bg-soft); padding: 59.4px 0 70.4px;
}

/* REVIEWS PAGER — client-side 5/page nav built by the inline script in page.php. */
body.vb-boost-page .rev-pager { display: flex; flex-wrap: wrap; gap: 7.92px; justify-content: center; margin-top: 29.04px; }
body.vb-boost-page .rev-page { min-width: 44px; height: 44px; padding: 0 13.2px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: var(--r); background: #fff; color: var(--ink-soft); font-family: var(--font-ui); font-size: 14.52px; font-weight: 600; cursor: pointer; transition: border-color 150ms ease, color 150ms ease, background 150ms ease; }
body.vb-boost-page .rev-page:hover:not(.is-disabled):not(.is-on) { border-color: var(--royal-soft); color: var(--royal); }
body.vb-boost-page .rev-page.is-on { background: var(--royal); border-color: var(--royal); color: #fff; }
body.vb-boost-page .rev-page.is-disabled { opacity: 0.4; cursor: default; }

/* SITE REVIEWS (glsr) SUBMISSION FORM — F3 nudge. The plugin renders its own
   .glsr-* markup that's only visible on a running WP, so this is best-effort over
   the common glsr field/input/button/star classes; refine on staging once the
   real markup is visible. */
body.vb-boost-page .vb-glsr-form .glsr-form { display: flex; flex-direction: column; gap: 15.84px; margin-top: 5.28px; }
body.vb-boost-page .vb-glsr-form .glsr-field > label, body.vb-boost-page .vb-glsr-form .glsr-field-label { font-family: var(--font-ui); font-size: 12.54px; font-weight: 600; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft); display: block; margin-bottom: 6.6px; }
body.vb-boost-page .vb-glsr-form input[type="text"], body.vb-boost-page .vb-glsr-form input[type="email"], body.vb-boost-page .vb-glsr-form textarea, body.vb-boost-page .vb-glsr-form select { width: 100%; border: 1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft); padding: 12.1px 14.3px; font-family: var(--font-body); font-size: 16.5px; color: var(--ink); box-sizing: border-box; }
body.vb-boost-page .vb-glsr-form input:focus, body.vb-boost-page .vb-glsr-form textarea:focus { outline: none; border-color: var(--royal-soft); background: #fff; box-shadow: 0 0 0 3.6px color-mix(in srgb, var(--royal) 13%, transparent); }
body.vb-boost-page .vb-glsr-form button[type="submit"], body.vb-boost-page .vb-glsr-form .glsr-button { width: 100%; justify-content: center; background: linear-gradient(135deg, var(--royal), var(--royal-deep)); color: #fff; border: none; border-radius: var(--r); padding: 14.3px 19.8px; font-family: var(--font-ui); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; }
body.vb-boost-page .vb-glsr-form .glsr-star-rating, body.vb-boost-page .vb-glsr-form .glsr-stars { color: var(--gold-deep); }

/* ==========================================================================
   AGENTS PICKER POPUP (boost-live.js). An F3 modal that surfaces the LIVE
   plugin .faivotite_champions picker — boost-live.js moves that block in on
   open (and back on close) so the plugin's own CHOOSE buttons + selection feed
   the order. This skins the plugin's .eo-fav-* markup to F3; the plugin shows
   one category's agents at a time via its own JS (refine on staging once the
   real rendered markup is visible).
   ========================================================================== */
body.agent-pop-open { overflow: hidden; }
/* transparent — the modal carries .vb-rd which paints a white bg; without this the
   backdrop-filter below blurs that white instead of the page (the "white background"). */
.agent-pop { position: fixed; inset: 0; z-index: 1200; display: none; background: transparent; }
/* Centre the panel like the checkout modal (pops over the dimmed page). The old
   top-anchor was to stop a bounce from the plugin's jQuery slideUp/slideDown picker;
   the current self-contained .ap-* grid shows every role at once (no slide), so the
   bounce is gone and centring reads as a proper modal instead of a top sliver with a
   big empty backdrop below it. The panel's own max-height:88vh + overflow-y handle
   tall content. */
.agent-pop.open { display: grid; place-items: center; padding: 26.4px; overflow-y: auto; }
.agent-pop-backdrop { position: fixed; inset: 0; background: rgba(27,31,42,0.62); -webkit-backdrop-filter: blur(5.28px); backdrop-filter: blur(5.28px); }
.agent-pop-modal { position: relative; z-index: 1; width: 100%; max-width: 836px; max-height: 88vh; overflow-y: auto; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 10.56px); box-shadow: 0 48px 120px -24px rgba(27,31,42,0.55); padding: 31.68px; }
.agent-pop-close { position: absolute; top: 17.6px; right: 17.6px; width: 41.8px; height: 41.8px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 10.56px; background: var(--bg); color: var(--ink-soft); font-size: 17.6px; cursor: pointer; transition: background 150ms ease, color 150ms ease; }
.agent-pop-close:hover { background: var(--royal-tint); color: var(--accent); }
.agent-pop-title { display: inline-flex; align-items: center; gap: 10.56px; font-family: var(--font-display); font-weight: 700; font-size: 29.04px; letter-spacing: -0.01em; color: var(--ink); }
.agent-pop-title em { font-style: normal; color: var(--accent); }
.agent-pop-title svg { width: 26.4px; height: 26.4px; color: var(--accent); }
.agent-pop-sub { font-size: 15.84px; color: var(--ink-soft); margin: 7.92px 0 21.12px; }
.agent-pop-foot { margin-top: 23.76px; display: flex; align-items: center; justify-content: space-between; gap: 17.6px; }
.agent-pop-foot .btn { min-width: 165px; justify-content: center; }
.ap-count { font-family: var(--font-ui); font-size: 14.52px; color: var(--ink-soft); }

/* re-open link added to the champions chip */
.xopt-edit { margin-top: 7.92px; align-self: flex-start; background: var(--royal-tint); color: var(--accent); border: none; border-radius: 1098.9px; padding: 5.28px 13.2px; font-family: var(--font-ui); font-size: 12.54px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; }
.xopt-edit:hover { background: var(--royal); color: #fff; }

/* Self-contained F3 agent picker (boost-live.js builds .ap-* — no plugin block). */
.agent-pop-body { display: flex; flex-direction: column; gap: 21.12px; }
.ap-role-head { font-family: var(--font-ui); font-size: 12.54px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-muted); margin-bottom: 10.56px; }
.ap-agents { display: grid; grid-template-columns: repeat(auto-fill, minmax(162.8px, 1fr)); gap: 10.56px; }
.ap-agent { display: flex; align-items: center; gap: 9.24px; width: 100%; box-sizing: border-box; padding: 11.88px 14.52px; border: 1.2px solid var(--line); border-radius: var(--r); background: #fff; cursor: pointer; font-family: var(--font-body); font-size: 15.84px; color: var(--ink); text-align: left; transition: border-color 150ms ease, background 150ms ease; }
.ap-agent:hover { border-color: var(--royal-soft); background: var(--royal-tint); }
.ap-agent.is-sel { border-color: var(--royal); background: var(--royal-tint); }
.ap-agent-emoji { flex: 0 0 auto; font-size: 18.48px; line-height: 1; }
.ap-agent-name { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-agent-tick { flex: 0 0 auto; width: 21.12px; height: 21.12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--royal); color: #fff; opacity: 0; transform: scale(0.55); transition: opacity 140ms ease, transform 140ms ease; }
.ap-agent-tick svg { width: 13.2px; height: 13.2px; }
.ap-agent.is-sel .ap-agent-tick { opacity: 1; transform: scale(1); }
.ap-empty { font-size: 15.84px; color: var(--ink-soft); }
.agent-pop .choose_btn:hover { background: var(--royal-deep); }
.agent-pop .eo-selected-fav-champ { color: var(--green); flex-shrink: 0; }

/* --- "Choose your booster" picker (free extra): roster cards inside the
   agent-pop shell. The status dot is the hourly-rotated online flag served
   by the booster-directory endpoint. --- */
.bpop .agent-pop-modal { max-width: 726px; }
.bp-meta { font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; color: var(--ink-soft); margin-bottom: 13.2px; }
.bp-meta::before { content: ''; display: inline-block; width: 8.8px; height: 8.8px; border-radius: 50%; background: #2fae6b; margin-right: 7.92px; }
.bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(162.8px, 100%), 1fr)); gap: 10.56px; }
.bp-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4.4px; padding: 15.84px 13.2px 13.2px; border: 1.2px solid var(--line); border-radius: var(--r); background: #fff; cursor: pointer; text-align: center; transition: border-color 150ms ease, background 150ms ease; }
.bp-card:hover { border-color: var(--royal-soft); background: var(--royal-tint); }
.bp-card.is-sel { border-color: var(--royal); background: var(--royal-tint); }
.bp-ava { width: 52.8px; height: 52.8px; border-radius: 50%; object-fit: cover; border: 1.2px solid var(--line); background: var(--bg); }
.bp-ava-txt { display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--ink-soft); }
/* Emoji avatar (replaces the profile picture) — bare, a touch larger than the old circle. */
.bp-ava-emoji { width: auto; height: auto; border: none; background: transparent; border-radius: 0; font-size: 40.92px; line-height: 1.1; }
.bp-name { font-family: var(--font-ui); font-weight: 700; font-size: 17.16px; color: var(--ink); margin-top: 4.4px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-status { display: inline-flex; align-items: center; gap: 5.28px; font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-muted); }
.bp-status::before { content: ''; width: 7.92px; height: 7.92px; border-radius: 50%; background: #c2c7d0; }
.bp-card.is-online .bp-status { color: #2fae6b; }
.bp-card.is-online .bp-status::before { background: #2fae6b; box-shadow: 0 0 0 3.3px rgba(47, 174, 107, 0.16); }
.bp-done { font-family: var(--font-ui); font-size: 11.88px; color: var(--ink-soft); }
.bp-card .ap-agent-tick { position: absolute; top: 8.8px; right: 8.8px; }

/* ==================================================
   DENSITY · V2  (handoff "calcDensity: v2" — compact)
   --------------------------------------------------
   Condenses the station / control / ladder / server / dropdown
   paddings ~30% while the rank crest + rank name stay full size
   (they already match the v2 target: crest 278px = 232×1.2,
   name 26.4px = 22×1.2). Values are the handoff's v2 NET (last-
   wins) values × 1.2 site scale. Appended last so equal-specificity
   base rules above are overridden by source order.
   ================================================== */
.calc-card { padding-top: 21.12px; padding-bottom: 21.12px; }
.calc-main { gap: 10.56px; }
.rank-stations { gap: 15.84px; }
.rank-station { padding: 11.88px 17.16px 14.52px; gap: 9.24px; }
.rank-station-label { font-size: 13.2px; }
.tier-trigger { padding: 7.92px 13.2px; }
.tier-trigger .lab { font-size: 17.16px; }
.tier-opt { padding: 9.24px 11.88px; font-size: 15.84px; }
.div-pill { padding: 6.6px 0; }
.rank-arrow-glyph { width: 55.44px; height: 55.44px; }
.calc-controls { margin-top: 13.2px; gap: 13.2px; }
.calc-controls .ctl-block { padding: 11.88px 14.52px; }
.calc-controls .ctl-label { margin-bottom: 9.24px; }
.queue-opt { padding: 10.56px 11.88px; }
.server-block { margin-top: 14.52px; }
.server-opt { padding: 6.6px 5.28px; }

/* ==================================================
   REVIEWS · compacted under the calculator (handoff)
   72→44px vertical (×1.2 = 52.8px), tighter inner gaps.
   Overrides home-page.css .reviews (loaded earlier).
   ================================================== */
.reviews { padding-top: 58.08px; padding-bottom: 58.08px; }
.reviews .section-head { margin-bottom: 2.64px; }
.rev-wrap { margin-top: 15.84px; }
.rev-submit-grid { margin-top: 21.12px; }
.rev-summary { margin-bottom: 15.84px; }

/* ==================================================
   DEFENSIVE · survive a parent main.css leak
   --------------------------------------------------
   main.css (boosting-main) is meant to be stripped on F3 pages, but LiteSpeed's
   CSS-combine can re-inline it. main.css has same-named .order-top / .order-title
   rules that would leak onto the F3 red order header (a 2px #ececec border-top,
   extra margin, uppercase/centre/avenirnextcyr). Pin those props at .vb-rd
   specificity (0,2,0) so they beat the bare main.css selectors (0,1,0) regardless
   of combined source order. The real fix is operational: strip main.css + purge.
   ================================================== */
.vb-rd .order-top { border-top: 0; margin: 0; }
.vb-rd .order-title { margin: 0; text-transform: none; text-align: left; }

/* ---- narrow-phone overflow pass (≤480) ----
   The +20%/+10% scale leaves several boost-page rows wider than a 360–430px
   phone. Measured at 360px (DevTools/diagnostic): the product-tab labels clip
   (name needs 114px in a 53px column), the extra-option text column is crushed
   to ~8px by the fixed icon+switch+scaled padding, the twin price cards overflow
   ~12px, and the order-journey crests (158px each) overrun the panel. Each fix
   shrinks a fixed consumer or stacks a too-wide row; nothing here changes the
   ≥481px layout. */
@media (max-width: 480px) {
  /* product tabs: let the labels wrap (font-agnostic — Bricolage is wider than
     the fallback) and reclaim width from the icon + gap so text has room */
  .prod-tab { gap: 8.8px; }
  .prod-tab-ico,
  .prod-menu .prod-tab.big .prod-tab-ico { width: 35.2px; height: 35.2px; }
  .prod-tab-ico svg,
  .prod-menu .prod-tab.big .prod-tab-ico svg { width: 19.8px; height: 19.8px; }
  .prod-tab-name,
  .prod-tab-sub { white-space: normal; overflow-wrap: anywhere; }

  /* extra options: trim the scaled padding + icon so the text column isn't
     starved to a single word per line (was ~8px wide at 360) */
  .xopts-section { padding-left: 13.2px; padding-right: 13.2px; }
  .xopts-card { padding: 18.48px 13.2px 19.8px; }
  /* pull the toggle OUT of the flex row (absolute top-right) so the text column
     gets the full card width instead of being pinched between icon + switch — the
     description was wrapping to ~6 lines in a ~138px column */
  .xopt { position: relative; padding: 15.84px; gap: 11.88px; }
  .xopt-ico { width: 38px; height: 38px; }
  .xopt-ico svg { width: 19px; height: 19px; }
  .xopt-switch { position: absolute; top: 15.84px; right: 15.84px; margin: 0; }
  .xopt-name { font-size: 18px; flex-wrap: wrap; overflow-wrap: anywhere; padding-right: 62px; }
  .xopt-desc { font-size: 15.84px; }

  /* twin price cards: stack so each gets the full panel width (the VIP label +
     "−10%" badge no longer clip on the right) */
  .order-total { flex-direction: column; }
  .order-total .price-col { width: 100%; }
  .order-total .lbl { white-space: normal; }

  /* order-journey crests overran the panel — shrink the art + rank label so the
     Current → Target row fits even for the long apex names (Grandmaster) */
  .order-journey { gap: 9.24px; }
  .order-journey .order-mini img { width: 105.6px; height: 105.6px; }
  .order-journey .order-mini span { font-size: 15.84px; }

  /* reclaim the heavy scaled side-padding (was 31–37px each side) so the dense
     calculator + order panel get real width on a phone — this alone gives the
     server grid, queue toggle, rank stations and reviews summary room to fit */
  .calc-section { padding-left: 13.2px; padding-right: 13.2px; }
  .calc-card { padding-left: 16.5px; padding-right: 16.5px; }
  .order-body { padding-left: 16.5px; padding-right: 16.5px; }
  .order-top { padding-left: 16.5px; padding-right: 16.5px; }
  .order-total { padding-left: 16.5px; padding-right: 16.5px; }
  .order-foot { padding-left: 16.5px; padding-right: 16.5px; }
  .order-reward { margin-left: 16.5px; margin-right: 16.5px; }
  .note-section, .seo, .cta-strip { padding-left: 16px; padding-right: 16px; }

  /* "Next purchase reward" row: stack so the UNLOCKED badge stops overlapping the
     title, and let the "$N VIP credit · 2% bonus" line wrap instead of clipping */
  .order-reward { flex-direction: column; align-items: flex-start; gap: 9.24px; }
  .order-reward .orw-text { width: 100%; }
  .order-reward .orw-sub { white-space: normal; }

  /* reviews summary (4.9 / 5 + 5-4-3-2-1 bars + COMPLETION/GUARANTEE/YEARS): the
     bars carry a 290px min-width and the score is 74px — both overrun the card at
     360. Let the bars shrink, wrap the score row, shrink the number. */
  .rev-sum-bars { min-width: 0; }
  .rev-sum-score { flex-wrap: wrap; }
  .rev-sum-score .big { font-size: 52.8px; }
  .rev-sum-score .big span { font-size: 22.44px; }

  /* Solo/Duo · Flex queue + Server/Region: never let a label force the row wider
     than the card (the qn/qs were nowrap; servers are an auto-fit grid) */
  .queue-opt .qn, .queue-opt .qs { white-space: normal; }
}

/* ==================================================
   CUSTOMER · Checkout (full page)  (F3 redesign)
   Full-page version of the boost-page checkout. Mirrors checkout.php +
   core_fields / game_fields / play_time / payment_fields / sidebar_info /
   loyalty_block: 4-step stepper, account info, payment method, and a
   sticky order-summary with VIP code + final price + TOS. Reuses
   .order-hero / .panel + tokens. Token-driven, scaled x1.2 (+20%).
   ================================================== */

.co-page { background: var(--bg-soft); }
.co-wrap { max-width: 1355.2px; margin: 0 auto; padding: 36.96px 31.68px 84.48px; }

/* ===== stepper ===== */
.co-stepper { display: flex; align-items: flex-start; justify-content: center; margin-bottom: 31.68px; }
.co-step-col { display: flex; flex-direction: column; align-items: center; gap: 10.56px; flex-shrink: 0; width: 118.8px; }
.co-step-dot {
  width: 47.52px; height: 47.52px; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 19.8px;
  background: #fff; border: 1.8px solid var(--line); color: var(--ink-muted);
}
.co-step-dot svg { width: 21.12px; height: 21.12px; display: none; }
.co-step-col.done .co-step-dot { background: var(--royal); border-color: var(--royal); color: #fff; }
.co-step-col.done .co-step-dot .num { display: none; }
.co-step-col.done .co-step-dot svg { display: inline; }
.co-step-col.active .co-step-dot { background: #fff; border-color: var(--royal); color: var(--royal); box-shadow: 0 0 0 4.8px color-mix(in srgb, var(--royal) 14%, transparent); }
.co-step-label {
  font-family: var(--font-ui); font-size: 12.54px; font-weight: 600; text-align: center;
  letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted);
}
.co-step-col.done .co-step-label, .co-step-col.active .co-step-label { color: var(--ink); }
.co-step-line { flex: 1; max-width: 145.2px; height: 2.64px; background: var(--line); border-radius: 2.64px; margin-top: 23.76px; }
.co-step-line.filled { background: var(--royal); }

/* ===== two-column ===== */
.co-grid { display: grid; grid-template-columns: 1fr 475.2px; gap: 26.4px; align-items: start; }
.co-summary { position: sticky; top: 105.6px; display: flex; flex-direction: column; gap: 21.12px; }

.co-sec { padding: 29.04px; }
.co-sec + .co-sec { border-top: 1.2px solid var(--line-soft); }
.co-sec-title {
  font-family: var(--font-ui); font-size: 14.52px; font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft);
  display: inline-flex; align-items: center; gap: 11.88px; margin-bottom: 21.12px;
}
.co-sec-title svg { width: 18.48px; height: 18.48px; color: var(--accent); }

/* fields */
.co-fields { display: flex; flex-direction: column; gap: 18.48px; }
.co-field { display: flex; flex-direction: column; gap: 9.24px; }
.co-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15.84px; }
.co-label {
  font-family: var(--font-ui); font-size: 12.54px; font-weight: 600;
  letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft);
  display: inline-flex; align-items: center; gap: 7.92px;
}
.co-label .opt { color: var(--ink-muted); font-weight: 500; letter-spacing: 0; text-transform: none; }
.co-input-wrap { position: relative; display: flex; align-items: center; }
.co-input-wrap > svg.lead { position: absolute; left: 17.16px; width: 19.8px; height: 19.8px; color: var(--ink-muted); pointer-events: none; }
.co-input {
  width: 100%; height: 56.76px; padding: 0 18.48px 0 50.16px;
  border: 1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft);
  font-family: var(--font-body); font-size: 17.82px; color: var(--ink); outline: none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.co-input.no-ico { padding-left: 18.48px; }
.co-input:focus { border-color: var(--royal-soft); background: #fff; box-shadow: 0 0 0 3.6px color-mix(in srgb, var(--royal) 13%, transparent); }
.co-input::placeholder { color: var(--ink-muted); }

/* ===== payment tiles ===== */
.pay-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14.52px; }
.pay-tile {
  position: relative; display: flex; align-items: center; gap: 14.52px;
  padding: 18.48px 19.8px; border: 1.5px solid var(--line); border-radius: calc(var(--r) + 1.32px);
  background: #fff; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, box-shadow 180ms ease;
}
.pay-tile:hover { border-color: var(--royal-soft); background: var(--bg-soft); }
.pay-tile input { position: absolute; opacity: 0; width: 0; height: 0; }
.pt-ico { width: 47.52px; height: 47.52px; border-radius: 11.88px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-deep); color: var(--ink-soft); transition: background 160ms ease, color 160ms ease; }
.pt-ico svg { width: 23.76px; height: 23.76px; }
.pt-text { min-width: 0; }
.pt-text b { font-size: 16.5px; font-weight: 600; color: var(--ink); display: block; }
.pt-text span { font-family: var(--font-ui); font-size: 12.54px; color: var(--ink-muted); }
.pt-check { position: absolute; top: 15.84px; right: 15.84px; width: 23.76px; height: 23.76px; border-radius: 50%; border: 1.5px solid var(--line); display: inline-flex; align-items: center; justify-content: center; transition: all 160ms ease; }
.pt-check svg { width: 14.52px; height: 14.52px; color: #fff; opacity: 0; transition: opacity 160ms ease; }
.pay-tile input:checked ~ .pt-check { background: var(--royal); border-color: var(--royal); }
.pay-tile input:checked ~ .pt-check svg { opacity: 1; }
.pay-tile:has(input:checked) { border-color: var(--royal); background: var(--royal-tint); box-shadow: 0 0 0 3.6px color-mix(in srgb, var(--royal) 12%, transparent); }
.pay-tile:has(input:checked) .pt-ico { background: var(--royal); color: #fff; }

/* ===== order summary ===== */
.co-journey { display: flex; align-items: center; justify-content: center; gap: 18.48px; padding: 5.28px 0 21.12px; border-bottom: 1.2px solid var(--line-soft); margin-bottom: 18.48px; }
.cj-rank { display: flex; flex-direction: column; align-items: center; gap: 6.6px; }
.cj-rank img { width: 66px; height: 66px; object-fit: contain; }
.cj-t { font-family: var(--font-ui); font-size: 11.22px; font-weight: 600; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.cj-n { font-family: var(--font-display); font-weight: 700; font-size: 19.8px; color: var(--ink); }
.cj-rank.target .cj-n { color: var(--royal); }
.cj-arrow { color: var(--ink-muted); }
.cj-arrow svg { width: 26.4px; height: 26.4px; }

.li-row { display: flex; align-items: center; justify-content: space-between; gap: 13.2px; padding: 10.56px 0; }
.li-k { font-size: 15.84px; color: var(--ink-soft); }
.li-v { font-size: 15.84px; font-weight: 600; color: var(--ink); text-align: right; }
.li-v.discount { color: var(--status); }
.li-row.sub { border-top: 1.2px solid var(--line-soft); margin-top: 5.28px; padding-top: 15.84px; }

.co-vip { display: flex; gap: 10.56px; margin: 18.48px 0; }
.co-vip input {
  flex: 1; min-width: 0; height: 51.48px; padding: 0 17.16px; border: 1.2px solid var(--line); border-radius: var(--r);
  background: var(--bg-soft); font-family: var(--font-ui); font-size: 14.52px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); outline: none;
}
.co-vip input:focus { border-color: var(--royal-soft); background: #fff; }
.co-vip input::placeholder { color: var(--ink-muted); letter-spacing: 0.04em; }
.co-vip button {
  height: 51.48px; padding: 0 21.12px; border: 1.2px solid var(--royal-soft); cursor: pointer; border-radius: var(--r);
  background: var(--royal-tint); color: var(--royal);
  font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase;
  transition: background 160ms ease;
}
.co-vip button:hover { background: color-mix(in srgb, var(--royal) 16%, #fff); }
.co-vip-msg { font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; color: var(--status); margin: -7.92px 0 10.56px; opacity: 0; transition: opacity 180ms ease; }
.co-vip-msg.show { opacity: 1; }

.co-total { display: flex; align-items: baseline; justify-content: space-between; gap: 13.2px; padding: 18.48px 0 5.28px; border-top: 1.8px solid var(--line); margin-top: 5.28px; }
.co-total .tt-k { font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft); }
.co-total .tt-v { font-family: var(--font-display); font-weight: 700; font-size: 42.24px; color: var(--ink); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }

.co-tos { display: flex; align-items: flex-start; gap: 11.88px; margin: 19.8px 0; cursor: pointer; }
.co-tos input { position: absolute; opacity: 0; width: 0; height: 0; }
.co-tos .box { width: 23.76px; height: 23.76px; border-radius: 6.6px; border: 1.5px solid var(--line); background: #fff; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; margin-top: 1.32px; transition: all 150ms ease; }
.co-tos .box svg { width: 15.84px; height: 15.84px; color: #fff; opacity: 0; transition: all 150ms ease; }
.co-tos input:checked + .box { background: var(--royal); border-color: var(--royal); }
.co-tos input:checked + .box svg { opacity: 1; }
.co-tos span { font-size: 14.52px; color: var(--ink-soft); line-height: 1.45; }
.co-tos a { color: var(--royal); font-weight: 600; text-decoration: none; }
.co-tos a:hover { text-decoration: underline; }

.co-purchase {
  width: 100%; height: 63.36px; border: none; cursor: pointer; border-radius: var(--r);
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); color: #fff;
  font-family: var(--font-ui); font-size: 16.5px; font-weight: 700; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center; gap: 11.88px;
  transition: transform 160ms var(--ease-out), box-shadow 200ms ease, opacity 160ms ease;
}
.co-purchase svg { width: 21.12px; height: 21.12px; }
.co-purchase:hover { transform: translateY(-1.65px); box-shadow: 0 18px 38px -14px color-mix(in srgb, var(--royal) 60%, transparent); }
.co-secure-note { display: flex; align-items: center; justify-content: center; gap: 10.56px; margin-top: 15.84px; font-family: var(--font-ui); font-size: 12.54px; font-weight: 600; letter-spacing: calc(0.04em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.co-secure-note svg { width: 17.16px; height: 17.16px; color: var(--status); }

.co-done { display: none; flex-direction: column; align-items: center; text-align: center; gap: 15.84px; padding: 13.2px 0; }
.co-done.show { display: flex; }
.co-done .cd-ico { width: 63.36px; height: 63.36px; border-radius: 50%; background: var(--status-soft); color: var(--status); display: inline-flex; align-items: center; justify-content: center; }
.co-done .cd-ico svg { width: 33px; height: 33px; }
.co-done b { font-family: var(--font-display); font-weight: 700; font-size: 23.76px; color: var(--ink); }
.co-done p { font-size: 15.84px; color: var(--ink-soft); }

/* ===== responsive ===== */
@media (max-width: 980px) {
  .co-grid { grid-template-columns: 1fr; }
  .co-summary { position: static; }
}
@media (max-width: 600px) {
  .co-wrap { padding: 26.4px 18.48px 63.36px; }
  .pay-tiles { grid-template-columns: 1fr; }
  .co-field-row { grid-template-columns: 1fr; }
  .co-step-col { width: 70.4px; }
  .co-step-label { font-size: 11.22px; }
  .co-total .tt-v { font-size: 36.96px; }
}

/* ==================================================
   FONT HIERARCHY CORRECTION
   League stays on big headings + numeric stats; small titles, names, subtitles
   and reading text use Barlow. Appended last to override the per-element
   --font-display at equal specificity.
   ================================================== */
.cj-n,
.co-done b { font-family: var(--font-body); }
/* ==================================================
   VALBOOSTING · CHECKOUT MODAL — F3 .pay-* fit
   --------------------------------------------------
   When vb_f3_checkout_enabled is on, the override
   (boosting/templates/public/product/checkout.php) renders the COMPACT
   single-column F3 ".pay-*" checkout (the approved _vb-preview-boost.html modal,
   styled by boost-page.css; tokens from f3-tokens.css) into
   #boosting-modal-content as `.vb-rd.vb-pay`. The parent boosting/main.css sizes
   #boosting-modal (~700px) and prints its own .boosting-modal-header ("Checkout"
   title + close); the .pay-* design carries its own .pay-head + .pay-close, so
   this sizes the modal to the compact layout, HIDES the plugin header, and gives
   .vb-pay the modal-box padding + positioning context for the absolute close.
   Loaded (gated) after boost-page.css on the product pages. Scoped to .vb-pay /
   :has(.vb-pay) so the gift/tip modal is untouched.
   ================================================== */

/* ---- RE-HOME the plugin modal overlay + positioning ----
   The fixed-popup mechanics for #boosting-modal / #boosting-modal-bg live ONLY in
   the parent boosting/main.css (base .boosting-modal{position:fixed;top:-120%} +
   .bm-visible show toggle + the .boosting-modal-bg full-screen overlay). On the
   boost page main.css is BLANKED at the <link> (functions.php style_loader_tag
   strip, vb_is_f3_page), and nothing else supplies these rules — so #boosting-modal
   had static positioning and the checkout rendered inline at the BOTTOM of the page
   instead of popping up (adding .bm-visible did nothing). Reproduce the essential
   overlay + centred-card + show toggles here. This sheet only loads when the F3
   checkout is on (vb_f3_checkout_enabled), i.e. exactly the boost/product page, and
   AFTER the strip. Bare selectors (not :has) so they style the shell for ANY modal
   on the page (checkout + gift/tip); the :has(.vb-pay) rules below then resize the
   shell to the compact checkout. */
.boosting-modal-bg {
  display: none; position: fixed; inset: 0; z-index: 100000;
  background-color: rgba(0,0,0,.45);
  backdrop-filter: blur(3.3px); -webkit-backdrop-filter: blur(3.3px);
}
.boosting-modal-bg.bmbg-visible { display: block; }
/* Open transition — a short top-down POP from just above the resting spot (translateY
   + scale + fade), NOT the old full-screen `top: -120% -> 50%` slide that flew the card
   down through the whole viewport (read as "weird"). The card stays centred (top:50%)
   and only travels ~34px down while scaling .96 -> 1 and fading in (UI batch 7 —
   "checkout should move from top down as a pop up"). visibility/opacity replace the
   off-screen top trick so the hidden modal can't catch pointer events. */
/* ID-qualified + !important: the parent boosting/main.css "checkout4" block
   (.boosting-modal.bm-visible { animation: co-cardUp … !important }) is supposed to be
   stripped on the F3 page, but if the strip misses (stale page/CDN cache, a combined-CSS
   bundle baked when a gate was off) that parent rule wins over a bare .boosting-modal
   selector and the pop never shows (user: "still the same as before"). #boosting-modal
   + !important beats it regardless, and `animation: none !important` kills co-cardUp. */
#boosting-modal.boosting-modal {
  position: fixed !important; z-index: 100001;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, calc(-50% - 34px)) scale(.96) !important;
  opacity: 0; visibility: hidden;
  width: 80%; max-width: 1267.2px;
  background: #fff; border-radius: 13.2px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 18px 50px -12px rgba(0,0,0,.35);
  animation: none !important;
  transition: transform .34s cubic-bezier(.16,1,.3,1), opacity .26s ease, visibility 0s linear .34s !important;
}
#boosting-modal.boosting-modal.bm-visible {
  transform: translate(-50%, -50%) scale(1) !important;
  opacity: 1; visibility: visible;
  animation: none !important;
  transition: transform .34s cubic-bezier(.16,1,.3,1), opacity .22s ease, visibility 0s !important;
}
@media (prefers-reduced-motion: reduce) {
  #boosting-modal.boosting-modal { transform: translate(-50%, -50%) scale(1) !important; animation: none !important; transition: opacity .2s ease, visibility 0s linear .2s !important; }
  #boosting-modal.boosting-modal.bm-visible { transition: opacity .2s ease, visibility 0s !important; }
}
.boosting-modal-content { overflow-y: auto; max-height: 90vh; }

/* size the modal to the compact .pay-modal width. :has(.vb-pay) keeps the
   gift/tip modal — which has no .vb-pay inside — at its native size. */
#boosting-modal:has(.vb-pay) {
  max-width: 748px !important;
  width: calc(100% - 44px) !important;
  max-height: 92vh !important;
}
#boosting-modal:has(.vb-pay) #boosting-modal-content {
  padding: 0 !important;
  max-height: 92vh;
  overflow-y: auto;
}

/* the plugin's modal header (its "Checkout" title + close) is replaced by the
   .pay-head eyebrow/title and the .pay-close button rendered inside .vb-pay */
#boosting-modal:has(.vb-pay) .boosting-modal-header { display: none !important; }

/* .vb-pay is the modal body: give it the .pay-modal box padding and make it the
   positioning context for the absolute .pay-close. The #boosting-modal surface is
   already white, so keep this transparent.
   COMPOUND `.vb-rd.vb-pay` (0,2,0) on purpose: .vb-pay is itself a `.vb-rd`, and
   home-page.css (loaded on the product page for the calculator) carries the
   `.vb-rd, .vb-rd * { padding:0 }` reset (0,1,0) which loads after this sheet — a
   bare `.vb-pay` (also 0,1,0) loses the padding to it and the content sits flush to
   the edges. The compound class wins regardless of load order; min-height:0 also
   undoes the .vb-rd { min-height:100vh } leak. */
.vb-rd.vb-pay { position: relative; padding: 44px 44px 39.6px; background: transparent; min-height: 0; }

/* ---- AESTHETIC REFINEMENTS (live modal only) ----
   More breathing room + larger type than the compact preview defaults, and force
   the F3 display font onto the total so the price matches the order panel instead
   of the plugin's "lion number" League font (.discount-currency). */

/* PRICE FONT — the parent main.css styles `#totaloutcost { font-family: League
   !important }` (ID, 1,0,0). Use `.vb-pay #totaloutcost` (1,1,0) + !important to win,
   and put the whole total on Barlow (--font-body) so it MATCHES the "Your Order" panel
   price (Barlow 800) instead of League, which read badly small (UI batch 9). */
.vb-pay #totaloutcost,
.vb-pay #totaloutcost .discount-currency,
.vb-pay .pay-recap-total-amt,
.vb-pay .discount-currency { font-family: var(--font-body) !important; font-variant-numeric: tabular-nums; }

/* recap — compact padding so the bigger (80px) minis don't feel cramped (UI batch 10) */
.vb-pay .pay-recap { padding: 13.76px 20.6px; margin: 31.68px 0; }
.vb-pay .pay-recap-total-lbl { font-size: 12.54px; }
.vb-pay .pay-recap-total-amt { font-size: 39.6px; letter-spacing: -0.03em; }
.vb-pay .pay-recap-journey .order-mini span { font-size: 14.52px; }
.vb-pay .pay-recap-journey .order-mini small { font-size: 11.22px; }

/* head — a touch more room under the title */
.vb-pay .pay-eyebrow { font-size: 14.52px; }
.vb-pay .pay-head { margin-bottom: 5.28px; }

/* fields — bigger labels + inputs, more gap */
.vb-pay .pay-fields { gap: 19.8px; }
.vb-pay .pay-field { gap: 9.9px; }
.vb-pay .pay-label { font-size: 14.52px; }
.vb-pay .pay-label small { font-size: 13.2px; }
.vb-pay .pay-field input { font-size: 19.8px; padding: 16.5px 18.7px; }

/* payment method — bigger names/subs, more padding */
.vb-pay .pay-methods-label { font-size: 14.52px; margin: 27.72px 0 13.2px; }
.vb-pay .pay-methods { gap: 15.84px; }
.vb-pay .pay-method-card { padding: 19.8px 21.12px; gap: 4.62px; }
.vb-pay .pay-method-name { font-size: 21.78px; }
.vb-pay .pay-method-sub { font-size: 15.84px; }

/* terms + submit + trust — bigger, more spacing */
.vb-pay .pay-tos { font-size: 17.82px; margin: 27.72px 0 23.76px; }
.vb-pay .pay-submit { font-size: 19.8px; padding: 23.1px; }
.vb-pay .pay-trust { font-size: 13.86px; gap: 26.4px; margin-top: 21.12px; }

/* compact phones: single-column fields + tighter padding */
@media (max-width: 560px) {
  .vb-rd.vb-pay { padding: 30.8px 24.2px 33px; }
  .vb-pay .pay-fields, .vb-pay .pay-methods { grid-template-columns: 1fr; }
}

/* round 3 — halve the checkout modal body side padding on phones (was 24.2px) */
@media (max-width: 480px) {
  .vb-rd.vb-pay { padding: 26.4px 15px 28px; }
}

/* Hide the recap TOTAL at the top of the checkout modal — the price belongs
   only in the bottom pay bar. Mirrors eloboostleague (checkout-modal.css:152 /
   checkout-page.css:182); valboosting was missing this rule so the total showed
   at the top too. */
.vb-pay .pay-recap-total { display: none; }
/* ==================================================
   VALBOOSTING · LOGIN DROPDOWN — F3 re-skin
   --------------------------------------------------
   The login form is the EXISTING lazy-loaded header dropdown
   (#ajax-login-placeholder + the parent ajax-login-script.js). The parent
   boosting/nav.css already styles it as a 380px top-right card — but in EBL
   blue (#0364a9), since nav.css is shared. This file ONLY recolours / retypes
   that card to the valboosting F3 rose design. No markup, JS or positioning
   changes: the login functions are reused untouched.

   Each rule mirrors a nav.css selector at EQUAL specificity + !important, and
   the stylesheet is enqueued with a 'boosting-nav' dependency so it loads
   AFTER nav.css — later load + !important on the tie = these win. Loaded for
   logged-out visitors only (that's the only time the dropdown exists).
   Prefixed --vb-* token names so nothing collides with the page tokens.
   ================================================== */

.form-login-signup {
  --vb-rose: #ec5d72;
  --vb-rose-deep: #c83a55;
  --vb-rose-tint: #fde6ea;
  --vb-rose-soft: #f5bcc6;
  --vb-ink: #3e1820;
  --vb-ink-soft: #6a5560;
  --vb-line: #ece7e9;
  --vb-bg-soft: #faf7f8;
  --vb-fd: 'Rajdhani', 'Bricolage Grotesque', system-ui, sans-serif;
  --vb-fb: 'Geist', system-ui, sans-serif;
  --vb-fu: 'Geist', sans-serif;
}

/* card shell — warm rose-tinted shadow instead of EBL blue */
.form-login-signup .login-signup-form {
  box-shadow: 0 2px 4px rgba(36,12,18,.06), 0 18px 50px -18px rgba(200,58,85,.24) !important;
}

/* tab header */
.form-login-signup .tab-group {
  background: linear-gradient(135deg, rgba(255,70,85,.05), #fff 60%) !important;
  border-bottom: 1px solid var(--vb-line) !important;
}
.form-login-signup .tab-group li a,
.form-login-signup .tab-group .active a {
  font-family: var(--vb-fd) !important;
  color: var(--vb-ink) !important;
  font-weight: 700 !important;
}

/* field labels */
.form-login-signup label {
  font-family: var(--vb-fu) !important;
  color: var(--vb-ink-soft) !important;
  letter-spacing: .08em !important;
}

/* text inputs */
.form-login-signup input[type="text"],
.form-login-signup input[type="password"],
.form-login-signup input[type="email"] {
  font-family: var(--vb-fb) !important;
  background: var(--vb-bg-soft) !important;
  border: 1.5px solid var(--vb-line) !important;
  color: var(--vb-ink) !important;
}
.form-login-signup input:focus {
  border-color: var(--vb-rose-soft) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(255,70,85,.14) !important;
}

/* forgot-password link */
.form-login-signup .login-forg-pass a,
.form-login-signup .forgot.tab-link a {
  font-family: var(--vb-fu) !important;
  color: var(--vb-rose) !important;
}

/* remember-me checkbox */
.form-login-signup .logincheckbox label {
  font-family: var(--vb-fu) !important;
  color: var(--vb-ink-soft) !important;
}
.form-login-signup .logincheckbox input[type=checkbox]:checked+label:before {
  background: var(--vb-rose) !important;
  border-color: var(--vb-rose) !important;
}

/* submit button — rose gradient instead of solid blue. Tighter height with a
   ~20%-larger label (base nav.css is 48px / 14px) so it reads compact, not hollow. */
.form-login-signup .button {
  background: linear-gradient(135deg, var(--vb-rose), var(--vb-rose-deep)) !important;
  font-family: var(--vb-fu) !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  box-shadow: 0 4px 14px rgba(255,70,85,.32) !important;
  height: 40px !important;
  font-size: 16.8px !important;
}
.form-login-signup .button:hover {
  background: linear-gradient(135deg, var(--vb-rose-deep), #a82f47) !important;
  box-shadow: 0 6px 20px rgba(255,70,85,.42) !important;
}
.form-login-signup .button:active {
  box-shadow: 0 2px 8px rgba(255,70,85,.32) !important;
}

/* "How do I sign up?" note */
.form-login-signup .frm-btm-section {
  background: linear-gradient(135deg, var(--vb-rose-tint), #fff) !important;
  border-top: 1px solid var(--vb-rose-soft) !important;
}
.form-login-signup .frm-btm-section p {
  font-family: var(--vb-fb) !important;
  color: var(--vb-ink-soft) !important;
}
.form-login-signup .frm-btm-section strong {
  font-family: var(--vb-fd) !important;
  color: var(--vb-ink) !important;
}

/* status line (sent / error) — neutral-rose, errors stay red */
.form-login-signup .status {
  font-family: var(--vb-fu) !important;
  color: var(--vb-rose-deep) !important;
  background: var(--vb-rose-tint) !important;
  border: 1px solid var(--vb-rose-soft) !important;
}

/* Forgot-password panel starts COLLAPSED. login_form.php renders #forgot_password
   inline with no hide, so its "Email Address / SUBMIT" form shows under the login
   form by default. The "Forgot password?" tab-link opens it — jQuery fadeIn() sets
   an inline display that overrides this rule, so the toggle still works. */
.form-login-signup #forgot_password { display: none; }
/*!
 * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{ font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.eot);src:url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.woff2) format("woff2"),url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.woff) format("woff"),url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.ttf) format("truetype"),url(/wp-content/themes/boosting/assets/webfonts/fa-brands-400.svg#fontawesome) format("svg") }.fab{font-family:"Font Awesome 5 Brands"}@font-face{ font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.eot);src:url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.woff2) format("woff2"),url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.woff) format("woff"),url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.ttf) format("truetype"),url(/wp-content/themes/boosting/assets/webfonts/fa-regular-400.svg#fontawesome) format("svg") }.fab,.far{font-weight:400}@font-face{ font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.eot);src:url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.woff2) format("woff2"),url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.woff) format("woff"),url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.ttf) format("truetype"),url(/wp-content/themes/boosting/assets/webfonts/fa-solid-900.svg#fontawesome) format("svg") }.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
.wp-block-button__link{align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none}
/*# sourceURL=https://valboosting.com/wp-includes/blocks/button/style.min.css */

.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}
/*# sourceURL=https://valboosting.com/wp-includes/blocks/search/style.min.css */
body{--glsr-white:#fff;--glsr-gray-100:#f5f5f5;--glsr-gray-200:#e5e5e5;--glsr-gray-300:#d4d4d4;--glsr-gray-400:#a3a3a3;--glsr-gray-500:#737373;--glsr-gray-600:#525252;--glsr-gray-700:#404040;--glsr-gray-800:#262626;--glsr-gray-900:#171717;--glsr-black:#000;--glsr-blue:#1c64f2;--glsr-green:#057a55;--glsr-red:#e02424;--glsr-yellow:#faca15;--glsr-duration-slow:0.3s;--glsr-duration-fast:0.15s;--glsr-gap-xs:0.25em;--glsr-gap-sm:0.5em;--glsr-gap-md:0.75em;--glsr-gap-lg:1em;--glsr-gap-xl:2em;--glsr-leading:1.5;--glsr-px:1.25em;--glsr-py:1.25em;--glsr-radius:3px;--glsr-text-base:1em;--glsr-text-sm:0.875em;--glsr-text-md:1em;--glsr-text-lg:1.25em;--glsr-review-star:1.25em;--glsr-review-verified:var(--glsr-green);--glsr-tag-label-weight:600;--glsr-bar-bg:var(--glsr-yellow);--glsr-bar-leading:1.5;--glsr-bar-opacity:0.1;--glsr-max-w:48ch;--glsr-summary-star:1.5em;--glsr-summary-text:var(--glsr-text-sm);--glsr-choice-h:1.125em;--glsr-choice-w:1.125em;--glsr-description-text:var(--glsr-text-sm);--glsr-form-error:var(--glsr-red);--glsr-form-star:2em;--glsr-form-success:var(--glsr-green);--glsr-input-b:1px solid var(--glsr-gray-400);--glsr-input-bg:var(--glsr-white);--glsr-input-color:var(--glsr-gray-900);--glsr-input-px:0.75em;--glsr-input-py:0.5em;--glsr-input-radius:3px;--glsr-input-transition:border-color var(--glsr-duration-fast) ease-in-out;--glsr-label-text:var(--glsr-text-sm);--glsr-label-weight:600;--glsr-range-size:1.75em;--glsr-toggle-bg-0:currentColor;--glsr-toggle-bg-1:currentColor;--glsr-toggle-color:var(--glsr-white);--glsr-toggle-h:1.25em;--glsr-toggle-opacity-0:0.2;--glsr-toggle-opacity-1:1;--glsr-toggle-p:.15em;--glsr-toggle-radius:999px;--glsr-toggle-shadow-color:rgba(0,0,0,.1);--glsr-toggle-size:calc(var(--glsr-toggle-h) - var(--glsr-toggle-p)*2);--glsr-toggle-text:1em;--glsr-toggle-w:calc(var(--glsr-toggle-h)*2 - var(--glsr-toggle-p)*2);--glsr-modal-bg:var(--wp--preset--color--base,var(--glsr-white));--glsr-modal-radius:3px;--glsr-modal-padding:1.5em;--glsr-tooltip-border-radius:4px;--glsr-tooltip-font-size:0.875rem;--glsr-tooltip-font-weight:400;--glsr-tooltip-line-height:1;--glsr-tooltip-margin:12px;--glsr-tooltip-padding:.5em 1em;--glsr-tooltip-size:6px}@keyframes gl-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gl-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes gl-spin{0%{transform:rotate(0deg) translateZ(0)}to{transform:rotate(1turn) translateZ(0)}}@keyframes gl-zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes gl-zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}.glsr *+*{box-sizing:border-box}.glsr,.glsr-modal{border-width:0;font-size:var(--glsr-text-base)}.glsr .screen-reader-text,.glsr-modal .screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.glsr-captcha-holder iframe{margin:0!important}.glsr-captcha-holder[data-size=invisible]:not([data-badge=inline]){bottom:0;position:absolute}.glsr-captcha-holder>div:not([data-type=procaptcha]){display:flex}.glsr-fade-out{opacity:0!important;transition:visibility 0s cubic-bezier(0,0,.2,1) var(--glsr-duration-slow),opacity var(--glsr-duration-slow)!important;visibility:hidden!important}.glsr-reviews,.glsr-reviews-wrap{grid-gap:var(--glsr-gap-xl);display:grid;gap:var(--glsr-gap-xl)}.glsr-default .glsr-loading,.glsr-default form.glsr-form .glsr-loading{display:inline-flex;flex-grow:0;flex-shrink:0;height:1em;position:relative;width:1em}.glsr-default .glsr-loading:not(.does-not-exist):not(does-not-exist):after,.glsr-default .glsr-loading:not(.does-not-exist):not(does-not-exist):before,.glsr-default form.glsr-form .glsr-loading:after,.glsr-default form.glsr-form .glsr-loading:before{animation:gl-spin .5s linear infinite;border:.2em solid;border-radius:100%;box-sizing:border-box;content:"";display:block;height:100%;left:0;margin:0;position:absolute;top:0;width:100%}.glsr-default .glsr-loading:not(.does-not-exist):not(does-not-exist):before,.glsr-default form.glsr-form .glsr-loading:before{border-top-color:transparent;opacity:.5}.glsr-default .glsr-loading:not(.does-not-exist):not(does-not-exist):after,.glsr-default form.glsr-form .glsr-loading:after{border-color:currentColor transparent transparent}.glsr-default .glsr-spinner{animation:gl-spin .5s linear infinite;border-radius:50%;height:24px;position:relative;width:24px}.glsr-default .glsr-spinner:after,.glsr-default .glsr-spinner:before{background:currentColor;border-radius:50%;content:"";height:8px;position:absolute;width:8px}.glsr-default .glsr-spinner:before{left:0;top:0}.glsr-default .glsr-spinner:after{bottom:0;right:0}.glsr-default .glsr-pagination{position:relative}.glsr-default .glsr-pagination:not(.glsr-ajax-loadmore){align-items:center;display:flex;justify-content:center}.glsr-default .glsr-pagination .glsr-spinner{position:absolute}.glsr-default .glsr-pagination .pagination{flex-basis:100%;margin-bottom:0;margin-top:0;opacity:1;transition:opacity var(--glsr-duration-slow)}.glsr-default.glsr-hide .glsr-pagination .pagination{opacity:0!important}.glsr-star-rating{align-items:center;display:flex;position:relative}.glsr-stars{justify-content:center}.glsr-star{background-size:var(--glsr-review-star);flex-shrink:0;font-size:inherit;height:var(--glsr-review-star);width:var(--glsr-review-star)}.glsr-summary .glsr-star{background-size:var(--glsr-summary-star);height:var(--glsr-summary-star);width:var(--glsr-summary-star)}.glsr-star-empty{background-image:var(--glsr-star-empty)}.glsr-star-full{background-image:var(--glsr-star-full)}.glsr-star-half{background-image:var(--glsr-star-half)}.glsr-review{quotes:"“" "”";word-break:break-word}.glsr-review,.glsr-reviews>p{opacity:1;transition:opacity .5s}.glsr-hide .glsr-review,.glsr-hide .glsr-reviews>p{opacity:0!important}.glsr-review p:first-of-type{margin-top:0!important}.glsr-review [data-expanded=false] p.glsr-hidden-text,.glsr-review p:last-of-type{margin-bottom:0!important}.glsr-review-date{white-space:nowrap}.glsr-review-rating{align-items:center;display:inline-flex;gap:.5em;justify-content:center}.glsr-review-response{padding:var(--glsr-py) var(--glsr-px);position:relative;width:100%}.glsr-review-response:before{border-bottom:calc(var(--glsr-text-md)*1.5) solid;border-left:0 solid transparent;border-right:calc(var(--glsr-text-md)*2) solid transparent;border-top:0 solid;content:"";height:0;opacity:.1;position:absolute;right:calc(var(--glsr-text-md)*1.5);top:calc((var(--glsr-text-md)*1.5)*-1);top:calc(var(--glsr-text-md)*1.5*-1);width:0}.glsr-review-response:after{background-color:currentColor;border-radius:var(--glsr-radius);content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.glsr-rtl .glsr-review-response:before{border-left-width:calc(var(--glsr-text-md)*2);border-right-width:0;left:calc(var(--glsr-text-md)*1.5);right:auto}.glsr-review-response-inner{position:relative;z-index:1}.glsr-default .glsr-review{display:flex;flex-wrap:wrap;gap:var(--glsr-gap-md)}.glsr-default .glsr-review p{margin-bottom:var(--glsr-text-md);margin-top:0;padding:0}.glsr-default .glsr-tag-label{font-weight:var(--glsr-tag-label-weight)}.glsr-default .glsr-review-assigned_links,.glsr-default .glsr-review-assigned_posts,.glsr-default .glsr-review-assigned_terms,.glsr-default .glsr-review-assigned_users{width:100%}.glsr-default .glsr-review-author{align-items:center;display:inline-flex;gap:.5em}.glsr-default .glsr-review-avatar{flex:0 0}.glsr-default .glsr-review-avatar img{border-width:0;display:flex;margin:0;max-height:none;max-width:none;-o-object-fit:cover;object-fit:cover}.glsr-default .glsr-review-content{width:100%}.glsr-default .glsr-review-date{align-items:center;display:inline-flex;flex:1 0;font-style:italic;white-space:nowrap}.glsr-default .glsr-review-rating{align-items:center;display:inline-flex;flex-shrink:0;gap:.5em}.glsr-default .glsr-review-response,.glsr-default .glsr-review-title{width:100%}.glsr-default .glsr-review-title h3,.glsr-default .glsr-review-title h4,.glsr-default .glsr-review-title h5{margin-bottom:0;margin-top:0}.glsr-default .glsr-review-verified{align-items:center;color:var(--glsr-review-verified);display:flex;font-size:var(--glsr-text-sm);gap:.25em}.glsr-default .glsr-read-more{white-space:nowrap}.glsr-default .glsr-read-more:before{content:"";margin-left:0;margin-right:.5em}.glsr-default.glsr-rtl .glsr-read-more:before{margin-left:.5em;margin-right:0}.glsr-default [data-expanded=false] .glsr-read-more:before{content:"\2026"}.glsr-default [data-expanded=false] .glsr-hidden{display:none}.glsr-summary{align-items:center;display:flex;flex-wrap:wrap;gap:var(--glsr-gap-sm);max-width:var(--glsr-max-w);position:relative;width:100%}.glsr-summary-rating{font-size:var(--glsr-text-lg);font-weight:700;line-height:1}.glsr-summary-stars,.glsr-summary-text{font-size:var(--glsr-summary-text)}.glsr-summary-text{flex:1 1 100%}.glsr-summary-percentages{position:relative;width:100%}.glsr-summary .glsr-bar{display:table-row;white-space:nowrap}.glsr-summary .glsr-bar>span{display:table-cell;line-height:var(--glsr-bar-leading);vertical-align:middle}.glsr-summary .glsr-bar-label{font-size:var(--glsr-summary-text);padding-left:0;padding-right:var(--glsr-gap-sm)}.glsr-rtl .glsr-summary .glsr-bar-label{padding-left:var(--glsr-gap-sm);padding-right:0}.glsr-summary .glsr-bar-background{position:relative;width:100%}.glsr-summary .glsr-bar-background:before{background-color:currentColor;content:"";display:block;height:var(--glsr-text-md);margin-top:calc(var(--glsr-text-md)/2*-1);opacity:var(--glsr-bar-opacity);position:absolute;top:50%;width:100%}.glsr-summary .glsr-bar-background-percent{background-color:currentColor;color:var(--glsr-bar-bg);display:block;height:var(--glsr-text-md);position:relative}.glsr-summary .glsr-bar-percent{font-size:var(--glsr-summary-text);padding-left:var(--glsr-gap-sm);padding-right:0;text-align:right}.glsr-rtl .glsr-summary .glsr-bar-percent{padding-left:0;padding-right:var(--glsr-gap-sm);text-align:left}.glsr-default form.glsr-hide-form{max-height:0!important;opacity:0;overflow:hidden}.glsr-default form.glsr-form{grid-row-gap:var(--glsr-gap-md);display:grid;grid-template-columns:repeat(1,minmax(0,1fr));position:relative;row-gap:var(--glsr-gap-md)}.glsr-default .glsr-field{position:relative}.glsr-default .glsr-field.glsr-hidden,.glsr-default .glsr-field:not(.glsr-field-is-invalid) .glsr-field-error,.glsr-default .glsr-form-message:not(.glsr-form-failed):not(.glsr-form-success){display:none}.glsr-default .glsr-field-error{color:var(--glsr-form-error);font-size:var(--glsr-text-sm)}.glsr-default .glsr-form-failed{color:var(--glsr-form-error)}.glsr-default .glsr-form-success{color:var(--glsr-form-success)}.glsr-default .glsr-is-invalid{border-color:var(--glsr-form-error)!important}.glsr-default form.glsr-form label.glsr-label{display:block;float:none;-webkit-hyphens:none;hyphens:none;margin:0}.glsr-default form.glsr-form .glsr-description{display:block;font-weight:normal;text-transform:none}.glsr-default form.glsr-form input.glsr-input:not(.wp-block-search__input),.glsr-default form.glsr-form select.glsr-select,.glsr-default form.glsr-form textarea.glsr-textarea{box-sizing:border-box;display:block;float:none;margin:0;max-height:none;max-width:none;min-height:auto;min-width:auto;width:100%}.glsr-default form.glsr-form textarea.glsr-textarea{resize:vertical}.glsr-default form.glsr-form .glsr-field-checkbox,.glsr-default form.glsr-form .glsr-field-radio{display:flex}.glsr-default form.glsr-form .glsr-field-checkbox label,.glsr-default form.glsr-form .glsr-field-radio label{align-items:flex-start;-moz-column-gap:var(--glsr-gap-sm);column-gap:var(--glsr-gap-sm);display:inline-flex;margin:0}.glsr-default form.glsr-form .glsr-field-checkbox span:first-of-type,.glsr-default form.glsr-form .glsr-field-radio span:first-of-type{align-items:center;display:flex}.glsr-default form.glsr-form input.glsr-input-radio[type=radio],.glsr-default form.glsr-form input.glsr-input-range[type=radio],.glsr-default form.glsr-form input[type=checkbox].glsr-input-checkbox{box-sizing:border-box;display:inline-block;flex-shrink:0;left:0;margin:0;outline:none;padding:0;top:0;vertical-align:middle}.glsr-default form.glsr-form .glsr-field-toggle{display:flex}.glsr-default form.glsr-form .glsr-toggle{align-items:flex-start;-moz-column-gap:var(--glsr-gap-sm);column-gap:var(--glsr-gap-sm);display:inline-flex;flex-direction:row-reverse}.glsr-default form.glsr-form .glsr-toggle label{display:block;margin:0}.glsr-default form.glsr-form .glsr-toggle .glsr-toggle-switch{align-items:center;display:flex;flex-shrink:0;font-size:var(--glsr-toggle-text);position:relative;width:var(--glsr-toggle-w)}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border-color:transparent!important;border-radius:var(--glsr-toggle-radius);border-width:1px;box-shadow:none;box-sizing:border-box;cursor:pointer;display:block;font-size:inherit;height:var(--glsr-toggle-h);left:auto;margin:0!important;overflow:hidden;padding:0!important;position:absolute;top:auto!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--glsr-toggle-w);z-index:0}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]:after,.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]:before{box-sizing:border-box;display:none}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]+.glsr-toggle-track{border-radius:var(--glsr-toggle-radius);box-sizing:border-box;height:var(--glsr-toggle-h);padding:var(--glsr-toggle-p);pointer-events:none;position:absolute;width:var(--glsr-toggle-w)}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]+.glsr-toggle-track:before{background-color:var(--glsr-toggle-bg-0);border-radius:var(--glsr-toggle-radius);box-sizing:border-box;content:"";display:block;height:100%;left:0;opacity:var(--glsr-toggle-opacity-0);position:absolute;top:0;transition:background-color var(--glsr-duration-fast) ease-in-out,opacity var(--glsr-duration-fast) ease-in-out;width:100%}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]+.glsr-toggle-track:after{background-color:var(--glsr-toggle-color);border-radius:calc(var(--glsr-toggle-radius) - var(--glsr-toggle-p));box-shadow:0 calc(var(--glsr-toggle-h)*.05) calc(var(--glsr-toggle-h)*.1) var(--glsr-toggle-shadow-color),0 calc(var(--glsr-toggle-h)*.05) calc(var(--glsr-toggle-h)*.15) var(--glsr-toggle-shadow-color);box-sizing:border-box;content:"";display:block;height:var(--glsr-toggle-size);pointer-events:none;position:relative;transition:transform var(--glsr-duration-fast) ease-in-out;width:var(--glsr-toggle-size);z-index:1}.glsr-default form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:before{background-color:var(--glsr-toggle-bg-1);opacity:var(--glsr-toggle-opacity-1);transition:background-color var(--glsr-duration-fast) ease-in-out,opacity var(--glsr-duration-fast) ease-in-out}.glsr-default form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(var(--glsr-toggle-size))}.glsr-default.glsr-rtl form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(calc(var(--glsr-toggle-size)*-1))}.glsr-default form.glsr-form .glsr-range-labels{display:grid;font-size:var(--glsr-text-sm);grid-template-columns:repeat(auto-fit,minmax(50px,1fr));line-height:1.5;text-align:center}.glsr-default form.glsr-form .glsr-range-labels :first-child{text-align:left}.glsr-default form.glsr-form .glsr-range-labels :last-child{text-align:right}.glsr-default form.glsr-form .glsr-range-options{align-items:center;display:flex;font-size:var(--glsr-text-base);gap:var(--glsr-gap-lg);justify-content:space-between;margin-bottom:calc(var(--glsr-text-sm)*1.5);padding-bottom:var(--glsr-gap-xs);padding-top:var(--glsr-gap-xs);position:relative}.glsr-default form.glsr-form .glsr-range-options:before{background-color:var(--glsr-gray-400);content:"";display:block;height:1px;position:absolute;width:100%}.glsr-default form.glsr-form .glsr-range-options:has(.glsr-is-invalid):before{background-color:var(--glsr-form-error)}.glsr-default form.glsr-form .glsr-field-range{display:flex;z-index:1}.glsr-default form.glsr-form .glsr-range-options input[type=radio].glsr-input-range{flex-shrink:0;height:var(--glsr-range-size);width:var(--glsr-range-size)}.glsr-default form.glsr-form .glsr-range-options label{display:none}.glsr-default form.glsr-form .glsr-range-options input[type=radio]:checked+label{display:flex;font-size:var(--glsr-text-sm);left:0;line-height:1.5;position:absolute;top:100%}.glsr-default form.glsr-form .glsr-range-options:not(:has(input[type=radio]:checked)):after{content:attr(data-placeholder);display:flex;font-size:var(--glsr-text-sm);left:0;line-height:1.5;position:absolute;top:100%}form.glsr-form .glsr-star-rating:not([data-star-rating]) .glsr-star-rating--stars{display:none!important}form.glsr-form .glsr-star-rating>select{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px!important;margin:0!important;opacity:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}form.glsr-form .glsr-star-rating>select:after,form.glsr-form .glsr-star-rating>select:before{display:none!important}form.glsr-form .glsr-star-rating>select:focus+.glsr-star-rating--stars:before{box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;box-shadow:0 0 0 3px Highlight;content:"";display:block;height:100%;outline:1px solid transparent;pointer-events:none;position:absolute;width:100%}form.glsr-form .glsr-star-rating--ltr>select{left:0!important}form.glsr-form .glsr-star-rating--rtl>select{right:0!important}form.glsr-form .glsr-star-rating--stars{align-items:center;cursor:pointer;display:flex;position:relative}form.glsr-form select[disabled]+.glsr-star-rating--stars{cursor:default}form.glsr-form .glsr-star-rating--stars>span{display:flex;height:var(--glsr-form-star);margin:0;width:var(--glsr-form-star)}form.glsr-form .glsr-star-rating--stars[class*=" s"]>span{background-image:var(--glsr-star-empty);background-position:50%;background-repeat:no-repeat;background-size:contain}form.glsr-form .glsr-field-is-invalid .glsr-star-rating--stars[class*=" s"]>span{background-image:var(--glsr-star-error)}form.glsr-form .glsr-star-rating--stars[class*=" s"]>span.gl-active,form.glsr-form .glsr-star-rating--stars[class*=" s"]>span.gl-active.gl-selected{background-image:var(--glsr-star-full)}form.glsr-form .glsr-has-rating-labels .glsr-star-rating--stars[aria-label]{margin-bottom:calc(var(--glsr-text-sm)*1.5);padding-bottom:var(--glsr-gap-xs)}form.glsr-form .glsr-has-rating-labels .glsr-star-rating--stars[aria-label]:after{content:attr(aria-label);display:flex;font-size:var(--glsr-text-sm);left:0;line-height:1.5;position:absolute;top:100%}.glsr-default button.glsr-button{align-items:center!important;cursor:pointer;display:inline-flex!important;white-space:nowrap}.glsr-default button.glsr-button:not(.wp-block-search__button){margin:0}.glsr-default button.glsr-button[aria-busy=true]{gap:var(--glsr-gap-sm)}.glsr-default .wp-block-button{margin:0}.glsr-modal{display:none;font-size:var(--glsr-text-base);line-height:var(--glsr-leading);pointer-events:none;position:fixed;z-index:-1}.glsr-modal.is-open{display:block;pointer-events:auto;z-index:99999}.glsr-modal__overlay{align-items:center;background:rgba(0,0,0,.6);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw}.glsr-modal__dialog{background-color:var(--glsr-modal-bg);border-radius:var(--glsr-modal-radius);box-shadow:0 1px 2px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.07),0 4px 8px rgba(0,0,0,.07),0 8px 16px rgba(0,0,0,.07),0 16px 32px rgba(0,0,0,.07),0 32px 64px rgba(0,0,0,.07);box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100vh - 2em);max-width:700px;min-height:150px;min-width:320px;overflow:hidden;position:relative;width:calc(100vw - 2em);will-change:transform}.glsr-modal-small .glsr-modal__dialog{min-height:auto;width:480px}[aria-hidden=false] .glsr-modal__dialog{animation:gl-zoomIn var(--glsr-duration-slow) cubic-bezier(0,0,.2,1)}[aria-hidden=true] .glsr-modal__dialog{animation:gl-zoomOut var(--glsr-duration-fast) cubic-bezier(0,0,.2,1)}.glsr-modal__header{font-weight:600}.glsr-modal__footer,.glsr-modal__header{align-items:center;box-shadow:0 0 1px 0 color-mix(in srgb,currentColor 10%,transparent),0 0 1em 0 rgba(0,0,0,.1);display:flex;flex-shrink:0;gap:var(--glsr-gap-md);padding:0 var(--glsr-modal-padding);position:relative;z-index:1}.glsr-modal__footer>div,.glsr-modal__header>div{align-items:center;display:flex;flex:1;gap:var(--glsr-gap-md);padding:.75em 0}.glsr-modal__content{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:var(--glsr-modal-padding);position:relative}.glsr-modal button.glsr-modal__close,.glsr-modal button.glsr-modal__close:focus,.glsr-modal button.glsr-modal__close:hover{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent!important;border:0;box-shadow:none;color:currentColor!important;cursor:pointer;display:flex;font-size:1em;height:1.5em;justify-content:center;line-height:1;margin:.75em 1em;outline-offset:0;padding:0;position:absolute;right:0;top:0;transform:scale(1);transition:transform var(--glsr-duration-fast) ease-in;width:1.5em;z-index:10}.glsr-modal button.glsr-modal__close:hover{transform:scale(1.1)}.glsr-modal button.glsr-modal__close:before{all:revert;content:"\2715";font-family:arial;font-size:1.5em;font-weight:700;line-height:1}.glsr-modal button.glsr-modal__close:after,.glsr-modal[aria-hidden=true] .glsr-modal__close{display:none!important}.glsr-modal .glsr-modal__overlay{animation-timing-function:cubic-bezier(0,0,.2,1)}.glsr-modal[aria-hidden=false] .glsr-modal__overlay{animation-duration:var(--glsr-duration-slow);animation-name:gl-fadeIn}.glsr-modal[aria-hidden=true] .glsr-modal__overlay{animation-duration:var(--glsr-duration-fast);animation-name:gl-fadeOut}.glsr-modal-error .glsr-modal__content,.glsr-modal-success .glsr-modal__content{display:flex;gap:var(--glsr-gap-md)}.glsr-modal-error .glsr-modal__content:before,.glsr-modal-success .glsr-modal__content:before{content:"";display:block;flex-shrink:0;height:2em;margin-top:-.25em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.75;width:2em}.glsr-modal-error .glsr-modal__content:before{background-color:var(--glsr-red);-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm1.13 9.38.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z'/%3E%3C/svg%3E");mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm1.13 9.38.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z'/%3E%3C/svg%3E")}.glsr-modal-success .glsr-modal__content:before{background-color:var(--glsr-green);-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2a8 8 0 1 0 0 16 8 8 0 1 0 0-16zm-.615 12.66h-1.34l-3.24-4.54 1.341-1.25 2.569 2.4 5.141-5.931 1.34.94-5.811 8.381z'/%3E%3C/svg%3E");mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2a8 8 0 1 0 0 16 8 8 0 1 0 0-16zm-.615 12.66h-1.34l-3.24-4.54 1.341-1.25 2.569 2.4 5.141-5.931 1.34.94-5.811 8.381z'/%3E%3C/svg%3E")}#glsr-modal-review .glsr-read-more{display:none!important}#glsr-modal-verified .glsr-modal__footer{box-shadow:inset 0 .5px 0 var(--glsr-review-verified);color:var(--glsr-review-verified)}#glsr-modal-verified .glsr-modal__footer:after{background:currentColor;content:"";height:100%;left:0;opacity:.125;position:absolute;top:0;width:100%;z-index:-1}.glsr-debug{position:relative}.glsr-debug:before{background-color:currentColor;content:"";height:100%;left:0;opacity:.15;overflow:hidden;position:absolute;top:0;width:100%}.glsr-debug pre{font-family:"Fira Code",Consolas,Monaco,monospace;font-size:12px;line-height:1.25;padding:10px;position:relative;z-index:1}.glsr-default{--glsr-toggle-bg-1:var(--glsr-blue)}.glsr-default form.glsr-form{font-size:var(--glsr-text-md);line-height:var(--glsr-leading)}.glsr-default form.glsr-form label.glsr-label{font-size:var(--glsr-label-text);font-weight:var(--glsr-label-weight);line-height:var(--glsr-leading);margin-bottom:var(--glsr-gap-xs);padding:0}.glsr-default form.glsr-form .glsr-label+.glsr-description{margin-bottom:var(--glsr-gap-xs)}.glsr-default form.glsr-form .glsr-description{font-size:var(--glsr-description-text);opacity:.75}.glsr-default form.glsr-form input.glsr-input,.glsr-default form.glsr-form select.glsr-select,.glsr-default form.glsr-form textarea.glsr-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:var(--glsr-input-bg);border:var(--glsr-input-b);border-radius:var(--glsr-input-radius);color:var(--glsr-input-color);font-family:inherit;font-size:var(--glsr-text-md);line-height:var(--glsr-leading);min-height:auto!important;padding:var(--glsr-input-py) var(--glsr-input-px)!important;transition:var(--glsr-input-transition)}.glsr-default form.glsr-form input.glsr-input:focus,.glsr-default form.glsr-form select.glsr-select:focus,.glsr-default form.glsr-form textarea.glsr-textarea:focus{background-color:var(--glsr-input-bg);box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;box-shadow:0 0 0 3px Highlight;outline:1px solid transparent}.glsr-default form.glsr-form select.glsr-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m7 7 3-3 3 3m0 6-3 3-3-3' stroke='%239fa6b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5em center;background-repeat:no-repeat;background-size:1.5em 1.5em;height:auto;padding-right:3em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.glsr-default form.glsr-form input.glsr-input-radio[type=radio],.glsr-default form.glsr-form input.glsr-input-range[type=radio],.glsr-default form.glsr-form input[type=checkbox].glsr-input-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--glsr-white);background-origin:border-box;border:1px solid var(--glsr-gray-400);color:var(--glsr-blue);font-size:var(--glsr-text-md);height:var(--glsr-choice-h);min-height:auto;min-width:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--glsr-choice-w)}.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:after,.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:before,.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:after,.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:before,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:after,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:before{display:none!important}.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:checked,.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:checked,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:focus,.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:focus,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:focus{box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;box-shadow:0 0 0 3px Highlight;outline:1px solid transparent}.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:checked:focus,.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:checked:focus,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:checked:focus{border-color:transparent}.glsr-default form.glsr-form input[type=checkbox].glsr-input-checkbox{border-radius:var(--glsr-input-radius)}.glsr-default form.glsr-form input.glsr-input-checkbox[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E")}.glsr-default form.glsr-form input.glsr-input-radio[type=radio],.glsr-default form.glsr-form input.glsr-input-range[type=radio]{border-radius:100%}.glsr-default form.glsr-form input.glsr-input-radio[type=radio]:checked,.glsr-default form.glsr-form input.glsr-input-range[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}.glsr-default form.glsr-form .glsr-toggle label{font-size:var(--glsr-text-md);line-height:var(--glsr-leading);padding:0}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]:focus{outline:none}.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]:focus+.glsr-toggle-track{box-shadow:0 0 0 3px Highlight;box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;outline:1px solid transparent}.glsr-default form.glsr-form .glsr-field-error{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:var(--glsr-leading)}.theme-twentytwentytwo .glsr-default .glsr-button{border:none}.theme-twentytwentytwo .glsr-default .glsr-button:hover{color:var(--glsr-white)}

:root{--glsr-star-empty:url(https://valboosting.com/wp-content/plugins/site-reviews/assets/images/stars/default/star-empty.svg);--glsr-star-error:url(https://valboosting.com/wp-content/plugins/site-reviews/assets/images/stars/default/star-error.svg);--glsr-star-full:url(https://valboosting.com/wp-content/plugins/site-reviews/assets/images/stars/default/star-full.svg);--glsr-star-half:url(https://valboosting.com/wp-content/plugins/site-reviews/assets/images/stars/default/star-half.svg)}

/*# sourceURL=site-reviews-inline-css */
.wpa-box{
	padding: 6px 9px;
	margin: 0 auto 25px;
	display: block;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.wpa-error{
	background: #ffebe8;
	border: 1px solid #C00;
}
.wpa-success{
	background: #e7f7d3;
	border: 1px solid #6c3;
}
.wpa-alert{
	background: #fffbbc;
	border: 1px solid #E6DB55;
}
/* Last paragraph, no bottom margin */
.wpa-box p:last-child {
	margin-bottom: 0 !important;
}

/* We need all these styles to counteract various theme dependent styles that can mess with the alignment, colors, etc. */
#user_email_username{
	box-sizing: border-box;
	height: 32px;

	width: 60%;
	margin-bottom: 10px;
	vertical-align: top;
	font-size: 14px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 2px;
	color: #2b2b2b;
	padding: 9px 10px 8px;
	line-height: 0.9em;
	display: inline-block;
}
#wpa-submit{
	box-sizing: border-box;
	height: 32px;

	width:25%;
	max-width: 100px;
	font-size: 14px;
	background-color: #333;
	background-image: none;
	border: 0 none;
	border-radius: 2px !important;
	color: #fff !important;
	font-weight: normal;
	padding: 9px 2px 9px 2px;
	text-transform: uppercase;
	vertical-align: top;
	box-shadow: none;
	text-shadow: none;
	line-height: 1em;
	display: inline-block;
}

#bt-cb {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(calc(100% + 40px));
  z-index: 99999;
  width: calc(100% - 32px);
  max-width: 720px;
  background: #071535;
  border: 1px solid #0d4494;
  border-top: 3px solid #fdfb62;
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.45);
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Arial, sans-serif;
  transition: transform 0.4s cubic-bezier(0.34, 1.3, 0.64, 1), opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
#bt-cb.bt-cb-show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.bt-cb-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 22px;
  flex-wrap: wrap;
}
.bt-cb-left {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.bt-cb-icon {
  flex-shrink: 0;
  margin-top: 1px;
  width: 34px;
  height: 34px;
  background: rgba(253,251,98,0.1);
  border: 1px solid rgba(253,251,98,0.25);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bt-cb-text {}
.bt-cb-title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}
.bt-cb-desc {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,0.58);
  line-height: 1.55;
}
.bt-cb-desc a {
  color: #fdfb62;
  text-decoration: none;
}
.bt-cb-desc a:hover { text-decoration: underline; }
.bt-cb-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  align-items: center;
}
#bt-cb-accept {
  background: #fdfb62;
  color: #071535;
  border: none;
  border-bottom: 2px solid #c8c600;
  border-radius: 4px;
  padding: 10px 22px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
  white-space: nowrap;
  font-family: inherit;
}
#bt-cb-accept:hover  { background: #f5f300; transform: translateY(-1px); }
#bt-cb-accept:active { transform: translateY(0); }
#bt-cb-decline {
  background: transparent;
  color: rgba(255,255,255,0.5);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
  font-family: inherit;
}
#bt-cb-decline:hover  { color: rgba(255,255,255,0.85); border-color: rgba(255,255,255,0.35); }
@media (max-width: 600px) {
  .bt-cb-inner   { padding: 14px 16px; gap: 14px; }
  .bt-cb-icon    { display: none; }
  .bt-cb-actions { width: 100%; }
  #bt-cb-accept, #bt-cb-decline { flex: 1; text-align: center; }
}
