/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  overflow-x: hidden;
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/

/* Responsive Grid */

.row-fluid {
    width: 100%;
    *zoom: 1;
}

.row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
}

.row-fluid:after {
    clear: both;
}

.row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.127659574%;
    *margin-left: 2.0744680846382977%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
    margin-left: 0;
}

.row-fluid .span12 {
    width: 99.99999998999999%;
    *width: 99.94680850063828%;
}

.row-fluid .span11 {
    width: 91.489361693%;
    *width: 91.4361702036383%;
}

.row-fluid .span10 {
    width: 82.97872339599999%;
    *width: 82.92553190663828%;
}

.row-fluid .span9 {
    width: 74.468085099%;
    *width: 74.4148936096383%;
}

.row-fluid .span8 {
    width: 65.95744680199999%;
    *width: 65.90425531263828%;
}

.row-fluid .span7 {
    width: 57.446808505%;
    *width: 57.3936170156383%;
}

.row-fluid .span6 {
    width: 48.93617020799999%;
    *width: 48.88297871863829%;
}

.row-fluid .span5 {
    width: 40.425531911%;
    *width: 40.3723404216383%;
}

.row-fluid .span4 {
    width: 31.914893614%;
    *width: 31.8617021246383%;
}

.row-fluid .span3 {
    width: 23.404255317%;
    *width: 23.3510638276383%;
}

.row-fluid .span2 {
    width: 14.89361702%;
    *width: 14.8404255306383%;
}

.row-fluid .span1 {
    width: 6.382978723%;
    *width: 6.329787233638298%;
}

.container-fluid {
    *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
    display: table;
    content: "";
}

.container-fluid:after {
    clear: both;
}

@media (max-width: 767px) {
    .row-fluid {
        width: 100%;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: none;
        width: auto;
        margin-left: 0;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.762430939%;
        *margin-left: 2.709239449638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
  
    div[class*='-vertical-alignment'] > .row-fluid {
      flex-flow: wrap;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }
  
    .row-fluid .span3:first-child,
    .row-fluid .span3 + .span3 + .span3:nth-child(3) {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 99.999999993%;
        *width: 99.9468085036383%;
    }

    .row-fluid .span11 {
        width: 91.436464082%;
        *width: 91.38327259263829%;
    }

    .row-fluid .span10 {
        width: 82.87292817100001%;
        *width: 82.8197366816383%;
    }

    .row-fluid .span9 {
        width: 74.30939226%;
        *width: 74.25620077063829%;
    }

    .row-fluid .span8 {
        width: 65.74585634900001%;
        *width: 65.6926648596383%;
    }

    .row-fluid .span7 {
        width: 57.182320438000005%;
        *width: 57.129128948638304%;
    }

    .row-fluid .span6 {
        width: 48.618784527%;
        *width: 48.5655930376383%;
    }

    .row-fluid .span5 {
        width: 40.055248616%;
        *width: 40.0020571266383%;
    }

    .row-fluid .span4 {
        width: 31.491712705%;
        *width: 31.4385212156383%;
    }

    .row-fluid .span3 {
      width: 22.928176794%;
      *width: 22.874985304638297%;
    }
  
    .row-fluid .span3:first-child,
    .row-fluid .span3:first-child + .span3,
    .row-fluid .span3 + .span3 + .span3 {
        width: 48.618784527%;
        *width: 48.5655930376383%;
    }
  
    .row-fluid .span3 + .span3 + .span6 {
        width: 99.999999993%;
        *width: 99.9468085036383%;
        margin-left: 0;
    }

    .row-fluid .span2 {
        width: 14.364640883%;
        *width: 14.311449393638298%;
    }

    .row-fluid .span1 {
        width: 5.801104972%;
        *width: 5.747913482638298%;
    }
}

@media (min-width: 1280px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.564102564%;
        *margin-left: 2.510911074638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 100%;
        *width: 99.94680851063829%;
    }

    .row-fluid .span11 {
        width: 91.45299145300001%;
        *width: 91.3997999636383%;
    }

    .row-fluid .span10 {
        width: 82.905982906%;
        *width: 82.8527914166383%;
    }

    .row-fluid .span9 {
        width: 74.358974359%;
        *width: 74.30578286963829%;
    }

    .row-fluid .span8 {
        width: 65.81196581200001%;
        *width: 65.7587743226383%;
    }

    .row-fluid .span7 {
        width: 57.264957265%;
        *width: 57.2117657756383%;
    }

    .row-fluid .span6 {
        width: 48.717948718%;
        *width: 48.6647572286383%;
    }

    .row-fluid .span5 {
        width: 40.170940171000005%;
        *width: 40.117748681638304%;
    }

    .row-fluid .span4 {
        width: 31.623931624%;
        *width: 31.5707401346383%;
    }

    .row-fluid .span3 {
        width: 23.076923077%;
        *width: 23.0237315876383%;
    }

    .row-fluid .span2 {
        width: 14.529914530000001%;
        *width: 14.4767230406383%;
    }

    .row-fluid .span1 {
        width: 5.982905983%;
        *width: 5.929714493638298%;
    }
}

@media (min-width: 768px) {
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > div[class*='span'] {
    margin-left: 0;
  }
  
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span12 {
    width: 100%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span11 {
    width: 91.66666666666666%;
              33333333333333
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span10 {
    width: 83.33333333333333%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span9 {
    width: 75%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span8 {
    width: 66.66666666666666%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span7 {
    width: 58.33333333333333%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span6 {
    width: 50%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span5 {
    width: 41.6666666667%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span4 {
    width: 33.3333333333%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3 {
    width: 25%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span2 {
    width: 16.6666666667%;
  }

  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span1 {
    width: 8.33333333333%;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3:first-child,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3:first-child + .span3,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3:first-child + .span3 + .span3,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3:first-child + .span3 + .span3 + .span3,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span6 + .span3,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span6 + .span3 + .span3 {
    width: 50%;
  }
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span6:first-child,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span6:first-child + .span6,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3:first-child + .span6 + .span3,
  .row-fluid-wrapper[class*='-force-full-width-section'] > .row-fluid > .span3 + .span3 + .span6 {
    width: 100%;
  }
}

/* Clearfix */

.clearfix {
    *zoom: 1;
}

.clearfix:before, .clearfix:after {
    display: table;
    content: "";
}

.clearfix:after {
    clear: both;
}

/* Visibilty Classes */

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.hidden {
    display: none;
    visibility: hidden;
}

/* Responsive Visibilty Classes */

.visible-phone {
    display: none !important;
}

.visible-tablet {
    display: none !important;
}

.hidden-desktop {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-phone {
        display: inherit !important;
    }

    .hidden-phone {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .visible-tablet {
        display: inherit !important;
    }

    .hidden-tablet {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important ;
    }
}

/* GRID */
  
.rlpp-grid-col:hover .border-bottom {width: 100%;right: 0;}
.rlpp-grid-col{height: auto; overflow: hidden; object-fit: cover;transition: all 1s ease;}
.rlpp-grid-col:hover .resource__img{transform: scale(1);}
.rlpp-grid {margin: -1rem;}
.rlpp-grid .rlpp-grid-col {padding: 1rem;}

@media (min-width:768px) {.rlpp-grid {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.rlpp-grid-1col .rlpp-grid-col {-ms-flex-preferred-size: 100%;flex-basis: 100%;width: 100%;}
.rlpp-grid-2col .rlpp-grid-col {-ms-flex-preferred-size: 50%;flex-basis: 50%;width: 50%;}.rlpp-grid-3col .rlpp-grid-col {-ms-flex-preferred-size: 33.33%;flex-basis: 33.33%;width: 33.33%;}
.rlpp-grid-4col .rlpp-grid-col {-ms-flex-preferred-size: 25%;flex-basis: 25%;width: 25%;}}
@media (max-width:768px) and (max-width:991px) {.rlpp-grid-4col .rlpp-grid-col {-ms-flex-preferred-size: 33.33%;flex-basis: 33.33%;width: 33.33%;}
.rlpp-grid-5col .rlpp-grid-col {-ms-flex-preferred-size: 20%;flex-basis: 20%;width: 20%;}}
@media (min-width:576px) and (max-width:767px) {
.rlpp-grid-2col .rlpp-grid-col {-ms-flex-preferred-size: 50%;flex-basis: 50%;width: 50%;}
.rlpp-grid-3col .rlpp-grid-col {-ms-flex-preferred-size: 50%;flex-basis: 50%;width: 50%;}}

/* Grid */
@supports ((display: -ms-grid) or (display: grid)) {.rlpp-grid .rlpp-grid-col {width: auto;padding: 0;}
.rlpp-grid {display: -ms-grid;display: grid;grid-row-gap: 2rem;grid-column-gap: 2rem;margin: 0;}
.rlpp-grid.rlpp-filter {display: block!important;margin: -.75rem;}
.rlpp-grid.rlpp-filter > div {padding: .75rem;}
  
@media (min-width: 768px) {
.rlpp-grid-1col {-ms-grid-columns: 1fr;grid-template-columns: 1fr;}
.rlpp-grid-2col {-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-2col.rlpp-filter .rlpp-grid-col {width: 50%;}
.rlpp-grid-3col {-ms-grid-columns: (1fr)[3];grid-template-columns: repeat(3, 1fr);}
.rlpp-grid-3col.rlpp-filter .rlpp-grid-col {width: 33.33%;}
.rlpp-grid-4col {-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-4col.rlpp-filter .rlpp-grid-col {width: 50%;}
.rlpp-grid-5col {-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-5col.rlpp-filter .rlpp-grid-col {width: 50%;}
}
  
@media (min-width:992px) {
.rlpp-grid-4col {-ms-grid-columns: (1fr)[4];grid-template-columns: repeat(4, 1fr);}
.rlpp-grid-4col.rlpp-filter .rlpp-grid-col {width: 25%;}
.rlpp-grid-5col {-ms-grid-columns: (1fr)[5];grid-template-columns: repeat(5, 1fr);}
.rlpp-grid-5col.rlpp-filter .rlpp-grid-col {width: 20%;}
}
  
@media (min-width:576px) and (max-width:767px) {
.rlpp-grid-2col {
-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-2col.rlpp-filter .rlpp-grid-col {width: 50%;}
.rlpp-grid-4col {-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-4col.rlpp-filter .rlpp-grid-col {width: 50%;}
.rlpp-grid-5col {-ms-grid-columns: (1fr)[2];grid-template-columns: repeat(2, 1fr);}
.rlpp-grid-5col.rlpp-filter .rlpp-grid-col {width: 50%;}
}
}

.rlpp-container {float: none;width: 100%;margin-left: auto;margin-right: auto;padding-left: 1.25rem;padding-right: 1.25rem;max-width:100%;}

main {
  margin-top: var(--nav-height);
}

/* Desktop only (when sidebar is visible) */
@media (min-width: 900px) {
  main {
    margin-left: var(--sidebar-width);
  }
}

@media (max-width: 899px) {
  main {
  margin-bottom: 52px;
  }
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 20px;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body<, <h1>, <a>, <p>, <button> etc.)
*/

body {
  line-height: 1.25;
  word-break: break-word;
  -webkit-font-smoothing: subpixel-antialiased;
  text-rendering: optimizeLegibility;
}

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin: 0 0 1.4rem;
}
p:last-child {
  margin-bottom: 0;
}
/* Anchors */

a {
  cursor: pointer;
  text-decoration: none;
  transition: color 0.3s;
}

a:hover,
a:focus {
  text-decoration: none;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
  line-height: 1.2;
  letter-spacing: -.01em;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
}

em {
  font-style: normal;
  font-weight: 400;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 15px;
}

/* Horizontal rules */

hr {
  border: none;
  height: 1px;
  width: 30%;
  margin: 40px 0 20px;
}

/* Image alt text */

img {
  font-size: 14px;
  word-break: normal;
}

/* Other */

.title-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 12px;
  margin-bottom: 25px;
}

.underline01,
.underline02 {
  background-size: 100px 1.2em;
}

.footer p, .footer {
  font-size: 13px;
}
button,
.button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.3s;
  white-space: normal;
  text-transform: uppercase;
  font-size: 14px;
}

.header__column .button,
.header__column button {
  font-size: 13px;
}

button:disabled,
.button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
  text-decoration: none;
}

button:active,
.button:active {
  text-decoration: none;
}
.hsfc-FieldLabel {
  font-family: Poppins, sans-serif!important;
}


/* Form fields */

.hs-form-field {
  margin-bottom: 25px;
  position: relative;
}

/* Labels */

form label {
  color: #000 !important;
  display: block;
  font-size: 16px;
  margin-bottom: 0.35rem;
}

.hs-register-widget-show-password {
  position: absolute;
  right: 0;
  top: 5px;
}

.hs-login-widget-show-password {
  position: absolute;
  right: 0;
  top: 5px;
}

/* Help text - legends */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  background-color: #F9f9f9;
  border: 2px solid #E0E0E0;
  font-size: 1em;
  padding: 1rem;
  border-radius: 15px;
  width: 100%;
  transition: border-color .3s;
} 

form fieldset {
  max-width: 100% !important;
}

form *:focus-visible {
  outline: none;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - datepicker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}



/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

#hs_login_reset {
  position: absolute;
  bottom: -20px;

}

#hs-register-widget-checkbox-consent {
font-size: 12px;
font-weight: 300;
display: inline;
color: #777!important;
}

[for="hs-login-widget-remember"] {
font-size: 12px;
font-weight: 300;
display: inline;
color: #777!important;
}

#hs-register-widget-explicit-consent {
display: inline;
}

#hs-login-self-registration-link {
display: none;
}


/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msgs label {
 font-size: 10px;
  color: #eb2f5b!important;
  font-weight: 300;
  margin-top: -10px
}

form .hs-error-msgs.inputs-list > li {
  margin: 0;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0;
  font-size: 0.875em;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
  text-transform: uppercase;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}
/* Table */

table {
  border: 1px solid;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table Cells */

th,
td {
  border: 1px solid;
  padding: 0.75rem;
  vertical-align: top;
}

/* Table Header */

thead th,
thead td {
  border-bottom: 2px solid;
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* ============================================================
   SPORTCARES — HEADER & NAVIGATION

   Sections:
   1.  Base
   2.  Top nav
   3.  Search overlay
   4.  Layout
   5.  Sidebar
   6.  Mobile bottom nav
   7.  Slide-up drawer
   8.  Hover states (pointer devices only)
   9.  Utility
============================================================ */


/* ============================================================
   1. BASE
============================================================ */

body {
  background: var(--color-bg);
  color: var(--color-text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}


/* ============================================================
   2. TOP NAV
============================================================ */

.sc-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--nav-height);
  background: rgba(12, 12, 14, 0.95);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  padding: 0 20px;
  gap: 12px;
  z-index: 500;
}

.sc-nav__logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -0.02em;
  flex-shrink: 0;
}

.sc-nav__right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Help pill — mobile only, hidden on desktop */
.sc-nav__help {
  display: flex;
  align-items: center;
  height: 34px;
  padding: 0 14px;
  border-radius: 100px;
  background: var(--color-bg);
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s;
}

@media (min-width: 900px) {
  .sc-nav__help { display: none; }
}

/* Search icon button */
.sc-search-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--color-border-med);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-text-muted);
  transition: all 0.2s;
  flex-shrink: 0;
}

/* User avatar */
.sc-nav__user {
  position: relative;
}

.sc-nav__avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-bg);
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.2s;
  user-select: none;
}

/* Avatar dropdown */
.sc-nav__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border-med);
  border-radius: var(--radius-md);
  overflow: hidden;
  z-index: 600;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7);
}

.sc-nav__dropdown.is-open {
  display: block;
  animation: sc-drop-in 0.16s ease;
}

@keyframes sc-drop-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.sc-nav__dropdown-header {
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--color-border);
}

.sc-nav__dropdown-header p {
  font-size: 10px;
  color: var(--color-text-subtle);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 3px;
}

.sc-nav__dropdown-header strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
}

.sc-nav__dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: 13px;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: all 0.15s;
  cursor: pointer;
}


/* ============================================================
   3. SEARCH OVERLAY
============================================================ */

.sc-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 90px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.sc-search-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}

/* Stacks pill above results */
.sc-search-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 620px;
  margin: 0 20px;
}

/* Floating input pill */
.sc-search-float {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(30, 30, 36, 0.95);
  border: 1px solid var(--color-border-med);
  border-radius: 100px;
  padding: 14px 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
  transform: translateY(-8px);
  transition: transform 0.2s ease;
}

.sc-search-overlay.is-open .sc-search-float {
  transform: translateY(0);
}

.sc-search-float svg {
  flex-shrink: 0;
  color: var(--color-text-subtle);
}

.sc-search-float__input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 15px;
  color: var(--color-text);
  caret-color: var(--color-accent);
  font-family: inherit;
  min-width: 0;
}

.sc-search-float__input::placeholder {
  color: var(--color-text-subtle);
}

.sc-search-float__esc {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--color-border-med);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  color: var(--color-text-subtle);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: all 0.15s;
  user-select: none;
}

/* Results panel */
.sc-search-results {
  width: 100%;
  margin-top: 8px;
  background: rgba(20, 20, 22, 0.98);
  border: 1px solid var(--color-border-med);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: none;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
}

.sc-search-results.has-results {
  display: block;
}

.sc-search-result {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  text-decoration: none;
  border-bottom: 1px solid var(--color-border);
  transition: background 0.15s;
  cursor: pointer;
}

.sc-search-result:last-child {
  border-bottom: none;
}

.sc-search-result__img {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-sm);
  background-size: cover;
  background-position: center;
  background-color: var(--color-bg);
  flex-shrink: 0;
}

.sc-search-result__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sc-search-result__title {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sc-search-result__title mark {
  background: transparent;
  color: var(--color-accent);
  font-weight: 600;
}

.sc-search-result__desc {
  font-size: 12px;
  color: var(--color-text-subtle);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sc-search-results__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 18px;
  border-top: 1px solid var(--color-border);
  font-size: 12px;
  color: var(--color-text-subtle);
}

.sc-search-results__footer a {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
}

/* Loading / empty state */
.sc-search-state {
  padding: 16px 18px;
  font-size: 13px;
  color: var(--color-text-subtle);
  text-align: center;
}


/* ============================================================
   4. LAYOUT
============================================================ */

.sc-layout {
  display: flex;
  min-height: 100vh;
}

.sc-main {
  flex: 1;
  min-width: 0;
}

@media (max-width: 899px) {
  /* Clears the fixed mobile nav */
  .sc-main { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}


/* ============================================================
   5. SIDEBAR
   Desktop only — shown above 900px.
============================================================ */

.sc-sidebar {
  width: var(--sidebar-width);
  flex-shrink: 0;
  position: fixed;
  top: var(--nav-height);
  left: 0;
  bottom: 0;
  background: var(--color-bg-light);
  border-right: 1px solid var(--color-border);
  padding: 20px 12px;
  display: none;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-med) transparent;
}

@media (min-width: 900px) {
  .sc-sidebar { display: flex; }
}

/* Section label e.g. "Menu", "Resources" */
.sc-sidebar__label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-subtle);
  padding: 20px 10px 6px;
}

/* Nav link */
.sc-sidebar__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  background: transparent;
  margin: 2px 0;
  transition: all 0.15s;
  position: relative;
}

.sc-sidebar__link svg {
  flex-shrink: 0;
  opacity: 0.4;
  transition: opacity 0.15s;
}

.sc-sidebar__link.is-active {
  color: var(--color-accent);
  background: rgba(255, 255, 255, 0.04);
}

.sc-sidebar__link.is-active svg {
  opacity: 1;
  color: var(--color-accent);
}

/* Divider between nav sections */
.sc-sidebar__divider {
  height: 1px;
  background: var(--color-border);
  margin: 10px 4px;
}

/* Bottom-pinned action buttons */
.sc-sidebar__bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Learning Hub CTA */
.sc-sidebar__cta {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: var(--radius-md);
  background: var(--color-accent-glow);
  border: 1px solid rgba(200, 255, 0, 0.15);
  text-decoration: none;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.sc-sidebar__cta-icon {
  width: 30px;
  height: 30px;
  background: var(--color-accent);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
}

.sc-sidebar__cta-text strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.2;
  margin-bottom: 1px;
}

.sc-sidebar__cta-text span {
  font-size: 10px;
  color: var(--color-text-muted);
  line-height: 1.2;
}

/* Need help button */
.sc-sidebar__help {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: var(--radius-md);
  background: var(--color-bg);
  border: 1px solid var(--color-border-med);
  text-decoration: none;
  transition: all 0.2s;
  position: relative;
  overflow: hidden;
}

/* Subtle shimmer layer — revealed on hover */
.sc-sidebar__help::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(245, 245, 240, 0.03), rgba(245, 245, 240, 0.06));
  opacity: 0;
  transition: opacity 0.2s;
}

.sc-sidebar__help-pulse {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.sc-sidebar__help-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-accent);
  position: relative;
  z-index: 1;
}

/* Animated pulse ring around the dot */
.sc-sidebar__help-dot::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: var(--color-accent);
  opacity: 0.3;
  animation: sc-help-pulse 2s ease-out infinite;
}

@keyframes sc-help-pulse {
  0%   { transform: scale(1);   opacity: 0.3; }
  70%  { transform: scale(2.2); opacity: 0; }
  100% { transform: scale(2.2); opacity: 0; }
}

.sc-sidebar__help-text strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.2;
  margin-bottom: 1px;
}

.sc-sidebar__help-text span {
  font-size: 10px;
  color: var(--color-text-muted);
  font-weight: 400;
  line-height: 1.2;
}


/* ============================================================
   6. MOBILE BOTTOM NAV
   iOS tab bar pattern — hidden above 900px.
============================================================ */

.sc-mobile-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 500;
  background: rgba(12, 12, 14, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid var(--color-border);
  padding-bottom: env(safe-area-inset-bottom);
  display: flex;
}

@media (min-width: 900px) {
  .sc-mobile-nav { display: none; }
}

.sc-mobile-nav__row {
  display: flex;
  width: 100%;
}

.sc-mobile-nav__btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 4px 9px;
  min-height: 52px;
  color: var(--color-text-subtle);
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: none;
  position: relative;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s;
}

.sc-mobile-nav__btn.is-active {
  color: var(--color-accent);
}

.sc-mobile-nav__btn:active {
  opacity: 0.5;
  transition: opacity 0.05s;
}

.sc-mobile-nav__btn span {
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1;
}


/* ============================================================
   7. SLIDE-UP DRAWER
   Resources menu on mobile.
   Close: backdrop click | ESC key | swipe down.
============================================================ */

.sc-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 800;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.sc-drawer-backdrop.is-open {
  opacity: 1;
  pointer-events: all;
}

.sc-drawer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: var(--color-bg-light);
  border-top: 1px solid var(--color-border-med);
  border-radius: 20px 20px 0 0;
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
  max-height: 80vh;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
}

.sc-drawer.is-open {
  transform: translateY(0);
}

.sc-drawer__handle {
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: var(--color-border-med);
  margin: 12px auto 0;
}

.sc-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px 12px;
  border-bottom: 1px solid var(--color-border);
}

.sc-drawer__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}

.sc-drawer__close {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--color-border-med);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-text-muted);
  -webkit-tap-highlight-color: transparent;
}

.sc-drawer__links {
  padding: 6px 16px 4px;
}

.sc-drawer__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 4px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  min-height: 52px;
  transition: color 0.15s;
  -webkit-tap-highlight-color: transparent;
}

.sc-drawer__link:last-child {
  border-bottom: none;
}

.sc-drawer__link:active {
  opacity: 0.6;
}

.sc-drawer__link.is-active {
  color: var(--color-accent);
}

.sc-drawer__link.is-active .sc-drawer__link-icon {
  background: rgba(200, 255, 0, 0.12);
  border-color: rgba(200, 255, 0, 0.2);
  color: var(--color-accent);
}

.sc-drawer__link-icon {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: all 0.15s;
}


/* ============================================================
   8. HOVER STATES
   Scoped to real pointer devices only.
   Prevents sticky hover states on touch screens.
============================================================ */

@media (hover: hover) and (pointer: fine) {

  .sc-nav__help:hover {
    background: rgba(255, 255, 255, 0.04);
  }

  .sc-nav__avatar:hover {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 4px var(--color-accent-glow);
  }

  .sc-nav__dropdown-item:hover {
    background: var(--color-danger-soft);
    color: var(--color-danger);
  }

  .sc-search-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-text);
  }

  .sc-search-float__esc:hover {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.12);
  }

  .sc-search-result:hover,
  .sc-search-result.is-active {
    background: rgba(255, 255, 255, 0.04);
  }

  .sc-search-results__footer a:hover {
    text-decoration: underline;
  }

  .sc-sidebar__link:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--color-text);
  }

  .sc-sidebar__link:hover svg {
    opacity: 1;
  }

  .sc-sidebar__cta:hover {
    background: rgba(200, 255, 0, 0.1);
    border-color: rgba(200, 255, 0, 0.3);
  }

  .sc-sidebar__help:hover::before {
    opacity: 1;
  }

  .sc-sidebar__help:hover {
    border-color: rgba(245, 245, 240, 0.22);
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  }

  .sc-mobile-nav__btn:hover {
    color: var(--color-accent);
  }

  .sc-drawer__link:hover {
    color: var(--color-text);
    background: rgba(255, 255, 255, 0.04);
  }

  .sc-drawer__link:hover .sc-drawer__link-icon {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--color-border-med);
  }

  .sc-drawer__close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--color-text);
  }

}


/* ============================================================
   9. UTILITY
============================================================ */

::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: var(--color-border-med); border-radius: 2px; }
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}

.body-container--contact iframe {
  width: 100%;
  height: 600px;
}

/* Templates
Styling for updated system pages
*/

/* Error pages */

.error-page {
  padding: 12rem 0 10rem;
  text-align: center;
}

.error-page:before {
  color: #F3F6F9;
  content: attr(data-error);
  font-size: 40vw;
  font-weight: bold;
  line-height: 1.2;
  width: 100%;
  z-index: -1;
}
.error-page .button,
.error-page button {
  margin-top: 60px;
}

@media screen and (min-width: 1100px) {
  .error-page:before {
    font-size: 20rem;
  }
}

/* System pages */

.systems-page {
  margin: 0 auto;
  max-width: 700px;
  padding: 16rem 1.4rem 12rem;
}

.systems-page .hs-error-msgs {
  position: relative;
}

.systems-page .header {
  background-color: transparent;
  border-bottom: none;
  padding: 0;
}

.systems-page .success {
  background-color: #CDE3CC;
  border: 1.5px solid #4F7D24;
  border-radius: 6px;
  color: #4F7D24;
  display: inline-block;
  margin: 1.4rem 0;
  padding: 0.1rem 0.7rem;
  width: 100%;
}

.systems-page form input {
  max-width: 100%;
}

/* 404 */
.sc-404 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  text-align: center;
}

.sc-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 480px;
  animation: sc-404-fade-up 0.4s ease both;
}

.sc-404__number {
  font-size: clamp(80px, 16vw, 140px);
  font-weight: 700;
  color: var(--color-accent);
  line-height: 1;
  letter-spacing: -0.04em;
  margin: 0;
  text-transform: none;
}

.sc-404__title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
  text-transform: none;
  letter-spacing: -0.01em;
}

.sc-404__desc {
  font-size: 15px;
  color: var(--color-text-subtle);
  line-height: 1.6;
  margin: 0;
  font-weight: 400;
}

.sc-404__divider {
  width: 40px;
  height: 2px;
  background: var(--color-border-med);
  border-radius: 2px;
  margin: 4px 0;
}

.sc-404__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

.sc-404__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
  line-height: 1;
}

.sc-404__btn--primary {
  background: var(--color-accent);
  color: var(--color-bg);
  border: 1px solid var(--color-accent);
}

@media (hover: hover) and (pointer: fine) {
  .sc-404__btn--primary:hover {
    color: var(--color-bg);
  }

}

@keyframes sc-404-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}


.systems-page form input[type='submit'] {
  margin: 0.625rem 0;
  display: block;
}

/* ── Search Results ── */

/* Page wrapper */
.sc-results {
  min-height: 100vh;
}

/* ── Header ── */
.sc-results__header {
  background: var(--color-bg-light) ;
  border-bottom: 1px solid var(--color-border) ;
  animation: sc-results-fade-up 0.3s ease both;
}

.sc-results__header-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 48px 32px 40px;
}

.sc-results__eyebrow {
  font-size: 11px ;
  font-weight: 600 ;
  letter-spacing: 0.14em ;
  text-transform: uppercase ;
  color: var(--color-accent) ;
  margin: 0 0 10px ;
  padding: 0 ;
  line-height: 1 ;
}

.sc-results__title {
  font-size: clamp(28px, 4vw, 44px) ;
  font-weight: 700 ;
  color: var(--color-text) ;
  line-height: 1.1 ;
  letter-spacing: -0.02em ;
  margin: 0 ;
  text-transform: none ;
}

.sc-results__title em {
  font-style: normal ;
  color: var(--color-accent) ;
}

/* ── Body ── */
.sc-results__body {
  max-width: 860px;
  margin: 0 auto;
  padding: 28px 32px 80px;
  animation: sc-results-fade-up 0.3s 0.06s ease both;
}

/* ── Result count ── */
.sc-results__count {
  font-size: 13px ;
  color: var(--color-text-subtle) ;
  margin: 0 0 20px ;
  padding: 0 0 16px ;
  border-bottom: 1px solid var(--color-border) ;
  line-height: 1.4 ;
  text-transform: none ;
  letter-spacing: 0 ;
  font-weight: 400 ;
}

.sc-results__count strong {
  color: var(--color-text) ;
  font-weight: 600 ;
}

/* ── Result list ── */
.sc-results__list {
  list-style: none ;
  padding: 0 ;
  margin: 0 ;
}

.sc-results__list li {
  padding: 0 ;
  margin: 0 ;
  border-bottom: 1px solid var(--color-border) ;
  list-style: none ;
}

.sc-results__list li::before {
  display: none ;
}

.sc-results__list li:last-child {
  border-bottom: none ;
}

/* ── Result card ── */
.sc-results__card {
  display: flex ;
  align-items: center ;
  gap: 18px ;
  padding: 18px 12px ;
  text-decoration: none ;
  border-radius: var(--radius-md) ;
  border: 1px solid transparent ;
  transition: all 0.18s ;
  background: transparent ;
  color: inherit ;
  margin: 5px 0px;
}

/* Thumbnail */
.sc-results__card-img {
  width: 88px ;
  height: 66px ;
  min-width: 88px ;
  border-radius: var(--radius-sm) ;
  background-size: cover ;
  background-position: center ;
  background-color: var(--color-bg) ;
  border: 1px solid var(--color-border) ;
  flex-shrink: 0 ;
}

.sc-results__card-img--empty {
  background-image: none ;
}

/* Text block */
.sc-results__card-body {
  flex: 1 ;
  min-width: 0 ;
  display: flex ;
  flex-direction: column ;
  gap: 5px ;
}

/* Category badge */
.sc-results__card-cat {
  display: block ;
  font-size: 10px ;
  font-weight: 700 ;
  letter-spacing: 0.12em ;
  text-transform: uppercase ;
  color: var(--color-accent) ;
  margin: 0 ;
  padding: 0 ;
  line-height: 1 ;
}

/* Title */
.sc-results__card-title {
  font-size: 15px ;
  font-weight: 600 ;
  color: var(--color-text) ;
  line-height: 1.3 ;
  margin: 0 ;
  padding: 0 ;
  text-transform: none ;
  letter-spacing: 0 ;
  white-space: normal ;
  overflow: hidden ;
  display: -webkit-box ;
  -webkit-line-clamp: 2 ;
  -webkit-box-orient: vertical ;
  transition: color 0.15s ;
}

/* Highlighted matched term */
.sc-results__card-title mark {
  background: transparent ;
  color: var(--color-accent) ;
  font-weight: 700 ;
}

/* Excerpt */
.sc-results__card-desc {
  font-size: 13px ;
  color: var(--color-text-subtle) ;
  line-height: 1.55 ;
  margin: 0 ;
  padding: 0 ;
  display: -webkit-box ;
  -webkit-line-clamp: 2 ;
  -webkit-box-orient: vertical ;
  overflow: hidden ;
  text-transform: none ;
  letter-spacing: 0 ;
  font-weight: 400 ;
}

/* Arrow */
.sc-results__card-arrow {
  flex-shrink: 0 ;
  color: var(--color-text-subtle) ;
  opacity: 0 ;
  transform: translateX(-4px) ;
  transition: all 0.18s ;
}

/* Error */
.sc-results__error {
  padding: 20px 0;
  font-size: 14px;
  color: var(--color-text-subtle);
  list-style: none ;
}

/* ── Pagination ── */
.sc-results__pagination {
  display: flex ;
  align-items: center ;
  justify-content: center ;
  flex-wrap: wrap ;
  gap: 6px ;
  margin-top: 40px ;
  padding-top: 28px ;
  border-top: 1px solid var(--color-border) ;
}

.sc-results__page-btn {
  display: flex ;
  align-items: center ;
  justify-content: center ;
  min-width: 36px ;
  height: 36px ;
  padding: 0 10px ;
  border-radius: var(--radius-sm) ;
  font-size: 13px ;
  font-weight: 500 ;
  color: var(--color-text-muted) ;
  text-decoration: none ;
  border: 1px solid var(--color-border) ;
  background: transparent ;
  cursor: pointer ;
  transition: all 0.15s ;
  line-height: 1 ;
}

.sc-results__page-btn--active {
  background: var(--color-accent) ;
  border-color: var(--color-accent) ;
  color: var(--color-bg) ;
  font-weight: 700 ;
  pointer-events: none ;
}

.sc-results__page-ellipsis {
  color: var(--color-text-subtle);
  font-size: 13px;
  padding: 0 2px;
}

/* ── Loading ── */
.sc-results__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 80px 0;
  color: var(--color-text-subtle);
  font-size: 14px;
}

.sc-results__spinner {
  width: 26px;
  height: 26px;
  border: 2px solid var(--color-border-med);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: sc-results-spin 0.7s linear infinite;
}

/* ── Empty state ── */
.sc-results__empty {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 72px 0;
  gap: 10px;
}

.sc-results__empty svg {
  color: var(--color-text-subtle);
  opacity: 0.25;
  margin-bottom: 8px;
}

.sc-results__empty h2 {
  font-size: 20px ;
  font-weight: 600 ;
  color: var(--color-text) ;
  margin: 0 ;
  text-transform: none ;
  letter-spacing: 0 ;
}

.sc-results__empty p {
  font-size: 14px ;
  color: var(--color-text-subtle) ;
  margin: 0 ;
  max-width: 340px;
  line-height: 1.6 ;
}

.sc-results__empty-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}

.sc-results__empty-links a {
  padding: 7px 16px ;
  border-radius: 100px ;
  border: 1px solid var(--color-border-med) ;
  font-size: 13px ;
  font-weight: 500 ;
  color: var(--color-text-muted) ;
  text-decoration: none ;
  transition: all 0.15s ;
  background: transparent ;
  display: inline-block ;
}

/* ── Hover states (pointer devices only) ── */
@media (hover: hover) and (pointer: fine) {

  .sc-results__card:hover {
    background: var(--color-bg-light) ;
    border-color: var(--color-border) ;
  }

  .sc-results__card:hover .sc-results__card-title {
    color: var(--color-accent) ;
  }

  .sc-results__card:hover .sc-results__card-arrow {
    opacity: 1 ;
    transform: translateX(0) ;
  }

  .sc-results__page-btn:not(.sc-results__page-btn--active):hover {
    background: var(--color-bg-light) ;
    border-color: var(--color-border-med) ;
    color: var(--color-text) ;
  }

  .sc-results__empty-links a:hover {
    border-color: var(--color-accent) ;
    color: var(--color-accent) ;
  }

}

/* ── Responsive ── */
@media (max-width: 899px) {
  .sc-results__header-inner { padding: 28px 20px 24px; }
  .sc-results__body { padding: 20px 20px 100px; }
}

@media (max-width: 560px) {
  .sc-results__card { flex-direction: column ; align-items: flex-start ; }
  .sc-results__card-img { width: 100% ; height: 140px ; }
  .sc-results__card-arrow { display: none ; }
  .sc-results__page-btn { min-width: 32px ; height: 32px ; }
}

/* ── Animations ── */
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes sc-results-spin {
  to { transform: rotate(360deg); }
}

/* Password prompt */

.password-prompt input[type=password] {
  height: auto !important;
  margin-bottom: 1.4rem;
}

.systems-page #hs-login-widget-remember,
.systems-page #hs-login-widget-remember ~ label {
  display: inline-block;
  margin-bottom: 3px;
}

.systems-page #hs_login_reset {
  display: block;
  margin-bottom: 0.625rem;
}

/* Backup unsubscribe */

.backup-unsubscribe #email-prefs-form div {
  padding-bottom: 0 !important;
}

.backup-unsubscribe input[type=email] {
  font-size: 0.875rem !important;
  margin-bottom: 1.4rem;
  padding: 0.7rem !important;
}

/* Subscription preferences */

#email-prefs-form .item.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

#email-prefs-form .item.disabled input:disabled {
  cursor: not-allowed;
}

.email-prefs .header {
  position: relative;
  margin-bottom: 20px;
  margin-top: 20px;
}

.email-prefs .header:after {
  display:none;
}

.email-prefs .item {
  margin-bottom: 10px;
}

.email-prefs .subscribe-options {
  margin-bottom: 30px;
}

/* Membership pages */
#hs-membership-form a[class*='show-password'] {
  font-size: 0.75rem;
}

/* Input error messages */

.form-input-validation-message ul.hs-error-msgs {
  padding-left: 0;
  margin: 0;
}

.form-input-validation-message ul.hs-error-msgs li {
  margin: 0;
}
/* Blog listing */

.blog-index {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}

@media (min-width: 768px) {
  .blog-index {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1000px) {
  .blog-index {
    grid-template-columns: repeat(3, 1fr);
  }
}

.blog-index__post {
  width: 100%;
}

.blog-index__wrapper {
  background-color: #fff;
  height: 100%;
  overflow: hidden;
}

/* Large posts span full width */
.blog-index__post--large {
  grid-column: 1 / -1;
  display: block;
}

.blog-index__post-thumb {
  width: 100%;
  height: 260px;
  background-size: cover;
  background-position: center center;
}

.blog-index__post--large .blog-index__post-thumb {
  height: 480px;
}

.blog-index__post-image {
  height: auto;
  max-width: 100%;
  width: 100%;
}

.blog-index__post-content {
  padding: 35px;
  position: relative;
}

.blog-index__post--large .blog-index__post-content {
  padding: 60px;
}

@media screen and (min-width: 768px) {
  .blog-index__post-image-wrapper--large {
    width: 100%;
  }

  .blog-index__post-content--large {
    width: 100%;
    padding-left: 2rem;
  }

  .blog-index__post-content--full-width {
    padding-left: 0;
  }
}

.blog-index__post-timestamp {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 0 0 20px;
}

.blog-index__post-tags {
  position: absolute;
  top: -260px;
}

.blog-index__post-tags span {
  display: none;
}

.blog-index__post-tag {
  padding: 5px 10px;
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: background-color .4s cubic-bezier(.05,.2,.1,1);
  display: none;
}

.blog-index__post-tag:first-child {
  display: block;
}

.blog-index__post-tag:hover {
  color: #fff;
}

.blog-index__post-author {
  align-items: center;
  display: flex;
  margin-top: 10px;
}

.blog-index__post-author-image {
  border-radius: 50%;
  height: 30px;
  margin-right: 10px;
  width: 30px;
}

.blog-index__post-summary,
.blog-index__post-image--small {
  margin: 20px 0 0;
  font-size: 15px;
}

.blog-index__post-summary {
  font-size: 18px;
  line-height: 1.6;
}

.blog-index__post-button {
  margin-top: 40px;
}

.blog-index__post--small .blog-index__post-button {
  width: 100%;
}

/* Blog pagination */

.blog-pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.blog-pagination__link {
  border: 2px solid transparent;
  border-radius: 7px;
  font-weight: 500;
  margin: 0 30px;
  text-decoration: none;
  font-size: 18px;
}

.blog-pagination__link:hover,
.blog-pagination__link:focus {
  text-decoration: none;
}

.blog-pagination__link.blog-pagination__prev-link--disabled,
.blog-pagination__link.blog-pagination__next-link--disabled {
  color: #ddd;
  cursor: default;
  pointer-events: none;
}

.blog-pagination__prev-link svg,
.blog-pagination__next-link svg {
  margin: 0 0.3rem;
  width: 12px;
  height: 12px;
  opacity: 0.3;
}

.blog-pagination__prev-link--disabled svg,
.blog-pagination__next-link--disabled svg {
  fill: #B0C1D4;
}

.blog-pagination__number-link {
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  background-color: #fff;
  border: none;
  border-radius: 100px;
  padding: 0;
  margin: 0 5px;
  font-size: 14px;
}

.blog-pagination__number-link:hover,
.blog-pagination__number-link:focus {
  color: #fff;
  transition: background-color 0.3s;
}

.blog-pagination__link--active {
  opacity: 0.5;
}

@media (max-width: 767px) {
  .blog-pagination__number-link {
    display: none;
  }
}

/* Blog post */

  /* ── Hero ── */
  .sc-post-hero {
    position: relative;
    width: 100%;
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--color-bg);
  }

  .sc-post-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    animation: sc-hero-zoom 8s ease forwards;
  }

  @keyframes sc-hero-zoom {
    from { transform: scale(1.05); }
    to   { transform: scale(1); }
  }

  .sc-post-hero__overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(to top,    rgba(12,12,14,1)    0%,  rgba(12,12,14,0.85) 35%, rgba(12,12,14,0.3) 65%, transparent 85%),
      linear-gradient(to right,  rgba(12,12,14,0.6)  0%,  transparent 70%);
  }

  .sc-post-hero__content {
    position: relative;
    z-index: 2;
    max-width: 860px;
    padding: 0 52px 52px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .sc-post-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .sc-post-hero__tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 100px;
    background: var(--color-accent);
    color: var(--color-bg);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
  }

  .sc-post-hero__title {
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0;
  }

  .sc-post-hero__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .sc-post-hero__author {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
  }

  .sc-post-hero__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-bg);
    overflow: hidden;
    flex-shrink: 0;
  }

  .sc-post-hero__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .sc-post-hero__author-name {
    font-size: 13px;
    font-weight: 600;
    color: rgba(245,245,240,0.85);
  }

  .sc-post-hero__meta-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(245,245,240,0.3);
    flex-shrink: 0;
  }

  .sc-post-hero__date {
    font-size: 12px;
    color: rgba(245,245,240,0.5);
  }


  /* ── Layout ── */
  .sc-post-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px 80px;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 60px;
    align-items: start;
  }


  /* ── Article body ── */
  .sc-post-body {
    padding-top: 48px;
    min-width: 0;
  }

  .sc-post-body__content {
    font-size: 17px;
    line-height: 1.8;
    color: var(--color-text-muted);
  }

  .sc-post-body__content h1,
  .sc-post-body__content h2,
  .sc-post-body__content h3,
  .sc-post-body__content h4 {
    color: var(--color-text);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 2em 0 0.6em;
    line-height: 1.2;
  }

  .sc-post-body__content h2 { font-size: 26px; }
  .sc-post-body__content h3 { font-size: 21px; }
  .sc-post-body__content h4 { font-size: 17px; }

  .sc-post-body__content p { margin: 0 0 1.4em; }

  .sc-post-body__content a {
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .sc-post-body__content ul,
  .sc-post-body__content ol {
    margin: 0 0 1.4em 1.2em;
    padding: 0;
  }

  .sc-post-body__content li { margin-bottom: 0.5em; }

  .sc-post-body__content blockquote {
    margin: 2em 0;
    padding: 20px 24px;
    border-left: 3px solid var(--color-accent);
    background: rgba(200,255,0,0.04);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-size: 18px;
    font-style: italic;
    color: var(--color-text);
    line-height: 1.6;
  }

  .sc-post-body__content img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    margin: 1.5em 0;
    display: block;
  }

  /* Responsive video embeds */
  .sc-post-body__content iframe {
    width: 100% !important;
    border-radius: var(--radius-md);
  }

  .sc-post-body__content .hs-embed-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    margin: 1.5em 0;
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  .sc-post-body__content .hs-embed-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }

  .sc-post-body__content hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 2.5em 0;
  }


  /* ── Sidebar ── */
  .sc-post-sidebar {
    padding-top: 48px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: calc(var(--nav-height) + 24px);
    position: sticky;
    top: calc(var(--nav-height) + 24px);
    max-height: calc(100vh - var(--nav-height) - 48px);
    overflow-y: auto;
    scrollbar-width: none;
  }

  .sc-post-sidebar__card {
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 20px;
  }

  .sc-post-sidebar__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-text-subtle);
    margin-bottom: 14px;
    display: block;
  }

  .sc-post-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
  }

  .sc-post-author__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-bg);
    overflow: hidden;
  }

  .sc-post-author__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .sc-post-author__name {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text);
    margin: 0;
  }

  .sc-post-author__bio {
    font-size: 12px;
    color: var(--color-text-subtle);
    line-height: 1.5;
    margin: 0;
  }

  /* Share */
  .sc-post-share {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .sc-post-share__btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.18s;
    cursor: pointer;
  }

  .sc-post-share__btn svg {
    flex-shrink: 0;
    opacity: 0.6;
  }

  /* Back link */
  .sc-post-back {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color 0.18s;
    padding: 4px 0;
  }


  /* ── Related posts ── */
  .sc-post-related {
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
    padding: 52px 40px 80px;
  }

  .sc-post-related__inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  .sc-post-related__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
    gap: 20px;
  }

  .sc-post-related__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text);
    letter-spacing: -0.02em;
    margin: 0;
  }

  .sc-post-related__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: all 0.18s;
    white-space: nowrap;
  }

  .sc-post-related__back svg { transition: transform 0.18s; }

  .sc-post-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .sc-post-related__card {
    display: block;
    text-decoration: none;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    transition: all 0.2s;
  }

  .sc-post-related__img {
    width: 100%;
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-color: var(--color-bg);
    display: block;
  }

  .sc-post-related__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .sc-post-related__tag {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-accent);
  }

  .sc-post-related__name {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
  }

  .sc-post-related__date {
    font-size: 11px;
    color: var(--color-text-subtle);
    margin-top: 2px;
  }


  /* ── Hover ── */
  @media (hover: hover) and (pointer: fine) {

    .sc-post-share__btn:hover {
      background: rgba(255,255,255,0.07);
      border-color: var(--color-border-med);
      color: var(--color-text);
    }

    .sc-post-share__btn:hover svg { opacity: 1; }
    .sc-post-back:hover { color: var(--color-accent); }

    .sc-post-related__card:hover {
      border-color: var(--color-border-med);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    }

    .sc-post-related__card:hover .sc-post-related__name {
      color: var(--color-accent);
    }

    .sc-post-related__back:hover { color: var(--color-accent); }
    .sc-post-related__back:hover svg { transform: translateX(-3px); }

  }


  /* ── Responsive ── */
  @media (min-width: 901px) {
    .sc-post-sidebar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: calc(var(--nav-height, 60px) + 24px) !important;
    align-self: start !important;
    max-height: calc(100vh - var(--nav-height, 60px) - 48px);
    overflow-y: auto;
    scrollbar-width: none;
    }

    .sc-post-sidebar::-webkit-scrollbar {
      display: none;
    }
  }

  @media (max-width: 900px) {
    .sc-post-layout {
      grid-template-columns: 1fr;
      gap: 0;
      padding: 0 24px 60px;
    }
    .sc-post-sidebar {
      position: static;
      flex-direction: row;
      flex-wrap: wrap;
      padding-top: 32px;
      border-top: 1px solid var(--color-border);
      margin-top: 8px;
    }
    .sc-post-sidebar__card { flex: 1 1 200px; }
    .sc-post-related__grid { grid-template-columns: repeat(2, 1fr); }
    .sc-post-related { padding: 40px 24px 60px; }
    .sc-post-hero__content { padding: 0 24px 40px; }
  }

  @media (max-width: 640px) {
    .sc-post-hero { min-height: 360px; }
    .sc-post-hero__title { font-size: clamp(22px, 7vw, 32px); }
    .sc-post-hero__content { padding: 0 16px 28px; }
    .sc-post-layout { padding: 0 16px 48px; }
    .sc-post-body { padding-top: 28px; }
    .sc-post-body__content { font-size: 15px; }
    .sc-post-related__grid { grid-template-columns: 1fr; }
    .sc-post-related { padding: 32px 16px 32px; }
    .sc-post-related__header { flex-direction: column; align-items: flex-start; }
  }


:root {
  --color-bg:           #0c0c0e;
  --color-bg-light:     #141416;
  --color-accent:       #c8ff00;
  --color-danger:       #ff3b30;
  --color-text:         #f5f5f0;
  --color-text-muted:   rgba(245,245,240,0.65);
  --color-text-subtle:  rgba(245,245,240,0.45);
  --color-border:       rgba(245,245,240,0.06);
  --color-border-med:   rgba(245,245,240,0.12);
  --color-accent-glow:  rgba(200,255,0,0.12);
  --color-danger-soft:  rgba(255,59,48,0.08);
  --nav-height:         56px;
  --sidebar-width:      240px;
  --radius-sm:          8px;
  --radius-md:          12px;
  --radius-lg:          16px;
}



/* Preloader */

