/* Blog feature: scoped to the existing site's main region. */
@font-face {
  font-family: IdealistSans;
  src: url("/local/templates/montcarotte/fonts/IdealistSans.woff") format("woff");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: BlogManrope;
  src: url("/local/templates/montcarotte/assets/blog/Manrope-variable.ttf") format("truetype");
  font-weight: 200 800;
  font-display: swap;
}
.blog-page *, .blog-page *::before, .blog-page *::after { box-sizing: border-box; }
.blog-page button:not(.btn), .blog-page input { font: inherit; }
.blog-page a { color: inherit; text-underline-offset: 3px; }
.blog-page a:hover { color: #e3000f; }
.blog-page [hidden] { display: none; }
.blog-page :focus-visible { outline: 2px solid #225aaa; outline-offset: 3px; }
.blog-page { --accent: #e3000f; --ink: #2d2d2d; --muted: #77777a; --line: #dedede; --surface: #f6f7fb; --white: #fff; font-family: BlogManrope, sans-serif; font-size: 1rem; line-height: 1.55; color: #2d2d2d; background: #f6f7fb; padding: 20px 0 120px; overflow-wrap: anywhere; }
@media (max-width: 820px) { .blog-page { padding: 60px 0; } }
.blog-page.blog-detail { padding: 20px 0 0; }
.blog-page.blog-detail > .container { background: transparent; }
@media (max-width: 820px) { .blog-page.blog-detail > .container { padding: 0; } }
.blog-page .blog-breadcrumbs { margin-bottom: 20px; color: #77777a; font-size: .75rem; line-height: 2; }
.blog-page .blog-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.blog-page .blog-breadcrumbs li + li::before { content: "/"; margin-right: 8px; }
.blog-page .blog-breadcrumbs a { text-decoration: none; }
.blog-page .blog-eyebrow { margin: 0 0 12px; color: var(--accent); font-size: .75rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.blog-page h1, .blog-page h2, .blog-page h3 { margin-top: 0; font-family: IdealistSans, sans-serif; font-weight: 400; line-height: 1.2; text-transform: uppercase; }
.blog-page h1 { max-width: 970px; margin-bottom: 10px; font-size: 3.125rem; line-height: 1.1; letter-spacing: .5px; }
@media (max-width: 1080px) { .blog-page h1 { font-size: 2.5rem; } }
@media (max-width: 820px) { .blog-page h1 { font-size: 2.5rem; letter-spacing: 0; } }
.blog-page h2 { font-size: 2rem; }
@media (max-width: 820px) { .blog-page h2 { font-size: 1.5rem; } }
.blog-page h3 { font-size: 1.3125rem; }
.blog-page .blog-founder { display: flex; align-items: stretch; margin-bottom: 20px; background: var(--white); }
@media (max-width: 820px) { .blog-page .blog-founder { flex-direction: column; } }
.blog-page .blog-founder__content { flex: 1 1 0; min-width: 0; padding: 40px; }
@media (max-width: 820px) { .blog-page .blog-founder__content { padding: 20px; } }
.blog-page .blog-founder__lead { margin: 0 0 20px; font-size: 1.625rem; line-height: 1.3; }
@media (max-width: 820px) { .blog-page .blog-founder__lead { font-size: 1.375rem; line-height: 1.56; } }
.blog-page .blog-founder blockquote { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 20px; border-left: 1px solid var(--accent); background: var(--surface); }
.blog-page .blog-founder blockquote p { margin: 0; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-founder blockquote p { font-size: .875rem; } }
.blog-page .blog-media { position: relative; width: 100%; min-width: 0; overflow: hidden; background: #dedede; }
.blog-page .blog-media > span { display: none; }
.blog-page .blog-media--founder { flex: 0 0 300px; width: 300px; align-self: flex-start; aspect-ratio: 300/351; background-image: none; background-position: center 24%; }
@media (max-width: 820px) { .blog-page .blog-media--founder { flex-basis: auto; width: 100%; aspect-ratio: 6/5; } }
@media (max-width: 560px) { .blog-page .blog-media--founder { aspect-ratio: 1/1; } }
.blog-page .blog-media--hero { aspect-ratio: 16/9; background-image: none; }
.blog-page .blog-media--article { aspect-ratio: 1100/556; }
@media (max-width: 820px) { .blog-page .blog-media--article { height: 272px; aspect-ratio: auto; } }
.blog-page .blog-media--closing { aspect-ratio: 1260/556; }
@media (max-width: 820px) { .blog-page .blog-media--closing { height: 315px; aspect-ratio: auto; } }
.blog-page .blog-media--video { aspect-ratio: 300/533; background-position: center; }
.blog-page .blog-catalog { display: flex; gap: 20px; align-items: flex-start; }
@media (max-width: 820px) { .blog-page .blog-catalog { flex-direction: column; } }
.blog-page .blog-filter { flex: 0 0 300px; width: 300px; padding: 20px; background: var(--white); }
@media (max-width: 820px) { .blog-page .blog-filter { width: 100%; } }
.blog-page .blog-filter--desktop { display: block; }
@media (max-width: 820px) { .blog-page .blog-filter--desktop { display: none; } }
.blog-page .blog-filter__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.blog-page .blog-filter__head h2 { margin: 0; font-size: 1.25rem; }
.blog-page .blog-filter fieldset, .blog-page .blog-dialog fieldset { margin: 20px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid #dedede; }
.blog-page .blog-filter__chips { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.blog-page .blog-filter-chip { position: relative; display: inline-flex; gap: 8px; align-items: center; max-width: 100%; padding: 3px 5px; border: 1px solid #dedede; font-size: .75rem; line-height: 1.58; text-transform: uppercase; cursor: pointer; }
.blog-page .blog-filter-chip:has(:checked) { border-color: #e3000f; }
.blog-page .blog-filter-chip:has(:focus-visible) { outline: 2px solid #225aaa; outline-offset: 3px; }
.blog-page .blog-filter-chip input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.blog-page .blog-filter-chip i { display: none; flex: 0 0 10px; width: 10px; height: 10px; background: url("/local/templates/montcarotte/img/filter-close.svg") center / contain no-repeat; }
.blog-page .blog-filter-chip input:checked ~ i { display: block; }
.blog-page .blog-results { flex: 1 1 0; min-width: 0; width: 100%; }
.blog-page .blog-results__head { display: flex; align-items: center; justify-content: space-between; }
.blog-page .blog-filter-trigger { display: none; width: 100%; min-height: 64px; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; padding: 16px 20px; border: 0; background: #fff; color: #2d2d2d; font-size: .875rem; text-transform: uppercase; cursor: pointer; }
@media (max-width: 820px) { .blog-page .blog-filter-trigger { display: flex; } }
.blog-page:not([data-enhanced]) .blog-filter-trigger { display: none; }
.blog-page .blog-filter-trigger__label { display: flex; align-items: center; gap: 14px; }
.blog-page .blog-filter-trigger__icon { flex: 0 0 20px; width: 20px; height: 18px; }
.blog-page .blog-filter-trigger__action { color: #77777a; font-size: .875rem; }
.blog-page .blog-cards { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 20px; }
.blog-page .blog-card { display: flex; flex-direction: column; flex: 0 1 calc((100% - 40px) / 3); min-width: 0; background: var(--white); }
@media (max-width: 1080px) { .blog-page .blog-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 560px) { .blog-page .blog-card { flex-basis: 100%; } }
.blog-page .blog-card[hidden] { display: none; }
.blog-page .blog-card__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 10px; padding: 20px; }
.blog-page .blog-card--media .blog-card__body { flex-grow: 0; }
.blog-page .blog-card__media { aspect-ratio: 300/225; background-image: none; }
.blog-page .blog-card--video .blog-card__media { aspect-ratio: 300/533; }
.blog-page .blog-card__meta { margin: 0; color: #2d2d2d; font-size: .75rem; line-height: 2; }
.blog-page .blog-card h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; overflow-wrap: anywhere; }
.blog-page .blog-card h3 a { text-decoration: none; }
.blog-page .blog-card__source { margin: auto 0 0; color: #2d2d2d; font-size: .75rem; line-height: 2; }
.blog-page .blog-card__cta { display: flex; align-items: center; gap: 10px; min-height: 59px; margin-top: auto; padding: 20px; border-top: 1px solid #eee; font-family: IdealistSans, sans-serif; font-size: 1rem; line-height: 1.1; letter-spacing: 1.3px; text-transform: uppercase; text-decoration: none; }
.blog-page .blog-card__arrow { flex: 0 0 28px; width: 28px; height: 10px; }
.blog-page .blog-load-more { margin: 20px 0 0; text-align: center; }
.blog-page .blog-button { display: inline-flex; align-items: center; justify-content: center; min-height: 61px; padding: 19px 36px 18px; border: 0; background: #e3000f; color: #fff; font-family: IdealistSans, sans-serif; font-size: 1rem; line-height: 1.5; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.blog-page .blog-button--wide { width: 100%; }
.blog-page .blog-link-button { padding: 8px 0; border: 0; color: #59595d; background: none; font-size: .75rem; text-decoration: underline; cursor: pointer; }
.blog-page .blog-icon-button { display: flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; min-height: 24px; padding: 4px; border: 0; background: transparent; cursor: pointer; }
.blog-page .blog-icon-button img { width: 16px; height: 16px; }
.blog-page .blog-dialog { width: 92%; max-width: 410px; max-height: calc(100dvh - 48px); margin: 24px auto; padding: 24px; border: 0; color: #2d2d2d; background: #fff; }
@media (max-width: 820px) { .blog-page .blog-dialog { position: fixed; inset: auto 0 0; width: 100%; max-width: none; max-height: 100dvh; margin: 0; padding: 20px; } }
.blog-page .blog-dialog::backdrop { background: rgb(0 0 0 / 50%); }
.blog-page .blog-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.blog-page .blog-dialog__head h2 { margin: 0; font-size: 1.25rem; line-height: 1.2; font-weight: 500; text-transform: uppercase; }
.blog-page .blog-dialog__actions { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
.blog-page .blog-dialog .blog-filter { width: 100%; padding: 0; }
.blog-page .blog-dialog .blog-filter__head { display: none; }
.blog-page .blog-dialog .blog-filter__chips { flex-direction: row; flex-wrap: wrap; }
.blog-page.blog-detail .blog-breadcrumbs { padding: 0; margin-bottom: 20px; }
@media (max-width: 820px) { .blog-page.blog-detail .blog-breadcrumbs { padding: 0 20px; } }
.blog-page .blog-back { display: flex; margin-bottom: 20px; padding: 40px; background: var(--white); }
@media (max-width: 820px) { .blog-page .blog-back { margin-bottom: 0; padding: 20px; border-bottom: 1px solid #dedede; } }
.blog-page .blog-back a { display: inline-flex; align-items: center; gap: 10px; color: #2d2d2d; font-size: .875rem; line-height: 1.285714; text-transform: uppercase; text-decoration: none; }
.blog-page .blog-back img { transform: rotate(180deg); }
.blog-page .blog-detail__surface { background: var(--white); }
.blog-page .blog-source { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 40px; font-size: .75rem; line-height: 1.5; letter-spacing: 1px; text-transform: uppercase; }
@media (max-width: 820px) { .blog-page .blog-source { flex-direction: column; align-items: flex-start; padding: 20px; } }
.blog-page .blog-source p { max-width: 486px; margin: 0; font-size: inherit; line-height: inherit; }
.blog-page .blog-source a { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; text-decoration: none; }
.blog-page .blog-detail__category { margin: 0 0 10px; color: #2d2d2d; font-size: .75rem; line-height: 2; letter-spacing: .1px; }
.blog-page .blog-detail__head { padding: 40px; }
@media (max-width: 820px) { .blog-page .blog-detail__head { padding: 20px; } }
.blog-page .blog-detail__meta { margin: 0; font-size: .75rem; line-height: 2; letter-spacing: .1px; }
.blog-page .blog-detail__hero { margin: 0; }
.blog-page .blog-article { margin: 0; padding: 40px; }
@media (max-width: 820px) { .blog-page .blog-article { padding: 20px; } }
.blog-page .blog-article__opening, .blog-page .blog-article__section { margin-bottom: 40px; }
.blog-page .blog-article__section--intro { margin-bottom: 0; }
.blog-page .blog-article > .blog-article__section:last-of-type { margin-bottom: 20px; }
.blog-page .blog-lead { margin-top: 0; font-size: 2rem; font-weight: 500; line-height: 1.2; letter-spacing: .3px; }
.blog-page .blog-article__section p { margin: 0; color: #2d2d2d; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-article__section p { font-size: .875rem; } }
.blog-page .blog-article__section p + p { margin-top: 24px; }
@media (max-width: 820px) { .blog-page .blog-article__section p + p { margin-top: 21px; } }
.blog-page .blog-article__section ul, .blog-page .blog-article__section ol { margin: 0; padding: 0 0 0 20px; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-article__section ul, .blog-page .blog-article__section ol { font-size: .875rem; } }
.blog-page .blog-article__section li { margin: 0; padding: 0; font-size: inherit; line-height: inherit; }
.blog-page .blog-article a { color: var(--accent); text-decoration: underline; }
.blog-page .blog-lead p { margin: 0; font-size: inherit; line-height: inherit; }
.blog-page .blog-article__section h2 { margin-bottom: 20px; font-family: BlogManrope, sans-serif; font-size: 1.25rem; font-weight: 600; line-height: 1.3; letter-spacing: .2px; }
.blog-page .blog-article__section figure { width: 100%; margin: 40px 0 0; padding: 40px 40px 20px; background: var(--blog-media-surface, var(--surface)); }
@media (max-width: 820px) { .blog-page .blog-article__section figure { margin-top: 40px; padding: 0; } }
.blog-page .blog-article__section figcaption { display: flex; justify-content: space-between; gap: 24px; margin-top: 20px; color: #2d2d2d; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-article__section figcaption { margin-top: 0; padding: 20px; } }
@media (max-width: 560px) { .blog-page .blog-article__section figcaption { gap: 12px; } }
.blog-page .blog-quote { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 0; padding: 20px; border-left: 1px solid var(--accent); background: var(--surface); }
.blog-page .blog-quote p { margin: 0; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-quote p { font-size: .875rem; } }
.blog-page .blog-quote cite { font-size: .6875rem; font-style: normal; }
.blog-page .blog-video-layout { display: flex; align-items: flex-start; gap: 40px; margin-bottom: 40px; }
@media (max-width: 820px) { .blog-page .blog-video-layout { flex-direction: column; gap: 0; } }
.blog-page .blog-main-video-desktop { flex: 0 0 300px; width: 300px; }
@media (max-width: 820px) { .blog-page .blog-main-video-desktop { display: none; } }
.blog-page:not([data-enhanced]) .blog-main-video-desktop { display: block; }
@media (max-width: 820px) { .blog-page:not([data-enhanced]) .blog-main-video-desktop { width: 100%; flex-basis: auto; margin-bottom: 40px; } }
.blog-page .blog-main-video-mobile { display: none; }
@media (max-width: 820px) { .blog-page .blog-main-video-mobile { display: block; } }
.blog-page .blog-player { width: 100%; margin: 0; }
.blog-page .blog-video-intro { flex: 1 1 0; min-width: 0; width: 100%; }
@media (max-width: 820px) { .blog-page .blog-video-intro { flex-basis: auto; } }
.blog-page .blog-subscribe { display: flex; gap: 20px; align-items: flex-start; margin: 0 0 120px; padding: 40px; border-top: 1px solid #dedede; background: var(--white); }
@media (max-width: 820px) { .blog-page .blog-subscribe { flex-direction: column; gap: 20px; margin-bottom: 0; padding: 40px 20px; } }
.blog-page .blog-subscribe__intro { flex: 0 0 245px; width: 245px; min-width: 0; }
@media (max-width: 820px) { .blog-page .blog-subscribe__intro { flex-basis: auto; width: 100%; } }
.blog-page .blog-subscribe h2 { margin: 0 0 10px; font-family: BlogManrope, sans-serif; font-size: 2rem; font-weight: 500; line-height: 1.2; letter-spacing: .3px; text-transform: none; }
.blog-page .blog-subscribe__intro p { margin: 0; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-subscribe__intro p { font-size: .875rem; } }
.blog-page .blog-subscribe form { flex: 1 1 0; min-width: 0; width: 100%; }
.blog-page .blog-subscribe__row { display: flex; gap: 0; }
@media (max-width: 820px) { .blog-page .blog-subscribe__row { flex-direction: column; gap: 10px; } }
.blog-page .blog-subscribe__submit { flex-shrink: 0; min-height: 61px; max-width: none; }
@media (max-width: 820px) { .blog-page .blog-subscribe__submit { width: 100%; } }
.blog-page .blog-subscribe input[type="email"] { flex: 1 1 0; min-width: 0; min-height: 61px; width: 100%; padding: 16px 18px; border: 1px solid #dedede; background: #f6f7fb; }
.blog-page .blog-consent { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; font-size: .75rem; }
.blog-page .blog-consent label { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: inherit; line-height: 2; }
.blog-page .blog-consent input { position: static; opacity: 1; flex: 0 0 14px; width: 14px; height: 14px; margin: 5px 0 0; accent-color: #2d2d2d; }
.blog-page .blog-field-error { color: #b0000a; font-size: .75rem; }
.blog-page .blog-subscribe__status { margin: 16px 0 0; font-size: .75rem; }
.blog-page .blog-subscribe__status:empty { display: none; }
.blog-page .blog-related { padding: 120px 0; background: var(--surface); }
@media (max-width: 820px) { .blog-page .blog-related { padding: 60px 20px; } }
.blog-page .blog-related h2 { margin: 0 0 40px; font-size: 2.5rem; line-height: 1.2; letter-spacing: .4px; }
.blog-page .blog-video-closing { margin: 0; }
.blog-page .blog-video-closing figcaption { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 20px 40px; background: var(--blog-media-surface, var(--surface)); color: #2d2d2d; font-size: 1rem; line-height: 1.5; }
@media (max-width: 820px) { .blog-page .blog-video-closing figcaption { padding: 20px; } }
.blog-page .blog-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.blog-page .blog-empty { padding: 24px; background: var(--white); }

.blog-page .blog-media__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.blog-page .blog-video-media { --blog-media-surface: #f6f7fb; margin: 0; }
@media (max-width: 820px) { .blog-page .blog-video-media { --blog-media-surface: transparent; } }
.blog-page .blog-video__start { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; gap: 24px; width: 200px; height: 200px; padding: 38px; border: 1px solid #fff; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; transition: none; }
@media (max-width: 820px) { .blog-page .blog-video__start { gap: 0; width: 60px; height: 60px; padding: 0; } }
.blog-page .blog-video__start-label { color: #fff; font-size: .875rem; line-height: 1.5; text-align: left; text-transform: uppercase; }
@media (max-width: 820px) { .blog-page .blog-video__start-label { display: none; } }
.blog-page .blog-video__start-icon { flex: 0 0 20px; width: 20px; height: 24px; }
.blog-page:not([data-enhanced]) .blog-video__start { display: none; }
.blog-page .blog-video__fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; }
.blog-page .blog-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.blog-page .blog-button[aria-disabled="true"] { opacity: .6; cursor: wait; }
.blog-page .blog-filter-placeholder { flex: 0 0 300px; width: 300px; }
@media (max-width: 820px) { .blog-page .blog-filter-placeholder { flex-basis: auto; width: 100%; } }
.blog-page[data-enhanced] .blog-filter-placeholder { display: block; }
@media (max-width: 820px) { .blog-page[data-enhanced] .blog-filter-placeholder { display: none; } }
.blog-page .blog-media--founder .blog-media__image { object-position: center 24%; }
.blog-page .blog-media--video .blog-media__image { object-position: center; }

