/*!
Theme Name:  Jenny Best
Theme URI:   https://jennysbeet.com
Author:      [Your Name]
Author URI:  https://yoursite.com
Description: Custom theme for Jenny Best, built on Underscores (_s).
Version:     1.0.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jenny-best
Tags:        custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Jenny Best is based on Underscores https://underscores.me/, (C) 2012-2024 Automattic, Inc.
*/

/* ============================================================
   TABLE OF CONTENTS

   1.  DESIGN SYSTEM (variables)
   2.  RESET / BASE
   3.  TYPOGRAPHY
   4.  BUTTONS
   5.  NAVIGATION — DESKTOP
   6.  NAVIGATION — MOBILE OVERLAY
   7.  FOOTER
   8.  SHARED UTILITIES
   9.  DEFAULT PAGE LAYOUT
   10. BLOCK EDITOR OVERRIDES
   11. WPFORMS OVERRIDES
   12. HOME — HERO
   13. HOME — MARQUEE
   14. HOME — WRITING CARDS
   15. HOME — PRESS LOGOS
   16. HOME — EVENTS SIDEBAR
   17. EMAIL SIGNUP BAND
   18. INNER PAGE HERO (ACF block)
   19. TEXT WITH PULL QUOTE (ACF block)
   20. AREAS TO EXPLORE (ACF block)
   21. SUBSTACK SUBSCRIBE (ACF block)
   22. SUBSTACK LIST (ACF block)
   23. PRESS FEATURES (ACF block)
   24. EVENTS LIST (ACF block)
   25. CONTACT PAGE TEMPLATE
   26. RESPONSIVE — TABLET LARGE  (≤ 1100px)
   27. RESPONSIVE — TABLET SMALL  (≤  900px)
   28. RESPONSIVE — MOBILE        (≤  768px)
   ============================================================ */


/* ============================================================
   1. DESIGN SYSTEM
   ============================================================ */

:root {
	--cream:  #FEFAF6;
	--beige:  #F6F1E8;
	--brass:  #B9862A;
	--teal:   #1B4457;
	--brown:  rgba(185, 134, 42, .85);
	--black:  #2C2520;
	--rule:   rgba(122, 92, 74, 0.50);
	--muted:  rgba(73, 59, 46, .80);

	--t-h1:    58px;
	--t-h2:    42px;
	--t-h3:    26px;
	--t-body:  1.05rem;
	--t-label: .85rem;
	--t-micro: .80rem;

	--sp-xs:      8px;
	--sp-sm:      16px;
	--sp-md:      24px;
	--sp-lg:      36px;
	--sp-xl:      48px;
	--sp-xxl:     64px;
	--sp-section: 72px;

	--radius:      5px;
	--radius-card: 6px;
}


/* ============================================================
   2. RESET / BASE
   ============================================================ */

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

html {
	scroll-behavior: smooth;
}

body {
	background: var(--beige);
	color: var(--black);
	font-family: 'DM Sans', sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.75;
	margin: 0;
}

.page {
	background: var(--cream);
}

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

a {
	color: var(--brass);
	text-decoration: none;
	transition: color .15s;
}

a:hover,
a:focus {
	color: var(--teal);
}


/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
	font-family: 'EB Garamond', serif;
	color: var(--black);
	line-height: 1.3;
	font-weight: 600;
	text-wrap: balance;
	margin-top: 0;
}

h1 { font-size: var(--t-h1); letter-spacing: -.02em; }
h2 { font-size: var(--t-h2); letter-spacing: -.01em; }
h3 { font-size: var(--t-h3); }

p {
	margin-bottom: var(--sp-sm);
}


/* ============================================================
   4. BUTTONS
   ============================================================ */

.btn-dark {
	background: var(--teal);
	color: var(--cream);
	padding: 13px 20px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--teal);
	border-radius: var(--radius);
	transition: background .2s, color .2s, border-color .2s;
}

.btn-dark:hover {
	background: transparent;
	color: var(--teal);
	border-color: var(--teal);
}

.btn-outline {
	border: 1px solid var(--brass);
	color: var(--cream);
	padding: 13px 20px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	background: var(--brass);
	transition: background .2s, color .2s;
}

.btn-outline:hover {
	background: transparent;
	color: var(--brass);
	border-color: var(--brass);
}
.btn-filled-sm {
	background: var(--teal);
	color: var(--cream);
	border: 1px solid var(--teal);
	padding: 8px 20px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	border-radius: var(--radius);
	transition: background .2s, color .2s, border-color .2s;
}

.btn-filled-sm:hover {
	background: transparent;
	color: var(--teal);
	border-color: var(--teal);
}

.btn-outline-sm {
	border: 1px solid var(--brass);
	color: var(--cream);
	background: var(--brass);
	padding: 8px 20px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	border-radius: var(--radius);
	transition: background .2s, color .2s;
	text-align: center;
}

.btn-outline-sm:hover {
	background: transparent;
	color: var(--brass);
	border-color: var(--brass);
}

.btn-outline-sm.speaking-btn {
	padding: 14px 24px;
}


/* ============================================================
   5. NAVIGATION — DESKTOP
   ============================================================ */


.main-navigation-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px var(--sp-xxl);
	background: var(--cream);
	border-bottom: 1px solid var(--rule);
}

.site-logo a {
	font-family: 'EB Garamond', serif;
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--black);
	text-decoration: none;
}

.site-logo a:hover {
	color: var(--black);
}

.main-navigation {
	display: flex;
	gap: 48px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation a {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--black);
	text-decoration: none;
	font-weight: 600;
	transition: color .15s;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--brass);
}

.nav-social-icons {
	display: flex;
	gap: 18px;
	align-items: center;
}

.nav-social-icons a {
	color: var(--brass);
	display: flex;
	align-items: center;
	text-decoration: none;
	opacity: .9;
	transition: opacity .15s;
}

.nav-social-icons a:hover {
	opacity: 1;
}

.nav-hamburger {
	display: none;
	flex-direction: column;
	gap: 7px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
}

.nav-hamburger span {
	display: block;
	width: 33px;
	height: 3px;
	background: var(--brass);
}


/* ============================================================
   6. NAVIGATION — MOBILE OVERLAY
   ============================================================ */

.mobile-nav {
	display: none;
	position: fixed;
	inset: 0;
	background: var(--brass);
	z-index: 999;
	flex-direction: column;
	padding: 0;
}

.mobile-nav.open {
	display: flex;
}

.mobile-nav-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 24px 28px;
}

.mobile-nav-logo {
	font-family: 'EB Garamond', serif;
	font-size: 30px;
	color: var(--beige);
	font-weight: 600;
	letter-spacing: .01em;
	text-decoration: none;
}

.mobile-nav-close {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--beige);
	font-size: 42px;
	line-height: 1;
	padding: 4px;
	opacity: .9;
}

.mobile-nav-social {
	display: flex;
	gap: 22px;
	align-items: center;
	padding: 0 24px 40px;
	padding: 0 24px 40px;
	margin-top: 20px;
}

.mobile-nav-social a {
	color: var(--beige);
	opacity: .85;
	display: flex;
	align-items: center;
	box-sizing: border-box;

}

.mobile-nav-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	flex: 0;
	margin: 0;
	padding: 0;
	justify-content: center;
	margin: auto 0;
}

.mobile-nav-links li a {
	display: block;
	font-size: 1.65rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--beige);
	text-decoration: none;
	font-weight: 600;
	padding: 18px 24px;
	border-top: 1px solid rgba(254, 250, 246, .18);
	transition: opacity .15s;
}

.mobile-nav-links li:last-child a {
	border-bottom: 1px solid rgba(254, 250, 246, .18);
}

.mobile-nav-links li a:hover {
	opacity: .7;
}


/* ============================================================
   7. FOOTER
   ============================================================ */

.site-footer {
	background: var(--beige);
	padding: 20px var(--sp-xxl);
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	border-top: 1px solid var(--rule);
}

.footer-follow {
	font-size: 13px;
	color: var(--brass);
}

.footer-follow a {
	color: var(--brass);
	text-decoration: none;
	font-weight: 500;
}

.footer-copy {
	font-size: 13px;
	color: var(--brass);
	letter-spacing: .02em;
	text-align: right;
}


/* ============================================================
   8. SHARED UTILITIES
   ============================================================ */

.section-hdr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: var(--sp-lg);
}

.section-title {
	font-family: 'EB Garamond', serif;
	font-size: 2.625rem;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--black);
	text-wrap: balance;
	line-height: 1.1;
}

.section-lnk {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--brass);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
	margin-left: 24px;
	flex-shrink: 0;
	transition: color .15s;
}

.section-lnk:hover {
	color: var(--teal);
}

.hero-divider {
	width: 64px;
	height: 3px;
	background: var(--brass);
	margin-top: 20px;
	margin-bottom: 0;
	flex-shrink: 0;
}


/* ============================================================
   9. DEFAULT PAGE LAYOUT
   Padding for pages using native WP blocks only.
   ACF block pages (body.has-acf-blocks) get no padding —
   blocks handle their own padding internally.
   Native blocks on mixed pages are wrapped in .native-block-wrap
   by the jenny_best_wrap_native_blocks() PHP filter.
   ============================================================ */

.page-content {
	max-width: none;
}

body:not(.has-acf-blocks) .page-content {
	background: var(--cream);
	padding: 48px var(--sp-xxl) 88px;
}

.native-block-wrap {
	padding-left: var(--sp-xxl);
	padding-right: var(--sp-xxl);
	box-sizing: border-box;
	max-width: 66.6666%;
}

.native-block-wrap:last-child {
    margin-bottom: 40px;
}

/* _s entry overrides */
.page .entry-header {
	display: none;
}

.entry-content {
	padding: 0;
	max-width: none;
	background: var(--cream);
}


/* ============================================================
   10. BLOCK EDITOR OVERRIDES
   ============================================================ */


.editor-styles-wrapper .wp-block {
	max-width: none !important;
}



.editor-styles-wrapper {
    background: var(--cream) !important;
}

.wp-block-acf-hero,
.wp-block-acf-marquee,
.wp-block-acf-inner-hero,
.wp-block-acf-substack-cards,
.wp-block-acf-substack-list,
.wp-block-acf-substack-subscribe,
.wp-block-acf-press-logos,
.wp-block-acf-press-features,
.wp-block-acf-events-sidebar,
.wp-block-acf-events-list,
.wp-block-acf-areas-explore,
.wp-block-acf-text-with-quote {
	margin: 0 !important;
	padding: 0 !important;
	outline: 1px dashed rgba(122, 92, 74, 0.3);

}

.editor-styles-wrapper .is-root-container > p,
.editor-styles-wrapper .is-root-container > h1,
.editor-styles-wrapper .is-root-container > h2,
.editor-styles-wrapper .is-root-container > h3,
.editor-styles-wrapper .is-root-container > ul,
.editor-styles-wrapper .is-root-container > ol,
.editor-styles-wrapper .is-root-container > figure,
.editor-styles-wrapper .wpforms-container {
    max-width: 740px !important;
    margin-left: 64px !important;
    margin-right: auto !important;
    font-size: 1rem;
}



/* ============================================================
   11. WPFORMS OVERRIDES
   ============================================================ */

.wpforms-container {
	max-width: none !important;
}

.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium {
	max-width: 100%;
}

.wpforms-field-container .wpforms-field {
	padding: 0 0 12px 0 !important;
}

.wpforms-field-label {
	font-family: 'DM Sans', sans-serif !important;
	font-size: var(--t-label) !important;
	font-weight: 500 !important;
	letter-spacing: .06em !important;
	color: var(--brown) !important;
	margin-bottom: 6px !important;
}

.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field input[type="url"],
.wpforms-field input[type="number"],
.wpforms-field input[type="date"],
.wpforms-field select,
.wpforms-field textarea {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 300 !important;
	color: var(--muted) !important;
	background: var(--cream) !important;
	border: 1px solid var(--rule) !important;
	border-radius: var(--radius) !important;
	padding: 13px 16px !important;
	outline: none !important;
	width: 100% !important;
	box-shadow: none !important;
	transition: border-color .15s !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

/* Select needs explicit height — padding alone doesn't control
   vertical alignment reliably once appearance: none is set.   */
.wpforms-field select {
	height: 50px !important;
	line-height: 1.75 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: var(--muted) !important;
	font-weight: 300 !important;
}

.wpforms-field select,
#wpforms-137-field_6 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A5C4A' stroke-width='1.5' stroke-linecap='square' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

.wpforms-field select option[value=""] {
    color: rgba(73, 59, 46, 0.60) !important;
}

.wpforms-field select,
.wpforms-field select option[value=""] {
    color: rgba(73, 59, 46, 0.60) !important;

}

.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder,
#wpforms-137-field_6::placeholder {
	color: var(--muted) !important;
	font-weight: 300 !important;
}

.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus {
	border-color: var(--brass) !important;
	box-shadow: none !important;
	outline: none !important;
}

.wpforms-field textarea {
	resize: vertical !important;
	min-height: 140px !important;
	line-height: 1.6 !important;
}

.wpforms-field-sublabel {
	font-size: var(--t-micro) !important;
	color: var(--muted) !important;
	letter-spacing: .06em !important;
	margin-top: 4px !important;
	display: block !important;
}

.wpforms-submit-container .wpforms-submit {
	background: var(--teal) !important;
	color: var(--cream) !important;
	border: 1px solid var(--teal) !important;
	padding: 14px 36px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: var(--t-label) !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border-radius: var(--radius) !important;
	transition: background .2s, color .2s, border-color .2s !important;
	display: inline-block !important;
	box-shadow: none !important;
}

.wpforms-submit-container .wpforms-submit:hover {
	background: transparent !important;
	color: var(--teal) !important;
	border-color: var(--teal) !important;
}

.wpforms-error-container,
.wpforms-field .wpforms-error {
	color: #c0392b !important;
	font-size: var(--t-label) !important;
	margin-top: 4px !important;
}

.wpforms-confirmation-container-full {
	font-family: 'EB Garamond', serif !important;
	font-size: 1.5rem !important;
	color: var(--black) !important;
	padding: 24px 0 !important;
	border: none !important;
	background: transparent !important;
}



/* ============================================================
   12. HOME — HERO
   ============================================================ */

.hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--cream);
}

.hero-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px 52px 48px var(--sp-xxl);
}

.hero-eyebrow {
	font-size: var(--t-micro);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--brass);
	font-weight: 600;
	margin-bottom: 18px;
}

.hero-hl {
	font-family: 'EB Garamond', serif;
	font-size: 3.625rem;
	line-height: 1.1;
	font-weight: 600;
	color: var(--black);
	margin: 0 0 20px;
	letter-spacing: -.02em;
	text-wrap: balance;
	max-width: 590px;
}

.hero-hl .accent {
	color: var(--brass);
}

.hero-body {
	line-height: 1.75;
	color: var(--black);
	margin-bottom: 30px;
	font-weight: 300;
}

.hero-ctas {
	display: flex;
	gap: 12px;
	align-items: stretch;
}

.hero-ctas .btn-dark,
.hero-ctas .btn-outline {
	flex: 1;
	text-align: center;
}

.hero-img {
	height: 735px;
	overflow: hidden;
	align-self: start;
}

.hero-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 65%;
}


/* ============================================================
   13. HOME — MARQUEE
   ============================================================ */

.quote-band {
	background: var(--brass);
	padding: 24px 0;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
}

.quote-inner {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: marquee 90s linear infinite;
	white-space: nowrap;
}

.quote-text {
	font-family: 'EB Garamond', serif;
	font-size: 24px;
	font-weight: 400;
	color: var(--cream);
	letter-spacing: .01em;
	line-height: 1.5;
	white-space: nowrap;
	flex-shrink: 0;
	padding-right: 80px;
}

@keyframes marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}


/* ============================================================
   14. HOME — WRITING CARDS
   ============================================================ */

.writing-section {
	padding: 60px 0 72px var(--sp-xxl);
	overflow: hidden;
	background: var(--beige);
}

.writing-section .section-hdr {
	margin-right: var(--sp-xxl);
	border-bottom: 1px solid var(--rule);
}

.writing-section h2 {
	margin-bottom: 20px;
}

.cards {
	display: flex;
	flex-direction: row;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-right: var(--sp-xxl);
}

.cards::-webkit-scrollbar {
	display: none;
}

.card {
	flex: 0 0 calc(33.333% - 8px);
	flex-shrink: 0;
	scroll-snap-align: start;
	background: var(--cream);
	overflow: hidden;
	border-radius: var(--radius-card);
	position: relative;
	cursor: pointer;
	display: flex;
flex-direction: column;
}

.card .card-link-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.card .card-rm {
	position: relative;
	z-index: 2;
}

.card img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.card-body {
	padding: 20px 22px 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.card-date {
	font-size: var(--t-micro);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 600;
	margin-bottom: 7px;
}

.card-title {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	line-height: 1.4;
	font-weight: 400;
	margin-bottom: 10px;
	color: var(--black);
	text-wrap: balance;
}

.card-excerpt {
	font-size: var(--t-label);
	line-height: 1.75;
	color: var(--black);
	margin-bottom: 14px;
	font-weight: 300;
}

.card-rm {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--brass);
	text-decoration: none;
	display: inline-block;
	margin-top: auto;
	padding-top: 12px;
	transition: color .15s;
}

.card-rm:hover  { color: var(--teal); }
.card-rm::after { content: ' →'; }

.writing-arrows {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
	padding-right: var(--sp-xxl);
}

.writing-arrow {
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s;
}

.writing-arrow.visible {
	opacity: 1;
	pointer-events: auto;
}

.writing-arrow svg {
	width: 40px;
	height: 40px;
}


/* ============================================================
   15. HOME — PRESS LOGOS
   ============================================================ */

.press {
	padding: 44px var(--sp-xxl);
	background: var(--cream);
	text-align: center;
}

.press-eye {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--black);
	font-weight: 600;
	margin-bottom: 24px;
}

.press-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 110px;
	flex-wrap: wrap;
}

.press-logos img {
	height: 36px;
	width: auto;
	max-width: 180px;
	opacity: .38;
	filter: grayscale(100%);
	object-fit: contain;
}


/* ============================================================
   16. HOME — EVENTS SIDEBAR
   ============================================================ */

.events {
	padding: 60px 0 60px var(--sp-xxl);
	background: var(--beige);
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 0;
	align-items: start;
	position: relative;
}

.events::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--sp-xxl) + 300px);
	width: 1px;
	background: var(--rule);
}

.ev-sidebar {
	padding: 0 var(--sp-xxl) 0 0;
}

.ev-sidebar .section-title {
	margin-top: 0;
	margin-bottom: 14px;
}

.ev-sidebar p {
	line-height: 1.75;
	color: var(--black);
	margin-bottom: 28px;
	font-weight: 300;
}

.ev-events {
	padding: 0;
}

.event-item {
	border-top: 1px solid var(--rule);
	padding: 26px 0 26px 30px;
}

.event-item:first-child {
	border-top: none;
	padding-top: 0;
}

.event-item:last-child {
	border-bottom: none;
	padding-bottom: 60px;
}

.event-meta {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--brass);
	font-weight: 600;
	margin-bottom: 7px;
	line-height: 1.3;
}

.event-name {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	font-weight: 400;
	margin-bottom: 6px;
	line-height: 1.4;
	color: var(--black);
	text-wrap: balance;
}

.event-loc {
	font-size: var(--t-label);
	letter-spacing: .06em;
	color: var(--brown);
	margin-bottom: 9px;
	font-weight: 400;
}

.event-desc {
	font-size: var(--t-label);
	line-height: 1.75;
	color: var(--black);
	margin-bottom: 14px;
	font-weight: 300;
}


/* ============================================================
   17. EMAIL SIGNUP BAND
   ============================================================ */

.email-section {
	background: var(--brass);
	padding: 36px var(--sp-xxl);
	display: flex;
	align-items: center;
	justify-content: center;
}

.email-section-inner {
	display: flex;
	align-items: center;
	gap: 32px;
	width: 100%;
	max-width: 900px;
	justify-content: center;
}

.email-lead {
	font-family: 'EB Garamond', serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--beige);
	line-height: 1.4;
	text-wrap: balance;
	flex: 0 1 auto;
	max-width: 560px;
	margin: 0;
}

.email-btn {
	background: var(--teal);
	color: var(--beige);
	border: 1px solid var(--teal);
	padding: 13px 28px;
	width: 240px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	white-space: nowrap;
	font-family: 'DM Sans', sans-serif;
	border-radius: var(--radius);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background .2s, color .2s, border-color .2s;
}

.email-btn:hover {
	background: var(--beige);
	color: var(--teal);
	border-color: var(--beige);
}


/* ============================================================
   18. INNER PAGE HERO (ACF block)
   2fr left / 1fr right grid.
   Row 1: H1 + divider left, photo/SVG right (spans rows 1+2).
   Row 2: subtitle + body left.
   Right column bleeds to viewport edge — no right padding.
   ============================================================ */

.inner-hero {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: auto auto;
	background: var(--cream);
}

.inner-hero-text {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 200px;
	padding: 0 52px 20px var(--sp-xxl);
}

.inner-hero-text h1 {
	font-family: 'EB Garamond', serif;
	font-size: 3.625rem;
	line-height: 1.1;
	font-weight: 600;
	color: var(--black);
	letter-spacing: -.02em;
	text-wrap: balance;
	margin-bottom: 0;
}

.inner-hero-body {
	grid-column: 1;
	grid-row: 2;
	padding: 44px 52px 72px var(--sp-xxl);
	background: var(--cream);
}

.inner-hero-subtitle {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	line-height: 1.4;
	font-weight: 400;
	color: var(--black);
	text-wrap: balance;
	margin-top: 0;
	margin-bottom: 16px;
}

.inner-hero-body-text p {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--black);
	font-weight: 300;
	margin-bottom: 24px;
}

.inner-hero-body-text p:last-child {
	margin-bottom: 0;
}

.inner-hero-media {
	grid-column: 2;
	grid-row: 1 / 3;
	overflow: hidden;
	position: relative;
}

.inner-hero-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right top;
	display: block;
}

.right-col-illustration {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.right-col-illustration img {
	position: static;
	width: 100%;
	height: auto;
	object-fit: unset;
	margin-left: auto;
	transform: translateX(15px);
}


/* ============================================================
   19. TEXT WITH PULL QUOTE (ACF block)
   2fr left / 1fr right grid.
   ============================================================ */

.text-with-quote {
	background: var(--cream);
}

.twq-layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
}

.twq-body {
	padding: 72px 56px 0 var(--sp-xxl);
}

.twq-body p {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--black);
	font-weight: 300;
	margin-top: 16px;
	margin-bottom: 0;
}

.twq-body p:last-child {
	margin-bottom: 0;
}

.twq-aside {
	padding: 72px var(--sp-xxl) 88px 0;
	display: flex;
	align-items: flex-start;
}

.pull-quote-desktop {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	line-height: 1.4;
	color: var(--brass);
	font-weight: 400;
	text-wrap: balance;
	margin: 0;
	padding: 0;
	border: none;
}

.pull-quote-mobile {
	display: none;
}


/* ============================================================
   20. AREAS TO EXPLORE (ACF block)
   ============================================================ */

.expertise-band {
	background: var(--beige);
	padding: 48px var(--sp-xxl) 52px;
}

.expertise-band-title {
	font-size: .75rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--brown);
	font-weight: 600;
	text-align: center;
	margin-bottom: 36px;
}

.expertise-track {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

.expertise-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 28px;
}

.expertise-card-icon {
	width: 86px;
	height: 86px;
	object-fit: contain;
	display: block;
	margin: 0 auto 16px;
}

.expertise-card-text {
	font-size: 1.1rem;
	line-height: 1.3;
	color: var(--black);
	font-weight: 600;
	text-wrap: balance;
	max-width: 160px;
}


/* ============================================================
   21. SUBSTACK SUBSCRIBE (ACF block)
   Background image: /images/substack-module-background.jpg
   Desktop gradient: left to right teal fade.
   Mobile: swaps image and flips gradient to bottom-to-top.
   ============================================================ */

.substack-subscribe {
	position: relative;
	min-height: 260px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 64px 0;
}

.subscribe-bg {
	position: absolute;
	inset: 0;
}

.subscribe-bg::before,
.subscribe-bg::after {
	content: '';
	position: absolute;
	inset: 0;
}

.subscribe-bg::before {
	background-image: url('images/substack-module-background.webp');
	background-size: cover;
	background-position: center center;
}

.subscribe-content {
	position: relative;
	z-index: 1;
	padding: 0 var(--sp-xxl);
	width: 44%;
}

.subscribe-title {
	font-family: 'EB Garamond', serif;
	font-size: 2.625rem;
	font-weight: 600;
	color: var(--cream);
	line-height: 1.1;
	letter-spacing: -.01em;
	margin-bottom: 16px;
	text-wrap: balance;
}

.subscribe-body {
	font-size: 1.3rem;
	line-height: 1.5;
	color: var(--cream);
	font-weight: 400;
	margin-bottom: 24px;
	width: 100%;
}

.subscribe-btn {
	background: var(--brass);
	color: var(--cream);
	border: 1px solid var(--brass);
	padding: 14px 28px;
	width: 100%;
	font-size: .85rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	white-space: nowrap;
	font-family: 'DM Sans', sans-serif;
	border-radius: var(--radius);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, color .2s, border-color .2s;
}

.subscribe-btn:hover {
	background: var(--cream);
	color: var(--brass);
	border-color: var(--cream);
}


/* ============================================================
   22. SUBSTACK LIST (ACF block)
   Vertical stacked post list — Writing page.
   Each row: 1fr thumbnail left / 2fr text right.
   ============================================================ */

.posts-section {
	background: var(--beige);
	padding: 72px var(--sp-xxl) 88px;
}

.posts-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 36px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rule);
}

.posts-title {
	font-family: 'EB Garamond', serif;
	font-size: 2.625rem;
	font-weight: 600;
	color: var(--black);
	letter-spacing: -.01em;
	line-height: 1.1;
	text-wrap: balance;
}

.posts-lnk {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--brass);
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: color .15s;
}

.posts-lnk::after { content: ' →'; }
.posts-lnk:hover  { color: var(--teal); }

.posts-footer {
	text-align: center;
	padding-top: 52px;
}

.btn-posts-all {
	background: transparent;
	color: var(--teal);
	padding: 14px 40px;
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	border: 1px solid var(--teal);
	border-radius: var(--radius);
	transition: background .2s, color .2s;
}

.btn-posts-all:hover {
	background: var(--teal);
	color: var(--cream);
}

.post-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-radius: var(--radius-card);
	overflow: hidden;
}

.post-card {
	background: var(--cream);
	display: grid;
	grid-template-columns: 1fr 2fr;
	overflow: hidden;
	position: relative;
	align-items: stretch;
	min-height: 260px;
}

.post-card-img {
	overflow: hidden;
	position: relative;
}

.post-card-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.post-card-body {
	padding: 32px 40px 36px;
	display: flex;
	flex-direction: column;
}

.post-card-date {
	font-size: var(--t-micro);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 600;
	margin-bottom: 10px;
}

.post-card-title {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	line-height: 1.4;
	font-weight: 400;
	color: var(--black);
	margin-bottom: 14px;
	text-wrap: balance;
}

.post-card-excerpt {
	font-size: var(--t-label);
	line-height: 1.75;
	color: var(--black);
	font-weight: 300;
	flex: 1;
	margin-bottom: 20px;
}

.post-card-rm {
	font-size: var(--t-label);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--brass);
	text-decoration: none;
	display: inline-block;
	align-self: flex-start;
	transition: color .15s;
	position: relative;
	z-index: 2;
}

.post-card-rm::after { content: ' →'; }
.post-card-rm:hover  { color: var(--teal); }

.post-card-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}


/* ============================================================
   23. PRESS FEATURES (ACF block)
   Teal background, 4-column grid, inverted logos + article links.
   ============================================================ */

.media-coverage {
	background: var(--teal);
	padding: 64px var(--sp-xxl) 68px;
}

.media-coverage-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.media-coverage-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 32px;
}

.media-logo-wrap {
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
}

.media-logo-wrap img {
	width: auto;
	height: auto;
	max-height: 44px;
	max-width: 200px;
	display: block;
	filter: brightness(0) invert(1);
	opacity: .9;
}

.media-article-link {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.1rem;
	line-height: 1.3;
	color: var(--beige);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(254, 250, 246, .45);
	text-underline-offset: 3px;
	font-weight: 600;
	text-wrap: balance;
}

.media-article-link:hover {
	text-decoration-color: var(--beige);
	color: var(--beige);
}


/* ============================================================
   24. EVENTS LIST (ACF block)
   Full-width rows: fixed-width thumbnail left, event details right.
   ============================================================ */

.media-events {
	background: var(--beige);
	padding-bottom: 80px;
}

.media-events-hdr {
	padding: 60px var(--sp-xxl) 40px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.media-events-hdr .section-title {
	margin-bottom: 0;
}

.event-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-radius: 10px;
	overflow: hidden;
}

.media-event-row {
	display: grid;
	grid-template-columns: 340px 1fr;
	background: var(--cream);
}

.media-event-row.no-thumb {
	grid-template-columns: 1fr;
}

.media-event-thumb {
	overflow: hidden;
}

.media-event-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.media-event-row .event-item {
	border-top: none;
	padding: 32px 52px 36px 40px;
}


/* ============================================================
   25. CONTACT PAGE TEMPLATE
   ============================================================ */

.contact-hero {
	position: relative;
	background: var(--cream);
	overflow: visible;
	padding-bottom: 20px;
}

.contact-hero-text {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 200px;
	max-width: 67%;
	padding: 0 52px 20px var(--sp-xxl);
}

.contact-h1 {
	margin-bottom: 0;
}

.contact-hero-illustration {
	position: absolute;
	right: 0;
	top: 48px;
	width: 33%;
	overflow: visible;
	display: flex;
	align-items: flex-start;
}

.contact-hero-illustration img {
	display: block;
	width: 75%;
	height: auto;
	margin-left: auto;
	transform: translateX(12px);
}

.contact-section {
	background: var(--cream);
	padding: 0 var(--sp-xxl) 88px;
}

.contact-form-wrap {
	max-width: 720px;
}

.contact-form-wrap h3 {
	font-family: 'EB Garamond', serif;
	font-size: 1.625rem;
	line-height: 1.4;
	font-weight: 400;
	color: var(--black);
	text-wrap: balance;
	margin-bottom: 36px;
}


/* ============================================================
   26. RESPONSIVE — TABLET LARGE (≤ 1100px)
   ============================================================ */

@media (max-width: 1100px) {

	.main-navigation-wrapper { padding: 16px 36px; }
	.main-navigation { gap: 28px; }

	.hero-text { padding: 40px 36px 40px 48px; }
	.hero-body { font-size: 1rem; margin-bottom: 24px; }

	.writing-section { padding: 60px 0 60px 48px; }
	.writing-section .section-hdr { margin-right: 48px; }
	.cards { padding-right: 48px; }
	.writing-arrows { padding-right: 48px; }

	.press { padding: 44px 48px; }
	.press-logos { gap: 64px; }

	.events { padding: 60px 0 60px 48px; grid-template-columns: 260px 1fr; }
	.events::after { left: calc(48px + 260px); }

	.email-section { padding: 36px 48px; }

	.site-footer { padding: 20px 48px; }

	.inner-hero-text { min-height: 220px; padding: 52px 36px 20px 48px; }
	.inner-hero-body { padding: 44px 36px 60px 48px; }

	.twq-body  { padding: 40px 40px 0 48px; }
	.twq-aside { padding: 60px 48px 72px 0; }

	.expertise-band { padding: 48px 48px 52px; }

	.subscribe-content { padding: 0 48px; width: 52%; }

	.posts-section { padding: 60px 48px 72px; }

	.media-coverage { padding: 56px 48px 60px; }
	.media-coverage-item { padding: 0 18px; }

	.media-events-hdr { padding: 60px 48px 40px; flex-wrap: wrap; }
	.event-list { margin: 0 48px !important; }
	.media-event-row { grid-template-columns: 260px 1fr; }
	.media-event-row .event-item { padding: 28px 40px 32px 32px; }

	.contact-hero-text { padding: 0 36px 20px 48px; }
	.contact-section   { padding: 44px 48px 80px; }

	body:not(.has-acf-blocks) .page-content { padding: 48px 48px 72px; }
	.native-block-wrap { padding-left: 48px; padding-right: 48px; }
}


/* ============================================================
   27. RESPONSIVE — TABLET SMALL (≤ 900px)
   ============================================================ */

@media (max-width: 900px) {

	.main-navigation-wrapper { padding: 14px 24px; }
	.main-navigation,
	.nav-social-icons { display: none; }
	.nav-hamburger { display: flex; }

	.hero { grid-template-columns: 1fr; height: auto; max-height: none; }
	.hero-img { height: auto; min-height: 0; max-height: none; }
	.hero-img img { display: block; width: 100%; height: auto; }	
	.hero-text { padding: 40px 32px 44px; }
	.hero-eyebrow { margin-bottom: 12px; }
	.hero-body { font-size: 1rem; margin-bottom: 26px; }
	.hero-ctas { flex-direction: row; gap: 10px; }
	.hero-ctas .btn-dark,
	.hero-ctas .btn-outline { flex: 1; justify-content: center; }

	.writing-section { padding: 52px 0 52px 32px; }
	.writing-section .section-hdr { margin-right: 32px; flex-wrap: wrap; gap: 12px; }
	.section-lnk { font-size: .75rem; margin-left: 0; }
	.cards { padding-right: 32px; gap: 12px; }
	.card { flex: 0 0 72vw; }
	.writing-arrows { padding-right: 32px; }

	.press { padding: 36px 32px; }
	.press-logos { gap: 40px; }

	.events { display: block; padding: 0; }
	.events::after { display: none; }
	.ev-sidebar { padding: 48px 32px 32px; border-bottom: 1px solid var(--rule); }
	.ev-sidebar p { margin-bottom: 22px; }
	.btn-outline-sm.speaking-btn { display: block; width: 100%; text-align: center; }
	.ev-events { padding: 0; }
	.event-item { padding: 24px 32px; border-top: 1px solid var(--rule); }
	.event-item:first-child { border-top: 1px solid var(--rule); padding-top: 24px; }

	.email-section { padding: 40px 32px; }
	.email-section-inner { flex-direction: column; text-align: center; gap: 18px; }
	.email-lead { max-width: none; }
	.email-btn { width: 100%; }

	.site-footer { padding: 18px 32px; grid-template-columns: 1fr; gap: 6px; }
	.footer-copy { text-align: left; }

	.inner-hero { grid-template-columns: 2fr 1fr; grid-template-rows: 30vw auto; }
	.inner-hero-text { grid-column: 1; grid-row: 1; min-height: 0; justify-content: center; padding: 12px 12px 12px 24px; }
	.hero-divider { display: none; }
	.inner-hero-media { grid-column: 2; grid-row: 1; position: relative; min-height: 0; }
	.inner-hero-body { grid-column: 1 / -1; grid-row: 2; padding: 50px 24px 44px; border-top: 1px solid var(--rule); }

	.twq-layout { grid-template-columns: 1fr; }
	.twq-body  { padding: 24px 40px 0 24px; }
	.twq-aside { display: none; }
	.pull-quote-mobile {
		display: block;
		font-family: 'EB Garamond', serif;
		font-size: 1.625rem;
		line-height: 1.4;
		color: var(--brass);
		font-weight: 400;
		padding-left: 18px;
		border-left: 2px solid var(--brass);
		margin: 24px 0;
	}

	.expertise-band { padding: 48px 32px 52px; }
	.expertise-track { flex-wrap: wrap; gap: 32px 0; }
	.expertise-card { flex: 0 0 33.333%; }

	.subscribe-content { width: 70%; padding: 0 32px; }

	.posts-section { padding: 48px 32px 64px; }
	.post-card { grid-template-columns: 1fr; }
	.post-card-img { height: 200px; }

	.media-coverage { padding: 48px 32px 52px; }
	.media-coverage-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
	.media-coverage-item { padding: 0 24px; }

	.media-events-hdr { padding: 48px 32px 32px; gap: 16px; flex-wrap: wrap; }
	.event-list { margin: 0 32px !important; }
	.media-event-row { grid-template-columns: 200px 1fr; }
	.media-event-row .event-item { padding: 24px 28px 28px 24px; }

	.contact-hero { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 32vw; overflow: visible; }
	.contact-hero-text { grid-column: 1; grid-row: 1; max-width: none; min-height: 0; justify-content: center; padding: 0 12px 0 24px; }
	.contact-hero-illustration { position: relative; top: auto; right: auto; width: auto; grid-column: 2; grid-row: 1; align-items: flex-end; }
	.contact-hero-illustration img { width: 88%; transform: translateX(10%); margin-top: 20px; }
	.contact-section { padding: 0 32px 64px; }

	body:not(.has-acf-blocks) .page-content { padding: 40px 32px 64px; }
	.native-block-wrap { padding-left: 32px; padding-right: 32px; max-width: 100%}
}


/* ============================================================
   28. RESPONSIVE — MOBILE (≤ 768px)
   ============================================================ */

@media (max-width: 768px) {

	html, body { overflow-x: hidden; }

	.main-navigation-wrapper { padding: 14px 24px; }
	.site-logo a { font-size: 1.875rem; }

	.hero-hl, .inner-hero-text h1 { font-size: 2.1rem; }
	.home .hero-hl { font-size: 3rem; }
	.hero-text { padding: 36px 24px 40px; }

	.quote-text { font-size: 24px; padding-right: 60px; }

	.writing-section { padding: 48px 0 48px 24px; }
	.writing-section .section-hdr { margin-right: 24px; }
	.cards { padding-right: 24px; }
	.card { flex: 0 0 82vw; }
	.writing-arrows { padding-right: 24px; }

	.press { padding: 36px 24px; }
	.press-logos { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 16px; justify-items: center; }

	.ev-sidebar { padding: 48px 24px 32px; }
	.event-item { padding: 24px; }
	.event-item:first-child { padding-top: 24px; }

	.email-section { padding: 36px 24px; }

	.site-footer { padding: 18px 24px; }

	.inner-hero-body { padding: 50px 24px 44px; }

	.twq-body { padding: 20px 24px 0; }

	.expertise-card { padding: 0 12px;
	}

	.expertise-card-text {
		font-size: .95rem;
	}


	.substack-subscribe { padding: 40px 0; min-height: 320px; align-items: flex-end; }
	.subscribe-bg::before { background-image: url('images/substack-module-background_mobile.webp'); background-position: bottom; }
	.subscribe-content { padding: 0 24px 32px; }
	.subscribe-title { font-size: 2rem; }
	.subscribe-body  { font-size: 1.1rem; }
	.subscribe-btn   { width: 100%; padding: 13px 28px; }

	.posts-section { padding: 40px 24px 56px; }
	.post-card-body { padding: 32px 16px 36px;}

	.media-coverage { padding: 40px 24px 44px; }
	.media-coverage-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
	.media-coverage-item { padding: 0 16px; }
	.media-logo-wrap { height: 36px; margin-bottom: 14px; }
	.media-logo-wrap img { max-width: 100%; }
	.media-article-link { font-size: 0.88rem; }

	.media-events-hdr { padding: 48px 24px 32px; flex-direction: column; align-items: flex-start; }
	.event-list { margin: 0 24px !important; border-radius: 8px; }
	.media-event-row { grid-template-columns: 1fr; }
	.media-event-thumb { aspect-ratio: 3/2; width: 100%; }
	.media-event-row .event-item { padding: 24px 24px 28px; }

	.contact-h1 { font-size: 2.4rem; }
	.contact-section { padding: 0 24px 56px; }

	.wpforms-one-half { 
    width: 100% !important; 
    padding: 0 0 12px !important;
    margin-left: 0 !important;
	}

	#wpforms-137-field_1-container {
		padding: 0 !important;
	}

	body:not(.has-acf-blocks) .page-content { padding: 36px 24px 56px; }
	.native-block-wrap { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 650px) {
	.subscribe-content { width: 100% }
	.subscribe-btn   { width: 50%; }
}