@charset "UTF-8";
/* # SCSS VARIABLES
———————————————————————————————————————— */
:root {
  --ui-transparent: 0 0 0;
  --ui-black: 0 0 0;
  --ui-white: 255 255 255;
  --ui-slate-50: 248 250 252;
  --ui-slate-100: 241 245 249;
  --ui-slate-200: 226 232 240;
  --ui-slate-300: 202 213 226;
  --ui-slate-400: 144 161 185;
  --ui-slate-500: 98 116 142;
  --ui-slate-600: 69 85 108;
  --ui-slate-700: 49 65 88;
  --ui-slate-800: 29 41 61;
  --ui-slate-900: 15 23 43;
  --ui-slate-950: 2 6 24;
  --ui-gray-50: 249 250 251;
  --ui-gray-100: 243 244 246;
  --ui-gray-200: 229 231 235;
  --ui-gray-300: 209 213 220;
  --ui-gray-400: 153 161 175;
  --ui-gray-500: 106 114 130;
  --ui-gray-600: 74 85 101;
  --ui-gray-700: 54 65 83;
  --ui-gray-800: 30 41 57;
  --ui-gray-900: 16 24 40;
  --ui-gray-950: 3 7 18;
  --ui-zinc-50: 250 250 250;
  --ui-zinc-100: 244 244 245;
  --ui-zinc-200: 228 228 231;
  --ui-zinc-300: 212 212 216;
  --ui-zinc-400: 159 159 169;
  --ui-zinc-500: 113 113 123;
  --ui-zinc-600: 82 82 92;
  --ui-zinc-700: 63 63 71;
  --ui-zinc-800: 39 39 42;
  --ui-zinc-900: 24 24 27;
  --ui-zinc-950: 9 9 11;
  --ui-neutral-50: 250 250 250;
  --ui-neutral-100: 245 245 245;
  --ui-neutral-200: 229 229 229;
  --ui-neutral-300: 212 212 212;
  --ui-neutral-400: 161 161 161;
  --ui-neutral-500: 115 115 115;
  --ui-neutral-600: 82 82 82;
  --ui-neutral-700: 64 64 64;
  --ui-neutral-800: 38 38 38;
  --ui-neutral-900: 23 23 23;
  --ui-neutral-950: 10 10 10;
  --ui-stone-50: 250 250 249;
  --ui-stone-100: 245 245 244;
  --ui-stone-200: 231 229 228;
  --ui-stone-300: 214 211 209;
  --ui-stone-400: 166 160 155;
  --ui-stone-500: 121 113 107;
  --ui-stone-600: 87 83 77;
  --ui-stone-700: 68 64 59;
  --ui-stone-800: 41 37 36;
  --ui-stone-900: 28 25 23;
  --ui-stone-950: 12 10 9;
  --ui-red-50: 254 242 242;
  --ui-red-100: 255 226 226;
  --ui-red-200: 255 201 201;
  --ui-red-300: 255 162 162;
  --ui-red-400: 255 100 103;
  --ui-red-500: 251 44 54;
  --ui-red-600: 231 0 11;
  --ui-red-700: 193 0 7;
  --ui-red-800: 159 7 18;
  --ui-red-900: 130 24 26;
  --ui-red-950: 70 8 9;
  --ui-orange-50: 255 247 237;
  --ui-orange-100: 255 237 212;
  --ui-orange-200: 255 214 168;
  --ui-orange-300: 255 184 106;
  --ui-orange-400: 255 137 4;
  --ui-orange-500: 255 105 0;
  --ui-orange-600: 245 73 0;
  --ui-orange-700: 202 53 0;
  --ui-orange-800: 159 45 0;
  --ui-orange-900: 126 42 12;
  --ui-orange-950: 68 19 6;
  --ui-amber-50: 255 251 235;
  --ui-amber-100: 254 243 198;
  --ui-amber-200: 254 230 133;
  --ui-amber-300: 255 210 48;
  --ui-amber-400: 255 185 0;
  --ui-amber-500: 254 154 0;
  --ui-amber-600: 225 113 0;
  --ui-amber-700: 187 77 0;
  --ui-amber-800: 151 60 0;
  --ui-amber-900: 123 51 6;
  --ui-amber-950: 70 25 1;
  --ui-yellow-50: 254 252 232;
  --ui-yellow-100: 254 249 194;
  --ui-yellow-200: 255 240 133;
  --ui-yellow-300: 255 223 32;
  --ui-yellow-400: 253 199 0;
  --ui-yellow-500: 240 177 0;
  --ui-yellow-600: 208 135 0;
  --ui-yellow-700: 166 95 0;
  --ui-yellow-800: 137 75 0;
  --ui-yellow-900: 115 62 10;
  --ui-yellow-950: 67 32 4;
  --ui-lime-50: 247 254 231;
  --ui-lime-100: 236 252 202;
  --ui-lime-200: 216 249 153;
  --ui-lime-300: 187 244 81;
  --ui-lime-400: 154 230 0;
  --ui-lime-500: 124 207 0;
  --ui-lime-600: 94 165 0;
  --ui-lime-700: 73 125 0;
  --ui-lime-800: 60 99 0;
  --ui-lime-900: 53 83 14;
  --ui-lime-950: 25 46 3;
  --ui-green-50: 240 253 244;
  --ui-green-100: 220 252 231;
  --ui-green-200: 185 248 207;
  --ui-green-300: 123 241 168;
  --ui-green-400: 5 223 114;
  --ui-green-500: 0 201 80;
  --ui-green-600: 0 166 62;
  --ui-green-700: 0 130 54;
  --ui-green-800: 1 102 48;
  --ui-green-900: 13 84 43;
  --ui-green-950: 3 46 21;
  --ui-emerald-50: 236 253 245;
  --ui-emerald-100: 208 250 229;
  --ui-emerald-200: 164 244 207;
  --ui-emerald-300: 94 233 181;
  --ui-emerald-400: 0 212 146;
  --ui-emerald-500: 0 188 125;
  --ui-emerald-600: 0 153 102;
  --ui-emerald-700: 0 122 85;
  --ui-emerald-800: 0 96 69;
  --ui-emerald-900: 0 79 59;
  --ui-emerald-950: 0 44 34;
  --ui-teal-50: 240 253 250;
  --ui-teal-100: 203 251 241;
  --ui-teal-200: 150 247 228;
  --ui-teal-300: 70 236 213;
  --ui-teal-400: 0 213 190;
  --ui-teal-500: 0 187 167;
  --ui-teal-600: 0 150 137;
  --ui-teal-700: 0 120 111;
  --ui-teal-800: 0 95 90;
  --ui-teal-900: 11 79 74;
  --ui-teal-950: 2 47 46;
  --ui-cyan-50: 236 254 255;
  --ui-cyan-100: 206 250 254;
  --ui-cyan-200: 162 244 253;
  --ui-cyan-300: 83 234 253;
  --ui-cyan-400: 0 211 243;
  --ui-cyan-500: 0 184 219;
  --ui-cyan-600: 0 146 184;
  --ui-cyan-700: 0 117 149;
  --ui-cyan-800: 0 95 120;
  --ui-cyan-900: 16 78 100;
  --ui-cyan-950: 5 51 69;
  --ui-sky-50: 240 249 255;
  --ui-sky-100: 223 242 254;
  --ui-sky-200: 184 230 254;
  --ui-sky-300: 116 212 255;
  --ui-sky-400: 0 188 255;
  --ui-sky-500: 0 166 244;
  --ui-sky-600: 0 132 209;
  --ui-sky-700: 0 105 168;
  --ui-sky-800: 0 89 138;
  --ui-sky-900: 2 74 112;
  --ui-sky-950: 5 47 74;
  --ui-blue-50: 239 246 255;
  --ui-blue-100: 219 234 254;
  --ui-blue-200: 190 219 255;
  --ui-blue-300: 142 197 255;
  --ui-blue-400: 81 162 255;
  --ui-blue-500: 43 127 255;
  --ui-blue-600: 21 93 252;
  --ui-blue-700: 20 71 230;
  --ui-blue-800: 25 60 184;
  --ui-blue-900: 28 57 142;
  --ui-blue-950: 22 36 86;
  --ui-indigo-50: 238 242 255;
  --ui-indigo-100: 224 231 255;
  --ui-indigo-200: 198 210 255;
  --ui-indigo-300: 163 179 255;
  --ui-indigo-400: 124 134 255;
  --ui-indigo-500: 97 95 255;
  --ui-indigo-600: 79 57 246;
  --ui-indigo-700: 67 45 215;
  --ui-indigo-800: 55 42 172;
  --ui-indigo-900: 49 44 133;
  --ui-indigo-950: 30 26 77;
  --ui-violet-50: 245 243 255;
  --ui-violet-100: 237 233 254;
  --ui-violet-200: 221 214 255;
  --ui-violet-300: 196 180 255;
  --ui-violet-400: 166 132 255;
  --ui-violet-500: 142 81 255;
  --ui-violet-600: 127 34 254;
  --ui-violet-700: 112 8 231;
  --ui-violet-800: 93 14 192;
  --ui-violet-900: 77 23 154;
  --ui-violet-950: 47 13 104;
  --ui-purple-50: 250 245 255;
  --ui-purple-100: 243 232 255;
  --ui-purple-200: 233 212 255;
  --ui-purple-300: 218 178 255;
  --ui-purple-400: 194 122 255;
  --ui-purple-500: 173 70 255;
  --ui-purple-600: 152 16 250;
  --ui-purple-700: 130 0 219;
  --ui-purple-800: 110 17 176;
  --ui-purple-900: 89 22 139;
  --ui-purple-950: 60 3 102;
  --ui-fuchsia-50: 253 244 255;
  --ui-fuchsia-100: 250 232 255;
  --ui-fuchsia-200: 246 207 255;
  --ui-fuchsia-300: 244 168 255;
  --ui-fuchsia-400: 237 106 255;
  --ui-fuchsia-500: 225 42 251;
  --ui-fuchsia-600: 200 0 222;
  --ui-fuchsia-700: 168 0 183;
  --ui-fuchsia-800: 138 1 148;
  --ui-fuchsia-900: 114 19 120;
  --ui-fuchsia-950: 75 0 79;
  --ui-pink-50: 253 242 248;
  --ui-pink-100: 252 231 243;
  --ui-pink-200: 252 206 232;
  --ui-pink-300: 253 165 213;
  --ui-pink-400: 251 100 182;
  --ui-pink-500: 246 51 154;
  --ui-pink-600: 230 0 118;
  --ui-pink-700: 198 0 92;
  --ui-pink-800: 163 0 76;
  --ui-pink-900: 134 16 67;
  --ui-pink-950: 81 4 36;
  --ui-rose-50: 255 241 242;
  --ui-rose-100: 255 228 230;
  --ui-rose-200: 255 204 211;
  --ui-rose-300: 255 161 173;
  --ui-rose-400: 255 99 126;
  --ui-rose-500: 255 32 86;
  --ui-rose-600: 236 0 63;
  --ui-rose-700: 199 0 54;
  --ui-rose-800: 165 0 54;
  --ui-rose-900: 139 8 54;
  --ui-rose-950: 77 2 24;
  --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --thumbnail-width: 340;
  --thumbnail-height: 420;
  --thumbnail-ratio: 340 / 420;
  --header-height-desktop: 5rem;
  --header-height-mobile: 3.75rem;
  --header-height: var(--header-height-desktop);
  --z-header: 1000;
  --ui-border-color: rgb(var(--ui-gray-300));
  --ui-border-color-hover: rgb(var(--ui-gray-600));
  --ui-border-color-active: rgb(var(--ui-gray-600));
  --site-gutter: 2.5rem;
  --icon-add: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.25 12C5.25 11.5858 5.58579 11.25 6 11.25H18C18.4142 11.25 18.75 11.5858 18.75 12C18.75 12.4142 18.4142 12.75 18 12.75H6C5.58579 12.75 5.25 12.4142 5.25 12Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5.25C12.4142 5.25 12.75 5.58579 12.75 6L12.75 18C12.75 18.4142 12.4142 18.75 12 18.75C11.5858 18.75 11.25 18.4142 11.25 18L11.25 6C11.25 5.58579 11.5858 5.25 12 5.25Z' fill='black'/%3E%3C/svg%3E%0A");
  --icon-remove: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 8.16663C3.5 7.89048 3.72386 7.66663 4 7.66663H12C12.2761 7.66663 12.5 7.89048 12.5 8.16663C12.5 8.44277 12.2761 8.66663 12 8.66663H4C3.72386 8.66663 3.5 8.44277 3.5 8.16663Z' fill='black'/%3E%3C/svg%3E%0A");
  --accordion-toggle-offset: 6px;
  --accordion-toggle-size: 44px;
  --accordion-toggle-height: calc(var(--accordion-toggle-offset) * 2 + var(--accordion-toggle-size));
  --button-border-color: rgb(var(--ui-neutral-300));
  --font-default: "Manrope", "Roboto", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  --font-narrow: "Roboto Condensed", "Noto Sans", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;
}

.pill-01 {
  display: flex;
  background-color: rgb(var(--ui-neutral-100));
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  justify-content: center;
  font-size: 0.75rem;
  border-radius: 1000px;
  text-align: center;
  font-weight: 500;
}

/*============================================================================
  #Normalize
  Based on normalize.css v3.0.2 | MIT License | git.io/normalize
==============================================================================*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

input,
textarea,
select,
.disclosure__toggle {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

a {
  background-color: transparent;
}

b,
strong {
  font-weight: var(--font-weight-body--bolder);
}

em {
  font-style: italic;
}

small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  max-width: 100%;
  border: 0;
}

button,
input,
optgroup,
select,
.disclosure__toggle,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

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

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

input[type=search], input[type=number], input[type=email], input[type=password] {
  -webkit-appearance: none;
  -moz-appearance: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/*============================================================================
  Fast Tap
  enables no-delay taps (FastClick-esque) on supporting browsers
==============================================================================*/
a,
button,
[role=button],
input,
label,
select,
.disclosure__toggle,
textarea {
  touch-action: manipulation;
}

*, *::before, *::after {
  box-sizing: border-box;
}

@media screen and (max-width: 1056px) {
  :root {
    --header-height: var(--header-height-mobile);
    --site-gutter: calc(1rem * 20 / 16);
  }
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-size: 1em;
  font-weight: 400;
  font-family: var(--font-default);
  letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  touch-action: manipulation;
  color: rgb(var(--ui-gray-900));
  background-color: rgb(var(--ui-white));
  font-optical-sizing: auto;
}

html, body {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

figure {
  margin: 0;
}

p {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

a:link {
  color: currentColor;
  text-decoration: none;
}

a:visited {
  color: currentColor;
}

[id] {
  scroll-margin-top: calc(var(--header-height) + 2rem);
}

.media-lazy {
  position: relative;
}
.media-lazy::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: hsla(0, 0%, 50%, 0.01);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.media-lazy.parent-loaded::after {
  transition: -webkit-backdrop-filter 150ms ease;
  transition: backdrop-filter 150ms ease;
  transition: backdrop-filter 150ms ease, -webkit-backdrop-filter 150ms ease;
  -webkit-backdrop-filter: blur(0px);
          backdrop-filter: blur(0px);
}

.rte {
  font-size: 1.125rem;
}
.rte > :where(*) {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.rte p {
  font-size: 1em;
  line-height: 1.88;
}
.rte p + p {
  margin-top: 1.1em;
}
.rte p a {
  line-break: anywhere;
}
.rte p a:link {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rte p a:link:hover {
  text-decoration-color: transparent;
}
.rte .has-small-font-size {
  line-height: 1.25;
}
.rte h1, .rte h2, .rte h3, .rte h4, .rte h5, .rte h6 {
  color: rgb(var(--ui-gray-800));
}
.rte h2 {
  margin-top: 4.5rem;
}
@media screen and (max-width: 1056px) {
  .rte {
    font-size: 1rem;
  }
}

:where(.wp-block-columns.is-layout-flex) {
  gap: 1em;
}

.wp-block-image:only-child, .wp-block-image:last-child {
  margin-bottom: 0;
}
.wp-block-image img {
  width: 100%;
  height: auto;
}
.wp-block-image__wrapper {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.wp-block-image__wrapper.has-ratio {
  display: flex;
}
.wp-block-image__wrapper.has-ratio::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  padding-bottom: calc(100% * var(--image-height) / var(--image-width));
}
.wp-block-image__wrapper.has-ratio .lazy-ready {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wp-block-image .parent-ready::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}
.wp-block-image .parent-loaded::after {
  -webkit-backdrop-filter: blur(0px);
          backdrop-filter: blur(0px);
  transition: -webkit-backdrop-filter 0.25s var(--ease-out-quint);
  transition: backdrop-filter 0.25s var(--ease-out-quint);
  transition: backdrop-filter 0.25s var(--ease-out-quint), -webkit-backdrop-filter 0.25s var(--ease-out-quint);
}

:root :where(.wp-block-image figcaption) {
  color: rgb(var(--ui-gray-600));
}
@media screen and (max-width: 767px) {
  :root :where(.wp-block-image figcaption) {
    text-align: left;
  }
}

ol.wp-block-list,
ul.wp-block-list {
  padding-left: 1.5em;
}
ol.wp-block-list li,
ul.wp-block-list li {
  list-style-type: inherit;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 1056px) {
  ol.wp-block-list li,
  ul.wp-block-list li {
    font-size: 1rem;
  }
}

ol.wp-block-list {
  list-style-type: decimal;
}

ul.wp-block-list {
  list-style-type: disc;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media screen and (max-width: 1056px) {
  .desktop-only {
    display: none;
  }
}

@media screen and (min-width: 1057px) {
  .mobile-only {
    display: none;
  }
}

.hidden {
  display: none !important;
}

[role=button] {
  cursor: pointer;
}

.button {
  transition-property: background-color, color, border-color, box-shadow;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-quart);
}

.button-01 {
  display: flex;
  border-radius: 9999px;
  background-color: rgb(var(--ui-neutral-100));
  padding: 0.25rem 0.75rem;
  height: 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.015em;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
.button-01:hover {
  background-color: rgb(var(--ui-neutral-200));
}
.button-01:active {
  background-color: rgb(var(--ui-neutral-300));
}

.button-02 {
  display: flex;
  border: 1px solid rgb(var(--ui-neutral-300));
  height: 3.5rem;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: rgb(var(--ui-neutral-950));
}
@media screen and (min-width: 768px) {
  .button-02 {
    font-size: 0.9375rem;
    height: 4rem;
  }
}
@media screen and (min-width: 1280px) {
  .button-02 {
    font-size: 1rem;
    height: 5rem;
  }
}

.button--boxy {
  display: inline-flex;
  height: 2.75rem;
  border: 1px solid var(--button-border-color);
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.button--boxy .button-icon {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  justify-content: center;
  align-items: center;
}
.button--boxy .button-icon:first-child {
  border-right: 1px solid var(--button-border-color);
}
.button--boxy .button-icon:last-child {
  border-left: 1px solid var(--button-border-color);
}
.button--boxy .button-label {
  display: flex;
  padding: 0 5rem;
}
.button--boxy:hover {
  --button-border-color: rgb(var(--ui-neutral-500));
}

.story-card__wrapper {
  position: relative;
  padding-bottom: 1rem;
}
.story-card__title {
  font-size: 1.25rem;
  font-weight: 500;
}
.story-card__title a span {
  display: inline;
  background-image: linear-gradient(to top, black 0%, black 100%);
  background-size: 0% 2px;
  background-repeat: no-repeat;
  background-position-y: 100%;
  transition: background-size 300ms var(--ease-out-quart);
}
.story-card__title a:hover span {
  background-size: 100% 2px;
}
@media screen and (max-width: 1279px) {
  .story-card__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .story-card__title {
    font-size: 1rem;
  }
}
.story-card__media {
  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
}
.story-card__media::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  padding-bottom: calc(100% * var(--thumbnail-height) / var(--thumbnail-width));
}
.story-card__media .media {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  transition: transform 500ms var(--ease-out-quart), opacity 500ms var(--ease-out-quart);
}
.story-card__media .media.placeholder {
  background-color: rgb(var(--ui-gray-200));
  height: 100%;
  background-image: url(../img/common/logo-white.svg);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
}
.story-card.lazy-ready {
  opacity: 0;
  translate: 0 1rem;
}
.story-card.lazy-seen {
  opacity: 1;
  transition-property: opacity, translate;
  transition-duration: 1000ms;
  transition-timing-function: var(--ease-out-quart);
  translate: 0 0;
}
.story-card__categories {
  display: inline-flex;
  position: relative;
  z-index: 2;
}
.category-button .button-label {
  translate: 0 1px;
}
.category-button:hover {
  background-color: rgb(var(--ui-neutral-200));
}
.category-button:focus {
  background-color: rgb(var(--ui-neutral-300));
}

.story-card--default .story-card__media {
  margin-bottom: 1rem;
}
.story-card--default .story-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.story-card--default .story-card__title {
  line-height: 1.25;
}
.story-card--default .story-card__title a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.story-card--default .story-card__date {
  font-size: 0.8125rem;
  color: rgb(var(--ui-neutral-400));
}
.story-card--default .story-card__author {
  font-size: 0.8125rem;
  color: rgb(var(--ui-neutral-600));
}
.story-card--default .group {
  box-shadow: 0 0 0 0rem rgba(var(--ui-neutral-200)/0);
  background-color: rgb(var(--ui-neutral-200)/0);
  background-size: 0% 2px;
  transition-property: box-shadow, background-color, color;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-cubic);
}
.story-card--default .group:hover .story-card__media .media {
  transform: scale(1.05);
  opacity: 0.9;
}
.story-card--default .group:hover .story-card__title span {
  background-size: 100% 2px;
}

.story-card--featured .story-card__wrapper {
  display: grid;
  grid-template-columns: 4fr 8fr;
  place-items: center;
  row-gap: 1rem;
}
.story-card--featured .story-card__media:hover .media {
  transform: scale(1.025);
  opacity: 0.95;
}
.story-card--featured .story-card__info {
  display: flex;
  flex-direction: column;
  padding: 0 5.5rem;
  row-gap: 2.5rem;
}
@media screen and (min-width: 1536px) {
  .story-card--featured .story-card__info {
    padding-left: 8.3333333333vw;
    padding-right: 8.3333333333vw;
  }
}
.story-card--featured .story-card__title {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .story-card--featured .story-card__title {
    font-size: 1.875rem;
  }
}
@media screen and (min-width: 1280px) {
  .story-card--featured .story-card__title {
    font-size: 2.25rem;
  }
}
.story-card--featured .story-card__excerpt {
  font-size: 1.125rem;
  line-height: 1.94;
  letter-spacing: 0.02em;
}
.story-card--featured .story-card__excerpt > * {
  display: inline;
}
.story-card--featured .story-card__excerpt .readmore {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.story-card--featured .story-card__excerpt .readmore:hover {
  text-decoration: none;
}
@media screen and (max-width: 1279px) {
  .story-card--featured .story-card__info {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
@media screen and (max-width: 1279px) {
  .story-card--featured .story-card__wrapper {
    grid-template-columns: 1fr 2fr;
  }
  .story-card--featured .story-card__excerpt {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .story-card--featured .story-card__excerpt p {
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media screen and (max-width: 1056px) {
  .story-card--featured .story-card__info {
    row-gap: 1.5rem;
  }
  .story-card--featured .story-card__wrapper {
    grid-template-columns: 2fr 3fr;
  }
}
@media screen and (max-width: 767px) {
  .story-card--featured .story-card__wrapper {
    grid-template-columns: 1fr;
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
  }
  .story-card--featured .story-card__info {
    padding-left: 0;
    padding-right: 0;
  }
}

.post-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: flex-end;
}

.meta-list__line {
  display: flex;
  justify-content: space-between;
  min-height: 2.5rem;
  align-items: center;
  border-bottom: 1px solid rgb(var(--ui-neutral-200));
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.meta-list__line:first-child {
  border-top: 1px solid rgb(var(--ui-neutral-200));
}
.meta-list__line__term {
  color: rgb(var(--ui-neutral-400));
  font-size: 0.875rem;
  letter-spacing: 0.015em;
  line-height: 1;
}
.meta-text-02 {
  font-size: 0.875rem;
  letter-spacing: 0.015em;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 500;
}

.aioseo-breadcrumbs {
  color: rgb(var(--ui-gray-500));
  min-height: 3.125rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.8125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aioseo-breadcrumb-separator {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.global-header {
  position: fixed;
  top: 0;
  left: 0;
  padding-left: var(--site-gutter);
  width: 100%;
  height: var(--header-height);
  border-bottom: 1px solid rgba(var(--ui-black)/0.15);
  background-color: rgba(var(--ui-white)/0.6);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  z-index: var(--z-header);
  transition-property: top, translate, background-color;
}
@media screen and (max-width: 1056px) {
  .global-header {
    top: 2.5rem;
  }
}
.global-header:hover {
  background-color: rgba(var(--ui-white)/1);
}

.global-header-logo {
  display: inline-flex;
  width: auto;
}
.global-header-logo a {
  display: flex;
  min-width: 9rem;
  max-width: 13.125rem;
}
@media screen and (max-width: 767px) {
  .global-header-logo a {
    min-width: 0;
    max-width: 41.25vw;
  }
}

.global-header-current {
  position: relative;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  padding-left: 2rem;
  margin-left: 1.9375rem;
  height: 2rem;
}
.global-header-current::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  display: block;
  width: 1px;
  height: 1rem;
  background-color: rgb(var(--ui-gray-300));
}
@media screen and (max-width: 1056px) {
  .global-header-current {
    padding-left: 1.25rem;
    margin-left: 1.25rem;
  }
}

.current-site-text {
  font-family: var(--font-narrow);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .current-site-text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1280px) {
  .current-site-text {
    font-size: 1.125rem;
  }
}

.sidebar-brand-menu,
.header-brand-menu {
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.sidebar-brand-menu .menu-item a,
.header-brand-menu .menu-item a {
  display: flex;
  align-items: center;
  gap: 0 0.375rem;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  border-radius: 0.1875rem;
  font-weight: 600;
  white-space: nowrap;
  transition-property: background-color, box-shadow;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-quart);
  font-family: var(--font-narrow);
}
.sidebar-brand-menu .menu-item a::before,
.header-brand-menu .menu-item a::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  translate: 0 -1px;
}
.sidebar-brand-menu .menu-item a:hover,
.header-brand-menu .menu-item a:hover {
  background-color: rgb(var(--ui-neutral-100));
}
.sidebar-brand-menu .menu-item a:active,
.header-brand-menu .menu-item a:active {
  background-color: rgb(var(--ui-neutral-200));
}
.sidebar-brand-menu .menu-item--corporate a::before,
.header-brand-menu .menu-item--corporate a::before {
  background-image: url(../img/icons/home.svg);
}
.sidebar-brand-menu .menu-item--store a::before,
.header-brand-menu .menu-item--store a::before {
  background-image: url(../img/icons/store.svg);
}
.sidebar-brand-menu .menu-item--brands a::before,
.header-brand-menu .menu-item--brands a::before {
  background-image: url(../img/icons/brands.svg);
}

.global-header-brand-menu {
  margin-right: 0.625rem;
}
@media screen and (max-width: 919px) {
  .global-header-brand-menu {
    display: none;
  }
}

@media screen and (min-width: 920px) {
  .sidebar-brand-menu {
    display: none;
  }
}

.global-header-menu-toggle {
  display: flex;
  margin-right: 0.625rem;
  border-radius: 0.25rem;
  cursor: poitner;
  transition-property: background-color, box-shadow;
  transition-duration: 300ms;
  transition-timing-function: var(--ease-out-quart);
  box-shadow: 0 0 0 0 rgb(var(--ui-neutral-950));
}
.global-header-menu-toggle path {
  transform-origin: center;
  transition: 350ms var(--ease-out-quart);
}
.global-header-menu-toggle svg {
  width: 2.75rem;
  height: 2.75rem;
}
.global-header-menu-toggle[aria-expanded=true] .path1 {
  transform: translate(6px, 5.5px) rotate(-45deg);
}
.global-header-menu-toggle[aria-expanded=true] .path2 {
  opacity: 0;
}
.global-header-menu-toggle[aria-expanded=true] .path3 {
  transform: translate(6px, -5.5px) rotate(45deg);
}
@media screen and (max-width: 1056px) {
  .global-header-menu-toggle svg {
    width: 2.75rem;
    height: 2.75rem;
  }
}

.la-brand-topbar {
  z-index: var(--z-header);
}

.la-brand-topbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition-property: translate;
}
@media screen and (min-width: 1057px) {
  .la-brand-topbar {
    display: none;
  }
}

.global-footer {
  display: grid;
  flex-wrap: wrap;
  padding: 2.5rem 4.5rem 1.5rem;
  background-color: rgb(var(--ui-black));
  color: rgb(var(--ui-white));
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  row-gap: 0;
  grid-template-columns: 1fr auto;
  grid-template-rows: repeat(3, -webkit-fit-content);
  grid-template-rows: repeat(3, fit-content);
  grid-template-areas: "menu logo" "menu terms" "copy copy";
}
.footer-column--menu {
  grid-area: menu;
}

.footer-column--logo {
  grid-area: logo;
}

.footer-column--terms {
  grid-area: terms;
}

.footer-column--copyright {
  grid-area: copy;
}

@media screen and (max-width: 1279px) {
  .global-footer {
    padding: 2.5rem;
  }
}
@media screen and (max-width: 1056px) {
  .global-footer {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    grid-template-areas: "terms" "copy";
    row-gap: 1.5rem;
  }
}

.footer-main-menu li {
  font-size: 1.5rem;
}
@media screen and (max-width: 1056px) {
  .footer-main-menu {
    display: none;
  }
}

.footer-column {
  flex: auto;
}
.footer-column .menu li {
  line-height: 1.5;
  font-weight: 500;
}
.footer-column .menu a {
  border-bottom: 2px solid transparent;
}
.footer-column .menu a:hover {
  border-bottom-color: currentColor;
}

.footer-column--logo {
  display: flex;
  justify-content: flex-end;
}
.footer-logo a {
  display: flex;
  max-width: 15rem;
}
.footer-logo a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 1057px) {
  .footer-column--logo {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 1056px) {
  .footer-column--logo {
    justify-content: flex-start;
  }
}

.footer-column--terms .menu {
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
}
.footer-column--terms .menu-item {
  font-size: 0.875rem;
  text-align: right;
}
.footer-column--terms .menu-item a {
  opacity: 0.5;
  line-height: 1;
}
.footer-column--terms .menu-item a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1056px) {
  .footer-column--terms .menu-item {
    text-align: left;
  }
}

.footer-column--copyright {
  display: flex;
  justify-content: center;
  padding-top: 2.5rem;
}
.copyright-text {
  font-size: 0.625rem;
  opacity: 0.4;
}

@media screen and (max-width: 1056px) {
  .footer-column--copyright {
    padding-top: 0;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .footer-column--logo {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .footer-column--menu {
    display: none;
  }
}

.global-sidebar {
  --sidebar-padding-x: 2rem;
  position: fixed;
  top: 0;
  right: 0;
  transform: translate(101%, 0);
  padding: calc(var(--header-height) + 1.5rem) var(--sidebar-padding-x);
  border-left: 1px solid rgb(var(--ui-neutral-200));
  width: 25rem;
  height: 100vh;
  background: rgb(var(--ui-white));
  overflow: auto;
  transition-property: transform;
  transition-duration: 400ms;
  transition-timing-function: var(--ease-out-quint);
  z-index: calc(var(--z-header) - 10);
}
.global-sidebar[aria-hidden=false] {
  transform: translate(0%, 0);
  transition-duration: 500ms;
}
@media screen and (max-width: 1056px) {
  .global-sidebar {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .global-sidebar {
    --sidebar-padding-x: 1rem;
    padding-top: 6.25rem;
    width: 100%;
  }
}

.side-menu-is-open {
  overflow: hidden;
}

.global-sidebar-overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: calc(var(--z-header) - 15);
  pointer-events: none;
  background-color: rgba(var(--ui-black)/0);
  -webkit-backdrop-filter: blur(0px);
          backdrop-filter: blur(0px);
  transition: background-color 500ms var(--ease-out-quint), -webkit-backdrop-filter 500ms var(--ease-out-quint);
  transition: backdrop-filter 500ms var(--ease-out-quint), background-color 500ms var(--ease-out-quint);
  transition: backdrop-filter 500ms var(--ease-out-quint), background-color 500ms var(--ease-out-quint), -webkit-backdrop-filter 500ms var(--ease-out-quint);
}
.side-menu-is-open .global-sidebar-overlay {
  pointer-events: initial;
  background-color: rgba(var(--ui-black)/0.15);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  cursor: pointer;
}

.sidebar-block {
  margin-bottom: 2rem;
}
.sidebar-block__heading {
  background-size: 4px 4px;
  background-repeat: repeat;
  background-position: center left;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4' fill='%23F3F4F6'%3E%3Crect width='1' height='4'/%3E%3C/svg%3E");
  height: 2rem;
  padding: 0 0.75rem;
  color: rgb(var(--ui-neutral-700));
  letter-spacing: 0.1em;
  margin-left: -0.75rem;
  display: flex;
  align-items: center;
  margin-right: -0.75rem;
  font-size: 0.75rem;
  text-transform: uppercase;
}
.sidebar-block .search-form {
  position: relative;
  margin-top: 1.25rem;
}
.sidebar-block .search-form label {
  display: flex;
}
.sidebar-block .search-field {
  border: 1px solid rgb(var(--ui-neutral-300));
  height: 3.375rem;
  border-radius: 9999px;
  width: 100%;
  padding-left: 2rem;
  padding-right: 0.875rem;
  transition: border-color 150ms var(--ease-out-quart), box-shadow 150ms var(--ease-out-quart), background-color 150ms var(--ease-out-quart);
  box-shadow: 0 0 0 0px rgba(var(--ui-gray-950)/0.05);
}
.sidebar-block .search-field:focus {
  border-color: rgb(var(--ui-neutral-400));
  box-shadow: 0 0 0 4px rgba(var(--ui-gray-950)/0.05);
}
.sidebar-block .search-submit {
  all: unset;
  position: absolute;
  top: 0.9375rem;
  right: 0.9375rem;
  text-indent: -9999px;
  width: 1.5rem;
  height: 1.5rem;
  border: 0;
  border-radius: 9999px;
  background-image: url(../img/icons/zoom.svg);
  background-size: 1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-color: rgb(var(--ui-neutral-200));
  cursor: pointer;
}
.sidebar-block .term-list {
  display: table;
  width: 100%;
}
.sidebar-block .term-listitem {
  align-items: center;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
  height: 5rem;
  position: relative;
  margin: 0 calc(-1 * var(--sidebar-padding-x) * 0.5);
  padding-left: calc(0.5 * var(--sidebar-padding-x));
  padding-right: calc(0.5 * var(--sidebar-padding-x));
  vertical-align: middle;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto -webkit-min-content -webkit-min-content auto;
  grid-template-rows: auto min-content min-content auto;
  grid-template-areas: "spacer1 count" "title count" "caption count" "spacer2 count";
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.sidebar-block .term-listitem::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: -1rem;
  right: -1rem;
  height: 100%;
  z-index: -1;
  background-color: rgba(var(--ui-neutral-100)/0);
  transition-property: background-color, color;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-cubic);
}
.sidebar-block .term-listitem::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: auto;
  height: 1px;
  background-color: rgb(var(--ui-neutral-200));
}
.sidebar-block .term-listitem__title {
  grid-area: title;
  min-width: 3.5rem;
  font-weight: 600;
  font-size: 0.9375rem;
  white-space: nowrap;
  padding-right: 1rem;
  vertical-align: middle;
}
.sidebar-block .term-listitem__title a {
  display: block;
}
.sidebar-block .term-listitem__title a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sidebar-block .term-listitem__desc {
  padding-top: 0.25rem;
  grid-area: caption;
  font-size: 0.8125rem;
  color: rgb(var(--ui-neutral-500));
  vertical-align: middle;
  padding-right: 1rem;
}
.sidebar-block .term-listitem__count {
  grid-area: count;
  vertical-align: middle;
  text-align: right;
}
.sidebar-block .term-listitem__count span {
  display: flex;
  justify-content: flex-end;
}
.sidebar-block .term-listitem__count span::after {
  content: attr(data-post-count);
  display: flex;
  display: flex;
  background-color: rgb(var(--ui-neutral-100));
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  justify-content: center;
  font-size: 0.75rem;
  border-radius: 1000px;
  text-align: center;
  font-weight: 500;
}
.sidebar-block .term-listitem:hover::before {
  background-color: rgba(var(--ui-neutral-100)/1);
}

.sidebar-block-brand-menu {
  margin-bottom: 0;
}

.sidebar-brand-menu {
  margin-left: calc(var(--sidebar-padding-x) * -1);
  margin-right: calc(var(--sidebar-padding-x) * -1);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  height: 3.75rem;
  align-items: stretch;
  -moz-column-gap: 0;
       column-gap: 0;
}
.sidebar-brand-menu .menu-item {
  position: relative;
  flex: 1 1 auto;
  height: 100%;
}
.sidebar-brand-menu .menu-item a {
  width: 100%;
  flex: 0 0 100%;
  height: 100%;
  justify-content: center;
  font-family: var(--font-narrow);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
}
.sidebar-brand-menu .menu-item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0.5px -50%;
  display: block;
  width: 1px;
  background-color: rgb(var(--ui-gray-300));
  height: 0.625rem;
}

.site-main {
  padding-top: var(--header-height);
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
  padding-bottom: 4rem;
}
@media screen and (max-width: 1056px) {
  .site-main {
    padding-top: calc(var(--header-height) + 40px);
  }
}

.site-main-inner {
  min-height: calc(100vh - var(--header-height) - 4rem);
}

.home-categories {
  --button-height: calc(1rem * 64 / 16);
  position: relative;
}
.home-categories .snap-slider-btn {
  width: 2.75rem;
  height: var(--button-height);
  border: 0;
  background-color: transparent;
  cursor: pointer;
  transition: opacity 150ms var(--ease-out-quart);
}
.home-categories .snap-slider-btn--prev {
  position: absolute;
  top: 0;
  left: calc(var(--site-gutter) * -1);
  background-image: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.75) 80%, rgba(255, 255, 255, 0) 100%);
  background-repeat: no-repeat;
  background-size: 100%;
}
.home-categories .snap-slider-btn--next {
  position: absolute;
  top: 0;
  right: calc(var(--site-gutter) * -1);
  background-image: linear-gradient(to left, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.75) 80%, rgba(255, 255, 255, 0) 100%);
}
.home-categories .is-at-start ~ .snap-slider-btn--prev {
  opacity: 0;
  pointer-events: none;
}
.home-categories .is-at-end ~ .snap-slider-btn--next {
  opacity: 0;
  pointer-events: none;
}
.home-categories .not-scrollable ~ .snap-slider-btn {
  display: none;
}

.home-categories-list {
  display: flex;
  justify-content: center;
  margin-left: calc(var(--site-gutter) * -1);
  margin-right: calc(var(--site-gutter) * -1);
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.home-categories-list::-webkit-scrollbar {
  display: none;
}
.home-categories-list a {
  --button-height: 48px;
  display: flex;
  align-items: center;
  padding: 0 2rem 0.25rem;
  -moz-column-gap: 0.8125rem;
       column-gap: 0.8125rem;
  font-weight: 600;
  transition: 0.15s ease;
  white-space: nowrap;
  height: var(--button-height);
}
.home-categories-list a::after {
  content: attr(data-post-count);
  display: flex;
  background-color: rgb(var(--ui-neutral-100));
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  justify-content: center;
  font-size: 0.75rem;
  border-radius: 1000px;
  text-align: center;
  font-weight: 500;
}
.home-categories-list a:hover {
  background-color: rgb(var(--ui-neutral-100));
}
.home-categories-list a:hover::after {
  background-color: rgb(var(--ui-white));
}
.home-categories-list a:active {
  background-color: rgb(var(--ui-neutral-200));
}
@media screen and (max-width: 1056px) {
  .home-categories-list {
    justify-content: flex-start;
    overflow-x: auto;
  }
  .home-categories-list a {
    padding: 0 0.875rem 0.25rem;
  }
}

.stories-grid-first {
  margin-bottom: 1.5rem;
}

.stories-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
}
.stories-grid .story-card:nth-child(even) {
  transition-delay: 100ms;
}
@media screen and (min-width: 375px) and (max-width: 1056px) {
  .stories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stories-grid .story-card:nth-child(2n+1) {
    transition-delay: 0ms;
  }
  .stories-grid .story-card:nth-child(2n+2) {
    transition-delay: 100ms;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .stories-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stories-grid .story-card:nth-child(3n+1) {
    transition-delay: 0ms;
  }
  .stories-grid .story-card:nth-child(3n+2) {
    transition-delay: 100ms;
  }
  .stories-grid .story-card:nth-child(3n+3) {
    transition-delay: 200ms;
  }
}
@media screen and (min-width: 1057px) and (max-width: 9999px) {
  .stories-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .stories-grid .story-card:nth-child(4n+1) {
    transition-delay: 0ms;
  }
  .stories-grid .story-card:nth-child(4n+2) {
    transition-delay: 100ms;
  }
  .stories-grid .story-card:nth-child(4n+3) {
    transition-delay: 200ms;
  }
  .stories-grid .story-card:nth-child(4n+4) {
    transition-delay: 300ms;
  }
}
@media screen and (min-width: 1536px) {
  .stories-grid {
    grid-template-columns: repeat(5, 1fr);
  }
  .stories-grid .story-card:nth-child(5n+1) {
    transition-delay: 0ms;
  }
  .stories-grid .story-card:nth-child(5n+2) {
    transition-delay: 100ms;
  }
  .stories-grid .story-card:nth-child(5n+3) {
    transition-delay: 200ms;
  }
  .stories-grid .story-card:nth-child(5n+4) {
    transition-delay: 300ms;
  }
  .stories-grid .story-card:nth-child(5n+5) {
    transition-delay: 400ms;
  }
}

.archive-nav-button {
  width: 100%;
  margin: 5rem auto;
}
.archive-nav-button a {
  position: relative;
  width: 100%;
}
.archive-nav-button a::after {
  position: absolute;
  top: 50%;
  right: 0.625rem;
  translate: 0 -50%;
  display: block;
  content: attr(data-post-count);
  display: flex;
  background-color: rgb(var(--ui-neutral-100));
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  justify-content: center;
  font-size: 0.75rem;
  border-radius: 1000px;
  text-align: center;
  font-weight: 500;
}
.archive-nav-button a:hover {
  background-color: rgb(var(--ui-neutral-100));
}
.archive-nav-button a:active {
  background-color: rgb(var(--ui-neutral-200));
  border-color: rgb(var(--ui-neutral-600));
}
@media screen and (min-width: 768px) {
  .archive-nav-button {
    max-width: 75%;
  }
}
@media screen and (min-width: 1280px) {
  .archive-nav-button {
    max-width: 50%;
  }
}

.archive .breadcrumbs {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.archive-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 4rem;
  margin-bottom: 0.5rem;
}

.archive-title {
  font-size: 1rem;
}

.pagination {
  max-width: 47.5rem;
  padding: 1.375rem;
  margin: 4rem auto;
  border: 1px solid var(--ui-border-color);
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 1rem;
}
.pagination .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  text-align: center;
  opacity: 0.5;
  transition-property: background-color, color;
  transition-duration: 150ms;
  transition-timing-function: var(--ease-out-quart);
  border-radius: 9999px;
}
.pagination .page-numbers.current {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  opacity: 1;
}
.pagination .page-numbers.prev.is-disabled, .pagination .page-numbers.next.is-disabled {
  opacity: 0.25;
}
.pagination a.page-numbers:hover {
  opacity: 1;
  background-color: rgb(var(--ui-neutral-100));
}
.pagination a.page-numbers:active {
  background-color: rgb(var(--ui-neutral-200));
}
@media screen and (max-width: 767px) {
  .pagination {
    padding: 0.5rem;
  }
}

.page-numbers-list {
  display: flex;
  gap: 0.5rem;
}

.archive-total-post-count {
  translate: 0 2px;
}

.no-posts-message {
  padding: 2rem;
  text-align: center;
  border-radius: 0.5rem;
  background-color: rgb(var(--ui-neutral-100));
  color: rgb(var(--ui-neutral-600));
}

@media screen and (max-width: 767px) {
  .single .scroller {
    display: none;
  }
}

.single-post-hero {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 1.25rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.single-post-hero__meta {
  max-width: 32.5rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}
.single-post-hero .single-post-title {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
  display: flex;
  justify-content: center;
  width: 100%;
}
.single-post-hero .single-post-title .mobile-only {
  flex: 0 0 100%;
}
@media screen and (min-width: 1057px) {
  .single-post-hero .single-post-title {
    font-size: 2.25rem;
    font-weight: 700;
  }
}
@media screen and (min-width: 1280px) {
  .single-post-hero .single-post-title {
    font-size: 2.625rem;
  }
}
.single-post-hero .scroller a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.5rem;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
}
.single-post-hero .scroller a svg {
  translate: 0 0;
  transition: translate 150ms ease;
}
.single-post-hero .scroller a:hover svg {
  translate: 0 0.25rem;
}
.single-post-hero__info {
  width: 100%;
}
.single-post-hero__info:only-child {
  grid-column: 1/-1;
}
@media screen and (max-width: 767px) {
  .single-post-hero__media {
    max-width: 50rem;
  }
  .single-post-hero__info {
    max-width: 50rem;
  }
  .single-post-hero__meta {
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .single-post-hero {
    grid-template-columns: 3fr 5fr;
  }
  .single-post-hero__info {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 1280px) {
  .single-post-hero {
    grid-template-columns: 5fr 7fr;
  }
  .single-post-hero__media {
    padding-left: 3.5rem;
  }
  .single-post-hero__info {
    padding-left: 2rem;
    padding-right: 3.5rem;
  }
  .single-post-hero__meta {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}

.single-post-main {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4rem;
}

.author-block {
  padding: 1.5rem 1.5rem 2rem;
  background-size: 4px 4px;
  background-repeat: repeat;
  background-position: center left;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4' fill='%23F3F4F6'%3E%3Crect width='1' height='4'/%3E%3C/svg%3E");
}
.author-block__heading {
  margin-bottom: 1.25rem;
  font-weight: 600;
  color: rgb(var(--ui-neutral-600));
}
.author-block__content {
  display: grid;
  gap: 1.5rem;
  align-items: center;
  grid-template-columns: 5rem auto 1fr;
  grid-template-rows: minmax(0, 1fr);
  grid-template-areas: "avatar titles profile";
}
.author-block__author-avatar {
  width: 5rem;
  height: 5rem;
  flex: 0 0 80px;
  border-radius: 9000px;
  background-color: rgb(var(--ui-white));
  overflow: hidden;
  isolation: isolate;
  grid-area: avatar;
}
.author-block__author-titles {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  grid-area: titles;
}
.author-block__author-titles .author-name {
  font-size: 1.125rem;
  white-space: nowrap;
}
.author-block__author-titles .author-title {
  font-size: 0.8125rem;
  white-space: nowrap;
  color: rgb(var(--ui-neutral-600));
}
.author-block__author-profile {
  font-size: 0.875rem;
  line-height: 1.6;
  color: rgb(var(--ui-neutral-700));
  grid-area: profile;
}
@media screen and (max-width: 1056px) {
  .author-block__content {
    grid-template-columns: 5rem auto;
    grid-template-rows: repeat(2, auto);
    grid-template-areas: "avatar titles" "profile profile";
  }
  .author-block__author-titles {
    gap: 0.25rem;
    padding-bottom: 0.25rem;
  }
}

.ez-toc-debug-messages {
  display: none !important;
}

div#ez-toc-container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
  padding: 0;
  border: 1px solid var(--ui-border-color);
  transition: border-color 150ms var(--ease-out-quart);
  font-size: 0.875rem;
}
div#ez-toc-container .ez-toc-title {
  display: block;
  flex: 0 0 100%;
  padding: 1.25rem 1.5rem;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1rem;
}
div#ez-toc-container label {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: var(--accordion-toggle-height);
  display: flex;
  max-width: 100%;
  justify-content: flex-end;
  padding: var(--accordion-toggle-offset);
  cursor: pointer;
}
div#ez-toc-container label .ez-toc-cssicon {
  position: static;
  width: var(--accordion-toggle-size);
  height: var(--accordion-toggle-size);
  border-radius: 0;
  padding: 0.875rem;
  background-image: var(--icon-add);
  background-size: 1rem;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 9999px;
  transition: background-color 150ms var(--ease-out-cubic);
}
div#ez-toc-container label .ez-toc-cssicon .ez-toc-icon-toggle-span {
  width: 1rem;
  height: 1rem;
}
div#ez-toc-container label .ez-toc-cssicon .ez-toc-icon-toggle-span svg {
  display: none;
}
div#ez-toc-container input[type=checkbox] {
  display: none;
}
div#ez-toc-container nav {
  display: block !important;
  height: 0;
  flex: 0 0 100%;
  overflow: hidden;
  opacity: 1 !important;
  max-height: 100% !important;
  transition: height 150ms var(--ease-out-cubic);
}
div#ez-toc-container nav > ul {
  padding-top: 0.25rem;
  padding-left: calc(1em + 2rem);
  padding-right: 1.5rem;
  padding-bottom: 1.5rem;
}
div#ez-toc-container nav ul {
  list-style: disc;
}
div#ez-toc-container nav ul li {
  margin-bottom: 0.5rem;
}
div#ez-toc-container nav ul li:last-child {
  margin-bottom: 0;
}
div#ez-toc-container nav ul ul {
  padding-top: 0.5rem;
  padding-left: 1.125em;
}
div#ez-toc-container nav ul a {
  color: currentColor;
}
div#ez-toc-container nav ul a:hover {
  text-decoration: underline;
}
div#ez-toc-container [aria-expanded=true] .ez-toc-cssicon {
  background-image: var(--icon-remove);
}
div#ez-toc-container [aria-expanded=true] ~ nav {
  height: var(--scroll-height, auto);
}

.single-post-series {
  margin: 2rem auto;
  max-width: 40rem;
}

.story-series {
  position: relative;
  border: 1px solid var(--ui-border-color);
  transition: border-color 150ms var(--ease-out-quart);
  font-size: 0.875rem;
}
.story-series-title {
  display: block;
  flex: 0 0 100%;
  padding-right: 2.75rem;
  padding: 1.25rem 1.5rem;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1rem;
}

.story-series label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: flex-end;
  padding: var(--accordion-toggle-offset);
  width: 100%;
  height: var(--accordion-toggle-height);
  cursor: pointer;
}
.story-series label::after {
  content: "";
  display: inline-block;
  width: var(--accordion-toggle-size);
  height: var(--accordion-toggle-size);
  background-image: var(--icon-add);
  background-size: 1rem;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-color 150ms var(--ease-out-cubic);
  border-radius: 9999px;
}
.story-series nav {
  display: block;
  height: 0;
  overflow: hidden;
  transition: height 150ms var(--ease-out-cubic);
}
.story-series nav > ul {
  padding-top: 0.25rem;
  padding-right: 2rem;
  padding-left: calc(1em + 2rem);
  padding-bottom: 1.5rem;
}
.story-series nav ul {
  list-style: disc;
}
.story-series nav ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.story-series nav ul a {
  color: currentColor;
}
.story-series nav ul a:hover {
  text-decoration: underline;
}
.story-series [aria-expanded=true] ~ nav {
  height: var(--scroll-height, auto);
}
.story-series [aria-expanded=true]::after {
  background-image: var(--icon-remove);
}

.related-posts {
  margin-top: 6.25rem;
  margin-bottom: 5rem;
}

.mobile-toc {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgb(var(--ui-white));
  z-index: calc(var(--z-header) - 100);
  translate: 0 -100%;
  transition-property: translate, opacity;
  margin: 0;
  display: none !important;
}
.mobile-toc nav {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 150ms var(--ease-out-quart);
  font-size: 0.875rem;
  border-bottom: 1px solid rgb(var(--ui-gray-200));
  margin-top: -1px;
}
.mobile-toc nav > ul {
  padding: 1rem 1.5rem;
}
@media screen and (min-width: 1057px) {
  .mobile-toc nav > ul {
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.5em;
  }
}
.mobile-toc nav ul {
  list-style: disc;
  list-style-position: inside;
}
.mobile-toc nav ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.mobile-toc nav ul a {
  color: currentColor;
}
.mobile-toc nav ul a:hover {
  text-decoration: underline;
}
.mobile-toc nav ul a.is-current {
  font-weight: 700;
}
.mobile-toc [aria-expanded=true] + nav {
  height: var(--scroll-height, 0);
}
.mobile-toc [aria-expanded=true] .mobile-toc-toggle-icon {
  rotate: 180deg;
  opacity: 1;
}
.mobile-toc-inner {
  position: relative;
}
.mobile-toc-inner::before {
  content: "";
  display: block;
  height: 2.75rem;
  width: var(--reading-progress, 0%);
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgb(var(--ui-neutral-200));
}

.mobile-toc-label {
  position: relative;
  height: 2.75rem;
  padding: 0.625rem 1.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.9375rem;
  font-weight: 500;
  border-bottom: 1px solid rgb(var(--ui-gray-200));
  cursor: pointer;
}
@media screen and (min-width: 1057px) {
  .mobile-toc-label {
    padding: 0 1.5rem;
  }
  .mobile-toc-label span {
    display: block;
    height: 100%;
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .mobile-toc-label .mobile-toc-toggle-icon {
    right: calc((100vw - 800px) / 2 + 16px);
  }
}

.mobile-toc-toggle-icon {
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  transition: rotate 150ms var(--ease-out-quart), opacity 150ms var(--ease-out-quart);
  opacity: 0.5;
}

.post-edit {
  position: relative;
  margin: 2rem auto;
  padding: 1.5rem 2rem 2rem;
  background-color: rgba(var(--ui-gray-100));
  color: rgba(var(--ui-gray-800));
  border-radius: 0.375rem;
}

.post-edit-who {
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 600;
}

.post-edit-button-wrapper {
  display: flex;
  justify-content: center;
}

.post-edit-button {
  --button-bg-color: #ffffff;
  --button-bg-color-hover: #f9fafb;
  --button-border-color: rgb(209, 213, 219);
  --button-text-color: #111827;
  --button-outline-color-focus: var(rgba(0, 0, 0, 0.1));
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--button-bg-color);
  border: 1px solid var(--button-border-color);
  border-radius: 0.5rem;
  color: var(--button-text-color);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  padding: 0.75rem 1rem;
  text-align: center;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  cursor: pointer;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}
.post-edit-button:hover {
  background-color: var(--button-bg-color-hover);
}
.post-edit-button:focus {
  outline: 2px solid var(--button-outline-color-focus);
  outline-offset: 2px;
}
.post-edit-button:focus-visible {
  box-shadow: none;
}

.la-brand-topbar,
.global-header {
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.sticky-header--unpinned:not(.side-menu-is-open) .mobile-toc {
  translate: 0 0%;
}
.sticky-header--unpinned:not(.side-menu-is-open) .global-header {
  translate: 0 -100px;
}
.sticky-header--unpinned:not(.side-menu-is-open) .la-brand-topbar {
  translate: 0 -100px;
}

.single-post-author {
  margin-top: 5rem;
}

.error404 .site-main-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.error404-container {
  display: grid;
  grid-template-rows: repeat(2, auto);
  row-gap: 5rem;
}

.error404-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-template-areas: center;
  place-items: center;
}

.error404-num {
  grid-area: center;
}

.error404-heading {
  grid-area: center;
}

.error404-main {
  position: relative;
}

.error404-nav {
  display: flex;
  justify-content: center;
}

.error404-title {
  font-family: var(--font-narrow);
  text-transform: uppercase;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .error404-title {
    font-size: 1.5rem;
  }
}

.error404-caption {
  text-align: center;
}

.password-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4rem 1.5rem;
  background-color: rgb(var(--ui-neutral-100));
  min-height: inherit;
}

.password-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.password-form-label {
  width: 100%;
  font-weight: 400;
  font-size: 0.8125rem;
}

.password-form-input {
  width: 100%;
  height: 2.75rem;
  border-radius: 0.125rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  text-align: center;
  font-size: 1rem;
}

.password-form-submit {
  height: 2.75rem;
}

.password-page-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.password-page-symbol {
  width: 2.75rem;
  height: 2.75rem;
}

.password-page-heading {
  text-align: center;
}

.password-page-title {
  font-family: var(--font-narrow);
  text-transform: uppercase;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .password-page-title {
    font-size: 1.5rem;
  }
}