/* ==========================================================================
   YT Ghost Theme — screen.css
   CSS sourced from blog-yt-post.html and blog-yt-listing.html external stylesheets:
     • https://theyoungteam.com/scss/theme/style.css
     • https://theyoungteam.com/scss/plugin/spark-page/client.css
     • https://theyoungteam.com/scss/auto-generated/style.css
   Fonts: Montserrat (body/UI), Bebas Neue (headings), Roboto
   Colors: #000 (header/footer bg), #fff (text on dark), #f4f4f4 (hover)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@300;400;500;600;700;800&family=Roboto:wght@300;400;500;700&display=swap');

/* ── Reset & Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { line-height: 1.15; -webkit-text-size-adjust: 100%; }

/* Source: yt-theme.css — body rule */
body {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    color: #333;
    letter-spacing: 0.0625rem;
    min-height: 100vh;
    font-size: 0.875rem;
    line-height: 1.8;
    background: #fff;
}

img { max-width: 100%; height: auto; display: block; }

/* Source: yt-theme.css — a rule */
a { color: #080808; text-decoration: none; }
a:hover { color: #000; }

ul { margin: 0; padding: 0; list-style: none; }
p { margin: 0 0 1em; }

/* Source: yt-theme.css — heading rules (Bebas Neue for all headings) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: #080808;
}
h1, .h1 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 5rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}
h2, .h2 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 3rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}
h3, .h3 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2.3rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}
h4, .h4 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.875rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}
h5, .h5 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2.2rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}
h6, .h6 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.25rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
    margin: 0 0 0.75em;
}

/* ── Layout Container ─────────────────────────────────────── */
.yt-container {
    width: 100%;
    max-width: 830px;
    margin: 0 auto;
    padding: 0 15px;
}

.yt-site-content { min-height: 60vh; }


/* ==========================================================================
   BUTTONS
   Source: yt-theme.css — .btn-spark rule
   ========================================================================== */
/* Source: yt-theme.css — .btn-spark */
.yt-btn,
.btn-spark {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    border-style: solid;
    border-color: #000;
    text-transform: uppercase;
    color: #fff;
    background-color: #000;
    cursor: pointer;
    text-align: center;
    display: inline-block;
    white-space: normal;
    word-break: break-word;
    font-size: 0.8rem;
    line-height: 1.25;
    letter-spacing: 0.0625rem;
    padding: 1rem 2rem;
    border-radius: 20rem;
    border-width: 0.0625rem;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.yt-btn:hover,
.btn-spark:hover {
    color: #000;
    border-color: #000;
    background-color: #f4f4f4;
}

/* Inverse variant */
.yt-btn--inverse {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.yt-btn--inverse:hover {
    color: #fff;
    border-color: #000;
    background-color: #000;
}


/* ==========================================================================
   HEADER
   ========================================================================== */

/* Sticky black bar */
.sp-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}
.block_1qah69rad68 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #000;
    margin: 0;
    padding: 0;
}

/* Row padding + nav bar height */
.row_2ymvbdlxeet { margin: 0 auto; padding: 0 2.5vw; }
.column_46z9ghgkfnc .cbl__column-box { margin: 0; padding: 0; }

/* Height: 80px mobile, 100px desktop */
@media (max-width: 1199px) { .column_46z9ghgkfnc .cbl__column-box { height: 80px; } }
@media (min-width: 1200px) { .column_46z9ghgkfnc .cbl__column-box { height: 100px; } }

/* Nav row flex container */
.nav-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* ── Logos ── */
.cb-image { height: 60px; width: auto; display: block; }

/* Desktop logo: hidden <1200px */
.widget_5fbnllb7gvv { margin: 0; padding: 0; }
@media (max-width: 1199px) { .widget_5fbnllb7gvv { display: none !important; } }

/* Mobile logo: hidden ≥1200px, margin auto-right to push nav right */
@media (max-width: 1199px) { .widget_6no1qp5ui4d { margin: 0 auto 0 0; padding: 0; } }
@media (min-width: 1200px) { .widget_6no1qp5ui4d { display: none !important; } }

/* ── Desktop nav ── hidden <1200px */
.widget_7w0fvt0hjcv { text-align: center; }
@media (max-width: 1199px) { .widget_7w0fvt0hjcv { display: none !important; } }
@media (min-width: 1200px) and (max-width: 1599px) { .widget_7w0fvt0hjcv { margin: 0 4rem; padding: 0; } }
@media (min-width: 1600px) { .widget_7w0fvt0hjcv { margin: 0 auto 0 3rem; padding: 0; } }

/* Horizontal menu list */
.spark-menu--horizontal {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}
.spark-menu--horizontal > li { position: relative; }

/* Nav links */
.nav-menu-hover .spark-menu--horizontal > li > a {
    display: block;
    position: relative;
    padding: 0;
    margin: 0.5rem;
    font-family: "Montserrat", sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.65s ease;
}
.nav-menu-hover .spark-menu--horizontal > li > a::before {
    content: "";
    position: absolute;
    bottom: -0.0625rem;
    left: 0;
    width: 0;
    height: 0.0625rem;
    background-color: #fff;
    transition: width 0.6s ease-in-out;
}
.nav-menu-hover .spark-menu--horizontal > li > a:hover { color: #f4f4f4; }
.nav-menu-hover .spark-menu--horizontal > li > a:hover::before { width: 100%; }

/* Dropdown sub-menu — hidden by default, shown on hover */
.spark-menu--horizontal .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #000;
    min-width: 200px;
    padding: 0.5rem 0;
    z-index: 1001;
    list-style: none;
    margin: 0;
}
.spark-menu--horizontal > li:hover > .sub-menu { display: block; }
.spark-menu--horizontal .sub-menu li a {
    display: block;
    padding: 0.5rem 1rem;
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    white-space: nowrap;
    text-align: left;
    /* Source: .nav-menu-hover sub-menu slide animation */
    transform: translateX(0);
    transition: color 0.35s ease, transform 0.35s ease;
}
.spark-menu--horizontal .sub-menu li a:hover {
    color: #f4f4f4;
    transform: translateX(4px);
}

/* ── Luxury Division button — hidden <1200px ── */
.widget_acp860prltv { margin: 0; padding: 0; }
@media (max-width: 1199px) { .widget_acp860prltv { display: none !important; } }

.luxury-button {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    border: 0.0625rem solid #fff;
    text-transform: uppercase;
    color: #fff !important;
    background-color: transparent;
    cursor: pointer;
    font-size: 0.7rem;
    line-height: 1.25;
    letter-spacing: 0.0625rem;
    padding: 0.5rem 1.2rem;
    border-radius: 20rem;
    white-space: nowrap;
    flex-shrink: 0;
    text-decoration: none !important;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.luxury-button:hover {
    color: #000 !important;
    background-color: #f4f4f4;
    border-color: #f4f4f4;
}

/* ── Hamburger — hidden ≥1200px ── */
.widget_bl1mb4ken2d { margin: 0 0 0 auto; padding: 0; }
@media (min-width: 1200px) { .widget_bl1mb4ken2d { display: none !important; } }

.side-menu-btn {
    width: 50px;
    height: 50px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
}
.side-menu-btn--state {
    height: 34px;
    width: 34px;
    overflow: hidden;
    margin: auto;
    position: absolute;
    transform-origin: center;
    inset: 0;
}
.side-menu-btn--state i {
    height: 1px;
    width: 34px;
    background: #fff;
    position: absolute;
    transform-origin: center;
    display: block;
}
/* Open: 3 lines */
.side-menu-btn--state.-to-open i             { left: 0; margin-left: auto; margin-right: auto; right: 0; transform-origin: center; transition: transform 0.3s ease 0s; }
.side-menu-btn--state.-to-open i:first-child { top: 10px;  transform: scaleX(0.7); transition-delay: 0.9s; }
.side-menu-btn--state.-to-open i:nth-child(2){ top: 17px;  transform: scaleX(1);   transition-delay: 0.8s; }
.side-menu-btn--state.-to-open i:nth-child(3){ top: 24px;  transform: scaleX(0.7); transition-delay: 0.7s; }
/* Exit: X */
.side-menu-btn--state.-to-exit               { opacity: 0; transform: scale(0.4); transition: all 0.4s ease; transition-delay: 0; }
.side-menu-btn--state.-to-exit i             { left: 0; top: 17px; }
.side-menu-btn--state.-to-exit i:first-child { transform: rotate(-45deg); }
.side-menu-btn--state.-to-exit i:nth-child(2){ transform: rotate(45deg); }
/* Active */
.side-menu-btn.-is-active .side-menu-btn--state.-to-open i              { transform: scaleX(0) !important; }
.side-menu-btn.-is-active .side-menu-btn--state.-to-open i:first-child  { transition-delay: 0s;   top: 10px; transform: scaleX(0.7); }
.side-menu-btn.-is-active .side-menu-btn--state.-to-open i:nth-child(2) { transition-delay: 0.1s; top: 17px; transform: scaleX(1); }
.side-menu-btn.-is-active .side-menu-btn--state.-to-open i:nth-child(3) { transition-delay: 0.2s; top: 24px; transform: scaleX(0.7); }
.side-menu-btn.-is-active .side-menu-btn--state.-to-exit                { opacity: 1; transform: scale(1); transition-delay: 0.4s; }

/* ── Mobile menu ── */
.sp-menu-mobile { display: none; background: #000; }
.sp-menu-mobile.is-open { display: block; }

/* First title div is a spacer — hide it */
.sp-menu-mobile > .sp-menu-mobile__title { display: none; }

.sp-menu-mobile__menu {
    display: none;
    padding: 1.5rem 2.5vw 1rem;
}
.sp-menu-mobile__menu.active { display: block; }

.sp-menu-mobile__submenu {
    display: none;
    padding: 0 2.5vw 1rem;
}
.sp-menu-mobile__submenu.active { display: block; }

.sp-menu-mobile__title {
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    color: #fff;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sp-menu-mobile__close {
    background: none;
    border: none;
    cursor: pointer;
    width: 20px;
    height: 20px;
    position: relative;
    padding: 0;
    flex-shrink: 0;
}
.sp-menu-mobile__close::before,
.sp-menu-mobile__close::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #fff;
}
.sp-menu-mobile__close::before { transform: rotate(45deg); }
.sp-menu-mobile__close::after  { transform: rotate(-45deg); }

.sp-menu-mobile__menu ul,
.sp-menu-mobile__submenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sp-menu-mobile__menu ul li a,
.sp-menu-mobile__submenu ul li a {
    display: block;
    padding: 0.75rem 0;
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: #fff;
    border-bottom: 1px solid #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    transition: color 0.2s;
}
.sp-menu-mobile__menu ul li a:hover,
.sp-menu-mobile__submenu ul li a:hover { color: #f4f4f4; }

/* Mobile social footer */
.sp-menu-mobile__footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 2.5vw 1.5rem;
    border-top: 1px solid #1a1a1a;
}
.sp-menu-mobile__footer a {
    color: #fff;
    text-decoration: none;
    font-size: 1.5rem;
    line-height: 1;
    transition: color 0.2s;
}
.sp-menu-mobile__footer a:hover { color: #f4f4f4; }


/* ==========================================================================
   FOOTER
   Source: yt-theme.css — .sre-footer__menu, .sre-footer__contact rules
   ========================================================================== */

/* Source: .block_hy4cez0lmb { background-color: #000 } */
.yt-footer { color: #fff; margin-top: 4rem; }
.block_hy4cez0lmb {
    background-color: #000;
    padding: 6rem 0 4rem;
}
@media (max-width: 767px) { .block_hy4cez0lmb { padding: 4rem 0; } }

/* Bootstrap container inside footer */
.yt-footer .container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

/* Logo row */
.yt-footer-logo-row { text-align: center; padding-bottom: 3rem; }
.yt-footer-logo-row img { height: 100px; margin: 0 auto; }

/* 4-column links row
   Source: .row_6no31y87rt1 { border-top: 1px solid rgba(255,255,255,0.2); padding: 3rem 0 } */
.yt-footer-links.row_6no31y87rt1 {
    border-top: 1px solid rgba(255,255,255,0.2);
    padding: 3rem 0;
}
.yt-footer-links .cbl__row-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 -15px;
}
.yt-footer-col {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 15px;
    text-align: left;
}
@media (max-width: 991px) { .yt-footer-col { flex: 0 0 50%; max-width: 50%; margin-bottom: 2rem; } }
@media (max-width: 575px) { .yt-footer-col { flex: 0 0 100%; max-width: 100%; } }

/* Column heading — Source: .cb-title { color: #FFFFFF } */
.yt-footer .cb-title.h5 {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    color: #fff;
    margin-bottom: 1rem;
}

/* Source: .sre-footer__menu a { font-size: 1rem; font-weight: 400; letter-spacing: -0.5px; text-transform: uppercase; color: #fff } */
.sre-footer__menu .spark-menu--vertical {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.sre-footer__menu .spark-menu--vertical li a {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    padding: 1px;
    display: inline-block;
    /* Slide animation on hover */
    transform: translateX(0);
    transition: color 0.35s ease, transform 0.35s ease;
}
.sre-footer__menu .spark-menu--vertical li a:hover {
    color: rgba(255,255,255,0.75);
    transform: translateX(4px);
}

/* Contact + social row
   Source: .row_u27jqzedfad { border-top: 1px solid rgba(255,255,255,0.2); padding: 2rem 0 } */
.yt-footer-contact-row.row_u27jqzedfad {
    border-top: 1px solid rgba(255,255,255,0.2);
    padding: 2rem 0;
}
.yt-footer-contact-row .cbl__row-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* Source: .sre-footer__contact ul li a { color: #fff; font-size: 0.975rem } */
.sre-footer__contact ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sre-footer__contact ul li a {
    font-family: "Montserrat", sans-serif;
    font-size: 0.975rem;
    color: #fff;
    text-decoration: none;
    transition: color 0.2s;
}
.sre-footer__contact ul li a:hover { color: rgba(255,255,255,0.75); }

/* Social icons row */
.sre-socials.cb-icon-list--horizontal {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.sre-socials .cb-icon-list__item a {
    font-size: 1.25rem;
    color: #fff;
    text-decoration: none;
    transition: color 0.2s;
}
.sre-socials .cb-icon-list__item a:hover { color: rgba(255,255,255,0.75); }

/* Copyright row
   Source: .row_16dnh61wrrn3 { border-top: 1px solid rgba(255,255,255,0.2); padding: 2rem 0 0 } */
.yt-footer-bottom.row_16dnh61wrrn3 {
    border-top: 1px solid rgba(255,255,255,0.2);
    padding: 2rem 0 0;
}

/* Source: .sre-links__dark a { color: #fff } font-size: 0.85rem */
.sre-links__dark p {
    font-family: "Montserrat", sans-serif;
    font-size: 0.85rem;
    color: #fff;
    line-height: 1.6;
    margin: 0 0 1.5rem;
}
.sre-links__dark a {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s;
}
.sre-links__dark a:hover { color: rgba(255,255,255,0.75); }


/* ==========================================================================
   BLOG LISTING — index.hbs
   Source: yt-spark.css — .sp-internal-header, .sp-hero, .sp-blog-3-grid__* rules
   ========================================================================== */

/* Hero Banner
   Source: .sp-internal-header__content { padding: 150px 0 } (large),
           .sp-internal-header__title { font-size: 3.5rem }
           overlay via .sp-internal-header__overlay */
.yt-blog-hero {
    position: relative;
    background: #000 url('https://assets.thesparksite.com/uploads/templates/blog-page-v2/default-cta-2-background.jpg') center/cover no-repeat;
    padding: 150px 0;
    text-align: center;
    color: #fff;
}
.yt-blog-hero__overlay {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.65);
}
.yt-blog-hero .yt-container { position: relative; z-index: 1; }

/* Source: .sp-internal-header__title { font-size: 3.5rem } */
.yt-blog-hero__title {
    font-family: "Bebas Neue", sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    color: #fff;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}
.yt-blog-hero__sub {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: rgba(255,255,255,0.8);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}
/* Source: .sp-internal-header a { font-weight: 700; color: currentColor; text-decoration: none } */
.yt-blog-hero a { font-weight: 700; color: currentColor; text-decoration: none; }
.yt-blog-hero a:hover { color: currentColor; text-decoration: underline; }

/* Blog Section */
.yt-blog-section { padding: 60px 0; }

/* Layout: grid + sidebar
   Source: .sp-blog-3-grid__container { display: grid; grid-template-columns: 1fr; grid-gap: 60px }
           with sidebar variant: grid-template-columns: minmax(100px,3fr) minmax(100px,1fr) */
.yt-blog-layout {
    display: grid;
    grid-template-columns: auto;
    gap: 60px;
    align-items: start;
}
.yt-blog-main { /* grid-area: main */ }

/* Posts grid
   Source: .sp-blog-3-grid__items { display: grid; grid-template-columns: repeat(1, minmax(8rem, 1fr)); grid-gap: 60px }
   At 992px+: 3 columns (based on sp-blog-3-grid responsive breakpoints) */
.yt-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;  /* source: #block_mohhp0p2lrh { gap: 15px } from blog-yt-listing.html inline style */
}
.yt-blog-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* Post Card
   Source: .sp-blog-3-grid__post { display: flex; flex-direction: column; background-color: #fff; overflow: hidden }
           box-shadow: 0 0 5px 0 rgba(41,43,44,0.15) — from blog listing inline block style */
.yt-post-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #fff;
    overflow: hidden;
    box-shadow: 0 0 5px 0 rgba(41,43,44,0.15);
    transition: box-shadow 0.25s, transform 0.25s;
}
.yt-post-card:hover {
    box-shadow: 0 6px 24px rgba(41,43,44,0.2);
    transform: translateY(-2px);
}

/* Card image
   Source: .sp-blog-3-grid__post-image { display: block; position: relative; height: 300px; width: 100% }
           .sp-blog-3-grid__post-image img { height: 100%; width: 100%; object-fit: cover } */
.yt-post-card__img-link { display: block; position: relative; }
.yt-post-card__img {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-color: #e8e8e8;
}
.yt-post-card__img--placeholder { background-color: #ccc; }

/* Card body
   Source: .sp-blog-3-grid__post-content { padding: 30px 20px; display: flex; flex-direction: column; justify-content: space-between; line-height: 30px; flex: 1 } */
.yt-post-card__body {
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    line-height: 30px;
    flex: 1;
    box-sizing: border-box;
}

/* Source: .sp-blog-3-grid__category { margin-bottom: 0.75rem; font-size: 0.75rem; line-height: 0.75rem; text-transform: uppercase } */
.yt-post-card__tag {
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #333;
    margin-bottom: 0.75rem;
}

/* Source: .sp-blog-3-grid__post-title { margin-bottom: 18px; font-size: 28px; line-height: 38px; font-weight: 900; padding: 0 }
           .sp-blog-3-grid__post-title a { color: inherit; text-decoration: none } */
.yt-post-card__title {
    font-family: "Montserrat", sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 38px;
    margin-bottom: 18px;
    padding: 0;
}
.yt-post-card__title a { color: inherit; text-decoration: none; }
.yt-post-card__title a:hover { color: #000; text-decoration: underline; }

/* Source: .sp-blog-3-grid__post-excerpt { overflow: hidden; line-height: 27.2px; font-size: 1rem; margin: 0 } */
.yt-post-card__excerpt {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    overflow: hidden;
    line-height: 27.2px;
    margin-bottom: 0.625rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Source: .sp-blog-3-grid__date { font-size: 12px; top: -18px; position: relative; font-style: italic } */
.yt-post-card__meta {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-style: italic;
    color: #555;
    margin: 0;
}

/* Newsletter sidebar
   Source: .sp-blog-3-grid__sidebar { grid-area: sidebar } — black background CTA column */
.yt-blog-sidebar { position: sticky; top: 100px; }
.yt-newsletter-cta {
    background: #000;
    color: #fff;
    padding: 2rem 1.5rem;
}
.yt-newsletter-cta h3 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.75rem;
    color: #fff;
    line-height: 1.3;
}
.yt-newsletter-cta p {
    font-family: "Montserrat", sans-serif;
    font-size: 0.875rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.8;
    margin-bottom: 1.25rem;
}

.yt-newsletter-form { display: flex; flex-direction: column; gap: 0.75rem; }
.yt-newsletter-form input[type="email"] {
    width: 100%;
    padding: 0.65rem 0.9rem;
    border: 2px solid rgba(255,255,255,0.25);
    border-bottom-color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s;
}
.yt-newsletter-form input[type="email"]::placeholder { color: rgba(255,255,255,0.4); }
.yt-newsletter-form input[type="email"]:focus { border-color: rgba(255,255,255,0.7); }

/* Source: btn-spark applied to subscribe button */
.yt-newsletter-form button {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    border-style: solid;
    border-color: #fff;
    border-width: 0.0625rem;
    text-transform: uppercase;
    color: #fff;
    background-color: transparent;
    cursor: pointer;
    font-size: 0.8rem;
    line-height: 1.25;
    letter-spacing: 0.0625rem;
    padding: 1rem 2rem;
    border-radius: 20rem;
    transition: background-color 0.2s, color 0.2s;
}
.yt-newsletter-form button:hover {
    color: #000;
    background-color: #f4f4f4;
    border-color: #f4f4f4;
}
.yt-newsletter-success { font-size: 0.85rem; color: rgba(255,255,255,0.8); margin: 0; }

/* Pagination
   Source: .sp-blog-3-grid__pagination { margin-top: 50px; text-align: center }
           .sp-blog-3-grid__pagination .page-numbers { display: inline-block; padding: 2px 10px; margin: 0 2px; border: solid transparent 1px; color: #777 }
           .sp-blog-3-grid__pagination .current { color: #080808; border: solid #080808 1px } */
.yt-pagination {
    margin-top: 50px;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}
.yt-pagination .pagination { display: flex; align-items: center; gap: 0.5rem; }
.yt-pagination .page-number,
.yt-pagination a {
    font-family: "Montserrat", sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #777;
    display: inline-block;
    padding: 2px 10px;
    margin: 0 2px;
    border: solid transparent 1px;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}
.yt-pagination a:hover { color: #080808; border-color: #080808; }
.yt-pagination .older-posts,
.yt-pagination .newer-posts {
    font-family: "Montserrat", sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #080808;
}


/* ==========================================================================
   BLOG POST — post.hbs
   Source: yt-theme.css — .spark-single, .spark-single__*, .spark-single__post-meta
   ========================================================================== */

/* Source: .spark-single { width: 100%; padding: 50px 15px; margin: 0 auto }
           .spark-single { display: flex; flex-wrap: nowrap; max-width: 1200px } */
.yt-blog-post { padding: 50px 15px; }

.yt-post-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

/* Post header (outside the flex wrapper) */
.yt-post-header { margin-bottom: 2.5rem; }

.yt-post-tag {
    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #333;
    margin-bottom: 0.75rem;
}

/* Post title uses Bebas Neue from yt-theme.css h1 */
.yt-post-title {
    font-family: "Bebas Neue", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.0625rem;
}

/* Source: .spark-single__post-meta { font-size: 13px }
           .spark-single__post-meta > span + span:before { content: '•'; padding: 0 8px; color: #333 } */
.yt-post-meta {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #555;
    margin-bottom: 1.5rem;
}

/* Source: .spark-single__featured-image { height: 400px }
           .spark-single__featured-image img { width: 100%; object-fit: cover; height: 100% } */
.yt-post-hero-img {
    margin: 0 0 2rem;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 400px;
}
.yt-post-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.yt-post-hero-img figcaption {
    font-family: "Montserrat", sans-serif;
    font-size: 0.8rem;
    color: #888;
    text-align: center;
    padding: 0.5rem;
}

/* Source: .spark-single__content { flex: 1 1 800px; max-width: 800px } */
.yt-post-content {
    flex: 1 1 800px;
    max-width: 800px;
    font-family: "Montserrat", sans-serif;
    font-size: 0.875rem;
    line-height: 1.8;
    color: #333;
    letter-spacing: 0.0625rem;
}
.yt-post-content h1:first-child { display: none; }

.yt-post-content h2 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin: 2.5rem 0 1rem;
    line-height: 1.3;
}
.yt-post-content h3 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin: 2rem 0 0.75rem;
    line-height: 1.3;
}
.yt-post-content h4 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin: 1.5rem 0 0.5rem;
    line-height: 1.3;
}
.yt-post-content p { margin-bottom: 1.25em; }
.yt-post-content ul,
.yt-post-content ol { padding-left: 1.5em; margin-bottom: 1.25em; }
.yt-post-content li { margin-bottom: 0.4em; line-height: 1.8; }
.yt-post-content a { color: #080808; text-decoration: underline; }
.yt-post-content a:hover { color: #000; }
.yt-post-content img { max-width: 100%; margin: 1.5em 0; }
.yt-post-content blockquote {
    margin: 2em 0;
    padding: 1em 1.5em;
    border-left: 4px solid #333;
    background: #f9f9f9;
    color: #444;
    font-style: italic;
}
.yt-post-content figure { margin: 1.5em 0; }
.yt-post-content figcaption {
    font-size: 0.8rem;
    color: #888;
    text-align: center;
    padding-top: 0.4rem;
}

/* Copy toast */
.yt-copy-toast {
    display: none;
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    padding: 0.6rem 1.5rem;
    border-radius: 40px;
    font-family: "Montserrat", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.0625rem;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    z-index: 9999;
    white-space: nowrap;
}
.yt-copy-toast.show { display: block; }

/* Comments */
.yt-post-comments {
    max-width: 800px;
    margin: 3rem auto 0;
    padding-top: 2rem;
    border-top: 1px solid #eee;
}

/* Related posts */
.yt-related-posts { padding: 3rem 0 5rem; background: #f7f7f7; }
.yt-related-posts__title {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}


/* ==========================================================================
   STATIC PAGE — page.hbs
   ========================================================================== */
.yt-static-page { padding: 50px 15px; }

.yt-page-header { margin-bottom: 2rem; }
.yt-page-title {
    font-family: "Bebas Neue", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

.yt-page-hero-img { margin: 0 0 2rem; overflow: hidden; }
.yt-page-hero-img img { width: 100%; height: auto; display: block; }

.yt-page-content {
    font-family: "Montserrat", sans-serif;
    font-size: 0.875rem;
    line-height: 1.8;
    color: #333;
    letter-spacing: 0.0625rem;
    max-width: 800px;
}
.yt-page-content a { color: #080808; text-decoration: underline; }
.yt-page-content a:hover { color: #000; }


/* ==========================================================================
   GHOST CARD ASSETS (kg-* classes)
   ========================================================================== */
.kg-width-wide { max-width: 1040px; margin-left: auto; margin-right: auto; }
.kg-width-full { max-width: none; margin-left: -15px; margin-right: -15px; }
.kg-image-card img { display: block; max-width: 100%; }
.kg-gallery-container { display: grid; gap: 0.5rem; }
.kg-gallery-row { display: grid; gap: 0.5rem; }
.kg-gallery-image img { width: 100%; height: 100%; object-fit: cover; }
.kg-bookmark-card {
    border: 1px solid #e5e5e5;
    overflow: hidden;
    margin: 1.5em 0;
}
.kg-bookmark-container { display: flex; }
.kg-bookmark-content { padding: 1rem; flex: 1; }
.kg-bookmark-title { font-weight: 700; margin-bottom: 0.25rem; }
.kg-bookmark-description { font-size: 0.875rem; color: #666; }
.kg-bookmark-thumbnail img { width: 200px; object-fit: cover; }
.kg-callout-card {
    display: flex;
    gap: 1rem;
    padding: 1.25rem;
    background: #f0f0f0;
    margin: 1.5em 0;
}
.kg-video-card video { width: 100%; }


/* ==========================================================================
   RESPONSIVE
   Source: sp-blog-3-grid responsive breakpoints, spark-single responsive,
           sp-internal-header__content padding breakpoints
   ========================================================================== */

/* 992px — 3-col → 2-col blog grid */
@media (max-width: 992px) {
    .yt-blog-layout { grid-template-columns: 1fr; }
    .yt-blog-sidebar { position: static; }
    .yt-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .yt-blog-grid--3 { grid-template-columns: repeat(2, 1fr); }
    /* Source: .sp-internal-header__content { padding: 80px 0 } */
    .yt-blog-hero { padding: 80px 0; }
    /* footer cols go 2-up at 992px via .yt-footer-col */
    .yt-post-content { width: 100%; max-width: none; }
}

/* 768px — mobile */
@media (max-width: 768px) {
    /* Source: .sp-internal-header__content { padding: 80px 0 } mobile */
    .yt-blog-hero { padding: 80px 0; }
    .yt-blog-hero__title { font-size: 2.55rem; }

    /* Source: sp-blog-3-grid__items: 1 column on mobile */
    .yt-blog-grid { grid-template-columns: 1fr; gap: 30px; }
    .yt-blog-grid--3 { grid-template-columns: 1fr; }

    /* footer cols already handled by .yt-footer-col flex rules */

    /* Source: spark-single hero height smaller */
    .yt-post-hero-img { height: 250px; }
    .yt-post-title { font-size: 3rem; }

    /* Source: sp-blog-3-grid__post-content { padding: 30px 20px } already set */
    .yt-post-card__title { font-size: 22px; line-height: 30px; }
}

/* 480px — small mobile */
@media (max-width: 480px) {
    .block_hy4cez0lmb { padding: 2.5rem 0 1.5rem; }
    .yt-footer-logo-row { padding-bottom: 1.5rem; }
    .yt-post-title { font-size: 2.55rem; }
    .yt-blog-hero__title { font-size: 2.15rem; }
}
