/* //////////////////////////////////////////////////////////////////////////

   Reiro 1.2.1

   //////////////////////////////////////////////////////////////////////////
    
   I. Customize
   |
   ├─ Global settings
   ├─ Fonts
   ├─ Colors
   ├─ Light version
   ├─ Sepia version
   ├─ Dark version
   ├─ Secondary logo
   └─ Hiding 'Portal' notifications

   II. 3rd party scripts
   |
   ├─ Normalize.css
   └─ lightense-images.js, progress bar

   III. Theme
   |
   ├─ 1.Global
   ├─ 2.Header
   ├─ 3.Hero
   ├─ 4.Widgets
   ├─ 5.Featured
   ├─ 6.Loop
   ├─ 7.Special
   ├─ 8.Subscribe form
   ├─ 9.Pagination
   ├─ 10.Search function
   ├─ 11.Post — Header
   ├─ 12.Post — Content
   ├─ 13.Post — Sidebar
   ├─ 14.Post — Share
   ├─ 15.Post — Navigation
   ├─ 16.Post — Comments
   ├─ 17.Author & Tag page
   ├─ 18.Footer
   ├─ 19.Custom — Pages
   ├─ 20.Custom — Error page
   ├─ 21.Custom — Membership page
   ├─ 22.Custom — Account page
   └─ 23.Custom — Authors & Tags page
   
   //////////////////////////////////////////////////////////////////////////

   I. Customize

   ////////////////////////////////////////////////////////////////////////// */

:root {
   /* === Brand tokens (PLANNA-BRAND-GUIDELINES.md + PLANNA-CLASSIC-WEB-GUIDELINES.md) === */

   /* Ink */
   --ink: #1E2B3A;
   --ink-soft: #4A576A;
   --ink-muted: #8894A6;

   /* Warm neutrals */
   --warm-white: #FEFCF9;
   --surface: #FFFFFF;

   /* Teal */
   --teal: #3AABB0;
   --teal-deep: #2B8F93;
   --teal-light: #5DC1C5;

   /* Coral */
   --coral: #E8836B;
   --coral-deep: #D06A52;
   --coral-soft: #F4B8A6;

   /* Soft tints */
   --soft-teal: #E6F5F5;
   --soft-warm: #FFF0EA;
   --soft-teal-2: #D6EEEE;

   /* Lines */
   --border-color: rgba(30, 43, 58, 0.06);
   --border-strong: rgba(30, 43, 58, 0.10);

   /* Headline gradient (web only) */
   --grad: linear-gradient(135deg, #3AABB0, #5DC1C5, #E8836B);

   /* Type */
   --font-display: "Fraunces", Georgia, "Times New Roman", serif;
   --font-ui: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;

   /* Radii */
   --r-xs: 8px;
   --r-sm: 10px;
   --r-md: 18px;
   --r-lg: 22px;
   --r-xl: 28px;
   --r-2xl: 36px;
   --r-pill: 999px;

   /* Spacing — 8-pt grid */
   --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
   --s-5: 20px; --s-6: 24px; --s-7: 32px; --s-8: 40px;
   --s-9: 56px; --s-10: 72px; --s-11: 96px; --s-12: 128px;

   /* Shadows */
   --shadow-sm: 0 2px 12px rgba(30, 43, 58, 0.06);
   --shadow-md: 0 6px 20px rgba(30, 43, 58, 0.10);
   --shadow-lg: 0 20px 48px rgba(30, 43, 58, 0.14);

   /* === Reiro legacy aliases (forward to brand tokens) === */

   /* Logo & layout */
   --height-logo-header: 32px;
   --height-logo-footer: 36px;
   --height-logo-mobile-header: 28px;
   --height-logo-mobile-footer: 32px;
   --max-width-global-wrap: 1200px;
   --max-width-content-wrap: 1060px;
   --max-width-post-wrap-one: 720px;
   --max-width-post-wrap-two: 600px;
   --grid-gap: 24px;
   --border-radius: var(--r-md);
   --margin-wrap-left-right: 24px;
   --border: 1px solid;

   /* Fonts (alias to brand) */
   --font-family-system: var(--font-ui);
   --font-family-one: var(--font-display);
   --font-weight-one-light: 400;
   --font-weight-one-bold: 500;
   --font-family-two: var(--font-ui);
   --font-weight-two-bold: 700;
   --font-family-three: var(--font-ui);
   --font-weight-three-regular: 400;
   --font-weight-three-medium: 500;
   --font-weight-three-bold: 700;

   /* Ghost members/portal */
   --ghost-accent-color: var(--teal-deep);

   /* Reiro colour aliases */
   --color-font-one: var(--ink);
   --color-font-two: var(--warm-white);
   --color-font-black: var(--ink);
   --color-font-white: var(--warm-white);
   --color-one: var(--soft-teal);
   --color-two: var(--soft-warm);
   --color-three: var(--ink);
   --color-four: var(--surface);
   --color-five: var(--warm-white);
   --color-six: var(--surface);
   --color-seven: var(--surface);
   --color-white: var(--surface);
   --color-black: var(--ink);
   --color-body: var(--warm-white);
   --color-border-one: var(--border-color);
   --color-border-two: var(--border-strong);
   --color-alert-success: #2B8F93;
   --color-alert-error: #D06A52;

   /* Reiro opacity aliases */
   --opacity-one: .85;
   --opacity-two: .7;
   --opacity-three: rgba(30, 43, 58, .08);
   --opacity-four: rgba(30, 43, 58, .10);
   --opacity-cover: .15;
   --opacity-cover-custom: .12;
   --opacity-search: rgba(30, 43, 58, .45);
}

/* Hiding Ghost 'Portal' iframe notifications */
iframe[title="portal-notification"] {
   display: none;
}

/* //////////////////////////////////////////////////////////////////////////

   II. 3rd party scripts

   ////////////////////////////////////////////////////////////////////////// */

/* Normalize.css
   –––––––––––––––––––––––––––––––––––––––––––––––––––– 
   Version : 8.0.1
   Website : necolas.github.io/normalize.css
   Repo    : github.com/necolas/normalize.css
   Author  : Nicolas Gallagher
   License : MIT
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
   line-height: 1.15;
   -webkit-text-size-adjust: 100%
}

body {
   margin: 0
}

main {
   display: block
}

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

hr {
   overflow: visible;
   box-sizing: content-box;
   height: 0
}

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

a {
   background-color: transparent
}

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

b,
strong {
   font-weight: bolder
}

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

small {
   font-size: 80%
}

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

sub {
   bottom: -.25em
}

sup {
   top: -.5em
}

img {
   border-style: none
}

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

button,
input {
   overflow: visible
}

button,
select {
   text-transform: none
}

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

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

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

fieldset {
   padding: .35em .75em .625em
}

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

progress {
   vertical-align: baseline
}

textarea {
   overflow: auto
}

[type='checkbox'],
[type='radio'] {
   box-sizing: border-box;
   padding: 0
}

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

[type='search'] {
   outline-offset: -2px;
   -webkit-appearance: textfield
}

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

::-webkit-file-upload-button {
   font: inherit;
   -webkit-appearance: button
}

details {
   display: block
}

summary {
   display: list-item
}

template {
   display: none
}

[hidden] {
   display: none
}

/* Custom settings for lightense-images.js, progress bar
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.lightense-backdrop {
   z-index: 99998 !important;
   background-color: var(--color-body) !important;
   -webkit-backdrop-filter: initial !important;
   backdrop-filter: initial !important
}

.lightense-wrap~br,
.lightense-wrap~small {
   display: none
}

.lightense-wrap img {
   border-radius: 0 !important
}

.post-progress {
   position: fixed;
   z-index: 90;
   top: 0;
   right: 0;
   left: 0;
   width: 100%;
   height: 8px;
   transition: opacity .15s ease-out .3s;
   border: none;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none
}

.post-progress:not([value]) {
   display: none
}

.post-progress,
.post-progress[value]::-webkit-progress-bar {
   background-color: transparent
}

.post-progress[value]::-webkit-progress-value {
   background-color: var(--ghost-accent-color)
}

.post-progress[value]::-moz-progress-bar {
   background-color: var(--ghost-accent-color)
}

.post-progress[value='1'] {
   opacity: 0
}

/* //////////////////////////////////////////////////////////////////////////

   III. Theme
   
   ////////////////////////////////////////////////////////////////////////// */

/* --------------------------------------------------------------------------
   1.Global
   -------------------------------------------------------------------------- */
html {
   font-size: 62.5%;
}

html,
body {
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   -webkit-tap-highlight-color: transparent;
}

body {
   font-family: var(--font-family-three);
   font-size: 2rem;
   font-weight: var(--font-weight-three-regular);
   line-height: 1.5;
   word-wrap: break-word;
   word-break: break-word;
   color: var(--color-font-one);
   background-color: var(--color-body);
}

/* Typography
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
blockquote {
   line-height: 1.3;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: var(--font-family-one);
   font-weight: var(--font-weight-one-bold);
   width: 100%;
}

/* Links
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
   text-decoration: none;
   color: var(--color-font-one);
}

/* Input & textarea
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
input,
input:focus,
textarea {
   color: var(--color-font-one);
}

input,
textarea {
   font-family: var(--font-family-three);
   border: none;
   border-radius: 0;
   outline: none;
   background-color: transparent;
   box-shadow: none;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
   opacity: var(--opacity-two);
   color: var(--color-font-one);
}

input::placeholder,
textarea::placeholder {
   opacity: var(--opacity-two);
   color: var(--color-font-one);
}

/* Dynamic color
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
body:not(.is-white-text) .global-button:not(.no-color),
body:not(.is-white-text) .global-dynamic-color,
body:not(.is-white-text) .global-dynamic-color a,
body:not(.is-white-text) .global-button.is-cta:hover {
   color: var(--color-font-black)
}

body:not(.is-white-text) .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-button {
   color: var(--color-font-white);
   background-color: var(--color-black)
}

body:not(.is-white-text) .global-dynamic-color svg,
body:not(.is-white-text) .kg-audio-thumbnail.placeholder svg {
   fill: var(--color-font-black)
}

body:not(.is-white-text) .kg-button-card a,
body:not(.is-white-text) .kg-product-card-button,
body:not(.is-white-text) .kg-style-light .kg-header-card-button,
body:not(.is-white-text) .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-header,
body:not(.is-white-text) .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-subheader {
   color: var(--color-font-black) !important
}

/* Contrast script - is white */
body.is-white-text .global-button:not(.no-color),
body.is-white-text .global-dynamic-color,
body.is-white-text .global-dynamic-color a,
body.is-white-text .global-button.is-cta:hover {
   color: var(--color-font-white)
}

body.is-white-text .global-dynamic-color svg {
   fill: var(--color-font-white)
}

body.is-white-text .featured-section.is-accent .item::before {
   background-color: var(--opacity-four)
}

@media (max-width:480px) {
   body.is-white-text .featured-section.is-accent .featured-content {
      background-color: var(--opacity-four)
   }
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-logo.is-header {
   line-height: 0;
}

.global-logo img {
   width: auto;
   aspect-ratio: attr(width)/attr(height);
}

.global-logo.is-header img {
   height: var(--height-logo-header);
}

.global-logo.is-footer img {
   height: var(--height-logo-footer);
}

.global-logo .is-title {
   font-family: var(--font-family-one);
   font-weight: var(--font-weight-one-bold);
   line-height: 1.2;
   display: inline-block;
   max-width: 300px;
}

.global-logo .is-title {
   font-size: 3rem;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-image {
   display: block;
}

.global-image img {
   width: 100%;
   height: 100%;
   -o-object-fit: cover;
   object-fit: cover;
}

.global-bg-image {
   background: no-repeat center center/cover;
}

/* Image orientation */
.global-image-orientation {
   line-height: 0;
   position: relative;
   width: 100%;
   margin: 0;
   transition: transform .3s ease;
   aspect-ratio: 4/2.8;
}

.global-image-orientation>img {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.global-image-orientation.is-portrait {
   aspect-ratio: 1/1.2;
}

.global-image-orientation.is-panoramic {
   aspect-ratio: 4/2.3;
}

.global-image-orientation.is-square {
   aspect-ratio: 1/1;
}

.global-image-orientation.is-natural {
   padding-bottom: 0;
   aspect-ratio: initial;
}

.global-image-orientation.is-natural>img {
   position: relative;
}

@supports not (aspect-ratio:1/1) {
   .global-image-orientation {
      padding-bottom: 70%;
   }

   .global-image-orientation.is-panoramic {
      padding-bottom: 57.5%;
   }

   .global-image-orientation.is-square {
      padding-bottom: 100%;
   }

   .global-image-orientation.is-portrait {
      padding-bottom: 120%;
   }

}

/* Cover
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-cover {
   position: absolute;
   z-index: -1;
   top: 0;
   right: 0;
   left: 0;
   height: 45vh;
   background: no-repeat center center/cover;
}

.global-cover:not(.is-membership) {
   opacity: var(--opacity-cover);
   -webkit-mask-image: linear-gradient(to top, transparent, rgba(0, 0, 0, .013)8.1%, rgba(0, 0, 0, .049)15.5%, rgba(0, 0, 0, .104)22.5%, rgba(0, 0, 0, .175)29%, rgba(0, 0, 0, .259)35.3%, rgba(0, 0, 0, .352)41.2%, rgba(0, 0, 0, .45)47.1%, rgba(0, 0, 0, .55)52.9%, rgba(0, 0, 0, .648)58.8%, rgba(0, 0, 0, .741)64.7%, rgba(0, 0, 0, .825)71%, rgba(0, 0, 0, .896)77.5%, rgba(0, 0, 0, .951)84.5%, rgba(0, 0, 0, .987)91.9%, black);
   mask-image: linear-gradient(to top, transparent, rgba(0, 0, 0, .013)8.1%, rgba(0, 0, 0, .049)15.5%, rgba(0, 0, 0, .104)22.5%, rgba(0, 0, 0, .175)29%, rgba(0, 0, 0, .259)35.3%, rgba(0, 0, 0, .352)41.2%, rgba(0, 0, 0, .45)47.1%, rgba(0, 0, 0, .55)52.9%, rgba(0, 0, 0, .648)58.8%, rgba(0, 0, 0, .741)64.7%, rgba(0, 0, 0, .825)71%, rgba(0, 0, 0, .896)77.5%, rgba(0, 0, 0, .951)84.5%, rgba(0, 0, 0, .987)91.9%, black);
}

.global-cover.is-membership {
   height: 100%;
}

.global-cover.is-featured {
   height: 44%;
   max-height: 800px;
   opacity: var(--opacity-cover-custom);
}

/* Border radius
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-radius {
   overflow: hidden;
}

.global-radius,
.global-radius>img {
   border-radius: var(--border-radius);
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-title {
   font-size: 5.6rem;
   line-height: 1.2;
   margin: 0;
}

/* Subtitle
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-subtitle {
   font-size: 1.2rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1.1;
   display: block;
   margin: 0 0 1em;
   letter-spacing: 1px;
   text-transform: uppercase;
}

/* Link overlay
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-link {
   position: absolute;
   z-index: 1;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

/* Button
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-button,
.global-button.is-cta {
   font-family: var(--font-family-three);
   font-size: 1.8rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1.3;
   position: relative;
   z-index: 1;
   display: inline-block;
   box-sizing: border-box;
   padding: .8em 1.8em;
   cursor: pointer;
   text-align: center;
   text-decoration: none;
   color: var(--color-font-white);
   border: none;
   outline: none;
   background-color: transparent;
}

.global-button.is-cta:hover {
   color: var(--color-font-white);
}

.global-button,
.global-button.is-cta,
.global-button::before,
.global-button.is-cta::before {
   border-radius: 100px;
}

.global-button::before,
.global-button.is-cta::before {
   position: absolute;
   z-index: -1;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   content: '';
   transition: all .2s ease;
   background-color: var(--ghost-accent-color);
}

.global-button:hover::before,
.global-button.is-cta:hover::before {
   right: -5px;
   left: -5px;
}

/* Excerpt
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-excerpt {
   font-size: 2.4rem;
   display: block;
   max-width: 700px;
   margin: 2vh 0 0;
   opacity: var(--opacity-one);
}

/* Tags & Visibility label
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-tags {
   line-height: 0;
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
}

.global-tags small:last-child,
.global-tags a:last-child {
   margin-bottom: 1.3vh;
}

.global-tags:empty {
   display: none;
}

.global-tags small {
   background-color: var(--ghost-accent-color);
}

.global-tags a {
   transition: background-color .2s ease;
   background-color: var(--color-one);
}

.global-tags small,
.global-tags a {
   font-size: 1.2rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1.2;
   display: inline-block;
   margin-right: 6px;
   margin-bottom: 6px;
   padding: 6px 12px;
   border-radius: 100px;
}

.global-tags a:hover {
   background-color: var(--color-two);
}

/* Meta
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-meta {
   font-size: 1.4rem;
   line-height: 1.4;
   margin-top: 1em;
}

.global-meta-content {
   opacity: var(--opacity-one);
}

.global-meta.is-full-meta {
   display: flex;
   flex-wrap: wrap;
   margin-top: 2.5vh;
}

.global-meta.is-full-meta.is-post {
   margin-top: 0;
}

.global-meta>div {
   align-self: center;
}

.global-meta time {
   display: block;
}

.global-meta a:hover {
   text-decoration: underline;
}

.global-meta-wrap {
   line-height: 0;
   flex: 0 0 auto;
}

.global-meta-avatar {
   position: relative;
   display: inline-block;
   overflow: hidden;
   width: 46px;
   height: 46px;
   margin-right: -14px;
   transition-timing-function: ease;
   transition-duration: .2s;
   transition-property: transform, background-color;
   background-color: var(--color-body);
   will-change: transform;
}

.global-meta-avatar:last-of-type {
   margin-right: 12px;
}

.global-meta-avatar:hover {
   transform: translateY(-2px);
}

.global-meta-avatar:not(.is-image) {
   z-index: -1;
   background-color: var(--color-one);
}

.global-meta-avatar:nth-child(1) {
   z-index: 5
}

.global-meta-avatar:nth-child(2) {
   z-index: 4
}

.global-meta-avatar:nth-child(3) {
   z-index: 3
}

.global-meta-avatar:nth-child(4) {
   z-index: 2
}

.global-meta-avatar:nth-child(5) {
   z-index: 1
}

.global-meta-avatar,
.global-meta-avatar.is-image {
   border-radius: 100px;
}

.global-meta-avatar img {
   width: 101%;
   height: 101%;
}

.global-meta-avatar span {
   font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   font-size: 1.4rem;
   font-weight: normal;
   line-height: 14px;
   position: absolute;
   top: 50%;
   left: 50%;
   display: block;
   overflow: hidden;
   width: calc(1ch + 4px);
   transform: translate(-50%, -50%);
   text-align: center;
   white-space: nowrap;
   text-indent: 2px;
   letter-spacing: 4px;
   text-transform: uppercase;
   color: var(--color-font-one);
}

/* Alerts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-alert {
   font-size: 1.3rem;
   line-height: 1.4;
   display: none;
   max-width: 420px;
   opacity: var(--opacity-one);
}

/* Questions
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-question {
   font-size: 1.4rem;
   display: block;
   margin-top: 5vh;
}

.global-question span {
   opacity: var(--opacity-two);
}

.global-question a,
.global-question.is-cta a {
   font-weight: var(--font-weight-three-medium);
   text-decoration: none;
}

.global-question a:hover,
.global-question.is-cta a:hover {
   color: var(--color-font-one);
   text-decoration: underline;
}

/* Notifications
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-notification div {
   font-size: 1.5rem;
   font-weight: var(--font-weight-three-medium);
   position: fixed;
   z-index: 100;
   top: 1.4vh;
   right: 10px;
   left: 10px;
   display: none;
   visibility: hidden;
   max-width: 600px;
   margin: 0 auto;
   padding: 20px;
   transform: translateY(-150%);
   -webkit-animation: slideDownNotification 5s cubic-bezier(.19, 1, .22, 1) forwards;
   animation: slideDownNotification 5s cubic-bezier(.19, 1, .22, 1) forwards;
   text-align: center;
   color: var(--color-font-black);
   border-radius: 5px;
   background-color: var(--color-alert-success);
}

.global-notification .expired {
   background-color: var(--color-alert-error);
}

.global-notification.is-subscribe .subscribe,
.global-notification.is-signin .signin,
.global-notification.is-signup .signup,
.global-notification.is-update-email .update-email,
.global-notification.is-expired .expired,
.global-notification.is-checkout-success .checkout-success {
   display: block;
}

@-webkit-keyframes slideDownNotification {
   15% {
      transform: translateY(0)
   }

   85% {
      transform: translateY(0)
   }

   100% {
      visibility: visible
   }
}

@keyframes slideDownNotification {
   15% {
      transform: translateY(0)
   }

   85% {
      transform: translateY(0)
   }

   100% {
      visibility: visible
   }
}

/* Padding
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-padding {
   max-width: var(--max-width-global-wrap);
   margin-right: auto;
   margin-left: auto;
   padding-right: var(--margin-wrap-left-right);
   padding-left: var(--margin-wrap-left-right);
}

/* Wrap & Sticky Footer
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-wrap,
.global-content {
   min-height: 100vh;
}

.global-content {
   display: flex;
   flex-direction: column;
   margin: 0 auto;
}

.global-main {
   flex: 1 0 auto;
   width: 100%;
   margin: 0 auto;
}

.global-footer {
   flex-shrink: 0;
}

/* RWD — Global settings
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1280px) {
   .global-title {
      font-size: 5.2rem;
   }

}

@media (max-width:1024px) {
   .global-excerpt {
      font-size: 2.2rem;
   }

   .global-title {
      font-size: 4.4rem;
   }

   .global-meta {
      margin-top: 8px;
   }

   .global-button,
   .global-button.is-cta {
      font-size: 1.6rem;
   }

}

@media (max-width:768px) {
   .global-excerpt {
      font-size: 2rem;
   }

   .global-radius,
   .global-radius>img {
      border-radius: calc(var(--border-radius) / 1.5);
   }

   .global-meta-avatar {
      width: 40px;
      height: 40px;
   }

   .global-meta-avatar span {
      font-size: 1.2rem;
      line-height: 12px;
   }

}

@media (max-width:480px) {
   .global-logo.is-header {
      overflow: hidden;
      margin-top: 10px;
      margin-bottom: 10px;
   }

   .global-logo .is-title {
      font-size: 2.8rem;
   }

   .global-logo.is-header img {
      height: var(--height-logo-mobile-header);
   }

   .global-logo.is-footer img {
      height: var(--height-logo-mobile-footer);
   }

   .global-cover {
      height: 200px;
   }

   .global-cover.is-featured {
      height: 100px;
   }

   .global-title {
      font-size: 3.6rem;
   }

   .global-meta {
      font-size: 1.3rem;
      margin-top: 6px;
   }

   .global-meta-avatar:last-of-type {
      margin-right: 10px;
   }

}

/* --------------------------------------------------------------------------
   2.Header
   -------------------------------------------------------------------------- */
.header-wrap {
   min-height: 60px;
   padding: .5vh 2vw 2vh;
}

.header-wrap,
.header-nav nav>ul {
   display: flex;
   align-items: center;
}

.header-wrap li,
.header-wrap a {
   font-family: var(--font-family-three);
   font-size: 1.6rem;
   font-weight: var(--font-weight-three-medium);
   display: inline-block;
}

.header-nav a:hover,
.header-nav a.is-active {
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-underline-offset: 3px;
}

.header-nav svg {
   fill: var(--color-font-one);
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-logo {
   flex: 0 0 auto;
   margin: 20px .5vw 20px 0;
}

/* Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-nav {
   position: relative;
   z-index: 2;
   flex: 0 1 100%;
}

.header-nav nav {
   display: flex;
}

.header-nav nav ul {
   margin: 0;
   padding: 0;
   list-style: none;
   word-break: normal;
}

.header-nav nav li {
   margin-left: 1.3vw;
}

.header-nav nav>ul:first-of-type {
   align-items: center;
   flex-basis: auto;
   flex-grow: 1;
   justify-content: flex-start;
}

.header-nav nav>ul:last-of-type,
.header-nav nav.is-right>ul:first-of-type {
   justify-content: flex-end;
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-nav a {
   line-height: 1.5;
   margin: 0;
}

/* Dropdown
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-nav .is-dropdown {
   position: relative;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
}

.header-nav .is-dropdown,
.header-nav .is-dropdown svg {
   cursor: pointer;
}

.header-nav .is-dropdown ul {
   position: absolute;
   z-index: 999;
   top: 35px;
   left: -18px;
   display: none;
   min-width: 120px;
   margin: 0;
   padding: 20px;
   list-style: none;
   cursor: default;
   border-radius: calc(var(--border-radius) / 1.5);
   background-color: var(--color-six);
   box-shadow: 0 8px 50px -10px rgba(0, 0, 0, .25);
}

.header-nav nav.is-right .is-dropdown ul {
   right: -19px;
   left: initial;
   text-align: right;
}

.header-nav .is-dropdown.is-active ul,
.header-nav .is-dropdown ul li {
   display: block;
}

.header-nav .is-dropdown ul li:not(:last-child) {
   padding-bottom: 8px;
}

.header-nav li.is-dropdown li {
   margin-left: 0;
}

.header-nav .is-dropdown svg {
   width: 19px;
   margin: 0 0 4px;
}

/* Login panel & Search element
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-search.is-desktop+.signin,
.header-search.is-desktop+.signup,
.header-search.is-desktop+.account {
   margin-left: .6vw;
}

.header-nav .signup a,
.header-nav .account a {
   padding: 8px 17px;
   text-decoration: none;
}

.header-nav .account a {
   color: var(--color-font-two);
}

.header-nav .account a::before {
   background-color: var(--color-three);
}

.header-search,
.header-search.is-mobile svg {
   display: block;
   cursor: pointer;
}

.header-search svg {
   width: 15px;
}

.header-search:not(.is-mobile) svg {
   margin-right: 8px;
   transform: translateY(2px);
}

.header-search.is-mobile {
   display: none;
}

.header-search.is-mobile svg {
   position: absolute;
   top: 8px;
   right: 45px;
   width: 20px;
}

/* Toogle
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-toggle,
.header-checkbox,
.header-checkbox:checked,
.header-checkbox:checked~nav {
   display: none;
}

.header-toggle,
.header-toggle>span,
.header-checkbox:checked~nav ul {
   position: relative;
}

.header-toggle .bar,
.header-checkbox:checked~nav {
   position: absolute;
}

.header-toggle {
   z-index: 99;
   overflow: visible;
   width: 29px;
   height: 29px;
   margin: 0;
   cursor: pointer;
   opacity: 1;
   border: none;
   outline: none;
   background-color: transparent;
   will-change: transform;
}

.header-toggle>span {
   top: calc(50% + 2px);
}

.header-toggle>span,
.header-toggle .bar {
   display: block;
   width: 100%;
}

.header-toggle .bar {
   height: 2px;
   content: '';
   transition: transform .3s cubic-bezier(.645, .045, .355, 1), top .3s cubic-bezier(.645, .045, .355, 1) .2s;
   background-color: var(--color-three);
}

.header-toggle .bar:nth-child(1) {
   top: -11px;
}

.header-toggle .bar:nth-child(3) {
   top: 11px;
}

.header-checkbox:checked~label .bar {
   transition: transform .3s cubic-bezier(.645, .045, .355, 1) .3s, top .3s cubic-bezier(.645, .045, .355, 1);
}

.header-checkbox:checked~label .bar:nth-child(1),
.header-checkbox:checked~label .bar:nth-child(3) {
   top: 0;
}

.header-checkbox:checked~label .bar:nth-child(1),
.header-checkbox:checked~label .bar:nth-child(2) {
   transform: rotate(45deg);
}

.header-checkbox:checked~label .bar:nth-child(3) {
   transform: rotate(-45deg);
}

.header-checkbox:checked~nav {
   border-radius: var(--border-radius);
   background-color: var(--color-six);
   box-shadow: 0 10px 45px -10px rgba(0, 0, 0, .4);
}

.header-checkbox:checked~nav ul {
   display: block;
   margin: 0;
   padding: 0;
   list-style: none;
}

/* RWD — Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1024px) {
   .header-wrap {
      padding-right: 3vw;
      padding-left: 3vw;
   }

   .header-logo {
      flex-basis: 80%;
   }

   .header-nav {
      flex-basis: 20%;
      text-align: right;
   }

   .header-nav a {
      line-height: 1.3;
      padding: 5px;
      word-break: break-word;
   }

   .header-nav ul>li,
   .header-search.is-mobile,
   .header-checkbox:checked~nav {
      display: block;
   }

   .header-nav nav ul,
   .header-nav .is-dropdown span,
   .header-search:not(.is-mobile) {
      display: none;
   }

   .header-nav .is-dropdown ul {
      top: 0;
      left: initial;
      min-width: initial;
      box-shadow: none;
   }

   .header-nav nav.is-right .is-dropdown ul {
      right: 0;
   }

   .header-nav .is-dropdown ul li:not(:last-child) {
      padding-bottom: 0;
   }

   .header-toggle {
      display: inline-block;
   }

   .header-checkbox:checked~nav {
      top: 43px;
      right: -16px;
      width: 170px;
      padding: 2vh 15px;
   }

   .header-checkbox:checked~nav ul {
      width: 100%;
   }

   .header-checkbox:checked~nav ul ul {
      padding-left: 0;
   }

   .header-nav .signup,
   .header-nav .account {
      margin: 0;
   }

   .header-nav .signup a,
   .header-nav .account a {
      font-size: 1.4rem;
      margin-top: 8px;
      padding: 6px 12px;
   }

}

@media (max-width:768px) {
   .header-checkbox:checked~nav {
      right: -10px;
      padding-right: 10px;
      padding-left: 10px;
   }

}

@media (max-width:480px) {

   .header-wrap li,
   .header-wrap a {
      font-size: 1.8rem;
   }

   .header-wrap {
      margin-top: 1.6vh;
      margin-bottom: 3vh;
      padding-right: var(--margin-wrap-left-right);
      padding-bottom: 0;
      padding-left: var(--margin-wrap-left-right);
   }

}

/* --------------------------------------------------------------------------
   3.Hero
   -------------------------------------------------------------------------- */
.hero-wrap {
   margin-top: 4vh;
   margin-bottom: 8vh;
}

.hero-title {
   font-weight: var(--font-weight-one-light);
   max-width: 1020px;
   margin: 0 auto;
   text-align: center;
   letter-spacing: var(--letter-spacing, normal);
}

.hero-title span,
.hero-title strong,
.hero-title b {
   font-weight: var(--font-weight-one-bold);
}

/* Search
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.hero-search {
   display: flex;
   align-items: center;
   box-sizing: border-box;
   width: 100%;
   max-width: 500px;
   margin: 5vh auto 0;
   padding: 6px 6px 6px 26px;
   cursor: pointer;
   border-radius: 100px;
   background-color: var(--color-one);
}

.hero-search span:first-of-type {
   font-size: 1.8rem;
   line-height: 1.2;
   overflow: hidden;
   flex: 1 0 50%;
   white-space: nowrap;
   text-overflow: ellipsis;
   opacity: var(--opacity-two);
}

.hero-search span:last-of-type {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 24px;
   height: 24px;
   padding: 10px;
   border-radius: 100%;
   background-color: var(--ghost-accent-color);
}

.hero-search svg {
   width: 14px;
}

/* Flat */
.hero-search.is-flat {
   transition: background-color .16s ease;
}

.hero-search.is-flat:hover {
   background-color: var(--color-two);
}

/* Linear */
.hero-search.is-linear {
   transition: border-color .16s ease;
   border: var(--border) var(--color-border-one);
   background-color: var(--color-body);
}

.hero-search.is-linear:hover {
   border-color: var(--color-border-two);
}

/* Shadow & Accent*/
.hero-search.is-shadow {
   transition: all .2s ease;
   background-color: var(--color-seven);
   box-shadow: 0 11px 50px -10px rgba(0, 0, 0, .3);
}

.hero-search.is-shadow:hover {
   transform: translateY(-2px);
   box-shadow: 0 15px 50px -10px rgba(0, 0, 0, .4);
}

/* RWD — Hero
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) and (min-width:1025px) {
   .hero-title {
      font-size: 4.6rem;
   }

}

@media (max-width:1480px) {
   .hero-wrap {
      margin-top: 3vh;
      margin-bottom: 7vh;
   }

   .hero-title {
      max-width: 850px;
   }

   .hero-search span:first-of-type {
      font-size: 1.6rem;
   }

}

@media (max-width:1280px) {
   .hero-search {
      max-width: 400px;
   }

   .hero-search span:last-of-type {
      padding: 8px;
   }

}

@media (max-width:1024px) and (min-width:769px) {
   .hero-title {
      font-size: 4rem;
   }

}

@media (max-width:1024px) {
   .hero-wrap {
      margin-top: 2vh;
   }

   .hero-title {
      max-width: 750px;
   }

   .hero-search {
      max-width: 360px;
      margin-top: 4vh;
   }

}

@media (max-width:768px) {
   .hero-title {
      font-size: 3.4rem;
      max-width: 620px;
   }

}

@media (max-width:480px) {
   .hero-wrap {
      margin-top: 1vh;
      margin-bottom: 5.5vh;
   }

   .hero-title {
      text-align: left;
   }

   .hero-search {
      max-width: 100%;
   }

}

/* --------------------------------------------------------------------------
   4.Widgets
   -------------------------------------------------------------------------- */
.widget-section {
   margin-bottom: 4.5vh;
}

.widget-wrap {
   display: grid;
   width: 100%;
   gap: calc(var(--grid-gap) / 3);
   grid-auto-columns: 1fr;
   grid-gap: calc(var(--grid-gap) / 3);
}

.widget-wrap.is-tags {
   grid-template-columns: repeat(7, 1fr);
}

.widget-wrap.is-authors {
   grid-template-columns: repeat(8, 1fr);
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.widget-wrap .item {
   position: relative;
   display: flex;
   align-items: flex-end;
   margin: 0;
   transition: transform .3s ease;
   will-change: transform;
}

.widget-wrap .item:hover {
   transform: translateY(-3px);
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.widget-image {
   position: absolute;
   z-index: -1;
   top: -1%;
   right: -1%;
   bottom: -1%;
   left: -1%;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.widget-wrap .item-title {
   font-family: var(--font-family-three);
   font-size: 1.3rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1.2;
   overflow: hidden;
   box-sizing: border-box;
   width: auto;
   max-height: 30px;
   margin: 9px;
   padding: 7px 13px;
   white-space: nowrap;
   text-overflow: ellipsis;
   border-radius: 100px;
   background-color: var(--color-body);
}

.widget-wrap.is-authors .item-title {
   width: 100%;
   text-align: center;
}

/* RWD — Widgets
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1280px) {
   .widget-wrap.is-tags {
      grid-template-columns: repeat(6, 1fr);
   }

   .widget-wrap.is-authors {
      grid-template-columns: repeat(7, 1fr);
   }

   .widget-wrap.is-tags .item:nth-child(7),
   .widget-wrap.is-authors .item:nth-child(8) {
      display: none;
   }

}

@media (max-width:1024px) {
   .widget-wrap {
      gap: calc(var(--grid-gap) / 2);
      grid-gap: calc(var(--grid-gap) / 2);
   }

   .widget-wrap.is-authors {
      grid-template-columns: repeat(6, 1fr);
   }

   .widget-wrap.is-authors .item:nth-child(7) {
      display: none;
   }

}

@media (max-width:768px) {
   .widget-wrap.is-tags {
      grid-template-columns: repeat(4, 1fr);
   }

   .widget-wrap.is-tags .item:nth-child(5),
   .widget-wrap.is-tags .item:nth-child(6),
   .widget-wrap.is-authors .item:nth-child(6) {
      display: none;
   }

}

@media (max-width:480px) {
   .widget-wrap {
      gap: calc(var(--grid-gap) / 1.2);
      grid-gap: calc(var(--grid-gap) / 1.2);
   }

   .widget-wrap.is-tags,
   .widget-wrap.is-authors {
      grid-template-columns: repeat(3, 1fr);
   }

   .widget-wrap.is-tags .item:nth-child(4),
   .widget-wrap.is-authors .item:nth-child(4),
   .widget-wrap.is-authors .item:nth-child(5) {
      display: none;
   }

   .widget-wrap .item:hover {
      transform: translateY(0);
   }

   .widget-wrap.is-tags .item {
      text-align: center;
   }

   .widget-wrap.is-tags .item-title {
      margin: 7px;
      padding: 5px 9px;
   }

}

/* --------------------------------------------------------------------------
   5.Featured
   -------------------------------------------------------------------------- */
.featured-section {
   position: relative;
   z-index: 0;
   box-sizing: border-box;
   width: 100%;
   margin-bottom: 7vh;
   padding: 6vh 7vw 8vh;
   background-color: var(--color-five);
}

.featured-section.is-accent,
.featured-section.is-accent-gray {
   background-color: var(--ghost-accent-color);
}

.featured-content {
   display: grid;
   gap: var(--grid-gap);
   grid-auto-columns: 1fr;
   grid-gap: var(--grid-gap);
   grid-template-columns: repeat(6, 1fr);
}

.featured-subtitle,
.featured-title {
   text-align: center;
}

.featured-section+.loop-subtitle {
   display: block;
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-content .item {
   position: relative;
   z-index: 0;
   grid-column: span 2;
}

.featured-content.items-1 .item,
.featured-content.items-2 .item {
   grid-column: span 3;
}

/* Subtitle
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-subtitle {
   font-size: 1.7rem;
   font-weight: var(--font-weight-three-medium);
   display: block;
   margin-bottom: .8em;
   letter-spacing: .02em;
}

/* Section title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-title {
   font-size: 5.2rem;
   font-weight: var(--font-weight-one-bold);
   line-height: 1.2;
   max-width: 540px;
   margin: 0 auto 7vh;
   letter-spacing: var(--letter-spacing, normal);
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-content .item-image {
   margin-bottom: 1.4vh;
}

/* Meta
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-content .item-title+div>div {
   opacity: 1;
}

/* Button
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.featured-button-wrap {
   text-align: right;
}

.featured-button {
   font-size: 1.6rem;
   display: inline-block;
   margin-top: 3vh;
   color: var(--color-font-one);
}

.featured-button:hover {
   text-decoration: underline;
}

/* RWD — Featured
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1280px) {
   .featured-subtitle {
      font-size: 1.6rem;
      margin-bottom: .4em;
   }

   .featured-title {
      font-size: 4rem;
      max-width: 420px;
      margin-bottom: 5vh;
   }

}

@media (max-width:1024px) {
   .featured-content .item-title {
      font-size: 2rem;
      margin-top: 0;
   }

   .featured-content .item-title+div {
      display: none;
   }

}

@media (max-width:768px) {
   .featured-section {
      padding-top: 30px;
      padding-bottom: 30px;
   }

   .featured-title {
      font-size: 2.8rem;
   }

   .featured-content .item-image {
      margin-bottom: 1vh;
   }

   .featured-content .item-content {
      padding-right: 10px;
   }

   .featured-content .item-title {
      font-size: 1.8rem;
   }

   .featured-button {
      font-size: 1.4rem;
   }

}

@media (max-width:480px) {
   .featured-section {
      padding-right: 26px;
      padding-left: 26px;
   }

   .featured-title {
      margin-bottom: 3vh;
   }

   .featured-content {
      padding: 16px;
      border-radius: calc(var(--border-radius) * 1.1);
      gap: 0;
      grid-gap: 0;
      grid-template-columns: repeat(1, 1fr);
   }

   .featured-section.is-gray-accent .featured-content {
      background-color: var(--ghost-accent-color);
   }

   .featured-section.is-gray .featured-content,
   .featured-section.is-accent-gray .featured-content {
      background-color: var(--color-body);
   }

   .featured-section.is-accent .featured-content {
      background-color: var(--opacity-three);
   }

   .featured-content .item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 3vh;
   }

   .featured-content .item:last-of-type {
      margin-bottom: 0;
   }

   .featured-content .item-image {
      flex: 1 0 26%;
      width: 100%;
      max-width: 26%;
      margin-right: 3vw;
      margin-bottom: 0;
   }

   .featured-content .item-title {
      margin-top: 0;
   }

   .featured-button-wrap {
      text-align: center;
   }

   .featured-button {
      font-weight: var(--font-weight-three-medium);
   }

}

@media (min-width:481px) {
   .featured-content .item {
      margin-bottom: 0;
      padding: 10px 10px 16px;
      transition: transform .3s ease;
      background-color: var(--color-body);
      will-change: transform;
   }

   .featured-content .item,
   .featured-content .item::before {
      border-radius: calc(var(--border-radius) / 1.2);
   }

   .featured-section.is-accent .item,
   .featured-section.is-gray-accent .item {
      background-color: var(--ghost-accent-color);
   }

   .featured-section.is-accent .item::before {
      position: absolute;
      z-index: -1;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: '';
      background-color: var(--opacity-three);
   }

   .featured-content .item:hover {
      transform: translateY(-3px);
   }

   .featured-content .item-content {
      padding-right: 0;
   }

   .featured-content .item-image:hover {
      transform: translateY(0);
   }

   .featured-content .item-image,
   .featured-content .item-image img {
      border-radius: calc(var(--border-radius) / 2.6);
   }

   .featured-content .item-title+div a {
      position: relative;
      z-index: 99;
   }

}

@media (min-width:769px) {
   .featured-content .item {
      padding: 16px 16px 20px;
   }

   .featured-content .item,
   .featured-content .item::before {
      border-radius: var(--border-radius);
   }

   .featured-content.items-1 .item-title,
   .featured-content.items-2 .item-title {
      font-size: 2.4rem;
      max-width: 330px;
   }

}

@media (min-width:1025px) {
   .featured-content .item {
      padding: 26px;
   }

   .featured-content.items-1 .item-title,
   .featured-content.items-2 .item-title {
      font-size: 3rem;
      max-width: 400px;
   }

   .featured-content.items-1 .item-image,
   .featured-content.items-2 .item-image {
      margin-bottom: 1.6vh;
   }

}

@media (min-width:1481px) {
   .featured-content .item-title {
      font-size: 2.6rem;
   }

}

/* --------------------------------------------------------------------------
   6.Loop
   -------------------------------------------------------------------------- */
.loop-section {
   margin-bottom: 7vh;
}

.loop-wrap {
   display: grid;
   width: 100%;
   margin-bottom: var(--grid-gap);
   -webkit-animation: slideTop .8s ease;
   animation: slideTop .8s ease;
   gap: var(--grid-gap);
   grid-auto-columns: 1fr;
   grid-gap: var(--grid-gap);
   grid-template-columns: repeat(3, 1fr);
   will-change: transform;
}

.loop-subtitle {
   display: none;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-image {
   margin-bottom: 1.8vh;
   transition: transform .3s ease;
   will-change: transform;
}

.item-image:hover {
   transform: translateY(-3px);
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-content {
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   padding-right: 1.4vw;
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item {
   margin-bottom: 1vh;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-title {
   font-size: 3rem;
   font-weight: var(--font-weight-one-bold);
   line-height: 1.3;
   max-width: 490px;
   margin: 0;
}

.item-title a:hover {
   text-decoration: underline;
   text-decoration-thickness: 2px;
   text-underline-offset: 3px;
}

/* Excerpt
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-excerpt {
   font-size: 1.6rem;
   display: -webkit-box;
   overflow-y: hidden;
   margin-top: 1.6vh;
   margin-bottom: .5vh;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}

.item-excerpt.no-image {
   -webkit-line-clamp: 10;
}

/* If 'top'
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.loop-wrap.is-top {
   margin-bottom: 0;
   grid-template-columns: repeat(18, 1fr);
   grid-template-rows: -webkit-min-content;
   grid-template-rows: min-content;
}

.item.is-top {
   margin-bottom: 0;
}

.item.is-top,
.loop-wrap.is-top .subscribe-form {
   grid-column: span 6;
}

.item.is-top.is-first {
   margin-bottom: calc(var(--grid-gap) + 3vh);
   grid-column: span 12;
   grid-row: span 4;
}

.item.is-top.is-first .item-image {
   margin-bottom: 2.6vh;
   aspect-ratio: 4/3.05;
}

.item.is-top.is-first .item-content {
   padding-right: 1.8vw;
}

.item.is-top.is-first .item-title {
   font-size: 6.4rem;
   line-height: 1.2;
   max-width: 95%;
   letter-spacing: var(--letter-spacing, normal);
}

.item.is-top.is-first .item-excerpt {
   font-size: 2.5rem;
   max-width: 720px;
   margin-top: 2.6vh;
   margin-bottom: 1.3vh;
   -webkit-line-clamp: 10;
}

/* Animation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@-webkit-keyframes slideTop {
   0% {
      transform: translateY(40px)
   }

   100% {
      transform: translateY(0)
   }
}

@keyframes slideTop {
   0% {
      transform: translateY(40px)
   }

   100% {
      transform: translateY(0)
   }
}

/* RWD — Loop
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1600px) {
   .item-title {
      font-size: 2.8rem;
   }

}

@media (max-width:1480px) {
   .item-title {
      font-size: 2.6rem;
   }

   .item.is-top.is-first .item-title {
      font-size: 6rem;
   }

}

@media (max-width:1280px) {
   .item-image {
      margin-bottom: 1.5vh;
   }

   .item.is-top.is-first .item-image {
      margin-bottom: 2vh;
   }

   .item-image:hover {
      transform: translateY(0);
   }

   .item-title {
      font-size: 2.4rem;
   }

   .item-excerpt,
   .item-excerpt.no-image {
      font-size: 1.5rem;
   }

   .item.is-top.is-first .item-content {
      padding-right: 1vw;
   }

   .item.is-top.is-first .item-title {
      font-size: 5.4rem;
   }

   .item.is-top.is-first .item-excerpt {
      font-size: 2.3rem;
   }

}

@media (max-width:1024px) {

   .item-excerpt,
   .item-excerpt.no-image {
      -webkit-line-clamp: 5;
   }

   .item.is-top.is-first .item-title {
      font-size: 4rem;
   }

   .item.is-top.is-first .item-excerpt {
      max-width: 95%;
   }

   .item:not(.is-top):not(.custom-archive-item) .item-excerpt:not(.no-image) {
      display: none;
   }

}

@media (max-width:1024px) and (min-width:769px) {

   .loop-wrap.is-top,
   .loop-wrap .item {
      margin-bottom: 2vh;
   }

   .item-title {
      font-size: 2.2rem;
   }

   .item.is-top.is-first .item-excerpt {
      font-size: 2rem;
   }

}

@media (max-width:768px) {
   .loop-wrap {
      grid-template-columns: repeat(1, 1fr);
   }

   .loop-wrap.is-top {
      margin-bottom: var(--grid-gap);
   }

   .loop-wrap .item,
   .item.is-top.is-first {
      margin-bottom: calc(var(--grid-gap) + 1.8vh);
   }

   .item.is-top.is-first {
      padding-bottom: 4vh;
      border-bottom: var(--border) var(--color-border-one);
   }

   .loop-wrap .item:not(.is-top.is-first):not(.custom-archive-item) {
      display: flex;
      align-items: flex-start;
   }

   .item:not(.is-first) .item-tags small:last-child,
   .item:not(.is-first) .item-tags a:last-child {
      margin-bottom: .5vh;
   }

   .item.is-top,
   .item.is-top.is-first {
      grid-column: span 18;
   }

   .item.is-top.is-first {
      grid-row: span 1;
   }

   .loop-wrap .item:not(.is-top.is-first):not(.custom-archive-item) .item-image {
      flex: 1 0 calc(33% - 1px - var(--grid-gap) / 2);
      width: 100%;
      max-width: calc(33% - 1px - var(--grid-gap) / 2);
      margin-right: 3.5vw;
      margin-bottom: 0;
   }

   .loop-wrap .item:not(.is-top.is-first) .item-content {
      width: 100%;
   }

   .loop-wrap .item:not(.is-top.is-first) .item-title {
      max-width: 380px;
   }

   .item-title {
      font-size: 2.8rem;
   }

   .item.is-top:not(.is-first) .item-excerpt:not(.no-image) {
      display: none;
   }

}

@media (max-width:480px) {
   .loop-wrap.is-top+small {
      margin-top: 4vh;
   }

   .item.is-top.is-first .item-image {
      margin-bottom: 3vh;
   }

   .loop-wrap .item:not(.is-top.is-first) .item-content {
      max-width: 330px;
      padding-right: 5px;
   }

   .item.is-top.is-first .item-content {
      padding-right: 0;
   }

   .item.is-first .item-tags small:last-child,
   .item.is-first .item-tags a:last-child {
      margin-bottom: 2vh;
   }

   .item-title {
      font-size: 2rem;
   }

   .item.is-top.is-first .item-title {
      font-size: 3.2rem;
      max-width: 100%;
   }

   .item.is-top.is-first .item-excerpt,
   .item:not(.is-first) .item-tags {
      display: none;
   }

}

/* --------------------------------------------------------------------------
   7.Special
   -------------------------------------------------------------------------- */
.special-wrap {
   display: grid;
   width: 100%;
   margin-bottom: 6vh;
   gap: calc(var(--grid-gap) / 2);
   grid-auto-columns: 1fr;
   grid-gap: calc(var(--grid-gap) / 2);
   grid-template-columns: repeat(5, 1fr);
}

.item.is-special .item-image {
   margin-bottom: 1.2vh;
}

.special-wrap .item-content {
   padding-right: 5px;
}

.item.is-special .item-title {
   font-size: 2.2rem;
}

/* RWD — Special
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) {
   .item.is-special .item-title {
      font-size: 2rem;
   }

   .item.is-special .item-title+div {
      display: none;
   }

}

@media (max-width:1024px) {
   .special-wrap {
      grid-template-columns: repeat(4, 1fr);
   }

   .item.is-special:nth-child(5) {
      display: none;
   }

   .item.is-special .item-title {
      font-size: 1.8rem;
   }

}

@media (max-width:768px) {
   .special-wrap {
      gap: var(--grid-gap);
      grid-gap: var(--grid-gap);
      grid-template-columns: repeat(3, 1fr);
   }

}

@media (max-width:768px) and (min-width:481px) {
   .item.is-special:nth-child(4) {
      display: none;
   }

}

@media (max-width:480px) {
   .special-wrap {
      grid-template-columns: repeat(2, 1fr);
   }

   .special-wrap,
   .special-wrap .item {
      margin-bottom: 3vh;
   }

}

/* --------------------------------------------------------------------------
   8.Subscribe form
   -------------------------------------------------------------------------- */
.subscribe-form {
   box-sizing: border-box;
   padding: 28px 34px 32px;
   background-color: var(--ghost-accent-color);
}

.subscribe-wrap {
   text-align: center;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.subscribe-title {
   font-family: var(--font-family-two);
   font-size: 3.2rem;
   font-weight: var(--font-weight-two-bold);
   line-height: 1.2;
   margin: 0 0 2.4vh;
}

/* Button & input
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.subscribe-wrap input {
   font-size: 1.6rem;
   display: block;
   box-sizing: border-box;
   margin-bottom: 1vh;
   word-break: normal;
   border: none;
   border-radius: 100px;
}

.subscribe-wrap input,
.subscribe-wrap button {
   line-height: 1;
   width: 100%;
   padding: 17px 1.5em;
   will-change: transform;
}

.subscribe-wrap input,
.subscribe-wrap button::before {
   background-color: var(--color-body);
}

.subscribe-wrap button {
   width: 94%;
   color: var(--color-font-one);
}

.subscribe-wrap button:hover::before {
   right: -3%;
   left: -3%;
}

/* Hero
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.subscribe-wrap.is-hero {
   position: relative;
   width: 100%;
   max-width: 450px;
   margin: 5vh auto 0;
   border-radius: 100px;
}

.subscribe-wrap.is-hero form {
   display: flex;
}

.subscribe-wrap.is-hero input,
.subscribe-wrap.is-hero button {
   font-size: 2rem;
}

.subscribe-wrap.is-hero input {
   flex: 1 1 auto;
   margin-right: -60px;
   margin-bottom: 0;
   padding-right: calc(1.5em + 60px);
   transition: background-color .16s ease;
   background-color: var(--color-one);
}

.subscribe-wrap.is-hero input:hover,
.subscribe-wrap.is-hero input:focus {
   background-color: var(--color-two);
}

.subscribe-wrap.is-hero button {
   flex: 0 0 auto;
   width: auto;
}

.subscribe-wrap.is-hero button::before {
   background-color: var(--ghost-accent-color);
}

/* Alerts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.subscribe-wrap form.loading+.subscribe-alert .alert-loading,
.subscribe-wrap form.success+.subscribe-alert .alert-success,
.subscribe-wrap form.error+.subscribe-alert .alert-error {
   display: inline-block;
   margin-top: 1.4vh;
}

/* RWD — Subscribe form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) {
   .subscribe-form {
      padding: 30px;
   }

   .subscribe-wrap.is-hero {
      max-width: 400px;
   }

   .subscribe-title {
      font-size: 3rem;
      margin-bottom: 2vh;
   }

   .subscribe-wrap:not(.is-hero) input,
   .subscribe-wrap:not(.is-hero) button {
      padding-top: 14px;
      padding-bottom: 14px;
   }

   .subscribe-wrap.is-hero input,
   .subscribe-wrap.is-hero button {
      font-size: 1.8rem;
   }

}

@media (max-width:1280px) {
   .subscribe-form {
      padding: 26px 2vw;
   }

   .subscribe-title {
      font-size: 2.5rem;
   }

   .subscribe-form button {
      font-size: 1.6rem;
   }

}

@media (max-width:1024px) {
   .subscribe-form {
      padding: 20px;
   }

   .subscribe-wrap.is-hero {
      max-width: 340px;
      margin-top: 4vh;
   }

   .subscribe-title {
      font-size: 2.3rem;
      margin-bottom: 1.8vh;
   }

   .subscribe-form input {
      margin-bottom: .8vh;
      padding-top: 11px;
      padding-bottom: 11px;
   }

   .subscribe-form button {
      padding-top: 12px;
      padding-bottom: 12px;
   }

   .subscribe-wrap.is-hero input,
   .subscribe-wrap.is-hero button {
      font-size: 1.6rem;
   }

}

@media (max-width:768px) {
   .subscribe-form {
      display: none;
   }

}

@media (max-width:480px) {
   .subscribe-wrap.is-hero {
      max-width: 100%;
   }

}

@media (min-width:1480px) {
   .subscribe-wrap.is-hero .subscribe-alert {
      position: absolute;
      top: 55px;
      right: 0;
      left: 0;
      text-align: center;
   }

}

/* --------------------------------------------------------------------------
   9.Pagination
   -------------------------------------------------------------------------- */
.pagination-section {
   text-align: center;
}

.pagination-section button {
   margin-bottom: 12vh;
   padding-top: .95em;
   padding-bottom: .95em;
}

/* --------------------------------------------------------------------------
   10.Search function
   -------------------------------------------------------------------------- */
.search-section {
   position: absolute;
   z-index: 997;
   display: none;
}

.search-wrap {
   max-width: 760px;
   margin: 7vh auto;
}

.search-overlay {
   position: fixed;
   z-index: 996;
   background-color: var(--opacity-search);
   -webkit-backdrop-filter: blur(2px);
   backdrop-filter: blur(2px);
}

.search-section,
.search-overlay,
.search-is-active .global-wrap {
   top: 0;
   right: 0;
   left: 0;
   min-height: 100%;
}

.search-wrap,
.search-content {
   position: relative;
   z-index: 998;
}

.search-wrap,
.search-meta {
   pointer-events: none;
}

.search-close,
.search-form input,
.search-results img,
.search-results span {
   pointer-events: auto;
}

/* If search is active
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-is-active {
   overflow-y: scroll;
   -webkit-overflow-scrolling: auto;
}

.search-is-active .global-wrap {
   position: fixed;
   overflow: hidden;
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-content {
   max-width: 100%;
   margin: 0 2vw;
   background-color: var(--color-six);
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
   will-change: transform;
}

/* Close
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-close {
   position: absolute;
   z-index: 999;
   top: 50%;
   right: 3vw;
   cursor: pointer;
   transform: translateY(-50%);
}

.search-close svg {
   width: 22px;
   height: 22px;
   fill: var(--color-font-one);
}

/* Form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-form {
   position: relative;
   box-sizing: border-box;
   width: 100%;
   padding: 3vh 2vw;
}

.search-form input {
   font-family: var(--font-family-one);
   font-size: 4.6rem;
   font-weight: var(--font-weight-one-bold);
   width: 100%;
   max-width: 500px;
   padding: 0;
   letter-spacing: var(--letter-spacing, normal);
   word-break: normal;
}

.search-form input::placeholder {
   opacity: 1
}

.search-form input::-moz-placeholder {
   opacity: 1
}

/* Meta
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-meta {
   font-size: 1.4rem;
   margin-top: .8em;
   opacity: var(--opacity-one);
}

.search-meta .is-hide {
   display: none;
}

/* Results
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-results {
   display: grid;
   box-sizing: border-box;
   width: 100%;
   height: 100%;
   padding: 0 2vw 7vh;
   grid-template-columns: repeat(1, 1fr);
}

.search-results:empty {
   padding-top: 0;
   padding-bottom: 0;
}

.search-results a {
   display: grid;
   align-items: start;
   padding: 1.2vh 0;
   grid-template-columns: repeat(7, 1fr);
   grid-template-rows: -webkit-min-content;
   grid-template-rows: min-content;
}

.search-results img {
   line-height: 0;
   width: 70px;
   height: 70px;
   margin-right: 10px;
   border-radius: calc(var(--border-radius) / 1.5);
   grid-column: span 1;
   grid-row: span 3;
}

.search-results h5 {
   font-size: 2.2rem;
   line-height: 1.3;
   display: inline-block;
   margin: 4px 0 0;
}

.search-results h5:hover {
   text-decoration: underline;
}

.search-results h5,
.search-results time {
   grid-column: span 6;
}

.search-results time {
   font-size: 1.2rem;
   display: block;
   margin-top: .6vh;
   opacity: var(--opacity-one);
}

/* Animation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-is-active .search-wrap {
   -webkit-animation: searchOne .2s ease;
   animation: searchOne .2s ease
}

.search-is-active .search-overlay {
   -webkit-animation: searchTwo .2s ease;
   animation: searchTwo .2s ease
}

body.search-no-active .search-section {
   visibility: hidden;
   -webkit-animation: searchThree 0s ease;
   animation: searchThree 0s ease
}

@-webkit-keyframes searchOne {
   0% {
      transform: translateY(30px);
      opacity: 0
   }

   100% {
      transform: translateY(0);
      opacity: 1
   }
}

@keyframes searchOne {
   0% {
      transform: translateY(30px);
      opacity: 0
   }

   100% {
      transform: translateY(0);
      opacity: 1
   }
}

@-webkit-keyframes searchTwo {
   0% {
      opacity: 0
   }

   100% {
      opacity: 1
   }
}

@keyframes searchTwo {
   0% {
      opacity: 0
   }

   100% {
      opacity: 1
   }
}

@-webkit-keyframes searchThree {

   from,
   to {
      visibility: visible
   }
}

@keyframes searchThree {

   from,
   to {
      visibility: visible
   }
}

/* RWD — Search function
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1280px) {
   .search-wrap {
      max-width: 600px;
   }

   .search-form,
   .search-results {
      padding-right: 3vw;
      padding-left: 3vw;
   }

   .search-form input {
      font-size: 3.6rem;
      max-width: 80%;
   }

   .search-meta {
      font-size: 1.3rem;
      margin-top: 5px;
   }

   .search-results img {
      width: 60px;
      height: 60px;
   }

   .search-results h5 {
      font-size: 1.8rem;
   }

}

@media (max-width:480px) {

   .search-form,
   .search-results {
      padding-right: var(--margin-wrap-left-right);
      padding-left: var(--margin-wrap-left-right);
   }

   .search-close {
      right: var(--margin-wrap-left-right);
   }

   .search-form input {
      font-size: 3rem;
   }

}

/* --------------------------------------------------------------------------
   11.Post — Header
   -------------------------------------------------------------------------- */
.post-header {
   width: 100%;
}

.post-header-wrap {
   display: flex;
   flex-wrap: wrap;
   margin-top: 2vh;
   margin-bottom: 7vh;
}

.post-header-content,
.post-header-image {
   width: 100%;
   margin-right: auto;
   margin-left: auto;
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-header-content {
   max-width: var(--max-width-post-wrap-one);
}

/* Tags
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-title+.post-tags,
.post-excerpt+.post-tags {
   max-width: 800px;
   margin-top: 3vh;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-title {
   margin-top: 2vh;
   margin-bottom: 2.6vh;
   letter-spacing: var(--letter-spacing, normal);
}

/* Excerpt
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-excerpt {
   margin-top: 2.6vh;
   margin-bottom: 0;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-header-image {
   margin-top: 5vh;
}

.post-header-image figure {
   margin: 0;
}

/* Figcaption */
.post-header-image figcaption {
   font-size: 1.1rem;
   margin-top: 7px;
   text-align: left;
   opacity: var(--opacity-one);
}

.post-header-image figcaption a {
   transition: opacity .1s ease;
   text-decoration: underline;
}

.post-header-image figcaption a:hover {
   opacity: .6;
}

/* Meta
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-meta-wrap {
   display: flex;
   margin-top: 2.4vh;
   padding-top: 2.4vh;
   border-top: var(--border) var(--color-border-one);
}

.post-excerpt+.post-meta-wrap {
   margin-top: 4vh;
}

/* Center
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-header-wrap.is-center {
   text-align: center;
}

.post-header-wrap.is-center .post-excerpt {
   margin-right: auto;
   margin-left: auto;
}

/* RWD — Post — Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1024px) {
   .post-header-wrap {
      margin-top: 0;
      margin-bottom: 5vh;
   }

   .post-header-content {
      max-width: var(--max-width-post-wrap-two);
   }

   .post-title {
      margin-top: 7.2vh;
      margin-bottom: 2.2vh;
   }

   .post-excerpt {
      margin-top: 2.2vh;
   }

}

@media (max-width:768px) {
   .post-header-content {
      max-width: 100%;
   }

   .post-header-image {
      margin-top: 3.4vh;
   }

}

@media (min-width:1025px) {
   .post-header .post-tags small {
      margin-bottom: .8vh;
   }

   .post-tags small,
   .post-tags a {
      padding: 8px 14px;
   }

   .post-section {
      margin-top: 100px;
   }

   .post-header-image:not(.is-wide) {
      max-width: var(--max-width-post-wrap-one);
   }

   .post-section.is-sidebar .post-header-content,
   .post-section.is-sidebar .post-header-image:not(.is-wide) {
      max-width: var(--max-width-content-wrap);
   }

   .post-section.is-sidebar .post-title {
      font-size: 5.9rem;
      max-width: 800px;
   }

   .post-section.is-sidebar .post-excerpt {
      max-width: 700px;
   }

}

@media (min-width:1280px) {
   .post-section.is-sidebar .post-title {
      font-size: 6.4rem;
      max-width: 840px;
   }

   .post-section.is-sidebar .post-excerpt {
      max-width: 780px;
   }

}

@media (min-width:1480px) {
   .post-section.is-sidebar .post-title {
      font-size: 7rem;
      max-width: 860px;
   }

   .post-section.is-sidebar .post-excerpt {
      max-width: 800px;
   }

}

/* --------------------------------------------------------------------------
   12.Post — Content
   -------------------------------------------------------------------------- */
.post-wrap {
   position: relative;
}

.post-content {
   font-size: 2rem;
   max-width: var(--max-width-post-wrap-one);
   min-height: 1px;
   margin: 5vh auto 15vh;
}

/* Margin elements
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content h1:first-child,
.post-content h2:first-child,
.post-content h3:first-child,
.post-content h4:first-child,
.post-content h5:first-child,
.post-content h6:first-child,
.post-content p:first-child {
   margin-top: 0;
}

.post-content p,
.post-content iframe,
.post-content ol,
.post-content ul,
.post-content table {
   margin-top: 0;
   margin-bottom: 30px;
}

.post-content hr,
.post-content blockquote,
.post-content .kg-card.kg-header-card {
   margin-top: 55px;
   margin-bottom: 55px;
}

.post-content pre,
.post-content .kg-card {
   width: 100%;
   margin-top: 40px;
   margin-bottom: 40px;
}

.post-content blockquote,
.post-content .kg-card {
   margin-right: 0;
   margin-left: 0;
}

.post-content .kg-card:not(.kg-width-full):not(.kg-image-card):not(.kg-gallery-card):not(.kg-embed-card)+.kg-card {
   margin-top: -20px;
}

/* Social media
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content iframe,
.post-content .kg-embed-card>div,
.post-content .kg-embed-card>iframe,
.post-content .kg-embed-card>.fb-post,
.post-content .kg-embed-card>.twitter-tweet {
   margin-right: auto !important;
   margin-left: auto !important;
}

.post-content .kg-embed-card>.twitter-tweet>iframe {
   margin-bottom: 0;
}

/* Typography
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content h1,
.post-content h2,
.post-content h3 {
   line-height: 1.4;
   margin-top: 1em;
   margin-bottom: 18px;
   margin-left: -1px;
}

.post-content h4,
.post-content h5,
.post-content h6 {
   font-family: var(--font-family-three);
   font-weight: var(--font-weight-three-bold);
   line-height: 1.55;
   margin-top: 1.2em;
   margin-bottom: 10px;
}

.post-content h1 {
   font-size: 5.8rem;
}

.post-content h2 {
   font-size: 4.5rem;
}

.post-content h3 {
   font-size: 3.2rem;
}

.post-content h4 {
   font-size: 2.4rem;
}

.post-content h5 {
   font-size: 2rem;
}

.post-content h6 {
   font-size: 1.4rem;
   letter-spacing: 1px;
   text-transform: uppercase;
}

/* Paragraph
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content p {
   line-height: 1.6;
   position: relative;
}

/* Strong
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content strong {
   font-weight: var(--font-weight-three-bold);
}

/* Mark
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content mark a {
   color: var(--color-font-black)
}

/* hr
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content hr {
   border-top: var(--border) var(--color-border-one);
   border-right: 0;
   border-bottom: 0;
   border-left: 0;
}

/* kbd
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content kbd {
   font-size: 70%;
   display: inline-block;
   padding: 2px 8px 1px;
   border: 1px solid;
   border-radius: 4px;
}

/* iframe
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content iframe {
   display: block;
}

/* Links
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content a {
   transition: color .1s ease;
   text-decoration: underline;
}

.post-content a:hover {
   color: var(--ghost-accent-color);
}

/* Blockquote
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content blockquote,
.post-content blockquote p {
   line-height: 1.4;
}

.post-content blockquote p {
   margin: 0;
}

.post-content blockquote {
   font-family: var(--font-family-two);
   font-size: 2.6rem;
   font-weight: var(--font-weight-two-bold);
   box-sizing: border-box;
   width: 100%;
   padding-top: 5px;
   padding-bottom: 5px;
   padding-left: 1em;
   border-left: 4px solid var(--ghost-accent-color);
}

/* Alternative */
.post-content blockquote.kg-blockquote-alt {
   font-family: var(--font-family-one);
   font-size: 4.5rem;
   font-weight: var(--font-weight-one-bold);
   font-style: normal;
   line-height: 1.3;
   padding: 2vh 0;
   text-align: center;
   border: 0;
}

.post-content blockquote.kg-blockquote-alt::before {
   font-size: 200%;
   line-height: .4;
   display: block;
   content: '“';
   color: var(--ghost-accent-color);
}

/* Lists
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content ul,
.post-content ol {
   margin-right: 0;
   margin-left: 15px;
}

.post-content ul {
   padding-left: 15px;
   list-style: disc outside;
}

.post-content ol {
   padding-left: 20px;
}

.post-content ul li ul {
   list-style: circle outside;
}

.post-content ol,
.post-content ol li ol {
   list-style: decimal outside;
}

.post-content ul ul,
.post-content ul ol,
.post-content ol ol,
.post-content ol ul {
   font-size: 90%;
   margin: 15px 0;
}

.post-content li {
   margin-bottom: 10px;
}

.post-content dl dt {
   float: left;
   clear: left;
   overflow: hidden;
   width: 180px;
   margin-bottom: 10px;
   text-align: right;
   white-space: nowrap;
   text-overflow: ellipsis;
}

.post-content dl dd {
   margin-bottom: 10px;
   margin-left: 200px;
}

/* Table
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content table {
   font-size: 1.4rem;
   display: table;
   width: 100%;
   max-width: 100%;
   border-spacing: 0;
   border-collapse: collapse;
   text-align: left;
   background-color: transparent;
}

.post-content th {
   font-size: 1.6rem;
   color: var(--color-font-two);
   background-color: var(--color-three);
}

.post-content th,
.post-content td {
   display: table-cell;
   padding: 10px 12px;
}

.post-content td {
   border-bottom: var(--border) var(--color-border-one);
}

.post-content th:first-child,
.post-content td:first-child {
   padding-left: 10px;
}

.post-content th:last-child,
.post-content td:last-child {
   padding-right: 10px;
}

/* Responsive */
.post-content .responsive-table {
   overflow-x: auto;
   word-break: normal;
}

/* Footnotes
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .footnotes {
   padding: 10px 0 0;
}

.post-content .footnote-ref {
   font-size: 65%;
}

.post-content .footnotes-list {
   padding-left: 5px;
   list-style: decimal;
}

.post-content .footnotes-sep {
   display: none;
}

.post-content .footnotes p,
.post-content .footnote-item {
   font-size: 1.4rem;
   line-height: 1.3;
   margin-bottom: 10px;
}

/* Code
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content pre {
   min-width: 100%;
}

.post-content code {
   font-size: 85%;
   padding: 2px 5px;
   background-color: var(--color-five);
}

.post-content blockquote code {
   font-size: 75%;
}

.post-content blockquote code,
.post-content p code {
   border-radius: 5px;
}

.post-content pre>code {
   display: block;
   padding: 20px 25px;
   white-space: pre-wrap;
}

/* Image & Video
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content img {
   position: relative;
   max-width: 100%;
   height: auto;
}

.post-content .kg-image-card {
   line-height: 0;
}

.post-content .kg-image-card.kg-width-wide img {
   width: 100%;
}

.post-content .kg-image-card.kg-width-wide img,
.post-content .kg-image-card.kg-width-full img {
   max-width: initial;
}

.post-content .kg-video-card.kg-width-full,
.post-content .kg-image-card.kg-width-full img {
   position: relative;
   right: 50%;
   left: 50%;
   width: calc(100vw - var(--scrollbar-width, 0px));
   margin-left: calc(-50vw + var(--scrollbar-width, 0px) / 2);
   border-radius: 0;
}

/* Small image */
.post-content .kg-image-card:not(.kg-width-full):not(.kg-width-wide) {
   text-align: center;
}

/* Gallery
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-gallery-card .kg-gallery-image img {
   border-radius: 0;
}

.post-content .kg-gallery-card .kg-gallery-row:not(:first-of-type) {
   margin: 1.1vmin 0 0 0;
}

.post-content .kg-gallery-card .kg-gallery-image:not(:first-of-type) {
   margin: 0 0 0 1.1vmin;
}

/* Callouts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-callout-card .kg-callout-emoji {
   flex-shrink: 0;
}

/* Audio & File
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-file-card .kg-file-card-container {
   padding: 8px;
}

.post-content .kg-audio-card svg {
   fill: var(--color-three);
}

.post-content .kg-audio-card .kg-audio-playback-rate {
   color: var(--color-font-one);
}

.post-content .kg-audio-card .kg-audio-title,
.post-content .kg-file-card .kg-file-card-title {
   font-size: 1.8rem;
}

/* Buttons & Products
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-button-card .kg-btn:hover,
.post-content .kg-product-card .kg-product-card-button:hover {
   opacity: .8;
}

/* NFT
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-nft-card a {
   text-decoration: none;
}

/* Headers
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-header-card {
   position: relative;
   right: 50%;
   left: 50%;
   width: calc(100vw - var(--scrollbar-width, 0px));
   margin-left: calc(-50vw + var(--scrollbar-width, 0px) / 2);
}

.post-content .kg-header-card.kg-style-light {
   background-color: var(--color-five);
}

.post-content .kg-header-card.kg-style-dark {
   background-color: var(--color-three);
}

.post-content .kg-header-card.kg-style-dark .kg-header-card-header,
.post-content .kg-header-card.kg-style-dark .kg-header-card-subheader {
   color: var(--color-font-two);
}

.post-content .kg-header-card.kg-style-image .kg-header-card-button,
.post-content .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-button {
   color: var(--color-font-black);
   background-color: var(--color-white);
}

.post-content .kg-header-card.kg-style-dark .kg-header-card-button {
   color: var(--color-font-one);
   background-color: var(--color-four);
}

.post-content .kg-header-card .kg-header-card-header,
.post-content .kg-header-card .kg-header-card-header strong {
   font-weight: var(--font-weight-one-bold);
}

.post-content .kg-header-card h2+.kg-header-card-subheader {
   margin-top: 2.5vh;
}

.post-content .kg-header-card .kg-header-card-subheader {
   margin-top: 1vh;
   margin-bottom: 1vh;
   opacity: .8;
}

/* Bookmarks
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-bookmark-card .kg-bookmark-title {
   font-size: 1.6rem;
   line-height: 1.3;
}

.post-content .kg-bookmark-card .kg-bookmark-metadata>:not(img) {
   opacity: 1;
}

.post-content .kg-bookmark-card .kg-bookmark-icon {
   border-radius: 0;
}

.post-content .kg-bookmark-card .kg-bookmark-thumbnail {
   min-width: 24%;
   margin: 10px;
}

/* Normalize 'Cards'
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-button-card .kg-btn,
.post-content .kg-audio-card .kg-audio-title,
.post-content .kg-file-card .kg-file-card-title,
.post-content .kg-toggle-card .kg-toggle-heading-text,
.post-content .kg-product-card .kg-product-card-title,
.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-product-card .kg-product-card-description p,
.post-content .kg-product-card .kg-product-card-description ol,
.post-content .kg-product-card .kg-product-card-description ul,
.post-content .kg-header-card .kg-header-card-subheader,
.post-content .kg-header-card .kg-header-card-button,
.post-content .kg-bookmark-card .kg-bookmark-title,
.post-content .kg-bookmark-card .kg-bookmark-description,
.post-content .kg-bookmark-card .kg-bookmark-metadata>:not(img) {
   font-family: var(--font-family-three);
}

.post-content .kg-product-card .kg-product-card-description p,
.post-content .kg-product-card .kg-product-card-description ol,
.post-content .kg-product-card .kg-product-card-description ul,
.post-content .kg-header-card .kg-header-card-subheader,
.post-content .kg-bookmark-card .kg-bookmark-description {
   font-weight: var(--font-weight-three-regular);
}

.post-content .kg-button-card .kg-btn,
.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-header-card .kg-header-card-button,
.post-content .kg-bookmark-card .kg-bookmark-metadata>:not(img) {
   font-weight: var(--font-weight-three-medium);
}

.post-content .kg-audio-card .kg-audio-title,
.post-content .kg-file-card .kg-file-card-title,
.post-content .kg-toggle-card .kg-toggle-heading-text,
.post-content .kg-product-card .kg-product-card-title,
.post-content .kg-bookmark-card .kg-bookmark-title {
   font-weight: var(--font-weight-three-bold);
}

.post-content .kg-button-card .kg-btn,
.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-header-card .kg-header-card-button {
   transition: opacity .2s ease;
   border-radius: 100px;
}

.post-content .kg-button-card .kg-btn,
.post-content .kg-callout-card .kg-callout-card-accent,
.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-header,
.post-content .kg-header-card.kg-style-accent:not(.kg-v2) .kg-header-card-subheader,
.post-content .kg-header-card.kg-style-image .kg-header-card-header,
.post-content .kg-header-card.kg-style-image .kg-header-card-subheader,
.post-content .kg-header-card.kg-style-light .kg-header-card-button {
   color: var(--color-font-white);
}

.post-content .kg-file-card .kg-file-card-caption,
.post-content .kg-bookmark-card .kg-bookmark-description {
   font-size: 1.4rem;
   margin-top: 8px;
}

.post-content .kg-toggle-card,
.post-content .kg-product-card .kg-product-card-container,
.post-content .kg-bookmark-card .kg-bookmark-content {
   padding: 16px;
}

.post-content .kg-file-card .kg-file-card-container,
.post-content .kg-toggle-card,
.post-content .kg-bookmark-card .kg-bookmark-container,
.post-content .kg-bookmark-card .kg-bookmark-container:hover {
   transition: border-color .15s ease;
}

.post-content .kg-audio-card,
.post-content .kg-file-card .kg-file-card-container,
.post-content .kg-toggle-card,
.post-content .kg-product-card .kg-product-card-container,
.post-content .kg-nft-card .kg-nft-card-container,
.post-content .kg-bookmark-card .kg-bookmark-container,
.post-content .kg-bookmark-card .kg-bookmark-container:hover {
   border: var(--border) var(--color-border-one);
   box-shadow: none;
}

.post-content .kg-file-card .kg-file-card-container:hover,
.post-content .kg-bookmark-card .kg-bookmark-container:hover {
   border-color: var(--color-border-two);
}

.post-content img,
.post-content code,
.post-content .kg-callout-card,
.post-content .kg-audio-card,
.post-content .kg-file-card .kg-file-card-container,
.post-content .kg-toggle-card,
.post-content .kg-product-card .kg-product-card-container,
.post-content .kg-nft-card .kg-nft-card-container,
.post-content .kg-bookmark-card .kg-bookmark-container,
.post-content .kg-bookmark-card .kg-bookmark-container:hover {
   border-radius: calc(var(--border-radius) / 1.5);
}

.post-section.is-sidebar .kg-video-card.kg-width-full,
.post-section.is-sidebar .kg-image-card.kg-width-full img,
.post-section.is-sidebar .post-content .kg-header-card {
   border-radius: calc(var(--border-radius) / 1.5);
}

.post-content .kg-gallery-card .kg-gallery-row:first-of-type .kg-gallery-image:first-of-type img {
   border-top-left-radius: calc(var(--border-radius) / 1.5);
}

.post-content .kg-gallery-card .kg-gallery-row:first-of-type .kg-gallery-image:last-of-type img {
   border-top-right-radius: calc(var(--border-radius) / 1.5);
}

.post-content .kg-gallery-card .kg-gallery-row:last-of-type .kg-gallery-image:first-of-type img {
   border-bottom-left-radius: calc(var(--border-radius) / 1.5);
}

.post-content .kg-gallery-card .kg-gallery-row:last-of-type .kg-gallery-image:last-of-type img {
   border-bottom-right-radius: calc(var(--border-radius) / 1.5);
}

.post-content .kg-audio-card .kg-audio-thumbnail,
.post-content .kg-file-card .kg-file-card-icon::before,
.post-content .kg-product-card img,
.post-content .kg-nft-card .kg-nft-image,
.post-content .kg-bookmark-card .kg-bookmark-thumbnail img {
   border-radius: calc(var(--border-radius) / 3);
}

/* Figcaption
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content figcaption {
   font-size: 1.1rem;
   line-height: 1.2;
   display: block;
   width: 100%;
   margin-top: 10px;
   text-align: center;
   opacity: var(--opacity-one);
}

.post-content figcaption a {
   transition: opacity .1s ease;
   text-decoration: underline;
}

.post-content figcaption a:hover {
   opacity: .6;
   color: var(--color-font-one);
}

/* CTA
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .members-cta {
   position: relative;
   z-index: 1;
   box-sizing: border-box;
   margin-bottom: 10vh;
   padding: 6vh 3vw;
   text-align: center;
   background-color: var(--color-five);
}

.post-content .members-cta h2 {
   font-size: 5.2rem;
   line-height: 1.2;
   margin: 0 auto 3vh;
}

.post-content .members-cta p {
   line-height: 1.5;
   max-width: 520px;
   margin: 3vh auto 4vh;
}

.post-content .members-cta small {
   margin-top: 4vh;
}

.post-content .members-cta-teaser {
   position: relative;
}

.post-content .members-cta-teaser::after {
   position: absolute;
   z-index: 0;
   right: 50%;
   bottom: 0;
   left: 50%;
   width: calc(100vw - 40px);
   height: 100%;
   max-height: 300px;
   margin-left: calc(-50vw + 20px);
   content: '';
   pointer-events: none;
   opacity: 1;
   background-color: var(--color-body);
   -webkit-mask-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .013)8.1%, rgba(0, 0, 0, .049)15.5%, rgba(0, 0, 0, .104)22.5%, rgba(0, 0, 0, .175)29%, rgba(0, 0, 0, .259)35.3%, rgba(0, 0, 0, .352)41.2%, rgba(0, 0, 0, .45)47.1%, rgba(0, 0, 0, .55)52.9%, rgba(0, 0, 0, .648)58.8%, rgba(0, 0, 0, .741)64.7%, rgba(0, 0, 0, .825)71%, rgba(0, 0, 0, .896)77.5%, rgba(0, 0, 0, .951)84.5%, rgba(0, 0, 0, .987)91.9%, black);
   mask-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .013)8.1%, rgba(0, 0, 0, .049)15.5%, rgba(0, 0, 0, .104)22.5%, rgba(0, 0, 0, .175)29%, rgba(0, 0, 0, .259)35.3%, rgba(0, 0, 0, .352)41.2%, rgba(0, 0, 0, .45)47.1%, rgba(0, 0, 0, .55)52.9%, rgba(0, 0, 0, .648)58.8%, rgba(0, 0, 0, .741)64.7%, rgba(0, 0, 0, .825)71%, rgba(0, 0, 0, .896)77.5%, rgba(0, 0, 0, .951)84.5%, rgba(0, 0, 0, .987)91.9%, black);
}

/* Beta editor
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-wrap:first-child .post-content,
.post-wrap:first-child .post-content .kg-width-full:first-child,
.post-section:not(.is-sidebar) .kg-width-full+.kg-width-full {
   margin-top: 0;
}

.post-wrap:first-child .post-content,
.post-wrap:first-child .post-content .kg-width-full:first-child,
.post-section:not(.is-sidebar) .kg-width-full:not(.kg-width-full.kg-card-hascaption) {
   margin-bottom: 0;
}

.post-section:not(.is-sidebar) .kg-width-full:not(.kg-width-full.kg-card-hascaption)+ :not(.kg-width-full) {
   margin-top: 5vh;
}

/* Signup card & Header card 'v2' */
.post-content .kg-signup-card.kg-width-full,
.post-content .kg-header-card.kg-v2.kg-width-full {
   position: relative;
   right: 50%;
   left: 50%;
   width: calc(100vw - var(--scrollbar-width, 0px));
   margin-left: calc(-50vw + var(--scrollbar-width, 0px) / 2);
}

.post-content .kg-signup-card.kg-width-regular,
.post-content .kg-signup-card.kg-width-wide,
.post-content .kg-header-card.kg-v2.kg-width-regular,
.post-content .kg-header-card.kg-v2.kg-width-wide {
   position: relative;
   right: 0;
   left: 0;
   overflow: hidden;
   width: 100%;
   margin-left: 0;
   border-radius: var(--border-radius);
}

.post-content .kg-signup-card.kg-width-full.kg-content-wide,
.post-content .kg-header-card.kg-v2.kg-width-full.kg-content-wide {
   padding-right: var(--margin-wrap-left-right);
   padding-left: var(--margin-wrap-left-right);
}

.post-content .kg-signup-card.kg-width-full.kg-content-wide .kg-signup-card-content,
.post-content .kg-header-card.kg-v2.kg-width-full.kg-content-wide .kg-header-card-content {
   width: var(--max-width-global-wrap);
   max-width: 100%;
   margin-right: auto;
   margin-left: auto;
}

.post-content .kg-signup-card.kg-width-full .kg-signup-card-image,
.post-content .kg-header-card.kg-v2.kg-width-full .kg-header-card-image {
   width: 100%;
   border-radius: 0;
}

.post-content .kg-header-card.kg-v2.kg-layout-split {
   display: -webkit-box;
}

.post-content .kg-signup-card h3.kg-signup-card-subheading,
.post-content .kg-header-card.kg-v2 h3.kg-header-card-subheading,
.post-content div.kg-signup-card .kg-signup-card-success {
   font-family: var(--font-family-two);
   font-weight: var(--font-weight-two-regular);
   line-height: 1.2;
}

.post-content div.kg-signup-card .kg-signup-card-success {
   font-size: clamp(1.05em, 2vw, 2.4rem);
}

.post-content .kg-signup-card h2+h3.kg-signup-card-subheading,
.post-content .kg-header-card.kg-v2 h2+h3.kg-header-card-subheading {
   margin: 1em 0 0;
}

.post-content .kg-signup-card .kg-signup-card-fields {
   padding: .3em;
   border: none;
   border-radius: 100px;
}

.post-content .kg-signup-card .kg-signup-card-fields,
.post-content .kg-signup-card-input {
   background-color: var(--color-body);
}

.post-content div.kg-signup-card .kg-signup-card-button,
.post-content .kg-header-card.kg-v2 .kg-header-card-button {
   font-family: var(--font-family-three);
   font-weight: var(--font-weight-three-medium);
   padding: .8em 1.8em;
   cursor: pointer;
}

.post-content div.kg-signup-card .kg-signup-card-button,
.post-content div.kg-signup-card .kg-signup-card-input,
.post-content div.kg-header-card.kg-v2 .kg-header-card-button {
   font-size: 1.8rem;
   border-radius: 100px;
}

.post-content .kg-signup-card-input {
   line-height: 1.2;
   overflow: hidden;
   white-space: nowrap;
   text-overflow: ellipsis;
}

.post-content .kg-signup-card-input::-moz-placeholder {
   opacity: var(--opacity-two);
}

.post-content .kg-signup-card-input::placeholder {
   opacity: var(--opacity-two);
}

.post-content div.kg-signup-card .kg-signup-card-disclaimer,
.post-content div.kg-signup-card .kg-signup-card-error {
   font-size: 1.3rem;
   margin: 1vh 0 0;
   opacity: var(--opacity-one);
}

/* If sidebar */
.post-section.is-sidebar .kg-signup-card:not(.kg-width-regular),
.post-section.is-sidebar .kg-header-card.kg-v2:not(.kg-width-regular) {
   right: 0;
   left: 0;
   overflow: hidden;
   width: 100%;
   max-width: 100%;
   margin-left: 0;
   padding: 0;
   border-radius: calc(var(--border-radius) / 1.5);
}

.post-section.is-sidebar .kg-signup-card.kg-layout-split .kg-signup-card-content,
.post-section.is-sidebar .kg-header-card.kg-v2.kg-layout-split .kg-header-card-content {
   display: flex;
   flex-direction: column;
}

.post-section.is-sidebar .kg-signup-card .kg-signup-card-text,
.post-section.is-sidebar .kg-header-card.kg-v2 .kg-header-card-text {
   padding: 4vmax 2vmax !important;
}

.post-section.is-sidebar .kg-header-card.kg-v2 {
   min-height: initial;
   padding: 0;
}

.post-section.is-sidebar .kg-signup-card .kg-signup-card-fields {
   max-width: 500px;
}

.post-section.is-sidebar .kg-signup-card.kg-layout-split.kg-swapped picture,
.post-section.is-sidebar .kg-header-card.kg-v2.kg-layout-split.kg-swapped picture {
   order: 2;
}

.post-section.is-sidebar .kg-signup-card.kg-layout-split img,
.post-section.is-sidebar .kg-header-card.kg-v2.kg-layout-split img {
   display: block;
   height: 100%;
}

.post-section.is-sidebar .kg-signup-card.kg-layout-split.kg-content-wide img,
.post-section.is-sidebar .kg-header-card.kg-layout-split.kg-v2.kg-content-wide img {
   padding: 2vmax 2vmax 0;
}

.post-section.is-sidebar .kg-signup-card.kg-layout-split.kg-content-wide.kg-swapped img,
.post-section.is-sidebar .kg-header-card.kg-layout-split.kg-v2.kg-content-wide.kg-swapped img {
   padding: 0 2vmax 2vmax;
}

.post-section.is-sidebar .kg-signup-card .kg-signup-card-heading,
.post-section.is-sidebar .kg-header-card.kg-v2 .kg-header-card-heading {
   font-size: clamp(2.8rem, 4vw, 4rem) !important;
}

.post-section.is-sidebar .kg-signup-card .kg-signup-card-subheading,
.post-section.is-sidebar .kg-header-card.kg-v2 .kg-header-card-subheading,
.post-section.is-sidebar div.kg-signup-card .kg-signup-card-success {
   font-size: clamp(1.05em, 2vw, 2rem) !important;
}

.post-section.is-sidebar .kg-signup-card:not(.kg-width-regular) .kg-signup-card-heading+.kg-signup-card-form,
.post-section.is-sidebar .kg-signup-card:not(.kg-width-regular) .kg-signup-card-subheading+.kg-signup-card-form {
   margin-top: 2.4vmax;
}

/* RWD — Beta editor */
@media (max-width:1480px) and (min-width:1025px) {

   .post-content .kg-signup-card.kg-width-wide,
   .post-content .kg-header-card.kg-v2.kg-width-wide {
      width: calc(100% + 50px + 50px);
      margin-left: -50px;
   }

}

@media (max-width:1024px) {

   .post-content .kg-signup-card.kg-width-regular,
   .post-content .kg-signup-card.kg-width-wide,
   .post-content .kg-header-card.kg-v2.kg-width-regular,
   .post-content .kg-header-card.kg-v2.kg-width-wide {
      border-radius: calc(var(--border-radius) / 1.5);
   }

}

@media (max-width:480px) {

   .post-content div.kg-signup-card .kg-signup-card-button,
   .post-content div.kg-signup-card .kg-signup-card-input,
   .post-content div.kg-header-card.kg-v2 .kg-header-card-button {
      font-size: 1.6rem;
   }

}

@media (min-width:1481px) {

   .post-content .kg-signup-card.kg-width-wide,
   .post-content .kg-header-card.kg-v2.kg-width-wide {
      width: calc(100% + 70px + 70px);
      margin-left: -70px;
   }

}

@media (min-width:1921px) {

   .post-content .kg-signup-card.kg-width-full,
   .post-content .kg-header-card.kg-v2.kg-width-full {
      width: var(--max-width-global-wrap);
      margin-left: calc(0px - var(--max-width-global-wrap) / 2);
      border-radius: var(--border-radius);
   }

}

/* RWD — Post content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) and (min-width:1025px) {

   .post-content .kg-video-card.kg-width-wide,
   .post-content .kg-image-card.kg-width-wide img,
   .post-content .kg-gallery-card .kg-gallery-container {
      width: calc(100% + 50px + 50px);
      margin-left: -50px;
   }

}

@media (max-width:1024px) {
   .post-content {
      font-size: 1.8rem;
      max-width: var(--max-width-post-wrap-two);
   }

   .post-section.is-sidebar .kg-video-card.kg-width-full,
   .post-section.is-sidebar .kg-image-card.kg-width-full img,
   .post-section.is-sidebar .post-content .kg-header-card {
      border-radius: 0;
   }

   .post-content blockquote.kg-blockquote-alt {
      font-size: 3.8rem;
   }

   .post-content .members-cta h2 {
      font-size: 4.2rem;
   }

}

@media (max-width:768px) {
   .post-content {
      max-width: 100%;
   }

   .post-content h1 {
      font-size: 4.8rem;
   }

   .post-content h2 {
      font-size: 3.8rem;
   }

   .post-content h3 {
      font-size: 3rem;
   }

   .post-content h4 {
      font-size: 2.2rem;
   }

   .post-content h5 {
      font-size: 1.9rem;
   }

   .post-content p,
   .post-content iframe,
   .post-content ol,
   .post-content ul,
   .post-content table {
      margin-bottom: 20px;
   }

   .post-content hr,
   .post-content blockquote,
   .post-content .kg-card.kg-header-card {
      margin-top: 35px;
      margin-bottom: 35px;
   }

   .post-content pre,
   .post-content .kg-card {
      margin-top: 30px;
      margin-bottom: 30px;
   }

   .post-content .kg-card:not(.kg-width-full):not(.kg-image-card):not(.kg-gallery-card):not(.kg-embed-card)+.kg-card {
      margin-top: -15px;
   }

   .post-content .members-cta {
      padding-top: 4vh;
      padding-bottom: 4vh;
   }

   .post-content .members-cta h2 {
      font-size: 3.4rem;
   }

}

@media (max-width:480px) {
   .post-content {
      margin-bottom: 10vh;
   }

   .post-content h1,
   .post-content h2,
   .post-content h3 {
      margin-bottom: 10px;
   }

   .post-content h1 {
      font-size: 3.4rem;
   }

   .post-content h2 {
      font-size: 2.9rem;
   }

   .post-content h3 {
      font-size: 2.4rem;
   }

   .post-content h4 {
      font-size: 2rem;
   }

   .post-content h5 {
      font-size: 1.8rem;
   }

   .post-content blockquote {
      font-size: 2rem;
      border-width: 3px;
   }

   .post-content blockquote.kg-blockquote-alt {
      font-size: 3rem;
   }

   .post-content img,
   .post-content code,
   .post-content .kg-callout-card,
   .post-content .kg-audio-card,
   .post-content .kg-file-card .kg-file-card-container,
   .post-content .kg-toggle-card,
   .post-content .kg-product-card .kg-product-card-container,
   .post-content .kg-nft-card .kg-nft-card-container,
   .post-content .kg-bookmark-card .kg-bookmark-container,
   .post-content .kg-bookmark-card .kg-bookmark-container:hover {
      border-radius: calc(var(--border-radius) / 2);
   }

   .post-content .kg-gallery-card .kg-gallery-row:first-of-type .kg-gallery-image:first-of-type img {
      border-top-left-radius: calc(var(--border-radius) / 2);
   }

   .post-content .kg-gallery-card .kg-gallery-row:first-of-type .kg-gallery-image:last-of-type img {
      border-top-right-radius: calc(var(--border-radius) / 2);
   }

   .post-content .kg-gallery-card .kg-gallery-row:last-of-type .kg-gallery-image:first-of-type img {
      border-bottom-left-radius: calc(var(--border-radius) / 2);
   }

   .post-content .kg-gallery-card .kg-gallery-row:last-of-type .kg-gallery-image:last-of-type img {
      border-bottom-right-radius: calc(var(--border-radius) / 2);
   }

   .post-content .kg-audio-card .kg-audio-thumbnail,
   .post-content .kg-file-card .kg-file-card-icon::before,
   .post-content .kg-product-card img,
   .post-content .kg-nft-card .kg-nft-image,
   .post-content .kg-bookmark-card .kg-bookmark-thumbnail img {
      border-radius: calc(var(--border-radius) / 4);
   }

   .post-content .kg-bookmark-card .kg-bookmark-icon {
      width: 16px;
      height: 16px;
      margin-right: 6px;
   }

   .post-content .kg-bookmark-card .kg-bookmark-description,
   .post-content .kg-bookmark-card .kg-bookmark-metadata {
      font-size: 1.2rem;
   }

   .post-content .kg-bookmark-card .kg-bookmark-thumbnail {
      height: 65px;
      margin: 16px 16px 0;
   }

   .post-content .members-cta-teaser::after {
      width: 100vw;
      margin-left: -50vw;
   }

}

@media (min-width:1025px) {
   .post-section.is-sidebar .post-wrap {
      max-width: var(--max-width-content-wrap);
   }

   .post-section.is-sidebar .post-header-content {
      width: 100%;
   }

   .post-section.is-sidebar .post-content {
      width: 64%;
      max-width: calc(var(--max-width-post-wrap-one) - 70px);
      margin-right: 0;
      margin-left: 0;
   }

   .post-section.is-sidebar .kg-video-card.kg-width-wide,
   .post-section.is-sidebar .kg-image-card.kg-width-wide img,
   .post-section.is-sidebar .kg-video-card.kg-width-full,
   .post-section.is-sidebar .kg-image-card.kg-width-full img,
   .post-section.is-sidebar .kg-header-card,
   .post-section.is-sidebar .kg-gallery-card .kg-gallery-container {
      width: 100%;
      margin-left: 0;
   }

   .post-section.is-sidebar .kg-video-card.kg-width-full,
   .post-section.is-sidebar .kg-image-card.kg-width-full img,
   .post-section.is-sidebar .kg-header-card {
      right: 0;
      left: 0;
   }

   .post-section.is-sidebar blockquote.kg-blockquote-alt {
      font-size: 4rem;
      padding: 2vh 0;
   }

   .post-section.is-sidebar .kg-header-card {
      min-height: 30vh;
      padding-top: 10vmin;
      padding-bottom: 10vmin;
   }

   .post-section.is-sidebar .kg-header-card .kg-header-card-header {
      font-size: 4rem;
   }

   .post-section.is-sidebar .kg-header-card .kg-header-card-subheader {
      font-size: 2.2rem;
   }

}

@media (min-width:1481px) {

   .post-content .kg-video-card.kg-width-wide,
   .post-content .kg-image-card.kg-width-wide img,
   .post-content .kg-gallery-card .kg-gallery-container {
      width: calc(100% + 70px + 70px);
      margin-left: -70px;
   }

}

@media (min-width:1921px) {

   .post-content .kg-header-card,
   .post-content .kg-video-card.kg-width-full,
   .post-content .kg-image-card.kg-width-full img {
      width: var(--max-width-global-wrap);
      margin-left: calc(0px - var(--max-width-global-wrap) / 2);
      border-radius: calc(var(--border-radius) / 1.5);
   }

}

/* --------------------------------------------------------------------------
   13.Post — Sidebar
   -------------------------------------------------------------------------- */
.post-sidebar {
   position: absolute;
   z-index: 1;
   top: 0;
   right: var(--margin-wrap-left-right);
   width: 290px;
   height: 100%;
}

.post-sidebar div.is-authors,
.post-sidebar div.is-featured {
   margin-bottom: 5.5vh;
}

.post-sidebar div>a {
   display: flex;
   align-self: flex-start;
   margin-bottom: 1.5vh;
   padding-top: 1vh;
   pointer-events: none;
}

.post-sidebar div>a:first-of-type {
   padding-top: 1.7vh;
   border-top: var(--border) var(--color-border-one);
}

.post-sidebar a div {
   line-height: 0;
   display: inline-block;
   margin-top: 2px;
}

/* Title & Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-sidebar-title {
   font-family: var(--font-family-two);
   font-size: 1.5rem;
   font-weight: var(--font-weight-two-bold);
   line-height: 1.35;
   display: inline;
   margin: 0;
}

.post-sidebar-title,
.post-sidebar img {
   pointer-events: auto;
}

.post-sidebar-title:hover,
.post-sidebar img {
   text-decoration: underline;
}

.post-sidebar img {
   flex: 1 0 auto;
   width: 100%;
   max-width: 70px;
   margin-right: 4.4%;
   transition: transform .2s ease;
   -o-object-fit: cover;
   object-fit: cover;
}

.post-sidebar img:hover {
   transform: translateY(-2px);
}

/* Authors
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-sidebar .is-authors>a.no-bio {
   align-items: center;
}

.post-sidebar .is-authors img {
   height: 70px;
   border-radius: 100%;
}

.post-sidebar a.no-bio div {
   margin-top: 0;
}

.post-sidebar .is-authors p {
   font-size: 1.3rem;
   line-height: 1.35;
   display: -webkit-box;
   overflow-y: hidden;
   margin: .5vh 0 0;
   opacity: var(--opacity-one);
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}

/* Featured
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-sidebar .is-featured img {
   height: 50px;
   border-radius: calc(var(--border-radius) / 2);
}

/* Form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-sidebar .subscribe-form {
   top: 3vh;
   padding: 22px 25px 25px;
}

.post-sidebar .subscribe-form.is-sticky {
   position: sticky;
}

.post-sidebar .subscribe-title {
   font-size: 2.3rem;
   margin-bottom: 1.8vh;
}

.post-sidebar .subscribe-form small {
   font-size: 1.1rem;
}

.post-sidebar .subscribe-form input {
   margin-bottom: .8vh;
   padding-top: 11px;
   padding-bottom: 11px;
}

.post-sidebar .subscribe-form button {
   font-size: 1.6rem;
   padding-top: 12px;
   padding-bottom: 12px;
}

/* RWD — Post Sidebar
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1024px) {
   .post-sidebar {
      display: none;
   }

}

/* --------------------------------------------------------------------------
   14.Post — Share
   -------------------------------------------------------------------------- */
.post-share {
   width: 100%;
   margin-top: 5vh;
}

.post-share>div {
   position: relative;
   display: inline-flex;
   width: 100%;
}

.post-share>div a {
   display: flex;
   align-items: center;
   flex: 1 0 60px;
   justify-content: center;
   height: 60px;
   transition: background-color .15s ease;
   background-color: var(--color-five);
}

.post-share>div a:hover {
   background-color: var(--color-two);
}

.post-share>div a:first-of-type {
   border-radius: calc(var(--border-radius) / 1.5) 0 0 calc(var(--border-radius) / 1.5);
}

.post-share>div a:last-of-type {
   border-radius: 0 calc(var(--border-radius) / 1.5) calc(var(--border-radius) / 1.5) 0;
}

.post-share svg {
   width: 18px;
   height: 18px;
   transition: fill .15s ease;
   fill: var(--color-font-one);
}

/* Copy link
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-share>div+input {
   display: block;
   cursor: default;
   opacity: 0;
   color: transparent;
}

.post-share-link {
   cursor: pointer;
}

.post-share-link svg {
   width: 21px;
   height: 21px;
}

.post-share-link+small {
   position: absolute;
   bottom: -27px;
   left: 0;
   display: inline-block;
   opacity: 0;
}

.post-share-link:not(:active)+small {
   transition: opacity 10s step-end;
}

.post-share-link:active+small {
   opacity: 1;
}

/* Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-meta-wrap .post-share-wrap {
   margin-left: auto;
}

.post-meta-wrap .post-share-wrap,
.post-meta-wrap .post-share-wrap a {
   display: flex;
}

.post-meta-wrap .post-share-wrap svg {
   width: 18px;
   margin-left: 16px;
   transition: opacity .12s ease;
   opacity: var(--opacity-one);
   fill: var(--color-font-one);
}

.post-meta-wrap .post-share-wrap svg:hover {
   opacity: 1;
}

/* RWD — Post share
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:768px) {
   .post-meta-wrap .post-share-wrap {
      display: none;
   }

}

@media (max-width:480px) {
   .post-share>div a {
      flex-grow: 0;
   }

   .post-share>div a:first-of-type {
      border-radius: calc(var(--border-radius) / 2) 0 0 calc(var(--border-radius) / 2);
   }

   .post-share>div a:last-of-type {
      border-radius: 0 calc(var(--border-radius) / 2) calc(var(--border-radius) / 2) 0;
   }

   .post-share svg {
      width: 16px;
      height: 16px;
   }

   .post-share-link svg {
      width: 20px;
      height: 20px;
   }

}

/* --------------------------------------------------------------------------
   15.Post — Navigation
   -------------------------------------------------------------------------- */
.navigation-section {
   margin-bottom: 7vh;
}

.navigation-section+.special-section {
   margin-top: 10vh;
}

.navigation-wrap,
.navigation-wrap a>div {
   display: flex;
}

/* Elements
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.navigation-wrap a {
   flex: 0 0 50%;
   box-sizing: border-box;
   pointer-events: none;
}

.navigation-wrap a:first-child:last-child {
   flex-grow: 1;
}

/* Label
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.navigation-wrap small {
   margin-bottom: 2vh;
   padding-bottom: .7em;
   border-bottom: var(--border) var(--color-border-one);
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.navigation-wrap a>div {
   align-items: center;
   min-height: 100px;
}

.navigation-prev {
   margin-left: auto;
   text-align: right;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.navigation-title {
   line-height: 0;
   display: inline-block;
   width: 100%;
}

.navigation-title>div {
   display: inline-block;
   box-sizing: border-box;
   max-width: 400px;
}

.navigation-next .navigation-title>div {
   padding-right: 2vw;
}

.navigation-prev .navigation-title>div {
   padding-left: 2vw;
}

.navigation-title h3 {
   font-size: 2.4rem;
   display: inline;
   margin: 0;
   pointer-events: auto;
}

.navigation-title h3:hover {
   text-decoration: underline;
   text-decoration-thickness: 2px;
   text-underline-offset: 3px;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.navigation-image {
   line-height: 0;
   align-self: flex-start;
   flex: 0 0 auto;
   width: 100px;
   transition: transform .3s ease;
   pointer-events: auto;
}

.navigation-image:hover {
   transform: translateY(-3px);
}

.navigation-next .navigation-image {
   margin-right: 18px;
}

.navigation-prev .navigation-image {
   margin-left: 18px;
}

/* RWD — Post — Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1280px) {
   .navigation-section+.special-section {
      margin-top: 7vh;
   }

}

@media (max-width:1024px) {
   .navigation-wrap a>div {
      min-height: 80px;
   }

   .navigation-title h3 {
      font-size: 2rem;
   }

   .navigation-image {
      width: 80px;
   }

}

@media (max-width:768px) {
   .navigation-wrap a>div {
      align-items: flex-start;
   }

   .navigation-title>div {
      max-width: 280px;
   }

   .navigation-title h3 {
      font-size: 1.8rem;
   }

   .navigation-next .navigation-image {
      margin-right: 12px;
   }

   .navigation-prev .navigation-image {
      margin-left: 12px;
   }

}

@media (max-width:480px) {
   .navigation-section {
      margin-bottom: 6vh;
   }

   .navigation-wrap {
      flex-wrap: wrap;
   }

   .navigation-wrap a {
      flex-basis: 100%;
   }

   .navigation-wrap a+a {
      margin-top: 4vh;
   }

   .navigation-title h3 {
      font-size: 2rem;
   }

   .navigation-wrap .navigation-image {
      aspect-ratio: 4/3;
   }

}

/* --------------------------------------------------------------------------
   16.Post — Comments
   -------------------------------------------------------------------------- */
.comments-section {
   margin-bottom: 7vh;
}

.comments-wrap {
   background-color: var(--color-five);
}

.comments-content {
   max-width: var(--max-width-post-wrap-one);
   margin-right: auto;
   margin-left: auto;
   padding-right: 4vw;
   padding-left: 4vw;
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.comments-content>div:first-of-type {
   padding-top: 8vh;
}

.comments-content>div:last-of-type {
   padding-bottom: 8vh;
}

/* Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.comments-header {
   display: flex;
   align-items: flex-end;
   margin-bottom: 4vh;
}

.comments-header h3 {
   font-weight: var(--font-weight-three-bold);
   line-height: 1.1;
   flex: 1 0 60%;
   letter-spacing: -.018em;
}

.comments-header h3,
.comments-header span {
   font-family: var(--font-family-three);
   display: block;
   margin: 0;
}

.comments-header span {
   font-size: 1.6rem;
   font-weight: var(--font-weight-three-regular);
   flex: 1 0 40%;
   text-align: right;
   opacity: var(--opacity-one);
}

/* RWD — Post — Comments
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1024px) {
   .comments-content {
      max-width: var(--max-width-post-wrap-two);
   }

}

@media (max-width:768px) {
   .comments-content {
      max-width: 100%;
   }

   .comments-content>div:first-of-type {
      padding-top: 4vh;
   }

   .comments-content>div:last-of-type {
      padding-bottom: 4vh;
   }

}

@media (max-width:480px) {
   .comments-header h3 {
      font-size: 2rem;
   }

   .comments-header span {
      font-size: 1.5rem;
   }

}

/* --------------------------------------------------------------------------
   17.Author & Tag page
   -------------------------------------------------------------------------- */
.archive-image {
   box-sizing: border-box;
   width: 160px;
   height: 160px;
   margin: 0 auto;
   padding: 15px;
   background-color: var(--ghost-accent-color);
}

div.is-archive-image {
   margin-top: 0;
}

.archive-image,
.archive-image img {
   border-radius: 100%;
}

/* Author social
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-social {
   display: inline-flex;
   flex-wrap: wrap;
   justify-content: center;
   margin-top: .5vh;
}

.archive-social a,
.archive-social span {
   font-size: 1.6rem;
   display: flex;
   align-items: center;
   margin: 0 1em 4px;
}

.archive-social a:hover {
   text-decoration: underline;
}

.archive-social svg {
   width: 18px;
   height: 18px;
   margin-right: 6px;
   fill: var(--color-font-one);
}

/* RWD — Author & Tag page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:480px) {
   .archive-image {
      width: 110px;
      height: 110px;
      padding: 11px;
   }

   .archive-social {
      margin-top: 1.5vh;
      margin-bottom: 1vh;
   }

   .archive-social a,
   .archive-social span {
      font-size: 1.4rem;
      margin-right: .5em;
      margin-left: .5em;
   }

}

/* --------------------------------------------------------------------------
   18.Footer
   -------------------------------------------------------------------------- */
.footer-wrap {
   margin-top: 8vh;
   margin-bottom: 3vh;
}

.footer-nav a:hover,
.footer-copyright a:hover {
   text-decoration: underline;
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-content {
   display: flex;
   align-items: flex-start;
   max-width: 100%;
}

.footer-logo-wrap {
   align-self: center;
   flex: 1 0 45%;
   margin-right: 30px;
   margin-bottom: 3vh;
}

/* Description
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-description {
   font-size: 1.6rem;
   max-width: 330px;
   margin: 2vh 0 0;
   opacity: var(--opacity-one);
}

/* Subscribe
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-subscribe {
   align-items: center;
   flex: 0 0 400px;
   text-align: center;
}

.footer-subscribe a {
   padding-top: .95em;
   padding-bottom: .95em;
}

.footer-subscribe a,
.footer-subscribe small {
   width: 100%;
}

.footer-subscribe small {
   font-size: 1.3rem;
   line-height: 1.3;
   display: inline-block;
   margin: 1vh auto 0;
   opacity: var(--opacity-one);
}

/* Form */
.footer-section .subscribe-form-subtitle,
.footer-section .subscribe-form {
   display: none;
}

.footer-section .subscribe-form {
   width: 100%;
   margin-bottom: 8vh;
   padding: 20px 26px 28px;
}

.footer-section .subscribe-form>div:first-of-type {
   max-width: 400px;
}

.footer-section .subscribe-form .subscribe-title {
   font-size: 2.6rem;
}

/* Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-nav {
   display: flex;
   flex-wrap: wrap;
   margin-top: 3vh;
   padding-top: 5vh;
   border-top: var(--border) var(--color-border-one);
}

.footer-nav-column {
   flex-grow: 1;
   width: 170px;
   max-width: 230px;
   margin-bottom: 3vh;
   padding-right: 2vw;
}

.footer-nav-column ul {
   margin: 0;
   padding: 0;
}

.footer-nav-column small {
   font-weight: var(--font-weight-three-bold);
   line-height: 1.2;
   display: block;
   margin: 0 0 2vh;
}

.footer-nav-column small,
.footer-nav-column li {
   font-size: 1.5rem;
}

.footer-nav-column li {
   margin-bottom: 1vh;
   list-style: none;
}

.footer-nav-column li svg {
   width: 16px;
   height: 16px;
   margin-right: 8px;
   transform: translateY(3px);
   fill: var(--color-font-one);
}

/* Copyright
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-copyright {
   font-size: 1.4rem;
   width: 100%;
   margin-top: 4vh;
   opacity: var(--opacity-one);
}

/* RWD — Footer
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) {
   .footer-wrap {
      margin-top: 5vh;
   }

   .footer-nav-column {
      width: 100px;
   }

}

@media (max-width:1024px) {
   .footer-subscribe {
      flex-basis: 300px;
   }

}

@media (max-width:768px) {
   .footer-content {
      flex-wrap: wrap;
   }

   .footer-subscribe {
      display: none;
   }

   .footer-section .subscribe-form-subtitle,
   .footer-section .subscribe-form {
      display: block;
   }

   .footer-nav {
      margin-top: 0;
      padding-top: 2vh;
      border-top: none;
   }

   .footer-nav-column {
      flex-grow: 0;
      box-sizing: border-box;
      width: 33.333%;
   }

}

@media (max-width:480px) {
   .footer-description {
      font-size: 1.8rem;
   }

   .footer-nav-column small {
      font-size: 1.7rem;
   }

   .footer-nav-column li {
      font-size: 1.6rem;
   }

   .footer-nav-column {
      box-sizing: border-box;
      width: 50%;
   }

}

@media (min-width:769px) {
   .footer-nav-column:last-child {
      padding-right: 0;
   }

}

/* --------------------------------------------------------------------------
   19.Custom — Pages
   -------------------------------------------------------------------------- */
.custom-page {
   height: 100vh;
}

.custom-wrap {
   min-height: 100%;
}

.custom-wrap,
.custom-container,
.custom-content,
.custom-logo-wrap {
   display: flex;
}

.custom-content,
.custom-logo-wrap {
   align-items: center;
}

.custom-container {
   flex-direction: column;
   flex-grow: 1;
   text-align: center;
}

.custom-content {
   flex: 1 0 auto;
   width: 100%;
   max-width: 340px;
   margin: 0 auto 12vh;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-image {
   width: 35%;
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-logo-wrap {
   min-height: 90px;
}

.custom-logo {
   margin: 6vh auto 0;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-title {
   font-size: 3rem;
   line-height: 1.1;
   margin: 3vh 0;
}

/* Form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-content form {
   width: 100%;
}

.custom-content input {
   word-break: break-all;
   border-radius: 100px;
}

.custom-content input,
.custom-content textarea {
   font-size: 1.6rem;
   display: block;
   box-sizing: border-box;
   width: 100%;
   margin-bottom: 1.5vh;
   padding: 1em 1.2em;
   transition: background-color .16s ease;
   background-color: var(--color-one);
}

.custom-content input:hover,
.custom-content input:focus,
.custom-content textarea:hover,
.custom-content textarea:focus {
   background-color: var(--color-two);
}

.custom-content input:last-of-type {
   margin-bottom: 1.5vh;
}

.custom-content textarea {
   min-height: 120px;
   resize: vertical;
   border-radius: calc(var(--border-radius) / 1.5);
}

.custom-content button {
   margin-top: 2vh;
}

/* Alerts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-content .alert-loading,
.custom-content .alert-error {
   margin-top: 3vh;
}

.custom-content form.loading .alert-loading,
.custom-content form.success+.alert-success,
.custom-content form.error .alert-error {
   display: inline-block;
}

/* Success */
.custom-content form.success,
.custom-content form+.alert-success {
   display: none;
}

.custom-content form.success+.alert-success {
   width: 100%;
}

.custom-content .alert-success p {
   font-size: 1.8rem;
   margin-bottom: 4vh;
   opacity: var(--opacity-one);
}

/* RWD — Custom pages
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1024px) {
   .custom-wrap {
      padding-right: var(--margin-wrap-left-right);
      padding-left: var(--margin-wrap-left-right);
   }

   .custom-image {
      display: none;
   }

}

@media (max-width:480px) {
   .custom-content {
      margin-bottom: 20vh;
   }

}

/* --------------------------------------------------------------------------
   20.Custom — Error page
   -------------------------------------------------------------------------- */
.custom-error {
   text-align: center;
}

.custom-error+.loop-section .item:nth-child(4) {
   display: none;
}

.custom-error-content {
   flex-direction: column;
   margin-top: 3vh;
   margin-bottom: 10vh;
}

.custom-error h1 {
   font-family: var(--font-family-two);
   font-size: 16rem;
   font-weight: var(--font-weight-two-bold);
   line-height: 1;
   margin: 0;
}

.custom-error p {
   box-sizing: border-box;
   margin-top: 2vh;
   margin-bottom: 4vh;
   padding: 0 20px;
}

/* RWD — Error page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:480px) {
   .custom-error h1 {
      font-size: 12rem;
   }

}

/* --------------------------------------------------------------------------
   21.Custom — Membership page
   -------------------------------------------------------------------------- */
.membership-section {
   margin-bottom: 7vh;
   padding-bottom: 7vh;
}

.membership-wrap {
   position: relative;
   z-index: 0;
   padding: 8vh 4vw;
   background-color: var(--color-five);
}

.membership-switch[data-active-price="yearly"]+.membership-cards [data-monthly],
.membership-switch[data-active-price="monthly"]+.membership-cards [data-yearly] {
   display: none;
}

/* Switch
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-switch,
.membership-switch::before,
.membership-switch-button {
   border-radius: 100px;
}

.membership-switch,
.membership-switch button {
   position: relative;
}

.membership-switch {
   display: flex;
   box-sizing: border-box;
   width: 100%;
   max-width: 240px;
   min-height: 50px;
   margin: 0 auto 4vh;
   padding: 5px;
   background-color: var(--color-body);
}

.membership-switch[data-active-price="monthly"]::before {
   transform: translateX(-100%);
}

.membership-switch::before {
   position: absolute;
   top: 5px;
   right: 5px;
   bottom: 5px;
   width: calc(50% - 5px);
   content: "";
   transition: transform .15s ease-in-out;
   background-color: var(--color-two);
}

.membership-switch button {
   font-size: 1.5rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1;
   width: 50%;
   padding: 0;
   cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
   color: var(--color-font-one);
   border: 0;
   outline: none;
   background-color: transparent;
   box-shadow: none;
}

/* Cards
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-cards,
.membership-card {
   display: flex;
   flex-wrap: wrap;
}

.membership-cards {
   justify-content: center;
   -webkit-animation: slideTop .8s ease;
   animation: slideTop .8s ease;
}

.membership-cards,
.membership-card-content {
   width: 100%;
}

.membership-card {
   position: relative;
   flex: 1 0 calc(33.333% - var(--grid-gap));
   box-sizing: border-box;
   min-width: 280px;
   max-width: 450px;
   margin: calc(var(--grid-gap) / 2);
   padding: 3vh 2.6vh 2.6vh;
   color: var(--color-font-one);
   background-color: var(--color-body);
}

/* Label */
.membership-card small {
   font-size: 1.3rem;
   font-weight: var(--font-weight-three-medium);
   line-height: 1;
   position: absolute;
   top: 10px;
   right: 10px;
   display: inline-block;
   box-sizing: border-box;
   margin: 0;
   padding: .3em .8em;
   border: var(--border) var(--color-border-two);
   border-radius: 100px;
}

/* Price */
.membership-card-price {
   font-size: 6rem;
   line-height: 1;
   margin: 0;
}

.membership-card-price sup {
   font-size: 57%;
   font-weight: var(--font-weight-three-bold);
}

.membership-card-price sup,
.membership-card-price span {
   font-family: var(--font-family-three);
}

.membership-card-price span {
   font-size: 1.6rem;
   font-weight: var(--font-weight-three-medium);
}

/* Description */
.membership-card-excerpt {
   margin-top: 2vh;
   margin-bottom: 0;
}

/* List */
.membership-card-list ul {
   margin: 2.5vh 0 0;
   padding: 2.5vh 0 0;
   border-top: var(--border) var(--color-border-one);
}

.membership-card-list li {
   font-size: 1.6rem;
   margin: 0 0 .5em;
   list-style: none;
   opacity: var(--opacity-one);
}

.membership-card-list li::before {
   font-family: var(--font-family-system);
   font-size: 1.6rem;
   font-weight: bold;
   margin-right: 7px;
   content: "✓";
   transform: translateY(-3px);
}

/* Button */
.membership-button {
   align-self: flex-end;
   width: 100%;
   margin: 4vh auto 0;
}

/* Question
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-wrap+small {
   margin-top: 2vh;
   text-align: center;
}

/* FAQs
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.faq-section {
   margin-top: -3vh;
   margin-bottom: 15vh;
}

.faq-title {
   margin: 0 0 4vh;
   text-align: center;
}

.faq-content {
   max-width: 820px;
   margin: 0 auto;
}

.faq-content .kg-toggle-card {
   padding: 0;
   border-top: 0;
   border-bottom: var(--border) var(--color-border-one);
   border-radius: 0;
   box-shadow: none;
}

.faq-content .kg-toggle-card:first-of-type {
   border-top: var(--border) var(--color-border-one);
}

.faq-content .kg-toggle-card,
.faq-content .kg-toggle-card+.kg-toggle-card {
   margin-top: 0;
}

.faq-content .kg-toggle-card .kg-toggle-heading {
   position: relative;
   padding: 3.2vh 12vw 3.2vh 0;
}

.faq-content .kg-toggle-card .kg-toggle-heading-text {
   font-family: var(--font-family-one);
   font-size: 2.6rem;
   font-weight: var(--font-weight-one-bold);
   line-height: 1.3;
}

.faq-content .kg-toggle-card .kg-toggle-card-icon {
   position: absolute;
   top: calc(50% - 10px);
   right: 10px;
   margin: 0;
   padding: 0;
   cursor: pointer;
}

.faq-content .kg-toggle-card .kg-toggle-card-icon,
.faq-content .kg-toggle-card .kg-toggle-card-icon svg {
   width: 20px;
   height: 20px;
   color: var(--color-three);
}

.faq-content [data-kg-toggle-state="open"] .kg-toggle-card-icon {
   transform: rotate(0);
}

.faq-content .kg-toggle-card .kg-toggle-content p {
   font-size: 2rem;
   box-sizing: initial;
   max-width: 700px;
   margin-bottom: 5vh;
   padding: 0 4vw 0 0;
   opacity: var(--opacity-one);
}

/* RWD — Membership page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) {
   .membership-wrap {
      padding: 3vh;
   }

   .membership-switch {
      margin-top: 4vh;
   }

}

@media (max-width:1024px) {
   .membership-section {
      padding-bottom: 5vh;
   }

   .membership-card {
      max-width: calc(100% - var(--grid-gap));
   }

   .membership-card-list li {
      font-size: 1.4rem;
      margin-bottom: 2px;
   }

}

@media (max-width:768px) {
   .faq-section {
      margin-bottom: 12vh;
   }

   .faq-content .kg-toggle-card .kg-toggle-heading-text {
      font-size: 2rem;
   }

   .faq-content .kg-toggle-card .kg-toggle-card-icon {
      right: 0;
   }

}

@media (max-width:480px) {
   .membership-wrap {
      padding-right: 26px;
      padding-left: 26px;
   }

   .membership-switch {
      max-width: 70%;
      min-height: 42px;
   }

   .membership-switch button {
      font-size: 1.3rem;
   }

   .membership-card {
      min-width: 220px;
      max-width: 100%;
      margin: 0 0 2vh;
   }

   .membership-card-price {
      font-size: 5rem;
   }

   .faq-content .kg-toggle-card .kg-toggle-content p {
      font-size: 1.6rem;
   }

}

/* --------------------------------------------------------------------------
   22.Custom — Account page
   -------------------------------------------------------------------------- */
.account-section+.special-section {
   margin-top: 14vh;
}

.account-section+.membership-section {
   margin-bottom: 0;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-image.is-account {
   position: relative;
}

.archive-image.is-account::before {
   top: 1px;
   right: 1px;
   bottom: 1px;
   left: 1px;
   content: '';
   background-color: var(--ghost-accent-color);
}

.archive-image.is-account::before {
   border-radius: 100%;
}

.archive-image.is-account img {
   position: relative;
   z-index: 1;
   background-color: transparent;
}

.archive-image.is-account::before,
.archive-image.is-account svg {
   position: absolute;
   z-index: 0;
}

.archive-image.is-account svg {
   top: 50%;
   left: 50%;
   width: 30px;
   height: 30px;
   transform: translate(-15px, -15px);
}

/* Details
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-details {
   max-width: 600px;
   margin: 0 auto 8vh;
   text-align: left;
}

.account-details+.account-details {
   margin-top: 20px;
}

.account-details-wrap,
.account-detail-column>div {
   box-sizing: border-box;
}

.account-details-wrap {
   margin-bottom: 10px;
   background-color: var(--color-five);
}

.account-details-content {
   display: flex;
   flex-wrap: wrap;
   padding: 30px 6% 20px;
}

.account-detail-column {
   flex-basis: auto;
   min-width: 210px;
   padding-right: 35px;
}

.account-detail-column>div {
   padding: 12px 0;
}

.account-detail-column+small {
   margin-top: 12px;
}

.account-detail-heading {
   font-size: 1.3rem;
   line-height: 1;
   display: block;
   opacity: var(--opacity-one);
}

.account-detail-content {
   font-size: 1.6rem;
   font-weight: var(--font-weight-three-bold);
   display: inline-block;
   margin-top: 10px;
}

/* Sign out button */
.account-signout-wrap {
   width: 100%;
   margin-top: 2vh;
   padding-top: 18px;
   text-align: right;
   border-top: var(--border) var(--color-border-one);
}

/* Expired */
.account-alert-expired {
   font-size: 1.2rem;
   opacity: var(--opacity-one);
}

/* Buttons
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-buttons {
   font-size: 1.2rem;
   position: relative;
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   opacity: var(--opacity-one);
}

.account-button {
   margin-right: 12px;
}

.account-button:hover {
   text-decoration: underline;
}

.account-button+.cancel-error {
   position: absolute;
   bottom: -6vh;
   left: 50%;
   transform: translateX(-50%);
}

.account-button.error+.cancel-error {
   display: inline-table;
   padding: 3px 10px;
   color: var(--color-font-black);
   border-radius: 100px;
   background-color: var(--color-alert-error);
}

/* RWD — Account page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:480px) {
   .account-details-content {
      padding-right: 26px;
      padding-left: 26px;
   }

}

/* --------------------------------------------------------------------------
   23.Custom — Authors & Tags page
   -------------------------------------------------------------------------- */
.custom-archive {
   margin-bottom: 9vh;
}

.custom-archive>div {
   gap: calc(var(--grid-gap) / 2);
   grid-gap: calc(var(--grid-gap) / 2);
}

.custom-archive>div.is-tags {
   grid-template-columns: repeat(6, 1fr);
}

.custom-archive>div.is-authors {
   grid-template-columns: repeat(5, 1fr);
}

.custom-archive .item {
   margin-bottom: 2.4vh;
}

.custom-archive .item-content {
   padding-right: 5px;
}

.custom-archive .item small {
   font-size: 1.3rem;
   font-weight: var(--font-weight-three-medium);
   margin-top: .4vh;
   opacity: var(--opacity-one);
}

.custom-archive .item-image {
   margin-bottom: 1.3vh;
}

.custom-archive .item-title {
   font-size: 2.4rem;
   margin-top: 0;
}

.custom-archive .item-excerpt {
   margin-top: 1.3vh;
}

.custom-archive .item-excerpt.is-authors {
   -webkit-line-clamp: 6;
}

/* RWD — Authors & Tags page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1480px) {
   .custom-archive>div.is-tags {
      grid-template-columns: repeat(5, 1fr);
   }

}

@media (max-width:1280px) {
   .custom-archive>div.is-tags {
      grid-template-columns: repeat(4, 1fr);
   }

   .custom-archive>div.is-authors {
      grid-template-columns: repeat(4, 1fr);
   }

}

@media (max-width:1024px) {
   .custom-archive>div.is-authors {
      grid-template-columns: repeat(3, 1fr);
   }

}

@media (max-width:768px) {
   .custom-archive>div {
      gap: var(--grid-gap);
      grid-gap: var(--grid-gap);
   }

   .custom-archive>div.is-tags {
      grid-template-columns: repeat(3, 1fr);
   }

   .custom-archive .item-title {
      font-size: 2rem;
   }

}

@media (max-width:480px) {
   .custom-archive {
      margin-bottom: 6vh;
   }

   .custom-archive>div.is-tags,
   .custom-archive>div.is-authors {
      grid-template-columns: repeat(2, 1fr);
   }

}

/* added by alain */
#topnav {
   position: fixed;
   right: 0;
   left: 0;
   top: 0;
   z-index: 999;
   background-color: initial;
   border: 0;
   transition: all .5s ease;
   height: 68px;
   display: flex;
   justify-content: center;
   align-items: center;
}

#topnav.nav-sticky {
   background: #fff;
   box-shadow: 0 0 3px rgb(60 72 88 / 15%);
}

#topnav .logo {
   position: relative;
   color: #3c4858 !important;
   padding-top: 5px;
}

#topnav .logo img {
   width: 135px;
   height: 45px;
   object-fit: contain;
}

#topnav .logo .beta {
   font-family: SemplicitaPro;
   font-style: normal;
   font-weight: 600;
   font-size: 12px !important;
   line-height: 18px;
   color: #3aabb0;
   padding: 1px 5px 2px;
   background: #edf9fa;
   border-radius: 4px;
   position: absolute;
   right: -24px;
   top: -4px;
}

#topnav .navigation-menu {
   list-style: none;
   margin: 0;
   padding: 0;
}

#topnav .navigation-menu>li {
   float: left;
   display: block;
   position: relative;
   margin: 0 10px;
}

#topnav .navigation-menu>li.active>a {
   color: var(--color-darkgrey);
}

#topnav .navigation-menu>li>a {
   display: block;
   color: #3c4858;
   background-color: initial !important;
   transition: all .5s;
   font-family: SemplicitaPro-Medium, serif;
   padding-left: 0;
   padding-right: 30px;
   font-style: normal;
   font-weight: 400;
   font-size: 16px;
   line-height: 31px;
}

#topnav .navigation-menu>li>.active_nav_indicator {
   display: none;
}

#topnav .navigation-menu>li.active>.active_nav_indicator {
   background-color: #2e3f57;
}

#topnav .navigation-menu>li.active>.active_nav_indicator {
   display: inherit;
   width: 26px;
   height: 2px;
}

#topnav .menu-extras {
   display: none;
}

#topnav .navbar-toggle {
   border: 0;
   position: relative;
   width: 60px;
   padding: 0;
   margin: 0;
   cursor: pointer;
}

#topnav .navbar-toggle .lines {
   width: 25px;
   display: block;
   position: relative;
   margin: 28px 20px;
   height: 18px;
}

#topnav .navbar-toggle span {
   height: 2px;
   width: 100%;
   background-color: #3c4858;
   display: block;
   margin-bottom: 5px;
   transition: -webkit-transform .5s ease;
   transition: transform .5s ease;
   transition: transform .5s ease, -webkit-transform .5s ease;
}

#topnav .navbar-toggle.open span:first-child {
   top: 6px;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}

#topnav .navbar-toggle.open span:last-child {
   width: 100%;
   top: 6px;
   -webkit-transform: rotate(-45deg);
   transform: rotate(-45deg);
}

#topnav .navbar-toggle.open span {
   position: absolute;
}

#topnav .navbar-toggle.open span:nth-child(2) {
   visibility: hidden;
}

#topnav .auth-btns .signin-btn {
   width: 100px;
   height: 45px;
   border-radius: 8px !important;
   background-color: #3AABB0 !important;
   border: #3AABB0 1px solid !important;
   color: white !important;
   white-space: nowrap;
   font-family: 'SemplicitaPro' !important;
   font-style: normal;
   font-weight: 600;
   font-size: 16px !important;
   line-height: 25px;
   text-align: center;
}

#topnav .auth-btns .signup-btn {
   background-color: white !important;
   border: #3AABB0 2px solid !important;
   color: #3AABB0 !important;
   border-radius: 8px !important;
   width: 100px;
   height: 45px;
   white-space: nowrap;
   font-family: 'SemplicitaPro' !important;
   font-style: normal;
   font-weight: 600;
   font-size: 16px !important;
   line-height: 25px;
   text-align: center;
}

@media (min-width: 992px) {
   #topnav #navigation {
      display: flex !important;
   }

   #topnav .navigation-menu {
      display: flex;
      justify-content: center;
   }

   #topnav .navbar-toggle {
      display: none;
   }
}

@media (max-width: 991px) {
   #navigation .navigation-menu {
      display: none;
   }

   .auth-btns {
      display: none !important;
   }

   #topnav .menu-extras {
      display: block;
   }

   #topnav .navigation-menu,
   #topnav .navigation-menu>li {
      float: none;
   }

   #navigation .navigation-menu.open {
      display: block;
      position: absolute;
      top: 78px;
      width: 100%;
      left: 0;
      background: white;
      padding: 20px 0px;
   }

   #topnav .navigation-menu,
   #topnav .navigation-menu>li {
      padding: 10px 20px;
   }
}

@media (min-width: 768px) {
   .navbar-toggle {
      display: block;
   }
}

@media (max-width: 576px) {
   #topnav .logo {
      width: 120px;
   }

   #topnav .logo img {
      width: 120px;
   }
}

.gh-head {
   padding-top: min(24px, 3.6vmin);
   padding-bottom: min(24px, 3.6vmin);
   font-size: 1.6rem;
   line-height: 1.3em;
   background-color: #fff;
}

.home-template,
.post-template {
   background-image: url('https://info.planna.co/content/images/2022/09/Lines.0c1ab72a.svg');
   background-repeat: no-repeat;
   background-attachment: fixed;
   background-position: center;
}

.has-cover:not(.home-template) .gh-head {
   background-color: var(--ghost-accent-color);
   color: #fff;
}

.home-template.has-cover .gh-head {
   position: absolute;
   top: 0;
   right: 0;
   left: 0;
   z-index: 2000;
   background-color: transparent;
   color: #fff;
}

.gh-head a {
   text-decoration: none;
}

.gh-head-inner {
   display: grid;
   grid-gap: 40px;
   grid-template-columns: auto auto 1fr;
   grid-auto-flow: row dense;
}

/* 11. Site Footer
/* ---------------------------------------------------------- */

.site-footer {
   color: #fff;
   background: #2e3f57;
   position: relative;
   padding-top: 24px;
   padding-bottom: 24px;
   margin: 40px 0 0;
}

.site-footer a {
   text-decoration: none !important;
}

.site-footer .logo-footer {}

.site-footer .logo-footer img {
   width: 142px;
   height: 50px;
   object-fit: contain;
}

.site-footer .ric_logo img {
   height: 100px;
}

.social-icon.foot-social-icon li a {
   color: #adb5bd;
   border-color: #374b68;
}

.social-icon li a {
   color: #3c4858;
   margin-right: 10px;
   display: inline-block;
   line-height: 28px;
   text-align: center;
   transition: all .4s ease;
   overflow: hidden;
   position: relative;
}

.site-footer .footer-head {
   font-family: SemplicitaPro-Bold, serif;
   font-size: 18px !important;
   line-height: 28px;
   margin-bottom: 0 !important;
   color: #f8f9fc !important
}

.site-footer .footer-list {
   margin-bottom: 0;
}

.site-footer .footer-list li {
   margin-bottom: 10px;
   line-height: 24px;
}

.site-footer .footer-list li:last-child {
   margin-bottom: 0;
}

.site-footer .footer-list li a {
   transition: all .5s ease;
}

.site-footer .footer-bar {
   padding: 37px 0 4px;
}

.site-footer ul {
   padding-left: 0 !important;
   padding-right: 0 !important;
}

.site-footer .copy-right {
   font-family: "SemplicitaPro";
   font-style: normal;
   font-weight: 700;
   font-size: 18px;
   line-height: 28px;
   text-align: center;
   color: #fff;
}

.site-footer .text-foot {
   font-family: SemplicitaPro;
   font-style: normal;
   font-weight: 500;
   font-size: 16px !important;
   line-height: 24px;
   color: #fff;
}

.site-footer .footer-column h5 {
   margin-top: 0 !important;
}

.site-footer .subscribe-column {
   padding-left: 0;
   padding-right: 0;
   justify-content: flex-start;
}

@media (max-width: 992px) {
   .site-footer .text-foot {
      font-size: 16px;
      line-height: 20px;
   }

   .site-footer .footer-head {
      font-size: 17px !important;
      line-height: 24px;
   }

   .site-footer .copy-right {
      font-size: 14px;
      line-height: 18px;
   }
}

@media (max-width: 576px) {
   .site-footer .text-foot {
      font-size: 14px;
      line-height: 18px;
   }

   .site-footer .footer-head {
      font-size: 16px !important;
      line-height: 20px;
   }

   .site-footer .footer-column {
      text-align: center;
      justify-content: center;
   }

   .site-footer .copy-right {
      font-size: 14px;
      line-height: 16px;
   }

   .site-footer .logo-footer {
      display: flex;
      justify-content: center;
      align-items: center;
   }

   .site-footer .logo-footer img {
      margin-top: 12px;
      margin-left: 0px;
   }
}

/* 12. Dark Mode
/* ---------------------------------------------------------- */

html.dark-mode body {
   color: rgba(255, 255, 255, 0.75);
   background: var(--color-darkmode);
}

html.dark-mode img {
   opacity: 0.9;
}

html.dark-mode kbd {
   background: color-mod(var(--color-darkmode) l(+5%));
}

html.dark-mode figcaption a {
   color: #fff;
}

html.dark-mode .gh-head {
   background: var(--color-darkmode);
   color: #fff;
}

html.dark-mode .gh-burger-box {
   color: #fff;
}

html.dark-mode .site-header-content {
   color: #fff;
}

html.dark-mode .post-card-image {
   background: var(--color-darkmode);
}

html.dark-mode :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
   color: color-mod(var(--color-secondary-text) l(-22%));
}

html.dark-mode .post-card-featured {
   color: #fff;
}

html.dark-mode .post-card-title {
   color: #fff;
}

html.dark-mode .post-card-excerpt {
   color: var(--color-secondary-text);
}

html.dark-mode .author-profile-location {
   color: #fff;
}

html.dark-mode .author-profile-social-link:hover {
   color: #fff;
}

html.dark-mode .article-title {
   color: #fff;
}

html.dark-mode .article-excerpt {
   color: var(--color-secondary-text);
}

html.dark-mode .post-full-image {
   background-color: color-mod(var(--color-darkmode) l(+8%));
}

html.dark-mode .author-avatar {
   border-color: var(--color-darkmode);
   background-color: color-mod(var(--color-darkmode) l(+8%));
}

html.dark-mode .author-profile-image {
   opacity: 1;
}

html.dark-mode .author-profile-image path {
   fill: var(--color-darkmode);
}

html.dark-mode .article-byline-meta .author-name a {
   color: #fff;
}

html.dark-mode .no-image .author-social-link a {
   color: rgba(255, 255, 255, 0.75);
}

html.dark-mode .gh-content>[id] {
   color: rgba(255, 255, 255, 0.9);
}

html.dark-mode .gh-content pre {
   background: color-mod(var(--color-darkgrey) l(-8%));
}

html.dark-mode .gh-content :not(pre)>code {
   background: color-mod(var(--color-darkgrey) l(+6%));
   border-color: color-mod(var(--color-darkmode) l(+8%));
   color: var(--color-wash);
}

html.dark-mode .gh-content a:not(.kg-btn):not(.kg-nft-card-container):not(.kg-product-card-button):not(.kg-header-card-button) {
   color: #fff;
}

html.dark-mode .gh-content strong {
   color: #fff;
}

html.dark-mode .gh-content em {
   color: #fff;
}

html.dark-mode .gh-content code {
   color: #fff;
   background: #000;
}

html.dark-mode hr {
   border-top-color: color-mod(var(--color-darkmode) l(+8%));
}

html.dark-mode .gh-content hr:after {
   background: color-mod(var(--color-darkmode) l(+8%));
   box-shadow: var(--color-darkmode) 0 0 0 5px;
}

html.dark-mode figcaption {
   color: rgba(255, 255, 255, 0.6);
}

html.dark-mode .gh-content table td:first-child {
   background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
}

html.dark-mode .gh-content table td:last-child {
   background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
}

html.dark-mode .gh-content table th {
   color: rgba(255, 255, 255, 0.85);
   background-color: color-mod(var(--color-darkmode) l(+8%));
}

html.dark-mode .gh-content table th,
html.dark-mode .gh-content table td {
   border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
}

html.dark-mode .gh-content input {
   color: color-mod(var(--color-midgrey) l(-30%));
}

html.dark-mode .site-archive-header .no-image {
   color: rgba(255, 255, 255, 0.9);
   background: var(--color-darkmode);
}

html.dark-mode .kg-header-card.kg-style-dark {
   background: color-mod(var(--color-darkgrey) l(-5%));
}

html.dark-mode .kg-header-card.kg-style-light {
   background: color-mod(var(--color-darkgrey) l(+5%));
}

html.dark-mode .kg-header-card h2.kg-header-card-header,
html.dark-mode .kg-header-card h3.kg-header-card-subheader {
   color: #fff;
}

html.dark-mode .footer-cta-title {
   font-family: Lora-Semibold;
   color: #fff;
}

@media (prefers-color-scheme: dark) {
   html.auto-color body {
      color: rgba(255, 255, 255, 0.75);
      background: var(--color-darkmode);
   }

   html.auto-color img {
      opacity: 0.9;
   }

   html.auto-color kbd {
      background: color-mod(var(--color-darkmode) l(+5%));
   }

   html.auto-color figcaption a {
      color: #fff;
   }

   html.auto-color .gh-head {
      background: var(--color-darkmode);
      color: #fff;
   }

   html.auto-color .gh-burger-box {
      color: #fff;
   }

   html.auto-color .site-header-content {
      color: #fff;
   }

   html.auto-color .post-card-image {
      background: var(--color-darkmode);
   }

   html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
      color: color-mod(var(--color-secondary-text) l(-22%));
   }

   html.auto-color .post-card-featured {
      color: #fff;
   }

   html.auto-color .post-card-title {
      color: #fff;
   }

   html.auto-color .post-card-excerpt {
      color: var(--color-secondary-text);
   }

   html.auto-color .author-profile-location {
      color: #fff;
   }

   html.auto-color .author-profile-social-link:hover {
      color: #fff;
   }

   html.auto-color .article-title {
      color: #fff;
   }

   html.auto-color .article-excerpt {
      color: var(--color-secondary-text);
   }

   html.auto-color .post-full-image {
      background-color: color-mod(var(--color-darkmode) l(+8%));
   }

   html.auto-color .author-avatar {
      border-color: var(--color-darkmode);
      background-color: color-mod(var(--color-darkmode) l(+8%));
   }

   html.auto-color .author-profile-image {
      opacity: 1;
   }

   html.auto-color .author-profile-image path {
      fill: var(--color-darkmode);
   }

   html.auto-color .article-byline-meta .author-name a {
      color: #fff;
   }

   html.auto-color .no-image .author-social-link a {
      color: rgba(255, 255, 255, 0.75);
   }

   html.auto-color .gh-content>[id] {
      color: rgba(255, 255, 255, 0.9);
   }

   html.auto-color .gh-content pre {
      background: color-mod(var(--color-darkgrey) l(-8%));
   }

   html.auto-color .gh-content :not(pre)>code {
      background: color-mod(var(--color-darkgrey) l(+6%));
      border-color: color-mod(var(--color-darkmode) l(+8%));
      color: var(--color-wash);
   }

   html.auto-color .gh-content a:not(.kg-btn):not(.kg-nft-card-container):not(.kg-product-card-button):not(.kg-header-card-button) {
      color: #fff;
   }

   html.auto-color .gh-content strong {
      color: #fff;
   }

   html.auto-color .gh-content em {
      color: #fff;
   }

   html.auto-color .gh-content code {
      color: #fff;
      background: #000;
   }

   html.auto-color hr {
      border-top-color: color-mod(var(--color-darkmode) l(+8%));
   }

   html.auto-color .gh-content hr:after {
      background: color-mod(var(--color-darkmode) l(+8%));
      box-shadow: var(--color-darkmode) 0 0 0 5px;
   }

   html.auto-color figcaption {
      color: rgba(255, 255, 255, 0.6);
   }

   html.auto-color .gh-content table td:first-child {
      background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
   }

   html.auto-color .gh-content table td:last-child {
      background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
   }

   html.auto-color .gh-content table th {
      color: rgba(255, 255, 255, 0.85);
      background-color: color-mod(var(--color-darkmode) l(+8%));
   }

   html.auto-color .gh-content table th,
   html.auto-color .gh-content table td {
      border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
   }

   html.auto-color .gh-content input {
      color: color-mod(var(--color-midgrey) l(-30%));
   }

   html.auto-color .site-archive-header .no-image {
      color: rgba(255, 255, 255, 0.9);
      background: var(--color-darkmode);
   }

   html.auto-color .kg-header-card.kg-style-dark {
      background: color-mod(var(--color-darkgrey) l(-5%));
   }

   html.auto-color .kg-header-card.kg-style-light {
      background: color-mod(var(--color-darkgrey) l(+5%));
   }

   html.auto-color .kg-header-card h2.kg-header-card-header,
   html.auto-color .kg-header-card h3.kg-header-card-subheader {
      color: #fff;
   }

   html.auto-color .footer-cta-title {
      font-family: Lora-Semibold;
      color: #fff;
   }
}

/* Reset
/* ---------------------------------------------------------- */
@font-face {
   font-family: 'Lora-Regular';
   src: url(../fonts/Lora-Regular.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-Italic';
   src: url(../fonts/Lora-Italic.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-Medium';
   src: url(../fonts/Lora-Medium.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-MediumItalic';
   src: url(../fonts/Lora-MediumItalic.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-Semibold';
   src: url(../fonts/Lora-SemiBold.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-SemiboldItalic';
   src: url(../fonts/Lora-SemiBoldItalic.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-Bold';
   src: url(../fonts/Lora-Bold.ttf) format('truetype');
}

@font-face {
   font-family: 'Lora-BoldItalic';
   src: url(../fonts/Lora-BoldItalic.ttf) format('truetype');
}

/*    */
@font-face {
   font-family: 'SemplicitaPro-Italic';
   src: url(../fonts/SemplicitaPro-Italic.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-Light';
   src: url(../fonts/SemplicitaPro-Light.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-LtIt';
   src: url(../fonts/SemplicitaPro-LtIt.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-Medium';
   src: url(../fonts/SemplicitaPro-Medium.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-MedIt';
   src: url(../fonts/SemplicitaPro-MedIt.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-Semibold';
   src: url(../fonts/SemplicitaPro-Semibold.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-SemibdIt';
   src: url(../fonts/SemplicitaPro-SemibdIt.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-Bold';
   src: url(../fonts/SemplicitaPro-Bold.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro-BoldItalic';
   src: url(../fonts/SemplicitaPro-BoldItalic.otf) format('opentype');
}

@font-face {
   font-family: 'SemplicitaPro';
   src: url(../fonts/SemplicitaPro.otf) format('opentype');
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
   width: 100%;
   padding-right: 12px;
   padding-left: 12px;
   margin-right: auto;
   margin-left: auto;
}

@media (min-width: 576px) {

   .container,
   .container-sm {
      max-width: 540px;
   }
}

@media (min-width: 768px) {

   .container,
   .container-sm,
   .container-md {
      max-width: 688px;
   }
}

@media (min-width: 992px) {

   .container,
   .container-sm,
   .container-md,
   .container-lg {
      max-width: 892px;
   }
}

@media (min-width: 1200px) {

   .container,
   .container-sm,
   .container-md,
   .container-lg,
   .container-xl {
      max-width: 1080px;
   }
}

@media (min-width: 1400px) {

   .container,
   .container-sm,
   .container-md,
   .container-lg,
   .container-xl,
   .container-xxl {
      max-width: 1240px !important;
   }
}

.row {
   --bs-gutter-x: 24px;
   --bs-gutter-y: 0;
   display: flex;
   flex-wrap: wrap;
   margin-top: calc(var(--bs-gutter-y)*-1);
   margin-right: calc(var(--bs-gutter-x)*-0.5);
   margin-left: calc(var(--bs-gutter-x)*-0.5);
}

.row>* {
   position: relative;
   flex-shrink: 0;
   width: 100%;
   max-width: 100%;
   padding-right: calc(var(--bs-gutter-x)*0.5);
   padding-left: calc(var(--bs-gutter-x)*0.5);
   margin-top: var(--bs-gutter-y);
}

.flex_1 {
   flex: 1 1;
}

.pb-0 {
   padding-bottom: 0 !important;
}

.p-4 {
   padding-top: 24px !important;
   padding-bottom: 24px !important;
}

.pt-2 {
   padding-top: 8px !important;
}

.mb-0 {
   margin-bottom: 0 !important;
}

.mb-2 {
   margin-bottom: 8px !important;
}

.mt-3 {
   margin-top: 16px !important;
}

.mt-4 {
   margin-top: 24px !important;
}

.me-1 {
   margin-right: 4px !important;
}

.ms-2 {
   margin-left: 8px !important;
}

.col-12 {
   flex: 0 0 auto;
   width: 100%;
}

@media (min-width: 576px) {
   .pt-sm-0 {
      padding-top: 0 !important;
   }
}

@media (min-width: 768px) {
   .pb-md-2 {
      padding-bottom: 8px !important;
   }

   .mb-md-4 {
      margin-bottom: 24px !important;
   }

   .col-md-4 {
      flex: 0 0 auto;
      width: 33.33333%;
   }

   .col-md-6 {
      flex: 0 0 auto;
      width: 50%;
   }
}

@media (min-width: 992px) {
   .mb-lg-5 {
      margin-bottom: 48px !important;
   }

   .col-lg-2 {
      flex: 0 0 auto;
      width: 16.66667%;
   }

   .col-lg-3 {
      flex: 0 0 auto;
      width: 25%;
   }

   .col-lg-4 {
      flex: 0 0 auto;
      width: 33.33333%;
   }

   .col-lg-6 {
      flex: 0 0 auto;
      width: 50%;
   }
}

.display-flex {
   display: flex;
}

.align-middle {
   vertical-align: middle !important;
}

.align-col-middle,
.align-middle {
   display: flex;
   justify-content: center;
   align-items: center;
}

.align-col-middle {
   flex-direction: column;
}

.align-items-center {
   align-items: center !important;
}

.text-center {
   text-align: center !important;
}

.list-inline,
.list-unstyled {
   padding-left: 0;
   list-style: none;
}

.list-inline-item:not(:last-child) {
   margin-right: 0;
   margin-bottom: 5px;
}

.list-inline-item {
   display: inline-block;
}

.hero-section {
   margin-top: 100px;
}

.row>* {
   position: relative;
}

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

   IV. Planna brand layer
   Appended on top of Reiro to win on cascade for equal specificity.
   Source: docs/branding/PLANNA-BRAND-GUIDELINES.md
           docs/branding/PLANNA-CLASSIC-WEB-GUIDELINES.md

   ////////////////////////////////////////////////////////////////////////// */

/* === 1. Base reset & typography === */
html, body {
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--warm-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body { background: var(--warm-white) !important; color: var(--ink) !important; }

a { color: var(--teal-deep); text-decoration: none; transition: color 200ms cubic-bezier(0.2, 0.6, 0.2, 1); }
a:hover { color: var(--ink); }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.06;
  color: var(--ink);
  text-wrap: pretty;
  margin: 0 0 0.5em;
}
h1 { font-size: clamp(40px, 6vw, 80px); letter-spacing: -0.025em; line-height: 1.02; }
h2 { font-size: clamp(28px, 3.6vw, 48px); }
h3 { font-size: clamp(22px, 2.4vw, 32px); }
h4 { font-size: clamp(20px, 1.6vw, 24px); }
h5 { font-size: 18px; font-family: var(--font-ui); font-weight: 700; letter-spacing: -0.01em; }
h6 { font-size: 11px; font-family: var(--font-ui); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }

p { margin: 0 0 1em; font-family: var(--font-ui); }
hr { border: 0; border-top: 1px solid var(--border-color); margin: var(--s-7) 0; }
img, video { max-width: 100%; height: auto; }

/* === 2. Brand utility classes === */
.t-display    { font-family: var(--font-display); font-weight: 400; letter-spacing: -0.025em; line-height: 1.04; }
.t-section    { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px, 3.6vw, 48px); letter-spacing: -0.02em; line-height: 1.06; }
.t-ui         { font-family: var(--font-ui); font-weight: 500; letter-spacing: -0.005em; }
.t-ui-strong  { font-family: var(--font-ui); font-weight: 700; letter-spacing: -0.01em; }
.t-eyebrow    { font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.t-tabular    { font-variant-numeric: tabular-nums; }

/* === 3. Headline gradient: <em> in branded headlines === */
/* Scoped OUT of Ghost author content so author italics render as plain italic. */
.brand-headline em,
.site-header em,
.site-footer em,
.site-hero em,
.page-header em,
.post-header__title em,
.post-card__title em,
.member-cta__title em {
  background: linear-gradient(110deg,
    #E8836B 0%, #F5C97B 35%, #5DC1C5 68%, #2B8F93 92%, #2B8F93 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  font-style: normal !important;
}
/* Hero is the single exception: keeps italic slant on top of gradient. */
.site-hero h1 em, .site-hero .site-hero__title em { font-style: italic !important; font-weight: 400; }

/* Author content italics stay italic. */
.gh-content em, .post-content em, article.post em { font-style: italic; color: inherit; -webkit-text-fill-color: currentColor; background: none; }

/* === 4. Buttons === */
.btn, a.btn, button.btn,
.gh-btn-primary, button.primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px;
  background: var(--ink); color: var(--warm-white);
  font-family: var(--font-ui); font-weight: 700; font-size: 14px; letter-spacing: -0.005em;
  border-radius: var(--r-pill); border: 1px solid transparent;
  text-decoration: none; cursor: pointer; line-height: 1; white-space: nowrap;
  transition: background 200ms cubic-bezier(0.2, 0.6, 0.2, 1), transform 100ms, color 200ms;
}
.btn:hover, a.btn:hover { background: color-mix(in oklch, var(--ink) 92%, white); color: var(--warm-white); }
.btn:active { transform: scale(0.98); }

.btn.btn-secondary, a.btn.btn-secondary {
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--border-strong);
}
.btn.btn-secondary:hover { border-color: var(--ink); background: var(--surface); color: var(--ink); }

.btn.btn-ghost, a.btn-ghost {
  background: transparent; color: var(--teal-deep);
  border: 1px solid transparent; padding: 8px 12px;
  font-family: var(--font-ui); font-weight: 600; font-size: 14px;
  border-radius: var(--r-pill);
  transition: color 200ms;
}
.btn-ghost:hover { color: var(--ink); }

/* CTA on dark surfaces flips primary to coral. */
.site-footer .btn, .ink-section .btn, .newsletter-section .btn { background: var(--coral); color: var(--warm-white); }
.site-footer .btn:hover, .ink-section .btn:hover, .newsletter-section .btn:hover { background: color-mix(in oklch, var(--coral) 92%, white); color: var(--warm-white); }

/* === 5. Chips === */
.chip, .tag-chip, .eyebrow-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  font-family: var(--font-ui); font-weight: 700; font-size: 12px; letter-spacing: -0.005em;
  border-radius: var(--r-pill);
  background: var(--soft-teal); color: var(--teal-deep);
  border: 1px solid transparent;
  text-decoration: none; line-height: 1;
}
.chip.coral, .eyebrow-chip.coral { background: var(--soft-warm); color: var(--coral-deep); }
.chip.ink   { background: var(--ink); color: var(--warm-white); }
.eyebrow-chip {
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 10px;
}

/* === 6. Cards === */
.card, .brand-card {
  background: var(--surface);
  border: 1px solid var(--border-color);
  border-radius: var(--r-md);
  padding: var(--s-5);
  transition: border-color 200ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.card:hover, .brand-card:hover { border-color: var(--border-strong); }

.card-soft {
  background: var(--soft-teal); border: 1px solid transparent;
  border-radius: var(--r-md); padding: var(--s-5);
}
.card-soft.warm { background: var(--soft-warm); }

.card-ink {
  background: var(--ink); color: var(--warm-white); border: 0;
  border-radius: var(--r-md); padding: var(--s-7);
}
.card-ink h2, .card-ink h3, .card-ink p { color: var(--warm-white); }

/* === 7. Forms === */
input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="tel"],
textarea, select {
  width: 100%;
  padding: 12px 14px;
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--border-strong);
  border-radius: var(--r-sm);
  font-family: var(--font-ui); font-weight: 500; font-size: 15px;
  line-height: 1.4;
  transition: border-color 180ms, box-shadow 180ms;
  appearance: none; -webkit-appearance: none;
}
input::placeholder, textarea::placeholder { color: var(--ink-muted); }
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--teal-deep);
  box-shadow: 0 0 0 3px rgba(58, 171, 176, 0.18);
}

label, .form-label {
  display: block;
  font-family: var(--font-ui); font-weight: 600; font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 6px;
}

/* Focus rings on interactive elements */
:where(a, button, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid rgba(58, 171, 176, 0.5);
  outline-offset: 2px;
  border-radius: var(--r-xs);
}

/* Layout container */
.brand-wrap { max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
@media (max-width: 720px) { .brand-wrap { padding-inline: 20px; } }

/* === Site header (brand) === */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(254, 252, 249, 0.85);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid var(--border-color);
}
.site-header__inner {
  display: flex; align-items: center; gap: var(--s-6);
  max-width: 1200px; margin: 0 auto;
  padding: 0 24px; height: 72px;
}
.site-header__logo { display: inline-flex; flex-shrink: 0; }
.site-header__logo img { height: 32px; width: auto; display: block; }

.site-header__nav { flex: 1; display: flex; justify-content: center; }
.site-header__nav ul { display: flex; gap: var(--s-7); list-style: none; padding: 0; margin: 0; }
.site-header__nav a {
  font-family: var(--font-ui); font-weight: 600; font-size: 14px;
  color: var(--ink-soft); padding: 6px 0; position: relative;
  transition: color 200ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.site-header__nav a:hover { color: var(--ink); }
.site-header__nav a.is-active { color: var(--ink); }
.site-header__nav a.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -4px;
  height: 2px; background: var(--ink); border-radius: var(--r-pill);
}

.site-header__cta { display: flex; flex-shrink: 0; }
.site-header__cta .btn { padding: 11px 18px; font-size: 13px; }

.site-header__toggle {
  display: none; background: transparent; border: 0; padding: 8px;
  width: 40px; height: 40px; cursor: pointer;
}
.site-header__toggle span {
  display: block; height: 2px; background: var(--ink); border-radius: var(--r-pill);
  margin: 5px 0; transition: transform 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}

.site-header__drawer {
  padding: var(--s-5) var(--s-6) var(--s-7);
  border-top: 1px solid var(--border-color); background: var(--warm-white);
}
.site-header__drawer ul { list-style: none; padding: 0; margin: 0 0 var(--s-5); }
.site-header__drawer li { padding: 0; border-bottom: 1px solid var(--border-color); }
.site-header__drawer li a {
  font-family: var(--font-ui); font-weight: 600; font-size: 16px;
  color: var(--ink); display: block; padding: 14px 0;
}
.site-header__drawer .btn { width: 100%; margin-top: var(--s-3); }

@media (max-width: 960px) {
  .site-header__inner { height: 64px; gap: var(--s-3); }
  .site-header__nav, .site-header__cta { display: none; }
  .site-header__toggle { display: inline-block; margin-left: auto; }
  .site-header__drawer[hidden] { display: none; }
  .site-header__drawer[data-open="true"] { display: block; }
}
@media (min-width: 961px) {
  .site-header__drawer { display: none; }
}

/* === Site footer (brand, matches planna.co) === */
.site-footer {
  background: var(--ink);
  color: var(--warm-white);
  margin-top: var(--s-12);
}
.site-footer a { color: var(--warm-white); transition: color 200ms cubic-bezier(0.2, 0.6, 0.2, 1); }
.site-footer a:hover { color: var(--coral); }

.site-footer__inner {
  max-width: 1200px; margin: 0 auto;
  padding: var(--s-11) 24px var(--s-9);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 3fr);
  gap: var(--s-9);
}
.site-footer__brand { display: flex; flex-direction: column; gap: var(--s-4); }
.site-footer__logo { display: inline-flex; }
.site-footer__logo img { height: 36px; width: auto; display: block; }
.site-footer__tagline {
  font-family: var(--font-display); font-weight: 400; font-size: 20px;
  line-height: 1.3; letter-spacing: -0.015em;
  color: rgba(254, 252, 249, 0.75); max-width: 280px; margin: 0;
}

.site-footer__columns {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-7);
}
.site-footer__col h4 {
  font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(254, 252, 249, 0.6); margin: 0 0 var(--s-4);
}
.site-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.site-footer__col li { padding: 0; border: 0; }
.site-footer__col a {
  font-family: var(--font-ui); font-weight: 500; font-size: 14px;
  color: rgba(254, 252, 249, 0.85); letter-spacing: -0.005em;
  display: inline-block;
}
.site-footer__col a:hover { color: var(--warm-white); }

.site-footer__bar {
  border-top: 1px solid rgba(254, 252, 249, 0.10);
}
.site-footer__bar-inner {
  max-width: 1200px; margin: 0 auto;
  padding: var(--s-5) 24px;
  display: flex; justify-content: space-between; align-items: center; gap: var(--s-4);
  font-family: var(--font-ui); font-weight: 500; font-size: 12px;
  color: rgba(254, 252, 249, 0.6);
}
.site-footer__bar-inner p { margin: 0; }
.site-footer__made span { color: var(--coral); margin: 0 4px; font-weight: 700; }

@media (max-width: 960px) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--s-7); padding: var(--s-9) 20px var(--s-7); }
  .site-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6) var(--s-5); }
  .site-footer__bar-inner { flex-direction: column; align-items: flex-start; padding: var(--s-4) 20px; }
}

/* === Site hero (editorial brand) === */
.site-hero { padding: var(--s-11) 24px var(--s-9); background: var(--warm-white); }
.site-hero__inner {
  max-width: 880px; margin: 0 auto; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--s-5);
}
.site-hero__inner .eyebrow-chip { background: var(--soft-teal); color: var(--teal-deep); }

.site-hero__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(40px, 6.5vw, 80px);
  letter-spacing: -0.025em;
  line-height: 1.02;
  margin: 0;
  text-wrap: balance;
  color: var(--ink);
}

.site-hero__subtitle {
  font-family: var(--font-ui); font-weight: 500; font-size: clamp(16px, 1.6vw, 20px);
  color: var(--ink-soft); line-height: 1.5; max-width: 580px; margin: 0;
}

.site-hero__cta { display: flex; gap: var(--s-3); margin-top: var(--s-3); flex-wrap: wrap; justify-content: center; }

@media (max-width: 720px) {
  .site-hero { padding: var(--s-9) 20px var(--s-7); }
  .site-hero__inner { gap: var(--s-4); }
}

/* === Post grid === */
.post-grid { padding: var(--s-9) 24px; background: var(--warm-white); }
.post-grid__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6);
}
@media (max-width: 960px) { .post-grid__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); } }
@media (max-width: 640px) { .post-grid__inner { grid-template-columns: 1fr; gap: var(--s-4); } .post-grid { padding: var(--s-7) 20px; } }

/* === Post card === */
.post-card {
  display: flex; flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border-color);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: border-color 200ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.post-card:hover { border-color: var(--border-strong); }
.post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--soft-teal); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 220ms ease-out; }
.post-card:hover .post-card__media img { transform: scale(1.02); }
.post-card__body { padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3); flex: 1; }
.post-card__body > .eyebrow-chip { align-self: flex-start; }
.post-card__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 22px; letter-spacing: -0.015em; line-height: 1.2; color: var(--ink); }
.post-card__title a { color: var(--ink); }
.post-card__title a:hover { color: var(--teal-deep); }
.post-card__excerpt { margin: 0; font-family: var(--font-ui); font-weight: 400; font-size: 14px; color: var(--ink-soft); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card__meta { margin-top: auto; display: flex; gap: 6px; align-items: center; font-family: var(--font-ui); font-weight: 500; font-size: 12px; color: var(--ink-muted); }

/* Alternating accent rhythm: even cards get coral eyebrow. */
.post-grid__inner > .post-card:nth-child(2n) .post-card__body > .eyebrow-chip { background: var(--soft-warm); color: var(--coral-deep); }

/* === Featured section === */
.featured-section { padding: var(--s-9) 24px; }
.featured-section--soft-teal { background: var(--soft-teal); }
.featured-section--soft-warm { background: var(--soft-warm); }
.featured-section--surface { background: var(--surface); border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
.featured-section__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-7); }
.featured-section__inner .post-grid__inner { padding: 0; }
.featured-section__head { display: flex; flex-direction: column; gap: var(--s-3); align-items: center; text-align: center; }
.featured-section__head h2 { margin: 0; }
.featured-section__see-all { align-self: center; margin-top: var(--s-4); }

/* === Widget tile (used in widgets.hbs for tags/authors compact mode) === */
.widget-tile {
  display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-5);
  background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--r-md);
  color: var(--ink); transition: border-color 200ms;
}
.widget-tile:hover { border-color: var(--border-strong); }
.widget-tile__title { font-family: var(--font-display); font-weight: 400; font-size: 18px; margin: 0; }
.widget-tile__image { aspect-ratio: 1; overflow: hidden; border-radius: var(--r-sm); background: var(--soft-teal); }

/* === Post page (brand) === */
.post-section { background: var(--warm-white); }
.post-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; appearance: none; -webkit-appearance: none; border: 0; background: transparent; z-index: 60; width: 100%; }
.post-progress::-webkit-progress-bar { background: transparent; }
.post-progress::-webkit-progress-value { background: var(--coral); transition: width 100ms; }
.post-progress::-moz-progress-bar { background: var(--coral); }

/* Post header band */
.post-header { padding: var(--s-11) 24px var(--s-7); background: var(--warm-white); }
.post-header-wrap { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-4); padding: 0 !important; }
.post-header-content { display: flex; flex-direction: column; gap: var(--s-4); align-items: flex-start; text-align: left; }
.post-header-content .post-tags { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.post-header-content .post-tags a {
  display: inline-flex; padding: 5px 12px; background: var(--soft-teal); color: var(--teal-deep);
  border-radius: var(--r-pill); font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.post-header-content .post-tags a:nth-child(2n) { background: var(--soft-warm); color: var(--coral-deep); }
.post-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 5vw, 56px); letter-spacing: -0.02em; line-height: 1.06; margin: 0; text-wrap: pretty; color: var(--ink); }
.post-excerpt { font-family: var(--font-ui); font-weight: 500; font-size: clamp(16px, 1.6vw, 18px); color: var(--ink-soft); margin: 0; max-width: 640px; line-height: 1.5; }
.post-meta-wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); width: 100%; flex-wrap: wrap; font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); }

/* Header feature image */
.post-header-image { max-width: 1200px; margin: var(--s-7) auto 0; padding: 0 24px; }
.post-header-image .global-image { border-radius: var(--r-lg); overflow: hidden; background: var(--soft-teal); }
.post-header-image figcaption { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); margin-top: var(--s-3); text-align: center; }

/* Post body content (.post-content + .gh-content) */
.post-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-7); }
.post-section.is-sidebar .post-wrap { grid-template-columns: minmax(0, 720px) minmax(0, 280px); justify-content: center; gap: var(--s-9); }
.post-section.is-sidebar .post-content { grid-column: 1; }
.post-section.is-sidebar .post-sidebar { grid-column: 2; grid-row: 1; }
@media (max-width: 960px) {
  .post-section.is-sidebar .post-wrap { grid-template-columns: minmax(0, 1fr); }
  .post-section.is-sidebar .post-content { grid-column: 1; grid-row: 1; }
  .post-section.is-sidebar .post-sidebar { grid-column: 1; grid-row: 2; }
}
.post-content {
  max-width: 720px; margin: var(--s-7) auto 0;
  font-family: var(--font-ui); font-weight: 400; font-size: 17px; line-height: 1.7; color: var(--ink);
}
.post-content > *, .gh-content > * { margin-top: 0; margin-bottom: 1.2em; }
.post-content h2, .gh-content h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -0.015em; line-height: 1.2; margin-top: var(--s-9); color: var(--ink); }
.post-content h3, .gh-content h3 { font-family: var(--font-display); font-weight: 400; font-size: clamp(20px, 2vw, 26px); letter-spacing: -0.012em; line-height: 1.25; margin-top: var(--s-7); color: var(--ink); }
.post-content blockquote, .gh-content blockquote { border-left: 3px solid var(--coral); padding-left: var(--s-5); font-family: var(--font-display); font-weight: 400; font-style: italic; font-size: clamp(20px, 2vw, 24px); line-height: 1.4; color: var(--ink); margin: var(--s-7) 0; background: transparent; }
.post-content code, .gh-content code { background: var(--soft-teal); color: var(--ink); padding: 2px 6px; border-radius: var(--r-xs); font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace; font-size: 0.92em; }
.post-content pre, .gh-content pre { background: var(--soft-warm); padding: var(--s-5); border-radius: var(--r-sm); overflow-x: auto; border: 1px solid var(--border-color); }
.post-content pre code, .gh-content pre code { background: transparent; padding: 0; }
.post-content img, .gh-content img { border-radius: var(--r-md); }
.post-content a, .gh-content a { color: var(--teal-deep); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.post-content a:hover, .gh-content a:hover { color: var(--ink); }
.post-content ul, .post-content ol, .gh-content ul, .gh-content ol { padding-left: 1.4em; }
.post-content li, .gh-content li { margin-bottom: 0.4em; }

/* Members CTA card (paid/subscribers-only blocks) */
.members-cta {
  max-width: 720px; margin: var(--s-9) auto;
  background: var(--soft-teal); border: 1px solid transparent; border-radius: var(--r-md); padding: var(--s-7);
  display: flex; flex-direction: column; gap: var(--s-3);
  text-align: left;
}
.members-cta h2 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; color: var(--ink); }
.members-cta .global-excerpt, .members-cta p { margin: 0; font-family: var(--font-ui); font-weight: 500; font-size: 15px; color: var(--ink-soft); }
.members-cta .global-button, .members-cta a.global-button {
  display: inline-flex; align-self: flex-start;
  padding: 14px 22px; background: var(--ink); color: var(--warm-white);
  font-family: var(--font-ui); font-weight: 700; font-size: 14px;
  border-radius: var(--r-pill); border: 1px solid transparent;
  text-decoration: none;
  transition: background 200ms cubic-bezier(0.2, 0.6, 0.2, 1), transform 100ms;
}
.members-cta .global-button:hover { background: color-mix(in oklch, var(--ink) 92%, white); color: var(--warm-white); }
.members-cta .global-question { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); }
.members-cta .global-question a { color: var(--teal-deep); }

.members-cta-teaser { max-width: 720px; margin: 0 auto; padding: 0 24px; opacity: 0.7; }
.members-cta-teaser::after { content: ""; display: block; height: 80px; margin-top: -80px; background: linear-gradient(to bottom, transparent, var(--warm-white)); position: relative; pointer-events: none; }

/* Post share row */
.post-share { max-width: 720px; margin: var(--s-7) auto 0; padding: 0 24px; }
.post-share-wrap { display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; }
.post-share-wrap a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--soft-teal); color: var(--teal-deep);
  transition: background 200ms, color 200ms;
}
.post-share-wrap a:hover { background: var(--soft-warm); color: var(--coral-deep); }
.post-share-wrap svg { width: 18px; height: 18px; fill: currentColor; }
.post-share input#copy-link { position: absolute; left: -9999px; }
.share-link-info { display: none; font-family: var(--font-ui); font-size: 12px; color: var(--teal-deep); margin-top: var(--s-3); }
.share-link-info.is-active { display: inline-block; }

/* Post sidebar */
.post-sidebar { position: static; width: auto; height: auto; padding: var(--s-5) 0; }
.post-sidebar.is-sticky, .post-sidebar > * { position: sticky; top: 100px; }
@media (max-width: 960px) {
  .post-sidebar.is-sticky, .post-sidebar > * { position: static; top: auto; }
}

/* Related posts (special-section) */
.special-section { padding: var(--s-11) 24px; background: var(--warm-white); border-top: 1px solid var(--border-color); margin-top: var(--s-11); }
.special-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); }
@media (max-width: 960px) { .special-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .special-wrap { grid-template-columns: 1fr; } }
.special-section .global-subtitle, .loop-section .global-subtitle {
  display: block; max-width: 1200px; margin: 0 auto var(--s-5);
  font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-muted);
}

/* Loop / archive sections inherit brand grid */
.loop-section { padding: var(--s-9) 24px; background: var(--warm-white); }
.loop-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); }
@media (max-width: 960px) { .loop-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); } }
@media (max-width: 640px) { .loop-wrap { grid-template-columns: 1fr; gap: var(--s-4); } .loop-section { padding: var(--s-7) 20px; } }

/* Archive image (e.g. tag/author profile image inline) */
.archive-image { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--soft-teal); }
.archive-social { display: flex; gap: var(--s-4); flex-wrap: wrap; font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); }
.archive-social span, .archive-social a { display: inline-flex; align-items: center; gap: 6px; }
.archive-social a { color: var(--teal-deep); }
.archive-social a:hover { color: var(--ink); }

/* Item meta block (used in post-card header for older posts) */
.post-meta { font-family: var(--font-ui); font-weight: 500; font-size: 13px; color: var(--ink-muted); display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.post-meta a { color: var(--ink); }


/* === Page header (used by tag/author/archive pages via posts/header partial with archive_page=true) === */
.page-header { padding: var(--s-11) 24px var(--s-7); background: var(--warm-white); }
.page-header__inner { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-4); align-items: flex-start; }
.page-header__inner--author { flex-direction: row; gap: var(--s-6); align-items: center; }
.page-header__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 5vw, 56px); letter-spacing: -0.02em; line-height: 1.06; margin: 0; color: var(--ink); }
.page-header__lede { font-family: var(--font-ui); font-weight: 500; font-size: clamp(16px, 1.5vw, 18px); color: var(--ink-soft); margin: 0; max-width: 640px; }
.page-header__avatar { width: 96px; height: 96px; border-radius: 50%; background: var(--soft-teal); color: var(--teal-deep); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 500; font-size: 36px; flex-shrink: 0; object-fit: cover; }

/* === Error page === */
.page-error { padding: var(--s-11) 24px; background: var(--warm-white); }
.page-error__inner { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-5); align-items: flex-start; }
.page-error__inner h1 { font-size: clamp(40px, 5.5vw, 64px); margin: 0; color: var(--ink); }
.page-error__inner p { font-family: var(--font-ui); font-size: 17px; color: var(--ink-soft); margin: 0; }

/* Legacy custom-error structure (still used by some routes) */
.custom-error { padding: var(--s-11) 24px; background: var(--warm-white); display: flex; justify-content: center; }
.custom-error .custom-content { max-width: 640px; display: flex; flex-direction: column; gap: var(--s-5); align-items: flex-start; }
.custom-error h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(48px, 7vw, 96px); letter-spacing: -0.025em; margin: 0; color: var(--ink); }
.custom-error .global-button {
  display: inline-flex; padding: 14px 22px; background: var(--ink); color: var(--warm-white);
  font-family: var(--font-ui); font-weight: 700; font-size: 14px; border-radius: var(--r-pill); text-decoration: none;
}
.custom-error .global-button:hover { background: color-mix(in oklch, var(--ink) 92%, white); color: var(--warm-white); }

/* Cost-guide section uses the same brand grid; no special styling needed */

/* === Auth pages (custom-sign-in/up/subscribe) === */
.custom-wrap {
  min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr;
  background: var(--warm-white);
}
.custom-wrap .custom-container {
  display: flex; flex-direction: column; justify-content: center; align-items: stretch;
  padding: var(--s-9) var(--s-7);
  max-width: 520px; margin: 0 auto; width: 100%;
}
.custom-logo-wrap { margin-bottom: var(--s-7); }
.custom-logo, .custom-logo .is-logo { display: inline-flex; }
.custom-logo img { height: 32px; width: auto; }
.custom-content {
  display: flex; flex-direction: column; gap: var(--s-5);
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--r-md);
  padding: var(--s-7);
}
.custom-content form { display: flex; flex-direction: column; gap: var(--s-3); }
.custom-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.015em; margin: 0; color: var(--ink); }
.custom-content .global-button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 22px; background: var(--ink); color: var(--warm-white);
  font-family: var(--font-ui); font-weight: 700; font-size: 14px;
  border-radius: var(--r-pill); border: 1px solid transparent;
  text-decoration: none; cursor: pointer; width: 100%;
  transition: background 200ms cubic-bezier(0.2, 0.6, 0.2, 1), transform 100ms;
}
.custom-content .global-button:hover { background: color-mix(in oklch, var(--ink) 92%, white); color: var(--warm-white); }
.custom-content .global-button:active { transform: scale(0.99); }
.custom-content .global-question { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); text-align: center; margin-top: var(--s-3); }
.custom-content .global-question a { color: var(--teal-deep); font-weight: 600; }
.custom-content .global-alert { font-family: var(--font-ui); font-size: 13px; padding: 10px 12px; border-radius: var(--r-sm); display: none; }
.custom-content .alert-loading { background: var(--soft-teal); color: var(--teal-deep); }
.custom-content .alert-error { background: var(--soft-warm); color: var(--coral-deep); }
.custom-content [data-members-form].loading .alert-loading { display: block; }
.custom-content [data-members-form].error .alert-error { display: block; }
.custom-content .alert-success { display: none; flex-direction: column; gap: var(--s-3); align-items: center; text-align: center; }
.custom-content [data-members-form].success ~ .alert-success { display: flex; }
.custom-content [data-members-form].success { display: none; }
.custom-content .alert-success h2 { font-family: var(--font-display); font-weight: 400; font-size: 26px; margin: 0; color: var(--ink); }
.custom-content .alert-success p { font-family: var(--font-ui); font-size: 15px; color: var(--ink-soft); margin: 0; }

.custom-image {
  background-size: cover; background-position: center; background-color: var(--soft-teal);
}

@media (max-width: 720px) {
  .custom-wrap { grid-template-columns: 1fr; min-height: auto; }
  .custom-image { display: none; }
  .custom-wrap .custom-container { padding: var(--s-7) 20px; }
  .custom-content { padding: var(--s-6); }
}

/* === Account page === */
.account-section { padding: var(--s-9) 24px; background: var(--warm-white); }
.account-section .post-header { padding: 0 0 var(--s-7); }
.account-section .archive-image.is-account { width: 96px; height: 96px; border-radius: 50%; background: var(--soft-teal); color: var(--teal-deep); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
.account-section .archive-image.is-account img { width: 100%; height: 100%; object-fit: cover; }
.account-section .archive-image.is-account svg { width: 40px; height: 40px; fill: currentColor; }

.account-details { max-width: 720px; margin: var(--s-7) auto 0; display: flex; flex-direction: column; gap: var(--s-4); }
.account-details-wrap { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--r-md); padding: var(--s-6); }
.account-details-content { display: flex; flex-direction: column; gap: var(--s-5); }
.account-detail-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
.account-detail-heading { display: block; font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 6px; }
.account-detail-content { font-family: var(--font-ui); font-weight: 500; font-size: 15px; color: var(--ink); }
.account-alert-expired { display: block; background: var(--soft-warm); color: var(--coral-deep); padding: 12px 14px; border-radius: var(--r-sm); font-family: var(--font-ui); font-size: 13px; }
.account-signout-wrap { margin-top: var(--s-3); }
.account-signout-wrap .global-button {
  display: inline-flex; padding: 10px 16px; background: transparent; color: var(--ink);
  border: 1px solid var(--border-strong); border-radius: var(--r-pill);
  font-family: var(--font-ui); font-weight: 600; font-size: 13px; cursor: pointer;
}
.account-signout-wrap .global-button:hover { border-color: var(--ink); }

.account-buttons { display: flex; gap: var(--s-3); flex-wrap: wrap; }
.account-button {
  display: inline-flex; padding: 12px 18px; background: var(--surface); color: var(--ink);
  border: 1px solid var(--border-strong); border-radius: var(--r-pill);
  font-family: var(--font-ui); font-weight: 600; font-size: 13px; text-decoration: none;
}
.account-button:hover { border-color: var(--ink); color: var(--ink); }
.cancel-error { font-family: var(--font-ui); font-size: 13px; color: var(--coral-deep); }

@media (max-width: 720px) {
  .account-detail-column { grid-template-columns: 1fr; }
  .account-buttons { flex-direction: column; align-items: stretch; }
  .account-button { justify-content: center; }
}

/* === Membership page (FAQ section) === */
.faq-section { padding: var(--s-9) 24px; background: var(--warm-white); }
.faq-wrap { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-5); }
.faq-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px, 3vw, 40px); margin: 0; color: var(--ink); text-align: center; }
.faq-content { font-family: var(--font-ui); font-size: 16px; color: var(--ink); line-height: 1.7; }

/* === Tiers (members/tiers partial) === */
/* Override Reiro's tier classes if present; otherwise add brand defaults. */
.tiers-section, [class*="tiers"] section { padding: var(--s-9) 24px; background: var(--warm-white); }

/* === Custom archive (authors / tags / featured page wrappers) === */
.custom-archive { padding: var(--s-9) 24px; background: var(--warm-white); }
.custom-archive .global-subtitle {
  display: block; max-width: 1200px; margin: 0 auto var(--s-5);
  font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-muted);
}
.custom-archive .loop-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); }
.custom-archive .loop-wrap.is-authors,
.custom-archive .loop-wrap.is-tags { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
@media (max-width: 960px) { .custom-archive .loop-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); } }
@media (max-width: 640px) { .custom-archive .loop-wrap { grid-template-columns: 1fr; gap: var(--s-4); } .custom-archive { padding: var(--s-7) 20px; } }

.custom-archive-item.item {
  background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--r-md);
  padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3);
  transition: border-color 200ms;
}
.custom-archive-item.item:hover { border-color: var(--border-strong); }
.custom-archive-item .item-image { display: block; aspect-ratio: 16/10; overflow: hidden; border-radius: var(--r-sm); background: var(--soft-teal); }
.custom-archive-item .item-image.is-portrait { aspect-ratio: 1; border-radius: 50%; max-width: 96px; }
.custom-archive-item .item-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.custom-archive-item .item-title { font-family: var(--font-display); font-weight: 400; font-size: 22px; letter-spacing: -0.015em; line-height: 1.2; margin: 0; }
.custom-archive-item .item-title a { color: var(--ink); }
.custom-archive-item .item-title a:hover { color: var(--teal-deep); }
.custom-archive-item small { font-family: var(--font-ui); font-weight: 500; font-size: 12px; color: var(--ink-muted); }
.custom-archive-item .item-excerpt { font-family: var(--font-ui); font-weight: 400; font-size: 14px; color: var(--ink-soft); line-height: 1.55; margin: 0; }

/* Alternating accent rhythm on archive items */
.custom-archive .loop-wrap > .custom-archive-item:nth-child(2n) .item-image { background: var(--soft-warm); }

/* Contact form additions (inherits .custom-wrap / .custom-content) */
.custom-content textarea { min-height: 140px; resize: vertical; }

/* === Newsletter band (sections.hbs) — see soft-warm card variant near end of file. === */
[data-members-form].loading .alert-loading { display: inline-block !important; }
[data-members-form].success .alert-success { display: inline-block !important; }
[data-members-form].error .alert-error { display: inline-block !important; }
.newsletter-section__alerts > span { display: none; }

/* === Widgets (popular tags / best authors) === */
.widget-section { padding: var(--s-9) 24px; background: var(--warm-white); }
.widget-section .global-subtitle {
  display: block; max-width: 1200px; margin: 0 auto var(--s-5);
  font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-muted);
}
.widget-wrap,
.widget-wrap.is-tags,
.widget-wrap.is-authors {
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: var(--s-4);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.widget-wrap.is-tags .widget-tile,
.widget-wrap.is-authors .widget-tile { aspect-ratio: auto; }
.widget-wrap > .widget-tile:nth-child(2n) .widget-tile__image { background: var(--soft-warm); }

/* === Pagination === */
.pagination-section {
  max-width: 1200px; margin: 0 auto;
  padding: var(--s-7) 24px;
  display: flex; justify-content: center; align-items: center;
  position: relative;
}
.pagination-section a { position: absolute; inset: 0; opacity: 0; }
.pagination-section .global-button {
  display: inline-flex; padding: 12px 24px;
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--border-strong); border-radius: var(--r-pill);
  font-family: var(--font-ui); font-weight: 600; font-size: 14px;
  text-decoration: none; cursor: pointer;
  transition: border-color 200ms, background 200ms;
}
.pagination-section .global-button:hover { border-color: var(--ink); background: var(--surface); }

/* === Search modal === */
.search-section { position: fixed; inset: 0; z-index: 100; display: none; padding: 12vh 24px 24px; }
.search-section.is-active { display: flex; align-items: flex-start; justify-content: center; }
.search-overlay { position: fixed; inset: 0; background: rgba(30, 43, 58, 0.45); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); z-index: -1; }
.search-wrap { width: 100%; max-width: 640px; }
.search-content {
  background: var(--surface); border-radius: var(--r-lg); padding: var(--s-6);
  display: flex; flex-direction: column; gap: var(--s-4); box-shadow: var(--shadow-lg);
}
.search-form { position: relative; }
.search-input {
  font-size: 18px; padding: 14px 48px 14px 16px;
  font-family: var(--font-ui); font-weight: 500;
  border: 1px solid var(--border-strong); border-radius: var(--r-sm);
  background: var(--surface); color: var(--ink); width: 100%;
}
.search-input:focus { outline: none; border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(58, 171, 176, 0.18); }
.search-meta { display: flex; justify-content: space-between; padding: 4px 4px 0; font-family: var(--font-ui); font-size: 12px; color: var(--ink-muted); }
.search-counter.is-hide { display: none; }
.search-close {
  position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
  width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; cursor: pointer; color: var(--ink-muted);
}
.search-close:hover { color: var(--ink); background: var(--soft-teal); }
.search-close svg { width: 16px; height: 16px; fill: currentColor; }
.search-results { display: flex; flex-direction: column; gap: var(--s-2); max-height: 50vh; overflow-y: auto; }
.search-results a { display: flex; gap: var(--s-3); padding: 12px 14px; border-radius: var(--r-sm); color: var(--ink); align-items: center; }
.search-results a:hover { background: var(--soft-teal); }

/* Header search trigger (kept compact in nav, hidden by our brand header but still clickable if used) */
.header-search.search-open { cursor: pointer; }
.header-search svg { width: 18px; height: 18px; fill: currentColor; }

/* Hero search variants — hidden because brand hero doesn't use them */
.hero-search { display: none; }


/* === Comments (Ghost native or Disqus mount) === */
.comments-section { padding: var(--s-9) 24px; background: var(--warm-white); border-top: 1px solid var(--border-color); }
.comments-wrap { max-width: 720px; margin: 0 auto; background: var(--soft-teal); border: 1px solid transparent; border-radius: var(--r-md); padding: var(--s-7); }
.comments-content { display: flex; flex-direction: column; gap: var(--s-5); }
.comments-header { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); flex-wrap: wrap; }
.comments-header h3 { font-family: var(--font-display); font-weight: 400; font-size: 24px; letter-spacing: -0.012em; margin: 0; color: var(--ink); }
.comments-header span { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); }

/* === Post sidebar (authors block + editor's choice) === */
.post-sidebar { display: flex; flex-direction: column; gap: var(--s-7); }
.post-sidebar .global-subtitle { display: block; font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--s-3); }
.post-sidebar .is-authors,
.post-sidebar .is-featured { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--r-md); padding: var(--s-5); }
.post-sidebar .is-authors a, .post-sidebar .is-featured a { display: flex; align-items: center; gap: var(--s-3); color: var(--ink); padding: var(--s-3) 0; border-bottom: 1px solid var(--border-color); }
.post-sidebar .is-authors a:last-child, .post-sidebar .is-featured a:last-child { border-bottom: 0; padding-bottom: 0; }
.post-sidebar .is-authors a:first-child, .post-sidebar .is-featured a:first-child { padding-top: 0; }
.post-sidebar .is-authors img, .post-sidebar .is-featured img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--soft-teal); }
.post-sidebar .is-featured img { border-radius: var(--r-sm); }
.post-sidebar .post-sidebar-title { font-family: var(--font-display); font-weight: 400; font-size: 16px; letter-spacing: -0.012em; margin: 0; line-height: 1.25; color: var(--ink); }
.post-sidebar .is-authors p { font-family: var(--font-ui); font-size: 12px; color: var(--ink-muted); margin: 4px 0 0; line-height: 1.4; }

/* === Post navigation (prev/next) === */
.navigation-section { padding: var(--s-11) 24px var(--s-9); background: var(--warm-white); border-top: 1px solid var(--border-color); }
.navigation-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); }
.navigation-wrap .global-subtitle { display: block; font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--s-3); }
.navigation-next, .navigation-prev {
  background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--r-md);
  padding: var(--s-5); color: var(--ink); transition: border-color 200ms;
  display: flex; flex-direction: column; gap: var(--s-3);
}
.navigation-next:hover, .navigation-prev:hover { border-color: var(--border-strong); }
.navigation-next > div, .navigation-prev > div { display: flex; gap: var(--s-3); align-items: center; }
.navigation-prev > div { flex-direction: row-reverse; text-align: right; }
.navigation-image { flex-shrink: 0; aspect-ratio: 1; width: 80px; border-radius: var(--r-sm); overflow: hidden; background: var(--soft-teal); }
.navigation-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.navigation-title h3 { font-family: var(--font-display); font-weight: 400; font-size: 18px; letter-spacing: -0.012em; line-height: 1.25; margin: 0; color: var(--ink); }

@media (max-width: 720px) {
  .navigation-wrap { grid-template-columns: 1fr; }
  .navigation-prev > div { flex-direction: row; text-align: left; }
}

/* === Subscribe form sidebar (members/sidebar_form is_box) === */
.subscribe-form {
  background: var(--soft-teal); border: 1px solid transparent;
  border-radius: var(--r-md); padding: var(--s-5);
  display: flex; flex-direction: column; gap: var(--s-3);
}
.subscribe-form .global-subtitle { font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin: 0; display: block; }
.subscribe-title { font-family: var(--font-display); font-weight: 400; font-size: 20px; letter-spacing: -0.012em; line-height: 1.2; margin: 0; color: var(--ink); }
.subscribe-wrap { display: flex; flex-direction: column; gap: var(--s-3); }
.subscribe-wrap form { display: flex; flex-direction: column; gap: var(--s-3); }
.subscribe-wrap input { width: 100%; }
.subscribe-wrap .global-button {
  display: inline-flex; justify-content: center;
  padding: 12px 18px; background: var(--ink); color: var(--warm-white);
  font-family: var(--font-ui); font-weight: 700; font-size: 13px;
  border-radius: var(--r-pill); border: 1px solid transparent;
  text-decoration: none; cursor: pointer;
  transition: background 200ms;
}
.subscribe-wrap .global-button:hover { background: color-mix(in oklch, var(--ink) 92%, white); color: var(--warm-white); }
/* Disable the legacy accent ::before overlay (warm-white) on the redesigned solid-fill
   buttons — it covered their dark background and left the white label invisible. */
.members-cta .global-button::before,
.custom-error .global-button::before,
.custom-content .global-button::before,
.subscribe-wrap .global-button::before,
.footer-subscribe .global-button::before { content: none; }
.subscribe-form.is-sticky { position: sticky; top: 100px; }
.subscribe-alert { display: flex; flex-direction: column; gap: 4px; min-height: 18px; font-family: var(--font-ui); font-size: 12px; }
.subscribe-alert > .global-alert { display: none; }
[data-members-form].loading + .subscribe-alert .alert-loading,
[data-members-form].success + .subscribe-alert .alert-success,
[data-members-form].error + .subscribe-alert .alert-error,
.subscribe-alert .alert-loading.is-active,
.subscribe-alert .alert-success.is-active,
.subscribe-alert .alert-error.is-active { display: inline-block; }

.subscribe-form-subtitle { font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--s-3); display: block; }

/* Footer-button member CTA variant */
.footer-subscribe { display: flex; flex-direction: column; gap: var(--s-3); align-items: center; padding: var(--s-7) 24px; }
.footer-subscribe .global-button {
  padding: 14px 22px; background: var(--ink); color: var(--warm-white);
  border-radius: var(--r-pill); font-family: var(--font-ui); font-weight: 700; font-size: 14px;
  text-decoration: none;
}
.footer-subscribe small { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); }

/* === Visibility labels (paid/members chips) === */
.global-tags { display: inline-flex; gap: var(--s-2); flex-wrap: wrap; }
.global-tags > * { padding: 4px 10px; border-radius: var(--r-pill); font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }

/* === Members visibility label (icon for paid/members posts) === */
.is-paid, .is-members { background: var(--ink); color: var(--warm-white); padding: 4px 10px; border-radius: var(--r-pill); font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }

/* === Item tags row inside post-card === */
.item-tags { display: flex; gap: var(--s-2); flex-wrap: wrap; align-items: center; }
.item-tags a { font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--teal-deep); padding: 4px 10px; background: var(--soft-teal); border-radius: var(--r-pill); }

/* === Cover backgrounds (used by tag/author/cost-guide pages) === */
.global-cover { display: none; } /* Brand uses light canvas; no top cover image */

/* === Members notifications iframe positioning safety === */
iframe[title="portal-popup"] { z-index: 90; }

/* === Hero subscribe form (when @custom.hero_options "Subscribe form" set) — kept hidden, brand uses CTA pair === */
.subscribe-wrap.is-hero { display: none; }

/* === Loop subtitle (homepage section heading like "What's new", "Previous posts") === */
.loop-subtitle.global-subtitle { display: block; max-width: 1200px; margin: var(--s-7) auto var(--s-5); font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); padding: 0 24px; }

/* === Top loop wrap (first 3 posts on homepage in larger row) === */
.loop-wrap.is-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); max-width: 1200px; margin: 0 auto; }
.loop-wrap.is-top .item.is-first { grid-column: span 3; }
.loop-wrap.is-top .item.is-first .item-image { aspect-ratio: 21/9; }
.loop-wrap.is-top .item.is-first .item-title { font-size: clamp(28px, 3vw, 40px); }
@media (max-width: 960px) {
  .loop-wrap.is-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .loop-wrap.is-top .item.is-first { grid-column: span 2; }
}
@media (max-width: 640px) {
  .loop-wrap.is-top { grid-template-columns: 1fr; }
  .loop-wrap.is-top .item.is-first { grid-column: span 1; }
  .loop-wrap.is-top .item.is-first .item-image { aspect-ratio: 16/10; }
}

/* === Make sure Reiro 'item' (legacy class on post cards) gets brand styling too === */
.item:not(.post-card):not(.widget-tile):not(.custom-archive-item) {
  display: flex; flex-direction: column; gap: var(--s-3);
  background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--r-md);
  overflow: hidden; transition: border-color 200ms;
}
.item:not(.post-card):not(.widget-tile):not(.custom-archive-item):hover { border-color: var(--border-strong); }
.item:not(.post-card):not(.widget-tile):not(.custom-archive-item) .item-image { aspect-ratio: 16/10; overflow: hidden; background: var(--soft-teal); display: block; }
.item:not(.post-card):not(.widget-tile):not(.custom-archive-item) .item-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.item:not(.post-card):not(.widget-tile):not(.custom-archive-item) .item-content { padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3); flex: 1; }
.item .item-title { font-family: var(--font-display); font-weight: 400; font-size: 22px; letter-spacing: -0.015em; line-height: 1.2; margin: 0; }
.item .item-title a { color: var(--ink); }
.item .item-title a:hover { color: var(--teal-deep); }
.item .item-excerpt { font-family: var(--font-ui); font-weight: 400; font-size: 14px; color: var(--ink-soft); line-height: 1.55; margin: 0; }

/* Post-meta (date row) variant */
.global-meta { font-family: var(--font-ui); font-size: 13px; color: var(--ink-muted); display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.global-meta-content { display: flex; gap: var(--s-2); align-items: center; }
.global-meta-avatar { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); }
.global-meta-avatar.is-image img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }

/* Hide global-link overlay used for is_featured rendering tweaks (we don't need it) */
.global-link { position: absolute; inset: 0; opacity: 0; }


/* === Site footer — light variant override (matches live planna.co) === */
.site-footer {
  background: var(--warm-white);
  color: var(--ink);
  border-top: 1px solid var(--border-color);
  margin-top: var(--s-12);
}
.site-footer a { color: var(--ink); }
.site-footer a:hover { color: var(--teal-deep); }

.site-footer__brand { gap: var(--s-5); }
.site-footer__tagline {
  font-family: var(--font-ui); font-weight: 500; font-size: 15px;
  line-height: 1.5; letter-spacing: -0.005em;
  color: var(--ink-soft);
  max-width: 280px; margin: 0;
}

.site-footer__col h4 { color: var(--ink-muted); }
.site-footer__col a { color: var(--ink); }
.site-footer__col a:hover { color: var(--teal-deep); }

.site-footer__bar { border-top: 1px solid var(--border-color); }
.site-footer__bar-inner { color: var(--ink-muted); }
.site-footer__heart { color: var(--coral); margin: 0 4px; font-size: 13px; }
.site-footer__made span { color: var(--coral); }

/* === Newsletter band — soft-warm peach card variant (matches live planna.co) === */
.newsletter-section { padding: var(--s-9) 24px; background: var(--warm-white); color: var(--ink); }
.newsletter-section__inner {
  max-width: 1200px; margin: 0 auto;
  background: var(--soft-warm);
  border-radius: var(--r-2xl);
  padding: var(--s-11) var(--s-9);
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--s-5);
}
.newsletter-section__copy { display: flex; flex-direction: column; align-items: center; gap: var(--s-3); }
.newsletter-section__copy .t-eyebrow {
  display: inline-block; background: var(--surface); color: var(--coral-deep);
  padding: 6px 14px; border-radius: var(--r-pill);
  font-family: var(--font-ui); font-weight: 700; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.newsletter-section__copy h2 {
  color: var(--ink);
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(36px, 5vw, 64px); letter-spacing: -0.025em;
  line-height: 1.04; margin: var(--s-3) 0 0; text-wrap: balance;
}
.newsletter-section__copy p {
  font-family: var(--font-ui); font-weight: 500; font-size: clamp(15px, 1.4vw, 18px);
  color: var(--ink-soft); margin: 0;
}
.newsletter-section__form {
  display: flex; flex-direction: row; gap: var(--s-3);
  align-items: center; flex-wrap: wrap; justify-content: center;
  margin-top: var(--s-3); width: 100%; max-width: 480px;
}
.newsletter-section__form input {
  flex: 1; min-width: 220px;
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--border-strong);
}
.newsletter-section__form input::placeholder { color: var(--ink-muted); }
.newsletter-section__form input:focus {
  border-color: var(--teal-deep);
  box-shadow: 0 0 0 3px rgba(58, 171, 176, 0.18);
}
.newsletter-section__form .btn {
  background: var(--ink); color: var(--warm-white);
  width: auto; flex-shrink: 0;
}
.newsletter-section__form .btn:hover {
  background: color-mix(in oklch, var(--ink) 92%, white);
  color: var(--warm-white);
}
.newsletter-section__alerts { width: 100%; text-align: center; color: var(--ink-muted); }
.newsletter-section__alerts .alert-loading { color: var(--ink-muted); }
.newsletter-section__alerts .alert-success { color: var(--teal-deep); }
.newsletter-section__alerts .alert-error { color: var(--coral-deep); }

@media (max-width: 720px) {
  .newsletter-section { padding: var(--s-7) 20px; }
  .newsletter-section__inner { padding: var(--s-9) var(--s-5); border-radius: var(--r-xl); }
  .newsletter-section__form { flex-direction: column; }
  .newsletter-section__form input, .newsletter-section__form .btn { width: 100%; }
}
