/*
Theme Name: 365 Delivered
Theme URI: https://365delivered.net
Author: 365 Delivered
Author URI: https://365delivered.net
Description: Custom block theme for 365 Delivered. Forest, Marigold and Cream, Bricolage Grotesque, paper-plane illustrations. Includes page patterns for every launch page, a contact form that saves leads, simple SEO fields and a one-click setup screen (Appearance → 365 Setup).
Version: 1.0.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: Proprietary — built for 365 Delivered
Text Domain: d365
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }
a { text-decoration-color: var(--wp--preset--color--marigold); text-decoration-thickness: 2px; text-underline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--wp--preset--color--marigold-dark); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.d365-muted, .d365-muted a { color: var(--wp--preset--color--sage); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Header ---------- */
.d365-header { border-bottom: 1px solid rgba(30,77,58,.14); background: var(--wp--preset--color--cream); position: relative; z-index: 20; }
.d365-header__inner { padding-top: 14px !important; padding-bottom: 14px !important; gap: 16px 32px; }
.d365-logo { display: inline-flex; align-items: center; gap: 2px; text-decoration: none !important; color: var(--wp--preset--color--forest); line-height: 1; }
.d365-logo__word { font-size: 28px; letter-spacing: -.035em; white-space: nowrap; }
.d365-logo__word b { font-weight: 800; }
.d365-logo__word span { font-weight: 500; }
.d365-logo svg { width: 74px; height: 30px; flex: none; }
.d365-header .wp-block-navigation a { text-decoration: none; padding: 10px 0; }
.d365-header .wp-block-navigation a:hover,
.d365-header .wp-block-navigation .current-menu-item > a,
.d365-header .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--wp--preset--color--marigold); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.d365-header .wp-block-navigation .wp-block-navigation-item.d365-nav-cta a,
.d365-header .wp-block-navigation .wp-block-navigation-item.d365-nav-cta a:hover { background: var(--wp--preset--color--marigold); color: var(--wp--preset--color--forest); font-weight: 700; padding: 12px 22px; border-radius: 10px; text-decoration: none; min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center; }
.d365-header .wp-block-navigation .wp-block-navigation-item.d365-nav-cta a:hover { background: var(--wp--preset--color--marigold-light); }
@media (max-width: 599px) { .d365-header .wp-block-navigation__responsive-container-open:not(.always-shown) { width: 48px; height: 48px; border-radius: 10px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); display: inline-flex; align-items: center; justify-content: center; } }
.d365-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .d365-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; justify-content: flex-start !important; }
.d365-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--forest) !important; color: var(--wp--preset--color--cream) !important; padding: 24px; }
.d365-header .wp-block-navigation__responsive-container.is-menu-open a { color: var(--wp--preset--color--cream); font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.d365-header .wp-block-navigation__responsive-container.is-menu-open .d365-nav-cta a { font-size: 19px; margin-top: 16px; color: var(--wp--preset--color--forest) !important; }
.d365-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; gap: 6px; padding-top: 48px; }
@media (max-width: 600px) { .d365-logo__word { font-size: 23px; } .d365-logo svg { width: 56px; height: 24px; } }

/* ---------- Footer ---------- */
.d365-footer { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.d365-footer a { color: var(--wp--preset--color--cream); text-decoration: none; }
.d365-footer a:hover { color: var(--wp--preset--color--marigold-light); text-decoration: underline; }
.d365-footer .d365-logo { color: var(--wp--preset--color--cream); }
.d365-footer .d365-footer__label { font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--marigold-light); margin: 0; }
.d365-footer .d365-footer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.d365-footer .d365-footer__tag { color: #E6EEE9; max-width: 22em; }
.d365-footer .d365-footer__legal { border-top: 1px solid rgba(247,244,236,.2); padding-top: 24px; font-size: 15px; color: #CFDAD3; }

/* ---------- Sections ---------- */
.d365-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.d365-section--tight-top { padding-top: var(--wp--preset--spacing--40) !important; }
.d365-section--tight-bottom { padding-bottom: var(--wp--preset--spacing--40) !important; }
.d365-band-forest { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.d365-band-forest a:not(.wp-element-button) { color: var(--wp--preset--color--cream); }
.d365-band-forest .d365-eyebrow { color: var(--wp--preset--color--marigold-light); }
.d365-band-forest .d365-lead, .d365-band-forest p { color: #E6EEE9; }
.d365-band-sand { background: var(--wp--preset--color--sand); }
.d365-rule-top { border-top: 1px solid rgba(30,77,58,.14); }
.d365-rule-y { border-top: 1px solid rgba(30,77,58,.14); border-bottom: 1px solid rgba(30,77,58,.14); }

/* ---------- Type helpers ---------- */
.d365-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 15px !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--sage); margin: 0; }
.d365-eyebrow::before { content: ""; display: inline-block; width: 28px; height: 4px; background: var(--wp--preset--color--marigold); border-radius: 2px; flex: none; }
.d365-eyebrow--plain::before { display: none; }
.d365-label { font-size: 14px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--sage); margin: 0; }
.d365-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--sage); max-width: 36em; }
.d365-hero-title .d365-mark, .d365-mark { background: linear-gradient(transparent 62%, var(--wp--preset--color--marigold) 62%, var(--wp--preset--color--marigold) 92%, transparent 92%); padding: 0 4px; }
.d365-arrow-link a, a.d365-arrow-link { font-weight: 700; text-decoration-color: var(--wp--preset--color--marigold); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.d365-breadcrumb { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--sage); margin: 0; }
.d365-breadcrumb a { color: var(--wp--preset--color--sage); }

/* ---------- Buttons ---------- */
.wp-block-button__link { min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: var(--wp--preset--color--forest); padding: 14px 26px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-color: var(--wp--preset--color--forest); }
.d365-band-forest .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--cream); }
.d365-band-forest .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--cream); }
.wp-block-button.is-style-forest > .wp-block-button__link { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.wp-block-button.is-style-forest > .wp-block-button__link:hover { background: var(--wp--preset--color--sage); color: var(--wp--preset--color--cream); }
@media (max-width: 600px) { .d365-hero .wp-block-buttons { flex-direction: column; align-items: stretch; } .d365-hero .wp-block-button { width: 100%; } .d365-hero .wp-block-button__link { width: 100%; } }

/* ---------- Chips ---------- */
.d365-chips { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.d365-chips li { margin: 0; }
.d365-chips a { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 10px 20px; border: 2px solid var(--wp--preset--color--forest); border-radius: 999px; font-weight: 700; text-decoration: none; color: var(--wp--preset--color--forest); }
.d365-chips a:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.d365-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; }
.d365-tags li { background: var(--wp--preset--color--cream); border-radius: 999px; padding: 4px 12px; margin: 0; }
.d365-band-forest .d365-tags li { background: rgba(247,244,236,.1); border: 1px solid rgba(247,244,236,.3); }

/* ---------- Cards ---------- */
.d365-cards { gap: 24px !important; }
.d365-card { background: var(--wp--preset--color--white); border: 1px solid rgba(30,77,58,.14); border-radius: 18px; padding: 32px !important; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; transition: transform .15s ease; }
.d365-card > * { margin: 0 !important; }
.d365-card--cream { background: var(--wp--preset--color--cream); border-color: transparent; }
.d365-card--link:hover { transform: translateY(-4px); }
.d365-card .d365-card__more { margin-top: auto !important; font-weight: 700; }
.d365-card .d365-card__more a { text-decoration-color: var(--wp--preset--color--marigold); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.d365-card .d365-card__icon { width: 48px; height: 48px; }
.d365-card .d365-card__icon img { width: 48px; height: 48px; }
.d365-card .d365-card__kicker { font-size: 15px; font-weight: 700; color: var(--wp--preset--color--sage); }
.d365-card .d365-card__get { border-left: 3px solid var(--wp--preset--color--marigold); padding-left: 16px; }
.d365-card--media { padding: 0 !important; overflow: hidden; gap: 0; }
.d365-card--media .d365-card__body { padding: 28px 32px 32px !important; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.d365-card--media .d365-card__body > * { margin: 0 !important; }
.d365-card--media figure { margin: 0 !important; }
.d365-card--media figure img { width: 100%; height: 300px; object-fit: cover; object-position: top; display: block; background: #1A1620; }
.d365-card--dashed { background: transparent; border: 2px dashed rgba(30,77,58,.3); justify-content: flex-end; min-height: 280px; }
.d365-columns-stretch > .wp-block-column { display: flex; flex-direction: column; }
.d365-columns-stretch > .wp-block-column > .d365-card { flex: 1; }

/* ---------- Stats ---------- */
.d365-stat { background: rgba(247,244,236,.07); border: 1px solid rgba(247,244,236,.18); border-radius: 18px; padding: 28px !important; display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; }
.d365-stat > * { margin: 0 !important; }
.d365-stat .d365-stat__num { font-size: 44px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: var(--wp--preset--color--marigold-light); }
.d365-stat--light { background: var(--wp--preset--color--white); border-color: rgba(30,77,58,.14); }
.d365-stat--light .d365-stat__num { color: var(--wp--preset--color--forest); }
.d365-stat--light p:not(.d365-stat__num) { color: var(--wp--preset--color--sage); }

/* ---------- Checklist ---------- */
ul.d365-check { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
ul.d365-check li { position: relative; padding-left: 38px; min-height: 26px; }
ul.d365-check li::before { content: ""; position: absolute; left: 0; top: 1px; width: 26px; height: 26px; background: url("assets/img/check.svg") no-repeat center / 26px 26px; }
ul.d365-check li strong { display: block; }

/* ---------- Steps (dotted trail) ---------- */
.d365-steps { position: relative; gap: 32px !important; }
.d365-steps::before { content: ""; position: absolute; left: 36px; right: 36px; top: 35px; border-top: 4px dotted var(--wp--preset--color--sage); opacity: .6; z-index: 0; }
.d365-steps > .wp-block-column { position: relative; z-index: 1; }
.d365-step-num { width: 72px; height: 72px; border-radius: 50%; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--marigold-light) !important; display: flex !important; align-items: center; justify-content: center; font-size: 26px !important; font-weight: 800; margin: 0 0 14px !important; line-height: 1; }
.d365-step-num--plane { background: var(--wp--preset--color--marigold) url("assets/img/plane-forest.svg") no-repeat center / 40px 40px; color: transparent !important; overflow: hidden; }
.d365-steps h3 { margin: 0 0 10px; font-size: 26px; }
.d365-steps p:not(.d365-step-num) { color: var(--wp--preset--color--sage); margin: 0; }
@media (max-width: 781px) { .d365-steps::before { left: 35px; right: auto; top: 36px; bottom: 36px; border-top: 0; border-left: 4px dotted var(--wp--preset--color--sage); } }

/* ---------- CTA band ---------- */
.d365-cta { background: var(--wp--preset--color--marigold); border-radius: 28px; padding: clamp(36px, 6vw, 64px) !important; gap: 32px; }
.d365-cta p { max-width: 32em; }
.d365-cta--forest { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.d365-cta--forest p { color: #E6EEE9; }
.d365-cta h2 { margin: 0; }

/* ---------- Illustrations & photos ---------- */
.d365-illustration { margin: 0 !important; }
.d365-illustration img { width: 100%; height: auto; display: block; border-radius: 28px; }
.d365-headshot { background: var(--wp--preset--color--cream); isolation: isolate; overflow: hidden; border-radius: 8%; margin: 0 !important; }
.d365-headshot img { mix-blend-mode: multiply; width: 100%; height: auto; display: block; aspect-ratio: 1 / 1; object-fit: cover; }
.d365-headshot.is-style-rounded, .d365-headshot--circle { border-radius: 50%; }
.d365-browser { background: var(--wp--preset--color--forest); border-radius: 28px; padding: clamp(24px, 5vw, 64px) clamp(24px, 5vw, 64px) 0 !important; overflow: hidden; }
.d365-browser figure { max-width: 760px; margin: 0 auto !important; border-radius: 14px 14px 0 0; overflow: hidden; border-top: 32px solid var(--wp--preset--color--sage); max-height: 560px; }
.d365-browser figure img { width: 100%; display: block; }

/* ---------- Quote ---------- */
.d365-quote { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 22px; padding: clamp(28px, 4vw, 48px) !important; border: 0 !important; }
.d365-quote p { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; font-weight: 600; }
.d365-quote cite { color: var(--wp--preset--color--marigold-light); font-style: normal; font-weight: 700; }

/* ---------- Blog ---------- */
.d365-post-card { background: var(--wp--preset--color--white); border: 1px solid rgba(30,77,58,.14); border-radius: 22px; overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .15s ease; }
.d365-post-card:hover { transform: translateY(-4px); }
.d365-post-card .wp-block-post-featured-image { margin: 0; }
.d365-post-card .wp-block-post-featured-image img { aspect-ratio: 40 / 21; object-fit: cover; width: 100%; }
.d365-post-card__body { padding: 28px 32px 32px !important; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.d365-post-card__body > * { margin: 0 !important; }
.d365-post-card .wp-block-post-title { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.12; }
.d365-post-card .wp-block-post-title a { text-decoration: none; }
.d365-post-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.d365-post-card { position: relative; }
.d365-post-card .wp-block-post-excerpt { color: var(--wp--preset--color--sage); }
.d365-post-card .wp-block-post-excerpt__more-link { display: none; }
.d365-post-meta { font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--sage); gap: 8px !important; }
.d365-post-meta a { color: inherit; text-decoration: none; }
.d365-post-list .wp-block-post-template { gap: 32px; }
.d365-byline { gap: 14px !important; align-items: center; font-size: 16px; }
.d365-byline > * { margin: 0 !important; }
.d365-byline .d365-headshot { width: 56px; flex: none; border-radius: 50%; }
.d365-prose { font-size: 20px; line-height: 1.7; }
.d365-prose h2 { font-size: 32px; line-height: 1.15; letter-spacing: -.02em; margin-top: 1.6em; }
.d365-prose h3 { margin-top: 1.4em; }
.d365-prose ul, .d365-prose ol { padding-left: 1.2em; }
.d365-prose li { margin-bottom: .4em; }
.d365-prose .wp-block-group.d365-card { font-size: 19px; }
.d365-author-box { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 22px; padding: 32px !important; gap: 24px !important; font-size: 18px; line-height: 1.55; }
.d365-author-box p { color: #E6EEE9; margin: 0; }
.d365-author-box .d365-author-box__name { font-weight: 800; font-size: 22px; color: var(--wp--preset--color--cream); }
.d365-author-box .d365-headshot { width: 96px; border-radius: 50%; flex: none; }
.d365-author-box a:not(.wp-element-button) { color: var(--wp--preset--color--cream); font-weight: 700; }
.wp-block-query-pagination { margin-top: 40px; font-weight: 700; }

/* ---------- Contact form ---------- */
.d365-form { background: var(--wp--preset--color--white); border: 1px solid rgba(30,77,58,.14); border-radius: 22px; padding: clamp(24px, 4vw, 44px); display: flex; flex-direction: column; gap: 22px; }
.d365-form__row { display: flex; flex-wrap: wrap; gap: 22px; }
.d365-form__field { flex: 1 1 220px; display: flex; flex-direction: column; gap: 8px; }
.d365-form label, .d365-form legend { font-weight: 600; font-size: 16px; }
.d365-form .d365-form__opt { font-weight: 400; color: var(--wp--preset--color--sage); }
.d365-form input[type=text], .d365-form input[type=email], .d365-form input[type=tel], .d365-form textarea { font: inherit; color: var(--wp--preset--color--forest); background: var(--wp--preset--color--cream); border: 1.5px solid rgba(30,77,58,.25); border-radius: 10px; padding: 12px 14px; min-height: 48px; box-sizing: border-box; width: 100%; }
.d365-form input:focus, .d365-form textarea:focus { outline: 3px solid var(--wp--preset--color--marigold); outline-offset: 1px; border-color: var(--wp--preset--color--forest); }
.d365-form fieldset { border: 0; margin: 0; padding: 0; }
.d365-form legend { padding: 0; margin-bottom: 12px; }
.d365-form__needs { display: flex; flex-wrap: wrap; gap: 10px; }
.d365-form__need { display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid rgba(30,77,58,.25); border-radius: 999px; padding: 10px 18px; min-height: 44px; box-sizing: border-box; font-size: 16px; font-weight: 600 !important; cursor: pointer; background: var(--wp--preset--color--cream); }
.d365-form__need:hover { border-color: var(--wp--preset--color--forest); }
.d365-form__need input { accent-color: var(--wp--preset--color--forest); width: 20px; height: 20px; margin: 0; }
.d365-form button { align-self: flex-start; font: inherit; border: 0; cursor: pointer; background: var(--wp--preset--color--marigold); color: var(--wp--preset--color--forest); font-weight: 700; padding: 16px 32px; border-radius: 10px; min-height: 54px; font-size: 19px; }
.d365-form button:hover { background: var(--wp--preset--color--marigold-light); }
.d365-form__hp { position: absolute !important; left: -9999px !important; }
.d365-form__error { background: #FBE9E2; border-radius: 10px; padding: 12px 16px; color: #7A2E12; font-weight: 600; }
.d365-form-thanks { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 22px; padding: clamp(32px, 5vw, 56px); display: flex; flex-direction: column; gap: 18px; }
.d365-form-thanks h2 { margin: 0; }
.d365-form-thanks p { margin: 0; color: #E6EEE9; font-size: 20px; }
.d365-form-thanks img { width: 96px; height: auto; }

/* ---------- Misc ---------- */
.d365-plane-mark img { width: 220px; height: auto; }
.d365-credibility { font-size: 16px; color: var(--wp--preset--color--sage); gap: 10px 36px !important; }
.d365-credibility > * { margin: 0 !important; }
.d365-credibility strong { color: var(--wp--preset--color--forest); }
.d365-404 .d365-illustration img { max-width: 420px; }

/* ---------- Page-specific bits ---------- */
.d365-section-head { gap: 14px !important; margin-bottom: 40px !important; max-width: 760px; }
.d365-section-head > * { margin: 0 !important; }
.d365-section-head + .wp-block-columns, .d365-section-head + .d365-steps { margin-top: 0; }
.wp-block-group.is-layout-flex > .d365-section-head { margin-bottom: 0 !important; }
.wp-block-group.is-layout-flex:has(> .d365-section-head) { margin-bottom: 40px; }
.d365-narrow { max-width: 720px; }
.d365-hero h1 { margin: 0; }
.d365-hero .wp-block-column > * + * { margin-top: 24px; }
.d365-hero .d365-eyebrow + h1 { margin-top: 20px; }
.d365-tags-single { align-self: flex-start; background: var(--wp--preset--color--marigold); border-radius: 999px; padding: 4px 12px; font-size: 14px; font-weight: 700; }
.d365-plane-small img { width: 96px !important; height: auto !important; }
.d365-card--row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 32px; min-height: 0; margin-top: 32px !important; }
.d365-card--row h2 { font-size: 30px; }
.d365-work-feature { gap: 0 !important; margin: 0 !important; }
.d365-work-feature > .wp-block-column:first-child figure img { height: 100%; min-height: 420px; }
.d365-work-feature .d365-card__body { padding: clamp(28px, 4vw, 48px) !important; }
.d365-card-shot img { height: 180px !important; width: 100%; object-fit: cover; object-position: top; border-radius: 12px; background: #1A1620; }
.d365-facts { padding: 22px 0; gap: 16px 48px !important; }
.d365-facts p { margin: 0; }
.d365-facts .d365-label { margin-bottom: 4px; }
.d365-case-cols h2 { font-size: 34px; }
.d365-credibility-band { padding-top: 22px; padding-bottom: 22px; }
.d365-credibility-band .d365-credibility { justify-content: center; }
.d365-credibility-band p { margin: 0; color: var(--wp--preset--color--sage); }
.d365-contact .d365-contact-email { overflow-wrap: anywhere; font-size: 20px; }
.d365-contact .d365-plane-mark { margin: 8px 0 24px !important; }
.d365-contact .d365-label { border-top: 1px solid rgba(30,77,58,.14); padding-top: 24px; }
.d365-contact .wp-block-column > p { margin: 0 0 10px; }
.d365-contact .wp-block-column > h1 { margin: 20px 0; }
.d365-service-group h2 { margin: 8px 0 12px; font-size: 40px; }
.d365-industry-row h2 { font-size: clamp(30px, 3.4vw, 44px); margin: 12px 0 16px; }
.d365-industry-row .d365-label { margin-top: 20px; }
.d365-industry-row ul.d365-check { margin: 12px 0 8px; }
.d365-price { border-top: 1px solid rgba(30,77,58,.14); padding-top: 18px; }
.d365-hero .d365-card { gap: 20px; }

/* Blog listing */
.d365-blog-cols { gap: 40px !important; }
.d365-post-list .wp-block-post-template { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 32px; }
.d365-byline-mini { gap: 6px !important; font-size: 16px; }
.d365-byline-mini > * { margin: 0 !important; }
.d365-byline-mini .wp-block-post-date::before { content: "· "; }
.d365-post-meta > * { margin: 0 !important; }
.d365-post-meta .wp-block-post-terms a { text-decoration: none; }
.d365-sidebar-cta { gap: 16px !important; }
.d365-sidebar-cta h2 { font-size: 28px; color: var(--wp--preset--color--cream); }
.d365-sidebar-cta > * { margin: 0 !important; }
.d365-sidebar-author { flex-direction: row !important; margin-top: 24px !important; padding: 24px !important; }
.d365-sidebar-author .d365-headshot { width: 72px; flex: none; }
.d365-sidebar-author p { margin: 0; font-size: 16px; }

/* Single post */
.d365-post-head > * { margin-top: 0; }
.d365-post-head .wp-block-post-title { margin: 20px 0 16px; }
.d365-post-head .d365-breadcrumb { gap: 6px; }
.d365-post-head .d365-breadcrumb > * { margin: 0; }
.d365-post-head .d365-breadcrumb a { color: var(--wp--preset--color--sage); }
.d365-dek { font-size: 22px; margin: 0 0 24px; }
.d365-dek .wp-block-post-excerpt__more-text { display: none; }
.d365-byline { padding-top: 20px; }
.d365-byline__text { gap: 0 !important; }
.d365-byline__text > * { margin: 0 !important; }
.d365-byline__meta { gap: 6px !important; font-size: 15px; }
.d365-byline__meta > * { margin: 0 !important; }
.d365-post-hero { margin-bottom: 56px !important; }
.d365-post-hero img { border-radius: 24px; }
.d365-prose .wp-block-quote { margin: 32px 0; }
.d365-author-box { max-width: 720px; margin: 0 auto; }
.d365-author-box__text > * { margin: 0 !important; }
.d365-author-box__text { gap: 10px !important; flex: 1 1 300px; }
.d365-404 .d365-plane-mark img { width: 220px; }

/* v1.0.1 fixes */
.d365-footer__list a[href^="mailto:"] { overflow-wrap: normal; word-break: normal; white-space: nowrap; font-size: 15px; }
@media (max-width: 400px) { .d365-footer__list a[href^="mailto:"] { white-space: normal; overflow-wrap: anywhere; } }
.d365-breadcrumb { margin-bottom: 20px !important; }
.d365-card__icon, .d365-card__icon img { width: 48px !important; height: 48px !important; }
