:root {
	--dd-cream: #fbf4e9;
	--dd-paper: #fffdf9;
	--dd-ink: #34241f;
	--dd-muted: #796962;
	--dd-berry: #b93d55;
	--dd-coral: #ee7d6b;
	--dd-pink: #f7d9da;
	--dd-mint: #d9e9d2;
	--dd-line: rgba(71, 43, 34, .14);
	--dd-serif: Georgia, "Times New Roman", serif;
	--dd-sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
	--dd-width: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--dd-cream) !important; color: var(--dd-ink); font: 16px/1.65 var(--dd-sans); }
body::before, .site::before, .site-header, #secondary { display: none; }
body, button, input, select, textarea { font-family: var(--dd-sans); }
a { color: var(--dd-berry); transition: color .2s ease, background-color .2s ease, transform .2s ease; }
img { height: auto; max-width: 100%; }
.site { background: var(--dd-cream); margin: 0; max-width: none; width: 100%; }
.site-main { padding: 0; }
.screen-reader-text:focus, .dd-skip-link:focus { background: var(--dd-paper); clip: auto !important; color: var(--dd-ink); height: auto; left: 16px; padding: 12px 18px; top: 16px; width: auto; z-index: 9999; }
.dd-skip-link { clip: rect(1px,1px,1px,1px); position: absolute; }

/* Header and brand */
.dd-site-header { background: rgba(251, 244, 233, .95); border-bottom: 1px solid var(--dd-line); position: relative; z-index: 50; }
.dd-site-header.is-sticky { backdrop-filter: blur(14px); box-shadow: 0 10px 35px rgba(65, 40, 30, .08); position: sticky; top: 0; }
.admin-bar .dd-site-header.is-sticky { top: 32px; }
.dd-header-inner { align-items: center; display: flex; justify-content: space-between; margin: auto; max-width: var(--dd-width); min-height: 88px; padding: 14px 28px; }
.dd-brand { align-items: center; color: var(--dd-ink); display: inline-flex; font: 600 clamp(24px, 2.3vw, 34px)/1 var(--dd-serif); gap: 8px; letter-spacing: -.045em; text-decoration: none; }
.dd-brand:hover { color: var(--dd-berry); }
.dd-brand-candy { align-items: center; display: inline-flex; height: 34px; justify-content: center; position: relative; width: 48px; }
.dd-brand-candy::before, .dd-brand-candy::after { color: var(--dd-coral); content: "‹"; font: 700 26px/1 var(--dd-sans); position: absolute; top: 4px; }
.dd-brand-candy::before { left: -1px; }
.dd-brand-candy::after { right: -1px; transform: rotate(180deg); }
.dd-brand-candy i { background: repeating-linear-gradient(65deg, #e9565d 0 5px, #fff0e7 5px 7px); border-radius: 50%; display: block; height: 31px; transform: rotate(-8deg); width: 31px; }
.dd-primary-nav { align-items: center; display: flex; gap: 16px; }
.dd-menu { align-items: center; display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.dd-menu li { background: none; position: relative; }
.dd-menu a { border-bottom: 1px solid transparent; color: var(--dd-ink); display: block; font-size: 13px; font-weight: 600; padding: 8px 10px; text-decoration: none; }
.dd-menu a:hover, .dd-menu .current-menu-item > a { border-color: var(--dd-coral); color: var(--dd-berry); }
.dd-menu .sub-menu { background: var(--dd-paper); box-shadow: 0 18px 45px rgba(60, 32, 25, .13); display: none; left: 0; list-style: none; min-width: 190px; padding: 10px; position: absolute; top: 100%; }
.dd-menu li:hover > .sub-menu, .dd-menu li:focus-within > .sub-menu { display: block; }
.dd-search-toggle { background: transparent; border: 0; border-radius: 50%; box-shadow: none; height: 42px; padding: 0; position: relative; width: 42px; }
.dd-search-toggle::before { border: 2px solid var(--dd-ink); border-radius: 50%; content: ""; height: 13px; left: 12px; position: absolute; top: 10px; width: 13px; }
.dd-search-toggle::after { background: var(--dd-ink); content: ""; height: 2px; left: 25px; position: absolute; top: 25px; transform: rotate(45deg); width: 8px; }
.dd-search-toggle:hover { background: rgba(185, 61, 85, .08); }
.dd-menu-toggle { background: transparent; border: 0; box-shadow: none; display: none; height: 44px; padding: 10px; width: 44px; }
.dd-menu-toggle > span:not(.screen-reader-text) { background: var(--dd-ink); display: block; height: 2px; margin: 5px 0; transition: transform .2s, opacity .2s; width: 24px; }
.dd-search-panel { background: var(--dd-paper); border-top: 1px solid var(--dd-line); }
.dd-search-inner { margin: auto; max-width: var(--dd-width); padding: 20px 28px; }
.dd-search-inner .search-form { margin: 0; max-width: none; position: relative; }
.dd-search-inner .search-field { background: var(--dd-cream); border: 1px solid var(--dd-line); border-radius: 0; font-size: 18px; padding: 15px 120px 15px 18px; width: 100%; }
.dd-search-inner .search-submit { background: var(--dd-berry); border: 0; border-radius: 0; bottom: 0; color: #fff; padding: 0 24px; position: absolute; right: 0; top: 0; }

/* Shared typography and controls */
.dd-eyebrow { align-items: center; color: var(--dd-berry); display: flex; font-size: 11px; font-weight: 700; gap: 10px; letter-spacing: .24em; margin: 0 0 18px; text-transform: uppercase; }
.dd-eyebrow::before { background: var(--dd-coral); content: ""; height: 2px; width: 27px; }
.dd-home h1, .dd-home h2, .dd-page-hero h1, .dd-archive-card h2, .dd-single h1, .dd-single-content h2, .dd-single-content h3 { font-family: var(--dd-serif); font-weight: 500; letter-spacing: -.045em; }
.dd-button { align-items: center; background: var(--dd-berry); border-radius: 3px; color: #fff !important; display: inline-flex; font-size: 13px; font-weight: 700; gap: 24px; padding: 16px 22px; text-decoration: none; }
.dd-button:hover { background: #8f263d; transform: translateY(-2px); }
.dd-button span { font-size: 20px; line-height: 1; }
.dd-button--light { background: #fff; color: var(--dd-berry) !important; }
.dd-button--light:hover { background: var(--dd-cream); }
.dd-text-link, .dd-card-link { border-bottom: 1px solid currentColor; color: var(--dd-ink); display: inline-flex; font-size: 12px; font-weight: 700; gap: 10px; text-decoration: none; }
.dd-text-link:hover, .dd-card-link:hover { color: var(--dd-berry); }

/* Homepage */
.dd-home { overflow: hidden; }
.dd-hero { align-items: center; display: grid; gap: 6%; grid-template-columns: .9fr 1.1fr; margin: auto; max-width: var(--dd-width); min-height: 650px; padding: 62px 28px 76px; }
.dd-hero h1 { font-size: clamp(46px, 5.1vw, 76px); line-height: 1.01; margin: 0 0 26px; }
.dd-hero h1 em, .dd-cta h2 em { color: var(--dd-berry); font-weight: inherit; }
.dd-lead { color: var(--dd-muted); font-size: 18px; line-height: 1.75; margin: 0; max-width: 530px; }
.dd-actions { margin-top: 32px; }
.dd-trust { color: var(--dd-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 12px 24px; list-style: none; margin: 34px 0 0; padding: 0; }
.dd-trust li::before { color: var(--dd-berry); content: "✓"; font-weight: 800; margin-right: 7px; }
.dd-hero-visual { min-height: 500px; position: relative; }
.dd-hero-visual > img { border-radius: 45% 55% 45% 55% / 56% 42% 58% 44%; box-shadow: 0 28px 70px rgba(72, 40, 30, .18); height: 500px; object-fit: cover; position: relative; width: 100%; z-index: 2; }
.dd-hero-shape { background: var(--dd-pink); border-radius: 38% 62% 64% 36% / 44% 40% 60% 56%; height: 100%; position: absolute; right: -4%; top: 3%; transform: rotate(5deg); width: 103%; }
.dd-float-card { background: var(--dd-paper); bottom: 18px; box-shadow: 0 16px 45px rgba(70,37,28,.16); display: grid; grid-template-columns: 38px 1fr; left: -32px; padding: 16px 20px; position: absolute; z-index: 4; }
.dd-float-card > span { align-items: center; background: var(--dd-mint); border-radius: 50%; display: flex; grid-row: 1/3; justify-content: center; margin-right: 12px; }
.dd-float-card strong { font: 600 16px var(--dd-serif); }
.dd-float-card small { color: var(--dd-muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.dd-doodle { color: var(--dd-coral); font: 50px/1 var(--dd-serif); position: absolute; }
.dd-doodle--hero { right: -34px; top: 54%; transform: rotate(14deg); z-index: 3; }
.dd-section-heading { margin-left: auto; margin-right: auto; max-width: var(--dd-width); }
.dd-section-heading h2 { font-size: clamp(38px, 4vw, 55px); line-height: 1.1; margin: 0; }
.dd-section-heading--center { max-width: 760px; padding: 12px 28px 40px; text-align: center; }
.dd-section-heading--center .dd-eyebrow { justify-content: center; }
.dd-section-heading--center > p:last-child { color: var(--dd-muted); line-height: 1.8; margin: 18px 0 0; }
.dd-categories { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin: auto; max-width: var(--dd-width); padding: 0 28px 105px; }
.dd-category { background: var(--dd-paper); border: 1px solid var(--dd-line); color: var(--dd-ink); min-height: 440px; overflow: hidden; position: relative; text-decoration: none; }
.dd-category-image { display: block; height: 285px; overflow: hidden; }
.dd-category-image img { height: 100%; object-fit: cover; transition: transform .7s ease; width: 100%; }
.dd-category:hover .dd-category-image img { transform: scale(1.055); }
.dd-category-copy { display: block; padding: 20px 65px 24px 24px; }
.dd-category-copy small { color: var(--dd-berry); display: block; font-size: 10px; letter-spacing: .16em; }
.dd-category-copy strong { display: block; font: 500 32px/1.2 var(--dd-serif); margin: 4px 0 8px; }
.dd-category-copy > span { color: var(--dd-muted); display: block; font-size: 12px; line-height: 1.5; }
.dd-round-arrow { align-items: center; border: 1px solid var(--dd-line); border-radius: 50%; bottom: 26px; display: flex; height: 36px; justify-content: center; position: absolute; right: 23px; width: 36px; }
.dd-category:hover .dd-round-arrow { background: var(--dd-berry); color: #fff; }
.dd-story { align-items: center; background: var(--dd-mint); display: grid; gap: 6%; grid-template-columns: .8fr 1fr .55fr; padding: 70px max(28px, calc((100vw - 1184px) / 2)); }
.dd-story-image { min-height: 330px; position: relative; }
.dd-story-image img { border-radius: 45% 55% 48% 52% / 55% 40% 60% 45%; height: 330px; object-fit: cover; width: 100%; }
.dd-story-heart { color: #fff; font: 50px/1 var(--dd-serif); left: 28px; position: absolute; top: 25px; transform: rotate(-14deg); }
.dd-story-copy h2 { font-size: clamp(38px, 4vw, 56px); line-height: 1.08; margin: 0 0 18px; }
.dd-story-copy > p:not(.dd-eyebrow) { color: #594b46; line-height: 1.8; margin-bottom: 23px; }
.dd-story-doodle { align-items: center; color: #668260; display: flex; flex-direction: column; text-align: center; transform: rotate(-5deg); }
.dd-story-doodle span { border: 2px solid currentColor; border-radius: 50%; font-size: 38px; line-height: 80px; width: 80px; }
.dd-story-doodle em { font: italic 22px/1.35 var(--dd-serif); margin-top: 16px; }
.dd-latest { margin: auto; max-width: var(--dd-width); padding: 100px 28px; }
.dd-section-heading--row { align-items: end; display: flex; justify-content: space-between; margin-bottom: 38px; }
.dd-post-grid, .dd-archive-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.dd-post-card { background: var(--dd-paper); border: 1px solid var(--dd-line); margin: 0; overflow: hidden; padding: 0; }
.dd-post-image { display: block; height: 260px; overflow: hidden; }
.dd-post-image img { height: 100%; object-fit: cover; transition: transform .6s; width: 100%; }
.dd-post-card:hover .dd-post-image img { transform: scale(1.05); }
.dd-post-copy { padding: 23px; }
.dd-post-copy time { color: var(--dd-berry); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.dd-post-copy h3 { font: 500 26px/1.2 var(--dd-serif); margin: 9px 0 21px; }
.dd-post-copy h3 a { color: var(--dd-ink); text-decoration: none; }
.dd-cta { align-items: center; background: var(--dd-berry); display: flex; justify-content: space-between; margin: 0 auto 82px; max-width: 1184px; padding: 62px 70px; }
.dd-cta .dd-eyebrow { color: #ffd7d6; }
.dd-cta h2 { color: #fff; font-size: clamp(38px, 4vw, 56px); line-height: 1.05; margin: 0; }
.dd-cta h2 em { color: #ffd8ce; }

/* Archives */
.dd-archive-page, .dd-single-wrap { margin: auto; max-width: var(--dd-width); padding: 72px 28px 110px; }
.dd-page-hero { margin-bottom: 50px; max-width: 850px; }
.dd-page-hero h1 { font-size: clamp(46px, 6vw, 78px); line-height: 1.05; margin: 0; }
.dd-page-description { color: var(--dd-muted); font-size: 18px; margin-top: 18px; max-width: 650px; }
.dd-page-description p { margin: 0; }
.dd-archive-card { background: var(--dd-paper); border: 1px solid var(--dd-line); margin: 0; overflow: hidden; padding: 0; }
.dd-archive-card__image { display: block; height: 260px; overflow: hidden; }
.dd-archive-card__image img { height: 100%; object-fit: cover; transition: transform .6s; width: 100%; }
.dd-archive-card:hover .dd-archive-card__image img { transform: scale(1.05); }
.dd-archive-card__body { padding: 24px; }
.dd-card-meta { color: var(--dd-berry); display: flex; font-size: 10px; gap: 10px; letter-spacing: .08em; text-transform: uppercase; }
.dd-card-meta span::before { content: "•"; margin-right: 10px; }
.dd-archive-card h2 { font-size: 28px; line-height: 1.16; margin: 10px 0 12px; }
.dd-archive-card h2 a { color: var(--dd-ink); text-decoration: none; }
.dd-card-excerpt { color: var(--dd-muted); font-size: 14px; }
.dd-card-excerpt p { margin: 0 0 20px; }
.dd-pagination { margin-top: 55px; text-align: center; }
.dd-pagination .nav-links { align-items: center; display: flex; gap: 8px; justify-content: center; }
.dd-pagination .page-numbers { border: 1px solid var(--dd-line); color: var(--dd-ink); min-width: 40px; padding: 8px 12px; text-decoration: none; }
.dd-pagination .current, .dd-pagination a:hover { background: var(--dd-berry); color: #fff; }
.dd-empty-state { background: var(--dd-paper); border: 1px solid var(--dd-line); padding: 40px; }
.dd-empty-state h2 { font: 500 36px/1.2 var(--dd-serif); margin: 0 0 10px; }
.dd-empty-state .search-form { margin-top: 25px; max-width: 620px; }
.dd-empty-state .search-field { border: 1px solid var(--dd-line); padding: 12px; width: calc(100% - 110px); }
.dd-empty-state .search-submit { background: var(--dd-berry); border: 0; color: #fff; padding: 13px 18px; }

/* Single posts and pages */
.dd-single-wrap { max-width: 1040px; }
.dd-single { margin: 0; padding: 0; }
.dd-single-header { margin: 0 auto 46px; max-width: 840px; text-align: center; }
.dd-single-header .dd-eyebrow { justify-content: center; }
.dd-single h1 { font-size: clamp(46px, 6vw, 76px); line-height: 1.06; margin: 0 0 18px; }
.dd-single-header time { color: var(--dd-muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.dd-single-hero { margin: 0 0 55px; }
.dd-single-hero img { max-height: 720px; object-fit: cover; width: 100%; }
.dd-single-content { background: var(--dd-paper); border: 1px solid var(--dd-line); font: 18px/1.85 var(--dd-serif); margin: auto; max-width: 820px; padding: clamp(28px, 5vw, 70px); }
.dd-single-content > :first-child { margin-top: 0; }
.dd-single-content > :last-child { margin-bottom: 0; }
.dd-single-content h2 { font-size: 36px; line-height: 1.2; margin-top: 1.5em; }
.dd-single-content h3 { font-size: 27px; }
.dd-single-content a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dd-single-content img { margin: 18px auto; }
.dd-single-content .wp-caption { max-width: 100%; }
.dd-single-content blockquote { border-left: 3px solid var(--dd-coral); color: var(--dd-muted); font-style: italic; margin: 35px 0; padding-left: 24px; }
.dd-single-tags { margin: 25px auto; max-width: 820px; }
.dd-single-tags a { background: var(--dd-pink); color: var(--dd-ink); display: inline-block; font-size: 11px; margin: 0 5px 5px 0; padding: 7px 11px; text-decoration: none; }
.dd-post-nav { border-top: 1px solid var(--dd-line); display: grid; gap: 20px; grid-template-columns: 1fr 1fr; margin: 60px auto 0; max-width: 820px; padding-top: 28px; }
.dd-post-nav > div:last-child { text-align: right; }
.dd-post-nav a { color: var(--dd-ink); text-decoration: none; }
.dd-post-nav small, .dd-post-nav span { display: block; }
.dd-post-nav small { color: var(--dd-berry); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.dd-post-nav span { font: 20px var(--dd-serif); }
.comments-area { background: var(--dd-paper); border: 1px solid var(--dd-line); margin: 50px auto 0; max-width: 820px; padding: 30px; }

/* Footer */
.dd-site-footer { background: #2d201c; color: #f9eee8; }
.dd-footer-inner { align-items: end; display: grid; gap: 35px; grid-template-columns: 1.4fr 1fr auto; margin: auto; max-width: var(--dd-width); padding: 55px 28px; }
.dd-brand--light { color: #fff; font-size: 27px; }
.dd-footer-brand p { color: #bfaea7; font-size: 12px; margin: 14px 0 0; }
.dd-footer-nav { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.dd-footer-nav a { color: #f2d8cf; font-size: 12px; text-decoration: none; }
.dd-footer-nav a:hover { color: #fff; }
.dd-copyright { color: #9f8e87; font-size: 10px; margin: 0; }

/* Reveal enhancement */
.dd-js .dd-reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.dd-js .dd-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
	.admin-bar .dd-site-header.is-sticky { top: 46px; }
	.dd-menu-toggle { display: block; }
	.dd-primary-nav { align-items: stretch; background: var(--dd-paper); border-top: 1px solid var(--dd-line); box-shadow: 0 18px 35px rgba(60,32,25,.1); display: none; left: 0; padding: 18px 28px; position: absolute; right: 0; top: 100%; }
	.dd-primary-nav.is-open { display: flex; }
	.dd-menu { align-items: stretch; flex: 1; flex-direction: column; }
	.dd-menu a { padding: 10px 0; }
	.dd-menu .sub-menu { box-shadow: none; display: block; padding: 0 0 0 18px; position: static; }
	.dd-search-toggle { align-self: flex-start; }
	.dd-hero { grid-template-columns: 1fr; padding-top: 55px; }
	.dd-hero-copy { max-width: 760px; }
	.dd-hero-visual { margin-top: 45px; }
	.dd-categories { grid-template-columns: 1fr 1fr; }
	.dd-category:last-child { grid-column: 1 / -1; }
	.dd-story { gap: 35px; grid-template-columns: .8fr 1.2fr; }
	.dd-story-doodle { display: none; }
	.dd-footer-inner { grid-template-columns: 1fr 1fr; }
	.dd-copyright { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
	.dd-header-inner { min-height: 74px; padding: 12px 20px; }
	.dd-brand { font-size: 23px; }
	.dd-brand-candy { transform: scale(.82); width: 39px; }
	.dd-hero { min-height: 0; padding: 46px 20px 66px; }
	.dd-hero h1 { font-size: clamp(43px, 13vw, 58px); }
	.dd-lead { font-size: 16px; }
	.dd-hero-visual, .dd-hero-visual > img { height: 355px; min-height: 355px; }
	.dd-float-card { bottom: -18px; left: 10px; }
	.dd-doodle--hero { right: -4px; }
	.dd-section-heading--center { padding: 18px 20px 35px; }
	.dd-categories { grid-template-columns: 1fr; padding: 0 20px 70px; }
	.dd-category, .dd-category:last-child { grid-column: auto; min-height: 0; }
	.dd-category-image { height: 280px; }
	.dd-story { grid-template-columns: 1fr; padding: 55px 20px; }
	.dd-story-image, .dd-story-image img { min-height: 280px; }
	.dd-latest { padding: 70px 20px; }
	.dd-section-heading--row { align-items: flex-start; flex-direction: column; gap: 18px; }
	.dd-post-grid, .dd-archive-grid { grid-template-columns: 1fr; }
	.dd-post-image, .dd-archive-card__image { height: 280px; }
	.dd-cta { align-items: flex-start; flex-direction: column; gap: 32px; margin: 0 20px 55px; padding: 42px 28px; }
	.dd-archive-page, .dd-single-wrap { padding: 55px 20px 80px; }
	.dd-page-hero h1, .dd-single h1 { font-size: clamp(42px, 13vw, 58px); }
	.dd-single-content { font-size: 17px; padding: 28px 22px; }
	.dd-post-nav { grid-template-columns: 1fr; }
	.dd-post-nav > div:last-child { text-align: left; }
	.dd-footer-inner { align-items: start; grid-template-columns: 1fr; padding: 45px 20px; }
	.dd-copyright { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
	.dd-js .dd-reveal { opacity: 1; transform: none; }
}

