
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;
  }
}@media(min-width:768px) and (min-width:1600px) {
	.booster_packege_tabs ul li {
    padding: 25px 4px;
    width: 15.9%;
	}
}

@media(max-width:765px) {
	.eo-fav-champs-line-block img {
    width: 50px;
    height: 50px;
}
	.record__content {
    width: 100%;
    border-radius: 48px;
    background: var(--3, #EB5C29);
    max-width: 100%;
    padding: 25px;
    margin-right: 4%;
	}

	section.service__section {
    padding: 0px;
    margin: 40px 0px;
	}
}

.banner-img img {
    width: auto;
}

.eo-fav-line-block {
    width: 24.9%;
	border-right: 1px solid #ebebeb;
}

.team-logo img {
    vertical-align: middle;
    height: 160px;
    width: 160px;
    margin: 20px auto;
    padding: 0 0 0 0px;
}

.team__battle .team-logo {
    height: 170px;
    width: 210px;
}

.team__battle {
    width: auto;
}

.order-target-arrows span {
    margin: -13px;
}

.banner-page-img img {
    display: none;
    float: right;
    padding-bottom: 40px;
    height: 295px;
}

@media only screen and (max-width: 1930px) {
    .col-product:nth-child(odd) {
    width: 45.6vw;
    margin-top: 0.2vw;
}

    .col-product:nth-child(even) {
    width: 42vw;
}
}

.booster_packege_tabs>ul>li:before {
    content: '';
    position: absolute;
    width: 0px;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
}

.tier-name {
    padding: 10px 0;
}

#server_rate, #platform_rate {
    padding: 10px 0;
}

.ui-widget.ui-widget-content {
    margin: 15px 0;
}

.product-desc {
    text-shadow: 1px 1px 1px #505050;
}

.product-name {
    font: 2vw "League";
    margin-bottom: 10px;
    text-shadow: 1px 2px 2px #4c4c4c;
}

@media only screen and (max-width: 1930px) {
.product-desc {
    font-size: 23px;
}
}

.product-text {
    top: 52%;
}

.current-img-league-boost, .tier-img, .current-img {
    animation: none;
}

#foxLeagueL {
    display: none;
}

.container_leftImg {
    width: auto;
    height: auto;
    margin: 20px 0 40px;
}

.product-calc-item {
    margin-bottom: 1rem;
}

/* Per-win / per-game: align the top row (rank tier + wins ring) columns
   with the bottom row (LP card + server card) which uses 41% width.
   .bcc-single's content-driven `width: auto` would let the wide rank
   tier SVG and the ring wind up at different widths — pushing their
   centers off the 25%/75% line that the LP/Server cards below sit on.
   Forcing 41% on the top row too keeps every card's center aligned. */
.product-type-val_per_win .placement_match_box > .product-calc-item,
.product-type-val_per_game .placement_match_box > .product-calc-item,
.product-type-val_coaching .placement_match_box > .product-calc-item {
    width: 41%;
    flex: 0 0 41%;
    max-width: 41%;
}

@media only screen and (max-width:959px) {

.product-calc-item {
    margin-bottom: 2rem;
}

/* Stack columns on mobile (override the desktop 41% top-row rule). */
.product-type-val_per_win .placement_match_box > .product-calc-item,
.product-type-val_per_game .placement_match_box > .product-calc-item,
.product-type-val_coaching .placement_match_box > .product-calc-item {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.serverselect {
    margin-bottom: 2rem;
}

}

/* === Valorant Coaching: Coaching Focus chip styling =======================
   Mirror of the LoL coaching chip styling in eloboostleague/ebl-main.css.
   The Coaching Focus card uses .cv-group radio buttons rendered inside a
   bottom-row card. boosting/main.css ships heavy legacy styles for that
   widget (avenirnextcyr-bold, font-weight 900, .box > span { width: 75%;
   padding-right: 5px }, .box { text-align: right; box-shadow: 0 0 5px ... })
   that don't fit the new card design — labels overflow the chip and the
   font weight is much heavier than the server region chips next to it.
   Scoped to val_coaching so other product types keep their existing look. */
.product-type-val_coaching .rt-coach-card .cv-group {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
}
.product-type-val_coaching .rt-coach-card .cv-group label {
    width: auto !important;
    margin: 0 !important;
    display: block !important;
}
.product-type-val_coaching .rt-coach-card .cv-group .box {
    height: auto !important;
    min-height: 60px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: #f6fafd !important;
    border: 1.5px solid #e4ecf3 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    padding: 8px 6px !important;
    font-family: 'League', Montserrat, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
    color: #4a5a6e !important;
    text-align: center !important;
    text-transform: none !important;
    transition:
        transform .18s cubic-bezier(.16, 1, .3, 1),
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease !important;
}
.product-type-val_coaching .rt-coach-card .cv-group .box:hover {
    background: rgba(2, 131, 202, .08) !important;
    border-color: #0283ca !important;
    color: #0283ca !important;
    transform: translateY(-2px) scale(1.04) !important;
    box-shadow: 0 6px 16px rgba(2, 131, 202, .18) !important;
}
.product-type-val_coaching .rt-coach-card .cv-group input[type=radio]:checked + .box {
    background: #0283ca !important;
    border-color: #0283ca !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}
.product-type-val_coaching .rt-coach-card .cv-group .box > img:first-child {
    width: 30px !important;
    height: 30px !important;
    flex-shrink: 0 !important;
    filter: invert(50%) sepia(100%) saturate(2000%) hue-rotate(0deg) brightness(100%) contrast(100%) !important;
    transition: filter .18s ease !important;
}
.product-type-val_coaching .rt-coach-card .cv-group input[type=radio]:checked + .box > img:first-child {
    filter: brightness(0) invert(1) !important;
}
.product-type-val_coaching .rt-coach-card .cv-group .box > span:last-child {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    white-space: normal !important;
}
.product-type-val_coaching .rt-coach-card .rt-coach-sub-label {
    font-family: 'League', Montserrat, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    color: #8a98a8 !important;
    margin: 0 0 .5rem !important;
    text-align: left !important;
}
.product-type-val_coaching .rt-coach-card .cv-group-container {
    margin: 0 !important;
}
.product-type-val_coaching .rt-coach-card .cv-group-container + .cv-group-container {
    margin-top: .9rem !important;
}
.product-type-val_coaching .rt-coach-card .cv-header {
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}
@media (max-width: 767px) {
    .product-type-val_coaching .rt-coach-card .cv-group {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.eo-fav-champs-line-block img {
    width: 110px;
    height: 110px;
    filter: invert(59%) sepia(39%) saturate(4744%) hue-rotate(338deg) brightness(100%) contrast(103%);
}

.eo-fav-line-block:nth-child(4) {
    border-right: 0;
}

.category_name {
    font: 22px"League";
    text-transform: uppercase;
    font-weight: normal;
    margin-top: 20px;
}

.eo-fav-champs-line-block {
    width: 180px !important;
    margin: 0 auto;
}

.choosen_text {
    margin: 40px auto;
    font-size: 20px;
}

.booster_champion {
    text-align: center;
    width: 80%;
    max-width: 1000px;
}

.wins-number span {
    color: #0281c8;
    font: bold 332px "AvenirNextCyr-Medium";
    letter-spacing: -15px;
    position: relative;
    left: 0px;
    top: -75px;
    text-align: left;
}

.product-calc-item .amount_of_wins {
    display: flex;
    padding: 30px 40px 0;
    align-items: center;
    width: 100%;
}

.product-calc-item .amount_of_wins_dtl {
    flex: 0;
}

@media only screen and (min-width:1401px){

.page-id-3988 .product-calc-item, .page-id-3989 .product-calc-item, .page-id-3985 .product-calc-item {
    margin-bottom: 0rem;
}
  
}

@media only screen and (max-width: 767px) {
.eo-fav-line-block {
    width: 50%;
	border-right: 0px solid #ebebeb;
}

.product-calc-item .amount_of_wins {
    padding: 5px 10px 0;
}

.product-calc-item .amount_of_wins_dtl {
    padding-top: 0px;
}

.product-calc-item:nth-child(3) .wins-number span {
    color: #0281c8;
    font: bold 250px "AvenirNextCyr-Medium";
    letter-spacing: -15px;
    position: relative;
    left: 0px;
    top: 0px;
    text-align: left;
}

.product-calc-item:nth-child(3) {
margin-bottom:3rem;
}

}

.col-product img {
    filter: brightness(0.7);
}

.banner-img {
    width: 43vw;
}

.banner-text {
    width: 65%;
}

.eo-title-block {
    margin-bottom: 40px;
}

.current-img-league-boost, .tier-img, .current-img {
    height: 230px;
    width: 230px;
}

.arrow-page-down {
    filter: hue-rotate(338deg);
}

.ed_server_values .selector_1 {
    margin-top: 20px;
}

.tier-selector-current, .tier-selector-desired {
    height: auto !important;
    min-height: 380px;
}

.tier-selector-current svg {
    filter: hue-rotate(225deg);
}

.tier-selector-desired svg {
    filter: hue-rotate(45deg);
}

@media only screen and (max-width: 1100px) {
.product-calc-item {
    margin-bottom: 2rem;
}

.tier-selector-current svg {
    display:none;
}

.tier-selector-desired svg {
    display:none;
}

}

.team-logo__cg::before {
    margin: -10px -35px;
}

.home .banner {
    background: none
}


.bbg {
  animation:slide 3s ease-in-out infinite alternate;
  background-image: linear-gradient(290deg, #fff 25%, #004e85fc 25%);
  bottom: 0px;
  left: -5%;
  position: absolute;
  right: 5%;
  top:0;
  z-index: -1;
  overflow: hidden;
  max-width: 109%;
}

.bbg2 {
  animation-direction:alternate-reverse;
  animation-duration: 6s;
  opacity: 0.5;
}

.bbg3 {
  animation-duration: 6s;
  opacity: 0.5;
}

@keyframes slide {
  0% {
    transform: translateX(-5%);
  }
  100% {
    transform: translateX(5%);
  }
}

@media only screen and (min-width: 1530px){
.banner-container {
    max-width: 1800px;
    padding: 0 60px;
    margin: 0 auto;
    height: 53vw;
}
}

@media only screen and (min-width: 1930px){
.banner-container {
    max-width: 1800px;
    padding: 0 60px;
    margin: 0 auto;
    height: 43vw;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}
}

.banner-text h1 {
    margin-top: 0vw;
}

.banner-img img {
    display: block;
    aspect-ratio: auto 710 / 608;
    width: 41vw;
    max-width: 800px;
    filter: drop-shadow(2px 2px 4px black);
}

.banner-img {
    width: 40vw;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MAGNETIC-SNAP PRODUCT MENU (.booster_packege_tabs)
   ───────────────────────────────────────────────────────────────────────────
   Card menu redesign for the WP nav menu on every product page. Mirror of
   the block in eloboostleague/ebl-main.css — same selectors, same values —
   so the magnetic-snap layout renders consistently across all three game
   themes. Per-menu-item background-image rules (where they exist on the
   theme) supply the icon; this block handles positioning and animation.
   If Val menu items don't have per-item icons yet, the orange pane still
   renders cleanly (just no icon graphic inside).
   ═══════════════════════════════════════════════════════════════════════════ */

/* UL container — top padding 0 so the menu card row aligns with the
   top of the YOUR ORDER sidebar card on the right (matches the EBL
   change shipped in PR #190).

   max-width dropped on Val: the menu now stretches to fill the full
   width of .lft-section (the left product column), instead of being
   capped at 1320px and centred — so the cards always reach the right
   edge of the column regardless of viewport width. */
.booster_packege_tabs ul {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 22px !important;
    padding: 0 0 22px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}
.booster_packege_tabs ul::-webkit-scrollbar {
    height: 6px;
}
.booster_packege_tabs ul::-webkit-scrollbar-thumb {
    background: #ff8b00;
    border-radius: 3px;
}

.booster_packege_tabs ul li {
    /* max-width dropped: cards now grow to fill the .lft-section width
       evenly via flex: 1 1 0. min-width still keeps each card readable
       on smaller viewports before the mobile media query kicks in. */
    flex: 1 1 0 !important;
    max-width: none !important;
    min-width: 140px !important;
    width: auto !important;
    height: 90px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
    background: #0364a8 !important;
    list-style: none !important;
    display: block !important;
    box-shadow:
        0 5px 6px rgba(3, 55, 92, 0.28),
        0 6px 18px -4px rgba(3, 55, 92, 0.18) !important;
    opacity: 0;
    transform: translateY(10px);
    animation: bpt-drop 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.05) forwards;
    transition: box-shadow 0.4s ease, transform 0.4s ease !important;
}
.booster_packege_tabs ul li:nth-child(1) { animation-delay: 0.05s; }
.booster_packege_tabs ul li:nth-child(2) { animation-delay: 0.10s; }
.booster_packege_tabs ul li:nth-child(3) { animation-delay: 0.15s; }
.booster_packege_tabs ul li:nth-child(4) { animation-delay: 0.20s; }
.booster_packege_tabs ul li:nth-child(5) { animation-delay: 0.25s; }
.booster_packege_tabs ul li:nth-child(6) { animation-delay: 0.30s; }
.booster_packege_tabs ul li:nth-child(7) { animation-delay: 0.35s; }
@keyframes bpt-drop {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.booster_packege_tabs ul li:hover {
    /* Card stays at rest on hover — Val has no icon pane shipped yet,
       so the spin + seam-glow from the EBL/OWB variation don't apply
       here. Tighter shadow gives a small "armed" cue. */
    box-shadow:
        0 2px 4px rgba(3, 55, 92, 0.35),
        0 6px 14px -3px rgba(3, 55, 92, 0.55) !important;
}
.booster_packege_tabs .current-menu-item,
.booster_packege_tabs .current-menu-ancestor,
.booster_packege_tabs .active_pakage_tab {
    background: #0364a8 !important;
    box-shadow:
        0 2px 4px rgba(3, 55, 92, 0.4),
        0 6px 14px -3px rgba(3, 55, 92, 0.55) !important;
    transform: translateY(0) !important;
}

/* === Orange icon pane TEMPORARILY REMOVED on Val (2026-05) =====================
   The orange ::before chevron pane + ::after shadow band were carrying the
   per-menu-item icons on EBL / OWB. Val doesn't have those icon images
   shipped yet, so the orange pane was rendering as an empty colour block on
   every product page. Restoring the pre-icon "old design" until icon assets
   are ready:

     - ::before  hidden  (was the orange chevron pane)
     - ::after   hidden  (was the dark shadow band behind it)
     - <a> link  inset 0 0 0 0 (full card) and centered, instead of
                 reserving 70px on the right for the icon pane

   When the Val icon set ships, revert this block to the previous version
   in git (see file history before 2026-05-21).
============================================================================ */

.booster_packege_tabs ul li > a {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    /* Old design centers the label across the full card width since there
       is no icon pane on the right anymore. */
    justify-content: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 14px !important;
    z-index: 4 !important;
    color: #fff !important;
    font-family: League, Montserrat, sans-serif !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    /* Spin-pulse: label stays put on hover (no scale, no letter-spacing
       change) — the card lift carries the hover state. No transitions
       needed on the label. */
}

/* Orange icon pane + its shadow band — hidden while icons are unavailable.
   Overriding the parent theme's :last-child rule too so the suppression is
   uniform across every menu item. */
.booster_packege_tabs ul li::before,
.booster_packege_tabs ul li:last-child::before,
.booster_packege_tabs ul li::after {
    display: none !important;
    content: none !important;
}

/* Mobile (≤980px): stack the menu as a 2-per-row wrap instead of a
   horizontal scroller (a horizontal scroll affordance is invisible
   on touch — users can't tell more items exist off-screen).
   Mirrors the EBL changes from PR #188 and #190. */
@media only screen and (max-width: 980px) {
    .booster_packege_tabs ul {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 14px 8px 18px !important;
    }
    .booster_packege_tabs ul li {
        flex: 0 0 calc(50% - 10px) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 78px !important;
    }
    .booster_packege_tabs ul li > a {
        /* Orange icon pane removed (see desktop rules above) — link covers
           the full card and label centres across the whole width. */
        inset: 0 !important;
        /* clamp() so single-word labels fit on one line at 360–767px
           without overflow-wrap: anywhere breaking them per-character
           on devices with slightly wider font metrics. */
        font-size: clamp(13px, 4vw, 18px) !important;
        padding: 0 12px !important;
        line-height: 1.1 !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;
  border-top-color: #ff4655 !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(28.8px, calc((100% - 1584px) / 2 + 28.8px)) !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: 18px !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: 10.8px;
  font-family: 'League', 'Oswald', sans-serif !important;
  font-weight: 700; font-size: 24px; letter-spacing: -0.005em;
  color: #1b1f2a; text-decoration: none; line-height: 1;
}
.eb-nav .nav-brand-mark {
  width: 38px; height: 38px; border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.eb-nav .nav-brand-mark.has-fox {
  background: linear-gradient(135deg, #ff4655 0%, #c0303d 100%);
  box-shadow: 0 4.8px 12px -4.8px rgba(255, 70, 85, 0.45);
  padding: 3px;
}
.eb-nav .nav-brand-mark .brand-mark-fox { width: 30px; height: 30px; object-fit: contain; }
.eb-nav .nav-brand .dot { color: #ff4655; margin: 0 1.2px; }
.eb-nav .nav-brand small {
  display: block;
  font-family: 'Oxanium', sans-serif !important;
  font-size: 9px; font-weight: 500; letter-spacing: 0.1em;
  text-transform: uppercase; color: #8a8578; margin-top: 3px;
}

/* --- Caret + service-switcher dropdown --- */
.eb-nav .nav-brand-caret {
  display: inline-flex; align-items: center; gap: 6px;
  margin-left: 9.6px; padding: 6px 9.6px;
  background: #efebe1; border: 1px solid #e7e1d6; border-radius: 8px; cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.eb-nav .nav-brand-caret .caret-grid { width: 16px; height: 16px; color: #ff4655; }
.eb-nav .nav-brand-caret .caret-chev { width: 13px; height: 13px; 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% + 12px); left: 0; z-index: 120;
  width: 320px; padding: 9px;
  background: #fff; border: 1px solid #e7e1d6; border-radius: 16px;
  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(-9px);
  transition: opacity .2s ease, transform .22s cubic-bezier(.16,1,.3,1), visibility .2s;
}
.eb-nav .brand-dropdown::before { content: ''; position: absolute; top: -16px; left: 0; right: 0; height: 16px; }
.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: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: #8a8578; padding: 8px 12px 6px;
}
.eb-nav .brand-service { display: flex; align-items: center; gap: 13px; padding: 11px 12px; border-radius: 10px; 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: 34px; height: 36px; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0 2.4px 3.6px rgba(8,31,66,.18)); }
.eb-nav .brand-service-text { display: flex; flex-direction: column; gap: 1px; }
.eb-nav .brand-service-text b { font-family: 'League', 'Oswald', sans-serif; font-size: 17px; font-weight: 700; color: #1b1f2a; line-height: 1.1; }
.eb-nav .brand-service-text small { font-family: 'Oxanium', sans-serif; font-size: 10px; letter-spacing: 0.04em; color: #8a8578; }

/* ============================================================
   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.2px; height: 100%; }
.eb-nav .nav-link {
  position: relative;
  display: inline-flex; align-items: center; gap: 7.2px;
  padding: 10.8px 15.6px;
  border: 1.2px solid transparent;
  border-radius: 8.4px;
  background: transparent;
  font-family: 'Barlow', sans-serif;
  font-weight: 600; font-size: 15.6px; 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: 18px; height: 18px; font-size: 15px;
  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.2px; width: 100%; }
.eb-nav .mobile-drawer .nav-link { font-size: 18px; padding: 7.2px 12px 7.2px 7.2px; }

/* --- 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: 43px !important; height: 43px !important;
  border-radius: 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.6px !important; padding: 0 19.2px !important;
  font-family: 'Oxanium', sans-serif !important; font-weight: 600 !important; font-size: 13.2px !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: 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: 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: 8px; padding: 12px 14px; border-top: 1px solid #eef1f4; }
.mobile-drawer .drawer-service {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 10px 6px; border: 1px solid #e7e1d6; border-radius: 10px; text-decoration: none;
  color: #4a5563; font-family: 'Oxanium', sans-serif; font-size: 10.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.mobile-drawer .drawer-service img { width: 28px; height: 28px; 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: 22px !important; }
}
@media (max-width: 1200px) {
  .eb-nav .nav-center, .eb-nav .nav-right { display: none !important; }
  .eb-nav .hamburger { display: flex !important; }
  .eb-nav .nav-brand-caret { display: none !important; } /* cross-site → drawer-services */
  .mobile-drawer { display: flex !important; }
}
@media (max-width: 620px) {
  .eb-nav .nav-brand { font-size: 20px !important; }
  .eb-nav .nav-brand-mark { width: 34px !important; height: 34px !important; }
}

/* ============================================================
   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: 72px 28.8px 36px !important;
}
/* Secure-payments row */
.site-footer .footer-pay {
  max-width: 1584px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 19.2px; flex-wrap: wrap;
  padding: 0 0 26.4px; border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
.site-footer .footer-pay-label {
  font-family: 'Oxanium', sans-serif; font-size: 11.4px;
  letter-spacing: 0.099em; text-transform: uppercase; color: rgba(255,255,255,0.4);
}
.site-footer .pay-chips { display: flex; gap: 9.6px; flex-wrap: wrap; }
.site-footer .pay-chip {
  font-family: 'Oxanium', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: 0.05em; color: rgba(255,255,255,0.75);
  border: 1.2px solid rgba(255,255,255,0.15); border-radius: 2.4px; padding: 6px 12px;
}
/* Brand + columns grid */
.site-footer .footer-grid {
  max-width: 1584px; margin: 0 auto;
  display: grid !important; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 43.2px; padding: 48px 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: 10.8px;
  font-family: 'League', 'Oswald', sans-serif; font-weight: 700; font-size: 22px;
  letter-spacing: -0.005em; color: #fff !important; text-decoration: none; line-height: 1;
  margin-bottom: 16.8px;
}
.site-footer .nav-brand-mark {
  width: 38px; height: 38px; border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.site-footer .nav-brand-mark.has-fox {
  background: linear-gradient(135deg, #ff4655 0%, #c0303d 100%);
  box-shadow: 0 4.8px 12px -4.8px rgba(255,70,85,0.45); padding: 3px;
}
.site-footer .nav-brand-mark .brand-mark-fox { width: 30px; height: 30px; object-fit: contain; }
.site-footer .nav-brand .dot { color: #ff4655; margin: 0 1.2px; }
.site-footer .nav-brand small {
  display: block; font-family: 'Oxanium', sans-serif;
  font-size: 9px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.45); margin-top: 3px;
}
.site-footer .footer-brand p {
  font-size: 15.6px; line-height: 1.7; color: rgba(255,255,255,0.55);
  max-width: 336px; margin: 0 0 21.6px;
}
.site-footer .footer-social { display: flex; gap: 9.6px; }
.site-footer .footer-social a {
  width: 38.4px; height: 38.4px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.2px solid rgba(255,255,255,0.15); border-radius: 3.6px;
  color: rgba(255,255,255,0.7); font-size: 16px;
  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: 12px !important; font-weight: 600 !important;
  letter-spacing: 0.111em !important; text-transform: uppercase !important; color: #ffea3d !important;
  margin: 0 0 19.2px !important;
}
.site-footer .footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10.8px; }
.site-footer .footer-col li { margin: 0; }
.site-footer .footer-col a { font-size: 15.6px !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: 1584px; 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: 26.4px 0 0 !important;
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 19.2px; flex-wrap: wrap;
  font-size: 13.8px; 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: 624px; }
@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; } }
/* ==================================================
   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 / Geist Mono 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, Geist Mono 400/500/600.

   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');  }

@font-face{  font-family: 'Geist Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-400.woff2') format('woff2');  }
@font-face{  font-family: 'Geist Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-500.woff2') format('woff2');  }
@font-face{  font-family: 'Geist Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/geistmono-600.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');  }
/* ==================================================
   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 Mono', ui-monospace, monospace;
}

/* 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(236,93,114,.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(236,93,114,.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 */
.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(236,93,114,.32) !important;
}
.form-login-signup .button:hover {
  background: linear-gradient(135deg, var(--vb-rose-deep), #a82f47) !important;
  box-shadow: 0 6px 20px rgba(236,93,114,.42) !important;
}
.form-login-signup .button:active {
  box-shadow: 0 2px 8px rgba(236,93,114,.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;
}
/* ==================================================
   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.2px;
  --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: 10.8px;
  padding: 15.6px 26.4px; border-radius: 3.6px;
  font-family: var(--font-ui); font-size: 14.4px; 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: 16.8px; height: 16.8px; }
.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.2px); 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.2px); 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.2px); }
.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.2px); }

/* ---- .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.4px);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.vb-rd .panel-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14.4px; padding: 19.2px 24px;
  border-bottom: 1.2px solid var(--line-soft);
  background: var(--bg-soft);
}
.vb-rd .panel-title {
  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-soft); display: inline-flex; align-items: center; gap: 10.8px;
}
.vb-rd .panel-title svg { width: 16.8px; height: 16.8px; 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. */
/* ==================================================
   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: 1232px; margin: 0 auto; padding: 33.6px 28.8px 76.8px; }

/* ===== stepper ===== */
.co-stepper { display: flex; align-items: flex-start; justify-content: center; margin-bottom: 28.8px; }
.co-step-col { display: flex; flex-direction: column; align-items: center; gap: 9.6px; flex-shrink: 0; width: 108px; }
.co-step-dot {
  width: 43.2px; height: 43.2px; 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: 18px;
  background: #fff; border: 1.8px solid var(--line); color: var(--ink-muted);
}
.co-step-dot svg { width: 19.2px; height: 19.2px; 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: 11.4px; 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: 132px; height: 2.4px; background: var(--line); border-radius: 2.4px; margin-top: 21.6px; }
.co-step-line.filled { background: var(--royal); }

/* ===== two-column ===== */
.co-grid { display: grid; grid-template-columns: 1fr 432px; gap: 24px; align-items: start; }
.co-summary { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 19.2px; }

.co-sec { padding: 26.4px; }
.co-sec + .co-sec { border-top: 1.2px solid var(--line-soft); }
.co-sec-title {
  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-soft);
  display: inline-flex; align-items: center; gap: 10.8px; margin-bottom: 19.2px;
}
.co-sec-title svg { width: 16.8px; height: 16.8px; color: var(--accent); }

/* fields */
.co-fields { display: flex; flex-direction: column; gap: 16.8px; }
.co-field { display: flex; flex-direction: column; gap: 8.4px; }
.co-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14.4px; }
.co-label {
  font-family: var(--font-ui); font-size: 11.4px; 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.2px;
}
.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: 15.6px; width: 18px; height: 18px; color: var(--ink-muted); pointer-events: none; }
.co-input {
  width: 100%; height: 51.6px; padding: 0 16.8px 0 45.6px;
  border: 1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft);
  font-family: var(--font-body); font-size: 16.2px; color: var(--ink); outline: none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.co-input.no-ico { padding-left: 16.8px; }
.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: 13.2px; }
.pay-tile {
  position: relative; display: flex; align-items: center; gap: 13.2px;
  padding: 16.8px 18px; border: 1.5px solid var(--line); border-radius: calc(var(--r) + 1.2px);
  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: 43.2px; height: 43.2px; border-radius: 10.8px; 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: 21.6px; height: 21.6px; }
.pt-text { min-width: 0; }
.pt-text b { font-size: 15px; font-weight: 600; color: var(--ink); display: block; }
.pt-text span { font-family: var(--font-ui); font-size: 11.4px; color: var(--ink-muted); }
.pt-check { position: absolute; top: 14.4px; right: 14.4px; width: 21.6px; height: 21.6px; 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: 13.2px; height: 13.2px; 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: 16.8px; padding: 4.8px 0 19.2px; border-bottom: 1.2px solid var(--line-soft); margin-bottom: 16.8px; }
.cj-rank { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cj-rank img { width: 60px; height: 60px; object-fit: contain; }
.cj-t { font-family: var(--font-ui); font-size: 10.2px; 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: 18px; color: var(--ink); }
.cj-rank.target .cj-n { color: var(--royal); }
.cj-arrow { color: var(--ink-muted); }
.cj-arrow svg { width: 24px; height: 24px; }

.li-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9.6px 0; }
.li-k { font-size: 14.4px; color: var(--ink-soft); }
.li-v { font-size: 14.4px; 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: 4.8px; padding-top: 14.4px; }

.co-vip { display: flex; gap: 9.6px; margin: 16.8px 0; }
.co-vip input {
  flex: 1; min-width: 0; height: 46.8px; padding: 0 15.6px; border: 1.2px solid var(--line); border-radius: var(--r);
  background: var(--bg-soft); font-family: var(--font-ui); font-size: 13.2px; 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: 46.8px; padding: 0 19.2px; 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: 12px; 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: 12px; font-weight: 600; color: var(--status); margin: -7.2px 0 9.6px; opacity: 0; transition: opacity 180ms ease; }
.co-vip-msg.show { opacity: 1; }

.co-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16.8px 0 4.8px; border-top: 1.8px solid var(--line); margin-top: 4.8px; }
.co-total .tt-k { 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); }
.co-total .tt-v { font-family: var(--font-display); font-weight: 700; font-size: 38.4px; color: var(--ink); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }

.co-tos { display: flex; align-items: flex-start; gap: 10.8px; margin: 18px 0; cursor: pointer; }
.co-tos input { position: absolute; opacity: 0; width: 0; height: 0; }
.co-tos .box { width: 21.6px; height: 21.6px; border-radius: 6px; border: 1.5px solid var(--line); background: #fff; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; margin-top: 1.2px; transition: all 150ms ease; }
.co-tos .box svg { width: 14.4px; height: 14.4px; 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: 13.2px; 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: 57.6px; 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: 15px; font-weight: 700; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center; gap: 10.8px;
  transition: transform 160ms var(--ease-out), box-shadow 200ms ease, opacity 160ms ease;
}
.co-purchase svg { width: 19.2px; height: 19.2px; }
.co-purchase:hover { transform: translateY(-1.5px); 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: 9.6px; margin-top: 14.4px; font-family: var(--font-ui); font-size: 11.4px; font-weight: 600; letter-spacing: calc(0.04em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.co-secure-note svg { width: 15.6px; height: 15.6px; color: var(--status); }

.co-done { display: none; flex-direction: column; align-items: center; text-align: center; gap: 14.4px; padding: 12px 0; }
.co-done.show { display: flex; }
.co-done .cd-ico { width: 57.6px; height: 57.6px; 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: 30px; height: 30px; }
.co-done b { font-family: var(--font-display); font-weight: 700; font-size: 21.6px; color: var(--ink); }
.co-done p { font-size: 14.4px; 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: 24px 16.8px 57.6px; }
  .pay-tiles { grid-template-columns: 1fr; }
  .co-field-row { grid-template-columns: 1fr; }
  .co-step-col { width: 64px; }
  .co-step-label { font-size: 10.2px; }
  .co-total .tt-v { font-size: 33.6px; }
}
/* ==================================================
   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(3px); -webkit-backdrop-filter: blur(3px);
}
.boosting-modal-bg.bmbg-visible { display: block; }
.boosting-modal {
  position: fixed; z-index: 100001;
  top: -120%; left: 50%; transform: translateX(-50%);
  width: 80%; max-width: 1152px;
  background: #fff; border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 18px 50px -12px rgba(0,0,0,.35);
  transition: top .35s .05s cubic-bezier(.16,1,.3,1);
}
.boosting-modal.bm-visible { top: 50%; transform: translate(-50%, -50%); }
.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: 680px !important;
  width: calc(100% - 40px) !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: 40px 40px 36px; 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) which beat the old class override, so the recap total
   (incl. the " €") rendered in the League "lion number" font. Use `.vb-pay
   #totaloutcost` (1,1,0) to win and put the whole total on the F3 display font. */
.vb-pay #totaloutcost,
.vb-pay #totaloutcost .discount-currency,
.vb-pay .pay-recap-total-amt,
.vb-pay .discount-currency { font-family: var(--font-display) !important; }

/* recap — more padding + spacing, larger labels/total */
.vb-pay .pay-recap { padding: 21.6px 24px; margin: 28.8px 0; gap: 19.2px; }
.vb-pay .pay-recap-name { font-size: 20.4px; }
.vb-pay .pay-recap-sub { font-size: 16.2px; }
.vb-pay .pay-recap-total-lbl { font-size: 11.4px; }
.vb-pay .pay-recap-total-amt { font-size: 33.6px; }
.vb-pay .pay-recap-journey .order-mini span { font-size: 15px; }
.vb-pay .pay-recap-journey .order-mini small { font-size: 10.2px; }

/* head — a touch more room under the title */
.vb-pay .pay-eyebrow { font-size: 13.2px; }
.vb-pay .pay-head { margin-bottom: 4.8px; }

/* fields — bigger labels + inputs, more gap */
.vb-pay .pay-fields { gap: 18px; }
.vb-pay .pay-field { gap: 9px; }
.vb-pay .pay-label { font-size: 13.2px; }
.vb-pay .pay-label small { font-size: 12px; }
.vb-pay .pay-field input { font-size: 18px; padding: 15px 17px; }

/* payment method — bigger names/subs, more padding */
.vb-pay .pay-methods-label { font-size: 13.2px; margin: 25.2px 0 12px; }
.vb-pay .pay-methods { gap: 14.4px; }
.vb-pay .pay-method-card { padding: 18px 19.2px; gap: 4.2px; }
.vb-pay .pay-method-name { font-size: 19.8px; }
.vb-pay .pay-method-sub { font-size: 14.4px; }

/* terms + submit + trust — bigger, more spacing */
.vb-pay .pay-tos { font-size: 16.2px; margin: 25.2px 0 21.6px; }
.vb-pay .pay-submit { font-size: 18px; padding: 21px; }
.vb-pay .pay-trust { font-size: 12.6px; gap: 24px; margin-top: 19.2px; }

/* compact phones: single-column fields + tighter padding */
@media (max-width: 560px) {
  .vb-rd.vb-pay { padding: 28px 22px 30px; }
  .vb-pay .pay-fields, .vb-pay .pay-methods { grid-template-columns: 1fr; }
}
/* ==================================================
   VALBOOSTING · HOMEPAGE / SHARED BASE
   Palette: Valorant red on cream  (handoff "Cream compact")
   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: 336px;
  --card-gap: 16.8px;
  --card-minh: 196.8px;
  --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 cream
     lives ONLY in the hero (.vhero carries its own cream 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-cream-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.2px;             /* 6px base × 1.2 site scale; cards add +4/+6 */
  --tracking: 0.62; /* global letter-spacing scale (1 = original) */

  --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);
}

/* 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: 1584px; margin: 0 auto; padding: 0 28.8px; }

/* ==================================================
   SITE HEADER
   ================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(14.4px);
  -webkit-backdrop-filter: blur(14.4px);
  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.2px;
  margin-left: 9.6px;
  padding: 7.2px 12px;
  background: var(--bg-soft);
  border: 1.2px solid var(--line);
  border-radius: 9.6px;
  transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
.nav-brand-caret .caret-grid { display: inline-flex; width: 16.8px; height: 16.8px; color: var(--royal); }
.nav-brand-caret svg { width: 16.8px; height: 16.8px; }
.nav-brand-caret .caret-chev { width: 13.2px; height: 13.2px; 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% + 14.4px); left: 0; z-index: 120;
  width: 348px; padding: 9.6px;
  background: #fff; border: 1.2px solid var(--line); border-radius: 16.8px;
  box-shadow: var(--shadow-pop);
  opacity: 0; visibility: hidden; transform: translateY(-9.6px);
  transition: opacity 200ms ease, transform 220ms var(--ease-out), visibility 200ms;
}
.brand-dropdown::before { content: ''; position: absolute; top: -16.8px; left: 0; right: 0; height: 16.8px; }
.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: 10.8px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); padding: 9.6px 12px 7.2px; }
.brand-service { display: flex; align-items: center; gap: 14.4px; padding: 12px; border-radius: 10.8px; transition: background 160ms ease; }
.brand-service:hover { background: var(--royal-tint); }
.brand-service.is-current { background: var(--bg-soft); }
.brand-service-dot { width: 12px; height: 12px; 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: 36px; height: 38.4px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 2.4px 3.6px rgba(8,31,66,0.18));
}
.brand-service-text { display: flex; flex-direction: column; gap: 1.2px; }
.brand-service-text b { font-family: var(--font-display); font-size: 17.4px; font-weight: 700; color: var(--ink); }
.brand-service-text small { font-family: var(--font-ui); font-size: 10.8px; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }

.main-nav {
  max-width: 1584px;
  margin: 0 auto;
  padding: 9.6px 28.8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28.8px;
}
.nav-brand {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -0.03em;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 10.8px;
}
.nav-brand-mark {
  width: 33.6px; height: 33.6px;
  border-radius: 3.6px;
  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: 19.2px; height: 19.2px; }
.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.4px;
}
.nav-brand-mark .brand-mark-fox { width: 26.4px; height: 26.4px; object-fit: contain; }
.nav-brand .dot { color: var(--royal); margin: 0 2.4px; }
.nav-brand small {
  display: block;
  font-family: var(--font-ui);
  font-size: 9.6px;
  font-weight: 500;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 1.2px;
}
.nav-links { display: flex; align-items: center; gap: 2.4px; }
.nav-link {
  font-family: var(--font-nav, var(--font-body));
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8.4px;
  padding: 10.8px 15.6px;
  font-size: 15.6px;
  font-weight: 600;
  color: var(--ink-soft);
  border-radius: 10.8px;
  transition: background 200ms ease, color 200ms ease;
}
.nav-link svg { width: 18px; height: 18px; opacity: 0.55; transition: transform 240ms var(--ease-out), opacity 200ms ease, color 200ms ease; }
.nav-link::after {
  content: '';
  position: absolute;
  left: 15.6px; right: 15.6px; bottom: 6px;
  height: 2.4px;
  background: var(--royal);
  border-radius: 2.4px;
  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.4px); }
.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: 9.6px;
  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: 1198.8px;
  padding: 3.6px 7.2px;
  margin-left: 3.6px;
  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: 12px; }
.vb-rd .nav-icon-btn {
  width: 43.2px; height: 43.2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.6px;
  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: 19.2px; height: 19.2px; }
.vb-rd .nav-icon-btn .badge-dot {
  position: absolute;
  top: 7.2px; right: 8.4px;
  width: 8.4px; height: 8.4px;
  background: var(--gold);
  border-radius: 50%;
  border: 1.8px solid var(--bg);
}
.nav-login {
  height: 43.2px;
  display: inline-flex;
  align-items: center;
  padding: 0 19.2px;
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--royal);
  border-radius: 3.6px;
  transition: background 200ms ease, transform 160ms ease;
}
.nav-login:hover { background: var(--navy); transform: translateY(-1.2px); }
/* .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: 43.2px; height: 43.2px;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.6px;
  background: var(--bg);
  cursor: pointer;
}
.nav-mobile svg { width: 21.6px; height: 21.6px; 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: 10.8px;
  padding: 15.6px 26.4px;
  border-radius: 3.6px;
  font-family: var(--font-ui);
  font-size: 14.4px;
  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: 16.8px; height: 16.8px; }
.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.2px); 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.2px); box-shadow: 0 14.4px 43.2px -9.6px rgba(245, 212, 0, 0.65); }
.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.2px); }
.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.2px); }

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28.8px;
  flex-wrap: wrap;
  margin-bottom: 19.2px;
}
.section-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 19.2px; }
.section-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(--accent);
  padding: 4.8px 10.8px;
  border-radius: 2.4px;
  white-space: nowrap;
}
.section-eyebrow-text {
  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);
}
.section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(36px, 3.8vw, 57.6px);
  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(18px, 1.5vw, 21.6px);
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 672px;
}
.section-lead em { font-style: normal; color: var(--accent); }
.head-badge {
  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);
  background: var(--bg);
  border: 1.2px solid var(--line);
  border-radius: 3.6px;
  padding: 10.8px 15.6px;
  display: inline-flex;
  align-items: center;
  gap: 9.6px;
  box-shadow: var(--shadow-soft);
}
.head-badge em { font-style: normal; color: var(--accent); font-weight: 700; }
.head-badge svg { width: 14.4px; height: 14.4px; 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;
  background:
    radial-gradient(1200px 600px at 90% -20%, rgba(255, 234, 61, 0.10), transparent 55%),
    radial-gradient(1080px 600px at -10% 110%, rgba(10, 17, 25, 0.6), transparent 60%),
    linear-gradient(160deg, var(--royal) 0%, var(--royal-deep) 55%, var(--navy) 100%);
  color: #fff;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: radial-gradient(rgba(255,255,255,0.05) 1.2px, transparent 1.2px);
  background-size: 31.2px 31.2px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.8), transparent 70%);
  pointer-events: none;
}
/* drifting aurora blobs behind the hero content */
.hero-aurora {
  position: absolute;
  inset: -20% -10%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-aurora span {
  position: absolute;
  border-radius: 50%;
  filter: blur(72px);
  opacity: 0.55;
  will-change: transform;
}
.hero-aurora span:nth-child(1) {
  width: 648px; height: 648px;
  left: 58%; top: -16%;
  background: radial-gradient(circle, color-mix(in srgb, var(--gold) 55%, transparent) 0%, transparent 70%);
}
.hero-aurora span:nth-child(2) {
  width: 744px; height: 744px;
  left: -8%; top: 30%;
  background: radial-gradient(circle, rgba(255,70,85,0.5) 0%, transparent 70%);
}
.hero-aurora span:nth-child(3) {
  width: 528px; height: 528px;
  left: 30%; top: 60%;
  background: radial-gradient(circle, rgba(123,92,209,0.42) 0%, transparent 70%);
}
@media (prefers-reduced-motion: no-preference) {
  .hero-aurora span:nth-child(1) { animation: aurora-a 17s var(--ease-out) infinite alternate; }
  .hero-aurora span:nth-child(2) { animation: aurora-b 21s var(--ease-out) infinite alternate; }
  .hero-aurora span:nth-child(3) { animation: aurora-c 15s var(--ease-out) infinite alternate; }
}
@keyframes aurora-a { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-108px,84px,0) scale(1.18); } }
@keyframes aurora-b { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(144px,-60px,0) scale(1.12); } }
@keyframes aurora-c { from { transform: translate3d(0,0,0) scale(0.95); } to { transform: translate3d(-84px,-96px,0) scale(1.2); } }
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1584px;
  margin: 0 auto;
  padding: 110.4px 28.8px 180px;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 33.6px;
  align-items: center;
}
@media (max-width: 1200px) { .hero-inner { grid-template-columns: 1fr; padding-bottom: 108px; } }

.hero-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.hero-tag {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: var(--navy);
  background: var(--gold);
  padding: 4.8px 10.8px;
  border-radius: 2.4px;
  white-space: nowrap;
}
.hero-eyebrow-text {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.hero h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(45.6px, 4.8vw, 76.8px);
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-bottom: 28.8px;
  max-width: 768px;
}
.hero h1 em { font-style: normal; font-weight: 700; color: var(--gold); }
.hero-lead {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.5vw, 21.6px);
  font-weight: 500;
  color: rgba(255,255,255,0.78);
  line-height: 1.42;
  max-width: 744px;
  margin-bottom: 40.8px;
}
.hero-lead em { font-style: normal; color: #fff; }

.hero-feats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8.4px;
  max-width: 744px;
  margin-bottom: 36px;
}
@media (max-width: 672px) { .hero-feats { grid-template-columns: 1fr; } }
.hero-feat {
  display: flex;
  align-items: center;
  gap: 10.8px;
  background: rgba(255,255,255,0.06);
  border: 1.2px solid rgba(255,255,255,0.12);
  border-radius: var(--r);
  padding: 9.6px 13.2px;
  transition: background 200ms ease, border-color 200ms ease;
}
.hero-feat:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.22); }
.hero-feat-icon {
  width: 36px; height: 36px;
  border-radius: 3.6px;
  background: rgba(255, 234, 61, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  flex-shrink: 0;
}
.hero-feat-icon svg { width: 18px; height: 18px; }
.hero-feat > span:last-child { min-width: 0; }
.hero-feat-name { display: block; font-size: 15.6px; font-weight: 600; color: #fff; line-height: 1.2; }
.hero-feat-sub {
  display: block;
  font-family: var(--font-ui);
  font-size: 10.8px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-top: 2.4px;
}

.hero-rating { display: flex; align-items: center; gap: 12px; margin-bottom: 33.6px; }
.hero-stars { display: flex; gap: 2.4px; color: var(--gold); }
.hero-stars svg { width: 19.2px; height: 19.2px; }
.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: rgba(255,255,255,0.65);
}
.hero-rating-text em { font-style: normal; color: #fff; }

.hero-ctas { display: flex; gap: 14.4px; flex-wrap: wrap; }

.hero-text { position: relative; z-index: 1; }
.hero-art {
  position: absolute;
  right: -6%;
  top: -24px;
  bottom: 0;
  width: min(54vw, 864px);
  height: auto;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  transform: scale(var(--hero-art-scale, 1));
  transform-origin: 100% 100%;
  transition: transform 280ms var(--ease-out);
}
.hero-art image-slot {
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: auto;
  filter: drop-shadow(0 31.2px 45.6px rgba(0, 0, 0, 0.4));
}
.hero-art image-slot::part(frame) { background: transparent; }
@media (max-width: 1200px) {
  .hero-art {
    position: relative;
    right: auto; bottom: auto;
    width: 100%;
    height: 384px;
    margin: 9.6px auto 0;
  }
}

/* product tiles overlapping hero bottom */
.tiles-wrap { position: relative; z-index: 5; margin-top: -103.2px; padding: 0 28.8px; }
.tiles {
  max-width: 1584px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--card-w, 336px), 1fr));
  gap: 16.8px;
}
@media (max-width: 1200px) { .tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 672px)  { .tiles { grid-template-columns: 1fr; } }
.tile {
  position: relative;
  border-radius: var(--r);
  padding: 24px 21.6px 21.6px;
  min-height: 129.6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16.8px;
  color: #fff;
  overflow: hidden;
  box-shadow: var(--shadow-pop);
  transition: transform 240ms var(--ease-out), box-shadow 240ms ease;
}
.tile:hover { box-shadow: 0 24px 57.6px -21.6px rgba(10, 17, 25, 0.5); }
.tile::after {
  content: '';
  position: absolute;
  right: -36px; top: -36px;
  width: 132px; height: 132px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
}
.tile-green  { background: linear-gradient(135deg, #2cc468 0%, #168a44 100%); }
.tile-royal  { background: linear-gradient(135deg, #ff5663 0%, var(--royal-deep) 100%); }
.tile-gold   { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); color: var(--navy); }
.tile-purple { background: linear-gradient(135deg, #8d6ce0 0%, #5a3cb0 100%); }
.tile-label {
  font-family: var(--font-ui);
  font-size: 10.8px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  opacity: 0.8;
}
.tile-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tile-name svg { width: 19.2px; height: 19.2px; flex-shrink: 0; transition: transform 200ms var(--ease-out); }
.tile:hover .tile-name svg { transform: translateX(4.8px); }

/* ==================================================
   OPTIONS
   ================================================== */
.options { padding: 76.8px 28.8px 48px; background: var(--bg); }
.options-grid {
  max-width: 1584px;
  margin: 33.6px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 21.6px;
}
@media (max-width: 1080px) { .options-grid { grid-template-columns: 1fr; } }
.option-card {
  position: relative;
  min-height: 408px;
  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%;
  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: 31.2px 31.2px 31.2px; display: flex; flex-direction: column; gap: 12px; width: 100%; }
.option-kicker {
  font-family: var(--font-ui);
  font-size: 12px;
  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: 36px;
  letter-spacing: -0.01em;
  color: #fff;
}
.option-copy { font-size: 16.8px; line-height: 1.6; color: rgba(255,255,255,0.92); max-width: 624px; }
.option-foot { display: flex; align-items: center; justify-content: space-between; gap: 14.4px; margin-top: 9.6px; }
.option-price {
  font-family: var(--font-ui);
  font-size: 12.6px;
  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: 38.4px; line-height: 0.9; display: inline-block; vertical-align: -4.8px; font-family: var(--font-display); letter-spacing: -0.02em; }

/* ==================================================
   RANK CARDS BOARD (light)
   ================================================== */
.board-wrap { padding: 52.8px 28.8px 67.2px; background: var(--bg); }
.board {
  position: relative;
  max-width: 1584px;
  margin: 0 auto;
  border-radius: calc(var(--r) + 4.8px);
  background:
    radial-gradient(1080px 504px at 88% -10%, rgba(255, 70, 85, 0.07), transparent 60%),
    radial-gradient(840px 456px 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: 57.6px 52.8px 52.8px; }
@media (max-width: 912px) { .board-inner { padding: 40.8px 26.4px 33.6px; } }
.board-count {
  font-family: var(--font-ui);
  font-size: 12px;
  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.6px;
  padding: 12px 16.8px;
  display: inline-flex;
  align-items: center;
  gap: 10.8px;
}
.board-count strong {
  font-family: var(--font-display);
  font-size: 21.6px;
  font-weight: 700;
  color: var(--accent);
}
.board .section-lead { margin-bottom: 43.2px; }

.boost-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(336px, 1fr));
  gap: 19.2px;
}
@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: 12px;
  padding: 18px 19.2px 15.6px;
  border-bottom: 1.2px solid var(--line-soft);
  background: var(--bg-soft);
}
.boost-playing {
  display: flex;
  align-items: center;
  gap: 10.8px;
  min-width: 0;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  padding: 6px 14.4px 6px 7.2px;
}
.boost-playing .champ-emoji { width: 36px; height: 36px; font-size: 19.2px; border: none; background: var(--bg-soft); }
.champ-pic {
  width: 45.6px; height: 45.6px;
  border-radius: 3.6px;
  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: 10.2px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 2.4px;
}
.boost-champ {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19.2px;
  letter-spacing: -0.01em;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.boost-window {
  font-family: var(--font-ui);
  font-size: 11.4px;
  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.6px;
  padding: 6px 9.6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.boost-window em { font-style: normal; color: var(--ink-muted); }

.boost-journey {
  display: flex;
  flex-direction: column;
  gap: 14.4px;
  padding: 21.6px 19.2px 12px;
  flex: 1;
}
.journey-top {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 9.6px;
}
.journey-top .journey-rank { flex: 1; width: auto; min-width: 0; gap: 6px; }
.journey-top .journey-crest { width: 91.2px; height: 91.2px; }
.journey-top .journey-rank-name { font-size: 16.8px; color: var(--ink); }
.journey-arrow {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  color: var(--accent);
  flex-shrink: 0;
}
.journey-arrow svg { width: 18px; height: 18px; }
.journey-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  border-radius: var(--r);
  padding: 14.4px 12px 16.8px;
}
.journey-current .journey-tier-label { color: var(--accent); }
.journey-current .journey-crest { width: 132px; height: 132px; }
.journey-current .journey-rank-name { font-size: 20.4px; color: var(--ink); }
body:not(.no-glow) .journey-current .journey-crest {
  filter: drop-shadow(0 7.2px 14.4px rgba(27, 31, 42, 0.25)) drop-shadow(0 0 16.8px color-mix(in srgb, var(--bar) 45%, transparent));
}
.journey-rank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 86.4px;
  text-align: center;
}
.journey-crest {
  width: 62.4px; height: 62.4px;
  object-fit: contain;
  filter: drop-shadow(0 6px 9.6px rgba(27, 31, 42, 0.22));
}
.journey-tier-label {
  font-family: var(--font-ui);
  font-size: 10.2px;
  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: 14.4px;
  letter-spacing: -0.01em;
  color: var(--ink-soft);
  white-space: nowrap;
}
.journey-rank.is-current { width: 124.8px; }
.journey-rank.is-current .journey-tier-label { color: var(--accent); }
.journey-rank.is-current .crest-halo {
  position: relative;
  width: 110.4px; height: 110.4px;
  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: -14.4px;
  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: 110.4px; height: 110.4px;
  filter: drop-shadow(0 12px 19.2px rgba(27, 31, 42, 0.30));
}
.journey-rank.is-current .journey-rank-name { font-size: 16.8px; color: var(--ink); }
.journey-conn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6px;
  min-width: 12px;
  margin-top: -31.2px;
}
.journey-conn span {
  width: 6px; height: 6px;
  border-right: 1.8px solid var(--ink-muted);
  border-top: 1.8px solid var(--ink-muted);
  transform: rotate(45deg);
  opacity: 0.35;
}
.journey-conn span:nth-child(2) { opacity: 0.55; }
.journey-conn span:nth-child(3) { opacity: 0.8; }
.journey-conn.is-done span { border-color: var(--accent); opacity: 0.45; }
.journey-conn.is-done span:nth-child(2) { opacity: 0.7; }
.journey-conn.is-done span:nth-child(3) { opacity: 1; }

.boost-progress { padding: 16.8px 19.2px 24px; }
.progress-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8.4px;
}
.progress-label {
  font-family: var(--font-ui);
  font-size: 10.2px;
  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: 20.4px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.progress-bar {
  height: 8.4px;
  border-radius: 3.6px;
  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.6px;
  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: 40.8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 21.6px;
  flex-wrap: wrap;
}
.board-foot-note {
  font-family: var(--font-ui);
  font-size: 12px;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  display: inline-flex;
  align-items: center;
  gap: 10.8px;
}
.board-foot-note svg { width: 15.6px; height: 15.6px; color: var(--accent); flex-shrink: 0; }
.board-foot-note em { font-style: normal; color: var(--ink-soft); font-weight: 600; }

/* ==================================================
   CONVENIENT & PRIVATE
   ================================================== */
.convenient { padding: 67.2px 28.8px 76.8px; background: var(--bg); }
.convenient-grid {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 67.2px;
  align-items: center;
}
@media (max-width: 1080px) { .convenient-grid { grid-template-columns: 1fr; gap: 43.2px; } }
.convenient-copy .section-lead { margin: 16.8px 0 31.2px; }
.convenient-steps { display: flex; flex-direction: column; gap: 14.4px; margin-bottom: 36px; }
.conv-step { display: flex; align-items: flex-start; gap: 16.8px; }
.conv-step-num {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 700;
  color: var(--royal);
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  width: 33.6px; height: 33.6px;
  border-radius: 3.6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.conv-step-name { font-size: 17.4px; font-weight: 600; color: var(--ink); }
.conv-step-sub { font-size: 15.6px; color: var(--ink-soft); margin-top: 2.4px; line-height: 1.55; }

.order-mock {
  position: relative;
  margin-top: 62.4px;
  overflow: visible;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: calc(var(--r) + 2.4px);
  box-shadow: var(--shadow-pop);
}
.order-mock-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 19.2px 24px;
  background: var(--bg-soft);
  border-bottom: 1.2px solid var(--line-soft);
}
.order-mock-title {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
}
.order-mock-lock {
  display: inline-flex;
  align-items: center;
  gap: 7.2px;
  font-family: var(--font-ui);
  font-size: 10.8px;
  font-weight: 600;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--green);
}
.order-mock-lock svg { width: 13.2px; height: 13.2px; }
.order-mock-body { padding: 55.2px 24px 24px; display: flex; flex-direction: column; gap: 0; }
.order-journey {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26.4px;
  padding: 7.2px 0 21.6px;
  border-bottom: 1.2px dashed var(--line);
  margin-bottom: 16.8px;
}
.order-journey .journey-rank { width: auto; }
.order-journey .journey-crest { width: 74.4px; height: 74.4px; }
.order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14.4px;
  padding: 10.8px 0;
  font-size: 15.6px;
  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: 16.8px; }
.order-row.total b { font-family: var(--font-display); font-size: 24px; font-weight: 700; }
.order-row .vip {
  font-family: var(--font-ui);
  font-size: 10.8px;
  font-weight: 700;
  letter-spacing: calc(0.12em * var(--tracking));
  color: var(--navy);
  background: var(--gold);
  border-radius: 2.4px;
  padding: 2.4px 7.2px;
  margin-left: 9.6px;
}
.order-mock-foot { padding: 0 24px 24px; }
.order-mock-foot .btn { width: 100%; justify-content: center; }

/* ==================================================
   WHAT WE PROVIDE
   ================================================== */
.provide {
  background:
    radial-gradient(1080px 624px at 100% 0%, rgba(255, 70, 85, 0.16), transparent 55%),
    linear-gradient(170deg, #16212e 0%, var(--navy) 55%, #11141c 100%);
  padding: 86.4px 28.8px 91.2px;
  color: #fff;
}
.provide-grid {
  max-width: 1584px;
  margin: 43.2px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16.8px;
}
@media (max-width: 1080px) { .provide-grid { grid-template-columns: 1fr; } }
.provide-item {
  display: flex;
  align-items: flex-start;
  gap: 19.2px;
  background: rgba(255,255,255,0.06);
  border: 1.2px solid rgba(255,255,255,0.13);
  border-radius: var(--r);
  padding: 26.4px;
  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.6px);
  box-shadow: 0 16.8px 36px -16.8px rgba(0, 0, 0, 0.4);
}
.provide-icon {
  width: 55.2px; height: 55.2px;
  border-radius: 12px;
  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: 25.2px; height: 25.2px; }
.provide-item h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21.6px;
  letter-spacing: -0.01em;
  margin-bottom: 7.2px;
}
.provide-item h3 em { font-style: normal; font-weight: 700; color: var(--gold); }
.provide-item p { font-size: 16.8px; line-height: 1.7; color: rgba(255,255,255,0.86); }

/* ==================================================
   FAQ
   ================================================== */
.faq { padding: 86.4px 28.8px; background: var(--bg-soft); }
.faq-grid {
  max-width: 1584px;
  margin: 36px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 21.6px;
  align-items: start;
}
@media (max-width: 1080px) { .faq-grid { grid-template-columns: 1fr; } }
.faq-col { display: flex; flex-direction: column; gap: 12px; }
.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: 16.8px;
  padding: 19.2px 21.6px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-body);
  font-size: 16.8px;
  font-weight: 600;
  color: var(--ink);
}
.faq-q:hover { color: var(--royal); }
.faq-q .faq-toggle {
  width: 33.6px; height: 33.6px;
  border-radius: 4.8px;
  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: 16.8px; height: 16.8px; }
.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 21.6px;
  opacity: 0;
  font-size: 16.2px;
  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: 504px; padding: 0 21.6px 20.4px; opacity: 1; }
.faq-foot {
  max-width: 1584px;
  margin: 16.8px auto 0;
  display: flex;
  justify-content: center;
}

/* ==================================================
   REVIEWS
   ================================================== */
.reviews { padding: 86.4px 28.8px; background: var(--bg); border-top: 1.2px solid var(--line-soft); }
.reviews-grid {
  max-width: 1584px;
  margin: 36px auto 0;
  display: grid;
  grid-template-columns: minmax(240px, 0.26fr) 1fr;
  gap: 21.6px;
  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: 28.8px 26.4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  align-self: stretch;
  justify-content: center;
  gap: 19.2px;
}
.review-sum > div:first-child { display: flex; flex-direction: column; align-items: center; gap: 8.4px; }
.review-sum-score {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 55.2px;
  letter-spacing: -0.03em;
  line-height: 1;
}
.review-sum-score small { font-size: 26.4px; font-weight: 500; color: rgba(255,255,255,0.6); }
.review-sum .hero-stars svg { width: 18px; height: 18px; }
.review-sum-meta {
  font-family: var(--font-ui);
  font-size: 12.6px;
  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: 26.4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.review-card .hero-stars { color: var(--gold-deep); }
.review-card .hero-stars svg { width: 16.8px; height: 16.8px; }
.review-title { font-family: var(--font-display); font-weight: 700; font-size: 19.2px; }
.review-body { font-size: 16.2px; 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: 12px;
  font-family: var(--font-ui);
  font-size: 11.4px;
  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: 6px; color: var(--green); }
.review-verified svg { width: 13.2px; height: 13.2px; }

/* ==================================================
   START TODAY
   ================================================== */
.start { padding: 86.4px 28.8px; 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: 16.8px; }
.start .section-lead { max-width: 744px; margin: 0 auto 38.4px; text-align: center; }
.start-btns { display: flex; flex-direction: column; align-items: center; gap: 14.4px; max-width: 912px; margin: 0 auto; }
.start-btns .btn { flex: 0 0 auto; }
.start-btns .btn-prod {
  color: #fff;
  border: none;
}
.start-btns .btn-prod svg { width: 15.6px; height: 15.6px; }
.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.4px); filter: brightness(1.05); box-shadow: var(--shadow-pop); }
.start-btns .start-row { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; width: 100%; }
.start-btns .start-row-secondary { padding-top: 4.8px; margin-top: 2.4px; }

/* ==================================================
   BLOG
   ================================================== */
.blog { background: radial-gradient(960px 504px at 100% -10%, rgba(255, 70, 85, 0.14), transparent 55%), linear-gradient(180deg, #16212e 0%, var(--navy) 100%); padding: 86.4px 28.8px 62.4px; color: #fff; }
.blog-grid {
  max-width: 1584px;
  margin: 38.4px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19.2px;
}
@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: 204px; display: block; }
.blog-card-body { padding: 19.2px 21.6px 21.6px; display: flex; flex-direction: column; gap: 9.6px; flex: 1; }
.blog-cat {
  font-family: var(--font-ui);
  font-size: 10.8px;
  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: 19.8px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #fff;
  flex: 1;
}
.blog-meta {
  font-family: var(--font-ui);
  font-size: 11.4px;
  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: 72px 28.8px 36px; }
.footer-grid {
  max-width: 1584px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 43.2px;
  padding-bottom: 48px;
  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: 16.8px; }
.footer-brand .nav-brand small { color: rgba(255,255,255,0.45); }
.footer-brand p { font-size: 15.6px; line-height: 1.7; color: rgba(255,255,255,0.55); max-width: 336px; margin-bottom: 21.6px; }
.footer-social { display: flex; gap: 9.6px; }
.footer-social a {
  width: 38.4px; height: 38.4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid rgba(255,255,255,0.15);
  border-radius: 3.6px;
  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: 16.8px; height: 16.8px; }
.footer-col h4 {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 19.2px;
}
.footer-col { display: flex; flex-direction: column; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10.8px; }
.footer-col a { font-size: 15.6px; color: rgba(255,255,255,0.65); transition: color 180ms ease; }
.footer-col a:hover { color: #fff; }

.footer-pay {
  max-width: 1584px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 19.2px;
  flex-wrap: wrap;
  padding: 0 0 26.4px;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
.footer-pay-label {
  font-family: var(--font-ui);
  font-size: 11.4px;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.pay-chips { display: flex; gap: 9.6px; flex-wrap: wrap; }
.pay-chip {
  font-family: var(--font-ui);
  font-size: 12px;
  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.4px;
  padding: 6px 12px;
}
.footer-bottom {
  max-width: 1584px;
  margin: 0 auto;
  padding-top: 26.4px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 19.2px;
  flex-wrap: wrap;
  font-size: 13.8px;
  color: rgba(255,255,255,0.4);
  line-height: 1.7;
}
.footer-disclaimer { max-width: 624px; }

/* ==================================================
   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; }


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


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

/* product tiles: background art */
.tile { min-height: 180px; }
.tile::after { display: none; }
.tile-label, .tile-name { position: relative; z-index: 3; }
.tile-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 22%;
  pointer-events: none;
  transition: transform 700ms var(--ease-out);
  z-index: 1;
}
.tile:hover .tile-art { transform: scale(1.05); }
.tile::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(0deg, rgba(4, 12, 26, 0.55) 0%, transparent 45%),
    linear-gradient(100deg, var(--tile-overlay) 0%, color-mix(in srgb, var(--tile-overlay) 45%, transparent) 42%, transparent 72%);
}
.tile-green  { --tile-overlay: #117a3c; }
.tile-royal  { --tile-overlay: var(--royal-deep); }
.tile-gold   { --tile-overlay: #c79100; color: #fff; }
.tile-purple { --tile-overlay: #4d2f9e; }
.tile-name { text-shadow: 0 1.2px 12px rgba(0, 0, 0, 0.45); }
.tile-label { text-shadow: 0 1.2px 7.2px rgba(0, 0, 0, 0.45); opacity: 0.95; }

/* unique per-icon animations — removed per review; progress stripes kept */
@keyframes stripes   { from { background-position: 0 0; } to { background-position: 27.12px 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 9.6px, transparent 9.6px 19.2px);
    animation: stripes 0.9s linear infinite;
  }
}

/* idle sheen sweep — light gamer touch before hover */
.tile { isolation: isolate; }
.tile .tile-sheen {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, 0.14) 50%, transparent 62%);
  transform: translateX(-160%) skewX(-6deg);
}
@media (prefers-reduced-motion: no-preference) {
  .tile .tile-sheen { animation: tile-sheen 7s linear infinite; }
  .tile:nth-child(1) .tile-sheen { animation-delay: 0s; }
  .tile:nth-child(2) .tile-sheen { animation-delay: 0.45s; }
  .tile:nth-child(3) .tile-sheen { animation-delay: 0.9s; }
  .tile:nth-child(4) .tile-sheen { animation-delay: 1.35s; }
  .tile-name svg { animation: tile-arrow-nudge 3.4s ease-in-out infinite; }
}
@keyframes tile-sheen {
  0%       { transform: translateX(-160%) skewX(-6deg); }
  16%      { transform: translateX(160%) skewX(-6deg); }
  100%     { transform: translateX(160%) skewX(-6deg); }
}
@keyframes tile-arrow-nudge {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4.8px); }
}

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


/* floating payment emblem (original site treatment) */
.order-emblem {
  position: absolute;
  top: -74.4px;
  left: 50%;
  width: 165.6px;
  height: 165.6px;
  object-fit: contain;
  z-index: 3;
  pointer-events: none;
  transform: translateX(-50%);
  filter: drop-shadow(0 21.6px 31.2px 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(-12px); }
}

/* Trustpilot-style stars */
.tp-stars { display: inline-flex; gap: 3.6px; }
.tp-star {
  width: 28.8px;
  height: 28.8px;
  background: #00b67a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tp-star svg { width: 16.8px; height: 16.8px; color: #fff; }
.review-card .tp-star { width: 24px; height: 24px; }
.review-card .tp-star svg { width: 14.4px; height: 14.4px; }




/* ==================================================
   REWORK v2 · Lighter rank board + white cards
   ================================================== */
.board {
  background:
    radial-gradient(1200px 552px at 50% -12%, rgba(255, 70, 85, 0.10) 0%, transparent 60%),
    radial-gradient(816px 456px 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; }

/* ==================================================
   REWORK · Overwatch-style product tiles
   ================================================== */
.tiles { gap: var(--card-gap, 16.8px); padding: 0 12px; }
.tile {
  min-height: max(144px, var(--card-minh, 196.8px));
  zoom: var(--card-scale, 1);
  transform: skewX(-7deg);
  border-radius: 4.8px;
  padding: 21.6px 31.2px 21.6px 36px;
  transition: box-shadow 200ms ease, filter 200ms ease;
}
.tile.rv.is-in { transform: skewX(-7deg); }
.tile.rv.pre-reveal { transform: skewX(-7deg) scale(0.97); }
.tile.rv.is-forced { transform: skewX(-7deg) !important; }
.tile:hover {
  box-shadow: 0 0 0 3.6px #ffffff, 0 28.8px 60px -21.6px rgba(10, 17, 25, 0.55);
  filter: saturate(1.12);
}
.tile-art {
  transform: skewX(7deg) scale(1.35);
  object-position: 62% 16%;
}
.tile:hover .tile-art { transform: skewX(7deg) scale(1.45); }
.tile::before {
  background:
    linear-gradient(0deg, rgba(3, 9, 20, 0.97) 0%, rgba(3, 9, 20, 0.9) 20%, rgba(3, 9, 20, 0.6) 42%, rgba(3, 9, 20, 0.18) 68%, rgba(3, 9, 20, 0) 88%);
}
.tile::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 8.4px;
  background: var(--tile-overlay);
  z-index: 3;
}
.tile-label,
.tile-name { transform: skewX(7deg); }
.tile-name {
  font-size: 28.8px;
  text-transform: uppercase;
  letter-spacing: calc(0.02em * var(--tracking));
  text-shadow: 0 2.4px 19.2px rgba(0, 0, 0, 0.9), 0 1.2px 3.6px rgba(0, 0, 0, 0.7);
}
.tile-label {
  font-size: 12.6px;
  font-weight: 700;
  letter-spacing: calc(0.14em * var(--tracking));
  opacity: 1;
  color: #fff;
  text-shadow: 0 1.2px 12px rgba(0, 0, 0, 0.95), 0 1.2px 2.4px rgba(0, 0, 0, 0.8);
}
.tile-gold .tile-name,
.tile-gold .tile-label { color: #fff; }

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

/* ==================================================
   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.4px);
}
.bc-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 15.6px 18px; border-bottom: 1.2px solid var(--line-soft); background: #fbfdff;
}
.bc-champ { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bc-emoji {
  width: 40.8px; height: 40.8px; border-radius: 10.8px; 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: 20.4px;
}
.bc-champ-text { display: flex; flex-direction: column; min-width: 0; gap: 1.2px; }
.bc-ey { font-family: var(--font-ui); font-size: 9.6px; 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: 18px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-live {
  display: inline-flex; align-items: center; gap: 7.2px; flex-shrink: 0;
  font-family: var(--font-ui); font-size: 10.2px; 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: 6px 10.8px; border-radius: 1198.8px;
}
.bc-live-dot { width: 7.2px; height: 7.2px; 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.2px;
  padding: 36px 14.4px 28.8px;
  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: 8.4px; flex: 1; min-width: 0; }
.bc-crest { width: 151.2px; height: 151.2px; object-fit: contain; filter: drop-shadow(0 12px 19.2px rgba(27, 31, 42, 0.24)); transition: transform 300ms var(--ease-out); }
.boost-card:hover .bc-rank-target .bc-crest { transform: translateY(-4.8px) scale(1.04); }
.bc-rank-name { font-family: var(--font-display); font-weight: 700; font-size: 20.4px; color: var(--ink); white-space: nowrap; }
.bc-rank-tag { font-family: var(--font-ui); font-size: 10.8px; 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 12px 19.2px rgba(27, 31, 42, 0.24)) drop-shadow(0 0 21.6px color-mix(in srgb, var(--bar) 55%, transparent));
}
.bc-arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--royal);
  transform: translateY(-26.4px);
  position: relative;
  z-index: 1;
}
.bc-arrow svg { width: 26.4px; height: 26.4px; margin: 0 -7.2px; }
.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.4px); }
  50%      { opacity: 1; transform: translateX(2.4px); }
}
.bc-time {
  display: inline-flex; align-items: center; gap: 7.2px; flex-shrink: 0;
  line-height: 1;
  font-family: var(--font-ui); font-size: 11.4px; 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: 1198.8px; padding: 6px 13.2px;
}
.bc-time svg { width: 14.4px; height: 14.4px; color: var(--ink-muted); flex-shrink: 0; }
.bc-time em { font-style: normal; color: var(--accent); padding: 0 2.4px; }

/* card duo display */
.bc-emoji-duo { position: relative; width: 52.8px; height: 40.8px; flex-shrink: 0; }
.bc-emoji-duo .bc-emoji { position: absolute; top: 0; width: 33.6px; height: 33.6px; font-size: 16.8px; }
.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.2px; 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: 12px; right: 14.4px; z-index: 3;
  font-family: var(--font-ui); font-size: 9.6px; 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: 1198.8px; padding: 4.8px 10.8px; 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: 67.2px; }
.bc-foot { padding: 0 19.2px 19.2px; margin-top: auto; }
.bc-prog-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8.4px; }
.bc-prog-cur { font-family: var(--font-ui); font-size: 10.8px; 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: 19.2px; color: var(--ink); font-variant-numeric: tabular-nums; }
.bc-window {
  display: block; margin-top: 13.2px; text-align: center;
  font-family: var(--font-ui); font-size: 10.8px; 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 4.8px; }

/* ==================================================
   REWORK v2 · Live climb animation box (replaces order mock)
   ================================================== */
.climb-mock {
  position: relative; margin-top: 0; overflow: hidden;
  background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 2.4px); box-shadow: var(--shadow-pop);
}
.climb-head { display: flex; align-items: center; justify-content: space-between; padding: 19.2px 24px; background: var(--bg-soft); border-bottom: 1.2px solid var(--line-soft); }
.climb-title { font-family: var(--font-ui); font-size: 12px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft); }
.climb-status { display: inline-flex; align-items: center; gap: 8.4px; font-family: var(--font-ui); font-size: 10.8px; font-weight: 700; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase; color: var(--green); }
.climb-dot { width: 8.4px; height: 8.4px; border-radius: 50%; background: var(--green); }
.climb-body { padding: 36px 28.8px 9.6px; display: flex; flex-direction: column; align-items: center; gap: 19.2px; }
.climb-crest-wrap { position: relative; width: 165.6px; height: 165.6px; display: flex; align-items: center; justify-content: center; }
.climb-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.climb-ring .ring-track { fill: none; stroke: var(--bg-deep); stroke-width: 6; }
.climb-ring .ring-fill {
  fill: none; stroke: var(--bar); stroke-width: 6; stroke-linecap: round;
  stroke-dasharray: 276.46; stroke-dashoffset: 61;
}
@media (prefers-reduced-motion: no-preference) { .climb-ring .ring-fill { animation: ring-fill 5s var(--ease-out) infinite; } }
@keyframes ring-fill {
  0%   { stroke-dashoffset: 276.46; }
  50%  { stroke-dashoffset: 61; }
  86%  { stroke-dashoffset: 61; }
  100% { stroke-dashoffset: 276.46; }
}
.climb-crest { width: 110.4px; height: 110.4px; object-fit: contain; filter: drop-shadow(0 9.6px 16.8px rgba(27, 31, 42, 0.25)); }
.climb-stat { text-align: center; display: flex; flex-direction: column; gap: 3.6px; }
.climb-lp { font-family: var(--font-display); font-weight: 700; font-size: 36px; color: var(--ink); letter-spacing: -0.02em; }
.climb-lp-num { font-variant-numeric: tabular-nums; color: var(--accent); }
.climb-lp-label { font-family: var(--font-ui); font-size: 11.4px; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.climb-matches { display: flex; gap: 8.4px; }
.climb-match {
  width: 36px; height: 36px; border-radius: 9.6px; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-ui); font-weight: 700; font-size: 14.4px; color: #fff;
}
.climb-match.w { background: linear-gradient(135deg, #2cc468, #168a44); }
.climb-match.l { background: linear-gradient(135deg, #e26a5a, #c43a2a); }
@media (prefers-reduced-motion: no-preference) {
  .climb-match { animation: match-in 5s ease infinite; }
  .climb-match:nth-child(1) { animation-delay: 0.1s; }
  .climb-match:nth-child(2) { animation-delay: 0.5s; }
  .climb-match:nth-child(3) { animation-delay: 0.9s; }
  .climb-match:nth-child(4) { animation-delay: 1.3s; }
  .climb-match:nth-child(5) { animation-delay: 1.7s; }
}
@keyframes match-in {
  0%, 4%  { opacity: 0; transform: translateY(9.6px) scale(0.7); }
  16%, 88% { opacity: 1; transform: none; }
  100%    { opacity: 0; transform: translateY(9.6px) scale(0.7); }
}
.climb-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 14.4px;
  padding: 19.2px 24px; border-top: 1.2px solid var(--line-soft); background: var(--bg-soft);
  font-family: var(--font-ui); font-size: 12px; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted);
}
.climb-foot b { color: var(--green); font-weight: 700; }
.climb-foot .climb-eta b { color: var(--accent); }

/* ==================================================
   REWORK v2 · Option card extras (flags, tags, sheen)
   ================================================== */
.option-body { z-index: 3; }
.option-flag {
  position: absolute; top: 19.2px; left: 19.2px; z-index: 3;
  display: inline-flex; align-items: center; gap: 7.2px;
  font-family: var(--font-ui); font-size: 10.8px; 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.2px); backdrop-filter: blur(7.2px);
  border: 1.2px solid rgba(255, 255, 255, 0.18); border-radius: 7.2px; padding: 8.4px 14.4px;
}
.option-flag svg { width: 14.4px; height: 14.4px; color: var(--gold); }
.option-tags { display: flex; flex-wrap: wrap; gap: 8.4px; margin-top: 2.4px; }
.option-tag {
  font-family: var(--font-ui); font-size: 10.8px; 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(8.4px); backdrop-filter: blur(8.4px);
  border: 1.2px solid rgba(255, 255, 255, 0.26);
  border-radius: 7.2px; padding: 6px 13.2px;
  text-shadow: 0 1.2px 4.8px rgba(0, 0, 0, 0.6);
}
.option-card::after { display: none; }
.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: none; }

/* ==================================================
   REWORK v2 · Reviews carousel
   ================================================== */
.reviews-head-actions { display: inline-flex; align-items: center; gap: 14.4px; }
.reviews-arrows { display: inline-flex; gap: 9.6px; }
.rev-arrow {
  width: 48px; height: 48px; border-radius: 50%; border: 1.2px solid var(--line); background: #fff; 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.2px); }
.rev-arrow:disabled { opacity: 0.35; cursor: default; transform: none; }
.rev-arrow svg { width: 19.2px; height: 19.2px; }
.rev-arrow.prev svg { transform: rotate(180deg); }
.reviews-viewport { overflow: hidden; }
.reviews-track { display: flex; gap: 16.8px; transition: transform 480ms var(--ease-out); will-change: transform; }
.reviews-track .review-card { flex: 0 0 calc((100% - 33.6px) / 3); }
@media (max-width: 912px) { .reviews-track .review-card { flex: 0 0 calc((100% - 16.8px) / 2); } }
@media (max-width: 624px) { .reviews-track .review-card { flex: 0 0 100%; } }

/* ==================================================
   REWORK v2 · Blog pagination
   ================================================== */
.blog-pager { max-width: 1584px; margin: 33.6px auto 0; display: flex; align-items: center; justify-content: center; gap: 9.6px; }
.blog-totop { max-width: 1584px; margin: 19.2px auto 0; display: flex; justify-content: center; }
.blog-totop-btn {
  display: inline-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: rgba(255,255,255,0.78);
  padding: 10.8px 19.2px; border-radius: 1198.8px;
  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.4px); }
.blog-totop-btn .totop-ico { width: 16.8px; height: 16.8px; transform: rotate(180deg); }
.blog-page-btn {
  min-width: 48px; height: 48px; padding: 0 15.6px; border-radius: 12px;
  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: 14.4px; font-weight: 600; letter-spacing: calc(0.04em * var(--tracking));
  display: inline-flex; align-items: center; justify-content: center; gap: 8.4px; 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.2px); }
.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: 18px; height: 18px; }
.blog-page-btn.prev svg { transform: rotate(180deg); }

/* ==================================================
   HERO ↔ PRODUCT CARDS · harmony solutions (Tweak: data-harmony)
   Goal: resolve the clash between the busy photographic tiles
   and the flat blue hero. Switchable from the Tweaks panel.
   ================================================== */

/* ---- shared de-skew helpers used by the flat-family options ---- */
body[data-harmony="flat"]   .tile,
body[data-harmony="glass"]  .tile,
body[data-harmony="outline"] .tile,
body[data-harmony="flat"]   .tile.rv.is-in,
body[data-harmony="glass"]  .tile.rv.is-in,
body[data-harmony="outline"] .tile.rv.is-in,
body[data-harmony="flat"]   .tile.rv.is-forced,
body[data-harmony="glass"]  .tile.rv.is-forced,
body[data-harmony="outline"] .tile.rv.is-forced { transform: none !important; }
body[data-harmony="flat"]   .tile.rv.pre-reveal,
body[data-harmony="glass"]  .tile.rv.pre-reveal,
body[data-harmony="outline"] .tile.rv.pre-reveal { transform: scale(0.97) !important; }

body[data-harmony="flat"]   .tile-label, body[data-harmony="flat"]   .tile-name,
body[data-harmony="glass"]  .tile-label, body[data-harmony="glass"]  .tile-name,
body[data-harmony="outline"] .tile-label, body[data-harmony="outline"] .tile-name { transform: none; }
body[data-harmony="flat"]   .tile-art,
body[data-harmony="glass"]  .tile-art,
body[data-harmony="outline"] .tile-art { display: none; }
body[data-harmony="flat"]   .tile-sheen,
body[data-harmony="glass"]  .tile-sheen,
body[data-harmony="outline"] .tile-sheen { display: none; }
body[data-harmony="flat"]   .tile::before,
body[data-harmony="glass"]  .tile::before,
body[data-harmony="outline"] .tile::before { display: none; }

/* ===== 1 · FLAT — solid brand-colour blocks, no photo, no skew ===== */
body[data-harmony="flat"] .tile {
  padding: 26.4px 26.4px 24px;
  box-shadow: 0 14.4px 36px -21.6px rgba(10, 17, 25, 0.45);
}
body[data-harmony="flat"] .tile:hover {
  box-shadow: 0 26.4px 55.2px -24px rgba(10, 17, 25, 0.5);
  filter: none;
  transform: translateY(-3.6px) !important;
}
body[data-harmony="flat"] .tile-green  { background: linear-gradient(150deg, #25b25e, #16934a); }
body[data-harmony="flat"] .tile-royal  { background: linear-gradient(150deg, var(--royal), var(--royal-deep)); }
body[data-harmony="flat"] .tile-gold   { background: linear-gradient(150deg, var(--gold), var(--gold-deep)); }
body[data-harmony="flat"] .tile-purple { background: linear-gradient(150deg, #8059d8, #5638ac); }
body[data-harmony="flat"] .tile::after { height: 4.8px; opacity: 0.9; }
body[data-harmony="flat"] .tile-name { text-shadow: none; text-transform: none; letter-spacing: -0.01em; }
body[data-harmony="flat"] .tile-label { text-shadow: none; opacity: 0.82; }

/* ===== 2 · GLASS — frosted translucent cards that read as the blue ===== */
body[data-harmony="glass"] .tile {
  background: rgba(13, 42, 84, 0.46) !important;
  -webkit-backdrop-filter: blur(19.2px) saturate(1.3);
  backdrop-filter: blur(19.2px) saturate(1.3);
  border: 1.2px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 24px 60px -28.8px rgba(6, 22, 50, 0.7), inset 0 1.2px 0 rgba(255, 255, 255, 0.14);
  padding: 26.4px 26.4px 24px;
}
body[data-harmony="glass"] .tile:hover {
  filter: none;
  border-color: rgba(255, 255, 255, 0.34);
  box-shadow: 0 31.2px 67.2px -26.4px rgba(6, 22, 50, 0.75), inset 0 1.2px 0 rgba(255, 255, 255, 0.2);
  transform: translateY(-3.6px) !important;
}
body[data-harmony="glass"] .tile::after { height: 3.6px; opacity: 0.95; border-radius: 0 0 4.8px 4.8px; }
body[data-harmony="glass"] .tile-name { text-shadow: none; text-transform: none; color: #fff; letter-spacing: -0.01em; }
body[data-harmony="glass"] .tile-gold .tile-name,
body[data-harmony="glass"] .tile-gold .tile-label { color: #fff; }
body[data-harmony="glass"] .tile-label { text-shadow: none; color: rgba(255, 255, 255, 0.7); }

/* ===== 3 · TINTED — keep photos + skew, wash them blue to match hero ===== */
body[data-harmony="tinted"] .tile::before {
  background:
    linear-gradient(0deg,
      color-mix(in srgb, var(--royal-deep) 94%, #000) 0%,
      color-mix(in srgb, var(--royal-deep) 80%, transparent) 30%,
      color-mix(in srgb, var(--royal) 42%, transparent) 60%,
      transparent 90%),
    linear-gradient(120deg, color-mix(in srgb, var(--royal) 40%, transparent) 0%, transparent 60%) !important;
}
body[data-harmony="tinted"] .tile-art { filter: saturate(0.65) brightness(0.92) contrast(1.02); }

/* ===== 4 · BUSY HERO — amp the hero so it matches the cards' energy ===== */
body[data-harmony="busy"] .hero::before {
  background-image: radial-gradient(rgba(255, 255, 255, 0.085) 1.2px, transparent 1.2px);
  background-size: 22.8px 22.8px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.95), transparent 85%);
}
body[data-harmony="busy"] .hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    repeating-linear-gradient(115deg, transparent 0 52.8px, rgba(255, 255, 255, 0.028) 52.8px 54px),
    repeating-linear-gradient(115deg, transparent 0 160.8px, rgba(255, 234, 61, 0.06) 160.8px 164.4px);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 35%, #000 100%);
}
body[data-harmony="busy"] .hero-aurora span { opacity: 0.8; filter: blur(62.4px); }
/* gold angled seam that echoes the skewed tiles and joins hero → cards */
body[data-harmony="busy"] .hero-inner { padding-bottom: 201.6px; }
body[data-harmony="busy"] .tiles-wrap::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: -40.8px;
  height: 3.6px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 80%, transparent) 22%, var(--gold) 50%, color-mix(in srgb, var(--gold) 80%, transparent) 78%, transparent);
  transform: skewY(-1.2deg);
  opacity: 0.55;
}

/* ===== 5 · OUTLINE — flat dark cards, line-art, colour only on the edge ===== */
body[data-harmony="outline"] .tile {
  background: var(--navy) !important;
  border: 1.8px solid color-mix(in srgb, var(--tile-overlay) 60%, transparent);
  box-shadow: none;
  padding: 26.4px 26.4px 24px;
}
body[data-harmony="outline"] .tile::after { display: none; }
body[data-harmony="outline"] .tile:hover {
  filter: none;
  border-color: color-mix(in srgb, var(--tile-overlay) 95%, #fff);
  box-shadow: 0 19.2px 43.2px -26.4px rgba(6, 22, 50, 0.7);
  transform: translateY(-3.6px) !important;
}
body[data-harmony="outline"] .tile-name { text-shadow: none; text-transform: uppercase; color: #fff; }
body[data-harmony="outline"] .tile-name svg { color: color-mix(in srgb, var(--tile-overlay) 75%, #fff); }
body[data-harmony="outline"] .tile-label { text-shadow: none; color: color-mix(in srgb, var(--tile-overlay) 55%, #fff); }
body[data-harmony="outline"] .tile-gold { border-color: color-mix(in srgb, var(--gold) 75%, transparent); }
body[data-harmony="outline"] .tile-gold .tile-name svg { color: var(--gold); }
body[data-harmony="outline"] .tile-gold .tile-label { color: color-mix(in srgb, var(--gold) 78%, #fff); }

/* ============================================================
   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.4px); backdrop-filter: blur(2.4px); 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(432px, 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: 19.2px 21.6px; border-bottom: 1.2px solid var(--line); }
.nav-drawer-close { width: 43.2px; height: 43.2px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 9.6px; background: var(--bg); color: var(--ink); cursor: pointer; }
.nav-drawer-close svg { width: 21.6px; height: 21.6px; }
.nav-drawer-links { display: flex; flex-direction: column; padding: 14.4px; gap: 2.4px; }
.nav-drawer-links .nav-link { font-size: 18px; padding: 15.6px 16.8px; }
.nav-drawer-foot { margin-top: auto; padding: 19.2px; border-top: 1.2px solid var(--line); }
.nav-drawer-foot .btn { width: 100%; justify-content: center; }
body.drawer-open { overflow: hidden; }

/* Hero art: design used a drop-in <image-slot>; we ship a real agent
   cut-out PNG (Phoenix). Sit it flush to the bottom of the hero. */
.hero-art { display: flex; align-items: flex-end; justify-content: center; }
.hero-art img { width: 100%; max-width: 672px; height: auto; object-fit: contain; filter: drop-shadow(0 36px 60px rgba(0, 0, 0, 0.45)); }
@media (max-width: 1200px) { .hero-art { display: none; } }

/* 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: 9.6px 16px; gap: 12px; }
  .nav-actions { gap: 8px; }
  .nav-actions .nav-icon-btn { display: none; }
}
/* ==================================================
   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)
   --------------------------------------------------
   Cream page bg + a red 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(912px 528px at 88% -20%, rgba(255,70,85,0.10), transparent 60%),
    linear-gradient(160deg, #f6f3ec 0%, #efebe1 60%, #e9e4d8 100%);
  border-bottom: 1.2px solid #e4ded2;
  --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(54px * 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(15.6px, calc(15px * var(--k))); font-weight: 400; color: #4a4e57; line-height: 1.5; max-width: 624px; }
.vhero-eyebrow { display: inline-flex; align-items: center; gap: 10.8px; font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: #8a8578; }
.vhero-eyebrow svg { width: 16.8px; height: 16.8px; 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(18px * 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: 4.8px; }
.vhero-frow .fi { display: inline-flex; align-items: center; gap: 9.6px; padding: 2.4px 18px; font-family: var(--font-ui); font-size: 14.4px; font-weight: 600; letter-spacing: calc(0.03em * var(--tracking)); color: #2a2e36; border-left: 1.2px solid #d9d2c4; }
.vhero-frow .fi:first-child { padding-left: 0; border-left: 0; }
.vhero-frow svg { width: 18px; height: 18px; color: var(--cc-acc); }

/* crest-card / diagonal wedge system */
.cc-inner { position: relative; z-index: 2; max-width: 1584px; margin: 0 auto; padding: calc(58px * var(--k)) 28.8px; display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 36px; align-items: stretch; }
.cc-panel { position: relative; min-height: calc(300px * var(--k)); display: flex; align-items: center; justify-content: center; }
.cc-slash { position: absolute; z-index: 1; top: calc(-58px * var(--k)); bottom: calc(-58px * var(--k)); left: 16.8px; right: min(-48px, calc(744px - 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.2px, transparent 1.2px); background-size: 24px 24px; 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(10px * var(--k)); padding: calc(22px * var(--k)); text-align: center; }
.cc-crest { width: calc(140px * var(--k)); height: calc(140px * var(--k)); filter: drop-shadow(0 16.8px 36px rgba(0,0,0,0.4)); }
.cc-tag { font-family: var(--font-display); font-weight: 800; font-size: calc(32px * var(--k)); letter-spacing: 0.02em; color: #fff; line-height: 1; }
.cc-sub { font-family: var(--font-ui); font-size: max(12px, calc(11px * 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(19.2px); } to { opacity: 1; transform: none; } }
@keyframes perkIn { from { opacity: 0; transform: translateY(12px) 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: 31.2px; }
  .cc-panel { order: -1; min-height: 0; }
  .cc-slash { top: calc(-16px * var(--k)); bottom: calc(-16px * var(--k)); left: -28.8px; right: -28.8px; clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%); }
  .cc-card { padding: calc(30px * var(--k)) calc(20px * var(--k)); }
}

/* ==================================================
   CALCULATOR LAYOUT
   ================================================== */
.calc-section { background: var(--bg); padding: 43.2px 28.8px 72px; }
.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: 1526.4px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 432px; gap: 26.4px; align-items: start;
}
@media (max-width: 1296px) { .calc-layout { grid-template-columns: 1fr; } }
.calc-main { display:flex; flex-direction:column; gap: 21.6px; min-width: 0; }

/* lift the whole calculator up so it overlaps the hero a touch */
.calc-section { margin-top: -33.6px; 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) + 4.8px);
  box-shadow: var(--shadow-pop);
  padding: 12px;
  display: flex; gap: 9.6px; 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% - 9.6px); }
.prod-menu .prod-tab.big .prod-tab-ico { width: 48px; height: 48px; }
.prod-menu .prod-tab.big .prod-tab-ico svg { width: 25.2px; height: 25.2px; }
.prod-menu .prod-tab.big .prod-tab-name { font-size: 19.2px; }
.prod-menu .prod-tab:not(.big) { flex: 1 1 0; }
.prod-tab {
  flex: 1 1 auto;
  position: relative;
  display: flex; align-items: center; gap: 13.2px;
  padding: 14.4px 16.8px;
  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.2px); }
.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: 40.8px; height: 40.8px; 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:21.6px; height:21.6px; }
.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:4.8px; min-width:0; }
.prod-tab-name {
  font-family: var(--font-display); font-weight: 700; font-size: 16.8px;
  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: 10.2px; 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.2px; right:-4.8px;
  font-family: var(--font-ui); font-size: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.4px 7.2px;
  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:1198.8px; padding:8.4px; gap:7.2px; box-shadow: var(--shadow-soft); }
body[data-menu="pillicon"] .prod-tab { border-radius:1198.8px; background:none; border:none; padding:9.6px 21.6px 9.6px 9.6px; }
body[data-menu="pillicon"] .prod-tab:hover { background: var(--royal-tint); transform:none; }
body[data-menu="pillicon"] .prod-tab-ico { width:45.6px; height:45.6px; 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.4px; right:7.2px; }

/* ---- 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:12px; }
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:18px 19.2px; 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.4px); box-shadow: var(--shadow-pop); }
body[data-menu="accent"] .prod-tab.is-active { transform: translateY(-3.6px); 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: 14.4px;
}
body[data-menu="cards"] .prod-tab {
  flex: 1 1 0; flex-direction: column; align-items: flex-start; gap: 21.6px;
  min-height: 139.2px; padding: 19.2px 19.2px 18px; 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.6px); 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:20.4px; }
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: 110.4px; } }

/* ==================================================
   CALCULATOR CARD
   ================================================== */
.calc-card {
  position: relative;
  background:
    radial-gradient(984px 456px at 85% -10%, rgba(255,70,85,0.06), transparent 60%),
    radial-gradient(744px 408px 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) + 4.8px);
  box-shadow: var(--shadow-soft);
  padding: 31.2px 33.6px 36px;
  overflow: hidden;
}
.calc-card-head {
  display:flex; align-items:center; justify-content:space-between;
  gap:16.8px; flex-wrap:wrap; margin-bottom: 26.4px;
}
.calc-card-head .ttl {
  font-family: var(--font-display); font-weight:700; font-size:24px;
  letter-spacing:-0.02em; color: var(--ink);
  display:inline-flex; align-items:center; gap:12px;
}
.calc-card-head .ttl svg { width:21.6px; height:21.6px; color: var(--royal); }
.calc-chip {
  font-family: var(--font-ui); font-size:11.4px; 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.2px 14.4px;
  display:inline-flex; align-items:center; gap:8.4px;
}
.calc-chip .dot { width:8.4px;height:8.4px;border-radius:50%;background:var(--green); }
.calc-chip .chip-ico { width:15.6px; height:15.6px; color: var(--green); }
.calc-chip .chip-dot { width:9.6px; height:9.6px; 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: 21.6px; 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: 21.6px 21.6px 24px;
  display:flex; flex-direction:column; align-items:center; gap: 16.8px;
  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:14.4px; font-weight:600;
  letter-spacing: calc(0.18em * var(--tracking)); text-transform:uppercase;
  color: var(--ink-muted);
  display:flex; align-items:center; gap:9.6px;
}
.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 {
  position: relative; width: 278.4px; height: 278.4px;
  display:flex; align-items:center; justify-content:center;
}
.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(9.6px);
}
body.no-glow .crest-glow { display:none; }
.crest-img {
  position: relative; z-index: 2;
  width: 237.6px; height: 237.6px; object-fit: contain;
  filter: drop-shadow(0 12px 19.2px 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.6px); }
/* 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(10px); }
  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; } }
.rank-name-big {
  font-family: var(--font-display); font-weight:700; font-size: 26.4px;
  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:12px; font-weight:600;
  letter-spacing: calc(0.1em * var(--tracking)); color: var(--ink-muted);
  text-transform:uppercase; margin-top:3.6px;
}

/* tier dropdown */
.tier-select { position: relative; width: 100%; }
.tier-trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding: 12px 14.4px; 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:19.2px; color: var(--ink);
}
.tier-trigger:hover { border-color: var(--royal-soft); background:#fff; }
.tier-trigger .swatch { width:16.8px;height:16.8px;border-radius:4.8px; 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:19.2px;height:19.2px; 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.2px); 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.2px;
  display:grid; grid-template-columns: repeat(2, 1fr); gap:4.8px;
  opacity:0; visibility:hidden; transform: translateY(-7.2px);
  transition: opacity 180ms ease, transform 200ms var(--ease-out), visibility 180ms;
  max-height: 384px; overflow:auto;
}
.tier-select.open .tier-pop { opacity:1; visibility:visible; transform: translateY(0); }
.tier-opt {
  display:flex; align-items:center; gap:10.8px; padding:10.8px 12px; border-radius: 6px;
  cursor:pointer; transition: background 150ms ease;
  font-family: var(--font-display); font-size:15.6px; font-weight:600; color: var(--ink);
}
.tier-opt:hover { background: var(--royal-tint); }
.tier-opt.sel { background: var(--bg-soft); }
.tier-opt img { width:28.8px; height:28.8px; 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.2px; width:100%; }
.div-pill {
  flex:1; padding: 10.8px 0; border-radius: var(--r);
  background: var(--bg-soft); border:1.2px solid var(--line);
  font-family: var(--font-ui); font-size:14.4px; 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:12px;
}
.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:60px; height:48px; }
/* 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:36px; height:22.8px; --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:27.6px; height:27.6px; }
.rank-arrow-glyph .a-rocket { width:26.4px; height:26.4px; }
.rank-arrow-glyph .a-bolt { width:24px; height:27.6px; }
.rank-arrow-glyph .a-long { width:33.6px; height:22.8px; }
@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.4px); } }
@keyframes arr-rise { 0%,100%{ transform: translateY(2.4px) scale(0.96); } 50%{ transform: translateY(-3.6px) scale(1.04); } }
@keyframes arr-rocket { 0%,100%{ transform: translate(-1.2px,2.4px) rotate(-2deg); } 50%{ transform: translate(2.4px,-3.6px) rotate(2deg); filter: drop-shadow(0 4.8px 7.2px 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 8.4px var(--gold)); } }
@keyframes arr-long { 0%{ transform: translateX(-7.2px); opacity:0.6; } 55%{ transform: translateX(4.8px); opacity:1; } 100%{ transform: translateX(-7.2px); opacity:0.6; } }
.rank-arrow-jump {
  font-family: var(--font-ui); font-size:10.8px; 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; }
}

/* ==================================================
   CALC v2 · SLIDER LADDER (dual-handle)
   ================================================== */
.calc-slider-stage {
  display:grid; grid-template-columns: 1fr 1fr; gap: 19.2px; margin-bottom: 28.8px;
}
@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: 19.2px; display:flex; align-items:center; gap:16.8px;
  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: 132px; height:132px; 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.2px); }
body.no-glow .cs-crest .glow { display:none; }
.cs-crest img { position:relative; z-index:2; width:115.2px; height:115.2px; object-fit:contain; filter: drop-shadow(0 7.2px 12px 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:10.8px; 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:22.8px; letter-spacing:-0.02em; color: var(--ink); line-height:1.05; margin-top:2.4px; }
.cs-meta .cs-sub { font-family: var(--font-ui); font-size:10.8px; font-weight:600; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:3.6px; }

.cs-rail-wrap { padding: 7.2px 4.8px 2.4px; }
.cs-rail { position: relative; height: 67.2px; }
.cs-rail-track {
  position:absolute; left:12px; right:12px; top: 10.8px; height: 9.6px; border-radius:1198.8px;
  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: 31.2px; background:none; margin:0; pointer-events:none;
}
.cs-rail input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none; pointer-events:auto; width:28.8px; height:28.8px; 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:28.8px; height:28.8px; 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.2px; margin-top: 2.4px; }
.cs-rail-ticks .tk { display:flex; flex-direction:column; align-items:center; gap:3.6px; flex:1; }
.cs-rail-ticks .tk img { width:24px; height:24px; 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:8.4px; 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:10.8px; font-weight:600; letter-spacing: calc(0.1em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:14.4px; }
.cs-hint b { color: var(--royal); }
.cs-divrow { display:flex; gap:19.2px; justify-content:center; margin-top: 16.8px; }
.cs-divrow .grp { display:flex; flex-direction:column; align-items:center; gap:8.4px; }
.cs-divrow .grp .gl { font-family: var(--font-ui); font-size:10.2px; font-weight:600; letter-spacing: calc(0.14em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cs-divrow .div-pills { width: 201.6px; }

/* ==================================================
   CALC v3 · STEPPER ROWS
   ================================================== */
.calc-stepper { display:flex; flex-direction:column; gap: 16.8px; margin-bottom: 9.6px; }
.step-row {
  display:grid; grid-template-columns: 55.2px 1fr 55.2px; align-items:center; gap: 16.8px;
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 19.2px 19.2px;
  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: 55.2px; height: 55.2px; 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:24px; height:24px; }
.step-btn[disabled] { opacity:0.3; cursor:not-allowed; transform:none; }
.step-mid { display:flex; align-items:center; justify-content:center; gap: 19.2px; min-width:0; }
.step-crest { position:relative; width: 115.2px; height:115.2px; 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.2px); }
body.no-glow .step-crest .glow { display:none; }
.step-crest img { position:relative; z-index:2; width:105.6px; height:105.6px; object-fit:contain; filter: drop-shadow(0 7.2px 12px 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:10.8px; 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:26.4px; letter-spacing:-0.02em; color: var(--ink); line-height:1.0; margin-top:1.2px; }
.step-info .div-pills { margin-top:10.8px; width: 187.2px; }
.step-info .div-pills .div-pill { padding:7.2px 0; font-size:13.2px; }
.step-between {
  display:flex; align-items:center; justify-content:center; gap:14.4px; padding: 4.8px 0 2.4px;
}
.step-between .line { flex:1; height:1.2px; background: var(--line); max-width: 144px; }
.step-between .pill {
  font-family: var(--font-ui); font-size:12px; 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: 8.4px 16.8px; display:inline-flex; align-items:center; gap:9.6px;
}
.step-between .pill svg { width:15.6px; height:15.6px; }

/* ladder track (slim · illustrative) */
.ladder {
  margin-top: 26.4px; padding: 13.2px 19.2px 14.4px;
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r);
}
.ladder-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10.8px;
}
.ladder-head .lab {
  font-family: var(--font-ui); font-size:11.4px; font-weight:600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted);
}
.ladder-head .span { font-family: var(--font-ui); font-size:13.2px; font-weight:700; color: var(--ink); }
.ladder-head .span em { font-style:normal; color: var(--royal); }
.ladder-track { position: relative; height: 7.2px; border-radius: 1198.8px; background: var(--bg-deep); border:1.2px solid var(--line-soft); overflow:hidden; }
.ladder-fill {
  position:absolute; left: var(--from,0%); right: calc(100% - var(--to,100%));
  top:0; bottom:0; border-radius:1198.8px;
  background: linear-gradient(90deg, var(--tier-from,var(--royal)), var(--tier-to,var(--gold-deep)));
  transition: left 600ms var(--ease-out), right 600ms var(--ease-out);
}
.ladder-ticks { display:flex; justify-content:space-between; margin-top:12px; }
.ladder-tick {
  display:flex; flex-direction:column; align-items:center; gap:4.8px; flex:1;
}
.ladder-tick img { width:36px; height:36px; object-fit:contain; opacity:0.4; transition: opacity 300ms ease, transform 300ms ease; }
.ladder-tick.on img { opacity:1; transform: scale(1.12); }
.ladder-tick span {
  font-family: var(--font-ui); font-size:9px; font-weight:600;
  letter-spacing: calc(0.06em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted);
}
.ladder-tick.on span { color: var(--ink-soft); }
@media (max-width: 672px) { .ladder-tick span { display:none; } }

/* ---- LP slider ---- */
.calc-controls { margin-top: 19.2px; display:grid; grid-template-columns: 1fr 1fr; gap: 16.8px; }
@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: 19.2px 19.2px 21.6px;
}
.ctl-label {
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16.8px;
}
.ctl-label .l {
  font-family: var(--font-ui); font-size:11.4px; font-weight:600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted);
}
.ctl-label .v {
  font-family: var(--font-display); font-weight:700; font-size:18px; 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:9.6px; border-radius:1198.8px;
  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:24px; height:24px; 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:24px; height:24px; 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:12px; }
.lp-scale span { font-family: var(--font-ui); font-size:10.8px; color: var(--ink-muted); }

/* queue toggle (Solo / Flex) */
.queue-toggle { display:flex; gap:7.2px; }
.queue-opt {
  flex:1; display:flex; flex-direction:column; align-items:center; gap:3.6px;
  padding: 13.2px 9.6px; border-radius: 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:16.8px; color: var(--ink); white-space:nowrap; }
.queue-opt.sel .qn { color:#fff; }
.queue-opt .qs { font-family: var(--font-ui); font-size:9.6px; font-weight:600; 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(82px, 1fr)); gap:7.2px; }
@media (max-width: 552px) { .server-grid { grid-template-columns: repeat(3,1fr); } }
.server-opt {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding: 12px 4.8px; border-radius: 6px; cursor:pointer;
  background: var(--bg-soft); border:1.2px solid var(--line);
  transition: all 170ms var(--ease-out);
}
.server-opt:hover { border-color: var(--royal-soft); transform: translateY(-1.2px); }
.server-opt.sel { background: var(--royal-tint); border-color: var(--royal); }
.server-flag {
  width:45.6px; height:45.6px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background: #fff; border: 1.2px solid var(--line);
}
.server-opt.sel .server-flag { background: #fff; border-color: var(--royal-soft); }
.server-flag img { width:100%; height:100%; object-fit:contain; padding:8.4px; }
.server-opt { padding: 9.6px 4.8px; gap: 4.8px; }
.server-opt.sel .server-flag { box-shadow: 0 0 0 2.4px var(--gold); }
.server-opt .sname { font-family: var(--font-ui); font-size:10.8px; font-weight:700; letter-spacing: calc(0.06em * var(--tracking)); color: var(--ink-soft); }

/* ==================================================
   ORDER PANEL (sticky aside)
   ================================================== */
.order-aside { position: sticky; top: 100.8px; align-self: start; max-height: calc(100vh - 120px); overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.order-aside::-webkit-scrollbar { width: 7.2px; }
.order-aside::-webkit-scrollbar-thumb { background: var(--line); border-radius: 1198.8px; }
@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) + 4.8px);
  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: 21.6px 24px 19.2px; position:relative; overflow:hidden;
}
.order-top::before {
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1.2px, transparent 1.2px);
  background-size: 21.6px 21.6px; 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:12px; margin-bottom:19.2px; }
.order-title { font-family: var(--font-display); font-weight:800; font-size:21.6px; letter-spacing:-0.01em; }
.order-title em { font-style:normal; color: var(--gold); }
.order-secure { display:inline-flex; align-items:center; gap:7.2px; font-family: var(--font-ui); font-size:10.2px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.7); }
.order-secure svg { width:13.2px;height:13.2px; }
.order-journey { position:relative; display:flex; align-items:center; justify-content:center; gap:16.8px; padding:0; border-bottom:0; margin-bottom:0; }
.order-mini { display:flex; flex-direction:column; align-items:center; gap:6px; }
.order-mini img { width:144px; height:144px; object-fit:contain; filter: drop-shadow(0 7.2px 12px rgba(0,0,0,0.35)); }
.order-mini span { font-family: var(--font-display); font-size:20.4px; font-weight:700; letter-spacing: -0.01em; color:#fff; white-space:nowrap; }
.order-mini small { font-family: var(--font-ui); font-size: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:14.4px; height:19.2px; color: var(--gold); opacity:0.28; margin-left:-8.4px; }
.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: 19.2px 24px 4.8px; }
.order-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 10.8px 0; font-size:15px; 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:12.6px; 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:12.6px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink); display:inline-flex; align-items:center; gap:8.4px; font-variant-numeric: tabular-nums; }
.order-row .v .flag-sm { width:21.6px; height:21.6px; border-radius:50%; font-size:9.6px; }

/* 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: 4.8px; padding-top: 14.4px; border-top: 1.2px solid var(--line-soft); font-family: var(--font-ui); font-size: 10.8px; 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.6px; min-width: 0; font-family: var(--font-display); font-size: 14.4px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink); }
.order-xo-pick { font-family: var(--font-ui); font-size: 11.4px; 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: 14.4px 24px; padding: 13.2px 15.6px;
  display:flex; align-items:center; justify-content:space-between; gap:14.4px;
  border-radius: var(--r); background:#fff; border:1.2px solid var(--line);
}
.order-reward .orw-text { display:flex; flex-direction:column; gap:3.6px; min-width:0; }
.order-reward .orw-title { display:flex; align-items:center; gap:8.4px; font-family: var(--font-ui); font-size:12.6px; font-weight:700; letter-spacing: calc(0.09em * var(--tracking)); text-transform:uppercase; color: var(--ink); }
.order-reward .orw-star { width:15.6px; height:15.6px; color: var(--royal); flex-shrink:0; }
.order-reward .orw-sub { font-family: var(--font-ui); font-size:14.4px; 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:6px; padding:6px 10.8px; border-radius:999px; 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:10.2px; font-weight:800; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; flex-shrink:0; }
.order-reward .orw-badge svg { width:12px; height:12px; }

.order-total { padding: 12px 24px 0; display:flex; align-items:stretch; gap:12px; }
.order-total .price-col { flex:1; display:flex; flex-direction:column; gap:7.2px; padding: 14.4px 16.8px; 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:10.8px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:flex; align-items:center; gap:7.2px; 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:36px; 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:9.6px; font-weight:800; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--navy); background: var(--gold); border-radius:2.4px; padding:2.4px 6px; }
.order-foot { padding: 19.2px 24px 24px; }
.order-foot .btn { width:100%; justify-content:center; font-size:15.6px; padding: 18px; }
.order-note { margin-top:12px; text-align:center; font-family: var(--font-ui); font-size:10.8px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:flex; align-items:center; justify-content:center; gap:8.4px; }
.order-note svg { width:14.4px;height:14.4px; color: var(--green); }

/* ---- ORDER PANEL · MODERN (dark glass) skin ---- */
body[data-order="modern"] .order-panel {
  background:
    radial-gradient(504px 240px 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: 153.6px; height: 153.6px;
  filter: drop-shadow(0 9.6px 16.8px rgba(0,0,0,0.4));
}
body[data-order="modern"] .order-body { padding-top: 21.6px; }
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: 9.6px 28.8px 36px; }
.xopts-wrap { max-width: 1584px; margin: 0 auto; }
.xopts-card {
  background: var(--bg-soft); border:1.2px solid var(--line);
  border-radius: calc(var(--r) + 4.8px); padding: 28.8px 31.2px 31.2px;
}
.xopts-head { display:flex; align-items:flex-end; justify-content:space-between; gap:19.2px; flex-wrap:wrap; margin-bottom:21.6px; }
.xopts-head h2 { font-family: var(--font-display); font-weight:700; font-size: clamp(26.4px,2.4vw,36px); letter-spacing:-0.02em; color: var(--ink); }
.xopts-head h2 em { font-style:normal; color: var(--royal); }
.xopts-head p { font-size:15.6px; color: var(--ink-soft); margin-top:6px; max-width: 576px; }
.xopts-allnote { font-family: var(--font-ui); font-size:11.4px; font-weight:600; letter-spacing: calc(0.1em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:inline-flex; align-items:center; gap:8.4px; }
.xopts-allnote svg { width:15.6px; height:15.6px; color: var(--green); }

/* default skin: chips */
.xopts-chips { display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (max-width:672px){ .xopts-chips{ grid-template-columns: 1fr;} }
.xopt {
  position:relative; display:flex; align-items:flex-start; gap:14.4px;
  padding: 18px 18px; 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.4px); 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: 43.2px; height:43.2px; 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:21.6px; height:21.6px; }
.xopt-txt { flex:1; min-width:0; }
.xopt-name { font-family: var(--font-body); font-weight:700; font-size:16.8px; letter-spacing:-0.01em; color: var(--ink); display:flex; align-items:center; gap:8.4px; }
.xopt-price { font-family: var(--font-ui); font-size:10.2px; font-weight:700; letter-spacing: calc(0.06em * var(--tracking)); text-transform:uppercase; color: var(--green); margin-top:6px; align-self:flex-start; display:inline-flex; 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: 3.6px 9.6px; }
.xopt-price.paid { color: var(--gold-deep); background: color-mix(in srgb, var(--gold) 14%, #fff); border-color: color-mix(in srgb, var(--gold) 45%, var(--line)); }
.xopt-desc { font-size:13.8px; line-height:1.5; color: var(--ink-soft); margin-top:7.2px; }
.xopt-switch {
  width: 45.6px; height:26.4px; border-radius:1198.8px; 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:2.4px; left:2.4px; width:19.2px; height:19.2px; 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(19.2px); }

/* ---- XOPTS SKIN 2 · LIST ROWS ---- */
body[data-xopt="list"] .xopts-chips { grid-template-columns: 1fr 1fr; gap: 9.6px; }
@media (max-width: 984px){ body[data-xopt="list"] .xopts-chips { grid-template-columns: 1fr; } }
body[data-xopt="list"] .xopt { align-items: center; padding: 14.4px 16.8px; }
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: 16.8px; }
body[data-xopt="list"] .xopt-ico { width: 38.4px; height: 38.4px; }
body[data-xopt="list"] .xopt-ico svg { width: 19.2px; height: 19.2px; }

/* ---- XOPTS SKIN 3 · COMPACT TAGS ---- */
body[data-xopt="tags"] .xopts-chips { display: flex; flex-wrap: wrap; gap: 10.8px; }
body[data-xopt="tags"] .xopt {
  flex: 0 1 auto; align-items: center; gap: 10.8px; padding: 13.2px 19.2px;
  border-radius: var(--r);
}
body[data-xopt="tags"] .xopt:hover { transform: translateY(-2.4px); }
body[data-xopt="tags"] .xopt-desc,
body[data-xopt="tags"] .xopt-switch { display: none; }
body[data-xopt="tags"] .xopt-ico { width: 36px; height: 36px; border-radius: 1198.8px; }
body[data-xopt="tags"] .xopt-ico svg { width: 18px; height: 18px; }
body[data-xopt="tags"] .xopt-txt { flex-direction: row; align-items: center; gap: 10.8px; }
body[data-xopt="tags"] .xopt-name { font-size: 16.2px; }
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 28.8px 43.2px; }
.note-card {
  max-width: 1584px; margin: 0 auto;
  background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 4.8px);
  box-shadow: var(--shadow-soft); padding: 26.4px 28.8px 28.8px;
}
.note-head { display:flex; align-items:center; justify-content:space-between; gap:14.4px; margin-bottom:16.8px; }
.note-head .nt { font-family: var(--font-display); font-weight:700; font-size:21.6px; letter-spacing:-0.01em; color: var(--ink); display:inline-flex; align-items:center; gap:10.8px; }
.note-head .nt svg { width:19.2px; height:19.2px; color: var(--royal); }
.note-head .opt { font-family: var(--font-ui); font-size:10.8px; 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:6px 12px; }
.note-card textarea {
  width:100%; min-height: 115.2px; resize: vertical;
  border:1.2px solid var(--line); border-radius: var(--r); background: var(--bg-soft);
  padding: 15.6px 18px; font-family: var(--font-body); font-size:16.2px; 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:12px; margin-top:12px; }
.note-foot .hint { font-family: var(--font-ui); font-size:10.8px; letter-spacing: calc(0.08em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); display:inline-flex; align-items:center; gap:8.4px; }
.note-foot .hint svg { width:14.4px; height:14.4px; color: var(--royal); }
.note-foot .count { font-family: var(--font-ui); font-size:12px; color: var(--ink-muted); }

/* ==================================================
   SEO CONTENT BLOCKS
   ================================================== */
.seo { background: var(--bg-soft); padding: 76.8px 28.8px; border-top:1.2px solid var(--line-soft); }
.seo-wrap { max-width: 1584px; margin: 0 auto; display:grid; grid-template-columns: minmax(0,1fr) 360px; gap: 52.8px; align-items:start; }
.seo-main { display:flex; flex-direction:column; gap: 52.8px; min-width:0; }
.seo-aside { position: sticky; top: 100.8px; display:flex; flex-direction:column; gap:16.8px; }
@media (max-width: 1032px){ .seo-wrap { grid-template-columns: 1fr; gap: 43.2px; } .seo-aside { position: static; } }
.seo-block .seo-kicker {
  font-family: var(--font-ui); font-size:12px; font-weight:600;
  letter-spacing: calc(0.16em * var(--tracking)); text-transform:uppercase; color: var(--royal);
  display:inline-flex; align-items:center; gap:9.6px; margin-bottom:14.4px;
}
.seo-block .seo-kicker .tag { background: var(--royal); color:#fff; border-radius:2.4px; padding:3.6px 9.6px; }
.seo-block h2 { font-family: var(--font-display); font-weight:700; font-size: clamp(28.8px,2.8vw,40.8px); letter-spacing:-0.02em; color: var(--ink); margin-bottom:16.8px; }
.seo-block h2 em { font-style:normal; color: var(--royal); }
.seo-block p { font-size:18px; line-height:1.7; letter-spacing: -0.022em; color: var(--ink-soft); max-width: 912px; margin-bottom:14.4px; }
.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: 16.8px; margin-top: 9.6px; }
@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: 24px 21.6px; text-align:center; }
.seo-stat .n { font-family: var(--font-display); font-weight:800; font-size:36px; 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:10.8px; font-weight:600; letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:7.2px; }

/* steps row */
.seo-steps { display:grid; grid-template-columns: repeat(3,1fr); gap: 19.2px; margin-top: 7.2px; }
@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: 26.4px 24px; position:relative; overflow:hidden; }
.seo-step .num { font-family: var(--font-display); font-weight:800; font-size:16.8px; color:#fff; width:36px;height:36px; border-radius: var(--r); background: linear-gradient(135deg,var(--royal),var(--royal-deep)); display:flex; align-items:center; justify-content:center; margin-bottom:16.8px; }
.seo-step h3 { font-family: var(--font-display); font-weight:700; font-size:19.2px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:8.4px; }
.seo-step h3 em { font-style:normal; color: var(--royal); }
.seo-step p { font-size:15.6px; line-height:1.6; color: var(--ink-soft); margin:0; }

/* ==================================================
   CTA STRIP
   ================================================== */
.cta-strip { background: var(--navy); padding: 26.4px 28.8px; }
.cta-inner {
  max-width: 1320px; margin: 0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:28.8px; flex-wrap:wrap;
}
.cta-lead { display:flex; align-items:center; gap:16.8px; min-width:0; }
.cta-badge { width:55.2px; height:55.2px; 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:24px; height:24px; }
.cta-text { display:flex; flex-direction:column; gap:2.4px; min-width:0; }
.cta-text b { font-family: var(--font-display); font-weight:700; font-size:21.6px; letter-spacing:-0.01em; color:#fff; }
.cta-text small { font-family: var(--font-body); font-size:15px; 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.2px); }

/* ==================================================
   REVIEW SUBMIT (extends reviews)
   ================================================== */
.rev-submit-grid { max-width: 1584px; margin: 28.8px auto 0; display:grid; grid-template-columns: 384px 1fr; gap: 21.6px; align-items:start; }
@media (max-width: 1080px){ .rev-submit-grid{ grid-template-columns:1fr; } }
.rev-form { background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r)+2.4px); box-shadow: var(--shadow-soft); padding: 26.4px; }
.rev-form h3 { font-family: var(--font-body); font-weight:700; font-size:20.4px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:4.8px; }
.rev-form .sub { font-size:15px; color: var(--ink-soft); margin-bottom:19.2px; }
.rev-field { margin-bottom:14.4px; }
.rev-field label { display:block; font-family: var(--font-ui); font-size:10.8px; font-weight:600; letter-spacing: calc(0.12em * var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-bottom:7.2px; }
.rev-field input, .rev-field textarea, .rev-field select {
  width:100%; border:1.2px solid var(--line); border-radius: 6px; background: var(--bg-soft);
  padding:12px 14.4px; font-family: var(--font-body); font-size:15.6px; 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:6px; }
.rev-star { width:36px; height:36px; border-radius: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:19.2px; height:19.2px; }
.rev-star.on { background: var(--gold); border-color: var(--gold-deep); color: var(--navy); }
.rev-list { display:flex; flex-direction:column; gap:14.4px; }
.rev-item { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-soft); padding: 21.6px 24px; }
.rev-item-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9.6px; }
.rev-item .tp-stars { display:flex; gap:2.4px; color: var(--gold-deep); }
.rev-item .tp-stars svg { width:15.6px; height:15.6px; }
.rev-item .when { font-family: var(--font-ui); font-size:10.8px; 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:18px; letter-spacing:-0.01em; color: var(--ink); margin-bottom:6px; }
.rev-item p { font-size:15.6px; line-height:1.6; color: var(--ink-soft); margin-bottom:9.6px; }
.rev-item .who { display:flex; align-items:center; gap:9.6px; font-family: var(--font-ui); font-size:11.4px; 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:4.8px; color: var(--green); }
.rev-item .who .verif svg { width:13.2px; height:13.2px; }

/* faq groups on subpage reuse .faq styles but allow a section title block */
.faq.subfaq { background: var(--bg); padding: 48px 28.8px; }
.faq.subfaq + .faq.subfaq { padding-top: 0; }
.faq.subfaq .wrap { max-width: 1584px; padding-left: 0; padding-right: 0; }
.faq.subfaq .section-head { margin-bottom: 0; }
.faq.subfaq .section-title { font-size: clamp(22.8px, 2vw, 30px); }
.faq.subfaq .faq-grid { margin-top: 19.2px; }
.faq.subfaq .faq-col { gap: 9.6px; }
.faq.subfaq .faq-q { padding: 15.6px 18px; font-size: 15.6px; }
.faq.subfaq .faq-a { padding: 0 18px; }
.faq.subfaq .faq-item.is-open .faq-a { padding: 0 18px 15.6px; }
.faq.subfaq .faq-group-head { max-width:1584px; margin: 0 auto 4.8px; padding-left: 0; padding-right: 0; }
.faq-group-head .gk { font-family: var(--font-ui); font-size:12px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--royal); display:inline-flex; align-items:center; gap:9.6px; }
.faq-group-head .gk svg { width:15.6px; height:15.6px; }

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

/* ==================================================
   HERO C · CENTERED
   ================================================== */
.subhero-c .subhero-c-inner {
  position: relative; z-index: 2; max-width: 1032px; margin: 0 auto;
  padding: 67.2px 28.8px 76.8px; display:flex; flex-direction:column; align-items:center; text-align:center; gap: 4.8px;
}
.subhero-c .subhero-crumbs { justify-content:center; }
.subhero-c h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(43.2px,4.6vw,67.2px); letter-spacing:-0.03em; line-height:1.06; margin-bottom:21.6px; }
.subhero-c h1 em { font-style:normal; color: var(--gold); }
.subhero-c .lead { font-family: var(--font-body); font-size: clamp(18px,1.5vw,21.6px); font-weight:500; color: rgba(255,255,255,0.78); line-height:1.5; max-width: 720px; margin-bottom: 26.4px; }
.subhero-c-feats { display:flex; gap:9.6px; flex-wrap:wrap; justify-content:center; margin-bottom: 28.8px; }
.subhero-c-ctas { display:flex; gap:14.4px; flex-wrap:wrap; justify-content:center; margin-bottom: 26.4px; }

/* ==================================================
   HERO D · STAT BAND
   ================================================== */
.subhero-d .subhero-d-inner { position: relative; z-index: 2; max-width: 1584px; margin: 0 auto; padding: 57.6px 28.8px 0; }
.subhero-d-top { display:flex; align-items:flex-end; justify-content:space-between; gap:28.8px; flex-wrap:wrap; padding-bottom: 38.4px; }
.subhero-d h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(43.2px,4.6vw,67.2px); letter-spacing:-0.03em; line-height:1.0; margin-bottom:14.4px; }
.subhero-d h1 em { font-style:normal; color: var(--gold); }
.subhero-d .lead { font-family: var(--font-body); font-size: clamp(18px,1.4vw,21.6px); font-weight:500; color: rgba(255,255,255,0.78); line-height:1.45; max-width: 624px; }
.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: 26.4px 21.6px; 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(31.2px,3vw,45.6px); 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:10.8px; font-weight:600; letter-spacing: calc(0.12em*var(--tracking)); text-transform:uppercase; color: rgba(255,255,255,0.55); margin-top:9.6px; }

/* ==================================================
   HERO E · COMPACT BAR
   ================================================== */
.subhero-e .subhero-e-inner { position: relative; z-index: 2; max-width: 1584px; margin: 0 auto; padding: 31.2px 28.8px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.subhero-e-left { display:flex; align-items:center; gap:21.6px; }
.subhero-e h1 { font-family: var(--font-display); font-weight:700; font-size: clamp(33.6px,3vw,48px); letter-spacing:-0.03em; line-height:1; }
.subhero-e h1 em { font-style:normal; color: var(--gold); }
.subhero-e-div { width:1.2px; height:40.8px; background: rgba(255,255,255,0.2); }
.subhero-e-rating { display:flex; align-items:center; gap:9.6px; }
.subhero-e-rating .tp-stars { display:flex; gap:2.4px; color: var(--gold); }
.subhero-e-rating .tp-stars svg { width:16.8px; height:16.8px; }
.subhero-e-rating span { font-family: var(--font-ui); font-size:12px; 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:12px; flex-wrap:wrap; }
@media (max-width:744px){ .subhero-e .subhero-e-inner{ padding: 26.4px 28.8px; } .subhero-e-div{ display:none; } }

/* ==================================================
   EXTRA OPTIONS · tag-note box (visible only in Tags layout)
   ================================================== */
.xopts-tagnote { display: none; margin-top: 16.8px; align-items: center; gap: 16.8px; padding: 16.8px 19.2px; 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:48px; height:48px; 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:24px; height:24px; }
.xopts-tagnote .xtn-body { min-width:0; }
.xopts-tagnote .xtn-head { display:flex; align-items:center; gap:12px; }
.xopts-tagnote .xtn-name { font-family: var(--font-body); font-weight:700; font-size:18px; letter-spacing:-0.01em; color: var(--ink); }
.xopts-tagnote .xtn-price { font-family: var(--font-ui); font-size:10.8px; 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.4px 9.6px; }
.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:15.6px; line-height:1.5; color: var(--ink-soft); margin-top:3.6px; }

/* ==================================================
   CALC v4 · TIER GRID
   ================================================== */
.cg-preview { display:flex; align-items:center; justify-content:center; gap:26.4px; margin-bottom:21.6px; }
.cg-mini { display:flex; align-items:center; gap:15.6px; background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 14.4px 19.2px; }
.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:93.6px; height:93.6px; 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.2px); }
body.no-glow .cg-crest .glow { display:none; }
.cg-crest img { position:relative; z-index:2; width:84px; height:84px; object-fit:contain; filter: drop-shadow(0 7.2px 12px rgba(27,31,42,0.25)); }
.cg-tx { display:flex; flex-direction:column; gap:2.4px; }
.cg-tx .cg-l { font-family: var(--font-ui); font-size:10.8px; 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:22.8px; letter-spacing:-0.02em; color: var(--ink); }
.cg-arrow { color: var(--royal); display:flex; }
.cg-arrow svg { width:26.4px; height:26.4px; }
.cg-editswitch { display:flex; gap:7.2px; background: var(--bg-deep); border:1.2px solid var(--line); border-radius: var(--r); padding:4.8px; max-width: 504px; margin: 0 auto 19.2px; }
.cg-edit { flex:1; padding:10.8px 14.4px; border-radius:calc(var(--r) - 2.4px); border:none; background:none; cursor:pointer; font-family: var(--font-ui); font-size:13.2px; 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:9.6px; margin-bottom:19.2px; }
@media (max-width:672px){ .cg-tiers{ grid-template-columns: repeat(3,1fr); } }
.cg-tier { display:flex; flex-direction:column; align-items:center; gap:6px; padding:14.4px 7.2px; 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.4px); box-shadow: var(--shadow-soft); }
.cg-tier img { width:55.2px; height:55.2px; object-fit:contain; }
.cg-tier span { font-family: var(--font-ui); font-size:10.8px; 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:19.2px; justify-content:center; }
.cg-divrow .grp { display:flex; flex-direction:column; align-items:center; gap:8.4px; }
.cg-divrow .grp .gl { font-family: var(--font-ui); font-size:10.2px; font-weight:600; letter-spacing: calc(0.14em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); }
.cg-divrow .div-pills { width: 201.6px; }

/* ==================================================
   CALC v5 · COMPACT DROPDOWNS
   ================================================== */
.cmp-row { display:grid; grid-template-columns: 1fr auto 1fr; gap:16.8px; align-items:center; }
@media (max-width:816px){ .cmp-row{ grid-template-columns: 1fr; } }
.cmp-card { display:flex; align-items:center; gap:16.8px; background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 19.2px; }
.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:100.8px; height:100.8px; 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.2px); }
body.no-glow .cmp-crest .glow { display:none; }
.cmp-crest img { position:relative; z-index:2; width:91.2px; height:91.2px; object-fit:contain; filter: drop-shadow(0 7.2px 12px rgba(27,31,42,0.25)); }
.cmp-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:10.8px; }
.cmp-lab { font-family: var(--font-ui); font-size:10.8px; 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:12px 14.4px; font-family: var(--font-body); font-weight:600; font-size:16.8px; 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:55.2px; height:55.2px; 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:24px; height:24px; }
@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.2px 9.6px 14.4px; gap: 14.4px; }
body[data-calc="spotlight"] .rank-station.is-focus { box-shadow: none; }
body[data-calc="spotlight"] .crest-stage { width: 336px; height: 336px; }
body[data-calc="spotlight"] .crest-img { width: 292.8px; height: 292.8px; }
body[data-calc="spotlight"] .crest-glow { opacity: 0.4; inset: 2%; filter: blur(16.8px); }
body[data-calc="spotlight"] .crest-ring { opacity: 0.7; }
body[data-calc="spotlight"] .rank-name-big { font-size: 33.6px; }
body[data-calc="spotlight"] .tier-select, body[data-calc="spotlight"] .div-pills { max-width: 312px; }
body[data-calc="spotlight"] .rank-arrow-glyph { width: 72px; height: 72px; }

/* ---- v3 · ROWS — each station a horizontal row, stacked vertically ---- */
body[data-calc="rows"] .rank-stations { grid-template-columns: 1fr; gap: 14.4px; }
body[data-calc="rows"] .rank-station {
  flex-direction: row; align-items: center; text-align: left; gap: 24px; padding: 21.6px 26.4px;
}
body[data-calc="rows"] .rank-station .crest-stage { width: 180px; height: 180px; flex-shrink: 0; }
body[data-calc="rows"] .rank-station .crest-img { width: 153.6px; height: 153.6px; }
body[data-calc="rows"] .rank-station-label { position: absolute; top: 16.8px; left: 26.4px; }
body[data-calc="rows"] .rank-station { position: relative; padding-top: 48px; }
body[data-calc="rows"] .rank-name-big { flex: 0 0 156px; text-align: left; }
body[data-calc="rows"] .rank-name-big small { margin-top: 6px; }
body[data-calc="rows"] .tier-select { flex: 1; min-width: 144px; }
body[data-calc="rows"] .div-pills { flex: 0 0 216px; }
body[data-calc="rows"] .rank-arrow { flex-direction: row; gap: 16.8px; padding: 2.4px 0; }
body[data-calc="rows"] .rank-arrow-glyph { transform: rotate(90deg); width: 50.4px; height: 50.4px; }
body[data-calc="rows"] .rank-arrow-glyph svg { animation: none; }
@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(840px 384px at 50% -10%, rgba(255,234,61,0.10), transparent 60%), linear-gradient(165deg, #1b1f2a, #0a2752 60%, #11141c);
  border-radius: calc(var(--r) + 4.8px); padding: 31.2px 26.4px; margin: -4.8px 0 4.8px;
  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(14.4px); }
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: 69.6px; height: 69.6px; border-radius: 50%;
  font-family: var(--font-display); font-weight: 800; font-size: 24px; 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.2px;
}
@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.2px 12px 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 28.8px; margin-top: 21.6px; }
.rev-summary {
  max-width: 1584px; margin: 0 auto 19.2px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 40.8px; align-items: center;
  background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 2.4px);
  box-shadow: var(--shadow-soft); padding: 26.4px 33.6px;
}
@media (max-width: 1032px){ .rev-summary { grid-template-columns: 1fr; gap: 21.6px; justify-items:center; text-align:center; } }
.rev-sum-score { display:flex; flex-direction:column; align-items:center; gap:8.4px; }
.rev-sum-score .big { font-family: var(--font-display); font-weight:800; font-size:67.2px; letter-spacing:-0.03em; line-height:0.9; color: var(--ink); }
.rev-sum-score .big span { font-size:26.4px; font-weight:500; color: var(--ink-muted); }
.rev-sum-score .tp-stars { display:flex; gap:2.4px; color: var(--gold-deep); }
.rev-sum-score .tp-stars svg { width:20.4px; height:20.4px; }
.rev-sum-count { font-family: var(--font-ui); font-size:12px; 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.2px; min-width: 264px; width:100%; max-width: 432px; }
.rev-bar { display:flex; align-items:center; gap:12px; font-family: var(--font-ui); font-size:12px; color: var(--ink-muted); }
.rev-bar .s { width:12px; text-align:center; color: var(--ink-soft); font-weight:700; }
.rev-bar i { flex:1; height:8.4px; border-radius:1198.8px; 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:1198.8px; }
.rev-bar em { width:40.8px; text-align:right; font-style:normal; color: var(--ink-soft); }
.rev-sum-badges { display:flex; flex-direction:column; gap:10.8px; }
.rev-sum-badges span { display:inline-flex; align-items:center; gap:9.6px; font-family: var(--font-ui); font-size:12px; font-weight:600; letter-spacing: calc(0.08em*var(--tracking)); text-transform:uppercase; color: var(--ink-soft); }
.rev-sum-badges svg { width:16.8px; height:16.8px; color: var(--green); }
.rev-submit-grid { max-width: 1584px; margin: 0 auto; grid-template-columns: 408px 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: 1fr; } }

/* summary now lives in the left column, above the form */
.rev-left { display:flex; flex-direction:column; gap:16.8px; min-width:0; }
.rev-left .rev-summary { display:flex; flex-direction:column; align-items:stretch; gap:15.6px; margin:0; padding:21.6px 24px; text-align:left; }
.rev-left .rev-summary .rev-sum-score { flex-direction:row; align-items:center; gap:15.6px; justify-content:flex-start; }
.rev-left .rev-summary .rev-sum-score .big { font-size:48px; }
.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:10.8px 16.8px; }
@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, 1fr); gap: 14.4px; 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:19.2px; }
body[data-reviews="wall"] .rev-left { flex-direction:row; align-items:stretch; gap:19.2px; }
body[data-reviews="wall"] .rev-left .rev-summary { flex:0 0 384px; }
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: 14.4px; }
@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:1584px; margin:0 auto 16.8px; display:flex; align-items:center; gap:14.4px; flex-wrap:wrap; background: var(--bg-soft); border:1.2px solid var(--line); border-radius: var(--r); padding:13.2px 19.2px; }
.rev-trust .tp-stars { display:flex; gap:2.4px; color: var(--green); }
.rev-trust .tp-stars svg { width:18px; height:18px; }
.rev-trust-txt { font-size:15px; 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:9.6px; margin-top:14.4px; font-size:13.8px; line-height:1.5; color: var(--ink-muted); }
.rev-auto svg { width:16.8px; height:16.8px; color: var(--green); flex-shrink:0; margin-top:1.2px; }

/* back-to-top button */
.totop-wrap { display:flex; justify-content:center; background: var(--bg); padding: 9.6px 28.8px 36px; }
.totop-btn { display:inline-flex; align-items:center; gap:10.8px; font-family: var(--font-ui); font-size:14.4px; 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:16.8px 31.2px; 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-btn:hover { background: var(--royal-deep); border-color: var(--royal-deep); color:#fff; transform: translateY(-2.4px); }
.totop-btn .totop-ico { width:16.8px; height:16.8px; 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: 1080px; }

.sa-card { flex-direction: column; gap: 16.8px; background:#fff; border:1.2px solid var(--line); border-radius: calc(var(--r) + 2.4px); box-shadow: var(--shadow-soft); padding: 24px; }
.sa-card-head { display:flex; align-items:center; gap:10.8px; font-family: var(--font-display); font-weight:700; font-size:18px; color: var(--ink); }
.sa-card-head svg { width:21.6px; height:21.6px; color: var(--royal); }
.sa-list { display:flex; flex-direction:column; gap:10.8px; }
.sa-list li { display:flex; align-items:flex-start; gap:10.8px; font-size:15px; line-height:1.4; color: var(--ink-soft); }
.sa-list svg { width:16.8px; height:16.8px; color: var(--green); flex-shrink:0; margin-top:1.2px; }
.sa-rating { display:flex; align-items:center; gap:9.6px; padding-top:14.4px; border-top:1.2px solid var(--line-soft); }
.sa-rating .tp-stars { display:flex; gap:1.2px; color: var(--gold-deep); }
.sa-rating .tp-stars svg { width:15.6px; height:15.6px; }
.sa-rating span { font-family: var(--font-ui); font-size:12px; 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:384px; border-radius:12px; overflow:hidden; }
.sa-media-cap { display:flex; align-items:center; gap:9.6px; margin-top:12px; font-family: var(--font-ui); font-size:13.2px; font-weight:600; color: var(--ink-soft); }
.sa-media-cap svg { width:16.8px; height:16.8px; 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.4px); padding: 36px 38.4px; 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.2px; margin-top:19.2px; }
.rev-page, .rev-page-nav {
  font-family: var(--font-ui); font-size:14.4px; font-weight:700; color: var(--ink-soft);
  background:#fff; border:1.2px solid var(--line); border-radius: var(--r);
  min-width:40.8px; height:40.8px; padding:0 13.2px; display:inline-flex; align-items:center; justify-content:center; gap:7.2px;
  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:15.6px; height:15.6px; }
.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: 15.6px 18px; }
.calc-controls .ctl-label { margin-bottom: 12px; }

/* 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: 14.4px; flex-wrap: wrap;
  padding-bottom: 2.4px;
}
.rlh-count { font-family: var(--font-ui); font-size: 12px; 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; align-items: center; gap: 4.8px; background: #fff; border: 1.2px solid var(--line); border-radius: var(--r); padding: 3.6px; box-shadow: var(--shadow-soft); }
.rev-sort-lab { font-family: var(--font-ui); font-size: 10.8px; font-weight: 600; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); padding: 0 7.2px 0 8.4px; }
.rev-sort-btn { font-family: var(--font-ui); font-size: 13.2px; font-weight: 700; color: var(--ink-soft); background: none; border: none; border-radius: calc(var(--r) - 2.4px); padding: 7.2px 13.2px; 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 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: 15.6px; height: 15.6px; margin-left: 3.6px; transition: transform 220ms var(--ease-out); }
.nav-dd:hover .nav-dd-caret { transform: rotate(180deg); }
.nav-dd-menu {
  position: absolute; top: calc(100% + 9.6px); left: 50%; transform: translateX(-50%) translateY(-7.2px);
  width: 348px; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 2.4px);
  box-shadow: var(--shadow-pop); padding: 8.4px; 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: -9.6px; left: 0; right: 0; height: 9.6px; }
.nav-dd-menu > a { display: flex; align-items: center; gap: 13.2px; padding: 10.8px 12px; border-radius: var(--r); transition: background 150ms ease; }
.nav-dd-menu > a:hover { background: var(--royal-tint); }
.nav-dd-menu > a svg { width: 20.4px; height: 20.4px; color: var(--royal); flex-shrink: 0; }
.nav-dd-menu > a span { display: flex; flex-direction: column; gap: 1.2px; min-width: 0; }
.nav-dd-menu > a b { font-family: var(--font-display); font-weight: 700; font-size: 15px; 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: 10.8px; 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: 8.4px; margin-top: 3.6px; border-top: 1.2px solid var(--line-soft); border-radius: 0 0 var(--r) var(--r); font-family: var(--font-ui); font-size: 12px; font-weight: 700; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--royal); }
.nav-dd-menu .nav-dd-all svg { width: 15.6px; height: 15.6px; }
@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: 64.8px; }

/* center the arrow column vertically against the crests (not the full station height) */
.rank-arrow { align-self: start; margin-top: 187.2px; }
@media (max-width: 864px) { .rank-arrow { align-self: center; margin-top: 0; } }
body[data-calc="spotlight"] .rank-arrow { margin-top: 189.6px; }
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; }
body[data-prod="packs"] .calc-srv-block { display: none; }

/* 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: 21.6px; }

/* wins / duo-wins split: control left, division-style rank station right */
.wins-split { display:grid; grid-template-columns: 1fr 1fr; gap:21.6px; 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: 201.6px; height: 201.6px; }
.wins-station .crest-img { width: 156px; height: 156px; }
.rankbox { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 19.2px 21.6px 21.6px; }
.rb-label { display:flex; align-items:center; gap:9.6px; font-family: var(--font-ui); font-size:11.4px; font-weight:600; letter-spacing: calc(0.16em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-bottom:16.8px; }
.rb-label .pin { color: var(--royal); display:inline-flex; }
.rb-row { display:flex; align-items:center; gap:21.6px; }
.rb-crest { position:relative; width:129.6px; height:129.6px; 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(9.6px); }
body.no-glow .rb-crest .glow { display:none; }
.rb-crest img { position:relative; z-index:2; width:115.2px; height:115.2px; object-fit:contain; filter: drop-shadow(0 9.6px 16.8px rgba(27,31,42,0.26)); transition: transform 360ms var(--ease-out); }
.rankbox:hover .rb-crest img { transform: scale(1.05) translateY(-2.4px); }
.rb-fields { flex:1; min-width:0; display:flex; flex-direction:column; gap:12px; }
.rb-tier { position:relative; }
.rb-pills { display:flex; gap:7.2px; }

/* ---- quantity block (wins / hours) ---- */
.qty-block { background:#fff; border:1.2px solid var(--line); border-radius: var(--r); padding: 19.2px 21.6px 21.6px; }
.qty-block .ctl-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:16.8px; }
.qty-block .ctl-label .l { font-family: var(--font-ui); font-size:11.4px; 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:18px; 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: 19.2px; }
.win-dial { position: relative; width: 240px; height: 240px; touch-action: none; }
.dial-svg { width: 100%; height: 100%; display: block; transform: rotate(0deg); }
.dial-track { fill: none; stroke: #ffe0e3; stroke-width: 9; transform: rotate(-90deg); transform-origin: 100px 100px; }
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-origin: 100px 100px; 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: 86.4px; 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: 13.2px; font-weight: 700; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); margin-top: 9.6px; }
.dial-presets { display: flex; gap: 7.2px; }

.qty-stepper { flex-wrap:wrap; align-items:center; gap:14.4px; }
.qty-btn { width:52.8px; height:52.8px; 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:21.6px; height:21.6px; }
.qty-readout { display:flex; flex-direction:column; align-items:center; min-width:93.6px; }
.qty-readout span { font-family: var(--font-display); font-weight:800; font-size:40.8px; 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:10.2px; font-weight:600; letter-spacing: calc(0.12em*var(--tracking)); text-transform:uppercase; color: var(--ink-muted); margin-top:4.8px; }
.qty-presets { display:flex; gap:7.2px; margin-left:auto; }
.qty-preset { padding:9.6px 15.6px; border-radius: var(--r); border:1.2px solid var(--line); background: var(--bg-soft); font-family: var(--font-ui); font-size:14.4px; 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; }

.pp-note { display:flex; align-items:flex-start; gap:10.8px; margin-top:19.2px; font-size:14.4px; line-height:1.5; color: var(--ink-soft); }
.pp-note svg { width:16.8px; height:16.8px; color: var(--green); flex-shrink:0; margin-top:1.2px; }
.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:12px; }
.game-card { display:flex; flex-direction:column; align-items:center; gap:4.8px; padding: 24px 16.8px; 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.4px); 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:48px; 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:15.6px; color: var(--ink); }
.game-card .gc-sub { font-family: var(--font-ui); font-size:10.8px; 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:12px; }

/* ---- coaching roles ---- */
.role-block { margin-bottom:19.2px; }
.role-block .ctl-label { margin-bottom:14.4px; }
.role-block .ctl-label .l { font-family: var(--font-ui); font-size:11.4px; 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:9.6px; }
.role-opt { display:flex; flex-direction:column; align-items:center; gap:8.4px; padding:16.8px 7.2px; 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.4px); color: var(--royal); }
.role-opt.sel { background: var(--royal); border-color: var(--royal-deep); color:#fff; }
.role-opt svg { width:26.4px; height:26.4px; }
.role-opt span { font-family: var(--font-ui); font-size:12px; 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.2px; }
body[data-co="list"] .role-opt { flex-direction:row; justify-content:flex-start; gap:14.4px; padding:13.2px 19.2px; }
body[data-co="list"] .role-opt svg { width:21.6px; height:21.6px; }

/* ---- packs · preset rank-journey deal cards (XL deals) ---- */
.deals-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:16.8px; }
@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: 19.2px;
  background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 4.8px);
  padding: 24px; 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(-4.8px); 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: 13.2px; left: 13.2px;
  width: 32.4px; height: 36px; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-ui); font-weight: 800; font-size: 16.8px; 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.4px; left: 50%; transform: translateX(-50%); width: 48px; height: 26.4px; clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 100%, 0 60%); border-radius: 0 0 4.8px 4.8px; }
@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.2px); 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: 15.6px; color: #fff;
  background: linear-gradient(135deg, var(--orange), var(--orange-deep));
  padding: 8.4px 15.6px; border-radius: 0 calc(var(--r) + 4.8px) 0 14.4px;
  box-shadow: 0 4.8px 14.4px -4.8px rgba(255,122,42,0.6);
}

.dl-head { display: flex; flex-direction: column; gap: 3.6px; padding-right: 67.2px; }
.dl-kicker { font-family: var(--font-ui); font-size: 11.4px; 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: 30px; 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.2px; padding: 7.2px 0 2.4px; }
.dl-c { display: flex; flex-direction: column; align-items: center; gap: 9.6px; min-width: 0; }
.dl-c { position: relative; }
.dl-c img { position: relative; z-index: 2; width: 93.6px; height: 93.6px; object-fit: contain; filter: drop-shadow(0 7.2px 13.2px rgba(27,31,42,0.24)); }
.dl-c::before { content:''; position:absolute; top:-2.4px; left:50%; transform:translateX(-50%); width:100.8px; height:100.8px; border-radius:50%; background: radial-gradient(circle, var(--tier-c, var(--royal)) 0%, transparent 66%); opacity:0.2; filter: blur(8.4px); }
body.no-glow .dl-c::before { display:none; }
.dl-c i { font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: 15px; letter-spacing:-0.01em; color: var(--ink); text-transform: uppercase; white-space: nowrap; }
.dl-arrow { display: flex; align-items: center; justify-content: center; width: 40.8px; height: 40.8px; border-radius: 50%; background: var(--royal-tint); color: var(--royal); align-self: flex-start; margin-top: 26.4px; }
.dl-arrow svg { width: 19.2px; height: 19.2px; }

.dl-pricing { display: flex; align-items: flex-end; justify-content: space-between; gap: 14.4px; padding-top: 16.8px; border-top: 1.2px solid var(--line-soft); }
.dl-price { font-family: var(--font-display); font-weight: 800; font-size: 40.8px; letter-spacing: -0.035em; line-height: 0.9; color: var(--ink); }
.dl-saves { display: flex; flex-direction: column; align-items: flex-end; gap: 4.8px; }
.dl-saves b { font-family: var(--font-ui); font-size: 13.2px; 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: 10.8px; font-weight: 700; color: var(--royal); background: var(--royal-tint); border-radius: 3.6px; padding: 2.4px 7.2px; }

.dl-eta { display: inline-flex; align-items: center; gap: 8.4px; font-family: var(--font-ui); font-size: 12px; font-weight: 700; letter-spacing: calc(0.08em*var(--tracking)); text-transform: uppercase; color: var(--ink-soft); }
.dl-eta svg { width: 15.6px; height: 15.6px; color: var(--gold-deep); }

.dl-cta { display: flex; align-items: center; justify-content: center; gap: 9.6px; margin-top: auto; padding: 16.8px; border-radius: var(--r); background: var(--royal); color: #fff; font-family: var(--font-ui); font-weight: 700; font-size: 14.4px; 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: 14.4px; }
.dl-cta svg { width: 18px; height: 18px; }

/* ====== VARIANT 2 · ROWS (full-width horizontal table-style) ====== */
body[data-packs="rows"] .deals-grid { grid-template-columns: 1fr; gap: 12px; }
body[data-packs="rows"] .dl { display: grid; grid-template-columns: 1.5fr 1.7fr auto auto auto; align-items: center; gap: 26.4px; padding: 19.2px 26.4px 19.2px 21.6px; }
body[data-packs="rows"] .dl-off { position: static; border-radius: 1198.8px; padding: 6px 13.2px; font-size: 13.2px; 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: 24px; }
body[data-packs="rows"] .dl-journey { padding: 0; gap: 4.8px; }
body[data-packs="rows"] .dl-c img { width: 62.4px; height: 62.4px; }
body[data-packs="rows"] .dl-c::before { width: 67.2px; height: 67.2px; }
body[data-packs="rows"] .dl-c i { font-size: 13.2px; }
body[data-packs="rows"] .dl-arrow { width: 31.2px; height: 31.2px; margin-top: 16.8px; }
body[data-packs="rows"] .dl-arrow svg { width: 15.6px; height: 15.6px; }
body[data-packs="rows"] .dl-pricing { flex-direction: column; align-items: flex-end; gap: 4.8px; padding-top: 0; border-top: none; }
body[data-packs="rows"] .dl-price { font-size: 31.2px; }
body[data-packs="rows"] .dl-eta { flex-direction: column; gap: 4.8px; text-align: center; }
body[data-packs="rows"] .dl-cta { margin-top: 0; padding: 14.4px 26.4px; 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: 14.4px; padding-top: 31.2px; }
body[data-packs="spotlight"] .dl-head { padding-right: 0; align-items: center; order: 2; gap: 2.4px; }
body[data-packs="spotlight"] .dl-kicker { order: 2; }
body[data-packs="spotlight"] .dl-target { order: 1; font-size: 32.4px; }
body[data-packs="spotlight"] .dl-journey { order: 1; display: flex; flex-direction: column; gap: 7.2px; }
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: 148.8px; height: 148.8px; }
body[data-packs="spotlight"] .dl-c::before { width: 158.4px; height: 158.4px; 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.2px; width: 100%; }
body[data-packs="spotlight"] .dl-price { font-size: 48px; }
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(504px 240px 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: 9.6px 0 4.8px; }
body[data-packs="spotlight"] .dl-c:last-child { position: relative; padding: 21.6px; }
body[data-packs="spotlight"] .dl-c:last-child img { position: relative; z-index: 3; width: 139.2px; height: 139.2px; }
/* float baseline — every version bobs over an animated ground shadow */
body[data-packs="spotlight"] .dl-c:last-child::before {
  content:''; position:absolute; z-index:0; bottom:9.6px; left:50%; transform:translateX(-50%);
  width: 110.4px; height: 15.6px; border-radius:50%;
  background: radial-gradient(ellipse, rgba(27,31,42,0.30), transparent 70%);
}
@media (prefers-reduced-motion: no-preference) {
  body[data-packs="spotlight"][data-float="on"] .dl-c:last-child img { animation: spot-bob 3s ease-in-out infinite; }
  body[data-packs="spotlight"][data-float="on"] .dl-c:last-child::before { animation: spot-shadow 3s ease-in-out infinite; }
}
@keyframes spot-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4.8px); } }
@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:180px; height:180px;
  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:168px; height:168px; 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:187.2px; height:187.2px; 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: 4.8px;
  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;
}
body[data-packs="spotlight"][data-spot="hex"] .dl-c:last-child::before { background: none; }
@media (prefers-reduced-motion: no-preference) {
  body[data-packs="spotlight"][data-float="on"][data-spot="hex"] .dl-c:last-child img { animation: spot-bob 3s ease-in-out infinite; }
}

/* ====== 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: 9.6px; left:50%; transform: translateX(-50%);
  width: 54%; height: 14.4px; 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(-4.8px) 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:6px; font-family: var(--font-display); font-weight:800; font-size:26.4px; letter-spacing:-0.02em; color:#fff; }
.order-mini.solo { gap:8.4px; }
/* 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: 144px; height: 144px; object-fit: contain; filter: drop-shadow(0 7.2px 12px rgba(0,0,0,0.35)); }
.order-mini .order-qty-crest .qbadge {
  position: absolute; right: 2.4px; bottom: 9.6px;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 31.2px; height: 26.4px; padding: 0 8.4px;
  border-radius: 999px; background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 15.6px; 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: 9.6px; gap: 7.2px; }
  .prod-menu .prod-tab.big,
  .prod-menu .prod-tab:not(.big) { flex: 1 1 calc(50% - 3.6px); }
  .prod-menu .prod-tab.big .prod-tab-name { font-size: 13px; }
  .prod-menu .prod-tab.big .prod-tab-ico { width: 38.4px; height: 38.4px; }
  .prod-tab { padding: 9.6px; }
  .prod-tab-name { font-size: 13px; }
  .prod-tab-sub { font-size: 9px; }
  .prod-tab-txt { gap: 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: 28.8px; }
.pay-overlay[hidden] { display: none; }
.pay-backdrop { position: absolute; inset: 0; background: rgba(27, 31, 42, 0.62); -webkit-backdrop-filter: blur(4.8px); backdrop-filter: blur(4.8px); }
.pay-modal { position: relative; z-index: 1; width: 100%; max-width: 648px; max-height: 92vh; overflow-y: auto; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 9.6px); box-shadow: 0 48px 120px -24px rgba(27, 31, 42, 0.55); padding: 33.6px; }
.pay-close { position: absolute; top: 19.2px; right: 19.2px; width: 43.2px; height: 43.2px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 9.6px; 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: 21.6px; height: 21.6px; }
.pay-eyebrow { display: inline-flex; align-items: center; gap: 8.4px; font-family: var(--font-ui); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.pay-eyebrow svg { width: 15.6px; height: 15.6px; }
.pay-title { font-family: var(--font-display); font-weight: 700; font-size: 33.6px; letter-spacing: -0.02em; color: var(--ink); margin-top: 7.2px; }
.pay-title em { font-style: normal; color: var(--accent); }
.pay-recap { display: flex; align-items: center; gap: 16.8px; margin: 24px 0; padding: 16.8px 19.2px; background: var(--bg-soft); border: 1.2px solid var(--line); border-radius: var(--r); }
.pay-recap-journey { display: inline-flex; align-items: center; gap: 9.6px; flex-shrink: 0; }
.pay-recap-crest, .pay-recap-crest img { width: 48px; height: 48px; }
.pay-recap-crest img { object-fit: contain; }
.pay-recap-arr { width: 19.2px; height: 19.2px; color: var(--accent); }
.pay-recap-meta { display: flex; flex-direction: column; gap: 2.4px; min-width: 0; flex: 1; }
.pay-recap-name { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); }
.pay-recap-sub { font-size: 14.4px; color: var(--ink-muted); }
.pay-recap-total { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; }
.pay-recap-total-lbl { font-family: var(--font-ui); font-size: 10.8px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
.pay-recap-total-amt { font-family: var(--font-display); font-weight: 800; font-size: 28.8px; color: var(--accent); letter-spacing: -0.02em; }
.pay-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14.4px; }
.pay-field { display: flex; flex-direction: column; gap: 7.2px; min-width: 0; }
.pay-field-full { grid-column: 1 / -1; }
.pay-label { font-family: var(--font-ui); font-size: 12px; 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: 11px; }
.pay-field input { font-family: var(--font-body); font-size: 16.8px; padding: 13.2px 15.6px; 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); }
.pay-methods-label { font-family: var(--font-ui); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); margin: 21.6px 0 10.8px; }
.pay-methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.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.4px; padding: 15.6px 16.8px; 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: 12px; right: 15.6px; color: var(--accent); font-weight: 800; font-size: 16.8px; }
.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: 18px; color: var(--ink); }
.pay-method-sub { font-size: 13.2px; color: var(--ink-muted); }
.pay-tos { display: flex; align-items: flex-start; gap: 10.8px; margin: 21.6px 0 19.2px; font-size: 15px; color: var(--ink-soft); line-height: 1.5; }
.pay-tos input { margin-top: 2.4px; width: 19.2px; height: 19.2px; 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: 15.6px; padding: 18px; }
.pay-trust { display: flex; justify-content: center; flex-wrap: wrap; gap: 21.6px; margin-top: 16.8px; font-family: var(--font-ui); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.pay-trust span { display: inline-flex; align-items: center; gap: 7.2px; }
.pay-trust svg { width: 15.6px; height: 15.6px; color: var(--green); }
body.pay-open { overflow: hidden; }
@media (max-width: 560px) { .pay-fields, .pay-methods { grid-template-columns: 1fr; } .pay-modal { padding: 26.4px 19.2px; } .pay-title { font-size: 27.6px; } }
/* 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). */
.pay-recap-journey { align-items: stretch; gap: 4.8px; }
.pay-recap-journey .order-mini { display: inline-flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4.8px; width: 92px; flex-shrink: 0; }
.pay-recap-journey .order-mini > img,
.pay-recap-journey .order-mini > .order-qty-badge { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pay-recap-journey .order-mini > img { object-fit: contain; transform: scale(var(--crest-scale, 1)); }
.pay-recap-journey .order-qty-badge { border-radius: 14px; background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 28px; 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: 30px; height: 30px; }
.pay-recap-journey .order-mini span { font-family: var(--font-display); font-size: 13.2px; font-weight: 700; color: var(--ink); white-space: nowrap; line-height: 1.1; }
.pay-recap-journey .order-mini small { font-family: var(--font-ui); font-size: 9.6px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.pay-recap-journey .order-arrow { display: inline-flex; align-self: center; color: var(--accent); margin: 0 2.4px; }
.pay-recap-journey .order-arrow svg { width: 16.8px; height: 16.8px; }

/* ==================================================
   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: 52px; padding-bottom: 46px; }

/* 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: 54px 0 64px;
}

/* 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.2px; justify-content: center; margin-top: 26.4px; }
body.vb-boost-page .rev-page { min-width: 40px; height: 40px; padding: 0 12px; 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: 13.2px; 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: 14.4px; margin-top: 4.8px; }
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: 11.4px; font-weight: 600; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-soft); display: block; margin-bottom: 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: 11px 13px; font-family: var(--font-body); font-size: 15px; 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: 13px 18px; 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; }
.agent-pop { position: fixed; inset: 0; z-index: 1200; display: none; }
/* Anchor the modal to the TOP (was place-items:center). The plugin animates the
   agent panels with jQuery slideUp/slideDown on every role click, so the modal's
   height oscillates mid-animation; with vertical centering it re-centered each
   frame and visibly bounced/jumped — which read as the popup "opening and closing"
   on a role click even though it never actually closed. Top-anchoring keeps the
   modal fixed while the panels grow/shrink below it. */
.agent-pop.open { display: grid; place-items: start center; padding: 24px; overflow-y: auto; }
.agent-pop-backdrop { position: absolute; inset: 0; background: rgba(27,31,42,0.6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.agent-pop-modal { position: relative; z-index: 1; width: 100%; max-width: 760px; max-height: 88vh; overflow-y: auto; background: #fff; border: 1.2px solid var(--line); border-radius: calc(var(--r) + 9.6px); box-shadow: 0 48px 120px -24px rgba(27,31,42,0.55); padding: 28.8px; }
.agent-pop-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 9.6px; background: var(--bg); color: var(--ink-soft); font-size: 16px; 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: 9.6px; font-family: var(--font-display); font-weight: 700; font-size: 26.4px; letter-spacing: -0.01em; color: var(--ink); }
.agent-pop-title em { font-style: normal; color: var(--accent); }
.agent-pop-title svg { width: 24px; height: 24px; color: var(--accent); }
.agent-pop-sub { font-size: 14.4px; color: var(--ink-soft); margin: 7.2px 0 19.2px; }
.agent-pop-foot { margin-top: 21.6px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.agent-pop-foot .btn { min-width: 150px; justify-content: center; }
.ap-count { font-family: var(--font-ui); font-size: 13.2px; color: var(--ink-soft); }

/* re-open link added to the champions chip */
.xopt-edit { margin-top: 7.2px; align-self: flex-start; background: var(--royal-tint); color: var(--accent); border: none; border-radius: 999px; padding: 4.8px 12px; font-family: var(--font-ui); font-size: 11.4px; 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: 19.2px; }
.ap-role-head { font-family: var(--font-ui); font-size: 11.4px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-muted); margin-bottom: 9.6px; }
.ap-agents { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 9.6px; }
.ap-agent { display: flex; align-items: center; gap: 8.4px; width: 100%; box-sizing: border-box; padding: 10.8px 13.2px; border: 1.2px solid var(--line); border-radius: var(--r); background: #fff; cursor: pointer; font-family: var(--font-body); font-size: 14.4px; 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: 16.8px; 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: 19.2px; height: 19.2px; 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: 12px; height: 12px; }
.ap-agent.is-sel .ap-agent-tick { opacity: 1; transform: scale(1); }
.ap-empty { font-size: 14.4px; 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; }

/* ==================================================
   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: 19.2px; padding-bottom: 19.2px; }
.calc-main { gap: 9.6px; }
.rank-stations { gap: 14.4px; }
.rank-station { padding: 10.8px 15.6px 13.2px; gap: 8.4px; }
.rank-station-label { font-size: 12px; }
.tier-trigger { padding: 7.2px 12px; }
.tier-trigger .lab { font-size: 15.6px; }
.tier-opt { padding: 8.4px 10.8px; font-size: 14.4px; }
.div-pill { padding: 6px 0; }
.rank-arrow-glyph { width: 50.4px; height: 50.4px; }
.calc-controls { margin-top: 12px; gap: 12px; }
.calc-controls .ctl-block { padding: 10.8px 13.2px; }
.calc-controls .ctl-label { margin-bottom: 8.4px; }
.queue-opt { padding: 9.6px 10.8px; }
.ladder { margin-top: 10.8px; padding: 8.4px 14.4px 8.4px; }
.ladder-tick img { width: 22.8px; height: 22.8px; }
.server-block { margin-top: 13.2px; }
.server-opt { padding: 6px 4.8px; }
.server-flag { width: 33.6px; height: 33.6px; }

/* ==================================================
   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: 52.8px; padding-bottom: 52.8px; }
.reviews .section-head { margin-bottom: 2.4px; }
.rev-wrap { margin-top: 14.4px; }
.rev-submit-grid { margin-top: 19.2px; }
.rev-summary { margin-bottom: 14.4px; }

/* ==================================================
   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; }
/*!
 * 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;
}
/**
 * Order Preview Sidebar — card styles
 *
 * All rules use !important to override the develop-branch wildcard
 * declarations in main.css (.rgt-sidebar-section * { … !important }).
 */

/* ── Reset ── */
.order-card,
.order-card *,
.order-card *::before,
.order-card *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: normal !important;
}

/* ── Variables ── */
.order-card {
  --oc-card: #fff;
  --oc-accent: #0364a9;
  --oc-accent-dk: #1e40af;
  --oc-accent-lt: rgba(37, 99, 235, .05);
  --oc-accent-glow: rgba(37, 99, 235, .10);
  --oc-border: #d4d7dd;
  --oc-border-lt: #e8eaee;
  --oc-txt: #0a0f1a;
  --oc-txt2: #555d6e;
  --oc-txt3: #8b92a0;
  --oc-green: #16a34a;
  --oc-green-lt: rgba(22, 163, 74, .08);
  --oc-heading: 'League', 'avenirnextcyr-bold', sans-serif;
  --oc-body: 'avenirnextcyr-medium', system-ui, sans-serif;
  --oc-body-med: 'avenirnextcyr-medium', system-ui, sans-serif;
  --oc-body-bold: 'avenirnextcyr-bold', system-ui, sans-serif;
  --oc-mono: 'Roboto', system-ui, monospace;
  --oc-rad: 6px;
  --oc-rad-lg: 10px;
}

/* ── Animations ── */
@keyframes oc-cardIn {
  from { opacity: 0; transform: translateY(20px) scale(.97); }
  to   { opacity: 1; transform: none; }
}

@keyframes oc-stIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}

@keyframes oc-hLine {
  from { opacity: 0; transform: scaleX(0); }
  to   { opacity: .7; transform: scaleX(1); }
}

@keyframes oc-prGlow {
  from { opacity: .3; }
  to   { opacity: .7; }
}

@keyframes oc-badgePop {
  from { opacity: 0; transform: scale(.7); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes oc-sPop {
  0%   { transform: scale(.9); }
  50%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* VIP rotating border */
@property --oc-border-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes oc-borderSpin {
  to { --oc-border-angle: 360deg; }
}

/* Trustpilot star bounce */
@keyframes oc-tpIn {
  0%   { opacity: 0; transform: translateY(6px) scale(.7); }
  70%  { opacity: 1; transform: translateY(-2px) scale(1.05); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* ── Card shell ── */
.order-card {
  width: 100% !important;
  background: var(--oc-card) !important;
  border: 1px solid var(--oc-border) !important;
  border-radius: var(--oc-rad-lg) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 32px rgba(0, 0, 0, .08) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  animation: oc-cardIn .7s cubic-bezier(.16, 1, .3, 1) both .05s !important;
}

.order-card .oc-stagger {
  opacity: 1 !important;
  animation: oc-stIn .5s cubic-bezier(.16, 1, .3, 1) both !important;
}

/* ── Header ── */
.order-card .order-header {
  position: relative !important;
  padding: 1.4rem 1.6rem 1.2rem !important;
  background: linear-gradient(135deg, rgba(37, 99, 235, .04) 0%, rgba(255, 255, 255, .9) 40%, rgba(37, 99, 235, .03) 100%) !important;
  border-bottom: 1px solid var(--oc-border) !important;
  overflow: hidden !important;
}

.order-card .order-header::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(37, 99, 235, .03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .03) 1px, transparent 1px) !important;
  background-size: 16px 16px !important;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .05)) !important;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .05)) !important;
}

.order-card .order-header::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, transparent 5%, var(--oc-accent) 50%, transparent 95%) !important;
  opacity: 0 !important;
  animation: oc-hLine .8s ease forwards .3s !important;
}

.order-card .order-title {
  font-family: var(--oc-heading) !important;
  font-weight: 500 !important;
  font-size: 2.6rem !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
  color: var(--oc-txt) !important;
}

.order-card .order-title em {
  font-style: normal !important;
  color: #0362a5 !important;
  font-family: var(--oc-heading) !important;
  font-weight: 500 !important;
}

/* ── Route banner ── */
.order-card .oc-route-banner {
  padding: .85rem 1.6rem !important;
  background: #f6f7f9 !important;
  border-bottom: 1px solid var(--oc-border-lt) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .7rem !important;
  flex-wrap: wrap !important;
}

.order-card .oc-route-text {
  font-family: var(--oc-body-bold) !important;
  font-weight: 500 !important;
  font-size: 1.18rem !important;
  letter-spacing: -.01em !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  color: var(--oc-txt) !important;
  min-width: 0 !important;
}

.order-card .oc-route-text span {
  white-space: nowrap !important;
}

.order-card .oc-route-text .oc-arrow {
  color: var(--oc-accent) !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.order-card .oc-route-text .oc-arrow svg {
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
}

.order-card .oc-route-tag {
  font-family: var(--oc-body-bold) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #0a0f1a !important;
  background: var(--oc-accent-lt) !important;
  border: 1px solid var(--oc-accent-glow) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* ── Progress track ── */
.order-card .oc-progress-section {
  padding: 1rem 1.6rem !important;
  border-bottom: 1px solid var(--oc-border-lt) !important;
}

.order-card .oc-progress-label-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: .5rem !important;
}

.order-card .oc-progress-label {
  font-family: var(--oc-body-med) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: var(--oc-txt3) !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.order-card .oc-progress-label svg {
  width: 14px !important;
  height: 14px !important;
  display: inline-block !important;
}

.order-card .oc-progress-pct {
  display: none !important;
}

.order-card .oc-progress-track {
  position: relative !important;
  height: 6px !important;
  background: rgba(37, 99, 235, .08) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: inset 0 1px 2px rgba(37, 99, 235, .1) !important;
}

.order-card .oc-progress-fill {
  height: 100% !important;
  width: 0 !important;
  border-radius: 4px !important;
  background: linear-gradient(90deg, #ff9000, #ff9000, #ff9000) !important;
  box-shadow: 0 0 10px rgb(255, 144, 0) !important;
  transition: width 1.4s cubic-bezier(.25, .46, .45, .94) !important;
  position: relative !important;
}

.order-card .oc-progress-fill::after {
  content: '' !important;
  position: absolute !important;
  right: -5px !important;
  top: -3px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #ff9000 !important;
  border: 2px solid var(--oc-card) !important;
  box-shadow: 0 0 0 2px var(--oc-accent-glow), 0 2px 6px rgba(37, 99, 235, .4) !important;
  opacity: 1 !important;
}

.order-card .oc-progress-ranks {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: .45rem !important;
  position: relative !important;
  overflow: hidden !important;
}

.order-card .oc-progress-ranks::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: repeating-linear-gradient(90deg, var(--oc-border) 0, var(--oc-border) 3px, transparent 3px, transparent 6px) !important;
}

.order-card .oc-rank-tick {
  padding-top: 4px !important;
  position: relative !important;
  text-align: center !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.order-card .oc-rank-tick::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1px !important;
  height: 4px !important;
  background: var(--oc-border) !important;
}

.order-card .oc-rank-tick img {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  object-fit: contain !important;
  opacity: .5 !important;
  filter: grayscale(100%) !important;
  transition: all .2s !important;
}

.order-card .oc-rank-tick.active img {
  opacity: 1 !important;
  filter: none !important;
}

.order-card .oc-rank-tick.active::before {
  background: var(--oc-accent) !important;
  box-shadow: 0 0 3px var(--oc-accent-glow) !important;
}

/* ── Detail grid ── */
.order-card .oc-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  border-bottom: 1px solid var(--oc-border-lt) !important;
}

.order-card .oc-detail-cell {
  padding: .8rem .7rem !important;
  text-align: center !important;
  border-right: 1px solid var(--oc-border-lt) !important;
  transition: background .2s !important;
}

.order-card .oc-detail-cell:last-child {
  border-right: none !important;
}

.order-card .oc-detail-cell:hover {
  background: rgba(37, 99, 235, .015) !important;
}

.order-card .oc-detail-val {
  font-family: var(--oc-body-bold) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--oc-txt) !important;
  letter-spacing: -.01em !important;
  margin-bottom: 2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.order-card .oc-detail-val.mono {
  font-family: var(--oc-body-bold) !important;
}

.order-card .oc-detail-lbl {
  font-family: var(--oc-body-med) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: var(--oc-txt3) !important;
}

.order-card .oc-detail-lbl.league {
  /*! font-family: var(--oc-heading) !important; */
}

/* ── Breakdown ── */
.order-card .oc-breakdown {
  padding: .95rem 1.6rem !important;
  border-bottom: 1px solid var(--oc-border-lt) !important;
}

.order-card .oc-breakdown-title {
  font-family: var(--oc-body-med) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: var(--oc-txt3) !important;
  margin-bottom: .55rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.order-card .oc-breakdown-title svg {
  width: 12px !important;
  height: 12px !important;
  display: inline-block !important;
}

.order-card .oc-breakdown-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: .35rem 0 !important;
}

.order-card .oc-breakdown-row + .oc-breakdown-row {
  border-top: 1px dashed var(--oc-border-lt) !important;
}

.order-card .oc-breakdown-item {
  font-family: var(--oc-body) !important;
  font-size: 14px !important;
  color: var(--oc-txt2) !important;
  font-weight: 400 !important;
}

.order-card .oc-breakdown-item .oc-dot {
  display: inline-block !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  margin-right: 5px !important;
  vertical-align: middle !important;
}

.order-card .oc-dot.blue {
  background: var(--oc-accent) !important;
}

.order-card .oc-dot.green {
  background: var(--oc-green) !important;
}

.order-card .oc-breakdown-val {
  font-family: var(--oc-body-bold) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--oc-txt) !important;
  white-space: nowrap !important;
}

.order-card .oc-breakdown-val.accent {
  color: #0a0f1a !important;
}

.order-card .oc-breakdown-val.muted {
  color: #0a0f1a !important;
  font-weight: 400 !important;
}

/* ── VIP banner (rotating border) ── */
.order-card .oc-vip-banner {
  margin: 1rem 1.2rem .85rem !important;
  padding: .85rem 1rem !important;
  border-radius: var(--oc-rad) !important;
  background: transparent !important;
  border: none !important;
  position: relative !important;
  z-index: 0 !important;
  transition: box-shadow .25s !important;
}

.order-card .oc-vip-banner:hover {
  box-shadow: 0 0 0 2px var(--oc-accent-glow), 0 4px 16px rgba(37, 99, 235, .1) !important;
}

.order-card .oc-vip-banner::before {
  content: '' !important;
  position: absolute !important;
  inset: 1px !important;
  z-index: -2 !important;
  border-radius: calc(var(--oc-rad) + 1px) !important;
  background: conic-gradient(
    from var(--oc-border-angle, 0deg),
    transparent 0%, transparent 20%,
    #ff9000 30%, rgba(96, 165, 250, .7) 38%,
    transparent 48%, transparent 70%,
    rgb(255, 144, 0) 80%, transparent 90%
  ) !important;
  animation: oc-borderSpin 3.5s linear infinite !important;
}

.order-card .oc-vip-banner::after {
  content: '' !important;
  position: absolute !important;
  inset: 1.5px !important;
  z-index: -1 !important;
  background: linear-gradient(135deg, #f5f7ff, #fbfcff) !important;
  border-radius: calc(var(--oc-rad) - .5px) !important;
}

.order-card .oc-vip-title {
  font-family: var(--oc-body-bold) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0364a9 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  margin-bottom: .35rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.order-card .oc-vip-title svg {
  width: 13px !important;
  height: 13px !important;
  display: inline-block !important;
}

.order-card .oc-vip-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

.order-card .oc-vip-detail {
  font-family: var(--oc-body-med) !important;
  font-size: 15px !important;
  color: var(--oc-txt2) !important;
  font-weight: 500 !important;
}

.order-card .oc-vip-detail strong {
  color: var(--oc-accent) !important;
  font-weight: 500 !important;
}

.order-card .oc-vip-badge {
  font-family: var(--oc-body-bold) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  padding: 3px 7px !important;
  border-radius: 3px !important;
  background: var(--oc-green-lt) !important;
  color: var(--oc-green) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(22, 163, 74, .15) !important;
  opacity: 1 !important;
  animation: oc-badgePop .4s cubic-bezier(.16, 1, .3, 1) both 1.6s !important;
}

.order-card .calculate_discount_sum {
  display: none !important;
}

/* ── Price section ── */
.order-card .oc-price-section {
  padding: 1rem 1.6rem !important;
  /*! border-bottom: 1px solid var(--oc-border-lt) !important; */
}

.order-card .oc-price-block {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
}

.order-card .oc-price-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: center !important;
}

.order-card .oc-price-label {
  font-family: var(--oc-body-med) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.order-card .oc-price-label.reg {
  color: var(--oc-txt3) !important;
}

.order-card .oc-price-label.vip {
  color: #0364a9 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.order-card .oc-price-label .oc-tag {
  font-family: var(--oc-mono) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  background: var(--oc-accent) !important;
  color: #fff !important;
  letter-spacing: .04em !important;
}

.order-card .oc-price-amount {
  font-family: var(--oc-body-bold) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  line-height: 1 !important;
}

.order-card .oc-price-amount.regular {
  font-size: 1.76rem !important;
  color: var(--oc-txt) !important;
  text-align: center !important;
}

.order-card .oc-price-amount.vip {
  font-size: 1.76rem !important;
  color: var(--oc-accent) !important;
  position: relative !important;
  text-align: center !important;
}

.order-card .oc-price-amount.vip::after {
  content: '' !important;
  position: absolute !important;
  inset: -3px -4px !important;
  border-radius: 5px !important;
  background: rgba(37, 99, 235, .04) !important;
  filter: blur(4px) !important;
  z-index: -1 !important;
  animation: oc-prGlow 3s ease-in-out infinite alternate !important;
}

.order-card .currency-symbol {
  font-size: .5em !important;
  vertical-align: super !important;
  margin-right: 1px !important;
  font-weight: 500 !important;
  opacity: .7 !important;
  font-family: roboto;
}

.order-card .oc-price-divider-v {
  width: 1px !important;
  height: 42px !important;
  margin: 0 .8rem !important;
  background: linear-gradient(180deg, transparent, var(--oc-border), transparent) !important;
}

.order-card .oc-savings-row {
  margin-top: .7rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  justify-content: center !important;
}

.order-card .oc-savings-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: var(--oc-mono) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--oc-green) !important;
  padding: 3px 9px !important;
  border-radius: var(--oc-rad) !important;
  background: var(--oc-green-lt) !important;
  border: 1px solid rgba(22, 163, 74, .12) !important;
}

.order-card .oc-savings-chip svg {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* ── CTA (clean hover lift) ── */
.order-card .oc-cta-wrap {
  /* Bigger horizontal + bottom padding so the Purchase Now button has
     more breathing room from the card edges. */
  padding: .2rem 1.4rem 1.4rem !important;
}

.order-card .calculate-end-button {
  display: contents !important;
}

.order-card .calculate-button {
  position: relative !important;
  width: 100% !important;
  height: 56px !important;
  background: #0364a9;
  border: none !important;
  border-radius: var(--oc-rad) !important;
  font-family: var(--oc-body-bold) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform .35s ease, box-shadow .35s ease !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, .3), inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -2px 0 rgba(0, 0, 0, .1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.order-card .calculate-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(37, 99, 235, .4), inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -2px 0 rgba(0, 0, 0, .1) !important;
}

.order-card .calculate-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(37, 99, 235, .25), inset 0 2px 4px rgba(0, 0, 0, .15) !important;
}

.order-card .calculate-button .oc-cta-inner {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .65rem !important;
  font-size: 22px;
  font-weight: 500;
}

.order-card .calculate-button .oc-cta-icon {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  transition: transform .35s ease !important;
}

.order-card .calculate-button .oc-cta-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .2)) !important;
}

.order-card .calculate-button:hover .oc-cta-icon {
  transform: translateX(3px) !important;
}

/* Override main.css button::before that causes double text */
.order-card .calculate-button::before {
  content: none !important;
}

.order-card .calculate-button .arrows-svg {
  display: none !important;
}

.order-card .calculate-button.cb-success {
  background: linear-gradient(135deg, #16a34a, #22c55e, #15803d) !important;
}

.order-card .calculate-button.cb-success .oc-cta-inner {
  animation: oc-sPop .4s cubic-bezier(.16, 1, .3, 1) !important;
}

.order-card .buypaymentnotifity {
  display: none;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: auto !important;
  box-shadow: none !important;
  text-align: center !important;
  margin: .75rem 0 0 !important;
  font-family: var(--oc-body-med) !important;
  font-size: 15px !important;
  color: #b91c1c !important;
  font-weight: 600 !important;
  padding: .7rem 1rem !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: var(--oc-rad) !important;
  letter-spacing: .01em !important;
  z-index: 5 !important;
}
.order-card .calculate-end-button {
  position: relative !important;
}

/* ── Review footer (Trustpilot green boxes) ── */
.order-card .oc-review-footer {
  padding: .9rem 1.4rem 1rem !important;
  background: #f6f7f9 !important;
  border-top: 1px solid var(--oc-border-lt) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .5rem !important;
}

.order-card .oc-tp-stars {
  display: flex !important;
  gap: 3px !important;
}

.order-card .oc-tp-star {
  width: 28px !important;
  height: 28px !important;
  background: #00b67a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  animation: oc-tpIn .45s cubic-bezier(.16, 1, .3, 1) both !important;
}

.order-card .oc-tp-star:nth-child(1) { animation-delay: .4s !important; }
.order-card .oc-tp-star:nth-child(2) { animation-delay: 1s !important; }
.order-card .oc-tp-star:nth-child(3) { animation-delay: 1.6s !important; }
.order-card .oc-tp-star:nth-child(4) { animation-delay: 2.2s !important; }
.order-card .oc-tp-star:nth-child(5) { animation-delay: 2.8s !important; }

.order-card .oc-tp-star svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
}

.order-card .oc-review-text {
  font-family: Roboto !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--oc-txt2) !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  opacity: 1 !important;
  animation: oc-stIn .4s ease both 3.2s !important;
}

.order-card .oc-review-text strong {
  color: var(--oc-txt) !important;
  font-weight: 900 !important;
}

/* ── Responsive ── */
@media (max-width: 480px) {
  /* Compress every section so the Rank Up CTA falls inside the first
     viewport on mainstream phones (390–430px wide, 700–850px usable
     height). Customers were reporting they couldn't see / reach the
     purchase button on smaller devices because the long card scrolled
     past the fold. Each section gets roughly 30–45% less vertical
     padding than the prior rule. */

  /* Swap CTA and VIP banner via flex `order` so the Rank Up button
     appears right after Order Details (above the price section)
     instead of at the very bottom. Conversion priority: the most
     important button should be reachable without scrolling past the
     Next Purchase Reward block. PHP template stays untouched so
     desktop layout is unchanged. */
  .order-card {
    display: flex !important;
    flex-direction: column !important;
  }
  .order-card .order-header        { order: 1; }
  .order-card .oc-route-banner     { order: 2; }
  .order-card .oc-progress-section { order: 3; }
  .order-card .oc-detail-grid      { order: 4; }
  .order-card .oc-breakdown        { order: 5; }
  .order-card .oc-cta-wrap         { order: 6; }
  .order-card .oc-price-section    { order: 7; }
  .order-card .oc-vip-banner       { order: 8; }
  .order-card .oc-review-footer    { order: 9; }

  .order-card .order-header { padding: .7rem 1rem .55rem !important; }
  .order-card .order-title { font-size: 1.55rem !important; line-height: 1.1 !important; }
  .order-card .oc-route-banner { padding: .5rem 1rem !important; }
  .order-card .oc-route-text { font-size: .95rem !important; }
  .order-card .oc-route-tag { padding: 3px 8px !important; font-size: 10px !important; }
  .order-card .oc-progress-section { padding: .55rem 1rem .65rem !important; }
  .order-card .oc-progress-label-row { margin-bottom: .35rem !important; }
  .order-card .oc-progress-ranks { margin-top: .3rem !important; }
  /* NA / Duo / LP grid — ~20% smaller fonts + tighter cell padding
     per request. The block was visibly heavier than its siblings. */
  .order-card .oc-detail-cell { padding: .35rem .25rem !important; }
  .order-card .oc-detail-val { font-size: 10px !important; }
  .order-card .oc-detail-lbl { font-size: 8px !important; letter-spacing: .03em !important; }
  .order-card .oc-breakdown { padding: .55rem 1rem .6rem !important; }
  .order-card .oc-breakdown-title { margin-bottom: .35rem !important; font-size: 10px !important; }
  .order-card .oc-breakdown-row { padding: .2rem 0 !important; font-size: 12.5px !important; }
  .order-card .oc-vip-banner { margin: .45rem .85rem !important; padding: .5rem .7rem !important; }
  .order-card .oc-vip-title { font-size: 10px !important; }
  .order-card .oc-vip-detail { font-size: 11px !important; }
  .order-card .oc-price-section { padding: .55rem 1rem !important; }
  .order-card .oc-price-amount.regular { font-size: 1.25rem !important; }
  .order-card .oc-price-amount.vip { font-size: 1.25rem !important; }
  .order-card .oc-price-divider-v { margin: 0 .5rem !important; height: 28px !important; }
  .order-card .oc-savings-row { margin-top: .35rem !important; }
  /* CTA in normal flow on mobile. An earlier iteration made this
     position: sticky so it was always visible above the CLOSE PRICE
     bar, but the sticky element then overlaid the price section /
     savings chip when the user scrolled to the end of the card.
     With .rgt-sidebar-section overflow-y: auto + padding-bottom (see
     main.css ≤991px rule) the user can simply scroll the Rank Up
     button into view above the CLOSE PRICE bar without an overlay. */
  .order-card .oc-cta-wrap { padding: .35rem .85rem .65rem !important; }
  .order-card .calculate-button { height: 46px !important; font-size: 13px !important; }
  /* Hide the Trustpilot footer on mobile — it's promotional and the
     same trust marks appear elsewhere on the product page. Removing
     it claws back ~80px below the CTA and prevents over-scroll
     once the user scrolls to the bottom of the card. */
  .order-card .oc-review-footer { display: none !important; }
}
/* ===========================================================================
   PACK CARDS — Discount-package grid for /lol-boosting-packs/ and siblings
   ============================================================================
   Light-theme card grid rendered by templates/public/product/page_rating_pack.php.
   Each card shows a rank-journey ("Gold → Diamond"), package price, savings,
   completion time, and a CTA. Scoped under .pc-grid to avoid colliding with
   the legacy .boosting-package-list styles still used by single-item products.

   Fonts use the site's identity stack:
     - Heading / title  : AvenirNextCyr-Bold (modern EBL/OWB/Val themes ship
                          this locally), Montserrat fallback for all themes,
                          system-ui last.
     - Numeric display  : same heading stack.
     - Body / micro     : Roboto (loaded by parent boosting theme), system-ui.
     - Mono-ish labels  : SF Mono / Menlo (built-in), no remote mono font —
                          tiny labels with tracked uppercase letterspacing.
============================================================================ */

.pc-grid {
    --pc-bg:          #ffffff;
    --pc-bg-soft:     #f6fafd;
    --pc-ink:         #0c1a2b;
    --pc-ink-soft:    #4a5a6e;
    --pc-ink-muted:   #8a98a8;
    --pc-line:        #e4ecf3;
    --pc-line-soft:   #eef3f8;

    /* Brand blue — matches .calculate-button "RANK UP" in order-preview.css
       (#0364a9) so the pack CTA and the calculator CTA read as one system. */
    --pc-blue:        #0364a9;
    --pc-blue-deep:   #024c80;
    --pc-blue-mid:    #3a9de8;
    --pc-blue-soft:   #b8e0f4;
    --pc-blue-tint:   #eaf6fd;

    --pc-gold:        #b8870a;
    --pc-gold-mid:    #d4a045;
    --pc-gold-soft:   #f0d99b;
    --pc-gold-tint:   #fef5dc;
    --pc-gold-deep:   #8a6608;

    --pc-shadow-soft: 0 1px 2px rgba(15, 60, 100, 0.04), 0 8px 24px rgba(15, 60, 100, 0.06);
    --pc-shadow-pop:  0 2px 4px rgba(15, 60, 100, 0.05), 0 24px 60px rgba(15, 60, 100, 0.08);
    --pc-shadow-cta:  0 4px 14px rgba(37, 99, 235, 0.30),
                      inset 0 1px 0 rgba(255, 255, 255, 0.20),
                      inset 0 -2px 0 rgba(0, 0, 0, 0.10);
    --pc-shadow-cta-hover: 0 6px 20px rgba(37, 99, 235, 0.40),
                            inset 0 1px 0 rgba(255, 255, 255, 0.20),
                            inset 0 -2px 0 rgba(0, 0, 0, 0.10);

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

    /* Font stack mirrors the "YOUR ORDER" calc-card sidebar
       (order-preview.css:34-37) so the two cards on /lol-boosting-packs/
       read as one system. League for big display, AvenirNextCyr family
       for everything else — bold for emphasis, medium for body / labels. */
    --pc-font-display:'League', 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                      'Montserrat', system-ui, sans-serif;
    --pc-font-head:   'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                      'Montserrat', system-ui, sans-serif;
    --pc-font-body:   'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                      system-ui, -apple-system, BlinkMacSystemFont,
                      'Segoe UI', Helvetica, Arial, sans-serif;
    /* Reused for small uppercased labels — same family as body so the
       card avoids the slightly-off feel of a separate monospace face. */
    --pc-font-label:  'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                      system-ui, sans-serif;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    color: var(--pc-ink);
    font-family: var(--pc-font-body);
    margin-bottom: 28px;
}

/* === Card ============================================================== */
.pc-grid .pc-card {
    background: var(--pc-bg);
    border: 2px solid var(--pc-line);
    border-radius: 10px;
    padding: 28px;
    box-shadow: var(--pc-shadow-soft);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 300ms var(--pc-ease),
                box-shadow 300ms var(--pc-ease),
                border-color 300ms ease;
    opacity: 0;
    transform: translateY(20px);
    animation: pc-reveal 0.7s var(--pc-ease) forwards;
}
.pc-grid .pc-card:nth-child(1) { animation-delay: 0.05s; }
.pc-grid .pc-card:nth-child(2) { animation-delay: 0.12s; }
.pc-grid .pc-card:nth-child(3) { animation-delay: 0.19s; }
.pc-grid .pc-card:nth-child(4) { animation-delay: 0.26s; }
.pc-grid .pc-card:nth-child(5) { animation-delay: 0.33s; }
.pc-grid .pc-card:nth-child(6) { animation-delay: 0.40s; }
@keyframes pc-reveal { to { opacity: 1; transform: translateY(0); } }

.pc-grid .pc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: #e6f2fb;
}
.pc-grid .pc-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--pc-shadow-pop);
    border-color: var(--pc-blue-soft);
}
/* Selected (clicked) — wires up via existing .pacakge_v_top.currentChoose */
.pc-grid .pc-card.is-chosen,
.pc-grid .pc-card:has(.pacakge_v_top.currentChoose) {
    border-color: var(--pc-blue);
    box-shadow: 0 0 0 1px var(--pc-blue), var(--pc-shadow-pop);
}

/* === Card header ======================================================= */
.pc-grid .pc-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
    gap: 12px;
}
.pc-grid .pc-title-block {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
/* Card-title — League 500, the site's display face. The accent suffix
   keeps the italic + gold treatment from the original mock so the "to"
   rank still draws the eye, while base text reads as the heading. */
.pc-grid .pc-title {
    font-family: var(--pc-font-display);
    font-weight: 500;
    font-size: 24px;
    letter-spacing: -0.01em;
    line-height: 1.15;
    color: var(--pc-ink);
}
/* Target-rank suffix in the title — solid brand blue, no italic.
   Reads as "Any Gold to Diamond 4" with the destination tier
   picked out in the site's CTA colour. */
.pc-grid .pc-title em {
    font-style: normal;
    font-weight: 500;
    color: var(--pc-blue);
}
/* Discount pill — solid brand blue with white text, matches the
   site's CTA palette and gives the "-30%" callout the same visual
   weight whether the card is hovered or not. */
.pc-grid .pc-discount-pill {
    font-family: var(--pc-font-display);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff;
    background: var(--pc-blue);
    border: 1px solid var(--pc-blue);
    padding: 10px 14px;
    border-radius: 4px;
    flex-shrink: 0;
    white-space: nowrap;
    line-height: 1;
}

/* === Rank journey ===================================================== */
.pc-grid .pc-journey {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    background: var(--pc-bg-soft);
    border: 1px solid var(--pc-line);
    border-radius: 9px;
    padding: 20px 16px;
    margin-bottom: 22px;
    position: relative;
}
/* Column gap removed in favour of explicit margins below — the badge's
   transparent PNG padding plus a 10px flex gap visually pushed FROM/TO
   too far above the icon. Now FROM/TO sits tight to the badge, name
   gets a small breathing margin below it. */
.pc-grid .pc-rank-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    position: relative;
    min-width: 0;
}
/* FROM / TO eyebrow — League at 14px to match the rest of the
   display typography on the card. Leading dot dropped per review. */
.pc-grid .pc-rank-label {
    font-family: var(--pc-font-display);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pc-ink-muted);
    margin-bottom: 0;
}

/* Rank badge — bumped 50% from the original 90px to give the
   actual game tier art room to read (matches user feedback that
   icons were too small relative to the surrounding card chrome). */
.pc-grid .pc-badge-wrap {
    width: 135px;
    height: 135px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 400ms var(--pc-ease);
}
.pc-grid .pc-card:hover .pc-badge-wrap { transform: translateY(-2px); }
.pc-grid .pc-badge-wrap .pc-glow {
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    filter: blur(28px);
    opacity: 0.45;
    transition: opacity 400ms ease;
    background: radial-gradient(circle, rgba(186, 135, 10, 0.55) 0%, transparent 70%);
}
.pc-grid .pc-card:hover .pc-badge-wrap .pc-glow { opacity: 0.75; }
.pc-grid .pc-badge-wrap img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Anchor the artwork to the lower half of the box so tier icons
       with different vertical centers (e.g. LoL Diamond's crystal
       sits higher inside its 500px canvas than the wing-heavy
       lower-tier emblems) read at a consistent baseline across
       from / to columns. */
    object-position: 50% 70%;
    display: block;
}
.pc-grid .pc-rank-name {
    font-family: var(--pc-font-display);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0;
    color: var(--pc-ink);
    text-align: center;
    line-height: 1.15;
    word-break: break-word;
    margin-top: 4px;
}

/* === Arrow indicator =================================================== */
/* Three right-facing chevrons that pulse sequentially — mirrors the
   site's "scroll down" indicator pattern in checkout, rotated to point
   toward the target rank. Each chevron fades in on a stagger so the
   eye reads left-to-right toward the destination tier. */
/* padding-bottom: 0 — the arrow now sits centered between the two
   icons rather than baseline-aligned with the rank-name row below. */
.pc-grid .pc-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
    color: var(--pc-blue);
    position: relative;
}
/* 3-chevron scroll-down-style indicator pointed right. Sized down from
   the previous 56×22 and animation slowed 3× (1.6s → 4.8s) per review;
   stagger between chevrons also scales so the sequential read still
   feels left-to-right rather than three independent loops. */
.pc-grid .pc-arrow svg {
    width: 38px;
    height: 14px;
    overflow: visible;
}
.pc-grid .pc-arrow svg polyline {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.35;
    animation: pc-arrow-pulse 4.8s ease-in-out infinite;
}
.pc-grid .pc-arrow svg polyline:nth-child(1) { animation-delay: 0.0s; }
.pc-grid .pc-arrow svg polyline:nth-child(2) { animation-delay: 0.6s; }
.pc-grid .pc-arrow svg polyline:nth-child(3) { animation-delay: 1.2s; }
@keyframes pc-arrow-pulse {
    0%, 100% { opacity: 0.35; transform: translateX(0); }
    50%      { opacity: 1;    transform: translateX(2px); }
}
.pc-grid .pc-card:hover .pc-arrow { color: var(--pc-gold); }

/* === Stats row ========================================================= */
.pc-grid .pc-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 22px;
}
.pc-grid .pc-stat {
    background: var(--pc-bg-soft);
    border: 1px solid var(--pc-line);
    border-radius: 7px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: border-color 200ms ease;
}
.pc-grid .pc-stat:hover { border-color: var(--pc-blue-soft); }
.pc-grid .pc-stat-label {
    font-family: var(--pc-font-label);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pc-ink-muted);
}
.pc-grid .pc-stat-value {
    font-family: var(--pc-font-display);
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0;
    color: var(--pc-ink);
    line-height: 1;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
}
.pc-grid .pc-stat-value.accent {
    color: var(--pc-gold-deep);
    font-size: 24px;
}

/* VIP-stacking marker shown next to the "You Save" amount. Communicates
   that returning customers add a flat 10% on top of the package discount —
   the number is calculated live from the displayed pack price so it
   updates with currency / server-rate changes. */
.pc-grid .pc-vip-bonus {
    font-family: var(--pc-font-label);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pc-blue);
    background: var(--pc-blue-tint);
    border: 1px solid var(--pc-blue-soft);
    border-radius: 4px;
    padding: 4px 7px;
    line-height: 1;
    white-space: nowrap;
    align-self: center;
    transition: background 200ms ease, border-color 200ms ease;
}
.pc-grid .pc-vip-bonus::before {
    content: '+';
    margin-right: 2px;
    color: var(--pc-blue);
}
.pc-grid .pc-card:hover .pc-vip-bonus {
    background: #fff;
    border-color: var(--pc-blue);
}

/* === Completion row ==================================================== */
.pc-grid .pc-completion {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--pc-bg-soft);
    border: 1px solid var(--pc-line);
    border-radius: 6px;
    margin-bottom: 22px;
}
.pc-grid .pc-completion svg {
    width: 16px;
    height: 16px;
    color: var(--pc-gold);
    flex-shrink: 0;
}
.pc-grid .pc-completion-label {
    font-family: var(--pc-font-label);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pc-ink-muted);
}
.pc-grid .pc-completion-value {
    margin-left: auto;
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold', 'Montserrat', system-ui, sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--pc-ink);
    letter-spacing: 0;
}

/* === CTA Button ======================================================== */
/* Matches the .calculate-button "RANK UP" CTA inside the order-card
   calculator (order-preview.css:705-735) so the pack-cards primary action
   and the calculator primary action read as one system: same blue, same
   layered shadow / inset-light treatment, same uppercase weight-500
   typography, same hover lift. The legacy .pacakge_v_top class is kept
   so boosting-calc.js's click handler still finds and toggles the pack. */
.pc-grid .pacakge_v_top {
    position: relative;
    width: 100%;
    height: 56px;
    padding: 0 20px;
    background: var(--pc-blue);
    color: #fff;
    border: none;
    border-radius: 7px;
    font-family: var(--pc-font-display);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: auto;
    overflow: hidden;
    box-shadow: var(--pc-shadow-cta);
    transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.2s ease;
}
.pc-grid .pacakge_v_top::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 80%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    transition: left 0.6s var(--pc-ease);
}
.pc-grid .pacakge_v_top:hover {
    transform: translateY(-2px);
    box-shadow: var(--pc-shadow-cta-hover);
}
.pc-grid .pacakge_v_top:hover::before { left: 130%; }
.pc-grid .pacakge_v_top:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25), inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.pc-grid .pacakge_v_top.currentChoose {
    background: var(--pc-blue-deep);
}
.pc-grid .pacakge_v_top svg {
    width: 18px;
    height: 18px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
    transition: transform 0.35s ease;
}
.pc-grid .pacakge_v_top:hover svg { transform: translateX(3px); }

/* === Responsive ======================================================== */
@media (max-width: 1100px) {
    .pc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .pc-grid { grid-template-columns: 1fr; gap: 16px; }
    .pc-grid .pc-card { padding: 22px; }
    .pc-grid .pc-badge-wrap { width: 110px; height: 110px; }
    .pc-grid .pc-title { font-size: 22px; }
    .pc-grid .pc-stat-value { font-size: 24px; }
    .pc-grid .pc-stat-value.accent { font-size: 20px; }
    .pc-grid .pc-rank-name { font-size: 16px; }
    .pc-grid .pc-discount-pill { font-size: 18px; padding: 8px 12px; }
    .pc-grid .pc-arrow svg { width: 42px; height: 18px; }
    .pc-grid .pacakge_v_top { height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
    .pc-grid .pc-card {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .pc-grid .pc-card,
    .pc-grid .pc-card *,
    .pc-grid .pc-card *::before,
    .pc-grid .pc-card *::after {
        animation-duration: 0.01s !important;
        transition-duration: 0.01s !important;
    }
}
/* ===========================================================================
   EXTRA OPTIONS + ADD A NOTE + REVIEWS SUMMARY — checkout-flow sections
   ============================================================================
   Three consecutive sections that share a "dark banner header → light body"
   pattern (extra-options3 mock, v3). Each section card has:
     - white body with the same border / radius / shadow as pack-cards
     - dark gradient banner header up top with a giant decorative step number
       on the left, an eyebrow + League title + subtitle in the middle, and
       a meta chip on the right
     - solid #0364a9 strip along the bottom edge of the banner that pairs
       the dark header with the light body below

   Scoping:
     .bt-section          — shared chrome (card frame + dark banner)
     .eo-section          — Extra Options-only (tabs row + option panels)
     .note-section        — Add a Note-only (textarea + char counter)
     .rs-section          — Reviews Summary-only (stats + grid + footer)

   All three layer on top of the legacy class names that boosting-calc.js
   already targets (.extra-optionsblock, .eo-itemblock + data-eotype,
   .eo-swhitcher-content + .ON, #add-note-ta, name="note") — the JS keeps
   working unchanged.
============================================================================ */

.bt-section,
.eo-section,
.note-section,
.rs-section,
.product-reviews-composite {
    --bt-bg:          #ffffff;
    --bt-bg-soft:     #f6fafd;
    --bt-ink:         #0c1a2b;
    --bt-ink-2:       #16273d;
    --bt-ink-soft:    #4a5a6e;
    --bt-ink-muted:   #8a98a8;
    --bt-line:        #e4ecf3;
    --bt-line-soft:   #eef3f8;

    --bt-blue:        #0364a8;
    --bt-blue-deep:   #024c80;
    --bt-blue-mid:    #3a9de8;
    --bt-blue-soft:   #b8e0f4;
    --bt-blue-tint:   #eaf6fd;

    --bt-green:       #22b358;
    --bt-green-deep:  #1a8a45;
    --bt-green-soft:  #b8e8c8;
    --bt-green-tint:  #e8f7ee;

    --bt-yellow:      #fbbe24;

    /* DevTools pass: --bt-shadow-soft also commented out alongside the
       earlier --bt-shadow-pop drop. The .bt-section card now sits flush
       on the page with no drop shadow at all — the hairline border alone
       handles separation. Variable kept commented as a reference. */
    /* --bt-shadow-soft: 0 1px 2px rgba(15, 60, 100, 0.04), 0 8px 24px rgba(15, 60, 100, 0.06); */
    /* --bt-shadow-pop:  0 2px 4px rgba(15, 60, 100, 0.05), 0 24px 60px rgba(15, 60, 100, 0.08); */

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

    --bt-font-display:'League', 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                      'Montserrat', system-ui, sans-serif;
    --bt-font-body:   'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                      system-ui, sans-serif;
    --bt-font-label:  'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                      system-ui, sans-serif;

    background: var(--bt-bg);
    color: var(--bt-ink);
    font-family: var(--bt-font-body);
    border: 1px solid var(--bt-line);
    border-radius: 10px;
    /* DevTools pass: drop-shadow removed on the .bt-section family.
       The card now relies on its hairline border alone for separation
       from the page. About section explicitly overrides both below. */
    /* box-shadow: var(--bt-shadow-soft); */
    overflow: hidden;
    /* Margin bumped from 20 → 40 so the gap between adjacent
       Extra Options / Note / Reviews cards reads as breathing
       room rather than crowding. The same value also separates
       the first card from the boosting calculator block above.
       10px below to soften the gap before the next section. */
    margin-top: 40px;
    margin-bottom: 10px;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    animation: bt-reveal 0.7s var(--bt-ease) forwards;
    box-sizing: border-box;
}
.eo-section  { animation-delay: 0.05s; }
.note-section { animation-delay: 0.15s; }
.rs-section  { animation-delay: 0.25s; }
@keyframes bt-reveal { to { opacity: 1; transform: translateY(0); } }

/* Reset only INNER legacy wrappers (.extra_options) so they don't push
   the dark banner away from the top edge of the card. The OUTER wrapper
   classes (.note-section / .rs-section / .bt-section / .extra-optionsblock)
   keep their section-card chrome (1px border, 10px radius, soft shadow)
   from the rule above — earlier rounds reset those by mistake which
   stripped the visible card outline off Add a Note and About. */
.eo-section .extra_options {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.eo-section,
.note-section,
.rs-section,
.bt-section {
    padding: 0 !important;
}

/* Generic content area below the banner — used by the About section
   ([bt_about] shortcode) and any future .bt-section-based block.
   Inherits paragraph spacing / link colours from the Extra Options
   description so the typography is consistent. */
/* Generic body wrapper used by the About section (and any future
   .bt-section-based block). Padding-all-around symmetric so the
   content reads as a balanced block — top, sides, and bottom each
   get 40px. */
.bt-section .bt-section-body {
    /* DevTools pass: dropped the 40px ring — the dark banner is now hidden
       (display:none below) and WP-editor body content carries its own
       paragraph rhythm via .bt-section-body p margins. Leaving the rule
       in place so the font / colour / line-height inheritance still
       applies. */
    padding: 0;
    font-family: var(--bt-font-body);
    font-size: 16px;
    color: var(--bt-ink-soft);
    line-height: 1.65;
}
.bt-section .bt-section-body p {
    margin: 0 0 16px;
    text-align: left;
    text-indent: 0;
    padding-left: 0;
    padding-right: 0;
    font-family: Roboto, system-ui, -apple-system, sans-serif;
    font-size: 16px;
    color: #252525;
    /* DevTools pass: tightened 1.65 -> 1.3 so dense About copy reads as
       packed prose rather than airy spacing. */
    line-height: 1.3;
}
.bt-section .bt-section-body p:last-child { margin-bottom: 0; }
.bt-section .bt-section-body a { color: var(--bt-blue); text-decoration: none; }
.bt-section .bt-section-body a:hover { text-decoration: underline; }
.bt-section .bt-section-body strong { color: var(--bt-ink); font-weight: 500; }
/* Headings inside the body — League 500, left-aligned, generous top
   margin so each subsection has visual separation. Parent themes'
   main.css centres these via .service-info-text-container h2/h3 rules;
   override with !important so all About content reads as a single
   left-aligned column. */
.bt-section .bt-section-body h1,
.bt-section .bt-section-body h2,
.bt-section .bt-section-body h3,
.bt-section .bt-section-body h4 {
    font-family: var(--bt-font-display);
    font-weight: 500;
    color: var(--bt-ink);
    /* DevTools pass: tightened heading margins (28/12 -> 10/4) to keep
       the About content reading as a single dense column rather than
       widely-spaced sections. */
    margin: 10px 0 4px !important;
    padding: 0 !important;
    letter-spacing: 0;
    text-align: left !important;
    text-transform: uppercase;
    line-height: 1.2;
}
.bt-section .bt-section-body h1 { font-size: 30px; }
/* DevTools pass: h2 dropped 28 -> 26px so it matches the .bt-faq-section-title
   in about-faq.css for visual consistency across nested section levels. */
.bt-section .bt-section-body h2 { font-size: 26px; }
.bt-section .bt-section-body h3 { font-size: 22px; }
.bt-section .bt-section-body h4 { font-size: 18px; }
.bt-section .bt-section-body h1:first-child,
.bt-section .bt-section-body h2:first-child,
.bt-section .bt-section-body h3:first-child,
.bt-section .bt-section-body h4:first-child {
    margin-top: 0 !important;
}
/* Legacy .service-info-text-container has margin-bottom:80px and
   font-size:20px from main.css. Reset inside the new card body so
   the card's own padding controls spacing instead. */
.bt-section .bt-section-body.service-info-text-container,
.bt-section .service-info-text-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 16px;
}
/* About-section specific overrides — the legacy theme can drop the
   1px border off .service-info-block in some main.css branches.
   Force it back so the card always has a visible bottom edge. */
.bt-section--about,
.bt-section.service-info-block {
    /* DevTools pass: About card goes borderless + shadowless, relying on
       the surrounding sections + the inner .bt-about-faq blocks for
       structure. !important still needed because the legacy
       service-info-block selector inherits a 1px border from main.css. */
    border: 0px solid var(--bt-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* === Banner header — brand blue ====================================== */
/* Solid #0364a9 with a subtle radial highlight + a 135° gradient down
   to a deeper shade so the surface still has depth without leaving the
   brand palette. Vertical padding 30px so the title has ~30px of clear
   space above and below (per review feedback). */
.bt-section-banner,
.eo-section .bt-section-banner,
.note-section .bt-section-banner,
.rs-section .bt-section-banner,
.bt-section .bt-section-banner {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.10), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(0, 0, 0, 0.18), transparent 55%),
        linear-gradient(135deg, #0a72b8 0%, #0364a9 50%, #024c80 100%);
    color: #fff;
    padding: 30px 32px;
    display: flex;
    align-items: center;
    gap: 28px;
    position: relative;
    overflow: hidden;
    /* Banner restored. Earlier round set display:none on every banner;
       the WP-editor pass found the banner was needed for the toggle/meta
       chip on the right to sit on the same row as the title. Leaving
       display:flex (declared above) wins — the toggle "TOGGLE OPTION"
       label aligns to the right via .bt-banner-right's flex-shrink:0. */
}
/* Solid brand-blue strip pinned to the bottom edge of the banner — the
   same accent the pack-cards top-bar uses, just relocated to where the
   dark banner meets the light body. */
.bt-section-banner::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: var(--bt-blue);
}

/* Step-number decoration removed per review — leave the rule as a
   no-op so any legacy markup that still emits .bt-step-number simply
   collapses out of layout instead of leaking through. */
.bt-step-number { display: none !important; }

.bt-banner-title-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}
/* Eyebrow row — kept for the Reviews Summary section's "Social proof"
   label. Removed from Extra Options + Note in their templates so the
   title can read more directly. Recoloured to a light tint that sits
   well against the brand-blue banner. */
.bt-banner-eyebrow {
    font-family: var(--bt-font-label);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    gap: 8px;
}
.bt-banner-eyebrow svg {
    width: 13px;
    height: 13px;
    color: #ff8500;
    flex-shrink: 0;
}
.bt-banner-title {
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0;
    line-height: 1.05;
    color: #fff;
    margin: 0;
}
/* Destination word ("options" / "note" / "reviews") — inherits the
   banner title's white colour so the title reads as a single unit
   against the brand-blue background. */
.bt-banner-title em {
    font-style: normal;
    font-weight: 500;
    color: inherit;
}
.bt-banner-subtitle {
    font-family: var(--bt-font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    max-width: 720px;
    margin: 0;
}

/* Defensive text-colour overrides inside the banner so any custom HTML
   pasted into a .bt-section-banner (e.g. the bottom customer-support
   block on the boosting-packs page) reads as white on blue instead of
   inheriting a dark default from the parent theme's main.css. */
.bt-section-banner,
.bt-section-banner h1,
.bt-section-banner h2,
.bt-section-banner h3,
.bt-section-banner h4,
.bt-section-banner h5,
.bt-section-banner p,
.bt-section-banner strong,
.bt-section-banner b,
.bt-section-banner em,
.bt-section-banner span:not([class*="bt-blue-mid"]):not([class*="orange"]) {
    color: #fff !important;
}
.bt-section-banner a {
    color: #fff !important;
    text-decoration: underline;
}
.bt-section-banner a:hover { opacity: 0.85; }
.bt-section-banner img { max-width: 100%; height: auto; }

.bt-banner-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    flex-shrink: 0;
}
.bt-banner-meta {
    font-family: var(--bt-font-label);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 4px;
}
.bt-banner-meta svg {
    width: 15px;
    height: 15px;
    color: var(--bt-blue-mid);
    flex-shrink: 0;
}
.bt-banner-meta em {
    font-style: normal;
    color: #fff;
    font-weight: 500;
}

/* === Extra Options — tabs row ========================================== */
.eo-section .eo-tabs {
    padding: 18px 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-bottom: 1px solid var(--bt-line);
    background: var(--bt-bg-soft);
}
.eo-section .eo-itemblock {
    padding: 11px 16px;
    background: var(--bt-bg);
    border: 2px solid var(--bt-line);
    border-radius: 4px;
    font-family: var(--bt-font-label);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #001c3f;
    cursor: pointer;
    transition: all 180ms var(--bt-ease);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    width: auto;
    height: auto;
    box-shadow: none;
    float: none;
    text-align: left;
}
/* Override the legacy `display: none` on .eo-itemicon (multiboosting
   theme hides them site-wide) and let the inline <svg> emitted by the
   template render. Sized + recoloured here via currentColor so hover
   / active states pick up the same blue accents as the tab label. */
.eo-section .eo-itemblock .eo-itemicon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #001c3f;
    flex-shrink: 0;
    transition: color 180ms ease;
}
.eo-section .eo-itemblock .eo-itemicon svg {
    width: 14px;
    height: 14px;
    display: block;
    color: inherit;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.eo-section .eo-itemblock .eo-menu-title {
    font: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.eo-section .eo-itemblock .eo-menu-title span {
    color: inherit;
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold', 'Montserrat', system-ui, sans-serif !important;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}
.eo-section .eo-itemblock .eo-infoblock,
.eo-section .eo-itemblock .eo-afterblock,
.eo-section .eo-itemblock .eo-controlinfoblock {
    display: none;
}
.eo-section .eo-itemblock:hover {
    border-color: var(--bt-blue-soft);
    color: var(--bt-blue-deep);
    background: var(--bt-blue-tint);
}
.eo-section .eo-itemblock:hover .eo-itemicon { color: var(--bt-blue); }
.eo-section .eo-itemblock.selected,
.eo-section .eo-itemblock.active {
    background: var(--bt-blue-tint);
    border-color: var(--bt-blue);
    color: var(--bt-blue-deep);
}
.eo-section .eo-itemblock.selected .eo-itemicon,
.eo-section .eo-itemblock.active  .eo-itemicon { color: var(--bt-blue); }

/* === Extra Options — content panel ===================================== */
.eo-section .eo-content,
.eo-section .eo-right-block {
    padding: 28px;
}
.eo-section .eo-right-block-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    float: none;
}
.eo-section .eo-right-block-content .eo-header-work {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
/* Stack "This option is" / price-pill / Off-On toggle vertically — each
   reads as its own line per review feedback. The label, pill, and
   toggle sit flush-left rather than crammed into a single horizontal
   row that wrapped awkwardly on narrow panels. */
.eo-section .eo-status-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: nowrap;
}
.eo-section .eo-status-label {
    font-family: var(--bt-font-display);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--bt-ink);
}
.eo-section .eo-price-pill {
    font-family: var(--bt-font-display);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    padding: 6px 12px;
    border-radius: 3px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
}
.eo-section .eo-price-pill.free {
    color: var(--bt-green-deep);
    background: var(--bt-green-tint);
    border: 1px solid var(--bt-green-soft);
}
.eo-section .eo-price-pill.paid {
    color: var(--bt-blue-deep);
    background: var(--bt-blue-tint);
    border: 1px solid var(--bt-blue-soft);
}
.eo-section .eo-price-pill-icon {
    width: 15px;
    height: 15px;
    color: var(--bt-green);
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: inline-block;
    flex-shrink: 0;
}
.eo-section .eo-price-pill.paid .eo-price-pill-icon { color: var(--bt-blue); }
/* Price text inside the pill uses AvenirNextCyr (the same family as the
   "YOUR ORDER" sidebar) rather than League — League's display weight
   was rendering the dollar-amount numerals too heavy at this size. */
.eo-section .eo-price-pill .eo_costoptionsdisplay,
.eo-section .eo-price-pill .eo_costout-fixed {
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold', 'Montserrat', system-ui, sans-serif !important;
    font-weight: 500;
    font-size: inherit;
    color: inherit;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.eo-section .eo_costoptionsdisplay {
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    color: inherit;
    font: inherit;
}

/* Off/On switch — keeps legacy .eo-swhitcher-* structure but overrides
   the multiboosting / parent-theme rules (width:50px, margin-left:55px,
   background:#eb5c29!important) so the toggle renders as a proper
   sliding pill: both labels stay visible at all times, indicator moves
   between OFF and ON halves. !important is required because the
   inherited rules in product.css use it themselves. */
.eo-section .eo-control-switcher {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    float: none !important;
    width: auto !important;
}
.eo-section .eo-control-switcher .eo-swhitcher-titel,
.eo-section .eo-control-switcher .eo-conflict,
.eo-section .eo-control-switcher .eo-tooltip {
    display: none !important;
}
.eo-section .eo-swhitcher-content {
    position: relative !important;
    display: inline-flex !important;
    align-items: stretch !important;
    background: var(--bt-bg-soft) !important;
    border: 1px solid var(--bt-line) !important;
    border-radius: 4px !important;
    padding: 3px !important;
    cursor: pointer;
    min-height: auto !important;
    width: auto !important;
    min-width: 168px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    line-height: 1 !important;
    transition: border-color 200ms ease;
}
.eo-section .eo-swhitcher-content:hover { border-color: var(--bt-blue-soft) !important; }
.eo-section .eo-swhitcher-content > span {
    flex: 1 1 50% !important;
    text-align: center !important;
    padding: 9px 16px !important;
    /* AvenirNextCyr-Bold for the OFF / ON labels — the bold weight reads
       cleanly on top of both the muted (off) and green (on) indicators. */
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                 'Montserrat', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--bt-ink-muted);
    line-height: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    transition: color 200ms ease;
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
}
/* Indicator pill: half-width, slides between left (OFF) and right (ON).
   Overrides the legacy width:50px + margin-left:55px implementation. */
.eo-section .eo-swhitcher-content .eo-swhitcher-box {
    position: absolute !important;
    top: 3px !important;
    bottom: 3px !important;
    left: 3px !important;
    right: auto !important;
    width: calc(50% - 3px) !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 3px !important;
    background: var(--bt-ink-muted) !important;
    box-shadow: 0 2px 6px rgba(15, 60, 100, 0.18) !important;
    transition: left 250ms var(--bt-ease), background 250ms ease !important;
    z-index: 1 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    cursor: pointer;
}
.eo-section .eo-swhitcher-content .eo-swhitcher-box .switcher-box-content {
    display: none !important;
}
.eo-section .eo-swhitcher-content .eo-swhitcher-box.ON {
    left: 50% !important;
    margin-left: 0 !important;
    background: var(--bt-green) !important;
    box-shadow: 0 2px 6px rgba(34, 179, 88, 0.40) !important;
}
/* Active label sits on top of the coloured indicator and stays white
   regardless of state — relies on the indicator's contrast for the
   active/inactive distinction. */
.eo-section .eo-swhitcher-content > span:nth-of-type(1) { color: #fff; }
.eo-section .eo-swhitcher-content:has(.eo-swhitcher-box.ON) > span:nth-of-type(1) {
    color: var(--bt-ink-muted);
}
.eo-section .eo-swhitcher-content:has(.eo-swhitcher-box.ON) > span:nth-of-type(2) {
    color: #fff;
}

/* Description text inside the panel. No max-width — the description
   reads naturally across the full content width instead of cutting
   to a narrow column. */
.eo-section .eo-content-text {
    font-family: var(--bt-font-body);
    font-size: 14px;
    color: var(--bt-ink-soft);
    line-height: 1.55;
    max-width: none;
}
.eo-section .eo-content-text p { margin: 0 0 12px; }
.eo-section .eo-content-text p:last-child { margin-bottom: 0; }
.eo-section .eo-content-text a { color: var(--bt-blue); text-decoration: none; }
.eo-section .eo-content-text a:hover { text-decoration: underline; }
.eo-section .eo-content-text strong { color: var(--bt-ink); font-weight: 500; }

/* Hide legacy in-section title — banner provides the title now. */
.eo-section .eo-title-block,
.eo-section .package_sub_title {
    display: none;
}

/* === Note section ====================================================== */
/* DevTools pass: extra top padding (24 -> 34) so the textarea sits a
   touch lower under the section banner. */
.note-section .note-content { padding: 34px 28px 28px; }
.note-section .add-note-ta-container {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    width: 100%;
}
.note-section #add-note-ta,
.note-section .note-textarea {
    width: 100%;
    min-height: 130px;
    padding: 16px 18px;
    background: var(--bt-bg-soft);
    border: 1px solid var(--bt-line);
    border-radius: 5px;
    font-family: var(--bt-font-body);
    font-size: 14px;
    line-height: 1.55;
    color: var(--bt-ink);
    resize: vertical;
    transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
    box-shadow: none;
    display: block;
}
.note-section #add-note-ta:focus,
.note-section .note-textarea:focus {
    outline: none;
    border-color: var(--bt-blue);
    background: var(--bt-bg);
    box-shadow: 0 0 0 3px var(--bt-blue-tint);
}
.note-section #add-note-ta::placeholder,
.note-section .note-textarea::placeholder { color: var(--bt-ink-muted); }
.note-section .note-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
    flex-wrap: wrap;
    gap: 12px;
}
.note-section .note-hint {
    font-family: var(--bt-font-label);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-ink-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}
.note-section .note-hint svg {
    width: 13px;
    height: 13px;
    color: var(--bt-ink-muted);
}
.note-section .char-counter {
    font-family: var(--bt-font-label);
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--bt-ink-muted);
}
.note-section .char-counter strong {
    color: var(--bt-blue);
    font-weight: 500;
}

/* === Reviews Summary section =========================================== */
.rs-section .rs-content {
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.rs-section .rs-stats {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 20px 24px;
    background: var(--bt-bg-soft);
    border: 1px solid var(--bt-line);
    border-radius: 5px;
}
.rs-section .rs-rating-big {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rs-section .rs-rating-value {
    font-family: var(--bt-font-display);
    font-size: 44px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    color: var(--bt-ink);
}
.rs-section .rs-rating-value .rs-rating-out {
    font-size: 18px;
    color: var(--bt-ink-muted);
    font-weight: 500;
}
.rs-section .rs-rating-stars {
    display: flex;
    gap: 2px;
    color: var(--bt-yellow);
}
.rs-section .rs-rating-stars svg { width: 14px; height: 14px; }

.rs-section .rs-breakdown {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.rs-section .rs-breakdown-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--bt-font-label);
    font-size: 11px;
    color: var(--bt-ink-muted);
    letter-spacing: 0.06em;
}
.rs-section .rs-breakdown-row .rs-star-label {
    width: 24px;
    display: flex;
    align-items: center;
    gap: 2px;
    color: var(--bt-ink-soft);
    font-weight: 500;
}
.rs-section .rs-breakdown-row .rs-star-label svg {
    width: 10px;
    height: 10px;
    color: var(--bt-yellow);
}
.rs-section .rs-breakdown-bar {
    flex: 1;
    height: 4px;
    background: var(--bt-line);
    border-radius: 2px;
    overflow: hidden;
}
.rs-section .rs-breakdown-fill {
    height: 100%;
    background: var(--bt-yellow);
    border-radius: 2px;
    transform-origin: left;
    animation: rs-fill-grow 1s var(--bt-ease) backwards;
    animation-delay: 0.5s;
}
@keyframes rs-fill-grow {
    from { transform: scaleX(0); }
}
.rs-section .rs-breakdown-row .rs-pct {
    min-width: 32px;
    text-align: right;
    color: var(--bt-ink-soft);
    font-weight: 500;
}
.rs-section .rs-totals {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rs-section .rs-totals-number {
    font-family: var(--bt-font-display);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--bt-ink);
    line-height: 1;
}
.rs-section .rs-totals-label {
    font-family: var(--bt-font-label);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-ink-muted);
}

.rs-section .rs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.rs-section .rs-card {
    background: var(--bt-bg);
    border: 1px solid var(--bt-line);
    border-radius: 5px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color 200ms ease, transform 250ms var(--bt-ease);
    position: relative;
}
.rs-section .rs-card:hover {
    border-color: var(--bt-blue-soft);
    transform: translateY(-2px);
}
.rs-section .rs-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.rs-section .rs-card-stars {
    display: flex;
    gap: 1px;
    color: var(--bt-yellow);
}
.rs-section .rs-card-stars svg { width: 13px; height: 13px; }
.rs-section .rs-verified {
    font-family: var(--bt-font-label);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-green);
    display: flex;
    align-items: center;
    gap: 4px;
}
.rs-section .rs-verified svg { width: 11px; height: 11px; }
.rs-section .rs-quote {
    font-family: var(--bt-font-body);
    font-size: 13px;
    line-height: 1.55;
    color: var(--bt-ink-soft);
    flex: 1;
    margin: 0;
}
.rs-section .rs-quote::before { content: '\201C'; color: var(--bt-blue); font-weight: 500; margin-right: 1px; }
.rs-section .rs-quote::after  { content: '\201D'; color: var(--bt-blue); font-weight: 500; margin-left: 1px; }
.rs-section .rs-reviewer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--bt-line);
}
.rs-section .rs-avatar {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--bt-blue), var(--bt-blue-deep));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0;
    flex-shrink: 0;
}
.rs-section .rs-avatar.alt-1 { background: linear-gradient(135deg, #d4a045, #b8870a); }
.rs-section .rs-avatar.alt-2 { background: linear-gradient(135deg, var(--bt-green), var(--bt-green-deep)); }
.rs-section .rs-reviewer-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.rs-section .rs-reviewer-name {
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 14px;
    color: var(--bt-ink);
    letter-spacing: 0;
}
.rs-section .rs-reviewer-meta {
    font-family: var(--bt-font-label);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-ink-muted);
}

.rs-section .rs-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 4px;
    gap: 12px;
    flex-wrap: wrap;
}
.rs-section .rs-platforms {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.rs-section .rs-platform-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: var(--bt-bg-soft);
    border: 1px solid var(--bt-line);
    border-radius: 3px;
    font-family: var(--bt-font-label);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-ink-muted);
}
.rs-section .rs-platform-badge svg {
    width: 11px;
    height: 11px;
    color: var(--bt-green);
}
.rs-section .rs-link {
    font-family: var(--bt-font-label);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-blue-deep);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--bt-blue-tint);
    border: 1px solid var(--bt-blue-soft);
    border-radius: 4px;
    transition: all 200ms var(--bt-ease);
}
.rs-section .rs-link:hover {
    background: var(--bt-blue);
    color: #fff;
    border-color: var(--bt-blue);
}
.rs-section .rs-link svg {
    width: 13px;
    height: 13px;
    transition: transform 200ms var(--bt-ease);
}
.rs-section .rs-link:hover svg { transform: translateX(3px); }

/* === Responsive ======================================================== */
@media (max-width: 1100px) {
    .rs-section .rs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
    .bt-section-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 22px 22px;
    }
    .bt-banner-right { align-items: flex-start; }
    .bt-banner-title { font-size: 24px; }
    .eo-section,
    .note-section,
    .rs-section {
        margin-top: 28px;
    }
    .eo-section .eo-tabs,
    .eo-section .eo-content,
    .eo-section .eo-right-block,
    .note-section .note-content,
    .rs-section .rs-content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .rs-section .rs-stats { grid-template-columns: 1fr; }
    .rs-section .rs-grid  { grid-template-columns: 1fr; }
    .rs-section .rs-totals { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .eo-section, .note-section, .rs-section {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .eo-section *, .eo-section *::before, .eo-section *::after,
    .note-section *, .note-section *::before, .note-section *::after,
    .rs-section *, .rs-section *::before, .rs-section *::after {
        animation-duration: 0.01s !important;
        transition-duration: 0.01s !important;
    }
}

/* ===========================================================================
   SITE REVIEWS PLUGIN (.product-reviews-composite + .glsr-*)
   ============================================================================
   Pure-CSS retrofit of the Site Reviews (GeminiLabs) plugin output on
   /customer-reviews/ and any product page that emits
   [boosting_reviews_composite]. No template edits — the existing
   shortcode markup stays exactly as the plugin renders it; styling
   lifts the layout into the same brand-blue, AvenirNextCyr language
   as the Extra Options / Note / Reviews Summary cards.

   Structure (multiboosting shortcodes.php):
     .product-reviews-composite
       .reviewh2                     (heading → dark banner)
       .prc-container                (3-col grid → 1-col stack)
         .pilot_boost                (Trustpilot button — optional)
         #prc-summary-container      (.bt-reviews-summary)
         #prc-reviews-container      (.bt-reviews)
         #prc-form-container         (.bt-reviews-form)

   The plugin form (.glsr-form) is left functional — every <input>,
   <textarea>, <select> and the [type=submit] keep their original DOM,
   just restyled.
============================================================================ */

.product-reviews-composite {
    background: var(--bt-bg);
    color: var(--bt-ink);
    font-family: var(--bt-font-body);
    /* DevTools pass: borderless reviews card. --bt-shadow-soft is now
       commented out at the variable level so the box-shadow declaration
       falls back to "none" — the card sits flat on the page like the
       FAQ blocks above. */
    border: 0 solid var(--bt-line);
    border-radius: 10px;
    box-shadow: var(--bt-shadow-soft);
    overflow: hidden;
    margin-top: 40px !important;
    margin-bottom: 0;
    max-width: 100% !important;
    width: auto !important;
    padding: 0 !important;
    position: relative;
}

/* Footer link to /customer-reviews/ — rendered by
   boosting_reviews_composite() as a real <a class="prc-footer-link">.
   Darker neutral colour per review feedback (#4f5254) so the link
   reads as a clear text CTA rather than washed-out support text. */
.product-reviews-composite .prc-footer-link {
    display: block;
    padding: 18px 32px 22px;
    /* Full border (was border-top only) so the link reads as a discrete
       block at the bottom of the composite — pairs with the now-
       borderless outer card. */
    border: 1px solid var(--bt-line);
    background: var(--bt-bg-soft);
    font-family: var(--bt-font-label);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4f5254;
    text-align: center;
    text-decoration: none;
    transition: color 200ms ease, background 200ms ease;
}
.product-reviews-composite .prc-footer-link:hover {
    color: var(--bt-blue);
    background: var(--bt-blue-tint);
    text-decoration: none;
}

/* "Read the reviews" heading is the plugin caption — promote it into
   the dark banner used everywhere else in the section system. */
.product-reviews-composite .reviewh2,
.product-reviews-composite h2.reviewh2,
.product-reviews-composite h3.reviewh2,
.product-reviews-composite h2.packageh2 {
    margin: 0 !important;
    padding: 30px 32px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.10), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(0, 0, 0, 0.18), transparent 55%),
        linear-gradient(135deg, #0a72b8 0%, var(--bt-blue) 50%, var(--bt-blue-deep) 100%);
    color: #fff !important;
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: 0;
    text-transform: uppercase;
    border: 0;
    border-radius: 0;
    text-align: left;
}
.product-reviews-composite .reviewh2::before { content: none; }
/* The boosting parent theme's main.css renders the caption h3 as
   .package_sub_title (a solid #0364a9 banner). That selector wasn't in
   our earlier banner targets, so the subtitle ::after never landed.
   Override display from flex to block so ::after stacks below the
   title instead of sitting beside it as a flex sibling, then inject
   the subtitle text to match Extra Options / Note / About banners. */
.product-reviews-composite .package_sub_title {
    display: block !important;
    align-items: unset !important;
    text-shadow: none !important;
    /* Match the .bt-banner-title 30px size AND the 30px 32px padding
       on Extra Options / Note / About banners — the legacy main.css
       set this to 22px / 25px 10px 25px 20px which read smaller and
       offset to the left. */
    font-size: 30px !important;
    line-height: 1.05 !important;
    padding: 30px 32px !important;
    margin: 0 !important;
}
.product-reviews-composite .reviewh2::after,
.product-reviews-composite .package_sub_title::after {
    content: 'What players using our service have to say';
    display: block;
    margin-top: 8px;
    font-family: var(--bt-font-body);
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.5;
    max-width: 720px;
    text-shadow: none;
}

/* Body padding sits inside the composite below the banner */
.product-reviews-composite .prc-container {
    display: grid;
    grid-template-columns: minmax(280px, 360px) 1fr;
    grid-template-rows: auto auto;
    gap: 24px 32px;
    /* DevTools pass: top padding bumped to 40, horizontal trimmed to 0,
       bottom 20 — sidebar + reviews column hang flush with the card
       edges so the grid feels less boxed in. */
    padding: 40px 0 20px;
    margin: 0;
    max-width: 100%;
}
.product-reviews-composite #prc-summary-container {
    grid-column: 1;
    grid-row: 1;
}
.product-reviews-composite #prc-reviews-container {
    grid-column: 2;
    grid-row: 1 / span 2;
}
.product-reviews-composite #prc-form-container {
    grid-column: 1;
    grid-row: 2;
}
.product-reviews-composite .pilot_boost {
    grid-column: 1 / -1;
    width: auto;
    margin: 0 0 8px;
    padding: 0;
    background: transparent;
    border: 0;
    text-align: left;
}
.product-reviews-composite .pilot_boost img {
    height: 36px;
    width: auto;
    max-width: 100%;
}

/* --- Summary card (rating + breakdown bars) ---
   No outer card chrome — the plugin's own .glsr-summary block
   draws its own card-style background. Wrapping it would create a
   double-border look. We just provide spacing here. */
.product-reviews-composite #prc-summary-container,
.product-reviews-composite .bt-reviews-summary {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}
.product-reviews-composite .glsr-summary {
    background: var(--bt-bg-soft) !important;
    border: 1px solid var(--bt-line) !important;
    border-radius: 8px !important;
    padding: 20px 22px !important;
    margin: 0 !important;
}
/* Summary card content — rating value (big "4.9"), 5-star row, and the
   per-star breakdown bars. The plugin's actual DOM (verified via live
   inspect) puts the breakdown inside .glsr-summary-percentages
   (plural — earlier rules targeted -percentage by mistake and never
   matched). Each row is .glsr-bar with .glsr-bar-label / -background /
   -background-percent / -percent children. */
.product-reviews-composite .glsr-summary {
    background: var(--bt-bg-soft) !important;
    border: 1px solid var(--bt-line) !important;
    border-radius: 8px !important;
    padding: 20px 22px !important;
    margin: 0 !important;
    font-family: var(--bt-font-body) !important;
    color: var(--bt-ink-soft) !important;
}
.product-reviews-composite .glsr-summary-rating {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin: 0 0 4px;
}
.product-reviews-composite .glsr-summary-rating,
.product-reviews-composite .glsr-summary-rating .glsr-tag-value {
    font-family: var(--bt-font-display) !important;
    font-weight: 500 !important;
    font-size: 36px !important;
    color: var(--bt-ink) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}
.product-reviews-composite .glsr-summary-stars {
    margin: 0 0 6px;
}
.product-reviews-composite .glsr-summary-stars .glsr-star-rating {
    color: var(--bt-yellow);
}
.product-reviews-composite .glsr-summary-text,
.product-reviews-composite .glsr-summary-text .glsr-tag-value {
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--bt-ink-muted) !important;
    /* Bottom margin trimmed 16 -> 8 so the summary text sits closer to
       the breakdown bars below it. */
    margin: 0 0 8px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
/* Breakdown rows — each .glsr-bar is a 3-col grid: label | track | %. */
.product-reviews-composite .glsr-summary-percentages {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
}
.product-reviews-composite .glsr-bar {
    display: grid !important;
    grid-template-columns: 76px 1fr 38px !important;
    gap: 12px !important;
    align-items: center !important;
    background: transparent !important;
    height: auto !important;
    border-radius: 0 !important;
    overflow: visible !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product-reviews-composite .glsr-bar-label {
    font-family: var(--bt-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--bt-ink-soft) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left !important;
    line-height: 1.2 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    width: auto !important;
}
.product-reviews-composite .glsr-bar-background {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 6px !important;
    background: var(--bt-line) !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.product-reviews-composite .glsr-bar-background-percent {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    background: var(--bt-yellow) !important;
    border-radius: 3px !important;
    color: transparent !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
}
.product-reviews-composite .glsr-bar-percent {
    font-family: var(--bt-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--bt-ink-muted) !important;
    text-align: right !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    line-height: 1.2 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
}
.product-reviews-composite .glsr-minimal .glsr-bar-background-percent {
    background: var(--bt-yellow) !important;
}

/* --- Review list (right column) --- */
.product-reviews-composite #prc-reviews-container,
.product-reviews-composite .bt-reviews {
    background: transparent;
}
.product-reviews-composite .glsr-default .glsr-reviews,
.product-reviews-composite .glsr-default .glsr-reviews-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 0;
}
.product-reviews-composite .glsr-default .glsr-review {
    background: var(--bt-bg);
    border: 1px solid var(--bt-line);
    border-radius: 8px;
    /* Heavy right padding (25%) reserves a clear gutter on the right
       edge of each review card — gives the verified badge + meta
       chips room to breathe instead of crowding the next column. */
    padding: 18px 25% 20px 20px;
    transition: border-color 200ms ease, transform 250ms var(--bt-ease);
    list-style: none;
    margin: 0;
}
.product-reviews-composite .glsr-default .glsr-review:hover {
    border-color: var(--bt-blue-soft);
    transform: translateY(-2px);
}
.product-reviews-composite .glsr-review-title,
.product-reviews-composite .glsr-review-title h3 {
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 16px;
    color: var(--bt-ink);
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 8px;
    text-transform: none;
}
.product-reviews-composite .glsr-default .glsr-review-rating,
.product-reviews-composite .glsr-default .glsr-review-rating + .glsr-review-date {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.product-reviews-composite .glsr-review-date {
    font-family: var(--bt-font-label);
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--bt-ink-muted);
    text-transform: none;
}
.product-reviews-composite .glsr-default .glsr-review p {
    font-family: var(--bt-font-body) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    color: #171e27 !important;
    margin: 4px 0 10px !important;
}
.product-reviews-composite .glsr-default .glsr-review-author {
    font-family: var(--bt-font-display);
    font-weight: 500;
    font-size: 14px;
    color: var(--bt-ink);
}
.product-reviews-composite .glsr-default .glsr-review-author + .glsr-review-meta,
.product-reviews-composite .glsr-default .glsr-review-author span {
    margin-left: 0 !important;
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold', 'Montserrat', system-ui, sans-serif !important;
}
/* Custom-verified-purchase badge ([_reviews.scss] already injects this
   via ::after on the title — restyle to match the new design.) */
.product-reviews-composite .glsr-review-title h3:after {
    content: "✓ Verified" !important;
    font-family: var(--bt-font-label);
    font-weight: 500;
    font-size: 10px;
    color: var(--bt-green-deep);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--bt-green-tint);
    border: 1px solid var(--bt-green-soft);
    padding: 3px 7px;
    border-radius: 3px;
    display: inline-block;
    margin: 0 0 0 8px;
    vertical-align: middle;
    line-height: 1;
}

/* Pagination (1, 2, 3 … Next) */
.product-reviews-composite .nav-links,
.product-reviews-composite .glsr-pagination {
    display: flex;
    gap: 6px;
    margin-top: 12px;
    font-family: var(--bt-font-label);
    /* Pagination text bumped 13 -> 14 to match the rest of the .06em
       sized links on the reviews composite. */
    font-size: 14px;
    font-weight: 500;
}
.product-reviews-composite .nav-links .page-numbers,
.product-reviews-composite .glsr-pagination .page-numbers {
    color: var(--bt-blue-deep);
    padding: 6px 10px;
    border-radius: 3px;
    /* DevTools pass: force Roboto on the page-number digits so the
       1 / 2 / 3 reads consistently across browsers — the parent
       --bt-font-label stack resolves to AvenirNextCyr which doesn't
       have great numeral kerning. */
    font-family: 'Roboto', system-ui, sans-serif;
    text-decoration: none;
    background: var(--bt-bg);
    border: 1px solid var(--bt-line);
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.product-reviews-composite .nav-links .page-numbers:hover {
    background: var(--bt-blue-tint);
    border-color: var(--bt-blue-soft);
}
.product-reviews-composite .nav-links .page-numbers.current {
    background: var(--bt-blue);
    color: #fff;
    border-color: var(--bt-blue);
}

/* --- Form (.glsr-form) ---
   DOM nests as: #prc-form-container > .glsr-form-wrap > form.glsr-form
   We need ONE bordered card, not three. The outer container carries
   the chrome; the inner wrappers stay transparent so content sits
   directly inside the card padding without a nested second box. */
.product-reviews-composite #prc-form-container {
    background: var(--bt-bg-soft);
    border: 1px solid var(--bt-line);
    border-radius: 8px;
    padding: 22px 24px 24px;
    margin: 0;
    font-family: var(--bt-font-body);
}
.product-reviews-composite #prc-form-container .glsr-form-wrap,
.product-reviews-composite .glsr-form-wrap,
.product-reviews-composite .bt-reviews-form,
.product-reviews-composite form.glsr-form,
.product-reviews-composite form.glsr-review-form {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
/* The "Tell us about your experience" intro is rendered by
   _reviews.scss via ::before on .glsr-form-wrap. Restyle to match
   the section's typography. */
.product-reviews-composite .glsr-form-wrap::before {
    content: "Tell us about your experience";
    display: block;
    /* DevTools pass: form heading switched from League (display) to
       AvenirNextCyr-Bold so the prompt reads as a sentence-case body
       headline, not an uppercase display title. */
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                 'Montserrat', system-ui, sans-serif;
    font-weight: 500;
    font-size: 20px;
    color: var(--bt-ink);
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 14px;
    border: 0;
    padding: 0;
}
.product-reviews-composite .glsr-form,
.product-reviews-composite form.glsr-form {
    margin-top: 0;
    background: transparent;
    border: 0;
    padding: 0;
}
.product-reviews-composite .glsr-form .glsr-field {
    margin: 0 0 14px;
}
.product-reviews-composite .glsr-form .glsr-field > label,
.product-reviews-composite .glsr-form .glsr-field > .glsr-label {
    display: block;
    font-family: var(--bt-font-label);
    font-size: 11px;
    font-weight: 500;
    color: var(--bt-ink-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 6px;
}
.product-reviews-composite .glsr-form input.glsr-input,
.product-reviews-composite .glsr-form textarea.glsr-textarea,
.product-reviews-composite .glsr-form select.glsr-select,
.product-reviews-composite .glsr-form .jcf-select {
    width: 100% !important;
    padding: 8px 5px !important;
    background: var(--bt-bg) !important;
    border: 1px solid var(--bt-line) !important;
    border-radius: 5px !important;
    font-family: var(--bt-font-body) !important;
    font-size: 16px !important;
    color: var(--bt-ink) !important;
    line-height: 1.4 !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    box-shadow: none !important;
}
/* JCF replaces native <select> with a styled <span class="jcf-select">
   wrapper that contains an inner <span class="jcf-select-text"> holding
   the visible label. Tighten the label so it matches the input height
   and reads consistently with the other fields. */
.jcf-select .jcf-select-text {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    cursor: default;
    display: block;
    font-size: 16px;
    line-height: 16px;
    /* Capped at 500 — the rest of the .bt-section CSS holds weights at
       500 or below since the brand fonts (AvenirNextCyr-Bold) are bold
       by themselves. Synthesising weight 700 on top reads as fuzzy. */
    font-weight: 500;
    margin: 0 36px 0 8px;
}
/* Cap the heaviest plugin weights at 500. The legacy main.css block
   that pinned these to 700 was removed in this PR (themes/boosting/
   assets/css/main.css), so this rule now provides the cleaner weight. */
.glsr-default .glsr-review-verified,
.glsr-form-wrap::before {
    font-weight: 500 !important;
}
/* Review card author / date alignment. The default plugin styles
   shove the author and date with a left margin meant to clear an
   avatar that we don't render — flatten the offset and pin the
   font-size so the meta row reads cleanly. */
.glsr-default .glsr-review-avatar + .glsr-review-author span,
.glsr-default .glsr-review-rating + .glsr-review-date span {
    margin-left: 0 !important;
    font-size: 14px;
}
.product-reviews-composite .glsr-form input.glsr-input:focus,
.product-reviews-composite .glsr-form textarea.glsr-textarea:focus,
.product-reviews-composite .glsr-form select.glsr-select:focus {
    outline: none !important;
    border-color: var(--bt-blue) !important;
    box-shadow: 0 0 0 3px var(--bt-blue-tint) !important;
}
.product-reviews-composite .glsr-form textarea.glsr-textarea {
    min-height: 110px;
    resize: vertical !important;
}
.product-reviews-composite .glsr-form input.glsr-input::placeholder,
.product-reviews-composite .glsr-form textarea.glsr-textarea::placeholder {
    color: var(--bt-ink-muted) !important;
}
/* Toggle consent ("For a verified review please log in.") */
.product-reviews-composite .glsr-field-choice.glsr-required::before,
.product-reviews-composite .glsr-form .glsr-field.glsr-field-choice.glsr-required:before {
    content: "For a verified review please log in." !important;
    display: block;
    font-family: var(--bt-font-label);
    font-size: 11px;
    font-weight: 500;
    color: var(--bt-ink-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 6px;
}
.product-reviews-composite .glsr-form .glsr-toggle label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    color: var(--bt-ink-soft) !important;
    cursor: pointer;
}
/* Submit button — match the RANK UP CTA from pack-cards */
.product-reviews-composite .glsr-default form.glsr-form [type=submit],
.product-reviews-composite form.glsr-form [type=submit] {
    width: 100% !important;
    height: 52px !important;
    padding: 0 20px !important;
    background: var(--bt-blue) !important;
    color: #fff !important;
    border: 0 !important;
    /* Submit button radius 7 -> 6 so it matches the rest of the form
       inputs which sit on a tighter 6px corner. */
    border-radius: 6px !important;
    font-family: var(--bt-font-display) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    box-shadow:
        0 4px 14px rgba(37, 99, 235, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        inset 0 -2px 0 rgba(0, 0, 0, 0.10) !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.product-reviews-composite .glsr-default form.glsr-form [type=submit]:hover,
.product-reviews-composite form.glsr-form [type=submit]:hover {
    transform: translateY(-2px) !important;
    color: #fff !important;
    background: var(--bt-blue) !important;
    box-shadow:
        0 6px 20px rgba(37, 99, 235, 0.40),
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        inset 0 -2px 0 rgba(0, 0, 0, 0.10) !important;
}

/* Stars — keep the existing star-fill / star-outline image swap from
   _reviews.scss, just colour the rating tier yellow. */
.product-reviews-composite .glsr-star-rating,
.product-reviews-composite .glsr-stars,
.product-reviews-composite .gl-star-rating--stars {
    color: var(--bt-yellow);
}

/* Responsive: stack the 2-col grid on tablet down */
@media (max-width: 900px) {
    .product-reviews-composite .prc-container {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 22px 22px 24px;
    }
    .product-reviews-composite #prc-summary-container,
    .product-reviews-composite #prc-reviews-container,
    .product-reviews-composite #prc-form-container {
        grid-column: 1;
        grid-row: auto;
    }
    .product-reviews-composite .reviewh2 { font-size: 24px; padding: 22px 22px; }
}

/* ===========================================================================
   BOTTOM SUPPORT BLOCK — .product_help_bot
   ============================================================================
   This is the "Got any questions? / live chat / We're online 24/7" card that
   the About-section template appends to its body content. DOM structure
   (live inspect of /lol-boosting-packs/):

     <div class="bt-section-body service-info-text-container">
       …about copy…
       <div class="product_help_bot">
         <span class="product_help_bot_pic">
           <img src=".../supportcrown.webp">
         </span>
         <div class="h2helptext">
           <h3 class="h3help">
             Got any questions? Looking for the best price?
             <strong>Contact us via live chat in the corner</strong>
             We're online 24/7
           </h3>
         </div>
       </div>
     </div>

   Because the block sits inside .bt-section-body, it was inheriting the
   body's --bt-ink-soft text colour and the .bt-section-body strong rule's
   --bt-ink — which on the new blue card background read as dark grey on
   blue. This block now gets its own banner-style chrome and forces the
   inner text to white. Scoped tightly so the rule only fires on this
   exact class.
============================================================================ */

.bt-section .product_help_bot,
.product_help_bot {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.10), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(0, 0, 0, 0.18), transparent 55%),
        linear-gradient(135deg, #0a72b8 0%, var(--bt-blue, #0364a8) 50%, var(--bt-blue-deep, #024c80) 100%);
    color: #fff !important;
    border-radius: 10px;
    padding: 32px 28px;
    margin: 32px 0 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
    border: 0;
    box-shadow: 0 4px 14px rgba(3, 100, 168, 0.18);
    overflow: hidden;
    position: relative;
}
.bt-section .product_help_bot .product_help_bot_pic,
.product_help_bot .product_help_bot_pic {
    display: inline-block;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    width: auto;
    height: auto;
    /* Legacy main.css sets `position: relative; left: 43%; width: 150px`
       which shoved the fox image off-center. Reset so the flex column
       above can centre it cleanly. */
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
}
.bt-section .product_help_bot .product_help_bot_pic img,
.product_help_bot .product_help_bot_pic img {
    width: 130px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.30));
}
.bt-section .product_help_bot .h2helptext,
.product_help_bot .h2helptext {
    text-align: center;
    width: 100%;
    margin: 0;
    padding: 0;
}
/* Heading: three lines (line 1 text, line 2 <strong>, line 3 text). The
   legacy main.css makes the strong display block — keep that, but force
   our colour + typography. !important required because the legacy rules
   set their own colour / font / display: block via main.css. */
.bt-section .product_help_bot .h3help,
.product_help_bot .h3help {
    font-family: var(--bt-font-display, 'League'), 'avenirnextcyr-bold', 'Montserrat', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 22px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}
.bt-section .product_help_bot .h3help strong,
.product_help_bot .h3help strong {
    display: block !important;
    font-family: var(--bt-font-body, 'avenirnextcyr-medium'), system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-style: italic !important;
    margin: 8px 0 !important;
    line-height: 1.4 !important;
}

/* Responsive: tighter padding on mobile */
@media (max-width: 680px) {
    .bt-section .product_help_bot,
    .product_help_bot {
        padding: 26px 20px;
    }
    .bt-section .product_help_bot .product_help_bot_pic img,
    .product_help_bot .product_help_bot_pic img {
        width: 110px;
    }
    .bt-section .product_help_bot .h3help,
    .product_help_bot .h3help {
        font-size: 18px !important;
    }
    .bt-section .product_help_bot .h3help strong,
    .product_help_bot .h3help strong {
        font-size: 14px !important;
    }
}

/* Product-type tab row (Placement / Wins / Rank / Duo Rank / Duo Wins /
   Coaching / XL Deals) — give the ul a 30px bottom margin so it spaces
   away from the pack grid cleanly. Theme main.css doesn't set this. */
.booster_packege_tabs ul {
    margin: 0 auto 30px !important;
}

/* ===========================================================================
   CALC + DESCRIPTION TYPOGRAPHY — site-wide bumps
   ============================================================================
   These selectors live outside the section system (.choosen_text appears
   inside the Extra Options description content, .calc-widget-title /
   .tier-name / .rt-card-value drive the boosting calculator above the
   pack grid). Bumped here in extra-options.css since this file is
   already loaded on every product page.
============================================================================ */

.choosen_text {
    margin: 20px auto;
    font-size: 18px;
    font-family: Roboto, system-ui, -apple-system, sans-serif;
    color: #252525;
}

.calc-widget-title {
    font-size: 36px;
}

.tier-name {
    font: 30px league;
}

.ps-select-container.rt-rank-bottom .rt-card-value,
.rt-platform-row .rt-card-value {
    font-size: 22px !important;
}
/* ============================================================================
   ABOUT / FAQ — long-form section that sits inside [bt_about] body content
   ============================================================================
   Translation of the lol-boosting-faq-vr5 mock into the session's design
   language:
     - Bricolage Grotesque -> League (display, weight 500), session standard
     - Geist Mono          -> AvenirNextCyr-Medium with monospace-style
                              letter-spacing (no system mono in site stack)
     - Geist               -> AvenirNextCyr-Medium / Roboto (body)
     - Mock --blue #38a6e8 -> session brand --bt-blue #0364a8
     - Mock dark callout   -> session .bt-section-banner gradient
                              (#0a72b8 -> #0364a8 -> #024c80)
     - Border radii halved (matches the reviews-page polish + product cards)

   Scope:
     .bt-about-faq           — wrapper the user pastes into the WP editor
     .bt-faq-section         — each numbered card
     .bt-faq-item            — single accordion row (details element)
     .bt-faq-callout         — dark "still have a question" banner

   Self-contained — does NOT inherit from .bt-section variables. Re-declares
   the design tokens so it works whether or not extra-options.css has loaded
   above it. The accordion JS lives in about-faq.js next to this file.
============================================================================ */

.bt-about-faq {
    --bt-faq-bg:          #ffffff;
    --bt-faq-bg-soft:     #f6fafd;
    --bt-faq-ink:         #0c1a2b;
    --bt-faq-ink-2:       #16273d;
    /* DevTools pass: darker ink-soft (#4a5a6e -> #364150) so body prose
       contrasts harder against the white card bg. */
    --bt-faq-ink-soft:    #364150;
    /* DevTools pass: ink-muted darkened (#8a98a8 -> #76818d) so eyebrow
       labels + step-num lines have a touch more contrast against the
       white card bg. */
    --bt-faq-ink-muted:   #76818d;
    --bt-faq-line:        #e4ecf3;
    --bt-faq-line-soft:   #eef3f8;

    /* Session brand blue — same #0364a8 used on .bt-section-banner and the
       reviews-page polish. */
    --bt-faq-blue:        #0364a8;
    --bt-faq-blue-deep:   #024c80;
    --bt-faq-blue-mid:    #3a9de8;
    --bt-faq-blue-soft:   #b8e0f4;
    --bt-faq-blue-tint:   #eaf6fd;

    --bt-faq-orange:      #ff7a2a;
    --bt-faq-orange-soft: #ffc9a8;
    --bt-faq-orange-deep: #d65a10;
    --bt-faq-orange-tint: #fff0e6;

    --bt-faq-green:       #22b358;
    --bt-faq-green-soft:  #b8e8c8;
    --bt-faq-green-tint:  #e8f7ee;

    --bt-faq-shadow-soft: 0 1px 2px rgba(15, 60, 100, 0.04), 0 8px 24px rgba(15, 60, 100, 0.06);
    --bt-faq-shadow-pop:  0 2px 4px rgba(15, 60, 100, 0.05), 0 24px 60px rgba(15, 60, 100, 0.08);

    --bt-faq-ease:        cubic-bezier(0.16, 1, 0.3, 1);

    /* Session font tokens. Display = League 500. Body = AvenirNextCyr-Medium.
       Mono-style label = AvenirNextCyr-Medium with wide letter-spacing as a
       stand-in for Geist Mono (site doesn't ship a real monospace). */
    --bt-faq-font-display: 'League', 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                            'Montserrat', system-ui, sans-serif;
    --bt-faq-font-body:    'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                            'Roboto', system-ui, sans-serif;
    --bt-faq-font-label:   'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                            'Roboto Mono', ui-monospace, monospace;

    display: block;
    color: var(--bt-faq-ink);
    font-family: var(--bt-faq-font-body);
    /* DevTools pass: dropped the 24px top spacer — the surrounding
       .bt-section--about card already provides its own margin-top. */
    /* margin-top: 24px; */
}
.bt-about-faq *,
.bt-about-faq *::before,
.bt-about-faq *::after { box-sizing: border-box; }

/* ============================================================================
   LIVE ACTIVITY TICKER — sits above the FAQ section cards.
============================================================================
   Translated from the lol-boosting-faq-v66 mock. Pulsing green dot +
   "LIVE" label on the left, single-line rotating activity items on the
   right (one visible at a time, faded in/out by about-faq.js).

   Markup contract (paste into .bt-about-faq as the first child):
     <div class="bt-faq-ticker" aria-live="polite">
       <span class="bt-faq-ticker-dot" aria-hidden="true"></span>
       <span class="bt-faq-ticker-label">Live</span>
       <span class="bt-faq-ticker-divider" aria-hidden="true"></span>
       <div class="bt-faq-ticker-content">
         <div class="bt-faq-ticker-item is-active">...</div>
         <div class="bt-faq-ticker-item">...</div>
         ...
       </div>
     </div>
============================================================================ */
.bt-about-faq .bt-faq-ticker {
    display: flex;
    align-items: center;
    /* Wider gap between the LIVE label, divider, and the rotating item
       column so the ticker reads as breathing-room marquee rather than
       a cramped row. Vertical padding bumped 14 -> 20 and margin-bottom
       18 -> 44 so the ticker reads as its own band, not crammed into
       the FAQ stack below it. */
    gap: 22px;
    padding: 20px 22px;
    background: var(--bt-faq-bg);
    border: 1px solid var(--bt-faq-line);
    border-radius: 3px;
    margin-bottom: 44px;
    box-shadow: var(--bt-faq-shadow-soft);
    overflow: hidden;
}
.bt-about-faq .bt-faq-ticker-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bt-faq-green);
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(34, 179, 88, 0.5);
    animation: bt-faq-ticker-pulse 2.2s infinite cubic-bezier(0.66, 0, 0, 1);
}
@keyframes bt-faq-ticker-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(34, 179, 88, 0.5); }
    70%  { box-shadow: 0 0 0 10px rgba(34, 179, 88, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 179, 88, 0); }
}
.bt-about-faq .bt-faq-ticker-label {
    /* DevTools pass: explicit Roboto + 700 + 14px for the LIVE chip.
       Reads heavier than the rotating items so the chip pops as a
       label, not just another ticker row. */
    font-family: 'Roboto', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-green);
    flex-shrink: 0;
}
.bt-about-faq .bt-faq-ticker-divider {
    /* Doubled (1 -> 2px) so the divider reads as deliberate rather
       than a render artefact. */
    width: 2px;
    height: 14px;
    background: var(--bt-faq-line);
    flex-shrink: 0;
}
.bt-about-faq .bt-faq-ticker-content {
    flex: 1;
    position: relative;
    height: 18px;
    overflow: hidden;
    min-width: 0;
}
.bt-about-faq .bt-faq-ticker-item {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    /* DevTools pass: ticker rows now Roboto bold @ 16px to match the
       weight of the LIVE chip on the left. Reads as a sustained heading
       across the band rather than dropping in weight after the divider. */
    font-family: 'Roboto', system-ui, sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.02em;
    /* Bigger word-spacing teases the chunks (dates / numbers / divider
       dots) apart so the item reads as a labelled feed, not a run-on. */
    word-spacing: 2px;
    color: var(--bt-faq-ink-soft);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 400ms var(--bt-faq-ease),
                transform 400ms var(--bt-faq-ease);
}
.bt-about-faq .bt-faq-ticker-item.is-active {
    opacity: 1;
    transform: translateY(0);
}
.bt-about-faq .bt-faq-ticker-item em {
    font-style: normal;
    /* Brand blue + 700 weight + wider side padding (2 -> 6) so the
       emphasised chunks (rank names, codes, day counters) read as
       clickable-looking tokens against the body of the row. */
    color: #0364a8;
    font-weight: 700;
    padding: 0 6px;
}
.bt-about-faq .bt-faq-ticker-item .bt-faq-ticker-arrow {
    color: var(--bt-faq-orange);
    /* Wider margin around the arrow so "Gold IV → Plat IV" reads as
       three discrete tokens. */
    margin: 0 10px;
    font-weight: 500;
}
@media (prefers-reduced-motion: reduce) {
    .bt-about-faq .bt-faq-ticker-dot { animation: none; }
    .bt-about-faq .bt-faq-ticker-item { transition: none; }
}

/* ============================================================================
   SECTION CARD — same chrome as the product-page .bt-section cards
============================================================================ */
.bt-about-faq .bt-faq-section {
    background: var(--bt-faq-bg);
    /* DevTools pass: hairline border restored. Earlier round set border:0,
       which left the card relying on box-shadow alone — looked too
       floaty next to the bordered cards on the rest of the page. */
    border: 1px solid var(--bt-faq-line);
    /* Halved (mock 6 -> 3). */
    border-radius: 3px;
    box-shadow: var(--bt-faq-shadow-soft);
    overflow: hidden;
    /* Cards now stack with a 40px gap between them — the earlier flush
       stacking read as a single giant block. */
    margin-bottom: 40px;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    animation: bt-faq-reveal 0.7s var(--bt-faq-ease) forwards;
}
.bt-about-faq .bt-faq-section:nth-of-type(1) { animation-delay: 0.05s; }
.bt-about-faq .bt-faq-section:nth-of-type(2) { animation-delay: 0.12s; }
.bt-about-faq .bt-faq-section:nth-of-type(3) { animation-delay: 0.19s; }
.bt-about-faq .bt-faq-section:nth-of-type(4) { animation-delay: 0.26s; }
.bt-about-faq .bt-faq-section:nth-of-type(5) { animation-delay: 0.33s; }
.bt-about-faq .bt-faq-section:nth-of-type(6) { animation-delay: 0.40s; }
.bt-about-faq .bt-faq-section:nth-of-type(7) { animation-delay: 0.47s; }
.bt-about-faq .bt-faq-section:nth-of-type(8) { animation-delay: 0.54s; }
@keyframes bt-faq-reveal {
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   SECTION HEAD — eyebrow row + League title + right-side badge
============================================================================ */
.bt-about-faq .bt-faq-section-head {
    padding: 20px 26px 18px;
    background: var(--bt-faq-bg-soft);
    border-bottom: 1px solid var(--bt-faq-line);
    /* DevTools pass: hairline border-top added so the eyebrow band has a
       deliberate top edge against the page background — gives the
       section-head its own contained "header strip" look rather than
       blending into the card top. */
    border-top: 1px solid var(--bt-faq-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.bt-about-faq .bt-faq-section-head-left { min-width: 0; flex: 1 1 auto; }
.bt-about-faq .bt-faq-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.bt-about-faq .bt-faq-tag {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--bt-faq-orange-deep);
    background: var(--bt-faq-orange-tint);
    border: 1px solid var(--bt-faq-orange-soft);
    padding: 3px 7px;
    border-radius: 2px;
    line-height: 1;
}
.bt-about-faq .bt-faq-eyebrow-text {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-ink-muted);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.bt-about-faq .bt-faq-eyebrow-text svg {
    /* DevTools pass: bumped icon glyphs 13 -> 14 so they read at parity
       with the eyebrow text x-height. */
    width: 14px;
    height: 14px;
    color: var(--bt-faq-blue-mid);
    flex-shrink: 0;
}
.bt-about-faq .bt-faq-section-title {
    font-family: var(--bt-faq-font-display);
    /* League looks best at weight 500 across the site. */
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 0.005em;
    color: var(--bt-faq-ink);
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0;
}
.bt-about-faq .bt-faq-section-title em {
    /* DevTools pass: dropped the italic on section-title em — League
       at weight 500 doesn't have a true italic cut, and the synthesized
       slant was reading as off-kilter. Orange colour stays. */
    /* font-style: italic; */
    font-weight: 500;
    color: var(--bt-faq-orange);
}
.bt-about-faq .bt-faq-head-badge {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-blue-deep);
    background: var(--bt-faq-blue-tint);
    border: 1px solid var(--bt-faq-blue-soft);
    padding: 6px 10px;
    border-radius: 2px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    white-space: nowrap;
}
.bt-about-faq .bt-faq-head-badge svg { width: 12px; height: 12px; color: var(--bt-faq-blue); }
.bt-about-faq .bt-faq-head-badge em { font-style: normal; color: var(--bt-faq-ink); font-weight: 500; }

/* ============================================================================
   SECTION BODY — lead paragraph + supporting body paragraphs
============================================================================ */
/* DevTools pass: body padding bumped vertical 24 -> 30 for more breathing
   room between the section-head border and the first paragraph. */
.bt-about-faq .bt-faq-section-body { padding: 30px 26px; }
@media (max-width: 760px) { .bt-about-faq .bt-faq-section-body { padding: 22px; } }

.bt-about-faq .bt-faq-lead {
    font-family: var(--bt-faq-font-body);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: -0.005em;
    line-height: 1.45;
    color: var(--bt-faq-ink);
    margin: 0 0 12px;
}
.bt-about-faq .bt-faq-lead em {
    font-style: italic;
    font-weight: 500;
    color: var(--bt-faq-orange-deep);
}

.bt-about-faq .bt-faq-p {
    font-size: 15px;
    color: var(--bt-faq-ink-soft);
    line-height: 1.65;
    /* DevTools pass: widened the readable column from 760 -> 900 so the
       prose fills more of the card on wide screens. */
    max-width: 900px;
    margin: 0;
}
.bt-about-faq .bt-faq-p + .bt-faq-p { margin-top: 12px; }
.bt-about-faq .bt-faq-p strong { color: var(--bt-faq-ink); font-weight: 500; }

/* Inline product links — same hover-flip as the body links on product pages */
.bt-about-faq .bt-faq-p a,
.bt-about-faq .bt-faq-lead a,
.bt-about-faq .bt-faq-step-card p a,
.bt-about-faq .bt-faq-item .bt-faq-answer a {
    color: var(--bt-faq-blue-deep);
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px dotted var(--bt-faq-blue-soft);
    padding: 0 1px;
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease;
}
.bt-about-faq .bt-faq-p a:hover,
.bt-about-faq .bt-faq-lead a:hover,
.bt-about-faq .bt-faq-step-card p a:hover,
.bt-about-faq .bt-faq-item .bt-faq-answer a:hover {
    color: var(--bt-faq-orange-deep);
    border-bottom-color: var(--bt-faq-orange);
    background: var(--bt-faq-orange-tint);
    border-radius: 2px;
}

/* ============================================================================
   STATUS PILLS — small uppercase chips, one of three colour variants
============================================================================ */
.bt-about-faq .bt-faq-status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.bt-about-faq .bt-faq-pill {
    font-family: var(--bt-faq-font-label);
    font-size: 12px;
    /* DevTools pass: lighter pill weight (700 -> 500) so the chips read
       as labels rather than competing with the heading. */
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 10px;
    border-radius: 2px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.bt-about-faq .bt-faq-pill svg { width: 12px; height: 12px; }
.bt-about-faq .bt-faq-pill--green {
    color: var(--bt-faq-green);
    background: var(--bt-faq-green-tint);
    border: 1px solid var(--bt-faq-green-soft);
}
.bt-about-faq .bt-faq-pill--blue {
    color: var(--bt-faq-blue-deep);
    background: var(--bt-faq-blue-tint);
    border: 1px solid var(--bt-faq-blue-soft);
}
.bt-about-faq .bt-faq-pill--orange {
    color: var(--bt-faq-orange-deep);
    background: var(--bt-faq-orange-tint);
    border: 1px solid var(--bt-faq-orange-soft);
}

/* ============================================================================
   3-STEP CARDS — used inside "How does boosting work?" section
============================================================================ */
.bt-about-faq .bt-faq-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 760px) { .bt-about-faq .bt-faq-steps-grid { grid-template-columns: 1fr; } }

.bt-about-faq .bt-faq-step-card {
    padding: 22px;
    background: var(--bt-faq-bg-soft);
    border: 1px solid var(--bt-faq-line);
    /* Halved (mock 8 -> 4). */
    border-radius: 4px;
    overflow: hidden;
    transition: transform 300ms var(--bt-faq-ease), box-shadow 300ms var(--bt-faq-ease), border-color 300ms ease;
}
.bt-about-faq .bt-faq-step-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--bt-faq-shadow-pop);
    border-color: var(--bt-faq-blue-soft);
    background: var(--bt-faq-bg);
}
.bt-about-faq .bt-faq-step-num {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-ink-muted);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.bt-about-faq .bt-faq-step-num::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bt-faq-orange);
}
.bt-about-faq .bt-faq-step-num .num {
    color: var(--bt-faq-ink);
    font-weight: 500;
    font-size: 12px;
}
.bt-about-faq .bt-faq-step-card h3 {
    font-family: var(--bt-faq-font-display);
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.005em;
    color: var(--bt-faq-ink);
    margin: 0 0 8px;
    line-height: 1.2;
    text-transform: uppercase;
}
.bt-about-faq .bt-faq-step-card h3 em {
    font-style: italic;
    font-weight: 500;
    color: var(--bt-faq-orange);
}
.bt-about-faq .bt-faq-step-card p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--bt-faq-ink-soft);
    margin: 0;
}

/* ============================================================================
   TRUST STATS ROW — 4 vertical-rule-separated stats
============================================================================ */
.bt-about-faq .bt-faq-trust-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    /* DevTools pass: bumped 18 -> 26 so the trust-stat strip has a clearer
       break from the supporting paragraphs above it. */
    margin-top: 26px;
    padding: 18px 22px;
    background: var(--bt-faq-bg-soft);
    border: 1px solid var(--bt-faq-line);
    border-radius: 3px;
}
@media (max-width: 760px) { .bt-about-faq .bt-faq-trust-row { grid-template-columns: repeat(2, 1fr); } }
.bt-about-faq .bt-faq-trust-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    position: relative;
}
.bt-about-faq .bt-faq-trust-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -7px;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: var(--bt-faq-line);
}
@media (max-width: 760px) { .bt-about-faq .bt-faq-trust-stat::after { display: none !important; } }
.bt-about-faq .bt-faq-trust-value {
    font-family: var(--bt-faq-font-display);
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.005em;
    line-height: 1;
    color: var(--bt-faq-ink);
}
.bt-about-faq .bt-faq-trust-value em {
    font-style: italic;
    font-weight: 500;
    color: var(--bt-faq-orange);
}
.bt-about-faq .bt-faq-trust-label {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-ink-muted);
    margin-top: 6px;
}

/* ============================================================================
   ACCORDION — <details>-based, JS handles smooth height (about-faq.js)
============================================================================ */
.bt-about-faq .bt-faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bt-about-faq details.bt-faq-item {
    border: 1px solid var(--bt-faq-line);
    border-radius: 3px;
    background: var(--bt-faq-bg);
    overflow: hidden;
    transition: border-color 220ms var(--bt-faq-ease),
                box-shadow 220ms var(--bt-faq-ease),
                background 220ms var(--bt-faq-ease);
}
.bt-about-faq details.bt-faq-item[open] {
    border-color: var(--bt-faq-blue-soft);
    box-shadow: var(--bt-faq-shadow-soft);
    background: var(--bt-faq-bg-soft);
}
.bt-about-faq details.bt-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    /* DevTools pass: question summaries switched from League (display)
       to AvenirNextCyr-Bold so the question text reads as sentence-case
       body copy with weight rather than uppercase display text. !important
       so it wins over the var(--bt-faq-font-display) declaration below. */
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                 'Montserrat', system-ui, sans-serif !important;
    font-weight: 500;
    /* Reverted 18 -> 17px — the bigger size was leading awkwardly into
       the 11px Q.NN tag on the left. 17 lines up cleaner. */
    font-size: 17px;
    letter-spacing: 0.005em;
    color: var(--bt-faq-ink);
    /* text-transform: uppercase; */
    user-select: none;
}
.bt-about-faq details.bt-faq-item summary::-webkit-details-marker { display: none; }
.bt-about-faq details.bt-faq-item summary .bt-faq-q-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.bt-about-faq details.bt-faq-item summary .bt-faq-q-tag {
    font-family: var(--bt-faq-font-label);
    font-size: 11px;
    font-weight: 500;
    /* DevTools pass: tighter tracking on the Q.NN tag (.06 -> .01) so
       it reads as a numeric label, not a uppercase code label. */
    letter-spacing: 0.01em;
    color: var(--bt-faq-ink-muted);
    flex-shrink: 0;
    transition: color 220ms ease;
    /* Override the bold label font with medium so the Q.NN tag reads
       as a quieter sibling of the question prose. */
    font-family: 'avenirnextcyr-medium', 'AvenirNextCyr-Medium',
                 system-ui, sans-serif;
}
.bt-about-faq details.bt-faq-item[open] summary .bt-faq-q-tag { color: var(--bt-faq-blue-deep); }
.bt-about-faq details.bt-faq-item summary .bt-faq-chev {
    flex-shrink: 0;
    /* DevTools pass: bigger toggle target (26 -> 30) with a 2px border
       so the chevron reads as a deliberate button rather than a hairline
       hint. */
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bt-faq-ink-muted);
    background: var(--bt-faq-bg-soft);
    border: 2px solid var(--bt-faq-line);
    border-radius: 2px;
    transition: transform 280ms var(--bt-faq-ease),
                color 220ms ease,
                background 220ms ease,
                border-color 220ms ease;
}
.bt-about-faq details.bt-faq-item[open] summary .bt-faq-chev {
    transform: rotate(180deg);
    color: var(--bt-faq-blue);
    background: var(--bt-faq-blue-tint);
    border-color: var(--bt-faq-blue-soft);
}
/* DevTools pass: chevron glyph bumped 11 -> 16 to fill the bigger 30px button. */
.bt-about-faq details.bt-faq-item summary .bt-faq-chev svg { width: 16px; height: 16px; }

/* Wrapper handles the smooth height animation — JS sets explicit heights */
.bt-about-faq details.bt-faq-item .bt-faq-answer-wrap {
    height: 0;
    overflow: hidden;
    transition: height 320ms var(--bt-faq-ease);
}
.bt-about-faq details.bt-faq-item .bt-faq-answer {
    /* DevTools pass: 10px top padding (was 1px) so the answer has a
       clear separation from the chevron line above when the accordion
       opens — 1px was just enough to stop clipping but read as crammed. */
    padding: 10px 18px 16px 48px;
    color: var(--bt-faq-ink-soft);
    font-size: 14.5px;
    line-height: 1.65;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 260ms var(--bt-faq-ease) 60ms,
                transform 260ms var(--bt-faq-ease) 60ms;
}
.bt-about-faq details.bt-faq-item.is-open .bt-faq-answer {
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 760px) {
    .bt-about-faq details.bt-faq-item .bt-faq-answer { padding-left: 18px; }
}
/* DevTools pass: tightened the inter-paragraph gap in answers (10 -> 5). */
.bt-about-faq details.bt-faq-item .bt-faq-answer p { margin: 0 0 5px; }
.bt-about-faq details.bt-faq-item .bt-faq-answer p:last-child { margin-bottom: 0; }
.bt-about-faq details.bt-faq-item .bt-faq-answer strong { color: var(--bt-faq-ink); font-weight: 500; }

/* ============================================================================
   CALLOUT — dark "still have a question?" banner using session gradient
============================================================================ */
.bt-about-faq .bt-faq-callout {
    /* DevTools pass: trimmed top margin (36 -> 20) — the 36px gap was
       reading as a hard break; 20 still separates the callout from the
       FAQ stack without leaving a vertical chasm. */
    margin-top: 20px;
    padding: 40px 40px;
    /* DevTools pass: darker callout gradient — dark-blue -> mid -> brand
       brighter blue, reads more dramatic against the now-pure-white page
       and the white card grid above it. */
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.10), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(0, 0, 0, 0.18), transparent 55%),
        linear-gradient(135deg, #014d83 0%, #005694 80%, #0364a9 100%);
    color: #fff;
    /* Halved (mock 8 -> 4). */
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(3,100,168,.18), 0 4px 10px rgba(3,100,168,.10);
}
/* DevTools pass: orange accent strip dropped from the callout bottom —
   was competing with the orange CTA pill. ::after kept for vertical
   layout consistency but with no fill colour. */
.bt-about-faq .bt-faq-callout::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    /* background: var(--bt-faq-orange); */
}
.bt-about-faq .bt-faq-callout-eyebrow {
    font-family: var(--bt-faq-font-label);
    /* DevTools pass: bigger eyebrow (11 -> 12px) with tighter tracking
       (0.18 -> 0.08em) so the support-pitch line reads more like prose
       and less like a code label. */
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
/* DevTools pass: eyebrow icon bumped 13 -> 18px so it sits at parity
   with the bigger 12px eyebrow text. */
.bt-about-faq .bt-faq-callout-eyebrow svg { width: 18px; height: 18px; color: var(--bt-faq-orange); }
.bt-about-faq .bt-faq-callout-text {
    /* DevTools pass: switched the callout headline from League to
       AvenirNextCyr-Bold. Reason: League at this size + 'em' inside the
       headline didn't have a true italic cut, so the synthesized italic
       was unreadable. AvenirNextCyr-Bold has both a true bold + the
       weight to carry the 26px line. */
    font-family: 'avenirnextcyr-bold', 'AvenirNextCyr-Bold',
                 'Montserrat', system-ui, sans-serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.005em;
    line-height: 1.2;
    text-transform: uppercase;
}
.bt-about-faq .bt-faq-callout-text em {
    /* DevTools pass: italic dropped (synthesized italic on this stack
       looked off-kilter). Orange kept as a literal #ff7a2a so the value
       survives any future --bt-faq-orange variable retune. */
    /* font-style: italic; */
    font-weight: 500;
    color: #ff7a2a;
}
.bt-about-faq .bt-faq-callout a {
    background: var(--bt-faq-orange);
    color: #fff !important;
    font-family: var(--bt-faq-font-label);
    font-weight: 500;
    /* DevTools pass: CTA dropped back 16 -> 14px so the button reads
       as a button rather than competing with the .bt-faq-callout-text
       headline on the left. */
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 14px 22px;
    border-radius: 2px;
    text-decoration: none !important;
    border-bottom: none !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s;
    box-shadow: 0 6px 20px -6px rgba(255, 122, 42, 0.55);
}
.bt-about-faq .bt-faq-callout a:hover {
    transform: translateY(-1px);
    background: #ffffff;
    color: var(--bt-faq-blue-deep) !important;
    box-shadow: 0 10px 26px -8px rgba(255, 255, 255, 0.35);
}
/* DevTools pass: callout CTA arrow scaled with the bigger label text. */
.bt-about-faq .bt-faq-callout a svg { width: 16px; height: 16px; }

/* ============================================================================
   TRUST STRIP — third-party verification badges
============================================================================ */
.bt-about-faq .bt-faq-trust-strip {
    /* DevTools pass: tighter to the callout above (16 -> 10) but more
       internal padding (14 -> 20 vertical) so the badges have room. */
    margin-top: 10px;
    padding: 20px 18px;
    background: var(--bt-faq-bg-soft);
    border: 1px solid var(--bt-faq-line);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.bt-about-faq .bt-faq-trust-strip-label {
    font-family: var(--bt-faq-font-label);
    /* DevTools pass: bumped to 14px so the "Verified on" label reads
       at the same weight as the neighbouring badges. */
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bt-faq-ink-muted);
    font-weight: 500;
}
.bt-about-faq .bt-faq-trust-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.bt-about-faq .bt-faq-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: var(--bt-faq-bg);
    border: 1px solid var(--bt-faq-line);
    border-radius: 2px;
    font-family: var(--bt-faq-font-label);
    /* DevTools pass: 12 -> 14px so the platform names sit at parity
       with the "Verified on" label on the left of the strip. */
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bt-faq-ink-soft);
}
.bt-about-faq .bt-faq-trust-badge svg { width: 12px; height: 12px; color: var(--bt-faq-green); }

/* ============================================================================
   BACK TO TOP — bottom-of-page button, links to #top anchor
============================================================================ */
.bt-about-faq .bt-faq-back-to-top {
    /* DevTools pass: top margin 36 -> 20 so the back-to-top button
       sits closer to the trust strip / callout above. 80px below
       still leaves clear space before the footer. */
    margin: 20px 0 80px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 22px;
    background: #ffffff;
    color: var(--bt-faq-blue-deep);
    /* DevTools pass: thicker (1 -> 2px) + darker (-blue-soft -> #126dad)
       border so the back-to-top button reads as a deliberate CTA rather
       than a hairline pill. #126dad is a darker brand-blue shade picked
       to sit between --bt-faq-blue (#0364a8) and --bt-faq-blue-soft
       (#b8e0f4). */
    border: 2px solid #126dad;
    border-radius: 4px;
    font-family: var(--bt-faq-font-label);
    font-weight: 500;
    /* Bumped 13 -> 16px so the "Back to top" label reads as a button
       label, not a footer line. */
    font-size: 16px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease,
                transform 0.2s ease, box-shadow 0.2s ease;
}
.bt-about-faq .bt-faq-back-to-top:hover {
    background: var(--bt-faq-blue-tint);
    border-color: var(--bt-faq-blue);
    color: var(--bt-faq-blue-deep);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px -8px rgba(3, 100, 168, 0.35);
}
/* Back-to-top arrow scaled with the bigger label text. */
.bt-about-faq .bt-faq-back-to-top svg { width: 16px; height: 16px; }

/* ============================================================================
   RESPONSIVE + MOTION
============================================================================ */
@media (max-width: 600px) {
    .bt-about-faq .bt-faq-section-head { padding: 16px 18px 14px; }
    .bt-about-faq .bt-faq-section-title { font-size: 22px; }
    .bt-about-faq .bt-faq-callout-text { font-size: 20px; }
    .bt-about-faq .bt-faq-callout { padding: 18px 20px; }
    .bt-about-faq .bt-faq-trust-value { font-size: 24px; }
    .bt-about-faq .bt-faq-step-card h3 { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .bt-about-faq .bt-faq-section {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .bt-about-faq details.bt-faq-item .bt-faq-answer-wrap { transition: none !important; }
    .bt-about-faq details.bt-faq-item .bt-faq-answer { transition: none !important; }
}

#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; }
}
